к библиотеке   Архитектура IBMPC   ИСиТК   ОИС   ОСВМ   визуальные среды - 4GL   технологии программирования

Архитектура IBM-совместимых ПК

Буферная кэш-память ОЗУ

При высокой скорости работы системы, DRAM сильно ограничивает производительность ПЭВМ.

Для выравнивания времени доступа к СОЗУ (регистровая память), находящемуся в структуре самого CPU, и DRAM, между ними располагают буфер - кэш (Cache Memory), организованный на статической памяти (SRAM) сравнительно небольшого объема со временем доступа 20-25 нсек. Для эффективного использования кэш-памяти, программный модуль должен целиком помещаться в кэш, включая циклы переходов, как для команд, так и для данных.

Часто устанавливаются два отдельных кэша - кэш команд и - кэш данных.

При работе программы, отдельные модули программы копируются контроллером КЭШа из ОЗУ в кэш. При запросе от CPU команды или данных, сначала проверяется наличие нужных адресов в кэш (используя указатель адресов - кэш-ТЭГ). При наличии, отмечается кэш-попадание (cache-hit), иначе - кэш-промах (cache-miss) и, в последнем случае, информация целым модулем копируется из RAM в кэш.

Даже времена доступа к SRAM в 20-25 нсек оказываются недостаточными для современных высокоскоростных CPU типа Pentium-3, Pentium-4, поэтому непосредственно в CPU устанавливают еще один кэш, кэш первого уровня, со временами доступа 2 - 5 нсек.

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

Кэш-память также может стать источником ошибок, поэтому в современных программах настройки BIOS (SetUp-программы или NSetUp) предусмотрено отключение кэш-памяти первого и/или второго уровней. Это позволяет локализовать неисправность, возникающую либо в основной DRAM, либо в кэш-памяти первого или второго уровней. Ошибки кэш-памяти второго уровня устраняются заменой ИМС кэш-памяти (для этого они часто устанавливаются в chip-sockets), но ошибки кэш-памяти первого уровня не могут быть устранены без замены самого CPU. Сохранить работоспособность РС при неисправности кэш-памяти можно, хотя и с некоторым снижением производительности АПС, если отключить кэш соответствующего уровня.

Архитектура кэш-памяти может быть: с прямым отображением, частично ассоциативная и полностью ассоциативная.

При прямом отображении (direct mapped cache) каждая ячейка DRAM отображается непосредственно в одну ячейку SRAM. Перепись информации из RAM в кэш и обратно осуществляется целым блоком в объеме кэша.

При частично ассоциативной архитектуре каждая ячейка DRAM может отображаться в кэше по двум или более входам (каналам).

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

Для поиска информации, в кэше организуется специальное поле указателей - тэгов (TAG RAM). Эти тэги ассоциируются с искомым адресом и, для их хранения, в контроллерах КЭШ организована специальная память признаков, также выполненная на SRAM.

Частично ассоциативная память, чаще всего используемая на практике, разбивается на несколько областей. Внутри каждой области располагаются многобайтовые строки, содержащие как информацию, так и ключи поиска. В случае промаха, кэш-память заполняется построчно, причем обновляется строка из давно не использовавшихся данных. Этот принцип реализуется контроллером кэш-памяти и называется LRU (Least Recently Used - редко используемый).

Обращение к кэш-памяти происходит по физическим адресам, включающим несколько полей:

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

- среднее поле адреса указывает на конкретную ячейку в наборе,

- старшее поле - содержит информацию о том, имеется ли в кэше затребованный информационный массив, или нет.

Существуют следующие способы записи информации DRAM в КЭШ:

1) метод сквозной записи (Write Through), при котором по шине памяти производятся две записи: одна - в RAM, другая - в кэш. При этом одновременно имеются две копии данных, одна в кэш, другая в RAM;

2) метод буферизованной сквозной записи (Buffered Write Through). При этом методе запись из CPU в кэш происходит сначала в буферные стеки дисциплины FIFO, а затем уже сам контроллер кэш переписывает стеки в DRAM. При этом дополнительного цикла записи не требуется, но некоторое время в DRAM и кэше находится разная информация: в кэш - новая, а в DRAM - старая.

3) метод обратной записи (Write Back) - самый эффективный метод. Он использует наименьшее число циклов записи, но требует для своей реализации дополнительной аппаратной поддержки и поэтому применяется только в мультипроцессорных системах. При этом методе в DRAM и SRAM содержится различная информация. При записи в кэш, устанавливается статусный бит (Dirty Bit - "грязный"), при обновлении кэш-памяти этот бит проверяется и, если он установлен, то из кэш в DRAM переписывается полная строка данных (Cache Line). Опасность такого способа заключена в том, что при случайном сбое в работе РС, обновленная информация, уже имеющаяся в кэш и еще не переписанная в ОЗУ, может потеряться.

Контрольные вопросы.

1. Как выравниваются скорости работы CPU и DRAM?

2. Сколько уровней кэш-памяти могут иметь РС на базе CPU Pentium?

3. Как можно локализовать ошибки кэш-памяти?

4. Как сохранить работоспособность РС при неисправной кэш-памяти?

5. Какой архитектуры может быть организована кэш-память?

6. Какие существуют способы записи информации DRAM в кэш?

к библиотеке   Архитектура IBMPC   ИСиТК   ОИС   ОСВМ   визуальные среды - 4GL   технологии программирования

Знаете ли Вы, что только в 1990-х доплеровские измерения радиотелескопами показали скорость Маринова для CMB (космического микроволнового излучения), которую он открыл в 1974. Естественно, о Маринове никто не хотел вспоминать. Подробнее читайте в FAQ по эфирной физике.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution