Архитектуры SRAM

Автор работы: Пользователь скрыл имя, 29 Апреля 2012 в 08:06, курсовая работа

Краткое описание

Цель данной курсовой работы: анализ архитектуры SRAM. Начиная с первых 16-разрядных микросхем памяти; чипов памяти, применяемых в сегодняшних РС и перспективные направления развития статической памяти. Будут рассмотрены логическая организация памяти, быстродействие, синхронизация работы (по отношению к процессору), контроль чётности, режимы страничного доступа, расслоение ОЗУ на банки и пакетно - конвейерный режим.

Содержание

Введение 3
Глава 1 Архитектура SRAM 4
1.1 Устройство 4
1.1.1 В ядре 5
1.1.2 Устройство триггера 6
1.1.3 Устройство элемента "НЕ" (инвертора) 7
1.1.4 Устройство матрицы статической памяти 8
1.1.5 Устройство интерфейсной обвязки 10
1.1.6 Временные диаграммы чтения/записи 11
1.1.7 Цикл чтения 11
1.1.8 Цикл записи 12
1.2 Применение 13
Глава 2 SRAM в кэше 16
2.1 Виды кэша 16
2.1.1 Полностью ассоциативный кэш 16
2.1.2 Кэш с прямым отображением адресов 19
2.1.3 N-ассоциативный кэш 23
Заключение 28
Список используемой литературы 29

Вложенные файлы: 1 файл

Курсовая.docx

— 370.64 Кб (Скачать файл)

     Когда строка данных должна быть записана из оперативной памяти в кэш, однозначно определено подмножество строк, в которое она попадает, а конкретный элемент подмножества должен быть выбран контроллером. В этом случае 4 строки́ подмножества «соревнуются» друг с другом за вытеснение, причём стро́ки одного подмножества никогда не могут соревноваться со строками другого подмножества. Поэтому контроллеру нужно уметь определять, какая строка в пределах данного подмножества самая «старая». Так как в каждом подмножестве всего 4 элемента, достаточно всего двух бит для хранения возраста строки́ (рисунок 17)[11].

     

     Рисунок 17. Строка четырёх-ассоциативной кэш-памяти.

     Кроме того, в строках кэша теперь не требуются устройства для одновременного сравнения тэгов и для одновременного увеличения возраста, так как эти операции нужно делать не со всеми строками кэш-памяти, а только с четырьмя строками за один раз. Эти 4 строки́ могут быть, например, просмотрены/обработаны контроллером по очереди, не сильно снижая быстродействие кэша.

     Однако, можно добиться одновременной обработки четырёх строк кэша. Для этого разделим кэш-память на 4 равных части («банка»), и свяжем с каждым банком своё устройство управления (рисунок 18). При таком подходе каждое подмножество из четырёх одновременно обрабатываемых строк окажется распределённым по четырём банкам, каждый из которых может работать параллельно с остальными. При записи данных в кэш hint, выбираемый контроллером, фактически будет представлять собой номер банка, в который данные будут записаны.

     

     Рисунок 18. Пример поиска данных в четырёх-ассоциативном кэше по адресу

     Когда процессор выдаёт запрос на чтение байта оперативной памяти, кэш-контроллер выполняет следующие действия:

     разбивает адрес требуемого байта на части (как показано на рисунке 18), определяя тэг, номер строки́ кэша, и смещение в строке;

     так как контроллер не знает, какое значение hint (номер банка) было выбрано им для этих данных, когда они записывались в кэш в прошлый раз (и записывались ли они вообще), контроллер, зная номер строки́ в банке, читает строки с этим номером одновременно со всех банков (рисунок 18), либо, если кэш не разбит на банки, читает четыре строки́ по очереди из кэш-памяти, подставляя в номер строки́ все возможные значения hint (рисунок 18);

     контроллер сверяет тэги прочитанных из кэш-памяти строк с тэгом, выделенным из адреса;

     если тэги не совпали (данные в кэше отсутствуют), выполняются следующие действия:

     среди четырёх прочитанных строк выбирается для замещения строка с максимальным возрастом (если кэш не разбит на банки, а имеет сквозную нумерацию строк, то это действие как раз и означает выбор значения hint контроллером); возраст этой строки́ обнуляется, возрасты остальных трёх строк увеличиваются на единицу;

     если бит модификации выбранной для замещения строки́ не равен нулю, то он обнуляется, и содержимое строки́ записывается в место оперативной памяти, определяемое хранящимся в строке тэгом и номером этой строки́ в банке;

     в выбранную для замещения строку кэша из оперативной памяти загружаются 16 байт, среди которых находится требуемый процессором байт памяти (адрес этой последовательности байт равен адресу требуемого байта, но с обнулёнными последними четырьмя битами);

     тэг строки́ заменяется на тэг, выделенный из адреса требуемого байта;

     теперь требуемые данные точно присутствуют в кэше (тэг одной из четырёх строк совпадает с тэгом, выделенным из адреса); контроллер увеличивает на единицу возраст тех строк (среди четырёх прочитанных), возраст которых меньше возраста строки́ с нужными данными, а возраст строки́ с нужными данными обнуляет;

     контроллер выдаёт байт процессору из строки́ кэша в соответствии со смещением, выделенным из адреса

     Когда процессор выдаёт запрос на запись байта в оперативную память, кэш-контроллер выполняет следующие действия:

     разбивает адрес требуемого байта на части (как показано на рисунке 18), определяя тэг, номер строки́ кэша, и смещение в строке;

     контроллер, зная номер строки́ в банке, читает строки с этим номером одновременно со всех банков (рисунок 18).

     контроллер сверяет тэги прочитанных из кэш-памяти строк с тэгом, выделенным из адреса;

     если тэги не совпали (перезаписываемые данные не прокэшированы), то выполняются следующие действия:

     среди четырёх прочитанных строк выбирается для замещения строка с максимальным возрастом; её возраст обнуляется, возрасты остальных трёх строк увеличиваются на единицу;

     если бит модификации выбранной для замещения строки́ не равен нулю, то он обнуляется, и содержимое строки́ записывается в место оперативной памяти, определяемое хранящимся в строке тэгом и номером этой строки́ в банке;

     в выбранную для замещения строку кэша из оперативной памяти загружаются 16 байт, среди которых находится перезаписываемый процессором байт памяти (адрес этой последовательности байт равен адресу требуемого байта, но с обнулёнными последними четырьмя битами);

     тэг строки́ заменяется на тэг, выделенный из адреса требуемого байта;

     теперь перезаписываемые данные точно присутствуют в кэше; контроллер увеличивает на единицу возраст тех строк (среди четырёх прочитанных), возраст которых меньше возраста строки́ с нужными данными, а возраст строки́ с нужными данными обнуляет;

     контроллер модифицирует байт строки́ кэша в соответствии со смещением, выделенным из адреса;

     бит модификации строки́ устанавливается в 1.

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

     Кэш с прямым отображением адресов и полностью ассоциативный кэш являются частными случаями (крайностями) N-ассоциативного кэша. Если  , мы получаем кэш с прямым отображением адресов, если же равно общему числу строк кэш-памяти, то получается полностью ассоциативный кэш[11].

     N-ассоциативный кэш является самым распространённым видом кэша в современных компьютрерах, так как он гораздо эффективнее кэша с прямым отображением. В среднем, эффективность (отношение числа попаданий в кэш к общему числу обращений к памяти) работы двух-ассоциативного кэша объёмом байт примерно равна эффективности работы кэша с прямым отображением объёмом   байт. Аналогично, четырёх-ассоциативный кэш в 1.5–2 раза эффективней, чем двух-ассоциативный. С дальнейшим увеличением ассоциативности увеличение эффективности не так значительно[11].

     Заключение

     В данном курсовом был проведён анализ архитектуры SRAM. Были рассмотрены логическая организация памяти, быстродействие, синхронизация работы (по отношению к процессору), контроль чётности, режимы страничного доступа, расслоение ОЗУ на банки и пакетно - конвейерный режим. Также рассмотрена SRAM Кэш память - (одноуровневая и двухуровневая), показаны её преимущества и недостатки. Так же освещены перспективы и прогрессивные технологии.

     Например, SRAM непорядок быстрее чем DRAM, именно поэтому этот тип памяти часто применяется в кэше и в этом направлении он является доминирующим.

     Если  кэш такой быстрый, почему бы не поместить  всю память в кэш? Одна из причин, по которой DRAM работает медленнее, чем SRAM - это постоянный процесс "обновления". А самый популярный способ "обновлять" данные - это считывать данные.

     Все это было бы просто замечательно, если бы не необходимость в считывании или записи для "обновления" данных. SRAM избегает этого с помощью 4-6 транзисторов, которые статически сдерживают данные в памяти. С другой стороны, для хранения данных в DRAM используется всего лишь один транзистор в сочетании с конденсатором. Благодаря конденсатору значительно уменьшается размер ячеек DRAM на кристалле. В результате производство памяти обходится дешевле. Но при этом возникает проблема "обновления" данных, о которой мы уже рассказали.

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

     Список  используемой литературы

 
  1. Скотт Мюллер «модернизация и ремонт ПК» 2001г.
  2. А. Барсуков, журнал "ТКТ", № 6, 2003 г.
  3. Процессоры (Гук - АС IBM PC)
  4. Жмакин. Архитектура ЭВМ
  5. А.П. Пятибратов Л.П. Гудыно А.А.Кириченко ВМ сети и системы
  6. Михаил Гук Аппаратные интерфейсы ПК
  7. Все быстрее и быстрее. Вся правда о кэш-памяти(http://www.hardw.net/doc/141.htm)
  8. Wikipedia
  9. Принципы функционирования SRAM (www.hardw.net/doc/109.htm)
  10. Разновидности статической памяти (www.zntu.edu.ua/base/lection/rpf/lib/periph/hole/Spr/staticram.htm)
  11. Кэш процессора (http://iproc.ru/parallel-programming/lection-7/)

Информация о работе Архитектуры SRAM