МПС

Память микропроцессора (Лекция)

ПЛАН ЛЕКЦИИ

– Основные характеристики полупроводниковой памяти

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

– Полевой транзистор с плавающим затвором

– МНОП транзистор

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

– Статические запоминающие устройства

– Динамические запоминающие устройства

– Запоминающие устройства с произвольной выборкой

– Микросхемы памяти в составе микропроцессорной системы

– Буферная память

– Стековая память

 

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

Для создания элементов запоминающих устройств, в основном, применяют СБИС со структурой МДП (металл-диэлектрик-полупроводник) на основе кремния (в связи с тем, что в качестве диэлектрика чаще всего используют его оксид Si02, то их обычно называют МОП (металл-оксид-полупроводник) структурами).

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

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

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

Полупроводниковые интегральные микросхемы подразделяются на биполярные ИМС и МОП схемы, причем первые - более быстродействующие, а вторые имеют большую степень интеграции, меньшую потребляемую мощность и меньшую стоимость. Цифровые микросхемы могут по идеологии, конструкторскому решению, технологии относится к разным семействам, но выполнять одинаковую функцию, т.е. быть инвертором, триггером или процессором. Наиболее популярными семействами можно назвать у биполярных ИМС: ТТЛ (транзисторно-транзисторная логика), ТТЛШ (с диодами Шоттки), ЭСЛ (эмиттерно-связанная логика); у МДП: n-МОП и КМОП.

Базовым материалом для изготовления ИМС является кремний. Несмотря на то, что он не обладает высокой подвижностью носителей заряда (mn=1500 см2/Вс), а значит, приборы на его основе теоретически будут уступать по быстродействию приборам на основе арсенида галлия GaAs, однако система Si-SiO2 существенно более технологична. С другой стороны, приборы на кремниевой основе кремний-оксид кремния) обладают совершенной границей раздела Si-SiO2, химической стойкостью, электрической прочностью и другими уникальными свойствами.

Технологический цикл производства ИМС включает:

- эпитаксиальное наращивание слоя на подготовленную подложку;

- наращивание слоя SiO2 на эпитаксиальный слой;

- нанесение фоторезиста, маскирование и вытравливание окон в слое;

- легирование примесью путем диффузии или имплантацией;

- аналогично повторение операций для подготовки других легированных областей;

- повторение операций для создания окон под контактные площадки;

- металлизацию всей поверхности алюминием или поликремнием;

- повторение операций для создания межсоединений;

- удаление излишков алюминия или поликремния;

- контроль функционирования;

- помещение в корпус;

- выходной контроль.

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

Увеличивая частоту колебаний световой волны, можно уменьшить ширину линии рисунка, т. е. сократить размеры интегральных схем. Но возможности этой технологии ограничены, поскольку рентгеновские лучи трудно сфокусировать. Один из вариантов - использовать сам свет в качестве шаблона (так называемое позиционирование атомов фокусированным лазерным лучом). Этим способом, осветив двумя взаимно перпендикулярными лазерными пучками, можно изготовить решетку на кремниевой пластине из хромированных точек размером 80 нм. Сканируя лазером поверхность для создания произвольного рисунка интегральных наносхем, теоретически можно создавать схемы с шириной линии рисунка в 10 раз меньшей, чем сегодняшние. Второе ограничение при литографии накладывает органическая природа фоторезиста. Путь ее решения - применение неорганических материалов, например, оксидов ванадия.

Физические процессы, протекающие в изделиях микроэлектроники (и в микросхемах памяти тоже), технология изготовления и конструктивные особенности ИМС высокой степени интеграции могут влиять на архитектуру и методы проектирования ЭВМ и систем. Естественно, уменьшение геометрических размеров транзисторов приводит к увеличению электрических полей, особенно в районе стока. Это может привести к развитию лавинного пробоя и, как следствие, к изменению выходной ВАХ МОП транзистора:

- включению паразитного биполярного транзистора (исток-подложка-сток);

- неравномерному заряжению диэлектрика у стока;

- деградации приповерхностной области полупроводника;

- пробою диэлектрика.

Поэтому необходимо уменьшение напряжения питания СБИС до 3.6, 3.3, 3 В и т.п., при этом известно, что блок питания компьютера обеспечивает обычно напряжения +5В, +12В, -12В.

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

 

Основные характеристики полупроводниковой памяти

 

Полупроводниковая память имеет большое число характеристик и параметров, которые необходимо учитывать при проектировании систем:

1. Емкость памяти определяется числом бит хранимой информации. Емкость кристалла обычно выражается также в битах и составляет 1024 бита, 4 Кбит, 16 Кбит, 64 Кбит и т.п. Важной характеристикой кристалла является информационная организация кристалла памяти MxN, где M - число слов, N - разрядность слова. Например, кристалл емкостью 16 Кбит может иметь различную организацию: 16 Кx1, 4 Кx2 Кx8. При одинаковом времени обращения память с большей шириной выборки обладает большей информационной емкостью.

2. Временные характеристики памяти.

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

Время восстановления - это время, необходимое для приведения памяти в исходное состояние после того, как ЦП снял с ША - адрес, с ШУ - сигнал "чтение" или "запись" и с ШД - данные.

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

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

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

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

 

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

 

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

 

Полевой транзистор с плавающим затвором

 

Конструкция и обозначение полевого транзистора с плавающим затвором представлены на рис. 1.

Рис. 1. МОП транзистор с плавающим затвором

 

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

- или сквозь потенциальный барьер Si-SiO2 путем квантовомеханического туннелирования;

- или над барьером "горячих" носителей, разогретых в поперечном или продольном поле при пробое кремниевой подложки.

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

Рис. 2. Инжекция горячих электронов в диэлектрик МДП-транзистора и другие процессы, проходящие при лавинном пробое подложки

 

Лавинный пробой подложки вблизи стока может приводить к неоднородной деградации транзистора и, как следствие, к ограничению по числу переключений элемента памяти. МДП-транзистор с плавающим затвором может быть использован в качестве элемента памяти с временем хранения, равным времени диэлектрической релаксации структуры, которое может быть очень велико и, в основном, определяется низкими токами утечки через барьер Si-SiO2 (Фe=3.2 эВ). Fe - высота потенциального барьера. Такой элемент памяти обеспечивает возможность непрерывного считывания без разрушения информации, причем запись и считывание могут быть выполнены в очень короткое время.

 

МНОП транзистор

 

На рис. 4.3 приведена конструкция МНОП транзистора (металл-нитрид кремния-оксид кремния-полупроводник). Эффект памяти основан на изменении порогового напряжения транзистора при наличии захваченного в подзатворном диэлектрике положительного или отрицательного заряда, который хранится на глубоких (1.3-1.5 эВ) ловушках, в нитриде кремния вблизи границы SiO2-Si3N4.

Рис. 4.3. Конструкция МНОП транзистора: 1 - металлический затвор; 2,3 - области истока и стока соответственно; 4 - подложка.

 

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

Рис. 4. Операция записи в МНОП-структуре (зонная диаграмма).

 

Ток в окисле Jox - туннельный ток инжекции, ток JN - ток сквозной проводимости в нитриде. В случае прямого туннелирования электронов в зону проводимости SiO2 сквозь треугольный барьер плотность тока определяется уравнением Фаулера-Нордгейма , где A - константы, Е - напряженность электрического поля. По мере накопления заряда поле на контакте уменьшается, что приводит к уменьшению скорости записи. Эффективность записи зависит также и от тока сквозной проводимости в нитриде.

Стирание информации (возврат структуры в исходное состояние) может осуществляться:

- ультрафиолетовым излучением с энергией квантов более 5.1 эВ (ширина запрещенной зоны нитрида кремния) через кварцевое окно;

- подачей на структуру импульса напряжения, противоположного по знаку записывающему. В соответствии с ГОСТом такие ИМС имеют в своем названии литеры РФ и РР соответственно. Время хранения информации в МНОП транзисторе обусловлено термической эмиссией с глубоких ловушек и составляет порядка 10 лет в нормальных условиях. Основными факторами, влияющими на запись и хранение заряда, являются электрическое поле, температура и радиация. Количество электрических циклов "запись-стирание" обычно не менее 105.

 

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

 

Полупроводниковые ЗУ подразделяются на ЗУ с произвольной выборкой и ЗУ с последовательным доступом. ЗУПВ подразделяются на:

- статические оперативные запоминающие устройства (СОЗУ);

- динамические оперативные запоминающие устройства (ДОЗУ). ЗУ с последовательным доступом подразделяются на:

- регистры сдвига;

- приборы с зарядовой связью (ПЗС).

В основе большинства современных ОЗУ лежат комплиментарные МОП ИМС (КМОП), которые отличаются малой потребляемой мощностью. Это достигается применением пары МОП транзисторов с разным типом канала: n-МОП и p-МОП. Как видно на рис. 4.5, в КМОП инверторе как при низком, так и при высоком уровне сигнала на входе один из транзисторов закрыт. Поэтому потребление энергии происходит только при переключении "1"R"0" (и обратно).

Рис. 5. Схема КМОП инвертора.

 

Чтобы реализовать на подложке n-типа не только p-канальный транзистор, но и n-канальный, последний изготавливается в так называемом "кармане", как показано на рис. 6

Рис. 6. Конструкция инвертора на КМОП транзисторах.

 

Аналогично на четырех МОП транзисторах (2 n-МОП и 2 p-МОП, включенных параллельно и последовательно) можно построить и другие базовые логические элементы "И" и "ИЛИ" и, соответственно, на их основе строятся все другие более сложные логические схемы.

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

Малое потребление энергии позволяет использовать КМОП ИМС с питанием от микробатареи как ПЗУ, где располагается часть операционной системы, которая осуществляет начальную загрузку всей системы (программа Setup).

 

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

 

Элементарной ячейкой статического ОЗУ с произвольной выборкой является триггер на транзисторах Т1-Т4 (рис. 3.7) с ключами Т5-Т8 для доступа к шине данных. Причем Т1-Т2 - это нагрузки, а Т3-Т4 - нормально закрытые элементы.

Рис. 7. Ячейка статического ОЗУ

 

Сопротивление элементов Т1-Т2 легко регулируется в процессе изготовления транзистора путем подгонки порогового напряжения при легировании поликремниевого затвора методом ионной имплантации. Количество транзисторов (6 или 8) на ячейку зависит от логической организации памяти микропроцессорной системы.

 

Динамические запоминающие устройства

 

В отличие от статических ЗУ, которые хранят информацию пока включено питание, в динамических ЗУ необходима постоянная регенерация информации, однако при этом для хранения одного бита в ДОЗУ нужны всего 1-2 транзистора и накопительный конденсатор (рис. 4.8). Такие схемы более компактны.

Рис. 8. Запоминающая ячейка динамического ОЗУ

 

Рис. 9. Конструкция ячейки ДОЗУ (см. рис. 4.8, слева). Снизу представлен разрез схемы по линии А-А

 

Естественно, что в микросхеме динамического ОЗУ есть один или несколько тактовых генераторов и логическая схема для восстановления информационного заряда, стекающего с конденсатора. Это несколько "утяжеляет" конструкцию ИМС.

Чаще всего и СОЗУ, и ДОЗУ выполнены в виде ЗУ с произвольной выборкой, которые имеют ряд преимуществ перед ЗУ с последовательным доступом.

 

 

Запоминающие устройства с произвольной выборкой

 

На рис. 10 показано обозначение ЗУПВ и его внутренняя структура.

Рис. 10. ОЗУ с произвольной выборкой. а) ОЗУ 16x4 бит; б) ОЗУ 64Кx1 (КР565РУ5)

 

Здесь: D1-Dn (справа DI) - информационные входы; Q1 - Qn (справа DO) - инверсные выходы; A1- An - адресные входы; WE# - запись/чтение; CS# (Chip Select) - выбор кристалла; CAS# (Column Address Strobe) и RAS# (Row Address Strobe) - сигнал выборки столбца и строки соответственно.

Представленное здесь ЗУПВ - это ДОЗУ с организацией хранения информации 65536 бит на 1 разряд. Накопительная матрица с однотранзисторными запоминающими элементами имеет размер 512x128. Для уменьшения количества задействованных ножек у ИМС (16-входовый DIP корпус) применена мультипликация адреса, что видно на рисунке по наличию отдельных дешифраторов строк и столбцов. Устройство управления включает два генератора тактовых сигналов и генератор сигналов записи и обеспечивает 4 режима работы: записи, считывания, регенерации и мультипликации адреса. Время регенерации - 2 мс.

Для сравнения на рис. 4.11 показана конструкция ППЗУ с ультрафиолетовым (УФ) стиранием на МНОП-структурах с организацией представления информации 2Кx8 (16384 бита).

 

Микросхемы памяти в составе микропроцессорной системы

Рис. 11. Микросхемы ОЗУ (К573РУ9) и ППЗУ (К573РФ5) в составе микропроцессорной системы.

 

На рис. 11 представлено взаимодействие К573РФ2(5) и К573РУ9, имеющих одинаковую организацию 2Кx8, с системной магистралью. Байт данных с шины данных (линии D0-D7) считывается (или записывается) по адресу, выставленному на шине адреса (линии A0-A10). Естественно, число адресуемых ячеек составляет 211=800h=2048. Микросхема-дешифратор К555ИД7 посредством сигнала CS# (выбор кристалла) позволяет выбрать положение ИМС ЗУ в адресном пространстве. Для данного случая это адреса 0000h-07FFh для ПЗУ(ROM) и 0800h-0FFFh для ОЗУ(RAM). Низкий уровень сигналов управления MEMW# и MEMR# активизирует процесс записи и чтения, соответственно. Напомним, что запись информации в данную ИМС ППЗУ возможен только вне микропроцессорной системы в специальном программаторе после УФ стирания путем подачи достаточно высокого напряжения на вход PG.

Аналогично можно проследить и взаимодействие программируемых ИМС параллельного интерфейса и программируемого таймера, служащих для взаимодействия МП с внешними устройствами. На рис. 4.12 они обозначены как PI и T. Регистры этих микросхем также доступны пользователю для чтения/записи, как и ячейки основной памяти. Однако их активизируют другие сигналы управления IOR# и IOW# (запись в порты ввода/вывода).

Микросхема КР580ВВ55А (аналог Intel 8255А) позволяет переключать шину данных компьютера на один из трех 8-битных портов (регистров) A, B или C. Направление передачи данных и режим работы (0-2) определяются программным способом. Чаще других используется режим 0: простой ввод-вывод. Состояние адресных линий А0 и А1 позволяет выбрать для обмена информацией регистры A, B, C или регистр управления. Режим работы параллельного интерфейса КР580ВВ55А определяется байтом, записанным в регистр управления. При работе на вывод порты A, B, C действуют как регистры, т.е. сохраняют информацию до следующей записи; при работе на ввод информация теряется. Порт С, в отличие от портов A и B, разбит на полубайты и может программироваться раздельно, т.е. мы имеем группы A и B.

В дополнение к основным режимам работы микросхема КР580ВВ55А обеспечивает возможность программной независимой установки/сброса любого бита (порт С), в этом случае старший бит в регистре управления должен быть 0.

Рис. 12. Пример взаимодействия программируемых ИМС параллельного порта (PI) КР580ВВ55А и таймера (T) КР580ВИ53 с системной магистралью компьютера; DC - дешифратор К555ИД7

 

Интегральная схема КР580ВИ53 создана по n-МОП технологии, Uпит=+5 В, U1>2.4 В, U0<0.45 В, P=1 Вт, fтакт <2 МГц, 24 вывода, максимальное значение счета: 216 - в двоичном коде и 104 - в двоично-десятичном. Программируемый таймер КР580ВИ53 реализован в виде трех независимых 16-разрядных вычитающих счетчиков (каналов) с общей схемой управления. Каждый канал может работать в шести режимах. Программирование режимов работы каналов осуществляется индивидуально и в произвольном порядке путем ввода управляющих слов в регистры режимов каналов, а в счетчики - некоторого числа байт. На рис. 4.12 можно видеть, что таймер обменивается информацией с 8-битной шиной данных микропроцессорной системы через вход D, а также он связан с адресной шиной двумя линиями А0-А1, обеспечивающими выбор одного из четырех регистров (3 канала и управляющее слово). Сигналы шины управления IOR# и IOW# (чтение/запись из/во внешнее устройство) определяют направление потока информации от процессора к таймеру и наоборот. С0, С1, С2 - тактовые входы, сигналы на Е0, Е1, Е2 - разрешают или запрещают работу соответствующего канала, OU0, OU1, OU2 - выходы.

 

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

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

Рис. 13. Применение буферной памяти

 

Наиболее эффективно обмен данными между подсистемами с различным быстродействием реализуется при наличии между ними специальной буферной памяти. Данные от подсистемы 1 временно запоминаются в буферной памяти до готовности подсистемы 2 принять их. Емкость буферной памяти должна быть достаточной для хранения тех блоков данных, которые подсистема 1 формирует между считываниями их подсистемой 2. Отличительной особенностью буферной памяти является запись данных с быстродействием и под управлением подсистемы 1, а считывание - с быстродействием и под управлением подсистемы 2 ("эластичная память"). В общем случае память должна выполнять операции записи и считывания совершенно независимо и даже одновременно, что устраняет необходимость синхронизации подсистем. Буферная память должна сохранять порядок поступления данных от подсистемы 1, т.е. работать по принципу "первое записанное слово считывается первым" (First Input First Output - FIFO). Таким образом, под буферной памятью типа FIFO понимается ЗУПВ, которое автоматически следит за порядком поступления данных и выдает их в том же порядке, допуская выполнение независимых и одновременных операций записи и считывания. На рис. 4.14 приведена структурная схема буферной памяти типа FIFO емкостью 64x4.

Рис. 14. Структурная схема буфера 64x4

 

На кристалле размещены 64 4-битных регистра с независимыми цепями сдвига, организованных в 4 последовательных 64-битных регистра данных, 64-битный управляющий регистр, а также схема управления. Входные данные поступают на линии DI0-DI3, а вывод данных осуществляется через контакты DO0-DO3. Ввод (запись) данных производится управляющим сигналом SI (shift in), а вывод (считывание) - сигналом вывода SO (shift out). Ввод данных осуществляется только при наличии сигнала готовности ввода IR (input ready), а вывод - при наличии сигнала готовности вывода OR (output ready). Управляющий сигнал R (reset) производит сброс содержимого буфера.

При вводе 4-битного слова под действием сигнала SI оно автоматически передвигается в ближайший к выходу свободный регистр. Состояние регистра данных отображается в соответствующем ему управляющем триггере, совокупность триггеров образует 64-битный управляющий регистр. Если регистр содержит данные, то управляющий триггер находится в состоянии 1, а если регистр не содержит данных, то триггер находится в состоянии 0. Как только управляющий бит соседнего справа регистра изменяется на 0, слово данных автоматически сдвигается к выходу. Перед началом работы в буфер подается сигнал сброса R и все управляющие триггеры переводятся в состояние 0 (все регистры буфера свободны). На выводе IR формируется логическая 1, т.е. буфер готов воспринимать входные данные. При действии сигнала ввода SI входное слово загружается в регистр P1, а управляющий триггер этого регистра устанавливается в состояние 1: на входе IR формируется логический 0. Связи между регистрами организованы таким образом, что поступившее в P1 слово "спонтанно" копируется во всех регистрах данных FIFO и появляется на выходных линиях DO0-DO3. Теперь все 64 регистра буфера содержат одинаковые слова, управляющий триггер последнего регистра P64 находится в состоянии 1, а остальные управляющие триггеры сброшены при передаче данных в соседние справа регистры. Состояние управляющего триггера P64 выведено на линию готовности выхода OR; OR принимает значение 1, когда в триггер записывается 1. Процесс ввода может продолжаться до полного заполнения буфера; в этом случае все управляющие триггеры находятся в состоянии 1 и на линии IR сохраняется логический 0.

При подаче сигнала SO производится восприятие слова с линий DO0-DO3, управляющий триггер P64 переводится в состояние 1, на линии OR появляется логическая 1, а управляющий триггер P64 сбрасывается в 0. Затем этот процесс повторяется для остальных регистров и нуль в управляющем регистре перемещается ко входу по мере сдвига данных вправо.

В некоторых кристаллах буфера FIFO имеется дополнительная выходная линия флажка заполнения наполовину. На ней формируется сигнал 1, если число слов составляет более половины емкости буфера.

Рассмотренный принцип организации FIFO допускает выполнение записи и считывания данных независимо и одновременно. Скорость ввода определяется временным интервалом, необходимым для передачи данных из P1, а выводить данные можно с такой же скоростью. Единственным ограничением является время распространения данных через FIFO, равное времени передачи входного слова на выход незаполненного буфера FIFO. Оно равняется произведению времени внутреннего сдвига и числа регистра данных. В буферах FIFO, выполненных по МОП-технологии и имеющих емкость 64 слова, время распространения составляет примерно 30 мкс, а в биполярных FIFO такой же емкости - примерно 2 мкс.

Буферы можно наращивать как по числу слов, так и по их длине.

 

Стековая память

 

Стековой называют память, доступ к которой организован по принципу: "последним записан - первым считан" (Last Input First Output - LIFO). Использование принципа доступа к памяти на основе механизма LIFO началось с больших ЭВМ. Применение стековой памяти оказалось очень эффективным при построении компилирующих и интерпретирующих программ, при вычислении арифметических выражений с использованием польской инверсной записи. В малых ЭВМ она стала широко использоваться в связи с удобствами реализации процедур вызова подпрограмм и при обработке прерываний.

Принцип работы стековой памяти состоит в следующем (см. рис. 4.15). Когда слово А помещается в стек, оно располагается в первой свободной ячейке памяти. Следующее записываемое слово перемещает предыдущее на одну ячейку вверх и занимает его место и т.д. Запись 8-го кода, после H, приводит к переполнению стека и потере кода A. Считывание слов из стека осуществляется в обратном порядке, начиная с кода H, который был записан последним. Заметим, что выборка, например, кода E невозможна до выборки кода F, что определяется механизмом обращения при записи и чтении типа LIFO. Для фиксации переполнения стека желательно формировать признак переполнения.

Рис. 15. Принцип работы стековой памяти

 

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

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

Наиболее распространенным в настоящее время и, возможно, лучшим вариантом организации стека в ЭВМ является использование области памяти. Для адресации стека используется указатель стека, который предварительно загружается в регистр и определяет адрес последней занятой ячейки. Помимо команд CALL и RET, по которым записывается в стек и восстанавливается содержимое программного счетчика, имеются команды PUSH и POP, которые используются для временного запоминания в стеке содержимого регистров и их восстановления, соответственно. В некоторых МП содержимое основных регистров запоминается в стеке автоматически при прерывании программ. Содержимое регистра указателя стека при записи уменьшается, а при считывании увеличивается на 1 при выполнении команд PUSH и POP, соответственно.