Методические указания по выполнению курсовой работы (1065528), страница 2
Текст из файла (страница 2)
Для передачи слова разрядностью к*n бит или к слов по n бит требуется к пар сигналов ЗАПР-ДАННЫЕ.
Вывод данных из ОУ в устройство ГУУ производится по сигналу РЕЗ (результат). ОУ выдает на шины управления ШУ сигнал РЕЗ и одновременно выставляет данные /результат/ на выходную шину ШВЫХ. Устройство ГУУ принимает данные и подтверждает прием результата сигналом ПРРЕЗ.
Для передачи из ОУ в устройство ГУУ к*n бит информации необходимо к пар сигналов РЕЗ-ПРРЕЗ.
Порядок проектирования операционного устройства.
Операционное устройство состоит из двух функциональных блоков:
операционного автомата и управляющего автомата. В курсовой работе необходимо спроектировать перечисленные два блока. Управляющий автомат передаёт в операционный автомат управляющие сигналы, а принимает из операционного автомата осведомительные сигналы.
Порядок проектирования операционного автомата.
1. В соответствии с вариантом задания разработать обобщенную микропрограмму. В микропрограмме должны быть предусмотрены микрооперации для формирования сигналов: ГОТ, ЗАПР, ЗАН, РЕЗ. Код операции и данные для работы микропрограммы должны приниматься с входной шины ШВХ, адрес ОУ - с шины адреса ША.
Результат выполнения операции должен выдаваться на выходную шину ШВЫХ.
Управляющие сигналы ПРГОТ, КОП, ДАННЫЕ и ПРРЕЗ, формируемые в устройстве ГУУ, должны использоваться в микропрограмме в качестве условий.
Код операции используется в микропрограмме в качестве условий для выполнения заданной операции.
2. В соответствии с полученной обобщенной микропрограммой разработать функциональную схему операционной части ОУ. Элементная база ОУ (тип и серия микросхем) указана в задании.
3. Разработать функциональную схему управляющей части (УА) операционного устройства.
4. Определить количество машинных тактов необходимых для выполнения каждой операции.
5 . Исходные данные содержатся в таблице 1и таблице 2.
В таблице 2 для каждого варианта задания даны:
- перечень операций /расшифровка их дана в таблице 1/, которые должны быть реализованы в проектируемом операционном устройстве (ОУ);
- код, в котором должны быть представлены данные при передаче по входным и выходным шинам интерфейса (П - прямой код, Д – дополнительный код);
- тип микросхем, на которых должно быть выполнено устройство.
6. Машинное слово используется для передачи данных и команд. Разряды слова нумеруются справа налево, начиная с нулевого. Разрядность входных и выходных шин данных равна разрядности слова. Разрядность шин адреса - 6 бит.
7. Данные могут быть целыми двоичными со знаком и логическими. При записи целых двоичных чисел знак содержится в старшем разряде, а в остальных разрядах - само двоичное число (младшие разряды – справа).
Знак | Цифры числа |
Знак “минус” кодируют единицей, “плюс” - нулем. В логических данных во всех разрядах слова записывают логические значения.
При логическом сдвиге сдвигаются все разряды слова. Освобождающиеся при сдвиге разряды всегда заполняются нулями.
При циклическом сдвиге в сдвиге участвуют все разряды слова, причем выдвигаемые разряды записываются в освобождающиеся разряды слова.
Сдвиг слова обычно производится в сдвиговых регистрах с помощью микроопераций сдвига. Каждая микрооперация сдвига производит сдвиг на один разряд. Для сдвига на К разрядов необходимо выполнить К микроопераций сдвига. При этом подсчет количества сдвигов выполняет счетчик сдвигов. В исходном сотоянии на счетчик заносится константа сдвигов, затем после каждого сдвига содержимое счетчика должно уменьшится на 1.
Как только содержимое счетчика станет равно 0, операция сдвига будет завершена.
Разрядность счетчика сдвигов определяется максимальным числом сдвигов при выполнении операции сдвига (зависит от разрядности слова и типа операции сдвига).
По команде “сдвиг” с входных шин данных считывается одно слово, сдвигается на требуемое число разрядов и результат выдается на выходные шины данных.
При выполнении операции “сдвиг” результат получается в том же коде, что и исходный операнд (прямой код или дополнительный).
8. Команда выдается на входные шины данных по управляющему сигналу КОП. Структура команды:
- поле кода операции (разряды 7 – 5);
- поле признака направления сдвига (разряд 4);
- поле константы сдвига (указывает на сколько рядов производить сдвиг операнда, разряды 3 – 0).
Во всех операциях, кроме операций сдвига, в команде используется только поле кода операции.
В задаче необходимо закодировать выполняемые операции трехразрядными двоичными кодами и представить в виде таблицы.
9. Выполнение операции сдвига /группа С/. Формат команды:
КОП | ЛЕВ | Константа сдвига |
ЛЕВ = 1 - сдвиг влево
ЛЕВ = 0 - сдвиг вправо
В курсовой работе используется три типа операций сдвига:
- сдвиг арифметический,
- сдвиг логический,
- сдвиг циклический.
При арифметическом сдвиге знак не сдвигается, сдвигаются только числовые разряды. При сдвиге вправо освобождающиеся разряды заполняются содержимым знакового разряда, а при сдвиге влево - нулями.
10. Выполнение операций сложения и вычитания (группа А).
При команде сложения или вычитания с входных шин адреса последовательно считываются два операнда. В операциях типа “сложение” - это первое и второе слагаемые (А и В), а в операциях “вычитания” - уменьшаемое (А) и вычитаемое (В) соответственно.
Операнды поступают в прямом (П) или дополнительном (Д) кодах (см. таблицу 2).
Выполнение микрооперации сложения или вычитания удобно выполнять с помощью микросхемы ALU.
Микросхема ALU предназначена для выполнения операций сложения-вычитания над операндами, представленными в дополнительном коде, результат также получается в дополнительном коде.
Если операнды представлены в прямом коде, их надо либо сначала преобразовать в дополнительный код (с помощью той же микросхемы ALU), а потом выполнить необходимую операцию, либо выполнять операцию сложения-вычитания над модулями операндов (в операциях умножение и деление), а знак результата формировать с учетом знаков операндов. В обоих случаях следует отрицательный результат микрооперации сложения-вычитания на выходе ALU преобразовать сначала в прямой код (тоже с помощью микросхемы ALU).
11. Выполнение логических операций (группа Л).
В задании использованы логические операции, выполняемые с помощью микросхемы ALU: одна унарная - инверсия и восемь бинарных (см. таблицу . Унарная операция выполняется над одним операндом, бинарная - над двумя.
По команде в соответствии с кодом операции инициируется микропрограмма соответствующей операции.
При этом с входных шин данных принимаются один или два операнда, выполняется соответствующая микрооперация и результат выдается на выходную шину данных.
Логические операции выполняются поразрядно над логическими константами, разрядность которых равна разрядности слова.
8. Выполнение операции умножения (группа У).
Операция умножения выполняется над целыми двоичными числами со знаком.
Длина каждого операнда (множимого и множителя) - одно слово.
Длина результата - два слова.
На входные шины данных сначала поступает множимое, а затем - множитель.
На выходные шины данных следует выдавать сначала старшие разряды произведения, а затем младшие.
Для подсчета количества частичных произведений использовать счетчик.
Выполнение микроопераций сложения выполнять с помощью микросхемы ALU.
Код результата, подаваемый на выходную шину данных, должен соответствовать коду операндов. Если один из сомножителей равен 0, то умножение не производится; результату сразу присваивается нуль со знаком плюс.
При умножении операндов в прямом коде в операции умножения участвуют только модули операндов, а знак результатов определяется как сумма по модулю два знаков сомножителей.
При умножении операндов в дополнительном коде можно использовать специальный алгоритм [1], либо сначала перевести операнды в прямой код, умножить как в предыдущем случае, а затем результат вновь преобразовать в дополнительный код.
9.Выполнение операции “деление” /группа Д/.
Деление выполняется над целыми двоичными числами со знаком, представленными в прямом или дополнительном кодах [1].
Делимое состоит из двух слов, сначала на входную шину данных выдается старшая часть делимого, затем - младшая.
Делитель, частное и остаток от деления имеют длину по одному слову.
На выходную шину данных сначала выдается частное, а затем - остаток.
При нулевом делимом частному и остатку сразу присваивается нуль.
При нулевом делителе, деление не производится и вырабатывается сигнал прерывания ПР.
При делении операндов в прямом коде в операции деления участвуют модули операндов, а знак частного определяется сложением по модулю два знаков операндов. Знак остатка должен совпадать со знаком делимого.
При делении операндов в дополнительном коде можно использовать специальный алгоритм [1], либо сначала привести операнды в прямой код, разделить как в предыдущем случае, а затем частное и остаток преобразовать в прямой код.
При выполнении деления подсчет тактов деления производить с помощью счетчика, а микрооперации сложения и вычитания с помощью микросхемы ALU.
10.Обобщенная микропрограмма.
Работой вычислительного устройства управляет обобщенная микропрограмма. Она состоит из микропрограмм подключения /ПОДКЛ/, отключения
/ОТКЛ/ и микропрограмм выполнения заданного множества операций /МП1-МП7/. /рис.2/
Каждому вычислительному устройству присвоен номер, совпадающий с номером варианта (от 1 до 130). Номер вариантов задается с помощью тумблеров /тумблерный регистр/ внутри устройства.
Разрядность шин адреса и тумблерного регистра - 6 бит. Микропрограмма ПОДКЛ (рис.3а) постоянно опрашивает шины адреса и шину управления ПРГОТ. При совпадении адреса на тумблерном регистре (N) устройства с адресом на шинах адреса, при условии, что ПРГОТ=1 и устройство свободно /ЗАН=0/ включается обобщенная микропрограмма соответствующего вычислительного устройства. Для этого в микропрограмме ПОДКЛ вычисляется значение логического выражения:
где N – код, выставленный на тумблерном регистре.
Обобщенная микропрограмма включается при значении этого логического выражения, равном 1. Сравнение адресов /вычисление значения операции отношения ША=N производится поразрядным сравнением адресов комбинационной схемой компаратора.
Значение функции равно 1 при совпадении адресов.
После включения обобщенной микропрограммы микропрограмма ПОДКЛЮЧЕНИЕ формирует сигнал ГОТ = 1, информирующий устройство ГУУ о готовности ОУ к работе. После этого ГУУ снимает сигнал ПРГОТ (ПРГОТ станет равно 0) и выставляет на входных шинах данных команду, состоящую из поля кода операции и дополнительных данных, относящихся к операциям сдвига, и на шинах управления выставляется сигнал КОП = 1. По сигналу КОП = 1 операционное устройство принимает команду и сохраняет её, например, в регистре D , снимает сигнал готовности (ГОТ = 0) и выставлят сигнал занятости (ЗАН = 1).
После этого вычисляется 7 логических условий В1-В7:
где D(6:4) - поле кода операции в команде.
По каждому коду операции только одно из логических условий В1-В7 примет значение 1.
Каждое логическое условие В1-В7 управляет запуском определенной микропрограммы операции. Поэтому по коду операции будет выполнена соответствующая операция.
Для вычисления логических условий В1-В7 удобно использовать дешифратор. Данным логическим условиям назначаются осведомительные сигналы , которые должны быть выданы на вход управляющего автомата.