Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
379727.doc
Скачиваний:
68
Добавлен:
22.09.2019
Размер:
1.92 Mб
Скачать
  1. Регистровая (локальная) память мп. Сверхбыстрая буферная память. Внешний и внутренний кэш: - алгоритмы обслуживания. Стековая (магазинная) память. Fifo - буфера.

Регистровая КЭШ-память - высокоскоростная память сравнительно большой емкости, являющаяся буфером между ОП и МП и позволяющая увеличить скорость выполнения операций. Создавать ее целесообразно в ПК с тактовой частотой задающего генератора 40 МГц и более. Регистры КЭШ-памяти недоступны для пользователя, отсюда и название КЭШ (Cache), в переводе с английского означает "тайник".

В КЭШ-памяти хранятся данные, которые МП получил и будет использовать в ближайшие такты своей работы. Быстрый доступ к этим данным и позволяет сократить время выполнения очередных команд программы. При выполнении программы данные, считанные из ОП с небольшим опережением, записываются в КЭШ-память.

Микропроцессоры начиная от МП 80486 имеют свою встроенную КЭШ-память (или КЭШ-память 1-го уровня), чем, в частности, и обусловливается их высокая производительность. Микропроцессоры Pentium и Pentium Pro имеют КЭШ-память отдельно для данных и отдельно для команд, причем если у Pentium емкость этой памяти небольшая - по 8 Кбайт, то у Pentium Pro она достигает 256 - 512 Кбайт.

Следует иметь в виду, что для всех МП может использоваться дополнительная КЭШ-память(КЭШ-память 2-го уровня), размещаемая на материнской плате вне МП, емкость которой может достигать нескольких мегабайтов.

Примечание. Оперативная память может строитьсяна микросхемах динамического (Dinamic Random Access Memory - DRAM) или статического (Static Random Access Memory - SRAM) типа. Статический тип памяти обладает существенно более высокимбыстродействием, но значительно дороже динамического, Для регистровой памяти(МПП и КЭШ-память) используются SRAM, а ОЗУ основной памяти строится на базе DRAM-микросхем.

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

Быстрая буферная память

В результате такого параллелизма ускоряется обработка потока инструкций. Адреса операндов вычисляются с помощью специализированного арифметического устройства. Код операции (самый левый байт каждой инструкции) посылается к БМУ, где он непосредственно адресует так называемую векторную память, содержащую начальные адреса микропрограмм, управляющих выполнением конкретных инструкций.

Выборку инструкций ускоряет быстрая буферная память (ББП) инструкций емкостью 16 Кбайт, которая управляется непосредственно БВИ. Для адресации этой памяти используется реальный адрес инструкции. Преобразование виртуальных адресов в реальные — тоже функция БВИ, она выполняется аппаратно с помощью буфера быстрого преобразования (TLB). Когда выбираемая инструкция или часть инструкции отсутствует в буферной памяти инструкций, выполняется микропрограммное прерывание, и из оперативной памяти выбирается блок размером 64 байта (называемый «линией»), содержащий требуемую инструкцию.

Блок выборки операндов работает под микропрограммным управлением. Его основная функция — обеспечивать данные, необходимые для обработки, выполняемой в БАЛУ. Блок БВО осуществляет также связь с системной магистралью процессора. В его состав входит быстрая буферная память данных емкостью 16 Кбайт, разделенная логически на два массива по 8 Кбайт. Каждый из этих массивов организован как 128 линий по 64 байта, (или по 16 слов в линии). Линии ББП являются копиями определенных линий из оперативной памяти с адресами, зависящими от потребностей программы, поэтому в БВО (как и в БВИ, для буферной памяти инструкций) используются адресные таблицы, содержащие старшие части адресов линий ББП. Адресные таблицы устанавливают соответствие между информацией в линиях ББП и в конкретных линиях оперативной памяти.

Внутренне кэширование обращений к памяти применяется в процессорах, начиная с 486-го. С кэшированием связаны новые функции процессоров, биты регистров и внешние сигналы.

Процессоры 486 и Pentium имеют внутренний кэш первого уровня, в Pentium Pro и Pentium II имеется и вторичный кэш. Процессоры могут иметь как единый кэш инструкций и данных, так и общий. Выделенный кэш инструкций обычно используется только для чтения. Для внутреннего кэша обычно используется наборно-ассоциативная архитектура.

Алгоритм:

Любой внутренний запрос процессора на обращение к памяти направляется на внутренний кэш. Теги четырех строк набора, который обслуживает данный адрес, сравниваются со старшими битами запрошенного физического адреса. Если адресуемая область представлена в строке кэш-памяти (случая попадания –cache hit), запрос на чтение обслуживается только кэш-памятью, не выходя на внешнюю шину. Запрос на запись модифицирует данную строку, и в зависимости от политики записи либо сразу выходит на внешнюю шину (при сквозной записи), либо несколько позже (при использовании алгоритма обратной записи).

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

Алгоритм:

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

Магазинная (стековая) память организуется по принципу “Последний пришел, первый вышел” (LIFO- Last In First Out), или “Первый пришел, первый вышел” (FIFO- First In First Out).

В первом типе памяти новое слово заносится в верхнюю ячейку, ранее занесенные данные проталкиваются вниз. При считывании наоборот, последнее слово выталкивается вверх первым.

В случае организации типа FIFO новое слово заносится в верхнюю ячейку, ранее записанные слова выталкиваются вниз.

Отличительным свойством памяти FIFO является наличие отдельного порта для чтения и отдельного — для записи данных. Благодаря наличию указателей и двухпортовой структуре памяти FIFO, стробы считывания и записи данных могут поступать на одноименные входы микросхемы в произвольном порядке. И если в памяти RAM операции чтения и записи данных выполняются строго последовательно во времени, то в памяти FIFO допускается выполнение записи и считывания в независимых друг от друга асинхронных режимах.

Недостатком FIFO является то, что содержимое уже прочитанной ячейки памяти может быть автоматически замещено новым значением, тогда как в RAM или ROM содержимое ячеек может быть изменено только путем непосредственной адресации и записи в них новых значений. Для предотвращения непредусмотренной потери данных в состав микросхем памяти FIFO введены флаги заполненности. В процессе функционирования память FIFO может находиться в одном из следующих возможных состояний: «нормальная работа», «буфер пуст», «буфер почти пуст», «буфер заполнен на 1/2 от максимального размера пространства памяти», «буфер почти полон», «буфер полон». Флаги заполненности являются индикаторами этих состояний и позволяют внешним устройствам осуществлять гибкий контроль над потоками считываемых или записываемых данных. С целью обеспечения помехоустойчивой передачи данных в канале связи, в состав большинства современных микросхем памяти FIFO добавлена функция повторного считывания данных из буфера, начиная с первого слова. Расширением этой функции является возможность повторного считывания произвольного сегмента памяти путем пользовательской установки указателя начала записи.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]