logo search
Курсовой (27) / САНЯ

3 Структурная схема МикроЭвм

В состав микроЭВМ входят средства операционной части, управляющей части и системные устройства.

Структурная схема микроЭВМ приведена на рисунке 2

16

МИ

Двх

3/0

Двых

ВхП

ИВС

!СД1

ЧП

ВхП

БМП

СУП

СП

ВыхП

МК

АМК

АМК

УП

БМУ

ШД

МИ

МЛУ

М1

М0

МИ

ЛУ

БС

СИ1

СИ2

СИ3

19

16

1

2

40

10

3

2

18

16

16

1

14

1

1

1

1

1

1

16

16

9

3

4

8

3

8

2

МВх

МВых

МУ

БМП– Блок МикроПроцессора

СУП– Схема Ускоренного Переноса

БМПП– Блок Магистрального Приема Передатчика

УП– Управляющая Память

БМУ– Блок Микропрограмного Управления

М вых– Выходная Магистраль

М вх– Входная Магистраль

МУ– Магистраль управления

БС – Блок синхронизации

БР – буферный регистр

ВхП(ВхПАЛУ)– Вход Переноса АЛУ

ВыхП– Выход Переноса АЛУ

!СД1– Сдвиг циклический

МИ– Код МикроИнструкции

Двх– Входные Данные

Двых– Выходные Данные

ЛУ– Логические Условия

ЧП– Сигналы частичных переносов

М1, М2, М3– Входной/Выходной/Внешний Каналы

МК– МикрокомандаАМК– Адрес Микро Команды

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

БМП предназначен для арифметико-логической обработки и временного хранения информации, представленной в двоичном коде. В БМП может входить одна или несколько секций в зависимости от разрядности микроЭВМ.

СУП обрабатывает межсекционные переносы (СП), общий входной перенос (ВхП) и формирует выходной перенос БМП (ВыхП)

БМП имеет разделенную двойную шину данных входную (Двх) и выходную (Двых). Микропрограммное управление осуществляется по шине микроинструкций (МИ). БМП имеет выход частичного переноса (ЧП), на основе которого вырабатывается ВыхП (СУП). В качестве логического условия подключен выход инверсного сигнала сдвига одинарного слова (!СД) и вход переноса (ВхП) арифметико-логического устройства (АЛУ).

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

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

БС формирует три синхроимпульса (СИ1, СИ2, СИ3) по которым осуществляется стробирование выполнения микроинструкций.

К управляющей части относятся блок микропрограммного управления (БМУ), управляющая память(УП), мультиплексор логических условий (МЛУ).

БМУ формирует последовательность адресов для УП.

УП производит хранение микропрограмм и передачу микрокоманд.

МЛУ производит коммутацию логических условий.

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

В таблице 1 приведен формат микрокоманды для данного проекта

Таблица 1

Поля микроинструкций

ГТ

ПД

РВ

БМПП

БР

МЛУ

БМУ

БМП

ВхП

40

39

38

37 30

29 27

26 24

23 10

9 1

0

Для отображения исходного алгоритма в системе команд необходимо определить системы символьного и двоичного кодирования микроинструкций отдельных блоков и микрокоманд в целом.

В нашем случае необходимо для МЛУ, БР и однобитовых сигналов ГТ, ПД, РВ и ВхП., составить таблицы соответствия двоичного и символьного кодирования.

Микроинструкции БР и МЛУ приведены в таблицах 2 и 3 соответственно.

Таблица 2

Микроинструкции БР

Мнемокод микроинструкции БР

Двоичный код МИ

Примечание

ЗБ

10

Запись БР

ЧТ

00

Чтение

НОП

х1

Хранение, отсутствие операций

Таблица 3

Микроинструкции МЛУ

Мнемокод микроинструкции МЛУ

Двоичный код МИ

Примечание

КИП

000

Коммутация инверсии ВП

КИС

001

Коммутация инверсии СД

КСД

010

Коммутация выхода !СД

К1

011

Коммутация единицы

К0

1хх

Коммутация нуля

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

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

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

В данной работе операция умножения вызывается по коду операции 000, что соответствует переходу на адрес 00В после ввода операндов и кода операции, операция сложение вызывается по коду 001, что соответствует переходу на адрес 02В, операция вычитание по коду 010, что соответствует адресу 04В, операция деление по коду операции 011, что соответствует адресу 06В, операция «и» по коду 100, что соответствует адресу 08В, операция «или» по коду 101, что соответствует адресу 0АВ и операция «или» вызывается по коду 110, что соответствует адресу 0СВ.

Адр УП h

 

 

Формат микрокоманды

 

Примечание

ГТ

ПД

РВ

БМПП

БР

МЛУ

БМУ

БМП

ВхП

000

ГТ

-

РВ

М3=М2

-

К0

СЧ

РР=РР

-

 

001

-

-

-

М1=М3

-

КИС

СЧ

РР=РР

-

 

002

-

-

-

М1=М3

-

К0

СЧ

РОН0=ШинВх

-

Ввод А

003

-

ПД

РВ

М3=М2

-

К0

СЧ

РР=РР

-

 

004

ГТ

-

РВ

М3=М2

-

К0

СЧ

РР=РР

-

 

005

-

-

-

М1=М3

-

КИС

СЧ

РР=РР

-

 

006

-

-

-

М1=М3

-

К0

СЧ

РОН1=ШинВх

-

Ввод В

007

-

ПД

РВ

М3=М2

-

К0

СЧ

РР=РР

-

 

008

ГТ

-

РВ

М3=М2

-

К0

СЧ

РР=РР

-

 

009

-

-

-

М1=М3

-

КИС

СЧ

РР=РР

-

 

00A

-

-

-

М1=М3

-

К1

РКМ АТР 00В

РР=РР

-

00В Умножение 02В Сложение 04В Вычитание 06В Деление 08В И 0АВ ИЛИ 0СВ НЕ

00B

-

ПД

РВ

М3=М2

-

К0

СЧ

РОН6=!П

П

Начало Умножение

00C

-

-

-

-

-

КИП

ПА00D

РР=!РОН0+П

П

А=0, если П=1 то на 00E иначе 00D

00D

-

-

-

-

-

КИП

ПА00F

РР=!РОН1+П

П

В=0,если П=1 то на 010 иначе 00F

00E

-

-

-

-

-

К1

ПА096

РОН2:=!П

П

С:=0 И ПА на конец

00F

-

-

-

-

-

K1

ПА011

РР:=!П

П

Зануление РР

010

-

-

-

-

-

К1

ПА096

РОН2:=!П

П

С:=0 И ПА на конец

011

-

-

-

-

-

К0

СЧ

РР:=РР+П

П

Начало формирования const 1100…00

012

-

-

-

-

-

К0

СЧ

РР:=СЦП (РР+П)

-

 

013

-

-

-

-

-

К0

СЧ

РР:=РР+П

П

 

014

-

-

-

-

-

К0

СЧ

РР:=СЦП (РР+П)

-

 

015

-

-

-

-

-

К0

СЧ

PОН3:=РР+П

-

const k В РОН3

016

-

-

-

-

-

К0

СЧ

РР:=PОН0+П

-

Определение знака

017

-

-

-

-

-

К0

СЧ

РР:=PОН1 xor РР

-

 

018

-

-

-

-

-

К0

СЧ

РР:=PОН3 and РР

-

 

019

-

-

-

-

-

К0

СЧ

PОН5:=РР+П

-

Конец определ знака Запись в РОН5

01A

-

-

-

-

-

К0

СЧ

РР:=PОН3+П

-

 

01B

-

-

-

-

-

К0

СЧ

PОН0:=PОН0 and !РР

-

нули в знаки А

01C

-

-

-

-

-

К1

ПА02D

PОН1:=PОН1 and !РР

-

нули в знаки В

01D

-

-

-

-

ЗБ

К1

ПА02Е

ШИНвых:=PОН2

-

Умножение 000 Переход на само умн ПА02Е

01E

-

-

-

-

ЧБ

К0

СЧ

РР:=ШинВх

-

Сдвиг Сч на 2 разряда вправо

01F

-

-

-

-

-

К0

СЧ

РР:=PОН3+РР+П

-

 

020

-

-

-

-

ЗБ

К0

СЧ

ШинВых:=РР+П

-

 

021

-

-

-

-

ЧБ

К0

СЧ

РР:=ШинВх

-

Сдвиг Сч на 2 разряда вправо

022

-

-

-

-

-

К0

СЧ

РР:=PОН3+РР+П

П

 

023

-

-

-

-

-

К0

СЧ

РР:=СЦП (РР+П)

-

 

024

-

-

-

-

-

К0

СЧ

PОН4:=РР+П

-

конец Формиров Сч=11111110,,0 запись в РОН4

025

-

-

-

-

-

К0

СЧ

РРР:=!П

П

Tr=0

026

-

-

-

-

-

К0

СЧ

РР:=PОН0+П

-

 

027

-

-

-

-

-

К0

СЧ

РР:=СЛЛ (РР+П)

-

 

028

-

-

-

-

-

К0

СЧ

PОН7:=РР+П

-

хранение в РОН7 А свиг на 1 раз влево

029

-

-

-

-

-

К0

СЧ

PОН2:=РРР+П

-

C:=0

02A

-

-

-

-

-

К1

ПА02С

ШИНвых:=PОН1

-

Вывод В на 2-ной свиг

02B

-

ПД

РВ

М3=М2

-

К1

ПА036

РОН6=!П

П

начало Сложения

02C

-

-

-

-

-

К1

РКС АТР 01D

PОН1:=ШИНвх

-

Получение В и сразу анализ перехода по маске

02D

-

-

-

-

ЗБ

К1

ПА01Е

ШинВых:=РР+П

-

Формиров Сч=11111110,,0

02E

-

-

-

-

ЧБ

К0

СЧ

PОН2:=ШИНвх

-

Сдвиг С на 2 разряда вправо

02F

-

-

-

-

-

К0

СЧ

РРР:=!П

П

Tr=0, И на анализ Счетчика ПА030

030

-

-

-

-

-

К0

СЧ

РР:=PОН4+П

-

Анализ Счетчика

031

-

-

-

-

-

КСД1

ПА032

РР:=СЦЛ (РР+П)

-

Если Вышел 1 то на (033) иначе (032)

032

-

-

-

-

-

К1

ПА034

РР:=PОН2+П

-

Счетчик =0 Переход на слияние знака

033

-

-

-

-

-

К1

ПА02С

ШИНвых:=PОН1

-

Счетчик =1 Переход на свиг В

034

-

-

-

-

-

К0

СЧ

РР:=PОН5 or РР

-

Слияние ЗнС и С

035

-

-

-

-

-

К1

ПА096

PОН2:=PОН2+П

-

Результат В РОН2 уход на вывод результата

036

-

-

-

-

-

КИП

ПА037

РР:=!PОН0+П

П

А=0, если П=1 то на 038 иначе 037

037

-

-

-

-

-

КИП

ПА03А

РР:=!PОН1+П

П

В=0, если П=1 то на 03В иначе 03А

038

-

-

-

-

-

К0

СЧ

РР:=PОН1+П

-

 

039

-

-

-

-

-

К1

ПА096

PОН2:=РР+П

-

С:=В И на выход

03A

-

-

-

-

-

К1

ПА04D

РР:=PОН0+П

-

нет переноса В

03B

-

-

-

-

-

К0

СЧ

РР:=PОН0+П

-

 

03C

-

-

-

-

-

К1

ПА096

PОН2:=РР+П

-

С:=А И на выход

03D

-

-

-

-

-

К0

СЧ

РР:=PОН2+П

-

Умножение 001

03E

-

-

-

-

-

К0

СЧ

РР:=PОН0+РР+П

-

 

03F

-

-

-

-

-

К1

ПA01D

PОН2:=РР+П

-

С+=A и ПА01D

040

-

-

-

-

-

К0

СЧ

РР:=PОН2 xor РР

-

 

041

-

-

-

-

-

КСД1

ПА042

РР:=СЦЛ (РР+П)

-

 

042

-

-

-

-

-

К1

ПА096

РОН6:=!П

-

есть переполн формиров ошибки и на вывод

043

-

-

-

-

-

К1

ПА096

РР:=РР

-

нет переполнения на Вывод

044

-

-

-

-

-

К1

ПА046

РР:=!PОН0+П

П

нет переноса В

045

-

-

-

-

-

К1

ПА096

РОН6:=!П

-

В=0 формиров ошибки и на вывод

046

-

-

-

-

-

К1

ПА048

РР:=!PОН1+П

П

нет переноса А В1:=-В

047

-

-

-

-

-

К1

ПА096

РОН2:=!П

-

А=0 С:=0 и на выход

048

-

-

-

-

-

К0

СЧ

РР:=PОН0+РР+П

-

С=А+(не В +1)

049

-

-

-

-

-

КСД1

ПА050

РР:=СЦЛ (РР+П)

-

проверка С>0,если вышел 1 то на (051) иначе (050)

04A

-

-

-

-

-

К1

ПА052

РР:=!П

-

счетчик начало

04B

-

ПД

РВ

М3=М2

-

К0

СЧ

РОН6=!П

П

начало Вычитания

04C

-

-

-

-

-

К1

ПА036

PОН1:=!PОН1+П

П

В:=-В и уход на сложение

04D

-

-

-

-

-

К0

СЧ

РР:=PОН1+РР+П

-

 

04E

-

-

-

-

-

К0

СЧ

PОН2:=РР+П

-

С=А+В

04F

-

-

-

-

-

К1

ПА040

РР:=СЛЛ (РР+П)

-

Начало проверки знаков

050

-

-

-

-

-

К1

ПА04А

PОН2:=!П

П

РОН2:=0

051

-

-

-

-

-

К1

ПА096

РОН6:=!П

-

Error=11…11 и на конец

052

-

-

-

-

-

К0

СЧ

РР:=СЛЛ (РР+П)

-

счетчик

053

-

-

-

-

-

К0

СЧ

РР:=СЛЛ (РР+П)

-

счетчик

054

-

-

-

-

-

К0

СЧ

PОН4:=РР+П

-

счетчик запись в РОН4

055

-

-

-

-

-

К0

СЧ

РР:=!П

П

почучение const К=11,0,,,0

056

-

-

-

-

-

К0

СЧ

РР:=РР+П

П

const К

057

-

-

-

-

-

К0

СЧ

РР:=СЦП (РР+П)

-

const К

058

-

-

-

-

-

К0

СЧ

РР:=РР+П

П

const К

059

-

-

-

-

-

К0

СЧ

РР:=СЦП (РР+П)

-

const К

05A

-

-

-

-

-

К0

СЧ

PОН7:=РР+П

-

кон const К=11,0,,,0 Хран в РОН7

05B

-

-

-

-

-

К0

СЧ

РР:=PОН0+П

-

нач определ знаков

05C

-

-

-

-

-

К1

ПА06D

РР:=PОН1 xor РР

-

 

05D

-

-

-

-

-

К0

РР:=PОН2+П

-

Умножение 010

05E

-

-

-

-

-

К0

РР:=PОН7+РР+П

-

 

05F

-

-

-

-

-

К1

ПА01D

PОН2:=РР+П

-

С+=АСвиг на1 вправо и ПА01D

060

-

-

-

-

-

К0

СЧ

PОН0:=PОН0 and !РР

-

зануление знаков А

061

-

-

-

-

-

К0

СЧ

PОН1:=PОН1 and !РР

-

зануление знаков В

062

-

-

-

-

-

К0

СЧ

РР:=!П

П

const H=10.00....0

063

-

-

-

-

-

К0

СЧ

РР:=РР+П

П

 

064

-

-

-

-

-

К0

СЧ

РР:=СЦП (РР+П)

-

 

065

-

-

-

-

-

К0

СЧ

PОН3:=РР+П

-

запись H в РОН3

066

-

-

-

-

-

К0

СЧ

РР:=PОН1+П

-

сдвиг В вправо

067

-

-

-

-

-

К0

СЧ

РР:=СЛП (РР+П)

-

 

068

-

-

-

-

-

К0

СЧ

PОН1:=РР+П

-

запись В в РОН1

069

-

-

-

-

-

К0

СЧ

РР:=!PОН1+П

П

РР=(не В)+1

06A

-

-

-

-

-

К1

ПА070

РР:=PОН0+РР+П

-

РР=А+(не В +1)

06B

-

ПД

РВ

М3=М2

-

К0

СЧ

РОН6=!П

П

Начало Деление

06C

-

-

-

-

-

КИП

ПА044

РР:=!PОН1+П

П

проверка В=0

06D

-

-

-

-

-

К0

СЧ

РР:=PОН7 and РР

-

 

06E

-

-

-

-

-

К0

СЧ

PОН5:=РР+П

-

ЗнС=ЗнА+ЗнВ хранение в рон5

06F

-

-

-

-

-

K1

ПА060

РР:=PОН7+П

-

 

070

-

-

-

-

-

К0

СЧ

PОН0:=РР+П

-

А=А+(не В +1)

071

-

-

-

-

-

КСД1

ПА072

РР:=СЦЛ (РР+П)

-

проверка A>0,если вышел 1 то на (073) иначе (072)

072

-

-

-

-

-

К1

ПА07В

РР:=PОН2+П

-

А>0, сдвиг С

073

-

-

-

-

-

К0

СЧ

РР:=PОН2+П

-

A<0 C[0]=1

074

-

-

-

-

-

К0

СЧ

РР:=PОН3+РР+П

-

 

075

-

-

-

-

-

К0

СЧ

РР:=СЦП (РР+П)

-

 

076

-

-

-

-

-

К0

СЧ

PОН2:=РР+П

-

C[0]=1

077

-

-

-

-

-

К0

СЧ

РР:=PОН4+П

-

сдвиг счетчика

078

-

-

-

-

-

КСД1

ПА079

РР:=СЦЛ (РР+П)

-

анализ Сч=0, если вышел 0 то на (079) иначе (07A)

079

-

-

-

-

ЗБ

К1

ПА087

ШИНвых:=PОН2

-

Сч=0 уход на 2-ой сдвиг С

07A

-

-

-

-

-

К1

ПА066

PОН4:=РР+П

-

Сч<>0 сдвиг В вправо

07B

-

-

-

-

-

К0

СЧ

РР:=СЦП (РР+П)

-

сдвиг С

07C

-

-

-

-

-

К1

ПА08D

PОН2:=РР+П

-

сдвиг С и Хран в РОН2

07D

-

-

-

-

-

К1

ПА08Е

РР:=!PОН0+П

П

Умножение 011 РР=-А

07E

-

-

-

-

-

КСД1

ПА07F

РР:=СЦЛ (РР+П)

-

анализ Сч=0, если вышел 0 то на (07F) иначе (080)

07F

-

-

-

-

ЗБ

К1

ПА087

ШИНвых:=PОН2

-

Сч=0 уход на 2-ой сдвиг С

080

-

-

-

-

-

К0

СЧ

PОН4:=РР+П

-

Сч<>0 сдвиг В вправо

081

-

-

-

-

-

К0

СЧ

РР:=PОН1+П

-

сдвиг В

082

-

-

-

-

-

К0

СЧ

РР:=СЛП (РР+П)

-

сдвиг В вправо

083

-

-

-

-

-

К0

СЧ

PОН1:=РР+П

-

Хран В в РОН1

084

-

-

-

-

-

К0

СЧ

РР:=!PОН1+П

П

в РР запись (не В+1)

085

-

-

-

-

-

К0

СЧ

РР:=PОН0+РР+П

-

РР=А+(не В +1)

086

-

-

-

-

-

К1

ПА071

PОН0:=РР+П

-

А=А+(не В+1) и ПА071

087

-

-

-

-

ЧБ

К0

СЧ

PОН2:=ШИНвх

-

Сдвиг С на 2 разряда вправо

088

-

-

-

-

-

К0

СЧ

РР:=РОН2+П

-

РР:=С

089

-

-

-

-

-

К0

СЧ

РР:=PОН5 or РР

-

С=ЗнС+С

08A

-

-

-

-

-

К1

ПА096

PОН2:=РР+П

-

Хран результата и на выход

08B

-

ПД

РВ

М3=М2

-

К0

СЧ

РОН6=!П

-

Начало И

08C

-

-

-

-

-

К1

ПА094

РР:=PОН0+П (П=0)

-

РР:=А

08D

-

-

-

-

-

К1

ПА07Е

РР:=PОН4+П

-

счетчик сдвиг

08E

-

-

-

-

-

К0

СЧ

РР:=PОН2+РР+П

-

 

08F

-

-

-

-

-

К0

СЧ

PОН2:=РР+П

-

С-=А

090

-

-

-

-

ЗБ

К0

СЧ

ШИНвых:=PОН2

-

 

091

-

-

-

-

ЧБ

К0

СЧ

PОН2:=ШИНвх

-

Сдвиг С на 2 разряда вправо

092

-

-

-

-

-

К0

СЧ

РР:=!П

П

 

093

-

-

-

-

-

К1

ПА030

РРР:=РР+П

П

Tr=1 и на анализ счета ПА030

094

-

-

-

-

-

К0

СЧ

РР:=PОН1 and РР

-

РР:=A and B

095

-

-

-

-

-

К0

СЧ

PОН2:=РР+П

-

C:=PP и на выход

096

ГТ

-

РВ

М3=М2

-

К0

СЧ

ШИНвых:=PОН6

-

Начало Вывода Ошибки

097

-

-

-

М1=М3

-

КИС

СЧ

РР:=РР

-

 

098

ГТ

-

РВ

М3=М2

-

К0

СЧ

ШИНвых:=PОН2

-

Вывод результата

099

-

-

-

М1=М3

-

КИС

СЧ

РР:=РР

-

 

09A

-

-

-

-

-

К1

ПА000

РР:=РР

-

КОНЕЦ переход в начало

09B

-

-

-

-

-

К0

СЧ

РР:=PОН1 or РР

-

РР:=A or B

09C

-

-

-

-

-

К1

ПА096

PОН2:=РР+П

-

C:=PP и на выход

09D

-

-

-

-

-

К1

ПA03E

PОН2:=РР+П

-

Умножение 100 и ПА03E

09E

-

-

-

-

-

К1

ПА09В

РР:=PОН0+П (П=0)

-

РР:=А

09F

-

-

-

-

-

К0

СЧ

РР:=!РОН0+П

-

 

0A0

-

-

-

-

-

К1

ПА096

РОН2:=РР+П

-

в РОН2 Хран НЕ А

0A1

-0AA

 

 

 

 

 

 

0AB

-

ПД

РВ

М3=М2

-

К1

ПА09Е

РОН6=!П

-

Начало ИЛИ

0AC-

0BC

 

 

 

 

 

 

 

 

 

 

0BD

-

-

-

-

-

К1

ПА05Е

РР:=PОН2+П

-

Умножение 101 и ПА06Е

0BE-

0CA

 

 

 

 

 

 

 

 

 

 

0CB

-

ПД

РВ

М3=М2

-

К1

ПА09F

РОН6=!П

-

Начало НЕ

0CC-

0DC

 

 

 

 

 

 

 

 

 

 

0DD

-

-

-

-

-

К1

ПА08Е

РР:=!PОН0+П

П

Умножение 110 ПА08Е

0DE-

0FD

 

 

 

 

 

 

 

 

 

 

0FD

-

-

-

-

-

К1

ПА090

РР:=РР

-

Умножение 111 ПА090