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

5.10. Статическая память

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

В современных системах обычно используется конвейерный режим с пакетным способом передачи данных (Pipelined Burst Cache), организованный на микросхемах статической памяти с синхронным доступом.

Необходимым элементом подсистемы памяти является так называемая кэш-память (от английского Cache — запас). Она служит в качестве буферной «емкости» при обмене данными между процессором и оперативной (системной) памятью. Так как кэш организован на микросхемах типа SRAM (Static Random Access Memory — статическая память с произвольным доступом), которые работают примерно на порядок быстрее микросхем памяти типа DRAM, процессор обрабатывает данные из кэш-памяти сразу.

5.11. SDRAM

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

Как и для оперативной памяти EDO, для памяти этого типа требуется поддержка набором микросхем системной логики. Начиная с наборов 430VX и 430ТХ, выпяленных в 1997 году, все наборы микросхем системной логики компании Intel полностью поддерживают SDRAM. Этот тип памяти стал самым популяным в новых системах, выпущенных в 2000 и 2001 годах.

Эффективность SDRAM значительно выше по сравнению с оперативной памятью FPM или EDO. Поскольку SDRAM — это тип динамической оперативной памяти, ее начальное время ожидания такое же, как у памяти FPM или EDO, но общее время цикла намного короче. Схема синхронизации пакетного доступа SDRAM выглядит так 5-1-1-1 т. е. четыре операции чтения завершаются всего лишь за восемь циклов системной шины (сравните с 11 циклами для EDO и 14 для FPM).

Кроме этого, память SDRAM может работать на частоте 133 МГц (7,5 нс) и выше, что стало новым стандартом для системного быстродействия начиная с 1998 года. Фактически все новые персональные компьютеры, проданные с 1998 по 2000 год, имеют память типа SDRAM.

Память SDRAM поставляется в виде модулей DIMM и, как правило, ее быстродействие оценивается в мегагерцах, а не наносекундах.

5.12. Кэш-память — SRAM

Существует тип памяти, совершенно отличный от других, — статическая оперативная память (Static RAM — SRAM). Она названа так потому, что, в отличие от динамической оперативной памяти (DRAM), для сохранения ее содержимого не требуется периодической регенерации. Но это не единственное ее преимущество. SRAM имеет более высокое быстродействие, чем динамическая оперативная память, и может работать на той же частоте, что и современные процессоры.

Время доступа SRAM не более 2 нс; это означает, что такая память может работать синхронно с процессорами на частоте 500 МГц или выше. Однако для хранения каждого бита в конструкции SRAM используется кластер из шести транзисторов. Использование транзисторов без каких-либо конденсаторов означает, что нет необходимости в регенерации. (Ведь если нет никаких конденсаторов, то и заряды не теряются.) Пока подается питание, SRAM будет помнить то, что сохранено и используются память по таблице 5.2

Таблица 5.2

Тип

Быстродействие

Плотность

Стоимость

Динамическая оперативная память – DRAM

Статистическая оперативная память - SRAM

Низкое

Высокое

Высокая

Низкая

Низкая

Высокая

По сравнению с динамической оперативной памятью быстродействие SRAM намного выше, но плотность ее гораздо ниже, а цена довольно высока. Более низкая плотность означает, что микросхемы SRAM имеют большие габариты, хотя их информационная емкость намного меньше. Большое количество транзисторов и кластеризованное их размещение не только увеличивает габариты микросхем SRAM, но и значительно повышает стоимость технологического процесса по сравнению с аналогичными параметрами для микросхем DRAM. Например, емкость модуля DRAM может равняться 64 Мбайт или больше, в то время как емкость модуля SRAM приблизительно того же размера составляет только 2 Мбайт, причем их стоимость будет одинаковой. Таким образом, габариты SRAM в среднем в 30 раз превышают размер динамической оперативной памяти, тоже самое можно сказать и о стоимости. Все это не позволяет использовать память типа SRAM в качестве оперативной памяти в персональных компьютерах.

Несмотря на это, разработчики все-таки применяют память типа SRAM для повышения эффективности РС. Но во избежании значительного увеличения стоимости устанавливается только небольшой объем высокоскоростной памяти SRAM, которая используется в качестве кэш-памяти. Кэш-память работает на тактовых частотах, близких или даже равным тактовым частотам процессора, причем обычно именно эта память непосредственно используется процессором при чтении и записи. Во время операций чтения данные в высокоскоростную кэш-память предварительно записываются из оперативной памяти с низким быстродействием, т. е. из DRAM. Еще недавно время доступа динамической оперативной памяти было не менее 60 нс (что соответствует тактовой частоте 16 МГц). Для преобразования времени доступа из наносекунд в мегагерцы используется следующая формула:

1/наносекунды х 1000 = МГц.

Обратное вычисление осуществляется с помощью такой формулы: 1/МГц х 1000 = наносекунды.

Когда процессор персонального компьютера работал на тактовой частоте 16 МГц и ниже, DRAM могла быть синхронизирована с системной платой и процессором, поэтому кэш был не нужен. Однако как только тактовая частота процессора поднялась выше 16 МГц, синхронизировать DRAM с процессором стало невозможно, и именно тогда разработчики начали использовать SRAM в персональных компьютерах. Это произошло в 1986-87 годах, когда появились PC с процессором 386, работающим на частотах 16 и 20 МГц. Именно в этих персональных компьютерах впервые нашла применение так называемая кэш-память, т. е. высокоскоростной буфер, построенный на микросхемах SRAM, который непосредственно обменивается данными с процессором. Поскольку быстродействие кэша может быть сравнимо с быстродействием процессора, контроллер кэша может предугадывать потребности процессора в данных и предварительно загружать необходимые данные в высокоскоростную кэш-память. Тогда при выдаче процессором адреса памяти данные могут быть переданы из высокоскоростного кэша, а не из оперативной памяти, быстродействие которой намного ниже.

Эффективность кэш-памяти выражается коэффициентом совпадения, или коэффициентом успеха. Коэффициент совпадения равен отношению количества удачных обращений в кэш к общему количеству обращений. Попадание — это событие, состоящее в том, что необходимые процессору данные предварительно считываются в кэш из оперативной памяти; иначе говоря, в случае попадания процессор может считывать данные из кэш-памяти. Неудачным обращением в кэш считается такое, при котором контроллер кэша не предусмотрел потребности в данных, находящихся по указанному абсолютному адресу. В таком случае необходимые данные не были предварительно считаны в кэш-память, поэтому процессор должен отыскать их в более медленной оперативной памяти, а не в быстродействующем кэше. Когда процессор считывает данные из оперативной памяти, ему приходиться какое-то время «ждать», поскольку тактовая частота оперативной памяти значительно ниже, чем процессора. Если процессор со встроенной в кристалл кэш-памятью работает на частоте 2000 МГц (2 ГГц), то продолжительность цикла процессора и интегральной кэш-памяти в этом случае достигнет 0,5 нс, в то время как продолжительность цикла оперативной памяти будет в шесть раз больше, т. е. примерно 3 или 6 нс для памяти с удвоенной скоростью передачи данных (Double Data Rate — DDR). Таким образом, тактовая частота памяти будет всего лишь 333 МГц. Следовательно, в этом случае, когда процессор с тактовой частотой 2 ГГц считывает данные из оперативной памяти, его рабочая частота уменьшается в шесть раз, что и составляет 333 МГц. Замедление обусловлено периодом ожидания (wail stale). Если процессор находится в состоянии ожидания, то на протяжении всего цикла (такта) никакие операции не выполняются; процессор, по существу, ждет, пока необходимые данные поступят из более медленной оперативной памяти. Поэтому именно кэш-память позволяет сократить количество "простоев" и повысить быстродействие компьютера в целом.

Чтобы минимизировать время ожидания при считывании процессором данных из медленной оперативной памяти, в современных персональных компьютерах обычно предусмотрены два типа кэш-памяти: кэш-память первого уровня (L1) и кэш-память второго уровня (L2). Кэш-память первого уровня также называется встроенным или внутренним кэшем, он непосредственно встроен в процессор и фактически является частью микросхемы процессора. Во всех процессорах 486 и выше кэш-память первого уровня интегрирована в микросхему процессора. Кэш-память второго уровня называется вторичным или внешним кэшем; он устанавливается вне микросхемы процессора. Первоначально она устанавливалась на системной плате. (Так было во всех компьютерах на основе процессоров 386, 486 и Pentium.) Если кэш-память второго уровня установлена на системной плате, то она работает на ее частоте. В этом случае кэш-память второго уровня обычно находится рядом с разъемом процессора.

Для повышения эффективности в более поздних компьютерах на основе процессоров Pentium Pro, Pentium II/Ш и Athlon кэш-память второго уровня является частью процессора. Конечно же, он внешний по отношению к кристаллу центрального процессора, просто эта отдельная микросхема устанавливается внутри корпуса (картриджа) процессора. Поэтому на системных платах для процессоров Pentium Pro или Pentium П нет никакого кэша.

В последних моделях процессоров Pentium Ш и Athlon кэш- память второго уровня является частью микросхемы процессора (подобно кэш-памяти первого уровня) и работает на более высоких частотах (на частоте процессора, половинной или трети). В процессорах Itanium для увеличения производительности используется три уровня кэш-памяти.

Первоначально кэш-память проектировалась как асинхронная, т. е. не была синхронизирована с шиной процессора и могла работать на другой тактовой частоте. При внедрении набора микросхем системной логики Intel 430FX в начале 1995 года был разработан новый тип синхронной кэш-памяти. Она работает синхронно с шиной процессора, что повышает ее быстродействие и эффективность. В то же время был добавлен режим pipeline burst mode (конвейерный монопольный режим). Он позволил сократить время ожидания за счет уменьшения количества состояний ожидания после первой передачи данных. Использование одного из этих режимов подразумевает наличие другого. Оба режима позволяют повысить производительность компьютера на 20%.

Контроллер кэш-памяти для современной системы содержится в микросхеме North Bridge набора микросхем системной логики в PC на основе Pentium и более простых или на плате процессора, как в случае с Pentium Pro, Pentium II/III и более новыми системами. Возможности контроллера кэш-памяти предопределяют эффективность и возможности кэш-памяти.

Часто этот предел может быть очень низок, как в случае набора микросхем системной логики 430ТХ для компьютеров на основе Pentium. Этот набор микросхем может кэшировать данные только первых 64 Мбайт оперативной памяти системы. Если установлен больший объем памяти, работа компьютера значительно замедляется, потому что все данные вне первых 64 Мбайт никогда не попадут в кэш и при обращении к ним будут всегда необходимы все состояния ожидания, определяемые более медленной динамической оперативной памятью. Снижение эффективности зависит от программного обеспечения и от адресов, по которым хранятся данные в памяти. Например, 32-разрядные операционные системы Windows загружаются сверху вниз, так что если установлена оперативная память емкостью 96 Мбайт, то и операционная система, и прикладные программы будут загружаться в верхние 32 Мбайт, которые не кэшируются. Это значительно замедлит работу компьютера в целом. В данном случае можно удалить дополнительную память, чтобы уменьшить емкость до 64 Мбайт. Другими словами, неблагоразумно устанавливать большую емкость памяти, чем позволяет кэшировать набор микросхем системной логики.

Процессор Pentium П и наборы микросхем системной логики более поздних версий не позволяют управлять кэш-памятью второго уровня, так как она встраивается в процессор. Поэтому при использовании Pentium П и процессоров последующих версий устанавливаются определенные ограничения кэширования памяти. Процессоры с внутренним кэшем первого и второго уровней имеют ограничение, равное соответственно 512 Мбайт и 4 Гбайт, а при использовании Pentium Ш и процессоров последующих версий объем кэшируемой памяти увеличивается до 4 Гбайт. Этот параметр превышает максимальный объем оперативной памяти, которая может поддерживаться тем или другим набором микросхем. Поэтому в подобных системах не следует устанавливать больший объем памяти, чем позволяет контроллер кэш-памяти. Для того чтобы определить ограничения объема кэшируемой памяти, существующие в системе, обратитесь к технической документации набора микросхем системной логики (при использовании систем класса Pentium, процессоров более ранних версий или систем с кэш-памятью, встроенной в системную плату) либо обратите внимание на характеристики процессора (при использовании систем класса Pentium П, процессоров более современных версий или систем с кэш-памятью, встроенной в процессор).