Правильная ссылка на эту страницу
http://az-design.ru/Support/HardWare/Intel/D19890126Elc033.shtml

Система памяти с расслоением для микропроцессора 80386

Нил Маргулис (Neal Margulis)
Фирма Intel Corp. (Санта-Клара, шт. Калифорния)

Neal Margulis. Design a DRAM memory bank for the 80386, ED, 1989, No.2, pp.113—119.

Описана конструкция простой и эффективной основной памяти для микропроцессорных систем на базе ИС 80386, представляющая собой 20-МГц базовый банк памяти с расслоением, выполненный на динамических ЗУПВ.

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

В связи с изложенным при разработке компьютерной системы на базе микропроцессора 80386 целесообразно взять в качестве исходного технического решения 20-МГц систему основной памяти с расслоением (чередующимся обращением), выполненную на динамических ЗУПВ. Архитектура с расслоением, реализуемая с минимальным количеством логических схем, дает ощутимое повышение быстродействия системы памяти по сравнению с прямой последовательной адресацией. Дополнение базовой системы памяти с расслоением некоторыми другими техническими решениями дает дополнительный выигрыш в быстродействии. Например, страничный режим обращения или режим обращения со статической выборкой столбца позволяет еще полнее использовать все архитектурные возможности самих кристаллов динамических ЗУПВ, однако реализация этих режимов требует дополнительных управляющих логических схем и адресных компараторов.

Рассматриваемая система памяти с расслоением содержит два 32-разрядных банка памяти, составленных из динамических ЗУПВ. Управляющая логика системы выполнена на двух регистровых ПМЛ-схемах и нескольких СИС серии F. Кроме того, для отсчета интегралов и адресов регенерации в системе используются два счетчика (рис.1).

Эта базовая схема управления системой памяти на динамических ЗУПВ представляет собой хорошее исходное техническое решение для разработки устройств пам
Рис.1 Эта базовая схема управления системой памяти на динамических ЗУПВ представляет собой хорошее исходное техническое решение для разработки устройств памяти микропроцессорных систем на основе прибора 80386. В ее составе два банка памяти из 32-разрядных модулей на динамических ЗУПВ. Логические схемы управления последними содержат две регистровые ПМЛ-схемы и несколько комбинационных СИС серии F. Кроме того, в схеме управления используются два счетчика, хронирующие интервал регенерации и задающие адрес регенерации.

Верхняя группа динамических ЗУПВ (банк 0) представляет собой четный, а нижняя группа (банк 1) —нечетный банк памяти устройства. Оба они состоят из четырех модулей по 256 кристаллов с 8-бит разрядностью слова. ИС динамических ЗУПВ в каждом модуле могут иметь любую емкость, а разрядность слов в этих ИС может быть равна 1 или 4. Каждый банк памяти выдает 4 байт, или 32 бит (по одному биту данных с каждой из своих 32 линий), на 32 линии данных микропроцессора 80386. Таким образом, оба банка вместе образуют слово двойной разрядности.

Чтобы исключить одновременное срабатывание системных СППЗУ и динамических ЗУПВ в одних и тех же циклах шины памяти, в данной схеме управления адреса динамических ЗУПВ распределены в младший гигабайт системной памяти. Вентиль ИЛИ-НЕ, управляемый адресными линиями A30 и A31 микропроцессора 80386, выдает свой выходной сигнал в схему управления динамическими ЗУПВ и тем самым осуществляет выборку системы. Однако при необходимости такое распределение памяти легко изменить.

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

— Контроль шинных циклов.

— Синхронизацию сигналов выбора кристалладля динамических ЗУПВ.

— Генерацию сигналов строба адреса строкиRAS и выбора мультиплексора адреса ROWSEL.

— Арбитраж циклов регенерации.

— Включение адресных выходов для выполнения циклов регенерации.

— Формирование сигнала запуска цикла обращения к динамическим ЗУПВ DRAMSTART для ИС DRAMPT2.

— ПМЛ-схема DRAMP2 в свою очередь выполняет следующие функции:

— Прием и запоминание запросов на регенерацию динамических ЗУПВ от счетчика интервалов регенерации.

— Контроль за состоянием банков динамических ЗУПВ, требующих предзаряда.

— Управление регистрами-защелками приемопередатчика данных и адресными регистрами-защелками.

— Формирование сигналов строба адресастолбца CAS и разрешения записи WE.

— Генерацию сигнала готовности DRAMReady,завершающего шинные циклы динамическихЗУПВ.

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

Микропроцессор 80386, работающий с тактовой частотой 20 МГц, имеет входной тактовый сигнал CLK2 частотой 40 МГц. Чтобы на каждом фронте тактового сигнала происходило соответствующее изменение логических состояний, максимальная величина задержки ПМЛ-схемы серии В от тактового входа до выхода плюс ее минимальное время установки должны быть в сумме меньше времени между последовательными фронтами тактового сигнала. Данное требование имеет принципиальное значение, поскольку сигналы на регистровых выходах ПМЛ-схемы должны успевать возвращаться на их входы, где они служат входными переменными, определяющими логические термы ПМЛ-схем.

Действующие уровни сигналов на выходах M/10 или W/R микропроцессора 80386, поступающие на ПМЛ-схемы, задают операции чтения или записи памяти, а сигнал D/C̅ на линии шинного цикла указывает на операцию выбора команды. Это справедливо при условии активного уровня сигнала A̅D̅S̅, уровней логического 0 на выходах A30 и A31 и режима холостого хода шины или завершения текущего шинного цикла (активный уровень сигнала на линии Ready микропроцессора 80386). Состояние шины определяется сигналом от конечного автомата контроля шинного цикла. Но если контроллер системы памяти выполняет цикл регенерации или ожидает завершения предзаряда банка памяти, то ИС DRAMP1 регистрирует запрос и хранит его до окончания соответствующей операции. В противном случае контроллер сразу же начинает операцию обращения к памяти.

Схема контроллера генерирует отдельные сигналы RAS для каждого из банков памяти: RAS0 для четного банка и RAS1 для нечетного. При уровне логического 0 на адресной линии А2 микропроцессора 80386 включается четный банк памяти, при уровне логической 1 — нечетный. А набор из пяти пультиплексоров 74F258 последовательно выдает адреса строки и столбца динамических ЗУПВ на мультиплексную адресную шину системы памяти.

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

Поэтому в контроллере динамических ЗУПВ следует использовать отдельные сигналы CAS, управляющие в цикле записи нужными данными. В схеме рис.1 один сигнал W̅E̅ и четыре отдельных сигнала C̅A̅S̅ для каждого блока динамических ЗУПВ гарантируют, что схема управления включает только те источники данных, которые выбраны для цикла записи; у всех остальных источников данных выходные каскады остаются в состоянии с высоким импедансом.

В обычном режиме обращения схема управления запускает линии RAS только для выбранного банка памяти, однако во время цикла регенерации она формирует оба сигнала RAS. Во время циклов записи схема запускает линии CAS только для включаемых на запись байтов памяти. В системе памяти предусмотрены отдельные линии CAS для каждого банка, что позволяет выдержать паспортные требования по вдемени предзаряда между сигналами C̅A̅S̅ и R̅A̅S̅ при поочередных обращениях к банкам памяти системы.

Чтобы развязать динамические ЗУПВ от шины данных, в применяемой схеме включения сигналом CAS предусмотрены четыре 8-разрядных приемопередатчика 74F245. (Альтернативный метод с единым сигналом CAS предусматривает независимую подачу каждого байта на приемопередатчики данных.)

Приемопередатчики

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

Со стороны приемопередатчиков, обращенной к шине данных микропроцессора 80386, считываемые данные сбрасываются с шины, когда линия D̅E̅N̅ переходит в неактивное состояние, и в буфере данных выключается выходной каскад. Последняя операция происходит примерно через 25 нс после того, как выходной сигнал ALE ИС DRAMP2 переходит в состояние логической 1 или через 0,5 нс после начала 2-й фазы тактового сигнала CLK2. Таким образом, микропроцессор 80386 начинает выдачу записываемых данных не раньше, чем через 4 не после начала 2-й фазы, что исключает конфликтные ситуации на шине данных.

Со стороны приемопередатчиков, обращенной к динамическим ЗУПВ, цикл чтения прекращается, когда линия C̅A̅S̅ переходит в неактивное состояние и динамические ЗУПВ выключаются. Схема выдает данные для цикла записи на шину в начале 1-й фазы следующего тактового цикла — после того, как линия D̅E̅N̅ перейдет в активное состояние. Но чтобы исключить конфликтную ситуацию на шине с данными, записываемыми в следующем цикле обращения, используемые динамические ЗУПВ должны позволять выключать свои выходные формирователи через 31 нс после цикла чтения.

Кроме того, поскольку для большинства динамических ЗУПВ приемопередатчики необходимы для получения запаса времени чтения данных, когда микропроцессор 80386 выполняет запись сразу же после чтения динамического ЗУПВ, прибор 80386 выдает сигналы на свою шину данных через один тактовый период CLK2 после окончания чтения. Таким образом, если разработчик системы памяти хочет отказаться от приемопередатчиков, то для исключения конфликтных ситуаций на шине сумма длительности задержки сигнала C̅A̅S̅ при переходе в неактивное состояние и времени выключения выходного буфера динамического ЗУПВ должна быть меньше длительности периода тактового сигнала. Для повышения быстродействия системы ПМЛ-схемы контроллера памяти предусматривают конвейерный режим работы, в котором выборка данных частично совмещена с адресацией следующей операции. Поскольку в контроллере для организации конвейерного доступа применена трехтактная система, последовательные обращения к памяти также требуют трех тактовых импульсов. Этот трехтактный контроллер памяти выполняет операции чтения и записи за три конвейерных тактовых периода и одно состояние ожидания. При последовательных обращениях к одному и тому же банку памяти требуются два дополнительных тактовых периода предзаряда динамических ЗУПВ сигналом RAS.

Трехтактная система памяти

На каждом из фронтов тактового сигнала CLK2 конечный автомат на ПМЛ-схеме производит чтение сигналов с линий CLK, A̅D̅S̅ и Ready микропроцессора 80386. Когда на линии CLK действует уровень логической 1, а на линии A̅D̅S̅ — активный сигнал, этот конечный автомат входит в активное состояние и включает линию B̅U̅S̅C̅Y̅G̅ Автомат возвращается в состояние холостого хода, если при логической 1 на линии CLK на линии Ready появляется активный сигнал. Но если вместе с активным сигналом на линии R̅e̅a̅d̅y̅ действует активный сигнал на линии A̅D̅S̅, то конечный автомат входит в конвейерное состояние и включает линию P̅I̅P̅E̅C̅Y̅C̅ на один период тактового сигнала CLK и лишь после этого возвращается в активное состояние.

Для дальнейшей оптимизации управления памятью в устройстве управления можно использовать линии задержки с отводами. Эти линии позволяют варьировать временные соотношения между различными сигналами, а не только синхронизировать их с фронтами тактовых импульсов. Например, введение 5-нс задержки после сигнала R̅A̅S̅ для генерации сигнала ROWSEL может помочь обеспечить требуемую величину времени удержания адреса. Так же точно с помощью 20-нс задержки между сигналами R̅A̅S̅ и C̅A̅S̅ можно задать нужный временной интервал для установки адреса столбца. Линии задержки с отводами позволяют также модифицировать и временные диаграммы других сигналов управления динамическими ЗУПВ, например минимальную длительность импульса R̅A̅S̅, что обеспечивает уменьшение количества состояний ожидания в системе в целом.

Естественно, что допуски на временные параметры сигналов в системе памяти зависят от тактовой частоты; снижение тактовой частоты может привести к более значительным потерям быстродействия системы, что даже дополнительное состояние ожидания. Уменьшение тактовой частоты влияет на временные параметры как процессов во внешней шине устройства, так и внутренних операций. Соотношение между тактовой частотой и параметрами быстродействия системы памяти примерно линейное.

Временные диаграммы управляющих сигналов для рассматриваемой трехтактной системы памяти (рис.2) включают в себя следующие пять последовательных циклов обращения к динамическим ЗУПВ:

1. Чтение банка 0.

2. Чтение банка 1 без предзаряда.

3. Запись банка 1 — требует предзаряда.

4. Регенерация — всегда требует предзаряда.

5. Чтение банка 1 в цикле после регенерации — всегда требует предзаряда.

Пять последовательных циклов образуют временную диаграмму трехтактных сигналов управления рассматриваемой системой памяти.
Рис.2. Пять последовательных циклов образуют временную диаграмму трехтактных сигналов управления рассматриваемой системой памяти.

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

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

Первые временные параметры, которые следуетрассматривать,— это времена установки и удержания адресных сигналов относительно сигналов R̅A̅S̅ и C̅A̅S̅. Действительные данные на адресной шине появляются в момент начала 1-й фазы сигнала CLK и сохраняются на ней в течениевремени задержки действительного адреса. Затемэтот адрес через мультиплексор передается надинамические ЗУПВ системы. Конечный автомат на ПМЛ-схеме генерирует сигнал R̅A̅S̅ на следующем фронте импульса CLK2 1-й фазы.Наихудший случай для времени установки адреса (16 нс) имеет место, когда задержка прохождения адреса максимальна, а задержка сигнала R̅A̅S̅ минимальна. Наихудший случай для времени удержания адреса для строба R̅A̅S̅ (19 нс) возникает, когда задержка относительно сигнала ROWSEL минимальна, а задержка сигнала R̅A̅S̅ максимальна.

Для циклов записи сигнал CAS генерируется схемой на один цикл тактового сигнала CLK2 позже. Время установки адреса столбца для циклов чтения составляет 10 нс, а время удержания адреса столбца для циклов записи равно 7 нс. При записи сигнал W̅E̅ поступает на два цикла сигнала CLK2 раньше сигнала C̅A̅S̅, при чтении — на один такой цикл раньше, а время установки команды чтения составляет 21 нс.

Следующие временные параметры включают в себя задержки в трактах данных, в которые входят буферы данных. При чтении данных задержка, отсчитываемая от сигнала R̅A̅S̅, равна 120 нс, а от сигнала C̅A̅S̅ — 58 нс. Минимальное время удержания выходных данных относительно сигнала CAS, гарантирующее выполнение требований к времени удержания данных для микропроцессора 80386 после заднего фронта сигнала CAS, равно 4,5 не. Следовательно, выключение выходных данных динамического ЗУПВ относительно сигнала C̅A̅S̅ (TOFF) может происходить с нулевой задержкой, и при этом схема памяти все равно будет удовлетворять требованиям к времени удержания читаемых данных для фронта отключения сигнала D̅E̅N̅.

В циклах записи максимальная задержка действительных записываемых данных для микропроцессора 80386 равна 38 нс (при отсчете от начала 2-й тактовой фазы). Поэтому в данной схеме предусмотрена задержка сигнала C̅A̅S̅ на два периода сигнала CLK2 до начала следующей 2-й тактовой фазы, что гарантирует действительность данных для записи. Время установки записываемых данных относительно фронта сигнала C̅A̅S̅ равно 13 нс, а время их удержания после поступления активного сигнала C̅A̅S̅ — 55 нс. В циклах записи сигнал C̅A̅S̅ требуется задерживать, поскольку фиксация записываемых данных в динамическом ЗУПВ происходит на активном фронте сигнала C̅A̅S̅ (опережающие циклы записи).

Не относящиеся к делу временные параметры динамического ЗУПВ часто вызывают путаницу. Максимальная паспортная задержка между сигналами R̅A̅S̅ и C̅A̅S̅ может показаться нарушенной в циклах записи, в которых предусмотрена дополнительная задержка сигнала CAS. Эта характеристика динамического ЗУПВ приводится только как справочная — она указывает, что длительность цикла определяется интервалом времени между сигналом C̅A̅S̅ и [появлением] данных, а не между сигналом R̅A̅S̅ и [появлением] данных.

Синхронизация управляющих сигналов

Помимо сигналов адресации памяти данныйконтроллер динамических ЗУПВ должен генерировать и входные сигналы N̅A̅ и R̅e̅a̅d̅y̅ для микропроцессора 80386. Если шинный цикл запущен, а текущий адрес памяти уже отработани зафиксирован по крайней мере в одном изсостояний шины, контроллер в конце каждой 1-й фазы генерирует действующий сигнал N̅A̅ до тех пор, пока не подтвердит шинный цикл. Но как только эта схема установит сигнал N̅A̅ — его время установки для микропроцессора 80386 равно 9 нс,— адресные сигналы и сигнал состояния для текущего шинного цикла более удерживать на выходе не нужно. Соответственно данный трехтактный контроллер не выдает сигнал N̅A̅ в течение первого цикла сигнала CLK(Т2), а выдает его во втором цикле в начале 1-й фазы сигнала CLK2.

Действующий уровень сигнала N̅A̅ сохраняется до тех пор, пока на микропроцессор 80386 не вернется сигнал R̅e̅a̅d̅y̅ и цикл не закончится. После опознавания конца цикла повторная генерация сигнала NA в следующих тактовых циклах не требуется, и он фактически служит только для удлинения времени удержания.

Когда схема управления выдает в цикле чтения или подтверждения прерывания действующий сигнал R̅e̅a̅d̅y, микропроцессор 80386 выполняет запись входных данных в регистр. В циклах записи этот сигнал служит признаком завершения очередного шинного цикла. В микропроцессоре 80386 времена установки и удержания сигнала Ready, отсчитываемые от конца 2-й фазы, составляют 31 и 5 нс соответственно.

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


Рис.3. Увеличение количества банков памяти в системе с двух (а) до четырех (б) требует ее дополнения дешифраторами сигналов адресных линий А2 и А3 в четыре сигнала выбора банка памяти.

Однако это только начало необходимых изменений в схеме. Расслоение памяти на четыре банка требует также дублирования конечного автомата генерации сигнала R̅A̅S̅, конечного автомата слежения за предзарядом по R̅A̅S̅ и добавления еще двух наборов вентилей ИЛИ для генерации байтов сигналов C̅A̅S̅. Более того, расслоение памяти на четыре банка имеет тот недостаток, что минимальное количество динамических ЗУПВ удваивается.

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

При последовательных обращениях к памяти схема управления сравнивает новый адрес строки с ее хранимым в регистре адресом из предыдущего цикла обращения. В случае их совпадения схема управления рассматривает новый цикл как обращение в прежнюю строку, что позволяет запустить цикл быстрого страничного обращения (только с сигналом C̅A̅S̅). Если же новый адрес строки иной, то необходимо переключить сигнал R̅A̅S̅ в неактивное состояние на соответствующее время предзаряда. После предзаряда и обычного строба RAS можно выполнять обращения по стробу CAS.

Очень близок к страничному режиму режим статической выборки столбцов, отличающийся в основном способом обращения к текущей странице памяти. Для следующего обращения в пределах страницы схема должна выдать на динамическое ЗУПВ только адрес столбца; в этом режиме строб C̅A̅S̅ не нужен. Однако в такой схеме необходимо, чтобы действующее значение адреса сохранялось в течение всего цикла обращения к динамическому ЗУПВ.

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

Об авторе

Нил Маргулис, инженер по прикладным вопросам в фирме Intel Corp., имеет диплом инженера-электротехника Вермонтского университета. В настоящее время занимается созданием следующего поколения процессоров.

Выходные данные:

Журнал "Электроника" том 62, No.02 (807), 1989г - пер. с англ. М.: Мир, 1989, стр.110

Electronics Design Vol.37 No.1 January 12, 1990 A VNU Bisiness Publication

Electronics Design Vol.37 No.2 January 26, 1990 A VNU Bisiness Publication

Neal Margulis. Design a DRAM memory bank for the 80386, ED, 1989, No.2, pp.113—119.

Раздел: МЕТОДЫ, СХЕМЫ, АППАРАТУРА

Тема:     Системы памяти





Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:44 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/HardWare/Intel/D19890126Elc033.shtml