Курсач Тани (1075037), страница 2
Текст из файла (страница 2)
Микропрограмма “Вычитание”
Вычитание выполняется над целыми двоичными числами со знаком, представленными в прямом коде.
По каждой паре сигналов ЗАПР-ДАННЫЕ передается слово разрядностью 8 бит. ВУ выставляет на шину управления сигнал запроса данных ЗАПР и ждет от устройства А сигнала ДАННЫЕ. По этому сигналу ВУ принимает с входной шины переданные данные и снимает с шины управления сигнал ЗАПР.
Уменьшаемое (A) и вычитаемое (B) имеют длину по одному слову.
По первой паре сигналов ЗАПР-ДАННЫЕ с входной шины принимается уменьшаемое (А), а по второй паре сигналов ЗАПР-ДАННЫЕ с входной шины принимается вычитаемое (В).
Операция сложения происходит в ALU. ALU работает с числами в дополнительном коде, поэтому перед операцией сложения необходимо преобразовать операнды в дополнительный код. Преобразование совершается в зависимости от знака числа – если оно положительное, то в дополнительном коде будет представлено само собой. Если отрицательное, то преобразование осуществляется по формуле:
+1. После осуществления операции в ALU результат тоже должен быть преобразован в прямой код, если он получился отрицательный.
Вывод данных из ВУ в устройство А производится по сигналу РЕЗ /результат/. ВУ выдает на шины управления ШУ сигнал РЕЗ и одновременно выставляет данные /результат/ на выходную шину ШВЫХ. Устройство А принимает данные и подтверждает прием результата сигналом ПРРЕЗ, после чего ВУ снимает с шины управления сигнал РЕЗ.
Разрядность выходного слова равна 8 бит.
Алгоритм микропрограммы операции "Вычитание" представлен на рисунке:
Рис3. Микропрограмма операции “Вычитание”
Микропрограмма “Сдвиг циклический”
При циклическом сдвиге в сдвиге участвуют все разряды слова, причем выдвигаемые разряды записываются в освобождающиеся разряды слова. Эту операцию можно осуществить с помощью сдвигового регистра.
Рис4. Микропрограмма операции “Сдвиг циклический”
Операция "
" выполняется над логическими данными.
По каждой паре сигналов ЗАПР-ДАННЫЕ передается слово разрядностью 8 бит. ВУ выставляет на шину управления сигнал запроса данных ЗАПР и ждет от устройства А сигнала ДАННЫЕ. По этому сигналу ВУ принимает с входной шины переданные данные и снимает с шины управления сигнал ЗАПР.
Оба операнда (А и В) имеют длину по одному слову.
По первой паре сигналов ЗАПР-ДАННЫЕ с входной шины принимается первое логическое слово (А), а по второй паре сигналов ЗАПР-ДАННЫЕ с входной шины принимается второе логическое слово (В).
После того, как операнды были приняты с входной шины, над ними в АЛУ производится машинная операция
и результат присваивается С.
Вывод данных из ВУ в устройство А производится по сигналу РЕЗ /результат/. ВУ выдает на шины управления ШУ сигнал РЕЗ и одновременно выставляет данные /результат/ на выходную шину ШВЫХ. Устройство А принимает данные и подтверждает прием результата сигналом ПРРЕЗ, после чего ВУ снимает с шины управления сигнал РЕЗ.
Разрядность выходного слова равна 8 бит.
Алгоритм микропрограммы операции "
" представлен на рисунке:
Рис5. Микропрограмма операции “
”
Операция "
" выполняется над логическими данными.
По каждой паре сигналов ЗАПР-ДАННЫЕ передается слово разрядностью 8 бит. ВУ выставляет на шину управления сигнал запроса данных ЗАПР и ждет от устройства А сигнала ДАННЫЕ. По этому сигналу ВУ принимает с входной шины переданные данные и снимает с шины управления сигнал ЗАПР.
Оба операнда (А и В) имеют длину по одному слову.
По первой паре сигналов ЗАПР-ДАННЫЕ с входной шины принимается первое логическое слово (А), а по второй паре сигналов ЗАПР-ДАННЫЕ с входной шины принимается второе логическое слово (В).
После того, как операнды были приняты с входной шины, над ними в АЛУ производится машинная операция
и результат присваивается С.
Вывод данных из ВУ в устройство А производится по сигналу РЕЗ /результат/. ВУ выдает на шины управления ШУ сигнал РЕЗ и одновременно выставляет данные /результат/ на выходную шину ШВЫХ. Устройство А принимает данные и подтверждает прием результата сигналом ПРРЕЗ, после чего ВУ снимает с шины управления сигнал РЕЗ.
Разрядность выходного слова равна 8 бит.
Алгоритм микропрограммы операции "
" представлен на рисунке:
Рис6. Микропрограмма операции “
”
Операция "
" выполняется над логическими данными.
По каждой паре сигналов ЗАПР-ДАННЫЕ передается слово разрядностью 8 бит. ВУ выставляет на шину управления сигнал запроса данных ЗАПР и ждет от устройства А сигнала ДАННЫЕ. По этому сигналу ВУ принимает с входной шины переданные данные и снимает с шины управления сигнал ЗАПР.
Оба операнда (А и В) имеют длину по одному слову.
По первой паре сигналов ЗАПР-ДАННЫЕ с входной шины принимается первое логическое слово (А), а по второй паре сигналов ЗАПР-ДАННЫЕ с входной шины принимается второе логическое слово (В).
После того, как операнды были приняты с входной шины, над ними в АЛУ производится
машинная операция
и результат присваивается С.
Вывод данных из ВУ в устройство А производится по сигналу РЕЗ /результат/. ВУ выдает на шины управления ШУ сигнал РЕЗ и одновременно выставляет данные /результат/ на выходную шину ШВЫХ. Устройство А принимает данные и подтверждает прием результата сигналом ПРРЕЗ, после чего ВУ снимает с шины управления сигнал РЕЗ.
Разрядность выходного слова равна 8 бит.
Алгоритм микропрограммы операции представлен на рисунке:
Рис7. Микропрограмма операции “
”
3. Обобщенная микропрограмма
Обобщенная микропрограмма является основой работы вычислительного устройства, являясь отправной точкой при выборе структуры операционного автомата и при программировании соединений программируемых логических матриц управляющего аппарата.
Обобщенная микропрограмма составляется на основании микропрограмм машинных операций.
Обобщенная микропрограмма объединяет все микропрограммы операций с целью реализации четкой логической структуры выполнения микропрограмм в зависимости от кода операции команды, а также включает микропрограммы подключения вычислительного устройства к интерфейсу и отключения от него.
Первоначально выполняется операция подключения, если результат операции положителен и подключение осуществлено, выполняется ввод операнда «А» т.к. все микропрограммы работают хотя бы с одним операндом (для микропрограммы «деление» операнд А является старшим словом делимого), далее вводится второй операнд «В» т.к. все микропрограммы выполняют операции над двумя словами (для микропрограммы «деление» операнд B является старшим словом делимого), далее в зависимости от условий В1 – В7 выбора конкретной операции к выполнению, запускается лишь одна из имеющихся микропрограмм (схема «Микропрограммы операций»).
Вычисление условий В1 - В7 осуществляется по следующим формулам:
где D(0:2) - поле кода операции в команде
(D(0), D(1), D(2) - разряды кода операций.)
При выполнении микропрограммы «Деление» вводится третий операнд С (делитель). В слове А формируется остаток, а в слове В формируется частное (сначала выводится В, затем А).
При выполнении остальных микроопераций формируется слово С=опер[A,B].
Примечание: для формирования осведомительных сигналов, определяющих выполнение той или иной микропрограммы, используется дешифратор. Анализ КОП с помощью дешифратора позволяет существенно упростить логику работы устройства.
Следует заметить так же, что в силу идентичности выдачи результата выполнения операций сложения, вычитания, сдвига циклического, дизъюнкции, конъюнкции, отрицания дизъюнкции, выдача результатов этих операций на внешнюю шину реализуется одним и тем же блоком микроопераций.
При выполнении операций B2-B7 – выводится слово результата С.
При выполнении операции В1 – выводится частное В и остаток А.
Разработанная в соответствии с вышеперечисленными условиями и замечаниями обобщённая микропрограмма представлена на листе 1.
4. Списки слов, микроопераций и логических условий.
Обобщённый список слов, полей, логических условий и управляющих сигналов составляется на основании обобщенной микропрограммы. Построение таблицы микроопераций, осуществляется следующим образом. Выписываются все использованные виды микроопераций, каждому виду микроопераций ставится в соответствие индекс – Уi, который является обозначением управляющего сигнала, закрепленного за данным видом микроопераций. Вид микроопераций объединяет все одинаковые микрооперации (микрооперации с идентичной структурой, но разными операндами), встречающиеся в обобщенной микропрограмме.
Список используемых в микропрограмме слов и полей составляется следующим образом. Выписываются все слова, а также самостоятельно использующиеся при выполнении микроопераций поля слов. Затем каждому слову ставится в соответствие регистр. В результате получается таблица, в которой перечислены все используемые в микропрограмме слова, самостоятельно используемые поля этих слов, а также названия регистров, поставленных в соответствие каждому из этих слов.
Составление списка логических условий осуществляется следующим образом. Выписываются все виды логических условий, использованных в обобщенной микропрограмме и ставится каждому из них в соответствие индекс хi, который является обозначением соответствующего осведомительного сигнала,, закрепленного за данным видом логических условий.
Обобщённый список слов приведён в таблице 3, логических условий в таблице 4 и управляющих сигналов в таблице 5.
Таблица№3 Список слов
| Наименование и формат слова | Тип слова | Поля | Примечание |
| A(15:0) | IL | ЗнА=А(15) | Первый операнд |
| В(7:0) | IL | ЗнВ=В(7) | Второй операнд |
| С(7:0) | LO | ЗнС=С(7) | Результат |
| D(7:0) | L | D (4:7) | Вспомогательная переменная |
| E(7:0) | L | - | Вспомогательная переменная |
| PзнА(7:0) | L | - | Переменная для хранения знака А |
| PзнВ(7:0) | L | - | Переменная для хранения знака В |
| Сч(0:3) | L | - | Счётчик циклов |
| ЗАН(0) | О | - | Бит, хранящий значение шины занятости устройства |
| ЗАПР(0) | О | - | Переменная для хранения знака А |
| ГОТ(0) | О | - | Переменная для хранения знака В |
| РЕЗ(0) | IL | - | Счётчик циклов |
Таблица№4 Список микроопераций
| Машинная операция | Управляющие сигналы |
| ГОТ:=0 | Y1 |
| ГОТ:=1 | Y2 |
| ЗАН:=0 | Y3 |
| ЗАН:=1 | Y4 |
| ЗАПР:=0 | Y5 |
| ЗАПР:=1 | Y6 |
| РЕЗ:=0 | Y7 |
| РЕЗ:=1 | Y8 |
| D: =Швх | Y9 |
| A(15:8): =Швх | Y10 |
| B: =Швх | Y11 |
| Сч:= D(4:7) | Y12 |
| PЗнА=Швх(7) | Y13 |
| PЗнВ=Швх(7) | Y14 |
| A(7:0): =Швх | Y15 |
| Сч = Сч+1 | Y16 |
| L1(A.0) | Y17 |
| C:=A(15:8)-B | Y18 |
| C:=C-1 | Y19 |
| D:=B | Y20 |
| A (15:8): =C | Y21 |
| C:=1 | Y22 |
| B: =C | Y23 |
| C:=A(15:8)+B | Y24 |
| B:=E | Y25 |
| C: =A(7:0)+1 | Y26 |
| C: =A(7:0) | Y27 |
| C(7): =PЗнА mod2 PЗнB | Y28 |
| C:=A(15:8) | Y29 |
| C(7): =ЗнА | Y30 |
| C:=!A(15:8) | Y31 |
| C:=C+1 | Y32 |
| C:=!B | Y33 |
| C: =A+B | Y34 |
| E:=!C | Y35 |
| C:=E | Y36 |
| C: =A-B | Y37 |
| A (15:8): =R1(A(0).A) | Y38 |
| A (15:8): =L1(A.A(7)) | Y39 |
| Сч = Сч-1 | Y40 |
| Y41 | |
| Y42 | |
| Сч:=0 | Y43 |
| ПР | Y44 |
| С(0):=1 | Y45 |
| А(7:0):=С | Y46 |
| Швых: = С | Y47 |
Таблица№5 Список логических условий
| Логическое условие | Условное обозначение условия | Примечание |
| Х1 | Проверка готовности устройства, сигнал занятости вычислительного устройства и проверка правильности адреса | |
| КОП | Х2 | Сигнал, по которому по шине данных передаётся команда |
| B1 | Х3 | Условия, определяющие микропрограмму операции |
| B2 | Х4 | |
| B3 | Х5 | |
| B4 | Х6 | |
| B5 | Х7 | |
| B6 | Х8 | |
| B7 | Х9 | |
| ДАННЫЕ | Х10 | Сигнал, по которому по шине данных передаются операнды |
| A=0 | Х11 | Равенство операндов 0 (при делении) |
| B=0 | X12 | |
| ЗнА | X13 | Проверка знака операнда |
| ЗнВ | X14 | |
| ЗнС | X15 | |
| Сч=8 | Х16 | Равенство счетчика 0(при делении) |
| Сч=0 | Х17 | Равенство счетчика 0(при циклическом сдвиге) |
| D(3) | Х18 | Проверка ЛЕВ (при циклическом сдвиге) |
| ПРРЕЗ | Х19 | Проверка приема результата |
Операции кодируются по порядку их следования.
-
Синтез операционных элементов
Каждый операционный элемент синтезируется на основе списка машинных слов, машинных операций и логических условий, соответствующих данному операционному элементу.
















