Сделай Сам Свою Работу на 5

Отображение секторов ОП в кэш-памяти.

 

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

 

 

Смешанная и разделенная кэш-память.

 

 

Внутренняя кэш-память использовалась ранее как для инструкций (команд), так и для данных. Такая память называлась смешанной, а ее архитектура – Принстонской, в которой в единой кэш-памяти, в соответствии с классическими принципами фон Неймана, хранились и команды, и данные. Сравнительно недавно стало обычным разделять кэш-память на две – отдельно для инструкций и отдельно для данных.

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

инструкциями и наоборот.

С другой стороны, при раздельной кэш-памяти, выборка инструкций и данных может производиться одновременно, при этом исключаются возможные конфликты. Последнее особенно существенно в системах, использующих конвейеризацию команд, где процессор извлекает команды с опережением и заполняет ими буфер или конвейер. Так, например, в процессоре Intel® 486 DX2 применялась смешанная кэш-



память, в Intel® Pentium® и в AMD Athlon™ с их суперскалярной организацией – раздельная. Более того, в этих процессорах помимо кэш-памяти инструкций и кэш-памяти данных используется также и адресная кэш-память. Этот вид КЭШа используется в устройствах управления памятью, в том числе для преобразования виртуальных адресов в физические. Благодаря использованию нанотехнологий, для снижения потребляемой мощности, увеличения быстродействия ЭВМ( что достигается сокращением времени обмена данными между процессором и кэш-памятью) существует возможность реализовать кэш-память на одном кристалле с процессором. Такая внутренняя кэш-память реализуется по технологии статического ОЗУ и является наиболее быстродействующей. Объем ее обычно составляет 64-128 Кбайт, причем дальнейшее увеличение ее объема приводит обычно к снижению быстродействия из-за усложнения схем управления и дешифрации адреса.

Альтернативой, широко применяемой в настоящее время, является вторая (внешняя) кэш-память большего объема, расположенная между внутренней кэш-памятью и ОП. В этой двухуровневой системе кэш-памяти, внутренней памяти отводится роль первого уровня L1, а внешней - второго L2. Ёмкость L2 обычно более чем на порядок выше, чем L1, а быстродействие и стоимость ниже. Память второго уровня также строится обычно как статическое ОЗУ. Емкость ее может составлять от 256 Кбайт до 1 Мбайта и технически реализуется виде отдельной микросхемы, однако может размещаться и на одном кристалле с процессором.

 

Сводная информация по объемам, принципам организации и тактовым частотам кэш-памяти у процессоров от Intel и AMD.

 

Процессоры от крупнейших производителей оснащаются кэш-памятью емкостью у Intel Pentium 4 на ядре Northwood - 512

Кбайт кэш-памяти L2, а процессоры Prescott выпускаются по 0,09-

микронной технологии и имеют кэш-память второго уровня удвоенного объема, который составляет 1 Мбайт, Pentium 4 Extreme Edition на основе

модифицированного серверного ядра Gallatin с тактовой частотой 3,40 ГГц имеет кэш-память третьего уровня объемом 2 Мбайта. Она дополняет стандартный нортвудовский кэш L2 512 Кбайт и тоже работает на частоте ядра процессора (правда, с большей раза в два латентностью (иногда называется задержкой распространения)). Таким образом, в сумме Pentium 4 Extreme Edition имеет кэш-память объемом 2,5 Мбайт.

Дополнительная кэш-память третьего уровня ведет начало от серверных

процессоров Xeon MP на 0,13-микронном ядре Gallatin и не имеет ничего

общего с 90-нанометровым Prescott, однако этот кристалл (ядро) все

же немного переработали с целью поддержки системной шины 800 МГц, уменьшения энергопотребления и др. и упаковали в стандартный корпус от текущих Pentium 4.

В свою очередь AMD Athlon 64 и AMD Opteron, работающие на более высокой частоте 2200 МГц, производятся по 0,13- микронной технологии (SOI) и содержат 105,9 млн. транзисторов и отличаются

от предшествующих Athlon XP новым ядром с 64-битными возможностями вычислений (наряду с улучшенными 32-битными на базе ядра Athlon XP), кэш-памятью второго уровня объемом 1 Мбайт (причем кэш у Атлонов инклюзивный, то есть полный объем с учетом 128 Кбайт L1 составляет 1152 Кбайт).

При доступе к памяти, ЦП сначала обращается к кэш-памяти первого уровня. При промахе производится обращение к кэш-памяти второго уровня. Если информация отсутствует и в L2, производится обращение к ОП, и соответствующий блок заносится сначала в L2, а затем и в L1. Благодаря такой процедуре, часто запрашиваемая информация может быть легко восстановлена из кэш-памяти второго уровня.

Потенциальная экономия за счет применения L2 зависит от вероятности

попаданий как в L1, так и L2. Однако опыт Intel и AMD показывает, что

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

производительность. Именно поэтому во всех современных версиях процессоров применяется двухуровневая и даже трехуровневая

организация кэш-памяти.

 

Зачем увеличивать кэш ?

 

 

Первичная причина увеличения объема встроенного кэша может заключаться в том, что кэш-память в современных процессорах работает на той же скорости, что и сам процессор. Частота процессора в этом случае никак не меньше 3200 MГц. Больший объем кэша позволяет процессору держать большие части кода готовыми к выполнению. Такая архитектура процессоров сфокусирована на уменьшении задержек, связанных с простоем процессора в ожидании данных. Современные программы, в том числе игровые, используют большие части кода, который необходимо извлекать из системной памяти по первому требованию

процессора. Уменьшение промежутков времени, уходящих на передачу данных от памяти к процессору, - это надежный метод увеличения производительности приложений, требующих интенсивного взаимодействия с памятью. Кэш L3 имеет немного более высокое время ожидания, чем L 1 и 2, это вполне естественно. Хоть он и медленнее, но все-таки он значительно более быстрый, чем обычная память. Не все приложения выигрывают от увеличения объема или скорости кэш-памяти. Это сильно зависит от природы приложения. Если большой объем встроенного кэша - это хорошо, тогда что же удерживало Intel и AMD от этой стратегии ранее? Простым ответом является высокая себестоимость такого решения. Резервирование пространства для кэша очень дорого. Стандартный 3.2GHz Northwood содержит 55 миллионов транзисторов.

Добавляя 2048 КБ кэша L3, Intel идет на увеличение количества транзисторов до 167 миллионов. Каждое ядро двуядерных процессоров AMD Opteron и Intel Montecito, имеют свою собственную кэш-память. Использование нескольких ядер в одном процессоре позволяет повысить вычислительную мощность чипа при одновременном ограничении потребляемой им энергии. Ранее предполагалось, что кристаллы Intel Itanium нового поколения (кодовое название Montecito) получат 24 Мб общей кэш-памяти. Теоретически, наличие единого кэша увеличивает объем данных, к которым может обращаться процессорное ядро. Однако разделение кэшей существенно упрощает работу по проектированию кристаллов и, соответственно, сокращает время, необходимое для вывода конечных продуктов на рынок. Каждое ядро Montecito оснащено 1 Мб кэша второго

уровня и 12 Мб кэша третьего уровня.

Следует заметить, что раздельные кэши для различных ядер использует и

компания Sun в своих чипах UltraSparc IV.

Выводы.

 

Анализ изложенного выше материала позволяет сделать заключение, что в соответствии с каноническими теориями, современные производители Intel и AMD широко используют кэш-память при построении своих новейших процессоров. Во многом, их превосходные характеристики по быстродействию достигаются именно благодаря применению кэш-памяти второго и даже третьего уровня. Этот факт подтверждает теоретические выкладки Гарвардского университета о том, что ввиду действия принципа локальности информации в современных

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

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

 

Практическая часть

Задание на проектирование АЛУ

Разработать арифметико-логическое устройство (АЛУ), реализующее заданный набор операций с учётом ограничений на код выполнения операций и способ построения управляющего автомата.

Вариант 2-1

Арифметическая операция – ускоренное умножение;

Логическая операция – неравнозначность;

Код выполнения операции – прямой;

Флаги:

· Признак четности числа единиц в результате;

· Признак арифметического переполнения;

Тип управляющего автомата – программируемая логика, единый формат для операционных микрокоманд и микрокоманд перехода, естественная адресация.



©2015- 2017 stydopedia.ru Все материалы защищены законодательством РФ.