Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Подсистема памяти компьютера






1 Иерархическая организация памяти
и принцип локальности ссылок

 

Память — совокупность устройств, служащих для приема и хранения данных. Основные операции с памятью — запись и чтение. В вычислительных системах память является одним из основных компонентов, определяющим как быстродействие, так и функциональные возможности всей системы. Организация памяти имеет сложный характер и строится по иерархическому принципу. Основная идея иерархии памяти – согласование скоростей работы операционных устройств, в первую очередь процессора, с запоминающими.

Иерархическая организация памяти имеет вид, представленный на рис. 22, где показаны диапазоны значений емкости и производительности запоминающих устройств для современных компьютеров. Главная закономерность – чем больше емкость памяти, тем меньше ее быстродействие.

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

Кэш-память третьего уровня выполняется в виде отдельной микросхемы с высоким быстродействием, либо в процессоре, как в архитектуре Nehalem.

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

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

Это явление называется локальность ссылок или локальность по обращению. Известно правило «90/10» - то есть 90% времени работы программы связано с обращением к 10% ее адресного пространства.

 

2 Адресная память

 

В адресном запоминающем устройстве (ЗУ) каждый запоминающий элемент памяти – ячейка, имеет адрес, который показывает его расположение в адресном пространстве. Поиск информации производится по номеру (адресу) запоминающей ячейки, хранящей исходные данные.

Р и с. 22. Иерархическая организация памяти

ОЗУ- оперативное запоминающее устройство; ПЗУ – постоянное запоминающее устройство; CD/DVD – накопитель на оптических дисках; HDD (Hard Disk Drive) - накопитель на жестком магнитном диске; SSD (Solid State Drive) – накопитель на «твердом» диске

 

Совокупность N таких ячеек образует запоминающую матрицу (ЗМ).

Для компактного расположения запоминающих ячеек и упрощения доступа к ним ЗМ организуется как трехмерный куб. В нем имеются две адресные координаты A1 и A2, а по третьей координате располагаются n -разрядные слова. Если адрес, поступающий с ША, имеет разрядность k, то он разделяется на две компоненты по k /2 адресных бита: M = 2 k /2 ´ 2 k /2 = 2 k. В этом случае вместо одного ДША с M выходами используются два дешифратора с 2 k /2 выходами, что значительно упрощает схемную реализацию.

Р и с. 23. Расположение программы и данных в памяти и локальность ссылок

 

На рис. 24 показана структурная схема адресного запоминающего устройства.

Запоминающая матрица ЗМ имеет две координаты: строки и столбца. Блок управления (БУ) управляет устройствами ЗУ, получая извне сигналы: RAS, CAS, СЕ, WE и OE.

Сигнал выбора микросхемы СЕ разрешает работу именно этой микросхемы памяти. Режим чтения или записи определяется сигналом WE. На все время, пока микросхема не использует шину данных (ШД), информационные выходы регистров переводятся сигналом OE в третье состояние с высоким выходным сопротивлением.

Адрес строки на шине ША сопровождается сигналом RAS, разрешающим прием адреса и его дешифрацию. После этого сигнал CAS разрешает прием и дешифрацию адреса столбца. Каждый столбец имеет вторую линию чтения/записи, - для данных. Эти линии на рис. 24 показаны пунктиром.

Управление операциями с памятью осуществляется контроллером памяти. На каждую операцию требуется, как минимум, пять тактов.

1. Указание типа операции (чтение или запись) и установка адреса строки.

2. Формирование сигнала RAS.

3. Установка адреса столбца.

4. Формирование сигнала CAS.

5. Запись или выдача данных и возврат сигналов RAS и CAS в неактивное состояние.

Р и с. 24. Адресное запоминающее устройство

RAS – сигнал строба строки (Row Address Strobe);
CAS – сигнал строба столбца (Column Address Strobe);
WE – разрешение записи (Write Enable);
OE – разрешение выдачи выходных сигналов (Output Enable);
CS - выбор микросхемы (Chip Select)

 

3 Ассоциативная память

 

Понятие «ассоциация» относится, прежде всего, к памяти, в которой выборка осуществляется не по адресному принципу, а по содержанию.

Ассоциативная память использует запись и чтение данных таким образом, чтобы обеспечить выборку слов, имеющих заданное содержание определенных полей. Поиск ведется с использованием ассоциативных признаков. Структура такой памяти представлена на рис. 25.

Р и с. 25. Ассоциативная память

 

Память хранит M ячеек для m+1 -разрядных слов, имеющих значения признаков. Служебный m +1-й разряд может иметь значения:

- «0» - ячейка свободна для записи,

- «1» - ячейка занята.

Значения ассоциативного признака формируются регистром маски из полей, поступающих из шины признаков (ШП) в регистр ассоциативного признака. Поиск в запоминающей матрице выполняется за один такт одновременно по полям признаков всех хранящихся слов. Это является отличительной чертой ассоциативных устройств памяти. Реализация такого поиска осуществляется комбинационными схемами совпадения на базе элементов «сложение по модулю 2».

Схемы совпадения параллельно сравнивают каждый бит хранимых слов с соответствующим битом признака поиска. В регистре совпадений каждой строке ЗМ соответствует один разряд. В него заносится единица, если биты данной строки совпали со всеми одноименными битами признака поиска. При выборке строки с данными, имеющими одинаковые признаки, отмечаются в регистре совпадений. Таких строк может быть несколько, например, несколько команд. Устройство разрешения выборки УРВ выбирает одну из них (например, первую). Значения управляющих сигналов:

a 0 = 1 - в ЗМ нет слов с признаком;

a 1 = 1 - в ЗМ только одно слово с признаком;

a 2 = 1 - в ЗМ несколько слов с признаком.

Если слово найдено, то управляющая схема выдает нужную строку из ЗМ на шину данных ШД.

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

a) быстрота поиска слов;

b) возможность выполнения логических операций над словами во время их поиска (нахождение минимального или максимального элемента в массиве, слов, заключенных в заданные границы и т.п.).

Недостаток: сложность аппаратной реализации блока одновременного сравнения слов с ассоциативными признаками.

 

4 Организация кэш-памяти

 

4.1 Кэш-память в структуре компьютера

 

Основная задача кэш-памяти – согласование работы быстрого процессора и медленной основной памяти (ОП). Кэш-память исполняет роль буфера между ОП и процессором (рис. 26). Использование кэш базируется на «принципе локальности ссылок», который был рассмотрен ранее. Это означает, что следующее обращение к памяти в программе с большой вероятностью произойдет к тому же блоку данных, который находится в данный момент в кэш-памяти.

Р и с. 26. Кэш-память в компьютере

Кэш разбивается на строки по 16 или 32 байта, соответствующие одному стандартному пакетному циклу обращения к динамической памяти. Обмен информацией между ОП и кэш осуществляется строками, даже если необходимо передать только один байт. На такие же строки условно разделяются и страницы основной памяти.

Процессор, выполняя команду, запрашивает операнд по некоторому адресу в адресном пространстве. Кэш-контроллер проверяет, есть ли в кэш строка данных, соответствующая запрашиваемому адресу.

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

В связи с этим возникает проблема замены какой-либо строки в кэше на новую строку из ОП. Для этого используют специальные дисциплины замещения строк.

Таким образом, функциями кэш-контроллера являются:

- хранение информации об адресах строк данных, находящихся в кэш-памяти;

- хранение предыстории обращений к строкам в кэш;

- замещение строк в кэш-памяти в случаях кэш-промахов;

- контроль системной шины для выявления обращений к ОП со стороны других устройств.

 

4.2 Типы кэш-памяти

 

Предположим, что основная память ОП имеет емкость строк, где N - число двоичных разрядов адреса. Емкость кэш-памяти равна m, при этом n = log2 m - число разрядов, необходимых для адресации m строк кэш-памяти. Проблема в том, что M > > m и N > n.

Физический адрес, выработанный процессором и имеющий длину N, делится на три поля:

а) индекс S – адресует подмножество строк в кэш-памяти;

б) адрес b байта в строке;

в) тег T – остальная часть физического адреса T = N- S- b, служащая ассоциативным признаком при поиске в кэш-памяти.

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

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

1. Полностью ассоциативная кэш-память.

В этом случае S =0 - имеем одно подмножество, совпадающее со всей кэш-памятью и - число строк в подмножестве равно емкости кэша.

2. Кэш с прямым отображением.

Имеем S = n, то есть подмножеств и число строк в одном подмножестве равно .

3. Множественно-ассоциативная кэш-память.

В этом случае .

При имеем два подмножества в кэше по строк в каждом. При имеем подмножеств по две строки в каждом (двухвходовая кэш-память).

Аналогично при имеем подмножеств по 4 строки в каждом (четырехвходовая кэш-память).

Рассмотрим организацию каждого типа кэш-памяти.


 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.