- Иерархия памяти
ЛЕКЦИЯ 6
Иерархия памяти
В конвейерной системе имеется ряд структур памяти, кроме фиксаторов:
Основная
Локальная или кэш-память
Регистровые файлы.
Упорядочены по убыванию объема, и по увеличению скорости.
Эти структуры выполняют различные функции:
а) Основная память. Должна содержать файлы данных, быстродействие согласующихся с требованиями конвейеров.
Рекомендуемые материалы
б) Лок-память. Согласовывают быстродействие конвейеров и основной памяти, временно хранит данные, которые передаются между ними.
в) Регистровые файлы. Встраиваются в конвейер и принимают участие во временной организации работы и передаче данных между отдельными ступенями.
Основная память
Содержит большинство данных и программ и наиболее видима программисту.
Два основных свойства:
1) Объем
2) Скорость доступа.
Основная память состоит из модулей, содержащих фиксированное число слоев, и только к одному из них может быть осуществлен доступ в данный момент времени.
Общий объем и скорость доступа можно увеличить путем различных комбинаций модулей.
Вводится новое понятие, характерное для основной памяти. "Запросное отношение" (ЗО), т.е. отношение скорости доступа к скорости синхронизации конвейера. /оно может находиться в пределах от 2:1 до 10:1/.
Часто встречаются системы с запросным отношением 1,25:1, но требуется выполнить операции IO, поэтому минимальное запросное отношение равно 2:1.
У машин с векторными командами ЗО может быть больше 12:1.
Чаще всего в реальных системах скорость доступа к отдельному модулю памяти меньше требуемой (ЗО).
Чтобы увеличить скорость доступа, и получить требуемое ЗО, делают временный доступ к нескольким модулям памяти.
Для этого используется общая методика, называемая "расслоением памяти".
При расслоении модули упорядочиваются так, чтобы N последовательных адресов памяти i, i+1, i+2,…, i+N-1 приходилось на N различных модулей.
В i-ом модуле памяти будут находиться только те слова, чьи адреса имеют вид kN+1, где 0kM-1. M – число слов в одном модуле.
Можно достичь увеличения в N раз скорости доступа к памяти, по сравнению с отдельным модулем, если обеспечить при ? доступе обращение к данным в ? из модулей, Т.е. одно ? доступ.
Есть несколько способов реализации расслоенных структур.
Большая часть напоминает конвейеры, где "логикой" является доступ к слову в модуле.
Модуль памяти
Рассмотрим два крайних случая расслоения на основе простого модуля памяти.
1 тип
Простое расслоение
3 Структурное, модульное и процедурное программирование - лекция, которая пользуется популярностью у тех, кто читал эту лекцию.
Т.е. реализуется доступ к N словам параллельно при ? запросе.
N=2k M=2m
M – разряд из (m+k) разрядов адреса рассылаются по всем модулям памяти, а k разрядов определяют какое из N слов читать первым.
Т.е. при ? обращении к памяти считывается N последовательных слов (с адресами iN+j, где 0jN-1).
Эти слова могут быть помещены в фиксатор и при следующем обращении выбраны по шине шириной в 1 слово со скоростью в N раз увеличенной, чем ? доступа к отдельному модулю.
Эта структура идеальна для случая, когда обращение к памяти осуществляется последовательно. Т.е. аналогично выборке вектора или при исполнении последовательных команд.