Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие.doc
Скачиваний:
7
Добавлен:
01.07.2025
Размер:
21.67 Mб
Скачать

Внешняя кэш-память cpu

Впервые внешняя кэш-память появилась на материнской плате с процессором 80386. Емкость ее для процессоров этого класса составляла в среднем 128 Кбайт. Для CPU 80486DX объем кэш-памяти уже был 256 Кбайт, реже — 512 Кбайт. Процессоры взаимодействовали с внешней кэш-памятью через системную шину.

Однако с увеличением тактовой частоты работы CPU скорость обмена данными между процессором и внешней кэш-памятью стала "тормозить" производительность системы. Была разработана отдельная шина для внешней кэш-памяти, названная двойной независимой шиной (Dual Independent Bus, DIB), которая работала с большей тактовой частотой, чем системная шина. В компьютерах с процессором Pentium Pro внешняя кэш-память помещена не на материнской плате, а непосредственно в ядро процессора. Поэтому обмен данными между CPU и внешней кэш-памятью стал осуществляться на частоте процессора. Понятие "внешняя кэш-память" утратило смысл, и появился новый термин — кэш-память второго уровня (L2). В компьютерах с процессором Pentium II кэш-память второго уровня размещена в картридже на плате процессора и работает на тактовой частоте, равной половине тактовой частоты процессора.

Вместо элементов SRAM стали использоваться более быстрые элементы памяти BSRAM и CSRAM. Объем кэш-памяти второго уровня увеличился. Напри­мер, в процессоре Pentium II Xeon (Deschutes) он составляет уже 2 Мбайт.

Примечание

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

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

Объем кэшируемой памяти определяется возможностями Chipset. Например, Chipset Intel 430HX поддерживает 128 Мбайт оперативной памяти, из кото­рой может быть кэшировано только 64 Мбайт.

Внутренняя кэш-память cpu

Для повышения производительности систем на базе процессоров 80486 и Pentium в состав этих процессоров помимо описанной выше внешней кэш-памяти включают еще внутреннюю кэш-память емкостью от 8 или 64 Кбайт — кэш-память первого уровня. Ее назначение — согласование скорости работы процессора и внешней кэш-памяти (кэш-памяти второго уровня).

Кэш-память винчестера

Принцип кэширования обмена данными применяется также и при чтении/записи данных с винчестера. В этом случае кэш-память винчестера обеспечивает синхронизацию времени доступа к данным на диске (несколько миллисекунд) с быстродействием шины данных. В процессе кэширования диска данные записываются в кэш-память, элементы которой размещены на самом винчестере, так что при повторном обращении к нему уже нет необходимости в механическом считывании этих данных. Емкость кэш-памяти винчестера обычно составляет от 256 до 2048 Кбайт.

Примечание

Не путайте аппаратное кэширование диска с программным, которое только эмулирует принцип кэширования. Конечно же, такие программы, как Smart Drive (из MS-DOS или Windows) или PC-Cache (из утилит PC Tools), повышают производительность вычислительной системы.

SRAM

Организация элементов SRAM идентична организации элементов памяти DRAM, за исключением того, что SRAM не нуждается в регенерации памяти. Буква S в названии означает Static (статический). Если бы SRAM устанавливалась в качестве оперативной памяти, это обеспечило бы значительное повышение быстродействия PC, однако при этом существенно изменилась бы и стоимость PC, поскольку стоимость микросхем SRAM намного выше стоимости DRAM. Время доступа к DRAM составляет от 60 до 100 нс., а время доступа к SRAM — от 10 до 15 нс. Поэтому элементы SRAM устанавливают только для выполнения специальных задач, важнейшей из которых можно назвать кэширование, и микросхемы используются в качестве кэш-памяти второго уровня (L2) и памяти для сохранения параметров BIOS.

Как и DRAM, элементы SRAM являются "временной" памятью. Для того чтобы данные оставались неизменными, должно быть обеспечено гарантированное питание от аккумулятора. При этом ток, потребляемый элементами SRAM, настолько мал, что содержимое памяти (при наличии аккумулятора) остается неизменным около двух лет, даже если компьютер в течение этого времени ни разу не включался.

Существуют следующие разновидности статической памяти:

  • Async SRAM

  • Sync Burst SRAM

  • Pipelend Burst SRAM

Микросхемы типа Async SRAM (Asynchronous SRAM — Асинхронная SRAM) имеют простейший асинхронный интерфейс, подобный интерфейсу DRAM, включающий шины адреса, данных и управления. До недавнего времени микросхемы этого типа были стандартом для статической памяти.

Время доступа у подобных микросхем составляет 12, 15 или 20 нс. Это позволяет CPU читать данные в пакетном режиме без тактов ожидания (2-1-1-1) лишь на тактовой частоте системной шины до 33 МГц. На более высоких частотах временная диаграмма будет 3-2-2-2.

Sync Burst SRAM (Synchronous Burst SRAM— Синхронная пакетная SRAM) обеспечивает временную диаграмму 2-1-1-1 на частотах работы системном шины 50, 60 и 66 МГц и имеет время доступа 8,5, 10 и 13.5 нс. соответственно. Этот тип статической памяти лучше всего подходит для выполнения пакетных операций и синхронизирован с системной шиной. На частотах 75 МГц и выше временная диаграмма будет 3-2-2-2.

PB Burst SRAM (Pipelined Burst SRAM— Конвейерная пакетная SRAM) представляет собой усовершенствованную Sync Burst SRAM. Интерфейс PB Burst SRAM аналогичен интерфейсу Sync Burst SRAM. Конвейерная архитектура позволяет получать данные без тактов ожидания на частотах более 75 МГц. Память этого типа обеспечивает временную диаграмму 3-1-1-1 на частотах 66, 75 и S3 МГц (время доступа 15, 13 и 12 нс. соответственно).

Логическое распределение оперативной памяти

Логическое распределение оперативной памяти определяется не только применяемой операционной системой, но и особенностями аппаратной реализации IBM-совместимых PC. Знание строения RAM необходимо для программной оптимизации системы. Оптимизация системы не всегда пропорциональна денежным вложениям в новейшие и быстрейшие программные продукты. Благодаря простым уловкам и хитростям можно улучшить производительность РС внутрисистемными методами.

Можно выделить пять важнейших логических областей оперативной памяти

(рис. 5.29):

  • Стандартная оперативная память (Conventional Memory)

  • EMS-память (Expanded Memory Specification)

  • UMA (Upper Memory Area)

  • HMA (High Memory Area)

  • XMS (Extended Memory Specification)

Стандартная оперативная память

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

Рис 3.5.1 Распределение Памяти в PC AT

В то время как внутри PC обычно все выражается в двоичной системе счисления (0 или 1), для адресации памяти применяется шестнадцатеричная, характеризующаяся наличием символа "h" после значения.

Шестнадцатеричная система счисления — это система с базой 16, в отличие от десятичной системы с базой 10. К 10 цифрам от 0 до 9, используе­мым в десятичной системе, добавляются еще и буквы от А до F. Значение шестнадцатеричного F соответствует значению десятичного числа 15. В двоичной системе F (соответственно 15) выражается как 00001111. В шестнадцатеричной системе байт (состоящий из 8 бит) всегда можно выразить через два шестнадцатеричных числа. Чтобы числу F "не было одиноко" (не перепутать его с буквой F), впереди него ставят еще ноль. Совершенно корректная запись десятичного числа 15 в шестнадцатеричной системе — 0Fh. Чтобы усложнить дело еще больше, адреса ячеек памяти обозначают не просто шестнадцатеричными цифрами, а составляют из двух конструкций, разделенных двоеточием. Эти части адреса называются сегмент (номер шестнадцатибайтного блока памяти) и смещение (относительно на­чала сегмента). Адрес 1000h; 0112h дает, таким образом, эффективный адрес 10112h

Стандартная память начинается от адреса 0000:0000 и продолжается до адреса

А000:0000. Этот невысокий верхний предел был установлен процессорами

8088 и 8086. Эти процессоры имели 20-разрядную адресную шину и поэтому могли адресовать только 1 Мб памяти (220=l 048 576 байт). В пределах этой памяти выше уровня 640 Кб фирмой IBM были зарезервированы 384 Кб для выполнения внутренних функций, на которых мы остановимся ниже. Распределение памяти для PC с CPU 386 и выше показано на рис. 5.30.

Рис 3.5.2 Распределение памяти для PC с CPU 80386 и выше.

Таблица векторов прерываний

Само название говорит, что речь идет о таблице (состоящей из 256 элементов по 4 байта), в которой находятся вектора прерываний — адреса сервис­ных программ, входящих в состав операционной системы и BIOS. При этом речь идет о таких базовых функциях, как отображение символа на экране монитора, организация доступа к дисководу или жесткому диску и т.п. Но так как существуют различные операционные системы и версии BIOS, эти программы-прерывания могут располагаться в различных местах стандартной оперативной памяти. В таблице прерываний указано их реальное местоположение. Таблица занимает 1024 байта (1 Кб) и начинается с адреса 0000h:0000h.

Область данных BIOS

Вслед за таблицей прерываний расположена область данных BIOS объемом 768 байт. Здесь размещены, например, счетчик таймера, буфер клавиатуры и другая внутренняя информация.

Операционная система

Далее в стандартной оперативной памяти расположена операционная система. Конечно же, она загружается в RAM не полностью, а только частично (ядро DOS). Часть ядра операционной системы — процессор команд, более известный под именем COMMAND.COM. Ядро DOS не имеет постоянного адреса памяти. Его местоположение и размер занимаемой им памяти зависят от версии операционной системы. Впрочем, имеется возможность опти­мизировать стандартную память, поместив ядро операционной системы в другие области памяти.