
- •1 Анализ требований к устройству
- •2 Разработка устройства
- •2.1 Описание структуры устройства
- •2.2 Разработка функциональной схемы устройства
- •2.2.1 Описание работы устройства по функциональной схеме
- •2.2.2 Описание функционирования операционного блока по функциональной схеме
- •2.3 Выбор элементов для реализации устройства
- •2.4 Разработка принципиальной схемы устройства
- •2.4.1 Описание функционирования управляющего автомата по принципиальной схеме
- •2.4.2 Описание функционирования операционного автомата по принципиальной схеме
- •4 Моделирование схемы устройства
- •Заголовок
2.2.1 Описание работы устройства по функциональной схеме
Процесс выполнения микрооперации начинается с подачи из внешнего устройства на входы триггера Т сигнала START, который устанавливает триггер в 1. Высокий уровень сигнала с выхода триггера разрешает прохождение тактовых импульсов SYNC на счетный вход счетчика.
Сигналы с выходов счетчика поступают на входы дешифратора DC, который определяет соответствие состояния счетчика состоянию управляющих сигналов, формируемых на выходах дешифратора.
Следует отметить то обстоятельство, что при реализации спецпроцессора с непосредственными связями каждая МКО выполняется, как правило, в течение одного такта сигнала синхронизации. В схеме с магистральными связями это условие не всегда выполнимо, так как при передаче данных все элементы схемы используют общую шину данных. Поэтому время выполнения МКО будет зависеть от ее сложности и выполняться в течение нескольких тактов сигнала синхронизации.
Примеры выполнения МКО представлены в таблице 1. Управляющие сигналы, не указанные в таблице 1 при выполнении МКО, должны иметь неактивный уровень.
Следует отметить то обстоятельство, что при выполнении микрокоманд формируются следующие признаки:
- признак знака числа S;
- признак переноса C;
- признак нуля результата Z.
Они запоминаются и хранятся на регистре RST.
Таблица 1 – Примеры выполнения МКО
R1:=MD |
1 |
y1,y3=1; y18=П |
R2:=MD |
2 |
y1,y6=1; y19=П |
R3:=MD |
3 |
y1=1; y20=П |
RSM:=RSM+R2+1 |
4 |
y15,y16=1; y5,y4,y13,y14=0; y21=П |
R1:=R1vR2&R3 |
5
|
y9,y11=0; y3=1; y18=П |
RSM:=(R1vR3)+RSM |
6
|
y9,y10,y13,y14,y5=0; y15,y16=1; y21=П
|
R1:=0,5R2 |
7 8
|
y3=1; y18=П y3,y4=0; y18=П
|
RSM:=RSM+R1 |
9
|
y5,y14,y8=0; y15,y16=1; y21=П
|
R3:=RSM |
10
|
y5=1,y16=0,y20=П
|
RSM:=R1&R2 |
11
|
y14,y15,y15,y16=1; y12=0; y21=П |
RSM:=ARS(RSM,1) |
12
|
y15=0; y16,y5=1; y21=П
|
R2:=LC(R2,1) |
13 |
y6=0; y19=П. |
RSM:=R2 |
14
|
y4,y14=0; y15=1; y21=П
|
RSM:=R2+R3 |
15
|
y9,y10,y13,y14=0; y15=1; y21=П
|
MD:=R3 |
16
|
y1=1; y2,y9=0
|
2.2.2 Описание функционирования операционного блока по функциональной схеме
Загрузка операндов
При сигналах у1=1, у2=0 а также сигнале у18=1 значение с шины данных записывается в R1.
Загрузка операндов в R2, R3 происходит аналогично. Отличие состоит в сигналах записи на регистр (у19,у20).
Выполнение команды RSM:=RSM+R2+1
Данные считываются с
RSM и поступают, через
буферный элемент BF8(при
низком уровне сигнала y5),
на вход SM. На другой
вход SM поступает код,
через буферный
элемент BF5(при низком
уровне сигнала у4),с
регистра R2.С
выхода SM результат
через BF4 (при низком
уровне сигнала у14)
поступает на вход RSM
и записываются на него по переднему
фронту сигнала у21.
При выполнении этой команды у13=1.
Выполнение команды RSM:=RSM+R1
При поступлении низких уровней сигналов y5 и у8 на буферные элементы BF5 и BF7 соответственно, на входы сумматора SM поступают коды с регистров RSM и R1. Сумма с выхода сумматора через BF4 (при низком уровне сигнала у14) подается на вход RSM и записывается на него по переднему фронту сигнала у21.
Выполнение команды R3:=RSM
При низком уровне сигнала у16 через буферный элемент BF9 данные c RSM поступают на внутреннюю магистраль и записываются на R3 при низком уровне сигнала y20.
Выполнение команды R1:=R1vR2&R3
Данные с регистров R1 и R2 поступают на схему OR2. Результат поступает на схему AND, на другой вход которой поступает код с выхода регистра R3 (при низком уровне сигнала у9). Далее через BF2 (при низком уровне сигнала у11) данные поступают на регистр R1 и записываются на него по переднему фронту сигнала у18.
Выполнение команды RSM:=(R1 v R3)+RSM
При низких уровнях сигналов у1 и у9 данные с регистров R1 и R3 поступают на входы схемы OR1. С выхода ее результат через BF1 (при низком уровне сигнала у10) поступает на вход сумматора SM. На другой вход SM , через BF8(при низком уровне сигнала у5)поступает содержимое RSM. Сумма с выхода сумматора через BF4 (при низком уровне сигнала у14) подается на вход RSM и записывается на него по переднему фронту сигнала у21.
Выполнение команды R1:=0,5R2
По переднему фронту
сигнала у18 содержимое регистра R2,
через буферный элемент BF5,
поступает и записывается в
R1. Следующий фронт
сигнала у18 сдвигает содержимое регистра
R1 на 1 разряд вправо, что соответствует
делению на 2.
Выполнение команды RSM:=ARS(RSM,1)
При уровнях сигналов у15=0 и по переднему фронту сигнала у21 происходит сдвиг вправо регистра RSM на 1 разряд.
Выполнение команды RSM:=R1&R2
Сигналы с регистров R1 и R2 поступают на схему AND,результат с выхода которой через буферный элемент BF3 передается на вход регистра RSM. Запись на регистр осуществляется по переднему фронту сигнала у21.
Выполнение команды R2:=LС(R2,1)
При уровнях сигналов у6=0 и по переднему фронту сигнала у19 происходит циклический сдвиг влево регистра R2 на 1 разряд.
Выполнение команды RSM:=R2
Содержимое регистра R2, через буферный элемент BF5, поступает на вход регистра RSM и записывается на него по переднему фронту сигнала у21.
Выполнение команды RSM:=R2+R3
При низком уровне
сигнала у9 содержимое регистров R2
и R3, через буферные
элементы BF5(при низком
сигнале у4) и BF6(при
низком уровне сигнала у7) соответственно,
поступают на входы сумматора
SM. Сумма с выхода
сумматора через BF4 (при низком уровне
сигнала у14) подается на вход RSM и
записывается на него по переднему фронту
сигнала у21.
Выполнение команды МD:=R3
По низком уровне сигнала у9, данные с регистра R3 через магистральный передатчик МА2, при наличии низкого уровня сигнала у2 ,передаются на магистральную шину данных.