Смекни!
smekni.com

Розробка управляючого і операційног вузлів ЕОМ (стр. 6 из 7)

На малюнку 6.20 і 6.21 приведені блок-схеми алгоритма ділення десяткових чисел.

Вхід DDIV

Вихід

малюнок 6.20 Чу стр. 265

малюнок 6.21 Чу стр. 266

Додовання і віднімання, які використовуються цим алгоритмом, виконуються підпослідовністю SUM – DIF, а перевірка переповнення – з допомогою підпослідовності DSTEST. З малюнку 6.20 видно, що ділення починається з скидання регістру WC в 0 і звернення до підпослідовності DSTEST з цілью перевірки можливості переповнення при діленні. Підпослідовніст DSTEST, зображена в виді блок-схеми на малюнку 6.21, в свою чергу починається з звернення до підпослідовності SUM – DIF; останні здійснює віднімання дільника, який знаходиться в масиві регістрів R, з старшої частини діленого, який знаходиться в масиві регістрів A. Різниця залишається в масиві регістрів A.
Потім виконується перевірка, яка дозволяє встановити, чи не містить регістр OV позики. Якщо регістр OV містить 0, значить місце переповнення при діленні немає, і ділене відновлюється шляхом звернення до підпослідовності SUM – DIF, здійснюється додавання дільника з масива регістрів R і різниці масива регістрів A. В цей момент виконання підпослідовності DSTEST закінчується скидуванням регістра DSTEST в 0.

Після повернення з підпослідовності DSTEST до підпослідовності ділення виконується перевірка регістра DV на рівність 1. Випадок рівності DV одиниці вказує на переповнення при діленні, що викликає припинення операції ділення. Якщо ж в індикаторі переповнення DV міститься нуль, ділення продовжується. Так як успішний вихід перевірки умови переповнення при діленні означає, що вміст масива регістрів A менше дільника, який знаходиться в масиві регістрів R, ділене в масиві регістрів A множиться на 10 шляхом зсуву на одну десяткову цифру вліво.

Як видно з малюнка 6.20, в алгоритмі є два цикла – внутрішній і зовнішній. Внутрішній цикл починаєтсья з встановлення лічильника DVC в 0. Потім починається внутрішній цикл додавання-віднімання. В внутрішньому циклі виконується звертання до підпослідовності SUM –DIF, яка здійснює додавання або віднімання, а також перевірки виникнення позики при відніманні.Якщо позики немає, лічильник DVC збільшується на 1, і керування передається до початку внутрішнього циклу. Цикл віднімання повторюється до тих пір, поки не виникне позика, на чому виконання циклу закінчується. Наявність позики означає, що вміст лічильника DVC є цифра частки; значення вмісту DVC пересилається в субрегістр Q(,8). Лічильник WC збільшується на 1, після чого його нове значення порівнюється з константою 8. Якщо вміст WC дорівнює 8, касрегістр A зсувається вліво на одну десяткову цифру, і управління передається до початку зовнішнього циклу. Зовнішній цикл повторяється до тих пір, поки лічильник WC на стане рівним 8. В цей момент визначаються знаки частки і залишку, які поміщаються в регістри SA і SQ відповідно. На цьому виконання операції ділення закінчується.

2.9 КМОН

З багатьох серій цифрових мікросхем на польових транисторах найбільше використання одержали серії мікросхем КМОП.

Скорочено КМОП – це початкові букви чотирьох слів з повного визначення: комплементарні польові транзистори з структурою металл – окисел – напівпровідник. Слово комплементарний переводиться як взаємно доповнюючий. Так називаються пару транзисторів, які подібні по абсолютним значенням параметрів, але з напівпровідниковими структурами, взаємно відображені як би в вигляді негатива і позитива. В біполярній схемотехніці – це транзистори n-p-n і p-n-p, в польовій p-канальні і n-канальні. Тут p – перша буква від слова positive,
n – negative.

Цікаво, що на перших етапах розвитку біполярних цифрових мікросхем пророкували широке розповсюдження комплементарних біполярних логічних елементів на n-p-n і p-n-p транзисторах. Для прикладу, якщо в ТТЛ вдалось би замінити вихідний каскад на двохтактний комплементарний, принципово збільшилась би економічність елемента. Але біполярна комплементарна транзисторна логіка не прижилась через труднощі виготовлення на кристалі великої кількості компактних по площині і високоякісних по параметрах інтегральних p-n-p транзисторів.

Нагадаємо, що в аналоговій схемотехніці, де p-n-p транзистори просто необхідні як для спрощення схемотехніки, так і для покращення властивостів підсилювачів, проблема створення добрих p-n-p транзисторів для технологів все ж таки існує. Тому реально біполярні мікросхеми ТТЛмають на виході так називаємі квазікомплементарний каскад. На кристалі роблять тільки n-p-n транзистори. Ця компромісна схема елемента ТТЛ вийшла оптимальною і перспектвною на багато десятеліть.

Перші спроби випускати серії простих польових елементів, подібний по схемі з РТЛ, до успіху не привели. Логічні елементи виходили малошвидкодіючі, оскільки внутрішній опір канала у польового транзистора на порядок більше,
чим опір між колектором і емітером насиченого біполярного транзистора. Однополярні мікросхеми МОП не відрізнялись успіхом ні перешкодостійкістю,
ні малою потребуючою силою. Добрі результати дало використання двополярного інвертора, який побудований на комплементарній польовій парі.

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

2.10 Мікросхеми

Отже:

- як D-тригери беремо мікросхему К176ТМ2

14

7

Ця мікросхема містить два D-тригера і є корисна тим, що має інверсні виходи, а також має входи скидання (Reset).

Довжина тактового імпульсу не повинна бути меншою 100 нс.

Час встановлення виходів – не менше 25 нс.

Логічні мікросхеми також легко підібрати.

К561ЛА7 К561ЛА8 К561ЛА9 К561ЛИ2

Хоча мікросхеми серії К561 і підтримують напругу живлення до 15 Вольт (чим більша напруга, тим більша швидкодія) але ми змушені використовувати мікросхеми старішої серії К176, максимальна напруга живлення яких – 9 Вольт. Тому напруга живлення всього автомата не повинна перевищувати 9 Вольт,
а в ідеальному випадку бути рівною цьому значенню.

3. Розробка графу

Будується на основі автомату Мура, що використовує алгоритм двійкового ділення (паралельний пристрій). Хоча за умовою я повинна розробити пристрій для ділення десяткових чисел, але, враховуючи, що блок-схема десяткового ділення складніша у два рази (Каган) та маючи КМОН, яка є повільною, я буду використовувати двійковий алгоритм (Чу, 23) та шифратори і дешифратори. Модифікований алгоритм приведе до такого графа:

CM – дозвіл

___

CM – логічна операція множення

X0: SR(M) <= AC(M)

X1: SR(S) = AC(S)

X2: SC = 23

Стани в автоматі Мура відповідають таким мікрокомандам:

Z0: SM ¬ 1

Z1: AC(M) ¬ – AC(M)’

Z2: MQ(S) ¬ 0

Z3: MQ(S) ¬ 1

Z4: SC ¬ 0

Z5: AC(M) – MQ(M) ¬ AC(1 – 22) – MQ(23)’ – MQ(1 – 22)

Z6: MQ(22) ¬ 1

AC(M) ¬ AC(M) add SR(M)

Z7: SC ¬ countup SC

Z8: AC(M) ¬ AC(M)’

В цифровому автоматі Мура в якості запам’ятовуючих елементів використовується двохтактні тригери, що дає можливість уникнути ефекту гонок. Виберемо D – тригери.

Кількість станів цифрового автомату забезпечать чотири двохтактні
D – тригери. Для кодування станів виберемо код “8421”, який є найкращий для машинної обробки.

4. Розробка управляючого блоку.

Таблиця кодування станів ЦА Мура
E F G H E F G H
S0 0 0 0 0 S5 0 1 0 1
S1 0 0 0 1 S6 0 1 1 0
S2 0 0 1 0 S7 0 1 1 1
S3 0 0 1 1 S8 1 0 0 0
S4 0 1 0 0

де "i Zi = Si (кодуємо кодом 8421)

Визначимо умови станів для управляючого автомату

Ready – сигнал готовності до початкувиконання операції

Sync – синхронізуючий сигнал

При використанні D – тригера ми отримаємо наступний управляючий автомат:

5. Розробка операційного блоку

5.1 Основна дія

Тепер, коли ми маємо готовий управляючий автомат, можна приступати до проектування операційного автомата. Для виконання ділення нам необхідно мати вісім чотирьохрозрядні суматори і одинадцять чотирьохрозрядних регістри, не враховуючи супроводжуючих логічних схем.

Всі необхідні елементи легко можна знайти в (3) сторінки 193 – 290.

В якості базового суматора можна вибрати К561ИМ1. Єдиною позитивною рисою цієї мікросхеми є те, що її характеристики детально розписані
в (3) ст. 267.

Недоліки:

страшенно мала швидкість (хоча, можливо, і не погана, як на елемент КМОН), час спрацювання – 550 нс. Тобто при послідовному під`єднанні чотирьох суматорів, як у нашому випадку, швидкість спрацювання становитиме 4.4 мкс.