Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_i386.docx
Скачиваний:
5
Добавлен:
18.11.2019
Размер:
820.47 Кб
Скачать
  1. Основные этапы разработки

    1. Разработка микропроцессорного модуля

Микропроцессорный модуль (МПМ) является основной частью МПС и управляет всеми остальными ее блоками. Обобщенная структура МПМ приведена на рисунке 4. МПМ содержит:

  • микропроцессор;

  • системный контроллер;

  • генератор синхроимпульсов;

  • шинные формирователь шин адреса и данных.

Рисунок 4 - Обобщенная структура микропроцессорного модуля МПС

      1. Описание элементной базы мпм

        1. Микропроцессор i82386sx

Основой МПС является микропроцессор I82386SX. УГО МП приведена на рисунке 5, а в таблице 3 приведено назначение сигналов МП.

Рисунок 5 - УГО микропроцессора I82386SX

Таблица 3 - Назначение сигналов микропроцессора 386

Сигнал

I/O

Назначение

CLK2

I

Clock — внешний сигнал синхронизации процессора

D[15:0] *

I/O

Data — сигналы шины данных

А[23:1] •

О

Address — сигналы шины адреса

BLE#, BHE#

О

Byte Low Enable, Byte High Enable — аналоги ВЕ0# и ВЕ1#

W/R#

О

Write/Read — сигнал, определяющий тип шинного цикла (запись/чтение)

M/IO#

О

Memory/ IO# Select — высокий уровень указывает на обращение к памяти (или останов), низкий — на обращение к портам ввода-вывода или под­тверждение прерывания

D/C#

О

Data/Control# — сигнал, определяющий тип шинного цикла (высокий уровень при передачи данных памяти или ввода-вывода, низкий — при выборке кода, в цикле подтверждения прерывания или при останове)

ADS#

O

Address Status — сигнал идентификации адресного цикла, во время которого действительны сигналы W/R#, D/C#, M/IO#, ВЕ[0:3] и А[31:2]

NA#

I

Next Address — запрос следующего адреса при конвейерной адресации

READY*

I

Bus Ready — сигнал завершения шинного цикла. Шинный цикл расширяется на неограниченное время до появления сигнала готовности (низкий уровень)

LOCK*

О

Bus Lock — сигнал монополизации управления шиной, вырабатывается на время выполнения инструкции по префиксу LOCK и автоматически при выполнении инструкций XCHG с памятью, подтверждения прерывания и доступа к таблицам дескрипторов

INTR

I

Interrupt Request — сигнал запроса (высоким уровнем) маскируемого пре­рывания

Сигнал

I/O

Назначение

NMI

I

Non Mascable Interrupt — сигнал, высокий уровень которого вызывает немас­кируемое прерывание NMI

RESET

I

Сигнал аппаратного сброса (высоким уровнем)

HOLD

HLDA

I

О

Bus Hold Request и Hold Acknowledge — запрос управления локальной шиной от другого контроллера и подтверждение предоставления

PEREQ

I

Processor Extension Operand Request — запрос на передачу операнда со­процессором

BUSY# ERROR#

I

I

Processor Extension Busy и Error — сигналы состояния сопроцессора. Ак­тивность сигнала BUSY# останавливает процессор, а сигнала ERROR вы­зывает исключения при исполнении инструкций WAIT и некоторых инструкций ESCAPE

Примечание. У микропроцессора 386SX разрядность шины данных 16 бит - имеются только сигналы D[15:0], разрядность шины адреса 24 бит - А[23:1], сигналы ВЕ[0:3] и BS16# отсутствуют. У МП 386DX отсутствуют сигналы BLE# и ВНЕ#.

Синхронизация процессора осуществляется внешним сигналом CLK2, час­тота которого делится пополам внутренним делителем для получения сигнала внутренней синхронизации. Каждому периоду CLK2 соответствует одна из двух фаз внутренней синхронизации (фаза 1 или фаза 2). Максимальная пропускная способность локальной шины процессора — одно двойное слово за каждые два цикла внутренней частоты PCLK.

Шина данных допускает как 16-, так и 32-разрядный режим обмена, в зави­симости от состояния входного сигнала BS16#. При чтении в 16-разрядном режиме данные на линиях D[16:31] игнорируются, при записи процессор управ­ляет всей шиной данных независимо от сигнала BS16#.

Шина адреса позволяет адресовать 4 Гб физической памяти (00000000-FFFFFFFFh) в защищенном режиме и 1 Мб из области младших адресов в реальном режиме. Из этого правила для реального режима есть два исключения:

  • линии А[20:31] после сигнала RESET во время выборки кода находятся в единичном состоянии до первой инструкции межсегментного перехода;

  • линия А20 может принимать единичное значение, когда сочетание зна­чения сегментного регистра и эффективного адреса приводят к переходу через границу 0FFFFFh (максимально возможное значение физического адреса в реальном режиме 0001FFEFh). Для обеспечения полной совмес­тимости с 8086 применяют программно управляемый вентиль (GATE A20), принудительно обнуляющий бит А20 системной шины ад­реса.

При выполнении инструкций ввода-вывода процессор адресуется к области в 64 Кб пространства ввода-вывода (00000000-0000FFFFh).

Линии А[31:2] идентифицируют адрес с точностью до двойного слова, а в пределах этого слова сигналы ВЕ[0:3] непосредственно указывают, какие байты используются в данном цикле. ВЕ0# относится к D[0:7], ВЕ1# — к D[8:15], ВЕ2# — к D[16:23] и ВЕЗ# - к D[24:31]. Число активных линий BEi определя­ет, сколько байт (1, 2, 3 или 4) передается в данном цикле, при этом все байты могут быть только смежными. Если в текущем цикле записи оба сигнала ВЕ0#и ВЕ1# неактивны, выводимые данные старших байт автоматически дублируют­ся на линиях младших (D[24:31] на D[8:15], D[16:23] на D[0:7]). Если адресо­ванное слово (или двойное слово) пересекает границу двойного слова, процессор после пересылки уместившейся младшей части автоматически генерирует до­полнительный цикл обмена с другими значениями А[31:2] и ВЕ[0:3].

Рисунок 6 – Формирование сигналов адресации для 16-разрядных шин

Сигнал BS16# вводится внешней схемой, если текущий цикл адресуется к 16-битному устройству, подключенному к младшей половине шины данных. Если в данном цикле предполагалась передача данных и двух старших байт, процессор автоматически вводит дополнительный цикл для передачи этих байт по младшей половине шины данных.

Для связи с системной шиной, имеющей возмож­ность подключения 8-, 16- и 32-битных устройств (шины ISA и EISA) и полную шину адреса, включа­ющую сигналы АО, А1 и SBHE#, недостающие сиг­налы генерируются из сигналов ВЕ[0:3]# по логике, приведенной на рисунке 6. Для 8-битных устройств, как и при использовании 80286 или 8086, необходим «косой» буфер данных между линиями D[8:15] про­цессора и Data[0:7] системной шины.

Тип цикла локальной шины определяется сигна­лами М/Ю#, D/C#, W/R# и LOCK#, комбинация которых действительна во время активности сигнала ADS# (табл. 4.3).

Сигналы управления шиной ADS#, READY# и NA# задают временные границы циклов и управля­ют конвейерной адресацией. Сигнал ADS# отмечает начало каждого цикла, во время его действия произ­водится идентификация типа цикла и фиксируется соответствующий ему адрес (линии А[31:2] и ВЕ[0:3]#). Сигнал READY# дол­жен вводиться внешней схемой в каждом цикле, отмечая готовность к заверше­нию текущего цикла. Сигнал NA# используется для запроса следующего адреса при конвейерной адресации, когда внешние схемы уже готовы воспринять новый адрес и сигналы идентификации. Если процессор уже имеет внутренний запрос на следующий шинный цикл, он выдаст адрес и идентификаторы следу­ющего цикла до завершения текущего.

Таблица 4 - Декодирование шинных циклов МП 386

M/IO#

D/C#

W/R#

Тип цикла

0

0

0

Подтверждение прерывания (INTA#)

0

1

0

Чтение порта (IOR#)

0

1

1

Запись в порт (IOW#)

1

0

1

Если ВЕ2# = 0 - останов (Halt), если ВЕ0# = 0 - отключение (Shutdown); при этом А[2:311=0, а остальные BEi=l.

1

0

0

Чтение кода программы(MEMR#)

1

1

0

Чтение данных из памяти (MEMRD#)

1

1

i

Запись данных в память (MEMWR#)

Сигналы арбитража локальной шины предназначены для передачи управ­ления локальной шиной другому устройству по его запросу - переходу в сос­тояние лог. «1» линии HOLD. Когда процессор сочтет возможным передачу управления (в незаблокированных циклах сразу по завершении текущего шин­ного цикла), он выставит сигнал подтверждения HLDA.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]