logo search
Методичка

3.1 Принцип построения многоуровневой памяти

В настоящее время продолжает оставаться разрыв между быстродействием процессора и оперативной памяти (RAM). Этот разрыв имеет тенденцию к увеличению при возрастании степени интеграции (количества элементов в единице объема) и быстродействия элементной базы. Поэтому в основе архитектуры всех типов процессоров должны лежать идеи, позволяющие при принятых допущениях об организации вычислений преодолеть отрицательное влияние на производительность медленной по сравнению с процессором памяти.

Память может быть реализована на основе использования разных физических принципов хранения информации: логических схем (триггеров), конденсаторов и токовых ключей, магнитных доменов, соответственно в виде регистров, микросхем статической памяти, микросхем динамической памяти, ферритовой, дисковой памяти и других типов блоков памяти. Каждый тип памяти имеет характерные для него быстродействие и объем, обусловленный физическими и стоимостными ограничениями. Кроме того, для любого типа памяти при увеличении объема памяти возрастает время доступа к ней, а также более быстродействующий тип памяти имеет большую стоимость хранения единицы информации.

Идеальная память должна обеспечивать процессор командами и данными так, чтобы не вызывать простоев процессора в ожидании запрошенных из памяти данных. При этом память должна иметь большую емкость. В современных условиях уменьшение времени доступа достигается введением многоуровневой иерархии памяти.

Время доступа зависит от объема и типа используемой памяти. В этих условиях, построив двухуровневую память, в которой помимо большой основной памяти имеется небольшая более быстрая буферная память, можно пересылать данные для обработки в буферную память, там их обрабатывать, используя память с меньшим временем доступа по сравнению с основной памятью, а после обработки - отправлять обратно в основную. Если удается организовать вычисления так, что за время обработки одной порции данных можно доставить из основной памяти в буферную другую порцию данных, то обработка выполняется с использованием только быстрой памяти. Ясно, что так организовать вычисления удается далеко не всегда. Поэтому возможны простои процессора в ожидании необходимых данных из основной памяти. Однако для ряда задач совмещение обработки данных в буферной памяти и пересылки данных между буферной и основной памятью дает эффект сокращения времени доступа в память. Иными словами, память для процессора представляется как память большого объема, равного объему основной памяти, имеющая быстродействие такое, как у быстродействующей памяти малого объема.

Этот эффект уменьшения времени доступа в память достигается при специальном способе программирования, обеспечивающем локализуемость обрабатываемых данных, когда процессор многократно использует одни и те же данные для выработки результата.

Соответственно, реализуя основную память двухуровневой памяти как иерархическую двухуровневую, можно построить трехуровневую иерархическую память, и, продолжая это построение дальше, - память с произвольным числом уровней иерархии.

В процессорах применяются три механизма работы с памятью, основанные на использовании локализуемости обрабатываемых данных: кэш-память, страничная или сегментная память и расслоение памяти.