1 / 16

Организация памяти

Организация памяти. portal.sscc.ru/arch. Иерархия памяти. Память служит для хранения команд и данных, представленных в двоичном коде. Она представляет

Download Presentation

Организация памяти

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Организация памяти portal.sscc.ru/arch

  2. Иерархия памяти Памятьслужит для хранения команд и данных, представленных в двоичном коде. Она представляет собой множество ячеек, каждая из которых хранит двоичное слово – число, закодированное последова-тельностью двоичных битов. Количество битов в каж-дом слове одинаково. Все ячейки памяти пронуме-рованы по порядку от 0 до N. Номер ячейки называ-ется адресом и служит для ее идентификации. Идея иерархической (многоуровневой) организации памяти заключается в использовании на одном компьютере нескольких уровней памяти. Основой для иерархической организации памяти служит принциплокальности ссылок во времени и в пространстве.

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

  4. Схема иерархического построения памяти

  5. Зависимость времени вычисления некоторой функция от логических регистров для микропроцессора Alpha 21264

  6. Интерливинг

  7. Организация кэш-памяти Кэш-памятьэтовысокоскоростная память небольшeго размера. Она предназначена для временного хранения фрагментов кода и данных. Кэш-память охватывает всеадресноепространство ОП, но в отличие от ОП, она не адресуема и невиди-ма для программиста. Схема построения кэш-памяти • Кэш-память построена на принципе локальности ссылок во времени и в пространстве. • Кэш-контроллер загружает копии программного кода и данных из ОП в кэш-память блоками, равными размеру строки за один цикл чтения. Процессор читает из кэш-памяти по словам. • Кэш-контроллер перехватывает запросы процес- сора к основной памяти и проверяет, есть ли действительная копия информации в кэш-памяти.

  8. Структура кэш-памяти

  9. Организация кэш-памяти Когда контроллер выполняет поиск данных в памяти? • после фиксации промаха (сквозной просмотр). • одновременно с поиском блока в кэш-памяти, в случае кэш-попадания, обращение к оперативной памяти прерывается (отложенный просмотр).

  10. Организация кэш-памяти Когда контроллер помещает данные в кэш- память? • Загрузка по требованию (on demand). • Спекулятивная загрузка (speculative load).Алгоритм предполагает помещать данные в кэш-память задолго до того, как к ним произойдет реальное обращение. У кэш-контроллера есть несколько алгоритмов, которые указывают, какие ячейки памяти потребуются процессору в ближайшее время.

  11. Основные вопросы организации кэш-памяти • Алгоритм отображения адресов основной памяти в кэш-память. • Алгоритм записи данных и команд из кэш-памяти в основную память. • Алгоритм замещения строки в кэш-памяти. • Размер кэш-памяти. • Длина строки в кэш-памяти.

  12. Алгоритмы отображения • Прямой (direct mapping). • Ассоциативный (full associativemapping). • Множественно-ассоциативный (set-associative mapping).

  13. Отображение блока ОП на линию кэш-памяти i = j modulo m, i – номер линии кэш-памяти, j– номер блока ОП, m – линий в кэш-памяти кэш-линияблоки ОП 0 0, m, 2m,… 1 1, m+1, 2m+1,… m-1 m-1, 2m-1, 3m-1,…

  14. Пример Block – 4 Bytes MM=16 Mbytes ( ) (4M blocks of 4bytes each) Cache = 64 Kbytes ( lines of 4bytes each) Word – 2 bits, line -14 bits, tag – 8 bits 000000, 010000, …, FF0000 0 000004,010004, …, FF0004 1

  15. Пример «буксования» кэш-памяти (32 K) (cache trashing) double a[4096], b[4096], c[4096]; for(int i=0; i<4096; i++) c[i] = a[i]+b[i];

More Related