Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
эвм конспект лекций.doc
Скачиваний:
233
Добавлен:
30.03.2015
Размер:
910.34 Кб
Скачать

Примеры реализации операций в интегральной оч

При отображении алгоритма выполняемой операции в системе микроинструкций используется следующая методика.

  1. Исходный алгоритм детализируется до уровня регистровых пересылок.

  2. Размещение необходимых переменных и констант закрепляется за определенными регистрами интегральной ОЧ (распределение аппаратных средств).

  3. Формальным регистрам, задействованным в алгоритме, ставятся в соответствие физические регистры ОЧ, при этом учитывается, что сумматор комбинационный (нет накопления результата).

  4. Осуществляется отображение исходного алгоритма в системе микроинструкций.

  5. Выполняется моделирование исполнения микропрограммы на инструментальных средствах либо отладка на макете ОЧ.

Рассмотрим пример выполнения логической операции. В соответствии с приведённой выше методикой исходный алгоритм (рис. 14 а) детализируется до уровня регистровых пересылок (рис. 14 б). Закрепляем за логическим регистром R1 физический регистр РОН0, а за логическим регистром R2 – РОН1. Для размещения результата будем использовать РОН2. Учитывая систему микроинструкций и комбинационные свойства сумматора, для сохранения промежуточных результатов и пересылок используем РР.

Результирующая микропрограмма приведена на рис. 14 в.

Если в ОЧ реализуется набор микропрограмм (операций), то рекомендуется в общем алгоритме работы микроЭВМ реализовать общий протокол ввода и общий протокол вывода для всех операций, то есть исходные операнды и результаты будут размещаться в одних и тех же регистрах для всех операций.

Пример фрагмента микропрограммы операции суммирования чисел в прямых кодах представлен в табл. 4. Исходным считаем алгоритм, приведённый на рис. 9, а отображение на уровень регистровых пересылок выполнено при разработке соответствующей ГСА (см. рис. 11). За исходными операндами закрепляются РОН0, РОН1, за результатом – РОН2. В РОН3 хранится константа вида 10…0, РОН4 и РОН5 используются для временного размещения модулей операндов. Мнемокоды инструкций соответствуют требованиям отладчика К584EMUL.

Таблица 4

Микропрограмма операции суммирования

Адрес

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

Примечание

1

2

3

4

1

00 0000

PОН0:=ШИНвх

Ввод операнда А

2

00 0001

PОН1:=ШИНвх

Ввод операнда В

3

00 0010

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

А = 0 ? Если да, то идти к 27

4

00 0011

РР:=!PОН1+П (П=1)

В = 0 ? Если да, то идти к 29

5

00 0100

РР:=!П (П=1)

РР = 0..0

6

00 0101

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

РР = 10...0

7

00 0110

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

Сохранение маски 10...0 в РОН3

8

00 0111

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

Пересылка А

9

00 1000

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

Выделение Ам

10

00 1001

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

Сохранение Ам

11

00 1010

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

Пересылка В

12

00 1011

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

Выделение Вм

13

00 1100

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

Сохранение Вм

14

00 1101

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

Пересылка А

15

00 1110

РР:=PОН1 xor РР

Сравнение знаков

16

00 1111

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

Если !СД1 = 0, идти к 30

17

01 0000

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

Пересылка Ам

18

01 0001

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

См = Ам + Вм

19

01 0010

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

Сохранение См

20

01 0011

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

Если !СД1=0, идти к 36

21

01 0100

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

Пересылка А в РР

Продолжение табл. 4

1

2

3

4

22

01 0101

РР:=PОН3 and РР

Формирование ЗнС

23

01 0110

PОН2:=PОН2 or РР

Формирование С

24

01 0111

РРР:=!П (П=1)

Сообщение «Переполнения нет»

25

01 1000

ШИНвых:=РРР+П(П=0)

Вывод сообщения

26

01 1001

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

Вывод С, "Конец"

27

01 1010

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

Пересылка В в РР

28

01 1011

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

Сохранение С, идти к 24 на вывод

29

01 1100

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

Пересылка А в РР, идти к 28

30

01 1101

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

Пересылка Ам в РР

31

01 1110

РР:=РР-PОН1-1+П (П=1)

См = Ам – Вм

32

01 1111

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

Сохранение См

33

10 0000

РР:=!РР+П (П=1)

Если См = 0, идти к 37

34

10 0001

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

Пересылка См в РР

35

10 0010

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

Если !СД1=0, идти к 38, иначе к 21

36

10 0011

РРР:=!П (П=0)

«Переполнение», идти к 25

37

10 0100

PОН2:=!П (П=1)

С = 0, идти к 24

38

10 0101

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

Пересылка Вм в РР

39

10 0110

РР:=РР-PОН4-1+П (П=1)

См = Вм – Ам

40

10 0111

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

Пересылка См

41

10 1000

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

Пересылка В в РР, идти к 22

Так как система микроинструкций алгоритмически избыточна, реализовать конкретную микропрограмму можно многими путями с учетом требований технического задания. Например, если требуется самая дешевая реализация без ограничений во времени, алгоритм реализуется программным путем, без привлечения дополнительных аппаратных средств. Если требуется ускоренная реализация, привлекаются внешние аппаратные средства, ускоряющие выполнение тех или иных инструкций.

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