Структура памяти универсальной ЭВМ
Для увеличения эффективности ЭВМ необходимо уменьшать стоимость и увеличивать быстродействие и ёмкость памяти. Поскольку сочетать эти 3 характеристики в одном ЗУ невозможно, приходиться находить компромиссное решение, используя для организации памяти комплекс из нескольких разнотипных ЗУ. За счёт этого удаётся построить память приемлемой стоимости с необходимой ёмкостью и быстродействием. Память универсальных ЭВМ строится по схеме рис 6.2. и в структурном отношении разделяется на 2 уровня: оперативную память (ОП) и внешнюю память (ВП).
Рисунок 6.2 – Структура памяти универсальной ЭВМ,
где: К1, К2, К3 – каналы, НОД, МД, МЛ – накопители на оптических, магнитных дисках и магнитных лентах, УУ – устройства управления внешней памятью.
Информация (программы и данные), обрабатываемая процессором в текущий момент времени, хранится в ОП, которая состоит из нескольких быстродействующих ЗУ.
Во многих случаях быстродействия ЗУ оказывается недостаточным для обеспечения требуемой скорости процессора. Тогда между процессором и ЗУ ставится буферное ЗУ (БЗУ), иначе называемое сверхоперативным ЗУ, кэш-памятью различных уровней. В качестве БЗУ используются плёночные или полупроводниковые ЗУ с минимальным циклом обращения. В БЗУ хранятся слова информации, наиболее интенсивно используемые процессором при решении задач. При этом значительная часть обращений процессора к ОП обслуживается БЗУ, в результате чего суммарная производительность буферного и оперативного ЗУ оказывается достаточной для обеспечения работы процессора.
Информация, размещаемая в ОП может обеспечить непрерывную работу процессора в течение небольшого промежутка времени, не превышающего несколько секунд. По истечении этого времени возникает необходимость загрузки в ОП новых порций информации, затребованных программами, и, следовательно, вывода из памяти части информации на место которой будет вводиться новая информация. Для хранения основной доли информации, с которой оперирует ЭВМ, используются ЗУ большой емкости, структурно входящие в часть внешней памяти ЭВМ. ВП состоит из совокупности ВЗУ, в качестве которых используется ЗУ большой ёмкости, а наиболее часто НМБ, НМД, НОДи НМЛ. Процессор не имеет прямого доступа к информации, хранимой в ВП. Эта информация становится доступной процессору только после выполнения операции ввода-вывода, вызывающей передачу информации в ОП.
В памяти ЭВМ хранится информация, имеющая отношение к задачам, обрабатываемым ЭВМ на данном отрезке времени. Прочие программы и данные размещаются на сменных носителях (сменных оптических, магнитных дисках и лентах), совокупность которых образует архив ЭВМ.
ВЗУ подключаются к ОП посредством КВВ (К1, К2 и К3). Каналы выполняют операции ввода-вывода, инициируемые процессором. Отдельная операция вызывает передачу информации между двумя заданными областями памяти: области ОП и области ВЗУ. Обычно к одному каналу подключается несколько ВЗУ. Команды управления, вызывающие перемещение механизма доступа или носителя, могут выполняться параллельно на нескольких ЗУ. Во время передачи информации любое ВЗУ монополизирует канал, в результате чего доступ к остальным ЗУ, подключённым к этому же каналу в это время становится невозможным. Если используется М каналов, то в памяти ЭВМ могут развиваться одновременно М процессов обмена информации между ОП и ВЗУ. Таким образом, mВЗУ, подключённых к одному каналу, можно рассматриватькак одно ЗУ, имеющее m-кратную ёмкость и в mраз меньшее время доступа. При наличии М каналов затраты времени на передачу информации уменьшаются примерно в М раз.
Обмен информацией между ЗУ ЭВМ организуются системой управления данными, являющейся частью операционной системы (ОС). Запросы на передачу информации возникают в ОС в момент инициирования задач и в программах, описывающих алгоритмы решения задач. Запросы поступают в систему управления данными , которая планирует порядок их выполнения и формирует совокупность команд ВВ, обеспечивающих поиск и передачу затребованной информации. Команды ВВ исполняются КВВ и УУ соответствующих ЗУ. Порядок использования ЗУ в процессе решения задачи планируется программистом при составлении программы , а место хранения информации конкретизируется супервизором памяти, распределяющим ресурсы памяти между задачами.
В зависимости от порядка использования ВЗУ в процессе решения задач, т.е. в функциональном отношении , память может разделяться на более чем 2 уровня. Память будет двухуровневой в функциональном отношении, если при решении задач для хранения каждого набора данных используется только одно ВЗУ, что исключает необходимость передислокации информации ВЗУ. Пример распределения потоков информации в двухуровневой памяти приведён на рисунке 6.3а. Данные читаются в ОП с ленты МЛ1 и результаты обработки записываются на ленту МЛ2. Для хранения других наборов данных используется диск МД. В этом случае ОП относится к первому уровню, а ВЗУ, МЛ1, МЛ2 и МД – ко второму. В памяти выделяются 3 и более уровня, если в процессе решения задач имеет место передислокация данных между различными ВЗУ. Так, ЗУ могут использоваться по схеме рис 6.3б, соответствующей трёхуровневой памяти. Перед началом решения задачи данные, хранимые на МЛ1 переносятся на МД. Обработка данных происходит с использованием ресурсов МД, после чего результаты выводятся из МД на МЛ2. В этом случае ЗУ на МЛ1 и МЛ2 образуют третий уровень памяти. Из рисунков6.2 и 6.3 ясно, что ВЗУ могут взаимодействовать друг с другомтолькочерезОП.
Взаимодействие ЗУ при трёхуровневой организации памяти можно представить менее подробной схемой рис 6.3в. Такой способ функциональной организации памяти позволяет значительно уменьшить время решения задач, если обращение к сегментам данных происходит многократно, что требует пересылки данных из медленно действующих ВЗУ в быстродействующие.
Рисунок 6.3 – Структурная организация многоуровневой памяти
Иерархическая структура ЗУ
Персональные компьютеры имеют четыре иерархических уровня памяти:
- микропроцессорная память (МПП);
- регистровая кэш-память;
- основная память (ОП);
- внешняя память (ВЗУ).
Таблица 6.1 Сравнительные характеристики запоминающих устройств
Две важнейшие характеристики (емкость памяти и ее быстродействие) указанныхтипов памяти приведены в таблице 6.1.
Быстродействие первых трех типов запоминающих устройств измеряется временем обращения (tобр) к ним, а быстродействиевнешних запоминающих устройств двумя параметрами: временем доступа (tДОСТ) и скоростью считывания ( Vсчт):
- tобр — сумма времени поиска, считывания и записи информации (в литературе это время часто называют временем доступа, что не совсем строго),
- tдост — время поиска информации на носителе;
- VСЧИТ — скорость считывания смежных байтов информации подряд (трансфер). Напомним общепринятые сокращения: с — секунда, мс -— миллисекунда, мкс — микросекунда, нс — наносекунда; 1 с = 103мс =106 мкс = 109нс.
Оперативная память
Оперативная память может строиться на микросхемах динамического (DinamicRandomAccessMemory–DRAM) или статического(StaticRandomAccessMemory – SRAM)типа.
Статический тип памяти обладает существенно более высоким быстродействием, но значительно дороже динамического. В статической памяти элементы (ячейки) построены на различных вариантах триггеров — схем с двумя устойчивыми состояниями. После записи бита в такую ячейку она может пребывать в этом состоянии сколь угодно долго — необходимо только наличие питания. При обращении к микросхеме статической памяти на нее подается полный адрес, который при помощи внутреннего дешифратора преобразуется в сигналы выборки конкретных ячеек. Ячейки статической памяти имеют малое время срабатывания (единицы наносекунд), однако микросхемы на их основе имеют низкую удельную емкость (единицы мегабит на корпус) и высокое энергопотребление. Поэтому статическая память используется в основном в качестве микропроцессорной и буферной (кэш-память).
В динамической памяти ячейки построены на основе полупроводниковых областей с накоплением зарядов (своеобразных конденсаторов), занимающих гораздо меньшую площадь, нежели триггеры, и практически не потребляющих энергии при хранении. Конденсаторы расположены па пересечении вертикальных и горизонтальных шин матрицы; запись и считывание информации осуществляется подачей электрических импульсов по тем шинам матрицы, которые соединены с элементами, принадлежащими выбранной ячейке памяти. При обращении к микросхеме на ее входы вначале подается адрес строки матрицы, сопровождаемый сигналом RAS (строб адреса строки), затем, через некоторое время — адрес столбца, сопровождаемый сигналом САS (строб адреса столбца). Поскольку конденсаторы постепенно разряжаются (заряд сохраняется в ячейке в течение нескольких миллисекунд), во избежание потери хранимой информации заряд в них необходимо постоянно регенерировать, отсюда и название памяти — динамическая. На подзаряд тратится и энергия и время, и это снижает производительность системы.
Ячейки динамической памяти по сравнению со статической имеют большее время срабатывания (десятки наносекунд), но большую удельную плотность (порядка десятков мегабит па корпус) и меньшее энергопотребление. Динамическая память используется для построения оперативных запоминающих устройств основной памяти ПК.
Регистровая КЭШ-память
Регистровая кэш-память — высокоскоростная память сравнительно большой емкости, являющаяся буфером между ОП и МП и позволяющая увеличить скорость выполнения операций. Регистры кэш-памяти недоступны для пользователя, отсюда и название кэш (Сасhе), что в переводе с английского означает «тайник».
В современных материнских платах используется конвейерный кэш с блочным доступом. В кэш-памяти хранятся копии блоков данных тех областей оперативной памяти, к которым выполнялись последние обращения, и весьма вероятны обращения в ближайшие такты работы — быстрый доступ к этим данным и позволяет сократить время выполнения очередных команд программы. При выполнении программы данные, считанные из ОП с небольшим опережением, записываются в кэш-память. В кэш-память записываются и результаты операций, выполненных в МП.
По принципу записи результатов в оперативную память различают два типа кэш-памяти:
- в кэш-памяти «с обратной записью» результаты операций прежде, чем их записать в ОП, фиксируются, а затем контроллер кэш-памяти самостоятельно перезаписывает эти данные в ОП;
- в кэш-памяти «со сквозной записью» результаты операций одновременно, параллельно записываются и в кэш-память, и в ОП.
Микропроцессоры, начиная от МП 80486, имеют свою встроенную в основное ядро МП кэш-память (или кэш-память 1-го уровня — L1), чем, в частности, и обусловливается их высокая производительность. Микропроцессоры Pentium имеют кэш-память отдельно для данных и отдельно для команд: у Pentium емкость этой памяти небольшая— по 8 Кбайт, у Pentium ММХ — по 16 Кбайт. У PentiumPFO и выше кроме кэш-памяти 1-го уровня есть и встроенная на микропроцессорную плату кэш-память 2-го уровня (L2) емкостью от 128 до 2048 Кбайт. Эта встроенная кэш-память работает либо на полной тактовой частоте МП, либо на его половинной тактовой частоте.
Следует иметь в виду, что для всех МП может использоваться дополнительная кэш-память 2-го (L2) или 3-го (LЗ) уровня, размещаемая на материнской плате вне МП, емкость которой может достигать нескольких мегабайт (кэш на МП относится к уровню 3, если МП, установленный на этой плате, имеет кэш 2-го уровня). Время обращения к кэш-памяти зависит от тактовой частоты, на которой кэш работает, и составляет обычно 1-2 такта. Так, для кэш-памяти L1 МП Pentium характерно время обращения 2-5 нс, для кэш-памяти L2 и LЗ это время доходит до 10 нс. Пропускная способность кэш-памяти зависит и от времени обращения, и от пропускной способности интерфейса и лежит в широких пределах от 300 до 3000 Мбайт/с.
Использование кэш-памяти существенно увеличивает производительность системы.Чем больше размер кэш-памяти, тем выше производительность, но эта зависимость нелинейная. Имеет место постепенное уменьшение скорости роста общейобщей производительности компьютера с ростом размера кэш-памяти. Для современныхПК рост производительности, как правило, практически прекращается после 1 Мбайт кзш-памяти L2. Создается кэш-память на основе микросхем статической памяти.
В современных ПК часто применяется и кэш-память между внешними ЗУ на дисках и оперативной памятью, обычно относящаяся к 3-му уровню, реже, если есть кэш L3 на системной плате, к 4-му. Кэш-память для ВЗУ создается либо в поле оперативной памяти, либо непосредственно в модуле самого ВЗУ.