Разработка прототипа ядра микроЭВМ, страница 5

Примечание: S0 – бит связи в регистр RAM, S1 – бит связи для Q-регистра, F15 – содержимое знакового разряда операнда.

В таблице 4 покажем функционирование логики сдвигов

Таблица 4

Входы

Выходы

Биты связи

 
 

16MK[72]S0

16MK[73]S1

I7

Q0

Q15

R0

R15

S0

S1

 

0

0

0

´

0

´

0

R0

Q0

 

0

0

1

0

´

0

´

R15

Q15

 

0

1

0

´

S1

´

S0

R0

Q0

 

0

1

1

S1

´

S0

´

R15

Q15

 

1

0

0

´

S0

´

S1

R0

Q0

 

1

0

1

S0

´

S1

´

R15

Q15

 

1

1

0

´

S0

´

N

R0

Q0

 

1

1

1

N

´

S1

´

R15

Q15

Комментарии:

S0, S1­ ­­­­– тип сдвига

I7 – направление сдвига

N (F15)  – содержимое знакового разряда результата

´ - состояние данного входа безразлично (если это выход, то он работает как вход)

6.  Разработка микропрограммного устройства управления (МУУ)

6.1  Компоновка МУУ

В качестве МУУ былa выбрана схема с конвейером первого порядка с регистром МК, как наиболее распространенная и экономичная структура.

Устройство микропрограммного управления состоит из секвенсера микрокоманд AM29C331, микропрограммной памяти, построенной на микросхемах фирмы Cypress CY7C276-H67, организация которой 16К´16 бит (6 штук); преобразователя начального адреса (ПНА), выполненного на микросхемах CY7C225A-25DMB с организацией 512х8 бит (2 шт.); регистров команд IDT74FCT16823BT(1 шт.) и микрокоманд IDT74FCT16823BT(6 шт.) фирмы Integrated Device Technology (см. рис. 4).

Схема МУУ приведена в приложении 2.

6.2  Принцип работы

Шестнадцать разрядов идут с шины данных в регистр команд (РгКом). Далее 8 разрядов (КОП) передаются на ПНА, другие восемь на селектор адреса ОБ (если разрешен вывод – MK[4]), что делает программно-доступными лишь 16 ячеек РГФ.

Преобразованный адрес с ПНА поступает на 16-разрядный секвенсер. Он адресует МПП, которая организована как 16K´(8+8) бит. Далее микрокоманда с выхода МПП фиксируется в регистре микрокоманд, откуда с приходом положительного синхросигнала подается на устройства, которыми она управляет. С помощью микрокоманды можно сформировать адрес перехода секвенсера, который подается на дополнительную шину А015. Флаги C,N,V,Z из ОБ подаются на входы T8-T11.

Также организован доступ к выбору тестируемых условий с верхнего, программного, уровня. Таким образом, мы имеем 10 тестируемых условий (флаги из ОБ: C,Z,N,V и композитные условия: C+Z, C#+Z, NÅV, (NÅV)+Z; 2 бита связи при выполнении сдвиговых операций), которые выбираются с использованием входа S0-S3.

На вход OED секвенсера подается логический 0 для запрещения вывода в D-шину.

Т.к. в системе секвенсер является ведущим, то на вход SLAVE подается логический “0”.

На вход HOLD подается логический “0”, т.к. режим приостановки секвенсера в данной работе использовать незачем.

На вход FC – лог. “0”, т.к. в данной работе не рассматриваются операции, в которых надо выполнять микрокоманды, следующие друг за другом. Секвенсер здесь используется по своему прямому назначению.

На входы INTR и INTEN также подается логический “0”, на двунаправленный тристабильный вывод INTA# подается логическая “1”, потому что организация прерываний выходит за рамки настоящей работы.

На входы многоканального ветвления M3-M0,0-3 подадим “1”, т.к. многоканальные ветвления я не рассматриваю вследствие отсутствия упоминания о них в задании.

Константа, которая формируется микрокомандой и содержится в младших ее адресах,  записывается в регистр константы (в младший регистр), имеющий выход на локальную шину данных ОБ. Разрешение вывода регистра константы задается битом микрокоманды 2MK.