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

Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Автоматики

Інформація про роботу

Рік:
2002
Тип роботи:
Курсова робота
Предмет:
Інші

Частина тексту файла (без зображень, графіків і формул):

Министерство Общего и Профессионального Образования Российской Федерации Московский Государственный Институт Радиотехники, Электроники и Автоматики (Технический Университет) Факультет ВАВТ Кафедра ВТ Курсовая Работа Тема: Разработка вычислительного устройства Студент: Башкиров А.А. Группа: ВСС3-98 Начало работы: _________________________ 2002 г. Окончание работы: _________________________ 2002 г. Руководитель: Иваненко Н.С. Допущен к защите “______” ______________ 2002 г. Москва 2002 Содержание Введение 3  Постановка задачи 4-5  Математическое обоснование используемых алгоритмов 6-7  Примеры 8  Блок-схема алгоритма в содержательной форме (на уровне языка регистровых передач) 9  Блок-схема алгоритма в закодированной форме 10  Описание УА. Таблица заполнения управляющей памяти. 11-14  Функциональная схема ОА 15  Функциональная схема УА 16   Введение Каноническая структура синтеза синхронного вычислительного устройства состоит из двух автоматов – операционного (ОА) и управляющего (УА). На вход ОА подаются входные (исходные) данные, а на выходе ОА формируются выходные данные (результат). На вход УА подается управляющая информация (например, код операции (КОП), сигнал разрешения чтения и тп.), а на выходе УА формируется выходная управляющая информация (например, сигнал готовности, сигнал ошибки и тп.). ОА и УА взаимосвязанны: от ОА к УА передаются сигналы признаков (условия) и в зависимости от этих условий от УА к ОА возвращается соответствующая микрокоманда. Синхронизация служит для управления работой всех синхронных узлов и деталей устройства. Постановка задачи Разработать вычислительное устройство, состоящее из двух взаимосвязанных частей – операционного и управляющего автоматов – и выполняющее следующие действия: Нахождение модуля числа. 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 Описание УА. Таблица заполнения управляющей памяти. В данном вычислительном устройстве используется УА с регулярной адресацией. В таком УА при разветвлении процесса вычислений один из альтернативных адресов всегда на единицу больше, чем текищий; второй адрес – произвольный. Элементом, “вычисляющим” адрес, является счетчик, управляемый сигналом, являющимся входным для УА. В зависимости от значения входного сигнала счетчик либо прибавляет единицу к значению, которое хранилось в счетчике и являлось текущим адресом, либо загружается значением адреса из управляющей памяти. Элемент М2 позволяет инвертировать значение входного сигнала, что облегчает распределение микроинструкций по ячейкам памяти. На нулевой вход мультиплексора подается 0. Это необходимо для создания безусловных переходов. Размещение микроинструкций в ячейках памяти. Y H Е S’  0 M0 P1 0 M0  1 M1 P2 0 M06  2 M01 P3 0 M02  3 M2 0 0 M0  4 M02 P4 0 M3  5 M3 0 0 M02  6 M4 0 0 M03  7 M03 P3 1 M11  8 M04 P1 0 M04  9 M5 0 0 M05  10 M05 P4 1 M06  11 M6 P4 0 M05  12 M06 P5 0 M8  13 M8 0 0 M03  14 M7 0 0 M03  15 M07 P6 0 M10  16 M10 0 0 M11  17 M9 0 0 M11  18 M11 0 0 M0   Таблица заполнения ПЗУ + таблица микрокоманд S Y   0 1 2 3 4 5 6 7 8 Ro STOP  0 0 0 0 0 0 0 0 0 0 0 0  1 0 0 1 0 0 1 1 1 0 0 0  2 0 0 0 0 0 0 0 0 0 0 0  3 1 0 0 0 0 0 0 0 0 0 1  4 0 0 0 0 0 0 0 0 0 0 0  5 0 0 0 1 0 0 1 0 0 0 0  6 1 1 0 0 0 0 0 0 0 0 0  7 0 0 0 0 0 0 0 0 0 0 0  8 0 0 0 0 0 0 0 0 0 0 0  9 0 0 0 0 0 1 1 1 0 0 0  10 0 0 0 0 0 0 0 0 0 0 0  11 0 0 0 1 0 0 1 0 0 0 0  12 0 0 0 0 0 0 0 0 0 0 0  13 0 1 0 0 0 0 0 0 0 0 0  14 1 1 0 0 0 0 0 0 0 0 0  15 0 0 0 0 0 0 0 0 0 0 0  16 1 0 0 0 0 0 0 0 0 0 0  17 1 0 0 0 0 0 0 0 1 0 0  18 0 0 0 0 0 0 0 0 0 1 0  
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!