4.1. Иерархическая структура памяти ЭВМ

К оглавлению1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 
34 35 36 37 38 39 40 41 42 43 44 45 

Памятью ЭВМ называется совокупность устройств, служащих для запо­минания, хранения и выдачи информации.

Основными характеристиками отдельных устройств памяти (запоми­нающих устройств) являются емкость памяти, быстродействие и стоимость хранения единицы информации (бита).

Емкость памяти определяется максимальным количеством данных, ко­торые могут в ней храниться. Емкость измеряется в двоичных единицах (би­тах), машинных словах, но большей частью в байтах (1 байт = 8 бит). Часто емкость памяти выражают через число К = 1024, например, Кбит — килобит, Кбайт — килобайт, 1024 Кбайт = 1 Мбайт (Мегабайт), 1024 Мбайт = 1 Гбайт

(гигабайт), 1024 Гбайт = 1 Тбайт (терабайт).

Быстродействие (задержка) памяти определяется временем доступа и длительностью цикла памяти. Время доступа представляет собой промежуток времени между выдачей запроса на чтение и моментом поступления запро­шенного слова из памяти. Длительность цикла памяти определяется мини­мальным временем между двумя последовательными обращениями к памяти.

Требования к увеличению емкости и быстродействия памяти, а также к снижению ее стоимости являются противоречивыми. Чем больше быстро­действие, тем технически труднее достигается и дороже обходится увеличе­ние емкости памяти. Стоимость памяти составляет значительную часть об­щей стоимости ЭВМ. Исходя из этого, память ЭВМ организуется в виде ие­рархической структуры (рис. 4.1) запоминающих устройств, обладающих различным быстродействием и емкостью. Чем выше уровень, тем выше бы­стродействие соответствующей памяти, но меньше её емкость. К верхнему (сверхоперативному) уровню относятся регистры операционных и управ­ляющих блоков процессора, сверхоперативная память, управляющая память, буферная память. На втором уровне находится основная или оперативная па­мять. На последующих уровнях размещается внешняя и архивная память. Система управления памятью обеспечивает обмен информационными блока­ми между уровнями, причем обычно первое обращение к блоку информации вызывает его перемещение с низкого медленного уровня на более высокий. Это позволяет при последующих обращениях к данному блоку осуществлять его выборку с более быстродействующего уровня памяти.

Сравнительно небольшая емкость оперативной памяти (8 — 64 Мбайта) компенсируется практически неограниченной емкостью внешних запоми­нающих устройств. Однако эти устройства сравнительно медленные — время обращения за данными для магнитных дисков составляет десятки микросе­кунд. Для сравнения: цикл обращения к оперативной памяти (ОП) составляет 50 не. Исходя из этого, вычислительный процесс должен протекать с воз­можно меньшим числом обращений к внешней памяти.

Рис.4.1. Иерархическая струюура памяти

Непрерывный рост производительности ЭВМ проявляется, в первую очередь, в повышении скорости работы процессора. Быстродействие ОП также растет, но все время отстает от быстродействия аппаратных средств процессора в значительной степени потому, что одновременно происходит опережающий рост её емкости, что делает более трудным уменьшение вре­мени цикла работы памяти. Вследствие этого быстродействие ОП часто ока­зывается недостаточным для обеспечения требуемой производительности ЭВМ. Это проявляется в несоответствии пропускных способностей процес­сора и ОП. Возникающая проблема выравнивания их пропускных способно­стей решается путем использования сверхоперативной буферной памяти не­большой емкости и повышенного быстродействия, хранящей команды и дан­ные, относящиеся к обрабатываемому участку программы.

При обращении к блоку данных, находящемуся на оперативном уровне, его копия пересылается в сверхоперативную буферную память (СБП). По­следующие обращения производятся к копии блока данных, находящейся в СБП. Поскольку время выборки из сверхоперативной буферной памяти t^y (5 ис) много меньше времени выборки из оперативной памяти ton, введение в структуру памяти СБП приводит к уменьшению эквивалентного времени об­ращения <э по сравнению с ton:

где а = (1 — q) и q — вероятность нахождения блока в СВП в момент обра­щения к нему, т.е. вероятность «попадания». Очевидно, что при высокой ве­роятности попадания эквивалентное время обращения приближается к вре­мени обращения к СБП.

В основе такой организации взаимодействия ОП и СБП лежит принцип локальности обращений, согласно которому при выполнении какой-либо программы (практически для всех классов задач) большая часть обращений в пределах некоторого интервала времени приходится на ограниченную об­ласть адресного пространства ОП, причем обращения к командам и элемен­там данных этой области производятся многократно. Это позволяет копии наиболее часто используемых участков программ и некоторых данных загру­зить в СБП и таким образом обеспечить высокую вероятность попадания q. Высокая эффективность применения СБП достигается при q ³ 0,9.

Буферная память не является программно доступной. Это значит, что она влияет только на производительность ЭВМ, но не должна оказывать влияния на программирование прикладных задач. Поэтому она получила на­звание кэш-памяти (в переводе с английского - тайник). В структуре одних ЭВМ используется объединенная кэш-память команд и данных, в других ЭВМ — раздельные кэш-памяти для команд и для данных. Кэш-память, вхо­дящую в состав процессора, называют кэш-памятью первого уровня. В со­временных компьютерах применяют кэш-память второго уровня, которая на­ходится между процессором и ОП и еще больше повышает производитель­ность ЭВМ.

Памятью ЭВМ называется совокупность устройств, служащих для запо­минания, хранения и выдачи информации.

Основными характеристиками отдельных устройств памяти (запоми­нающих устройств) являются емкость памяти, быстродействие и стоимость хранения единицы информации (бита).

Емкость памяти определяется максимальным количеством данных, ко­торые могут в ней храниться. Емкость измеряется в двоичных единицах (би­тах), машинных словах, но большей частью в байтах (1 байт = 8 бит). Часто емкость памяти выражают через число К = 1024, например, Кбит — килобит, Кбайт — килобайт, 1024 Кбайт = 1 Мбайт (Мегабайт), 1024 Мбайт = 1 Гбайт

(гигабайт), 1024 Гбайт = 1 Тбайт (терабайт).

Быстродействие (задержка) памяти определяется временем доступа и длительностью цикла памяти. Время доступа представляет собой промежуток времени между выдачей запроса на чтение и моментом поступления запро­шенного слова из памяти. Длительность цикла памяти определяется мини­мальным временем между двумя последовательными обращениями к памяти.

Требования к увеличению емкости и быстродействия памяти, а также к снижению ее стоимости являются противоречивыми. Чем больше быстро­действие, тем технически труднее достигается и дороже обходится увеличе­ние емкости памяти. Стоимость памяти составляет значительную часть об­щей стоимости ЭВМ. Исходя из этого, память ЭВМ организуется в виде ие­рархической структуры (рис. 4.1) запоминающих устройств, обладающих различным быстродействием и емкостью. Чем выше уровень, тем выше бы­стродействие соответствующей памяти, но меньше её емкость. К верхнему (сверхоперативному) уровню относятся регистры операционных и управ­ляющих блоков процессора, сверхоперативная память, управляющая память, буферная память. На втором уровне находится основная или оперативная па­мять. На последующих уровнях размещается внешняя и архивная память. Система управления памятью обеспечивает обмен информационными блока­ми между уровнями, причем обычно первое обращение к блоку информации вызывает его перемещение с низкого медленного уровня на более высокий. Это позволяет при последующих обращениях к данному блоку осуществлять его выборку с более быстродействующего уровня памяти.

Сравнительно небольшая емкость оперативной памяти (8 — 64 Мбайта) компенсируется практически неограниченной емкостью внешних запоми­нающих устройств. Однако эти устройства сравнительно медленные — время обращения за данными для магнитных дисков составляет десятки микросе­кунд. Для сравнения: цикл обращения к оперативной памяти (ОП) составляет 50 не. Исходя из этого, вычислительный процесс должен протекать с воз­можно меньшим числом обращений к внешней памяти.

Рис.4.1. Иерархическая струюура памяти

Непрерывный рост производительности ЭВМ проявляется, в первую очередь, в повышении скорости работы процессора. Быстродействие ОП также растет, но все время отстает от быстродействия аппаратных средств процессора в значительной степени потому, что одновременно происходит опережающий рост её емкости, что делает более трудным уменьшение вре­мени цикла работы памяти. Вследствие этого быстродействие ОП часто ока­зывается недостаточным для обеспечения требуемой производительности ЭВМ. Это проявляется в несоответствии пропускных способностей процес­сора и ОП. Возникающая проблема выравнивания их пропускных способно­стей решается путем использования сверхоперативной буферной памяти не­большой емкости и повышенного быстродействия, хранящей команды и дан­ные, относящиеся к обрабатываемому участку программы.

При обращении к блоку данных, находящемуся на оперативном уровне, его копия пересылается в сверхоперативную буферную память (СБП). По­следующие обращения производятся к копии блока данных, находящейся в СБП. Поскольку время выборки из сверхоперативной буферной памяти t^y (5 ис) много меньше времени выборки из оперативной памяти ton, введение в структуру памяти СБП приводит к уменьшению эквивалентного времени об­ращения <э по сравнению с ton:

где а = (1 — q) и q — вероятность нахождения блока в СВП в момент обра­щения к нему, т.е. вероятность «попадания». Очевидно, что при высокой ве­роятности попадания эквивалентное время обращения приближается к вре­мени обращения к СБП.

В основе такой организации взаимодействия ОП и СБП лежит принцип локальности обращений, согласно которому при выполнении какой-либо программы (практически для всех классов задач) большая часть обращений в пределах некоторого интервала времени приходится на ограниченную об­ласть адресного пространства ОП, причем обращения к командам и элемен­там данных этой области производятся многократно. Это позволяет копии наиболее часто используемых участков программ и некоторых данных загру­зить в СБП и таким образом обеспечить высокую вероятность попадания q. Высокая эффективность применения СБП достигается при q ³ 0,9.

Буферная память не является программно доступной. Это значит, что она влияет только на производительность ЭВМ, но не должна оказывать влияния на программирование прикладных задач. Поэтому она получила на­звание кэш-памяти (в переводе с английского - тайник). В структуре одних ЭВМ используется объединенная кэш-память команд и данных, в других ЭВМ — раздельные кэш-памяти для команд и для данных. Кэш-память, вхо­дящую в состав процессора, называют кэш-памятью первого уровня. В со­временных компьютерах применяют кэш-память второго уровня, которая на­ходится между процессором и ОП и еще больше повышает производитель­ность ЭВМ.