Программирование и комп-ры

Разработка вычислительного устройства


         МИНИСТЕРСТВО ВЫСШЕГО И СРЕДНЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ РФ
         МОСКОВСКИЙ ИНСТИТУТ РАДИОТЕХНИКИ, ЭЛЕКТРОНИКИ И АВТОМАТИКИ



                               КурсоваЯ работа



|Факультет      |ВАВТ                    |
|Дисциплина     |ЭВМ СКС                 |
|Студент        |              |        |
|Специальность  |22.02                   |
|Преподаватель  |Калиш Г.Г.              |



                                   МОСКВА
                                 Апрель 1998

                             Техническое задание


Разработать вычислительное устройство, выполняющее следующие операции:

 1. изменение знака числа
 2. деление чисел

Числа представлены в формате с плавающей точкой с разрядностью 18+6.


                                 Содержание



1.    Техническое задание    2


2.    Содержание 3


3.    Описание структурной схемы устройства с ее обоснованием 4


4.    Описание блок-схемы алгоритма выполнения операций и ее
микропрограммной реализации. 6


5.    Числовые тестовые примеры выполнения операций с пояснениями   10


6.    Описание функциональной схемы устройства.    11


7.    Краткое описание принципиальной схемы  12


8.    Заключение 13


9.    Список литературы.     13



Описание структурной схемы устройства с ее обоснованием


      Структурная схема устройства представлена на рисунке 1. Она состоит из
двух частей. Первая часть схемы, в состав которой входят регистры  Ao  и  Bo
и сумматор, предназначена для работы с порядками чисел. Вторая часть  схемы,
состоящая из регистров Am, Bm и Z, мультиплексора, сумматора  и  компаратора
предназначена для работы с мантиссами чисел.

      При выполнении операции деления используется два числа - A (делимое) и
B (делитель). Число A хранится в регистрах Ao и Am соответственно порядок  и
мантисса. Число B хранится в регистрах Bo  и  Bm  соответственно  порядок  и
мантисса.
      В начале работы делимое A заносится в регистры: мантисса в регистр  Am
с помощью сигнала Y3, порядок в регистр Ao - Y4, а делитель  B:  мантисса  в
регистр Bm (Y5), порядок в регистр Bo (Y6). Мантисса делимого  A  сдвигается
влево путем косой передачи из регистра Am в сумматор. Делитель  B  поступает
в  сумматор  SM  из  регистра  Bm  в  прямом  или   обратном   кодах   (Y9).
Дополнительный  код  делимого  образуется  в  SM  за  счет   подсуммирования
обратного кода делимого B сигналом “+1SM” (Y10).
      Цифры частного Zi, определяемые по знаку частичных остатков в регистре
Am, фиксируются  в  регистре  Z   путем  последовательного  занесения  их  в
младший разряд регистра Z (Y7) и сдвига содержимого регистра Z (Y8).
      Порядок частного определяется вычитанием порядков на SM  путем  подачи
обратного значения порядка делителя из регистра Bo и фиксации  результата  в
регистре Bo.

      При выполнении операции изменения знака используется одно число. Число
записывается в регистр Bm (Y5) и подается на сумматор  SM  в  обратном  коде
(Y9) и записывается в регистр  Am  (Y3)  с  предварительным  подсумированием
единицы в сумматоре (Y10).

                                    [pic]



                                  Рисунок 1



   Описание блок-схемы алгоритма выполнения операций и ее микропрограммной
                                 реализации.


Блок-схема выполнения операций представлена на рисунке 2.

      В начале  работы  гасится  выходная  готовность  (Y14)  и  проверяется
входная  готовность  (P1).  После  получения  сигнала   входной   готовности
обнуляются регистры A o и Am (Y0), Bo и Bm (Y1) и Z (Y2). Далее  проверяется
код операции (P2) для определения дальнейших действий.

Операция изменения знака числа - ветвь один.
      Записываем исходное число в  регистр  Bm  (Y5).  Передаем  на  SM  его
обратный код с подсуммированием единицы младшего разряда (Y10). Данные с  SM
записываем в регистр Am (Y3). После этого устанавливаем выходную  готовность
(Y13) и заканчиваем работу.

Операция деления чисел - ветвь два.
      Производим запись:  мантиссы  делимого  в  регистр  Am  (Y3),  порядка
делимого в регистр Ao (Y4) и мантиссы и порядка делителя в регистр  Bm  (Y5)
и Bo (Y6) соответственно. Вычисляем разность порядков чисел  путем  сложения
первого порядка с обратным кодом  второго  (Y11)  и  сохраняем  результат  в
регистре Bo (Y6). Проверяем равенство  делителя  нулю  (P3).  Если  делитель
равен нулю, то сигнализируем об ошибке аргументов и  устанавливаем  выходную
готовность (Y13). Если делитель не равен  нулю,  тогда  деление  возможно  и
начинается цикл поразрядного получения мантиссы частного. На  SM  передается
сдвинутое косой передачей в сторону старших разрядов делимое и обратный  код
делителя (Y9) с подсуммированием  единицы младшего разряда (Y10).  С  выхода
SM частичный остаток заносится в регистр  Am  (Y3).  Цифра  модуля  частного
вычисляется как сумма по модулю два знаковых разрядов частичного  остатка  и
делителя и заносится в предварительно сдвинутый на один  разряд  влево  (Y8)
регистр Z (Y7). Проверяем  счетчик  чисел  (P4).  Если  он  не  равен  нулю,
продолжаем цикл по определению разрядов частного. Если счетчик  равен  нулю,
то  мы  определили  все  разряды  частного,  и  переходим   к   нормализации
результата. Если число не  нормализовано  (P6),  то  производим  сдвиг  Z  в
сторону  старших  разрядов  (Y8)   и   уменьшение   порядка   (Y12).   После
нормализации числа устанавливаем выходную готовность и заканчиваем работу.

      Для  реализации  устройства   используется   управляющий   автомат   с
выделенной адресной памятью, его схема изображена на рисунке 3, в таблице  1
представлены состояния его переходов, в таблице 2 управляющие  сигналы  и  в
таблице 4 описаны префиксные функции.

                                    [pic]



                                  Рисунок 2


|                                        |
|ПЗУ А                                   |
|Адреса|Условия   |Код ПФ    |Адреса    |
|памяти|переходов |          |переходов |
|0     |0         |0         |1         |
|1     |0         |P1        |1         |
|      |1         |P1        |2         |
|2     |0         |P2        |4         |
|      |1         |P2        |3         |
|3     |0         |0         |10        |
|4     |0         |P3        |8         |
|      |1         |P3        |12        |
|5     |0         |P4        |6         |
|      |1         |P4        |10        |
|6     |0         |P5        |7         |
|      |1         |P5        |8         |
|7     |0         |0         |9         |
|8     |0         |0         |9         |
|9     |0         |0         |5         |
|10    |0         |P6        |11        |
|      |1         |P6        |12        |
|11    |0         |0         |10        |
|12    |0         |0         |*         |


                                  Таблица 1



|Y0   |Обнуление регистров Ao и Am            |
|Y1   |Обнуление регистров Bo и Bm            |
|Y2   |Обнуление регистра Z                   |
|Y3   |Запись в регистр Am                    |
|Y4   |Запись в регистр Ao                    |
|Y5   |Запись в регистр Bm                    |
|Y6   |Запись в регистр Ao                    |
|Y7   |Запись разряда частного в регистр Z    |
|Y8   |Сдвиг регистра Z в сторону старших     |
|     |разрядов                               |
|Y9   |Выбор операции в сумматоре             |
|Y10  |Подсуммирование 1 в сумматоре          |
|Y11  |Разность порядков                      |
|Y12  |Уменьшение порядка частного в регистре |
|     |Bo                                     |
|Y13  |Установка выходной готовности          |
|Y14  |Гашение выходной готовности            |


                                  Таблица 2

                                    [pic]

                                  Рисунок 3



|Функция |Значение                   |
|P1      |Входная готовность         |
|P2      |Код операции               |
|P3      |Признак равенства 0        |
|        |делителя                   |
|P4      |Конец деления              |
|P5      |Знак числа в регистре Am   |
|P6      |Признак нормализации       |
|P7      |Знак числа в регистре Bm   |


                                  Таблица 3


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

                                    [pic]

                                  Рисунок 4


         Числовые тестовые примеры выполнения операций с пояснениями


Пусть X=11010111*23, Y=1101*22. Найти частное от деления X/Y.

Все действия выполняются в устройстве в следующей последовательности:

|   |0.1101111  |Прямой код делимого              |Частное   |
|   |           |                                 |X/Y       |
|+  |1.0011     |Дополнительный код делителя      |          |
|   |0.0000     |Остаток положительный            |1         |
|   |0.0000     |Остаток сдвинут влево на один    |          |
|   |           |разряд                           |          |
|+  |1.0011     |Дополнительный код делителя      |          |
|   |1.0011     |Остаток отрицательный            |10        |
|   |0.0111     |Остаток сдвинут влево на один    |          |
|   |           |разряд                           |          |
|+  |0.1101     |Прямой код делителя              |          |
|   |1.0100     |Остаток отрицательный            |100       |
|   |0.1001     |Остаток сдвинут влево на один    |          |
|   |           |разряд                           |          |
|+  |0.1101     |Прямой код делителя              |          |
|   |1.0110     |Остаток отрицательный            |1000      |
|   |0.1101     |Остаток сдвинут влево на один    |          |
|   |           |разряд                           |          |
|+  |0.1101     |Прямой код делителя              |          |
|   |1.1010     |Остаток отрицательный            |10000     |

Одновременно вычисляется порядок частного следующим образом:

pc = px - py = 0.011 - 0.010 = 0.001

                  Описание функциональной схемы устройства.


      Функциональная схема устройства представлена на рисунке 5.
      Функциональная схема реализует схему работы с мантиссами.
      Используемый мультиплексор 2(1  на  вход  которого  подается  число  в
прямом и дополнительном коде и в зависимости от ситуации выбирается одно  из
двух чисел. В процессе работы осуществляется контроль делителя на  равенство
нулю, поэтому используемый мультиплексор должен иметь стробируемый вход.
      Сумматор складывает числа, которые пришли с  выхода  мультиплексора  и
регистра Am, результат переписывается в регистр Am, который  запоминает  это
число, сдвигает его влево в сторону старших разрядов и  снова  передает  его
на сумматор.
      Так  же   старший   разряд   регистра   подается   на   результирующий
последовательно параллельный регистр  Z,  в  котором  происходит  накопление
результата.   После   определение   результата,   полученное   число    надо
нормализовать  и  поэтому  результирующий  регистр  кроме  последовательного
входа и  параллельного  вывода  должен  осуществлять  сдвиг  числа  влево  в
сторону старших разрядов.


                                    [pic]


                                  Рисунок 5



                    Краткое описание принципиальной схемы


      Принципиальная схема устройства представлена на рисунке 6.
      Два числа поступают на  сумматор,  который  их  суммирует  и  передает
результат на регистр. В качестве сумматора используется микросхема  К555ИМ6,
а  в  качестве  регистра  К155ИР13  и  К555ИР11  которые  отличаются  только
разрядностью. Старший разряд  регистра  поступает  на  вход  результирующего
последовательно  –   параллельного   регистра,   в   котором   накапливается
результат. В данной схеме в качестве результирующего  регистра  используется
микросхема К531ИР24.


                                    [pic]



                                  Рисунок 6



                                 Заключение


      В данной курсовой работе было разработано  вычислительное  устройство,
выполняющее следующие операции:

Нахождение абсолютного значения числа.
Деление чисел в формате с плавающей запятой.

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


1. Нешумова К.А. Электронные вычислительные машины и системы. Москва,
  «Высшая школа», 1989.
1. Савельев А.Я. Арифметические и логические основы цифровых автоматов.
  Москва, «Высшая школа», 1980.
1. Стрыгин В.В., Щарев Л.С. Основы вычислительной, микропроцессорной
  техники и программирования. Москва, «Высшая школа», 1989.
1. Справочник. Цифровые и аналоговые интегральные микросхемы. Москва «Радио
  и связь», 1990.
1. Мальцев П.П. Справочник. Цифровые интегральные микросхемы. М. Радио и
  связь. 1994.
1. Шило В.Л. Популярные цифровые микросхемы. М. Радио и связь. 1987.



смотреть на рефераты похожие на "Разработка вычислительного устройства"