Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессорные системы (книга Комаров) / Проектирование МП систем (ч 1).doc
Скачиваний:
158
Добавлен:
08.03.2015
Размер:
2.92 Mб
Скачать

6.4.2. Схемотехническое проектирование памяти

Различная ширина внешней шины данных у МП ВМ86 и ВМ88 определяет различную схемотехническую организацию памяти в МПС на их основе. Основное различие заключается в организации и использовании банков памяти.

Банкирование памяти

В МПС на базе МП ВМ88 память организуется в виде одного банка объемом 1 мбайт и подключается к системной шине стандартным образом (рис. 6.5,а). Обмен информацией с такой памятью осуществляется лишь побайтно.

Рис. 6.5. Банкирование памяти МПС:

а) для МП ВМ88; б) для МП ВМ86

В МПС на базе МП ВМ86 память представляется в виде двух банков по 512 кбайт каждый. Один банк подключается к младшей половине D7D0 шины данных и называется младшим банком. Второй банк подключается к старшей половине D15D8 шины данных и называется старшим банком. Схема подключения банков к системной шине приведена на рис.6.5,б.

Младший банк содержит байты с четными адресами, так как обращение к нему осуществляется при A0=0, а старший банк байты с нечетными адресами, так как обращение к нему происходит при A0=1 (=0). Конкретный байт в каждом банке выбирается по коду адреса на линиях A19A1.

Выбор банков памяти для обмена информацией осуществляется с помощью сигналов и A0 в соответствии с табл.6.1. Из таблицы 6.1 следует, что МП ВМ86 может осуществлять обмен информацией с памятью как словами, так и байтами. При этом слова могут располагаться как по четным, так и нечетным адресам. Однако, слова по четным адресам передаются за один цикл шины, а по нечетным адресамза два цикла шины: сначала младший байт по линиям D15D8, а затем (после автоматического инкрементирования полного адреса A19A0) старший байт по линиям D7D0. Маршрутизация старших и младших байтов внутренних 16-битных регистров по соответствующим половинам шины данных выполняется автоматически и незаметна для программиста.

Таблица 6.1

Обращение к банкам памяти МП ВМ86

Операция обмена

A0

Используемая шина данных

Запись/считывание слова по четному адресу

0

0

D15D0

Запись/считывание слова по нечётному адресу:

 младший байт слова

 старший байт слова

0

1

1

0

D15D8

D7D0

Запись/считывание байта по чётному адресу

1

0

D7D0

Запись/считывание байта по нечётному адресу

0

1

D15D8

Нет обращения

1

1

Для повышения производительности МПС на базе МП ВМ86 слова данных целесообразно располагать по четным адресам, что особенно актуально для стеков, оперирующих только словами. Для выравнивания адреса на четное значение в ассемблере предусмотрена директива EVEN, располагаемая перед описанием массива слов. Если текущий адрес трансляции является четным, то эта директива ничего не делает, а при нечетном адресе она увеличивает его на 1, превращая в четный. Для МП ВМ88 выравнивание на четный адрес не имеет смысла, так как обращение к любому слову требует два цикла шины независимо от его адреса.

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