Работа и устройство процессоров

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

?ействии микросхем кэш-памяти сторонних производителей. Скорость наиболее быстрых микросхем достигала 3 нс и выше, что было эквивалентно тактовой частоте 333 МГц. Но процессоры уже работали на более высоких скоростях, поэтому в Pentium II и первых моделях Pentium III кэш-память второго уровня работает на половинной частоте процессора. В некоторых моделях процессора Athlon скорость кэш-памяти второго уровня уменьшена до двух пятых или даже одной трети тактовой частоты ядра. Качественный скачок в технологии произошел с появлением процессоров Celeron 300A и выше. В этих процессорах внешние микросхемы кэш-памяти второго уровня не используются. Вместо этого кэш-память как первого, так и второго уровней была интегрирована непосредственно в ядро процессора. Таким образом, кэш-память обоих уровней работает с полной тактовой частотой процессора, что позволяет повышать ее быстродействие при возможном увеличении скорости процессора. В последних моделях Pentium III, а также во всех процессорах Xeon и Celeron кэш-память второго уровня по-прежнему работает с тактовой частотой ядра процессора, а значит, при неудачном обращении в кэш-память первого уровня ожидания или замедления операций не происходит. В современных моделях процессоров Athlon и Duron также используется встроенная кэш-память, работающая с частотой ядра. Как вы знаете, при неудачном обращении к внешней кэш-памяти происходит снижение скорости кэша до половинной частоты ядра или, что еще хуже, до частоты более медленной системной платы. Использование встроенного кэша позволяет значительно повысить эффективность процессора, так как 9% времени в системе будет использоваться кэш-память второго уровня, работающая с полной частотой ядра. К числу преимуществ встроенной кэш-памяти относится также уменьшение ее стоимости, так как она содержит меньшее число компонентов. Вернемся к рассмотренной ранее аналогии, используя в качестве примера современный процессор Pentium 4 с тактовой частотой 2 ГГц. Теперь ваша скорость поглощения пищи равна одному байту в секунду (тактовой частоте 2 ГГц соответствует длительность цикла 0,5 нс). Кэш-память первого уровня работает на этой же частоте, т. е. скорость поглощения блюд, находящихся на вашем столе, равна скорости процессора (а столик соответствует кэш-памяти первого уровня). Ощутимое повышение быстродействия происходит в том случае, когда вы заказываете блюдо, которого нет на столе (промах кэша первого уровня), и официанту приходится обращаться к столику с дежурными блюдами. В девяти случаях из десяти он находит там нужное блюдо, которое приносит через полсекунды (частота кэш-памяти второго уровня равна 2 ГГц, что соответствует скорости 0,5 нс). Итак, современные системы работают 99% времени (суммарный коэффициент совпадения кэш-памяти первого и второго уровней) с частотой 2 ГГц и, как и прежде, в одном случае из ста понижают скорость до частоты оперативной памяти (приготовление блюда на кухне). При увеличении скорости памяти до 400 МГц (2,5 нс) время ожидания заказанного блюда из кухни достигнет 2,5 с. Эх, если бы скорость обслуживания в ресторане повышалась так же, как быстродействие процессора!

 

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

 

Организация кэш-памяти в процессорах 486 и семействе Pentium называется четырехстраничным набором ассоциативного кэша (four-way set associative cache), что подразумевает разделение кэш-памяти на четыре блока. Каждый блок, в свою очередь, организуется в виде 128 или 256 строк по 16 байт в каждой. Чтобы понять, как работает четырехстраничный кэш, рассмотрим следующий пример. В простейшем случае кэш состоит из одного блока, в который можно загрузить содержимое соответствующего блока основной памяти. Это похоже на закладку, используемую для того, чтобы отметить нужную страницу в книге. Если основная память это вся книга, то по закладке можно определить, какая страница находится в кэше. Но этого бывает достаточно только в том случае, если все необходимые данные находятся на странице, отмеченной закладкой. Если же вам нужно вернуться к одной из уже прочитанных страниц, то закладка будет бесполезной. Можно воспользоваться несколькими закладками (выписками), отмечая сразу несколько мест в книге. При этом, конечно, усложняется схема процессора, но зато можно проверить сразу несколько закладок. Каждая дополнительная закладка усложняет систему, но вероятность того, что нужная страница уже отмечена (выписана), повышается. Если ограничиться четырьмя отметками-выписками, то можно получить четырехстраничный кэш. Вся кэш-память разбивается на четыре блока, в каждом из которых хранятся копии различных фрагментов основной памяти. Хорошим примером работы процессора сразу с несколькими областями памяти является использование многозадачной операционной системы Windows. Здесь четырехстраничный кэш значительно повышает производительность процессора. Содержимое кэша всегда должно соответствовать содержимому основной памяти, чтобы процессор работал с самыми свежими данными. Поэтому в семействе процессоров 486 используется кэш со сквозной записью (write-through), при которой данные, записанные в кэш, автоматически записываются и в основную память. В процессорах Pentium используется двунаправленный кэш (write-back), который работает при выполнении как операций считывания, так и операций записи. Это позволяет еще больше повысить производительность процессора. Хотя встроенный кэш в процессоре 486 используется только при чтении, внешний кэш в системе может быть двунаправленным. Кроме того, в процессорах 486 предусмотрен дополнительны