Розробка обчислювального пристрою

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Розробити обчислювальний пристрій, що виконує наступні операції:

зміна знака числа

розподіл чисел

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

Опис структурної схеми пристрою з її обгрунтуванням

Структурна схема пристрою представлена ​​на малюнку 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 сигналом "+1 SM" (Y10).

Цифри приватного Zi, що визначаються за знаком часткових залишків у регістрі Am, фіксуються в регістрі Z шляхом послідовного занесення їх в молодший розряд регістра Z (Y7) і зсуву вмісту регістра Z (Y8).

Порядок приватного визначається відніманням порядків на SM шляхом подачі зворотного значення близько дільника з регістра Bo і фіксації результату в регістрі Bo.

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

Розробка обчислювального пристрою

Малюнок 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 описані префіксний функції.

Розробка обчислювального пристрою

Малюнок 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

Розробка обчислювального пристрою

Малюнок 3

Функція

Значення

P1

Вхідна готовність

P2

Код операції

P3

Ознака рівності 0 дільника

P4

Кінець поділу

P5

Знак числа в регістрі Am

P6

Ознака нормалізації

P7

Знак числа в регістрі Bm

Таблиця 3

На малюнку 4 представлена ​​зв'язок керуючого автомата з операційним автоматом.

Розробка обчислювального пристрою

Малюнок 4

Числові тестові приклади виконання операцій з поясненнями

Нехай X = 11010111 * 23, Y = тисяча сто одна * 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, в якому відбувається накопичення результату. Після визначення результату, отримане число треба нормалізувати і тому результуючий регістр крім послідовного входу і паралельного виведення повинен здійснювати зрушення числа вліво у бік старших розрядів.

Розробка обчислювального пристрою

Малюнок 5

Короткий опис принципової схеми

Принципова схема пристрою представлена ​​на рисунку 6.

Два числа надходять на суматор, який їх підсумовує і передає результат на регістр. Як суматора використовується мікросхема К555ІМ6, а як регістр К155ІР13 і К555ІР11 які відрізняються тільки розрядністю. Старший розряд регістра надходить на вхід результуючого послідовно - паралельного регістра, в якому накопичується результат. У даній схемі в якості результуючого регістра використовується мікросхема К531ІР24.

Розробка обчислювального пристрою

Малюнок 6

Висновок

У цій роботі було розроблено обчислювальний пристрій, що виконує наступні операції:

Знаходження абсолютного значення числа.

Розподіл чисел у форматі з плаваючою комою.

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

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
22.8кб. | скачати


Схожі роботи:
Розробка віртуального обчислювального пристрою з багатошаровою структурою
Розробка зарядного пристрою
Розробка пристрою узгодження
Розробка математичної моделі електронного пристрою
Розробка топково-пальникового пристрою котла
Розробка програм для мобільного пристрою
Розробка пристрою логічного управління Структурний синтез
Розробка електронного функціонального пристрою реалізує передавальну функцію
Розробка арифметичного пристрою виконує операцію складання з накопиченням суми
© Усі права захищені
написати до нас