17.1 Принцип организации кэш памяти. Полностью ассоциативная кэш память. Формирование виртуального адреса. Кэш-память (КП), или кэш, представляет собой организованную в виде ассоциативного запоминающего устройства (АЗУ) быстродействующую буферную память ограниченного объема, которая располагается между регистрами процессора и относительно медленной основной памятью и хранит наиболее часто используемую информацию совместно с ее признаками (тегами), в качестве которых выступает часть адресного кода. В процессе работы отдельные блоки информации копируются из основной памяти в кэш-память. При обращении процессора за командой или данными сначала проверяется их наличие в КП. Если необходимая информация находится в кэше, она быстро извлекается. Это кэш-попадание. Если необходимая информация в КП отсутствует ( кэш-промах ), то она выбирается из основной памяти, передается в микропроцессор и одновременно заносится в кэш-память. Повышение быстродействия вычислительной системы достигается в том случае, когда кэш-попадания реализуются намного чаще, чем кэш-промахи. Ассоциативная кэш-память. Это предельный случай предыдущего варианта, когда объем кэшбанка становится равным одной строке кэш-памяти (дальше делить уже некуда). При этом любая строка ОЗУ может быть сохранена в любом месте кэш-памяти. Запоминающий кэш-массив состоит из строк равной длины. Емкость такой строки равна размеру пакета, считываемого из ОЗУ за 1 цикл. Строка загружается в кэш и извлекается только целиком. Достоинства: максимальная эффективность использования пространства кэш-памяти. Недостатки: наибольшие затраты времени на поиск информации. Логический адрес, также называемый виртуальным, состоит из селектора сегмента (в реальном режиме – просто адреса сегмента; Селектор - это индекс-расстояние от базового адреса дескрипторной таблицы до нужного элемента-дескриптора в этой таблице) и эффективного адреса называемого также смещением (offset). Эффективный адрес формируется суммированием компонентов base(содержимое базового регистра), index(содержимое индексного регистра), displacement(смещение) с учетом масштаба scale(масштаб, множитель). Поскольку каждая задача может иметь до 16 К селекторов, а смещение, ограниченное размером сегмента, может достигать 4 Гбайт, логическое адресное пространство для каждой задачи может достигать 64 Тбайт. Все это пространство виртуальной памяти в принципе доступно программисту (при условии поддержки со стороны операционной системы). Блок сегментации транслирует логическое адресное пространство в 32-битное пространство линейных адресов. 17.2 RAID массивы. RAID (Redundant Array of Independent/Inexpensive Disks) – массив из нескольких жестких дисков, управляемых контроллером, взаимосвязанных скоростными каналами и воспринимаемых как единое целое. В зависимости от типа используемого RAID массива, система хранения может обеспечивать различные степени отказоустойчивости и/или быстродействия. JBOD – (от англ. Just a Bunch Of Disks, просто набор дисков) – RAID массив, в котором дисковое пространство распределено по жёстким дискам последовательно. Ёмкость массива JBOD равна сумме ёмкостей составляющих дисков. Массив может состоять из дисков различной ёмкости и скорости.Поскольку избыточность не предусмотрена, данный подход не обеспечивает высокой надежности хранения данных. Отказ одного диска позволяет восстановить файлы на остальных дисках (если их начало/конец не принадлежат повреждённому диску). Работу в режиме JBOD поддерживают все NAS-массивы Thecus с двумя и более дисками. RAID 0 («striping» или «страйпинг») – дисковый массив из двух или более жёстких дисков с отсутствием избыточности. Информация разбивается на блоки данных и записывается на несколько дисков одновременно, за счёт этого существенно повышается производительность чтения и записи. Главным минусом такой конфигурации является низкая надёжность. При выходе из строя любого из входящих в RAID 0 дисков полностью и безвозвратно пропадает информация всего массива. RAID 1 («mirror» или «зеркало») обеспечивает высокую надёжность, так как работает до тех пор, пока функционирует хотя бы один диск в массиве. Кроме того, RAID 1 обеспечивает хорошую скорость записи, а также отличные показатели скорости чтения благодаря распараллеливанию запросов.Ключевой недостаток RAID 1 заключается в том, что потребуется два диска для получения полезного объема всего одного жёсткого диска. Таким образом, эффективность использования ёмкости диска не превышает 50%. RAID 5 подразумевает разбивку данных на блоки, для каждого блока рассчитывается контрольная сумма на случай необходимости коррекции или восстановления поврежденных дисков. Блоки данных и контрольные суммы циклически записываются на все диски массива, благодаря чему нет необходимости в выделенном диске для хранения информации о четности. RAID 5 – это самый популярный RAID массив благодаря своей экономичности (в конфигурации из 5 дисков по 1TB доступная емкость составит около 4TB или 80% от физической емкости). Минимальное количество используемых дисков в RAID 5 равно трём.Запись информации на том RAID 5 требует дополнительных процессорных ресурсов для вычисления четности. При этом при чтении данных достигаются отличные результаты благодаря распараллеливанию запросов к нескольким дискам. RAID 6 («Advanced Data Guarding») похож на RAID 5, но имеет более высокую степень надежности – под контрольные суммы выделяется емкость 2-х дисков, и рассчитываются 2 суммы по разным алгоритмам. Такой подход требует более серьезных вычислительных ресурсов массива, однако обеспечивает работоспособность сетевого хранилища после выхода из строя одновременно 2-х дисков.Для организации RAID массива 6-го уровня требуется минимум 4 диска. RAID 1+0 (10) – комбинированный уровень, сочетающий в себе «зеркалирование» и «страйпинг». Благодаря такому подходу становится возможным использовать в виде «страйпов» RAID 0 зеркала, что обеспечивает высокую скорость и отличную надежность. Не стоит забывать, что полноценный RAID 1+0 должен содержать как минимум 4 диска, а доступная ёмкость при этом будет соответствовать объему всего 2-х дисков. RAID 5+0 (50) также является комбинированным уровнем, представляющим собой RAID 5 из массивов RAID 0. «Страйпинг» или RAID 0 помогает увеличить емкость и производительность без добавления дисков в каждый массив RAID 5.Том RAID 5+0 строится минимум на шести физических дисках. Возможно и большее число жестких дисков, однако оно должно быть четным. Предпочтение стоит отдавать дискам одинаковой ёмкости и одной модели. RAID 6+0 (60) является симбиозом RAID 0 и RAID 6, при котором фактически строится RAID 6, но его составляющими элементами являются не жесткие диски, а массивы RAID 0. Для реализации такого решения необходимо 8 дисков или более, причем их количество так же, как и в RAID 5, должно быть четным.Конфигурация RAID 6+0 демонстрирует высокую отказоустойчивость и надежность при большом объеме данных. Двойная четность допускает отказ двух дисков в каждом массиве RAID 6. Для RAID 6+0 также предпочтительно использование жестких дисков одинаковой ёмкости и одной модели.