Обозначение
|
Назначение
|
AD15-AD0
|
Мультиплексная шина адреса/данных
|
A19/S6-A16/S3
|
Мультиплексные сигналы
адреса/состояния
|
Разрешение старшего байта/состояние
|
|
Чтение. Сигнал, указывающий на выполнение МП цикла
чтения
|
Готовность. Сигнал,
подтверждающий, что адресуемое устройство закончило передачу или прием данных
|
INTR
|
Запрос прерываний от
контроллера прерываний
|
NMI
|
Немаскируемое прерывание
|
Проверка
|
|
CLK
|
Синхронизация
|
RESET
|
Сброс. Установка МП в
начальное состояние
|
Минимальный/максимальный режимы
|
|
Подтверждение прерывания по входу INTR
|
|
ALE
|
Строб адреса, обозначает,
что на шине адреса/данных находится адрес
|
Строб данных. Сигнал, разрешающий передачу данных
|
|
Передача/прием данных. Определяет направление
передачи данных
|
|
M/IO
|
Обращение к
памяти/устройству ввода-вывода
|
Выполнение цикла записи
|
|
НOLD
|
Запрос (захват) шины
|
HLDA
|
Подтверждение захвата шины
|
S0, S1, S2
|
Состояние. Сигналы,
идентифицирующие тип цикла шины
|
RQ/GT0 RG/GT1
|
Запрос/разрешение. Сигнал,
используемый внешними подсистемами для управления шиной
|
LOCK
|
Блокировка шины
|
QS0, QS1
|
Состояние очереди. Сигналы,
идентифицирующие состояние очереди команд МП БИС
|
2.
Структурная схема МП
Рисунок - 2
В структурной схеме МП БИС можно выделить два сравнительно независимых
устройства: операционное устройство (ОУ) и устройство шинного интерфейса (ШИ).
ОУ реализует операции, заданные командой ОУ и включает в себя группу общих
регистров (РОН), АЛУ, буферные регистры, регистр признаков и схему управления.
Регистры АХ, BX, CX, DX предназначены в
основном для хpaнения данных. Наряду, с этим в
системе команд МП имеются множество команд, которые специализируют некоторые
РОНы:
регистр АХ выполняет функции аккумулятора; он участвует во всех операциях
ввода-вывода (ВВ) в качестве источника, или приемника информации;
регистр ВХ используется к источник базового адреса;
регистр СХ используется в качестве счетчика в командах сдвига и
зацикливания, а также при операциях с цепочками байт;
регистр DX неявным образом адресуется в
командах умножения или деления и содержит адрес порта В8 при
косвенно-регистровой адресации.
Команды, выбранные из памяти и записанные в регистр очереди команд по
запросам ОУ, поступают на схему управления, в которой декодируются и
преобразуются в последовательность микрокоманд.
В состав ШИ входят шесть 8-разрядных регистров очереди команд, четыре
16-разрядных сегментных регистра, 16-разрядный программный счетчик, устройство
формирования адреса и управления шиной (УШ).
Очередь команд функционирует как буфер с дисциплиной FIFO ("первым пришел, первым
вышел"). Когда в очереди появляется место по меньшей мере для 2-ух байт,
УФАУШ реализует цикл извлечения очередной команды из памяти. ОУ и ШИ работают
параллельно (конвейерное выполнение операций).
МП генерирует 20-разрядные физические адреса, но сам он манипулирует
логическими адресами, содержащими 16-разрядный сегментный (базовый) адрес и
16-разрядное внутреннее смещение. Логические адреса преобразуются в физические
в соответствии с рисунком:
Рисунок
- 3
Подобная
адресация требует сегментации адресного пространства. Все адресуемое
пространство разбивается на сегменты емкостью 64 Кбайт каждый.
Начальный
адрес сегмента хранится в 16-разрясном сегментном регистре, а обращение к байту
или слову внутри сегмента осуществляется с использованием 16-разрядного
смещения, формируемого в ОУ. Суммарное смещение называется также эффективным
адресом операнда (ЭА).
Регистр
CS хранит начальный адрес сегмента программы, DS
-начальный адрес сегмента данных, SS - начальный адрес сегмента
стека и ES - начальный адрес сегмента дополнительных данных.
Четыре
16-разрядных указательных и индексных регистра (SP, BP, SI, DI)
предназначены для хранения внутрисегментных смещений, обеспечивая косвенную
адресацию и динамичные вычисления исполнительных адресов.
Указательные
регистры SР (стека) и ВР (базы) предназначены для упрощения
доступа к данным в текущем сегменте стека. Если сегмент специально не
определен, то смещение SP и ВР по умолчанию относится к текущему сегменту
стека.
Индексные
регистры SI (источника) и DI (приемника)
содержат смещения, которые по умолчанию относятся к текущему сегменту данных.
Выборка
команд из памяти осуществляется из текущего сегмента по адресу, сформированному
путем суммирования содержимого сегментного регистра программы (кода) и
смещения, в качестве которого используется содержимое указателя команд IР
(счетчика команд). Основное назначение сегментных регистров - динамическое
перемещение программ и данных в памяти, которые необходимы в мультипрограммной
среде.
Формат
16-разрядного регистра признаков показан на рисунке:
Рисунок
- 4
В
младшем байте регистра - признаки, аналогичные признакам МП К580. Признак
пошагового отслеживания TF, будучи установленным в единичное состояние,
переводит МП в режим исполнения программы по командам (пошаговый режим), что
необходимо при отладке программ. Признак прерывания IF используется
в механизме маскирования прерываний. Признак DF характеризует
направление сканирования массива (при DF=O выполняется
инкрементирование, а при DF=1 декрементирование содержимого регистра-указателя
массива). OF - признак переполнения.
3.
Программируемый последовательный интерфейс.
Последовательный обмен данных регламентируется в стандарте RS232C. Этот
стандарт предусматривает для передачи информации 3 линии связи: общая, линия
передачи (ВА) и линия приема (ВВ). Протокол обмена данными имеет следующий
формат:
Функционально последовательный интерфейс реализуется на 2-х сдвигающих
регистрах:
Рисунок - 5
Последовательный интерфейс может работать в синхронном и асинхронном
режиме. Синхронный режим подразумевает работу интерфейса приемника и
передатчика под управлением системного генератора.
4. Структура разрабатываемой вычислительной системы
На рисунке 6 представлена принципиальная схема вычислительной системы на
базе процессора К1810 ВМ86:
Рисунок - 6
Элементы, входящие в схему:
СГ - системный генератор.
·
ЦП - центральный
процессор.
·
ПЗУ - постоянное
запоминающее устройство.
·
ОЗУ - оперативное
запоминающее устройство.
·
ПТ - программируемый
таймер.
·
ИГ - индикатор
готовности.
·
ПВВ - порт
ввода-вывода.
Системная шина контроллера состоит из трех составляющих: шины адреса
(AB), шины данных (DB), шины управления (CB).
5. Структура работы алгоритма схемы УВ.
Рисунок 7. Схема работы блока УВ
6.
Расчет времени выполнения программы
На основании табличных данных для каждой из используемых команд,
определяем общее суммарное количество тактов, затрачиваемое на выполнение
одного прохода цикла.
mov dx,300h ; 7 тактов
in al,dx ; 10 тактов
mov dl,al ; 7 тактов
in al,dx ; 10 тактов
mov cl,al ; 7 тактов
CKL:
in al,dx ; 10 тактов
mov bl,al ; 7 тактов
mul al,bl ; 77 тактов
div ax,dl ; 90 тактов
mov bl,al ; 7 тактов
mov al,ah ; 7 тактов
out dx,al ; 10 тактов
mov dl,cl ; 7 тактов
mov cl,bl ; 7 тактов
jmp CLK ; 10 тактов
На время выполнения одного полного цикла вычислений тратиться 273 тактов
и составляет 54.6 мкс при частоте процессора 5 МГц.
7. Определение параметров подсистемы памяти
Емкость памяти данных определяется выражением:
Qz = k (Nпр + 2Nисх + Nкр),
(1)
где Nпр, Nисх, Nкр, - соответственно
количество ячеек памяти для хранения промежуточных, исходных данных и конечных
результатов, k>=1, - коэффициент учитывающий затраты памяти для организации команд
защиты и контроля.
Часть этой памяти реализуется в виде РП:
рп =< Nпр + Nисх + Nкр
Равенство в этом выражении имеет место при Qрп=<Qрп
доп, где Qрп доп - допустимое значение емкости РП,
определяемое ограничением возможностей регистровой адресации, конструктивными и
другими соображениями. Далее память данных распределяется между двумя модулями
РП и ОЗУ и определяется механизм обмена данными между этими модулями в процессе
решения задачи. В этом случае РП выполняет роль кэш-памяти.
Емкость памяти программ определяется выражением:
Qn=< Nn + Nk + Nnn
+ NT + Nnon
где Nn, Nk, Nnn, NT, Nnon,
- количества ячеек памяти соответственно для размещения программ, констант,
подпрограмм, теста контроля, программ обработки прерываний.
Исходя из текста программы получаем, с учетом, что одна инструкция в
памяти занимает от 1 до 3 байт, определяем необходимый объем памяти для
хранения.
mov dx,300h ; 2 байта
in al,dx ; 2 байтаdl,al ; 2 байта
in al,dx ; 2 байтаcl,al ; 2 байта
CKL: al,dx ; 2 байтаbl,al ; 2 байта
mul al,bl ; 2 байтаax,dl ; 2 байтаbl,al
; 2 байтаal,ah ; 2 байтаdx,al ; 2 байтаdl,cl ; 2 байтаcl,bl ; 2 байтаjmp CLK ; 3 байта
Т.о. для хранения инструкций данной программы необходимо приблизительно
31 байта. Следовательно, выберем память на основе микросхемы К505РЕ3:
статическое ПЗУ емкостью 4096 бит (512х8).
Заключение
В результате проведенной контрольно-курсовой работы были закреплены
знания по курсу «Организация ЭВМ и систем», получены навыки по проектированию
вычислительных систем на основе процессора x86 (К1810).