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

Автор работы: Пользователь скрыл имя, 02 Ноября 2010 в 18:32, Не определен

Описание работы

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

Файлы: 5 файлов

Блок схема алгоритма в закадированной форме.vsd

— 49.00 Кб (Скачать файл)

Блок схема алгоритма в содержательной форме.vsd

— 60.00 Кб (Скачать файл)

Курсовая Работа по ПТЦА.doc

— 137.00 Кб (Скачать файл)

Министерство  Общего и Профессионального

Образования Российской Федерации 

Московский  Государственный Институт

Радиотехники, Электроники и Автоматики

(Технический  Университет) 
 
 
 
 

Факультет ВАВТ

Кафедра ВТ

Курсовая  Работа

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

 
 
 
 
 
 

    Студент:  Башкиров А.А.

    Группа:  ВСС3-98

 

Начало  работы: _________________________ 2002 г.

Окончание работы: _________________________ 2002 г.

Руководитель: Иваненко Н.С.

 Допущен  к защите “______” ______________ 2002 г. 
 
 
 
 

Москва 2002

 

 Содержание 
 

  1. Введение
3
  1. Постановка задачи
4-5
  1. Математическое обоснование используемых алгоритмов
6-7
  1. Примеры
8
  1. Блок-схема алгоритма в содержательной форме (на уровне языка регистровых передач)
9
  1. Блок-схема алгоритма в закодированной форме
10
  1. Описание УА. Таблица заполнения управляющей памяти.
11-14
  1. Функциональная схема ОА
15
  1. Функциональная схема УА
16
 
 
 

 

Введение 

   Каноническая  структура синтеза синхронного  вычислительного устройства состоит  из двух автоматов – операционного (ОА) и управляющего (УА). 
 
 

 

 

 
 
 
 
 

   На  вход ОА подаются входные (исходные) данные, а на выходе ОА формируются выходные данные (результат). На вход УА подается управляющая информация (например, код операции (КОП), сигнал разрешения чтения и тп.), а на выходе УА формируется выходная управляющая информация (например, сигнал готовности, сигнал ошибки и тп.). ОА и УА взаимосвязанны: от ОА к УА передаются сигналы признаков (условия) и в зависимости от этих условий от УА к ОА возвращается соответствующая микрокоманда. Синхронизация служит для управления работой всех синхронных узлов и деталей устройства. 
 
 
 
 
 
 
 
 
 

Постановка  задачи 

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

  1. Нахождение  модуля числа.

    2) Нахождение  максимума в массиве с плавающей  точкой. 

Числа произвольных знаков, разрядность 12, дополнительный код, Тип УА: с регулярной адресацией. 

Интерфейс вычислительного  устройства

 

   

   

     

   

   

   

     
 
 

   

 

ШиВх[0-11] – Входная шина данных.

ШиВых[0-11] – Выходная шина данных.

ШуВх[0] – Входная шина управления:

    0: RI – Разрешение чтения (RI=1 – Можно читать со входной шины данных),

ШуВых[0] – Выходная шина управления:

    0: Rо – Подтверждение вывода (Rо=1 – на выходной шине данных сформирован результат).

    1: STOP – Неверные данные (STOP=1 – длинна массива равна нулю)

SYN – Синхронизация. 

 

Формат числа с  плавающей точкой

 
0 1 2 3 4 5 6 7 8 9 10 11
1 0 1 0 0. 0 1 0 0 0 0 0
 

Разряды нумеруются начиная с нуля,  0 –  старший разряд. 

0-3 – Порядок  в доп. коде, 0 – знак порядка.

4-11 – Мантисса  в доп. коде, 4 – знак мантиссы. 

   Числа поступают одно за другим по входной  шине данных. Если выполняется команда  нахождения максимума массива, то биты 2-5 первого числа принимаются  за длину массива, причем это первое число участвует в операции. Результат  поступает на выходную шину данных. 
 
 
 
 

 

Математическое обоснование  используемых алгоритмов 

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

Нахождение  модуля числа 

      Реализация  нахождения модуля числа представим в виде перевода из дополнительного кода в прямой код. Положительное число и его модуль выглядят одинаково. Отрицательные числа переводятся из прямого в обратный код так: знаковый разряд присваивает единицу, а само число инвертируется и к полученному, инвертированному, числу прибавляем единицу.  Поэтому, чтобы получить положительное число, необходимо отрицательное число в дополнительном коде инвертировать, вместе со знаковым разрядом, и прибавить к результату единицу,  что и есть обратный переход к прямому коду. 
 
 

Нормализация.

 

   Число считается нормализованным, если 2 старших  разряда мантиссы (4-ый и 5-ый) не равны  между собой. Если эти разряды  равны, то число не нормализованное. Необходимо сдвинуть мантиссу на 1 разряд влево, а из порядка вычесть единицу. Эти действия надо повторять до тех пор, пока старшие 2 разряда мантиссы не станут различными. Если на очередной итерации порядок примет свое минимальное значение (-8), то алгоритм завершается, и хотя число при этом может остаться не нормализованным, но такая его форма также пригодна для операции сравнения.  

   В случае, если мантисса числа равна 0 (т.е. число – машинный ноль), то вне  зависимости от исходного значения порядка, в результате нормализации порядок принимает значение (-8). Именно в таком виде машинный ноль корректно обрабатывается схемой сравнения. 
 

 

Нахождение максимума  в массиве с плавающей точкой 

   Для поиска максимума в массиве необходима переменная “накопления максимума” (регистр Rg1). Первое число записывается в Rg1, второе и последующие сравниваются с Rg1, и если Rg1 окажется больше очередного числа, то это число пропускается, в противном случае оно записывается в Rg1. Длина массива задается 2-5 разрядами первого числа, участвующего в поиске максимума. Длина массива – беззнаковое целое 0-15. Если длина массива равна 0, то выдается сигнал STOP и вычисление максимума не производится. 

   Перед сравнением числа необходимо нормализуются.  
 
 

 

Примеры 

   Для иллюстрации вышеописанных алгоритмов приводится по одному примеру на каждый алгоритм. 
 

Нахождение  модуля числа 

        A = 1001 11010011

            1001 11010011

инвертируем:       1001 00101100

прибавим «1»       1001 00101101 

|A| = 1001 00101101

        

Нормализация

 

        0001 1.1111010 – Знаковый разряд мантиссы  и следующий за ним совпадают ==> не нормализовано.

        0000 1.1110100 – ----//----

        1111 1.1101000 – ----//----

        1110 1.1010000 – ----//----

        1101 1.0100000 – Знаковый разряд мантиссы  и следующий за ним не совпадают ==> нормализовано. 

-0.046875*2^1 = -0.09375

-0.75*2^(-3) = -0.09375 

Нахождение  максимума в массиве с плавающей точкой 
 

        0011 1.0001101 – Первое число, записываем его в Rg1. Из этого числа определили, что кол-во элементов в массиве равно 3.

        0011 1.0011110 – Второе число, сравниваем  его с Rg1. Rg1 меньше поступившего числа, записываем это число в Rg1.

        0100 1.0011110 – Третье число, последнее.  Сравниваем с Rg1. Знаковый бит мантиссы третьего числа равен 1 ==> третье число меньше Rg1. Пропускаем это число.  

        Поиск закончен. MAX = 0011 1.0011110 

        0011 1.0001101 = -0,8984375*2^3 =  -7,1875

        0011 1.0011110 = -0,765625*2^3 = -6,125

        0100 1.0011110 = -0,765625*2^4 = -12,25 
         

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Описание  УА. Таблица заполнения управляющей памяти. 
 
 

   В данном вычислительном устройстве используется УА с регулярной адресацией. В таком  УА при разветвлении процесса вычислений один из альтернативных адресов всегда на единицу больше, чем текищий; второй адрес – произвольный. 

   Элементом, “вычисляющим” адрес, является счетчик, управляемый сигналом, являющимся входным для УА. В зависимости от значения входного сигнала счетчик либо прибавляет единицу к значению, которое хранилось в счетчике и являлось текущим адресом, либо загружается значением адреса из управляющей памяти. 

Операционный автомат.vsd

— 100.50 Кб (Скачать файл)

Управляющий Автомат.doc

— 431.00 Кб (Просмотреть файл, Скачать файл)

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