RPZ (Курсовой проект (готовый) вариант 77 ещё один)
Описание файла
Файл "RPZ" внутри архива находится в следующих папках: Курсовой проект (готовый) вариант 77 ещё один, 77_2. Документ из архива "Курсовой проект (готовый) вариант 77 ещё один", который расположен в категории "". Всё это находится в предмете "электронные вычислительные машины (эвм)" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "эксплуатация эвм" в общих файлах.
Онлайн просмотр документа "RPZ"
Текст из документа "RPZ"
25
Московский государственный технический университет
им. Н. Э. Баумана
Принял:
Виноградов В.И.
«___»__________2001 г.
___________________
Курсовая работа
«Проектирование вычислительного устройства»
по дисциплине
"Архитектура ЭВМ"
Вариант №77
Выполнил:
студент группы ИУ5-53
Писаренко Р.М.
_____________________________________________________
Москва 2000
Содержание.
-
Постановка задачи 3
-
Микропрограммы машинных операций 4
-
Алгоритмы подключения, отключения, запроса исходных данных и передачи результата. 4
-
Алгоритм выполнения операции «Умножение». 4
-
Алгоритм выполнения операции «Сдвиг циклический».
-
Алгоритм выполнения операции «Вычитание модулей обратное». 5
-
Алгоритм выполнения операции «Вычитание обратное».
-
Алгоритм выполнения операции «Вычитание модулей». 7
-
Логические операции. 7
-
Обобщенная микропрограмма. 7
Списки операций и условий. 7
Закодированный граф микропрограммы. 8
Разработка структурной схемы операционного автомата. 8
Синтез операционных элементов. 9
-
Регистр кода операции. 9
-
Счетчик. 9
-
Мультиплексор регистра А. 10
-
Регистр А. 10
-
Регистр В и схема его загрузки. 10
-
Арифметико-логическое устройство. 11
-
Регистр R. 11
-
Выходной мультиплексор. 11
-
Регистр D. 12
-
Прочие элементы. 12
Функциональная схема операционной части ВУ. 12
Список переходов. 13
Программирование ПЛМ. 13
Подсчет числа тактов, необходимых для выполнения каждой микрооперации. 15
Расчет максимально возможной частоты работы устройства 15
Заключение. 16
Список использованной литературы. 17
Приложение 1. Обобщенная микропрограмма.
Приложение 2. Списки микроопераций и условий.
Приложение 3. Закодированный граф микропрограммы.
Приложение 4. Структурная схема ОА.
Приложение 5. Списки переходов.
Приложение 6. Таблица программирования ПЛМ.
1. Постановка задачи.
Спроектировать вычислительное устройство для выполнения заданного множества операций. Вычислительное устройство должно состоять из операционной части и блока управления и подключаться к интерфейсу.
Состав шин интерфейса:
1.Шины прямой передачи данных /входные/ разрядностью 8 бит.
2.Шины обратной передачи данных /выходные/ разрядностью 8 бит.
3.Шины адреса разрядностью 8 бит.
4.Управляющие шины:
- проверка готовности устройства /ПРГОТ/,
- сигнал занятости устройства /ЗАН/,
- код операции /КОП/,
- передача данных по входным шинам /ДАННЫЕ/,
- передача результата по выходным шинам /РЕЗ/,
- запрос на передачу данных /ЗАПР/,
- подтверждение приема результата /ПРРЕЗ/,
- готовность устройства /ГОТ/,
- сигнал прерывания при делении на нуль /ПР/.
Таблица №1. Закодированный вариант задания.
Вариант | Выполняемые операции | Разрядность операндов | Код | Серия микросхем | ||||||
64 | У | С3 | А5 | А3 | A4 | Л4 | Л5 | 8 | D | K555* |
*) При выполнении задания была взята серия КР1533.
Таблица №2. Расшифровка перечисленных в задании операций.
Номер | Обозначение операции | Операция |
1. | У | Умножение |
2. | С3 | Сдвиг циклический |
3. | А5 | Вычитание модулей обратное |
4. | А3 | Вычитание обратное |
5. | A4 | Вычитание модулей |
6. | Л4 | !(A B) |
7. | Л5 | !A |
Формат, команд:
0 2 3 4 7
КОП |
2. Микропрограммы машинных операций.
2.1 Алгоритмы подключения, отключения, запроса исходных данных и передачи результатов.
При появлении номера устройства на шине адреса и сигнала на шине ПРГОТ, устройство (далее ВУ), при условии, что оно не занято, выдает сигнал ГОТ. После этого внешнее устройство, которое запрашивало операцию, выставляет ее код на шине данных и подает сигнал КОП. По сигналу КОП ВУ считывает код операции в регистр команд и начинает выполнение одной из микропрограмм операций.
После выдачи результата, ВУ снимает сигнал с шины ЗАН. После этого внешнее устройство снимает адрес устройства с шины адреса, освобождая интерфейс.
Для запроса данных устройство выдает сигнал ЗАПР. О появлении данных на входной шине интерфейса говорит сигнал ДАННЫЕ.
Для передачи результата, устройство выставляет сигнал РЕЗ и подает результаты на выходную шину. О приеме результата внешним устройством свидетельствует сигнал ПРРЕЗ.
2.2 Алгоритм выполнения операции «Умножение».
А
лгоритм выполнения операции умножения приведен на рис. 1. Если один из множителей равен 0, то результату присваивается значение 0, и умножение не производится. Регистр А используется для накопления результата умножения; его начальное значение 0. В регистр С помещается первый множитель, а в регистр В второй. Регистр R принимает результат операции из АЛУ и из него выдается результат умножения.
Рис. 1
Знак в операциях не участвует, а может быть вычислен сразу по формуле ЗнРез = ЗнА xor ЗнВ, и занесен в специальный регистр. Поэтому мы считаем, что в умножении участвуют 7 разрядов. Тогда начальное значение счетчика будет равно 7.
Разрядность исходных данных 8 бит. Назовем ее словом. Тогда разрядность результата должна быть равна 16 бит, то есть два слова. Значит все регистры и АЛУ, участвующие в образовании результата, должны иметь эту разрядность. Это относится к регистрам А, В и R.
Так как знаки не участвуют в умножении, то разрядность беззнакового результата 14 бит. Поскольку в остальных операциях, которые выполняет ВУ, используется только 8 бит, мы можем сразу записывать в 15 бит знак результата умножения.
Перед выполнением операции умножения должны быть считаны множители. Сначала в регистр С считывается первый множитель. Поскольку второй множитель участвует в операции сдвига и сложения, причем без знака, в регистр В должен быть считан его модуль. А его знак участвует в вычислении знака результата, который фиксируется в регистре знака и записывается в старший разряд результата (т.к. используется прямой код). После выполнения операции, результат должен выдаваться на выходную шину в порядке: старшее слово, младшее слово.
2.3 Алгоритм выполнения операции «Сдвиг циклический».
Циклический сдвиг – это такой сдвиг, при котором не сохраняется знак числа. Сам сдвиг будем осуществлять в регистре B. В зависимости от значения бита знака K(3) в поле кода операции, содержимое регистра B будет сдвигаться вправо или влево на число позиций, записанное в поле K(4:7).
2.4 Алгоритм выполнения операции «Вычитание обратное».
Наше вычислительное устройство работает с операндами в прямом коде. Кроме того, у нас имеется операция вычитания модулей. В прямом коде для того, чтобы взять модуль от числа, необходимо просто «занулить» его знаковый разряд, поэтому, чтобы не связываться с переводом в дополнительный код и т.д., мы попробуем выразить «вычитание обратное» через действия с модулями. Операцию же взятия модуля можно реализовать аппаратно.
Рассмотрим варианты в зависимости от знака:
A>0, B>0 | R=B-A=|B|-|A| |
A>0, B<0 | R=B-A=-|B|-|A|=-(|B|+|A|) |
A<0, B>0 | R=B-A=|B|+|A| |
A<0, B<0 | R=B-A=-|B|+|A|=-(|B|-|A|) |
Можно заметить, что при несовпадении знаков А и В производится сложение модулей, а при совпадении – вычитание модулей. А после этого, если знак В был меньше 0, то знак результата изменяется. Алгоритм выполнения операции «вычитание обратное» представлен на рис. 2.
Рис. 2
Здесь и далее (во всех остальных операциях) предполагается, что начальные значения считаны в регистры А и В.
Для реализации операции взятия модуля при использовании прямого кода, нужно просто «обнулять» знаковый бит перед выполнением операции. Но поскольку у нас еще есть и логические операции, это должно происходить не всегда, а зависеть от операции. При 8-разрядных операндах, необходимо обнулять 7 бит.
Результат получается в дополнительном коде. Для изменения его знака, над ним надо произвести операцию: Xобр=^X+1 (инверсия X плюс 1).
П
осле этого необходимо перевести результат в прямой код. Если значение положительное, то ничего делать не нужно, а если отрицательное, то необходимо изменить его знак, как показано выше, а потом выставить бит знака. Алгоритм изменения знака представлен на рис. 3. В регистре R хранится результат.
Рис. 3
2.5 Алгоритм выполнения операции «Вычитание модулей».
Вычитание модулей выполняется над целыми двоичными числами со знаком, представленными в дополнительном коде.
По каждой паре сигналов ЗАПР-ДАННЫЕ передается слово разрядностью 6 бит. ВУ выставляет на шину управления сигнал запроса данных ЗАПР и ждет от устройтсва А сигнала ДАННЫЕ. По этому сигналу ВУ принимает с входной шины переданные данные и снимает с шины управления сигнал ЗАПР.
Уменьшаемое (В) и вычитаемое (А) имеют длину по одному слову.
По первой паре сигналов ЗАПР-ДАННЫЕ с входной шины принимается уменьшаемое (А), а по второй паре сигналов ЗАПР-ДАННЫЕ с входной шины принимается вычитаемое (В).
После того, как операнды были приняты с входной шины, они приводятся к своим модулям. Если число положительное, то оно не изменяется, а отрицательное – преобразуется в свой модуль по формуле , которая для чисел в дополнительном коде тождественно равна формуле C:=C-1.
После того, как операнды приведены к своим модуля, из уменьшаемого (А) с помощью микросхемы АЛУ вычитается вычитаемое (В) и результат помещается в С.
Вывод данных из ВУ в устройство А производится по сигналу РЕЗ /результат/. ВУ выдает на шины управления ШУ сигнал РЕЗ и одновременно выставляет данные /результат/ на выходную шину ШВЫХ. Устройство А принимает данные и подтверждает прием результата сигналом ПРРЕЗ, после чего ВУ снимает с шины управления сигнал РЕЗ.
Разрядность выходного слова равна 6 бит.
Алгоритм микропрограммы операции "вычитание модулей" представлен на рисунке № 4.