Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

Лекции - Организация ЭВМ и систем - файл ГЛАВА 4.-12.03.Отч.doc


Загрузка...
Лекции - Организация ЭВМ и систем
скачать (989.6 kb.)

Доступные файлы (10):

ВВЕДЕНИЕ-12.03.doc25kb.19.05.2004 10:51скачать
ГЛАВА 1,2-12.03.doc286kb.19.05.2004 10:51скачать
Глава_3_Часть1.doc232kb.19.05.2004 10:51скачать
Глава_3_Часть2-1.doc237kb.19.05.2004 10:51скачать
ГЛАВА 4.-12.03.Отч.doc852kb.19.05.2004 10:51скачать
ГЛАВА 5.-12.03.doc184kb.19.05.2004 10:51скачать
ГЛАВА 6.-241203_Отч.doc2397kb.19.05.2004 10:51скачать
ГЛАВА 7.-12.03.doc313kb.19.05.2004 10:51скачать
ЛИТЕРАТУРА.doc23kb.19.05.2004 10:51скачать
ОГЛАВЛЕНИЕ.doc52kb.19.05.2004 10:51скачать

ГЛАВА 4.-12.03.Отч.doc

  1   2
Реклама MarketGid:
Загрузка...
ГЛАВА 4. ОРГАНИЗАЦИЯ ПАМЯТИ ЭВМ

4.1. Устройства ЭВМ для хранения данных

4.1.1. Общие сведения и классификация запоминающих устройств

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

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

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

Независимо от назначения и принципов построения в любом ЗУ можно выделить следующие элементы (рис. 4.1).
^

Цепь регенерации



КШПп
(КША)

Рис. 4.1. Общая структура запоминающего устройства


Накопитель предназначен для хранения информации и состоит из запоминающих элементов (ЗЭ), каждый из которых может хранить единицу информации (обычно двоичную-бит). Запоминающие элементы объединяются в ячейки памяти (ЯП), в каждой из которых может храниться байт или машинное слово, часть слова или несколько слов. Будем считать, что в одной ячейке хранится один байт.

^ Каналом поиска слов называется часть ЗУ, осуществляющая поиск ячейки, в которой хранится искомая информация или в которую надо записать информацию.

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

^ Канал воспроизведения осуществляет считывание информации из выбранной ячейки накопителя и передачу её по кодовым шинам чтения (КшЧт) потребителю.

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

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

^ 1. ПО МЕТОДУ ПОИСКА ИНФОРМАЦИИ ЗУ подразделяются на адресные и безадресные.

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

В аcсоциативных ЗУ поиск информации осуществляется по признакам самой информации (по содержанию ячейки). В стековых ЗУ (в отличие от адресных и ассоциативных) обращение к ячейкам возможно только в определённом порядке, при этом чтение производится в обратной последовательности, по сравнению с записью.

^ 2. ПО СПОСОБУ ЗАПИСИ И СЧИТЫВАНИЯ многоразрядных слов информации ЗУ делятся на параллельные и последовательные.

В параллельных ЗУ n-разрядное слово записывается и считывается одновременно всеми своими разрядами. В связи с этим в устройстве должно содержаться n идентичных записывающих и считывающих элементов.

В последовательных ЗУ запись и считывание производится последовательно во времени - разряд за разрядом. Это увеличивает время обращения к ЗУ, однако, объём оборудования уменьшается. Существуют и параллельно-последовательные ЗУ.

^ 3. ПО СПОСОБУ ХРАНЕНИЯ ИНФОРМАЦИИ в запоминающей среде различают статистические и динамические ЗУ.

В статистических ЗУ хранимая информация фиксируется (неподвижна по отношению к носителю в течение всего времени хранения).

Примерами статистических ЗУ являются устройства на ферритовых сердечниках, статистических триггерах и т.д.

В динамических ЗУ информация находится в непрерывном движении по отношению к запоминающей среде. В таких ЗУ слова информации хранятся путём непрерывной их циркуляции по некоторой замкнутой цепи.

К ним относятся ЗУ на конденсаторах.

^ 4. ПО ХАРАКТЕРУ ОБРАЩЕНИЯ К ЯЧЕЙКАМ ПАМЯТИ различают ЗУ с последовательным и произвольным обращением.

Для ЗУ с последовательным обращением время обращения непостоянно и зависит от расположения ячейки на носителе по отношению к записывающим и считывающим элементам.

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

^ 5. ПО СПОСОБУ СЧИТЫВАНИЯ ИНФОРМАЦИИ ЗУ делятся на устройства со считыванием без разрушения информации и устройства с разрушающим считыванием.

В последнем случае для сохранения информации необходимо её восстановление.

^ 6. ПО ФУНКЦИОНАЛЬНОМУ НАЗНАЧЕНИЮ общепринятой считается следующая классификация запоминающих устройств ЭВМ:

внешние запоминающие устройства;

сверхоперативные запоминающие устройства;

оперативные запоминающие устройства;

постоянные запоминающие устройства.

^ РЕЖИМЫ РАБОТЫ ЗУ. К ним относятся режимы записи и чтения (считывания).

Режим записи представляет собой процесс занесения данных в ЗУ.

Режим работы, в процессе которого осуществляется получение данных из ЗУ, называется чтением (считыванием).

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

Режим записи состоит из двух этапов - поиска нужной ячейки и записи в неё информации.

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

Стирание информации в ячейке заключается в переводе всех запоминающих элементов ячейки в нулевое состояние. Режим записи в этом случае состоит из трёх этапов:

поиска ячейки;

очистки ячейки;

записи в неё информации.

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

Восстановление информации состоит в записи информации с регистра числа (слова) в ту же ячейку памяти (путь информации при восстановлении показан на рисунке 4.1 пунктиром).

Таким образом, несмотря на различную физическую природу элементов памяти, используемых в ЗУ, последнее имеет в своем составе однотипные функциональные блоки. Основными режимами в ЗУ являются: режим чтения и режим записи, содержание которых определяется используемыми элементами хранения информации.

Запоминающее устройство с произвольным обращением, как правило, содержит множество одинаковых запоминающих элементов, образующих запоминающий массив (ЗМ). Массив разделен на отдельные ячейки; каждая из них предназначена для хранения двоичного кода, число разрядов в котором определяется шириной выборки памяти (в частности, это может быть одно, половина или несколько машинных слов). Способ организации памяти зависит от методов размещения и поиска информации в запоминающем массиве. По этому признаку различают адресную, ассоциативную и стековую (магазинную) памяти.
^ 4.1.2. Адресная и стековая организация памяти

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

При записи (или считывании) слова в ЗМ инициирующая эту операцию команда должна указывать адрес (номер ячейки), по которому производится запись (считывание).

Типичная структура адресной памяти (рис. 4.2), содержит запоминающий массив из ^ N n-разрядных ячеек и его аппаратурное обрамление, включающее в себя регистр адреса (РгА), имеющий k (k  log2N) разрядов, информационный регистр (РгИ), блок адресной выборки (БАВ), блок усилителей считывания (БУС), блок разрядных усилителей-формирователей сигналов записи (БУЗ) и блок управления памятью (БУП). По коду адреса в РгА БАВ формирует в соответствующей ячейке памяти сигналы, позволяющие произвести в ячейке считывание или запись слова.




^
Рис. 4.2. Структура адресной памяти с произвольным обращением


Цикл обращения к памяти инициируется поступлением в БУП извне сигнала Обращение. Общая часть цикла обращения включает в себя прием в РгА с шины адреса (ША) адреса обращения и прием в БУП и расшифровку управляющего сигнала Операция, указывающего вид запрашиваемой операции (считывание или запись).

Далее при считывании ^ БАВ дешифрирует адрес, посылает сигналы считывания в заданную адресом ячейку ЗМ, при этом код записанного в ячейке слова считывается БУС и передается в РгИ. Операция считывания завершается выдачей слова из РгИ на выходную информационную шину (ШИВых).

При записи помимо выполнения указанной выше общей части цикла обращения производится прием записываемого слова с входной информационной шины (ШИВх) и РгИ. Затем в выбранную БАВ ячейку записывается слово из РгИ.

БУП генерирует необходимые последовательности управляющих сигналов, инициирующих работу отдельных узлов памяти.

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

Запись нового слова производится в верхнюю ячейку (ячейку 0), при этом все ранее записанные слова (включая слово, находившееся в ячейке 0), сдвигаются вниз, в соседние ячейки с большими

на 1 номерами. Считывание возможно только из верхней (нулевой) ячейки памяти, при этом, если производится считывание с удалением, все остальные слова в памяти сдвигаются вверх, в соседние ячейки с меньшими номерами. В этой памяти порядок считывания слов соответствует правилу: последним поступил - первым

обслуживается. В ряде устройств рассматриваемого типа предусматривается также операция простого считывания слова из нулевой ячейки (без его удаления и сдвига слова в памяти). Иногда стековая память снабжается счетчиком стека (СчСт), показывающим количество занесенных в память слов. Сигнал СчСт=0 соответствует пустому стеку, СчСт=N-1 - заполненному стеку.

Обычно стековую память организуют, используя адресную память. В этом случае счетчик стека, как правило, отсутствует, так как количество слов в памяти можно выявить по указателю стека. Широкое применение стековая память находит при обработке вложенных структур данных.
^ 4.1.3. Ассоциативная память

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

Типичная структура ассоциативной памяти представлена на рис. 4.4.


^
Рис. 4.4. Структура ассоциативной памяти


Запоминающий массив ассоциативной памяти содержит N (n+1)-разрядных ячеек. Для указания занятости ячейки используется служебный n-й разряд (0 - ячейка свободна, 1 - в ячейке записано слово).

По входной информационной шине (ШИВх) в регистр ассоциативного признака (РгАП) в разряды 0 … п - 1 поступает n-разрядный ассоциативный запрос, а в регистр маски (РгМ) - код маски поиска, при этом n-й разряд РгМ устанавливается в 0. Ассоциативный поиск производится лишь для совокупности разрядов РгАП, которым соответствуют 1 в РгМ (незамаскированные разряды РгАП). Для слов, в которых цифры в разрядах совпали с незамаскированными разрядами РгАП, комбинационная схема КС устанавливает 1 в соответствующие разряды регистра совпадения (РгСв) и 0 в остальные разряды.

Комбинационная схема формирования результата ассоциативного обращения (ФС) формирует из слова, образовавшегося в РгСв, сигналы о, 1, 2, соответствующие случаям отсутствия слов в ЗМ, удовлетворяющих ассоциативному признаку, и наличия одного (и более).

Формирование содержимого РгСв и сигналов о, 1, 2, по содержимому РгАП, РгМ и ЗМ называется операцией контроля ассоциации. Эта операция является составной частью операций считывания и записи, хотя она имеет и самостоятельное значение.

При считывании сначала производится контроль ассоциации по ассоциативному признаку в РгАП. Затем при о=1 считывание отменяется из-за отсутствия искомой информации, при 1= 1 считывается в РгИ найденное слово, при 2= 1 в РгИ считывается слово из ячейки, имеющей наименьший номер среди ячеек, отмеченных 1 в РгСв. Из РгИ считанное слово выдается на ШИВых.

При записи сначала отыскивается свободная ячейка. Для этого выполняется операция контроля ассоциации при РгАП=111…10 и РгМ=00…01, при этом свободные ячейки отмечаются 1 в РгСв. Для записи выбирается свободная ячейка с наименьшим номером. В нее записывается слово, поступившее с ШИВх в РгИ.

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

Отметим, что для ассоциативной памяти необходимы запоминающие элементы, допускающие считывание без разрушения записанной в них информации. Это связано с тем, что при ассоциативном поиске считывание производится по всему ЗМ для всех незамаскированных разрядов и негде сохранять временно разрушаемую считыванием информацию.
^ 4.2. Структура оперативных и постоянных запоминающих устройств

4.2.1. Структуры адресных ОЗУ

Техника оперативных памятей прошла большой путь развития. Большое значение имело появление в начале 50-х годов магнитных ЗУ, использующих в качестве запоминающего элемента (ЗЭ) ферритовые сердечники с прямоугольной петлей намагничивания. Магнитные ЗУ к настоящему времени вытеснены полупроводниковыми, в которых в качестве ЗЭ служат триггерные схемы или МОП-транзисторы.

Тип используемых ЗЭ определенным образом влияет на структуру памяти, в результате чего существует большое разнообразие структур ЗУ.

Совокупность определенным образом соединенных ЗЭ образует запоминающую матрицу или запоминающий массив, где каждый ЗЭ хранит бит информации. Запоминающий элемент должен реализовать следующие режимы работы: хранение состояния, выдача сигнала состояния (считывание), запись 0 или запись 1. К ЗЭ должны поступать управляющие сигналы для задания режима работы, а также информационный сигнал при записи, а при считывании ЗЭ должен выдавать сигнал о его состоянии.

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

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

Адресные и разрядные линии носят общее название линий выборки. В зависимости от числа таких линий, соединенных с одним ЗЭ, различают двух- и трехкоординатные ЗУ и т. д., называемые ЗУ типа 2D, 3D и т. д. (от английского dimention - размерность). Наибольшее распространение получили ЗУ типа 2D, 3D, 2.5D и их модификации.

^ Запоминающие устройства типа 2D. Организация ЗУ типа 2D обеспечивает двухкоординатную выборку каждого ЗЭ ячейки памяти. Основу ЗУ составляет плоская матрица из ЗЭ, сгруппированных в 2k ячеек по n разрядов. Обращение к ячейке задается k-разрядным адресом, выделение разрядов производится разрядными линиями записи и считывания. Структура ЗУ типа 2D приведена на рис. 4.5.

Адрес (k-разрядный) выбираемой ячейки i поступает на схему адресного формирователя АдрФ, управляемого сигналами чтения Чт и записи Зап. Основу АдрФ составляет дешифратор с 2k выходами, который при поступлении на его входы адреса формирует сигнал для выборки линии i, при этом под воздействием сигналов Чт и Зап из АдрФ выдается сигнал, настраивающий ЗЭ i-й линии либо на считывание (выдачу сигнала состояния), либо на запись. Выделение разряда j в i-м слове производится второй координатной линией. При записи по линии j от усилителя записи УсЗап

^ ИнфВых


Адрес





К -1


поступает сигнал, устанавливающий выбранный для записи ij- в состояние 0 или 1. При считывании на усилитель считывания УсСч по линии j поступает сигнал о состоянии ij.

Используемые здесь ЗЭ должны допускать объединение выходов для работы на общую линию с передачей сигналов только от выбранного ЗЭ. Такое свойство типично для современных ЗЭ и в дальнейшем всякий раз подразумевается.

Таким образом, каждая адресная линия выборки ячейки передает три значения сигнала: выборка при записи, выборка при считывании и отсутствие выборки. Каждая разрядная линия записи передает в ЗЭ записываемый бит информации, а разрядная линия считывания - считываемый из ЗЭ бит информации. Линии записи и считывания могут быть объединены в одну при использовании ЗЭ, допускающих соединение выхода со входом записи. Совмещение функций записи и считывания на разрядной линии широко используется в современных полупроводниковых ЗУ.

Запоминающие устройства типа 2D являются быстродействующими и достаточно удобными для реализации. Однако ЗУ типа 2D неэкономичны по объему оборудования из-за наличия в них дешифратора с 2k выходами. В настоящее время структура типа 2D используется в основном в ЗУ небольшой емкости.

Запоминающие устройства типа 3D. Некоторые ЗЭ имеют не один, а два конъюнктивных входа выборки. В этом случае адресная выборка осуществляется только при одновременном появлении двух сигналов. Использование таких ЗЭ позволяет строить ЗУ с трехкоординатным выделением ЗЭ.

Запоминающий массив ЗУ типа 3D выполнен в виде пространственной матрицы, составленной из n плоских матриц, представляющих собой запоминающий массив (ЗМ) для отдельных разрядов ячеек памяти. Запоминающие элементы для разряда сгруппированы в квадратную матрицу из 2k рядов по 2k ЗЭ в каждом.

Структура матрицы jo разряда в ЗУ типа 3D представлена на рис. 4.6. Для адресной выборки ЗЭ задаются две его координаты в 3Mj. Код адреса i -й ячейки памяти разделяется на старшую и младшую части (i' и i"), каждая из которых поступает на свой адресный формирователь. Адресный формирователь АдрФ1 выдает сигнал выборки на линию i', а АдрФ2 - на линию i”. В результате в 3Mj оказывается выбранным ЗЭ, находящийся на пересечении этих линий (двух координат), т. е. адресуемый кодом i=i'/i". Адресные формирователи управляются сигналами Чт и Зап и в зависимости от них выдают сигналы выборки для считывания или записи. При считывании сигнал о состоянии выбранного ЗЭ поступает по j-й линии считывания к УсСч (третья координата ЗЭ). При записи в выбранный ЗЭ будут занесены 0 и 1 в зависимости от сигнала записи в j -й разряд, поступающего по j -й линии от УсЗап (третья координата ЗЭ при записи). Для полупроводниковых ЗУ, как отмечалось выше, характерно объединение в одну линию разрядных линий записи и считывания.

Для построения n-разрядной памяти используется n матриц рассмотренного вида. Адресные формирователи при этом могут быть общими для всех разрядных ЗМ.

Запоминающие устройства типа 3D более экономичны, чем ЗУ типа 2D. Действительно, сложность адресного формирователя с m входами пропорциональна 2m. Поэтому сложность двух адресных формирователей ЗУ типа 3D, пропорциональная 22k/2, значительно меньше сложности адресного формирователя ЗУ типа 2D, пропорциональной 2k. В связи с этим структура типа 3D позволяет строить ЗУ большего объема, чем структура 2D. Однако ЗЭ с тремя входами, используемыми при записи, не всегда удается реализовать.


^ Запоминающие устройства типа 2.5D. В ЗУ этого типа при считывании состояния j-го разряда i-й ячейки положение ij в ЗМ определяется тремя координатами (две координаты для выборки и одна для выходного сигнала), а при записи в ij - двумя координатами. Считывание при этом осуществляется так же, как и в ЗУ типа 3D, а запись сходна с записью в ЗУ типа 2D.

Запоминающий массив ЗУ типа 2,5D можно рассматривать как состоящий из отдельных ЗМ для каждого разряда памяти: ЗМ0, ЗМ1..., ЗМj,..., ЗМn-1. Структура одноразрядного ЗУ дана на рис. 4.7, а.

Код адреса i-й ячейки памяти, как и в ЗУ 3D, разделяется на две части: i' и i", каждая из которых отдельно дешифрируется. Адресный формирователь АдрФ выдает сигнал выборки на линию i', разрядно-адресный формирователь j-гo разряда РАдрФ - на линию i". При считывании оба сигнала, являющиеся сигналами выборки для считывания, опрашивают ЗЭ, выходной сигнал которого поступает на УсСч разряда j. Работает ЗУ в этом случае так же, как и ЗУ типа 3D.

При записи АдрФ выдает сигнал выборки для записи, а РАдрФ выдает по линии i" сигнал записи 0 или 1 в зависимости от назначения входного информационного сигнала j-гo разряда ВхИнФj. На остальных линиях РадрФi не появляются сигналы записи, и состояния всех ЗЭ, кроме ЗЭ, лежащего на пересечении линий i' и i", не меняются.

Из ЗМ отдельных разрядов формируется ЗМ всего ЗУ согласно схеме на рис. 4.7, б.

Наиболее экономичным по расходу оборудования ЗУ оказывается в том случае, если число выходных линий АдрФ и всех РАдрФ равно, т.е. если

r = (k - r) log2 п. (рис. 4.7, б).

Недостатком ЗУ типа 2,5 D является то, что сигналы на линиях РАдрФ должны иметь четыре значения: чтение, запись О, запись 1 и отсутствие записи (хранение). Для ЗЭ с разрушающим считыванием сигналы чтения и записи 0 совпадают и потребуются лишь три значения сигнала. В связи с этим ЗУ типа 2,5D используется для ЗЭ с разрушающим считыванием.

Для построения современных полупроводниковых ЗУ из 3Э с неразрушающим считыванием используется структура ЗУ с двухкоординатным выделением ЗЭ и мультиплексированием выходных сигналов при считывании. Такие ЗУ будем называть ЗУ типа 2D-M





УсСч

0 n - 1

j

ИнфВых








ЗЭЭ


ЗЭ
ЗЭ





АдрФ1




0














ЗЭ


ЗЭ
ЗЭ


i



















ЗЭ

ЗЭ

ЗЭ





2r-1







iп


0

  


ВхИнфj (0/1)

РАдрФj






Чт Зап


Адрес[rк-1]


а)




Рис. 4.7. Структура ЗУ типа 2,5 D:

а) – одноразрядное ЗУ; б) – n-разрядное ЗУ
Запоминающие устройства типа 2D-M. Запоминающие элементы таких ЗУ имеют два входа и один выход (рис. 4.8, а).


При наличии хотя бы одного пустого сигнала на входах ЗЭ при записи находится в режиме хранения (как в ЗУ 3D). Сигнал чтения Чт опрашивает состояние ЗЭ (так же как и в ЗУ типа 2D). Сигналы записи Зап. и Зап 0 устанавливают ЗЭ в состояние 0, а Зап и Зап1 - в состояние 1 (так же, как и в ЗУ типов 2D и 2,5D).

Обычно у запоминающих элементов ЗУ типа 2D-M выход объединяется с входом записи, как это показано для ЗЭ на рис. 4,8, б. Структура одноразрядного ЗУ типа 2D-M представлена на рис. 4.8, в. Как и в ЗУ типа 2,5 D, код адреса i-й ячейки разделяется на две части: i' и i", одна из которых поступает на АдрФ, а другая - на разрядно-адресный коммутатор РАдрК. Если на АдрФ и РАдрК не приходит сигнал обращения к памяти Обр, то на их выходных линиях не возникают действующие на ЗЭ сигналы и все ЗЭ находятся в режиме хранения. При наличии сигнала Обр выполняется считывание или запись в зависимости от значения сигнала Чт/Зап. При считывании АдрФ выдает по линии i' сигнал выборки для считывания, по которому со всех ЗЭ линии i' сигналы их состояний поступают на РАдрК. Коммутатор РАдрК мультиплексирует эти сигналы и передает на выход ИнфВых сигнал с линии i". При записи АдрФ выдает по линии i' сигнал выборки для записи. Коммутатор РАдрФК в зависимости от значения ИнфВх выдает сигнал записи 0 или 1 на линию i" и сигналы, не воздействующие на ЗЭ, в остальные линии. В результате запись производится только в ЗЭ, лежащий на пересечении координатных линий i' и i", причем i'/i" = i.

Построив схему, аналогичную схеме на рис. 4.7, б, получим ЗУ для 2k n-разрядных ячеек. Наиболее экономична такая схема при r = (k - r) log2 n.

Структура типа 2D-M наиболее удобна для построения полупроводниковых ЗУ и широко используется в настоящее время как в оперативных, так и в постоянных ЗУ.
^ 4.2.2.Запоминающие устройства с произвольным обращением

В вычислительной технике в качестве ЗУ с произвольным обращением, используемых в оперативных памятях ЭВМ, применяются полупроводниковые интегральные ЗУ.

Полупроводниковые ЗУ имеют ряд важных достоинств: большее быстродействие, компактность, меньшую стоимость, совместимость по сигналам с логическими схемами, общие с другими электронными устройствами ЭВМ технологические и конструктивные принципы построения.

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

По типу ЗЭ различают биополярные ЗУ с биполярными транзисторами (с ТТЛ- или ЭСЛ-схемами) и МОП-ЗУ с МОП-транзисторами. В биполярных интегральных ЗУ в качестве ЗЭ используется статический триггер на двух многоэмиттерных транзисторах с непосредственными связями (рис. 4.9).



Рис. 4.9. Запоминающий элемент полупроводникового биполярного ЗУ

Эмиттеры 11 и 21 являются парафазными информационными входами ЗЭ и служат для записи в триггер 1 или 0. Эти же эмиттеры используются как выходы при считывании информации. Адресные эмиттеры 12, 22, 13 и 23 образуют два конъюнктивно связанных входа выборки.

Организация ЗУ из триггеров осуществляется по схеме типа 3D.В режиме хранения (ЗЭ не выбран) эмиттерный ток открытого транзистора замыкается на землю через адресные эмиттеры и адресные линии (или только через один такой эмиттер и одну линию), находящиеся под потенциалом логического 0 (0,4 В). При этом информационные эмиттеры должны быть заперты, для чего на них подается потенциал (1-1,5В), который больше потенциала адресных эмиттеров (больше максимального значения уровня сигнала логического 0, равного 0,4В, но меньше минимального значения сигнала логической 1, составляющего 2,4В), с тем чтобы при выборке ЗЭ через информационные эмиттеры протекали токи, необходимые для операций считывания и записи.

При выборке данного ЗЭ на его адресные эмиттеры с выходов адресных дешифраторов подается потенциал логической 1 (2,4 В), превышающий потенциал информационных эмиттеров. Поэтому адресные эмиттеры оказываются запертыми, а коллекторный ток открытого транзистора течет через его информационный эмиттер, чем обеспечивается возможность считывания из ЗЭ и записи в него информации.

Состояния 1 и 0 ЗЭ распознаются по наличию тока соответственно в разрядной линии ^ 0 (открыт транзистор Т1) или в разрядной линии 1 (открыт транзистор Т2).

Считывание происходит без разрушения информации. Хранимая в ЗЭ информация доступна для считывания все время, пока ЗЭ находится в выбранном состоянии, и в него не производится запись (отсутствует импульс «разрешение записи»).

При считывании на входы обоих усилителей записи подается потенциал логического ^ 0, в результате чего на выходах этих усилителей оказывается потенциал логической 1, запирающий усилители записи и тем самым предотвращающий ответвление в них тока считывания (тока информационного эмиттера).

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

Для записи в ЗЭ 1 или 0 с соответствующего усилителя записи на подключенный к нему информационный эмиттер подается потенциал логического 0 (0,4 В), а на другой информационный эмиттер продолжает поступать с его невозбужденного усилителя записи потенциал, равный примерно 1,5В.

Если, допустим, производится запись ^ 1 в триггер, находившийся перед этим в состоянии 1 (открыт транзистор T2), то подача потенциала низкого уровня на эмиттер 21 не меняет состояние триггера. Если до записи триггер находился в состоянии 0, то при подаче потенциала низкого уровня на эмиттер 21 (запись 1) открывается транзистор Т2, при этом транзистор Т1 закрывается и триггер устанавливается в состояние 1.

Интегральная микросхема биполярного ЗУ представляет собой кристалл кремния, в котором образованы массив ЗЭ (триггеров) со всеми межсоединениями, а также адресные дешифраторы, усилители-формирователи записи и считывания и другие схемы для управления адресной выборкой, записью и считыванием. Для повышения быстродействия ЗУ эти обслуживающие схемы могут быть выполнены на основе ЭСЛ-элементов, работающих в линейной области, в то время как построенные на основе ТТЛ-элементов триггеры ЗЭ работают с насыщением. В таком случае кристалл содержит схемы согласования уровней сигналов для перехода от схем ТТЛ к схемам ЭСЛ и обратно.

Полупроводниковые ЗУ размещаются в стандартных корпусах интегральных микросхем. Число выводов ограничивают число слов и разрядов запоминающего массива интегральной микросхемы. Для получения ЗУ с большим числом разрядов и (или) слов, чем в запоминающем массиве в корпусе схемы, применяются несколько корпусов.

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

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

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

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

^ Динамические МОП-ЗУ сравнительно дешевы, потребляют небольшую мощность, позволяют достигнуть очень высокой плотности размещения ЗЭ на кристалле и, следовательно, большей емкости в одном корпусе микросхемы. В настоящее время динамические МОП-ЗУ широко используются для построения основной (оперативной) памяти ЭВМ.

В динамических ЗУ двоичные коды хранятся на «запоминающих емкостях», в качестве которых используются паразитные емкости некоторых цепей схем. Примем, что отсутствие заряда на запоминающей емкости означает состояние 0, а наличие - состояние 1. В таком случае считывание информации состоит в определении, заряжены или нет запоминающие емкости.

Запоминающая емкость может неопределенно долго сохранять состояние ^ 0 (разряд отсутствует), но только ограниченное время из-за утечки заряда - состояние 1. Поэтому в рассматриваемых ЗУ необходимо периодически (примерно через каждые 2 мс) производить восстановление хранимой информации. Операция динамического восстановления информации называется рефреш. Рассматриваемые ЗУ получили название динамических.

Схема динамического ЗУ на МОП-транзисторах в памяти со структурой 2D-M представлены на рис. 4.10. Запоминающей емкостью служит паразитная емкость С затвора транзистора Т2. Линия разрядно-адресного коммутатора Y используется для ввода в ЗЭ бита информации при записи и съема его при считывании (см. рис. 4.8). Так как ЗЭ использует источник питания только при считывании, то им может служить паразитная емкость CY линии Y.

Предварительно перед считыванием от разрядно-адресного коммутатора подается сигнал R, с помощью которого подготавливается считывание с мультиплексированием для ЗЭ, выбираемых линией разрядно-адресного




формирователя. Сигнал ^ R открывает транзистор T4, и емкость СY подзаряжается от источника. Затем на линию X подается от адресного формирователя сигнал считывания - промежуточный уровень сигнала CWR, который открывает транзистор Тз, но не может открыть Т2. Если ЗЭ хранит 1, то конденсатор С заряжен и открыт транзистор Т2. В этом случае через открытые транзисторы Тз и T2 конденсатор СY разряжается и низкий уровень (уровень 0) сигнала D на линии Y указывает, что ЗЭ хранил инверсное значение, т.е. 1. Если ЗЭ хранит 0, то емкость С разряжена, Т2 закрыт и сигнал CWR не может вызвать разряд емкости CY. Высокий уровень сигнала D (уровень 1) указывает, что ЗЭ хранил 0. Далее сигнал D через разрядно-адресный. коммутатор поступает на выход ЗУ.

При записи на линию Y поступает сигнал D, соответствующий записываемому двоичному знаку. Затем на линию X подается высокий уровень сигнала CWR, открывающий транзистор Т1, который подключает к линии Y конденсатор С. В результате независимо от своего предыдущего состояния емкость оказывается заряженной, если записывается 1, и разряженной, если записывается 0.

В ЗУ периодически производится регенерация информации. При регенерации в ЗЭ записывается инверсное значение хранимого до считывания кода. После каждой четной регенерации - его инверсия. В ЗУ имеется схема, сигнал которой указывает, какой код хранить в данный момент ЗЭ - прямой или инверсный.

Динамическая оперативная память DRAM — тип памяти, используемsй в большинстве систем оперативной памяти современных персональных компьютеров. Основное преимущество динамической оперативной памяти состоит в том, что ее ячейки упакованы очень плотно, т.е. в очень малый кристалл (микросхему) можно упаковывать много битов, а значит, на их основе можно построить память большой емкости.

Регенерация памяти, к сожалению, "отнимает время" у процессора — каждый цикл реге­нерации по длительности занимает несколько циклов центрального процессора. В старых компьютерах циклы регенерации могли занимать до 10 % (или больше) процессорного вре­мени, но в современных системами, работающих на частотах, равных сотням и тысячам мегагерц, рас­ходы на регенерацию составляют 1 % (или меньше) процессорного времени.

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


^ 4.2.3. Постоянные ЗУ

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

^ ПЗУ обычно является адресным ЗУ, а его функционирование можно рассматривать как выполнение однозначного преобразования k-разрядного кода адреса ячейки накопителя в n-разрядный код хранящегося в ней слова. При таком подходе любое ПЗУ можно считать преобразователем кодов или комбинационной схемой с k-входами и n-выходами. По сравнению с ЗУ, допускающими как считывание, так и запись информации, структура ПЗУ значительно проще, их быстродействие и надежность выше, а стоимость ниже. Это объясняется простотой запоминающих элементов, отсутствием цепей оперативной записи информации, неразрушающим считыванием, исключающим процедуру регенерации информации.

Обычно ^ ПЗУ организуется как ЗУ типа (рис. 4.11). Накопитель представляет собой матрицу, образуемую системой взаимно перпендикулярных шин, на пересечении которых находятся элементы связи (ЭС). Подобные структуры ПЗУ называются матричными. Элемент связи либо соединяет, либо не соединяет между собой соответствующие горизонтальную и вертикальную шины. Наличие связи соответствует коду 1, отсутствие - коду 0. В некоторых случаях коду 0 соответствует отсутствие ЭС. При считывании дешифратор (DC) по коду адреса, поступившего в RGA по КША, выбирает одну из адресных шин, в которую подается сигнал выборки. Выходной сигнал появляется на тех разрядных шинах, которые имеют связь с возбужденной адресной шиной. Поскольку ПЗУ используется лишь в режиме считывания, информация, хранящаяся в накопителе, не изменяется в процессе работы устройства. Занесение же информации в ПЗУ производится или в процессе изготовления, или непосредственно при эксплуатации. Процесс занесения информации в накопитель ПЗУ называют программированием ПЗУ.




^
Рис. 4.11. Структура ПЗУ


По возможности программирования все ПЗУ делятся на устройства с возможностью однократного и многократного программирования. ПЗУ с возможностью многократного программирования путем электрического, магнитного или светового воздействия на ЭЗ по заданной программе называют также перепрограммируемыми ПЗУ или полупостоянными ПЗУ (ППЗУ).

По типу элементов связи различают трансформаторные, резистивные, емкостные, индуктивные, полупроводниковые ПЗУ, а также ПЗУ на биаксах и др.

^ Постоянные ЗУ на биаксах относятся к перепрограммируемым ПЗУ и допускают многократное неразрушающее считывание. Запись же информации в ПЗУ является неосновным режимом и выполняется обычно с использованием принципа совпадения токов.

Биакс (от англ. biax - двухосный) представляет собой ферромагнитный элемент с двумя взаимно перпендикулярными отверстиями. Принцип работы биакса основан на взаимодействии двух взаимно перпендикулярных магнитных потоков. Для того, чтобы использовать биакс в качестве запоминающего элемента, сквозь его отверстия пропускают три шины: шину записи Wзп, шину считывания Wсч и выходную шину Wвых.

Для записи информации по шинам Wзп и Wсч пропускают импульсы тока определенной величины. В перемычке между отверстиями возникает результирующий магнитный поток Ф, равный потоку насыщения и направленный по диагонали (рис. 4.12, а). При этом взаимно перпендикулярные составляющие Фзп и Ф0 будут меньше потока насыщения и равны по абсолютному значению величине Ф /. Такие соотношения и направления остаточного магнитного потока и его составляющих объясняются ориентированием магнитных доменов и могут сохраняться неограниченное время. Запись кодов 0 и 1 отличается направлением тока в шине Wзп. При этом будет меняться направление потока Ф.

На рис. 4.12,б поясняется принцип работы биакса. Вектор Фзп1 магнитного потока записи кода ^ 1 направлен вправо, а вектор Фзп0 магнитного потока записи кода 0 - влево. Поток Ф0, возникающий под воздействием тока в шине Wсч, в обоих случаях сохраняет неизменное направление и величину. При этом вектор результирующего потока Ф будет занимать положение 1 при записи кода единицы и положение 0 при записи кода нуля.

Для считывания информации в шину считывания Wсч подают импульс тока, создающий магнитный поток того же направления, что и Ф0. При этом

составляющая магнитного потока нижнего отверстия возрастает до величины Фсч. Рост составляющей Ф0 не может привести к увеличению результирующего потока, так как он равен потоку насыщения. Поэтому под воздействием



Рис. 4.12. Принцип работы биакса: а - распределение магнитных потоков в перемычке; б - векторная диаграмма
составляющей Фсч вектор результирующего потока Ф повернется в направлении вектора магнитного потока Ф0 и займет положение 1' при хранении кода единицы или положение 0' при хранении кода нуля. Поворот вектора результирующего магнитного потока Ф приводит к уменьшению величины составляющей магнитного потока на величину Ф. Следовательно, в выходной обмотке будет индуцироваться импульс ЭДС соответствующей полярности. После окончания импульса тока считывания магнитное состояние биакса восстанавливается. Таким образом, считывание происходит без разрушения информации, хранящейся в биаксе.

^ Емкостные ПЗУ в накопителях в качестве запоминающих элементов используют емкости между специальными площадками на адресных и разрядных шинах, создаваемых в местах пересечения этих шин (рис. 4.13).

Между площадками помещается изолированная от них и заземленная пластинка (П), которая исключает емкостную связь между шинами. Для установления емкостной связи в пластине делается отверстие. Наличие емкостной связи соответствует хранению единицы, а отсутствие - хранению нуля. В режиме хранения информации емкости заряжены. При считывании информации производится разряд емкостей, усиление считанных сигналов и прием их в регистр RGC.

Информация в емкостных ПЗУ может изменяться с помощью специального устройства пробивок отверстий в пластинах и замены пластин. Пластины выполняются в виде металлических перфокарт и по программе перфорируются. В этом смысле емкостное ПЗУ может рассматриваться как программируемое ПЗУ.



^ Полупроводниковые ПЗУ подразделяются на масочно-программируемые, программируемые током и перепрограммируемые ПЗУ.

Масочно-программиру-емые являются однократно программируемыми ПЗУ, в которые информация заносится в процессе изготовления и не может быть изменена впоследствии. В качестве элементов связи в масочно-программируемых ПЗУ обычно используют транзисторы. На рис.4.14 показана схема накопителя ПЗУ на МОП-транзисторах.

При выборке адресной шины открываются только те

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

Наиболее распространены два типа ^ ПЗУ, программируемых током: использующие плавкие перемычки и закороченные диоды. Производство таких ПЗУ гораздо дешевле, чем программируемых посредством маски, поскольку изготовление маски и программирование - процесс сложный и дорогостоящий. Рис. 4.15 иллюстрирует структуру накопителя диодного ПЗУ с плавкими перемычками.




Рис. 4.15. Электрически программируемое ПЗУ с плавкими перемычками

В поступающем потребителю ^ ПЗУ все плавкие перемычки целы. Программируется ПЗУ путем подачи импульсов тока амплитудой 20-50 мА по соответствующим числовым и разрядным шинам. Эти импульсы вызывают расплавление перемычек, и связи между шинами нарушаются.



Рис. 4.16. Электрически программируемое ПЗУ с двумя

диодными переходами

Такое программирование проводится автоматически с помощью специального устройства, называемого программатором.

Особенность ПЗУ, изображенного на рис. 4.16 состоит в том, что в качестве элемента связи в нем используется два диодных перехода, включенных встречно.

В этом ^ ПЗУ до программирования адресные и разрядные шины не связаны между собой в отличие от ПЗУ с плавкими перемычками, в которых первоначально все шины имеют взаимные связи. Программирование таких ПЗУ, аналогично рассмотренным выше, однако импульсы тока должны иметь амплитуду 200-300 мА. Подача высоковольтных и сильноточных импульсов в

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

Существенным недостатком ^ ПЗУ, программируемых током, является невозможность полной проверки ПЗУ на этапе изготовления, поскольку состояния всех элементов связи накопителя идентичны, и дефекты выявляются только непосредственно при программировании ПЗУ.

Для перепрограммируемых ПЗУ в качестве ЗЭ чаще всего используются МОП-транзисторы с плавающим затвором и лавинной инжекцией (ПЛМОП). Структура перепрограммируемого ПЗУ на ПЛМОП-транзисторах изображена на рис.4.17.
Рис. 4.17. Структурная схема перепрограммируемого ПЗУ на ПЛМОП-транзисторах
В отличие от обычного МОП-транзистора затвор ПЛМОП-транзистора полностью окружен окислом и не имеет непосредственной гальванической связи с выходом прибора. В исходном состоянии затвор заряда не имеет, и связь между стоком и истоком транзистора отсутствует. Для открывания транзистора к этим электродам необходимо приложить напряжение величиной более 50В. Это вызывает пробой pn – перехода при стоке или истоке и инжекцию заряда в затвор. Заряд остается в затворе длительное время даже после снятия напряжения, поскольку проводимость окисла чрезвычайно мала. Заряд затвора обеспечивает возникновение связи между истоком и стоком, поэтому транзистор открывается. Для перевода транзистора в исходное состояние он подвергается действию ультрафиолетового излучения. Это приводит к нейтрализации заряда затвора и нарушению связи между стоком и истоком. Поскольку в этих транзисторах выводы затворов отсутствуют, они соединяются последовательно с обычными МОП-транзисторами, которые затем подключаются к адресной шине. Для стирания записанной информации ПЛМОП-транзисторы подвергаются ультрафиолетовому облучению. Преимуществом перепрограммируемых ПЗУ является возможность многократного изменения информации в устройстве и полной проверки при изготовлении.

В трансформаторных ПЗУ связь между адресными и разрядными шинами осуществляется с помощью миниатюрных трансформаторов с сердечниками из магнитомягкого материала.

Основными преимуществами трансформаторных ^ ПЗУ являются значительная амплитуда выходного сигнала в разрядных обмотках считывания, высокая надежность и большое быстродействие. Недостатки этих ПЗУ связаны с трудностями их выполнения методами интегральной технологии.
^ 4.3. Принципы организации кэш памяти

4.3.1. Логическая организация и функционирование кэш-памяти

КЭШ-память представляет собой быстродействующую буферную память ограниченного объема, которая располагается между процессором и относительно медленной основной памятью.

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

Эффективность кэш, зависящая от ее емкости, размера блока, соотношения времен считывания слова из кэш и блока из ОП, проявляется в уменьшении среднего времени, затрачиваемого на выборку слова данных и определяемого выражением

tсчит.ср= tкэш+tОпбл/kср,

где tкэш – время считывания слова из КЭШ; tОпбл – время считывания блока из ОП; kср – среднее число обращений к КЭШ между двумя последовательными обращениями к ОП.

Следует отметить, что расслоение памяти существенно уменьшает tОпбл , позволяя при этом с задержками на один такт считывать группу слов из ячеек ОП с последовательными адресами.

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

Если необходимая информация находится там, то она быстро извлекается. Такой случай обращения называется кэш-попаданием. Если необходимая информация в кэш-памяти отсутствует, то она выбирается из основной памяти и одновременно заносится в кэш-память. Такой случай называют кэш-промахом.

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

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

Помимо внутренней кэш-памяти (1-й уровень кэширования) в микропроцессорных системах на основе i486 допускается использование дополнительной внешней кэш-памяти (2-й уровень кэширования).

Для управления внешней кэш-памятью i486 вырабатывает специальные сигналы.

Нормальная работа микропроцессорной системы с кэш-памятью обеспечивается соответствующими механизмами, которые поддерживают соответствие содержимого основной памяти и кэш-памяти. При записи соответствие содержимого основной и кэш-памяти достигается с помощью механизмов сквозной записи или обратной записи. При сквозной записи выполняется одновременное изменение содержимого кэш-памяти и основной памяти. Именно этот механизм характерен для внутренней кэш-памяти i486. При обратной записи изменение содержимого кэш-памяти вызывает установку специального признака (бита "мусора"). При обновлении содержимого кэш-памяти блоки информации, имеющие установленный признак "мусора", переписываются обратно в основную память. Этот механизм может быть реализован в кэш-памяти 2-го уровня.

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

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

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

Такой алгоритм обновления называется "замещение наименее используемой информации" (LRU - least recently used).

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

Логическая структура внутренней кэш-памяти микропроцессора i486 приведена на рисунке 4.18. Это память ассоциативного типа, состоящая из строк длиной 16 байт. Строки объединены в 128 наборов по четыре строки в каждом (L0, L1, L2, L3).

Заполнение кэш-памяти осуществляется построчно, т.е. в случае кэш-промаха из основной памяти в нее копируется целая строка, включающая затребованный байт. Адресация кэш-памяти осуществляется с помощью 28 разрядов адреса, которые делятся на два поля: тег (21 разряд) и индекс набора (7 разрядов). При заполнении кэш-памяти обновляется строка в наборе, номер которой определяется индексными разрядами сформированного физического адреса. Тег выбираемого байта или слова заносится в массив тегов и становится атрибутом данной строки.

В дополнительном массиве кэш-памяти хранятся признаки наборов: биты достоверности строк V0, V1, V2, V3 и биты B0, B1, B2, используемые при обновлении строк в соответствии со стратегией LRU.

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


Рис. 4.18. Структура внутренней кэш-памяти
Функционирование кэш-памяти. При инициализации микропроцессора и очистке кэш-памяти все 128 наборов битов B0, B1, B2 сбрасываются в 0.

В ходе работы микропроцессора биты ^ B0-B2 принимают значения в соответствии с алгоритмом LRU следующим образом:

если последнее обращение в текущем наборе производилось к строкам L0 или L1, устанавливается B0=1; если к L2 или L3, то B0=0.

При проверке пары строк L0:L1 в случае последнего обращения к L0 устанавливается B1=1, в противном B1=0.

При проверке пары строк L2:L3 в случае последнего обращения к L2 устанавливается B2=1, в противном B2=0.

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

В цикле записи при реализации кэш-попадания производится запись по заданному адресу, как в соответствующую строку кэш-памяти, так и в адресуемую ячейку основной памяти (сквозная запись).

При кэш-промахе запись производится только в основную память и обновление строки кэш-памяти не производится.

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

CD=1, NW=1. Если произведена очистка кэш-памяти и в регистр CR0 загружена эта комбинация, то кэширование запрещено. Этот режим полезен для отладки программ, когда важно видеть циклы обращения к памяти на внешних выводах, поскольку операция записи, попадающая во внутренний кэш, не видна на магистрали. Если очистка не произведена, то данные из кэш-памяти могут быть прочитаны.

Внутреннюю кэш-память можно использовать как быстрое статическое ^ ОЗУ, если предварительно загрузить в нее содержимое определенной области памяти и далее установить CD=1, NW=1.

CD=1, NW=0. Заполнение кэш-памяти запрещено, но сквозная запись и аннулирование строк разрешены.

Этот режим аналогичен поведению i486 при высоком уровне сигнала на выводе KEN#, который запрещает заполнение кэш-памяти. Сквозная запись и аннулирование строк разрешены, чтобы поддерживать соответствие между содержимым внешней памяти и кэш-памятью. Этот режим полезен, когда программа должна на время запретить кэш-память, а затем вновь разрешить без очистки первоначального содержимого.

CD=0, NW=1. Запрещенная комбинация. При загрузке в регистр CR0 этой комбинации генерируется исключение общей защиты с кодом 0.

CD=0, NW=0. Кэширование разрешено, нормальный режим работы. Любая область памяти может быть буферизирована в кэш-памяти микропроцессора i486. Заполнение строк кэш может быть выполнено при 8- и 16-разрядной шине данных, когда используется опция динамического изменения разрядности.

В целом возможность заполнения строки кэш-памяти в случае промаха при чтении определяется состоянием бита ^ CD, значением сигнала на входе KEN# и значением бита PCD (запрещение кэширования страниц).

Строка размещается в кэш-памяти, если CD=0, KEN#=0 и PCD=0. Значение бита PCD берется из указателя таблицы страниц, каталога разделов или регистра CR3.

Аннулирование строки кэш-памяти. Микропроцессор i486 имеет программные и аппаратные средства для аннулирования строк внутреннего кэша. Это необходимо для того, чтобы при мультипроцессорном режиме работы всегда имелось соответствие между содержимым внешней памяти и содержимым внутреннего кэш.

Существо этой процедуры заключается в том, что при обнаружении операции записи в ячейку основной памяти содержимое соответствующей строки во внутренней кэш-памяти i486 объявляется недействительным. При ее наличии она и заменяется.

Если все четыре строки в наборе достоверны, для определения строки, подлежащей замене, используются биты ^ LRU. Вначале проверяется, к какой из пар строк L0:L1 или L2:L3 производилось последнее обращение. Затем производится анализ внутри пары, отобранной на предыдущем этапе.

^ Кэширование страниц. Кэшированием на уровне страниц управляют биты PWT и PCD, находящиеся в таблице страниц и каталоге разделов. Управление осуществляется посредством сигналов на выводах PWT и PCD в циклах обращения к памяти.

Бит PWT управляет стратегией записи во внешний кэш второго уровня. При ^ PWT=1 выполняется сквозная запись текущей страницы, а при PWT=0 выполняется обратная запись. Состояние бита PWT внутри микропроцессора i486 игнорируется, поскольку внутренний кэш работает только по принципу сквозной записи.

Бит ^ PCD управляет постраничным кэшированием.

Внутри микропроцессора он объединен по AND с сигналом KEN#, который управляет кэшированием на уровне циклов магистрали.

При ^ PCD=0 кэширование разрешено, а при PCD=1 запрещено. Заполнение кэш-памяти разрешено при истинном значении выражения (PCD=0) AND (KEN#=0).

Состояние бита PCD в таблице страниц управляет значением сигнала на выводе PCD при обращении к странице во внешней памяти. Активный сигнал на этом выводе сообщает внешней системе, что запрашиваемая информация может быть помещена в кэш. Если область памяти разрешена к кэшированию, внешняя система откликается активным значением сигнала KEN#, после чего i486 заполняет строку.

Бит ^ PCD может быть замаскирован разрядом CD регистра управления CR0.

При CD=1 на выводе PCD устанавливается высокое активное значение сигнала.

Если CD=0, значение сигнала на выводе PCD определяется значением соответствующего бита в указателе таблицы страниц.

Значение битов PWT и PCD в определенном цикле магистрали определяется соответствующими разрядами регистра CR0, либо таблицы страниц, либо каталога разделов.

В реальном режиме, когда использование кэш-памяти запрещено, а также для циклов, в которых страничная организация не используется (циклы ввода/вывода, подтверждения прерывания и останова), значения PWT и PCD берутся из CR0. При инициализации эти биты принимают значение PWT=PCD=0, но затем могут быть установлены в любое состояние программой, имеющей уровень привилегий 0.

Когда используется страничная организация биты PWT, PCD из указателей таблицы страниц заносятся в TLB и выбираются оттуда при каждом обращении к этому буферу.

При обычных циклах обращения к памяти значения PWT и PCD берутся из указателя в таблице страниц. В циклах обновления TLB, когда производится чтение указателей и таблицы страниц и каталога разделов, они берутся из других источников.

Если обновляется таблица страниц, значения берутся из каталога разделов.

Если обновляется каталог разделов, значения битов берутся из регистра CR0.
  1   2



Скачать файл (989.6 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru