ЗМІСТ
ВСТУП 3
1 АНАЛІЗ АРИФМЕТИКО – ЛОГІЧНИХ ПРИСТРОЇВ 5
1.1 Поняття архітектури і структури комп'ютерів 5
1.2 Основи побудови арифметико-логічних пристроїв 6
1.2.1 Принцип мікропрограмного керування 6
1.2.2 Операційний та керуючий блоки 7
1.2.3 Класифікація арифметико-логічних пристроїв 7
1.3 Типові функціональні вузли комп'ютерів 9
1.4 Проектування комбінаційних схем 12
2 ПРОЕКТУВАННЯ СПЕЦІАЛІЗОВАНОГО АРИФМЕТИКО – ЛОГІЧНОГО ПРИСТРОЮ ДЛЯ ОПЕРАЦІЇ ДОДАВАННЯ. ШИФР – АЛП 14
2.1 Початкові дані до проекту 14
2.2 Алгоритм додавання двійкових чисел 14
2.3 Функціональна схема АЛП 15
2.4 Мікропрограма додавання двійкових чисел 16
2.5 Принципова схема модуля операційного блока МОБ 16
2.6 Проектування модуля керуючого блока МКБ 17
3 ВИБІР ЕЛЕМЕНТНОЇ БАЗИ І ПОБУДОВА ПРИНЦИПОВОЇ СХЕМИ АЛП 20
3.1 Характеристика сучасної елементної бази 20
3.2 Характеристика елементів серії ТТЛІІІ 22
3.3 Вибір інтегральних мікросхем для побудови принципової схеми арифметико-логічного пристрою 24
3.3.1 Вибір типу регістра 24
3.3.2 Вибір мікросхем для побудови логічних схем пристроїв 25
3.3.4 Вибір мікросхеми дешифратора 26
3.3.5 Вибір мікросхеми суматора 27
3.4 Розрахунок споживаної потужності, швидкодії і вартості АЛП 27
ВИСНОВКИ 29
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ 30
ДОДАТОК А Функціональна схема АЛП 31
ДОДАТОК Б Змістовний, закодований та розмічений графи мікропрограми додавання 32
ДОДАТОК В Перелік мікросхем АЛП 33
ВСТУП
Розвиток електронної обчислювальної техніки і її широке застосування в науці, техніці та промисловості – важливий фактор прискорення науково-технічного прогресу.
Комп'ютерна схемотехніка вивчає принципи побудови цифрових функціональних вузлів та пристроїв на основі інтегральних мікросхем і мікропроцесорних засобів. Розвиток мікроелектронної елементної бази є основою вдосконалення архітектури комп'ютерів та якісного поліпшення їх техніко-економічних показників – продуктивності, швидкодії, надійності, вартості та інших.
Тема курсового проекту «Спеціалізований арифметико-логічний пристрій комп'ютера» актуальна у зв'язку з широким застосуванням цифрової обчислювальної техніки в різних сферах діяльності людини. Ефективність сучасних комп’ютерних систем залежить від якості їх проектування.
Основні вимоги до курсового проекту (роботи):
одержання прогресивних технічних рішень;
застосування формалізованих методів аналізу і синтезу цифрових схем;
оптимальний вибір сучасних швидкодіючих інтегральних мікросхем різного ступеню інтеграції;
забезпечення електричних режимів роботи інтегральних мікросхем;
виконання вимог чинних державних стандартів.
Мета курсового проектування:
закріплення, поглиблення та узагальнення теоретичних знань і розвиток навичок їх практичного застосування в галузі комп'ютерної схемотехніки;
самостійне та колективне розв'язання конкретних фахових задач обчислювальної техніки;
уміння користуватися відповідною довідковою літературою, державними стандартами;
використання сучасних комп'ютерних інформаційних технологій.
Курсове проектування містить такі етапи:
визначення теми і оформлення завдання на курсове проектування;
безпосереднє виконання курсового проекту;
оформлення пояснювальної записки та графічного матеріалу;
захист курсового проекту.
1 АНАЛІЗ АРИФМЕТИКО – ЛОГІЧНИХ ПРИСТРОЇВ
1.1 Поняття архітектури і структури комп'ютерів
Комплекс електронного устаткування, що призначений для автоматизації процесів обробки інформації і має спільне керування, називається комп'ютером.
Архітектура – це найбільш загальні принципи побудови комп'ютерів. Вона охоплює коло питань, суттєвих, в першу чергу, для користувача: функціональний склад технічних та програмних засобів та їх взаємодію в процесі обробки інформації; систему команд, їх формати і способи кодування; методи адресації команд і даних та ін.
/
Рис. 1.1. Структура комп'ютера
Комп'ютер класичної архітектури (рис. 1.1) вміщує:
АЛП;
оперативну пам'ять (ОП);
засоби зберігання і введення-виведення інформації: зовнішні запам'ятовувальні пристрої (ЗЗП); пристрої введення інформації (ПВв); пристрої виведення інформації (ПВив); усі ці пристрої називають зовнішніми чи периферійними (ПП);
пристрій керування (ПК). Разом з АЛП він утворює процесор.
Арифметико-логічний пристрій призначений для виконання арифметичних і логічних операцій, передбачених системою команд певного комп'ютера.
Оперативна пам'ять призначена для тимчасового зберігання програм і даних.
Пристрій керування зчитує і дешифрує у відповідній послідовності команди, формує і подає керуючі сигнали для інших пристроїв комп'ютера. До ПК відносять і пульт оператора.
Процесор і ОП разом створюють ядро комп'ютера.
Операції введення-виведення – це обмін інформацією між ядром машини і ПП. Операція введення передає інформацію з ПП в ядро комп'ютера, а операція виведення – навпаки.
1.2 Основи побудови арифметико-логічних пристроїв
1.2.1 Принцип мікропрограмного керування
Арифметико-логічний пристрій функціонує на основі мікропрограмного керування. Кожна машинна операція розділяється на послідовність елементарних дій (передача слів, інверсія слів та ін.), які реалізуються в тактах. Елементарне функціональне обчислення, яке виконується в одному машинному такті, називається мікрооперацією. Кожна мікрооперація ініціюється відповідним керуючим сигналом. Сукупність мікрооперацій, які виконуються в одному машинному такті, називається мікрокомандою. Зокрема, мікрокоманда може вміщувати одну мікрооперацію або жодної.
Для вибору порядку проходження мікрооперацій аналізуються логічні умови, які набувають значення одиниці (так) чи нуля (ні) залежно від значень операндів і результатів обчислень. Мікроалгоритм операції, записаний в термінах мікрооперацій і логічних умов, називається мікропрограмою. Кожна машинна операція має свою мікропрограму.
1.2.2 Операційний та керуючий блоки
Будь-який цифровий обчислювач, в тому числі й АЛП, може представлятися композицією операційного і керуючого пристроїв. В операційному пристрої виконуються арифметико-логічні операції. Керуючий пристрій забезпечує виконання операцій за допомогою послідовності керуючих сигналів, яку він виробляє залежно від мікропрограми. В математичних моделях АЛП перший пристрій подається операційним автоматом, а другий – керуючим автоматом (рис. 1.2).
/
Рис. 1.2 Структура математичної моделі АЛП
Операційний автомат (ОА) приймає по входу А операнди, по входу У – керуючі сигнали {}, передає на вихід X результати операції і формує множину значень логічних умов {}.
Керуючий автомат (КА) приймає по входу X логічні умови {} і залежно від їх значень та коду операції по входу F формує послідовність керуючих сигналів {}.
1.2.3 Класифікація арифметико-логічних пристроїв
Арифметико-логічні пристрої класифікують за такими ознаками:
способом оброблення даних – паралельні, послідовні, паралельно-послідовні;
системою числення - двійкові, десяткові та ін.;
формою подання чисел - з плаваючою комою, з фіксованою комою, цілі двійкові та десяткові числа;
часом виконання операцій - синхронні та асинхронні;
способом виконання мікрооперацій – із закріпленими мікроопераціями, із спільними операціями;
типом керуючого автомата – зі схемною або програмованою логікою;
методом побудови – багатофункціональні та блокові.
У синхронних АЛП на виконання різних операцій відводиться один і той же інтервал часу, а в асинхронних час виконання залежить від типу операції.
В АЛП можливі два типи КА:
зі схемною («жорсткою») логікою, яка складається з елементів пам'яті (тригерів) і комбінаційних схем. Вони генерують відповідні керуючі сигнали {} в машинні такти залежно від коду операції;
з програмною (яка зберігається в пам'яті) логікою: для кожної операції в спеціальній, частіше постійній, пам'яті записується мікропрограма у вигляді послідовностей керуючих слів – мікрокоманд. Вони містять інформацію про мікрооперації, що мають виконуватися в даному такті, та адресу наступної мікрокоманди.
Узагальнену і найбільш поширену структуру АЛП показано на рис.1. 3.
/
Рис. 1. 3 Узагальнена структура АЛП
До складу ОА універсальних комп'ютерів входять:
арифметико-логічний блок (АЛБ);
набір регістрів загального призначення (РЗП);
блок контролю.
В АЛБ виділяють комбінаційний суматор SМ, вхідні регістри А і В для приймання операндів та вихідний регістр С для записування результату. В АЛБ є логічні схеми, які виробляють множини [] сигналів логічних умов (ознак результату), наприклад, нульовий або від'ємний результат та ін.
Регістри загального призначення використовують для приймання і зберігання операндів, проміжних та кінцевих результатів.
Блок контролю забезпечує перевірку правильності виконання арифметико-логічних операцій одночасною реалізацією тієї ж команди дублюючою апаратурою і порівнянням результатів або виконанням дій над спеціальними кодами, одержаними від операндів під час додавання за модулем два, модулем три та ін. У разі виявлення помилок і збоїв у роботі ОА блок контролю посилає в КА код помилок {}.
На АЛП поступає код операції від центрального пристрою керування. Застосування в АЛП пристроїв керування зі схемною логікою прискорює виконання операцій. Застосування КА з програмною логікою забезпечує гнучкість мікропрограмування, дозволяє змінювати склад мікропрограм у разі введення нових команд. У сучасних АЛП можуть поєднуватись обидва типи КА.
1.3 Типові функціональні вузли комп'ютерів
У комп'ютерах команди виконуються послідовністю мікрооперацій (елементарних дій в одному машинному такті), наприклад, інкремент (збільшення), декремент (зменшення) слова, зсув, інверсія, пересилання слова і т. ін. Електронні схеми, призначені для виконання мікрооперацій, називаються типовими функціональними вузлами комп'ютера.
За логікою роботи функціональні вузли поділяють на комбінаційні (автомати без пам'яті) і накопичувальні (автомати з пам'яттю).
У комбінаційних вузлах стан виходів залежить тільки від комбінації вхідних сигналів у певний момент часу. До комбінаційних типових функціональних вузлів належать:
двійкові та двійково-десяткові суматори – призначені для додавання двох двійкових або двійково-десяткових чисел;
дешифратори – використовуються для дешифрації вхідного двійкового позиційного коду;
шифратори – перетворюють вхідний унітарний код у вихідний двійковий позиційний;
мультиплексори – комутатори множини вхідних ліній на єдину вихідну;
демультиплексори – комутатори єдиної вхідної лінії на одну із множини вихідних;
компаратори – виробляють ознаки порівняння слів на: дорівнює, більше, менше;
схеми контролю за модулем два – використовуються для контролю інформації в процесах зберігання, передачі та виконання операцій;
перетворювачі кодів – призначені для перетворення коду з однієї форми в іншу, наприклад, прямого коду в доповняльний.
У накопичувальних вузлах логічний стан виходів визначається як комбінацією вхідних сигналів, так і станом пам'яті в певний момент часу. До накопичувальних (послідовнісних) типових функціональних вузлів належать:
регістри – призначені для записування, тимчасового зберігання і видачі двійкової інформації;
лічильники – призначені для лічби імпульсів.
Проектування типових функціональних вузлів комп'ютера містить у собі такі етапи.
Змістовна постановка задачі. Указують тип і розрядність проектованого вузла, особливості його зв'язків з іншими вузлами, тип схемної логіки, вимоги до швидкодії споживаної потужності.
Аналіз розмірності (розрядності) задачі. На основі аналізу розмірності задачі приймають рішення про проектування вузла як цілісної системи або, у випадку великої розмірності, розбивають його на модульно-розрядні частини. Наприклад, синтезується однорозрядний суматор і потім за допомогою ланцюгів перенесення будується регулярна структура багаторозрядного суматора.
Формалізоване задання алгоритмів роботи вузла. Логіку функціонування вузла задають таблицями істинності чи мікрооперацій, графом, картами Карно.
Подання алгоритмів роботи вузла аналітичними виразами. Вигляд логічних рівнянь залежить від способу формалізованого задання роботи вузла. У разі використання таблиць істинності логічні рівняння записуються в канонічних формах – досконалих диз'юнктивних (ДДНФ) чи кон'юнктивних (ДКНФ) формах. Якщо робота вузла описується таблицею мікрооперацій, то в логічні рівняння як змінні включаються також і керуючі сигнали.
Мінімізація одержаних логічних рівнянь, поданих у вигляді ДДНФ. Зручно виконувати за допомогою карт Карно чи діаграм Вейча (якщо число змінних не більше шести). Якщо число змінних більше шести, то використовують машинні способи мінімізації. Мінімізовані форми логічних рівнянь забезпечують побудову схем меншої вартості.
Перетворення мінімальних форм рівнянь до вигляду, зручного для реалізації в заданому елементному базисі. Проектування вузлів часто здійснюють на універсальних логічних елементах НЕ І або НЕ ЧИ. Для переходу до такого елементного базису виконують перетворення мінімальних диз'юнктивних або кон'юнктивних нормальних форм за допомогою правил подвійної інверсії з наступним застосуванням правил де Моргана.
1.4 Проектування комбінаційних схем
У виробництві часто використовують комбінаційні керуючі схеми, які задають значення параметрів технологічного процесу залежно від логічних ознак. Схема об'єкту керування з двійковими логічними аргументами Х1, Х2,Х3 та Х4 на виході показана на рис. 1.4. Комбінаційна схема залежно від значення аргументів на вході виробляє керуючі двійкові сигнали від до .
Комбінаційні схеми будуються на основі логічних елементів. Логічний стан виходів елементів комбінаційної схеми залежить тільки від комбінації вхідних сигналів у певний момент часу.
/
Рис. 1.4. Комбінаційна схема керування об'єктами
Областю визначення логічної функції F (Х1 Х2, ...,Хn) є скінченна множина різних двійкових наборів довжиною n, на кожному з яких указується значення функції нуль або одиниця. Кількість різних двійкових наборів дорівнює множині n–розрядних двійкових чисел т = 2n.
Довільну булеву функцію можна задавати різними способами: словесним описом, часовими діаграмами, геометричними фігурами, графами, таблицями істинності та аналітичними виразами.
У разі задання функції таблицею істинності в лівій її частині подано усі можливі двійкові набори, а в правій - вказано значення функції на цих наборах.
Розроблено універсальні (канонічні) форми представлення булевих функцій, які дають можливість одержати аналітичну форму довільної функції безпосередньо з таблиці істинності. Ця форма надалі може бути мінімізована або спрощена. Оскільки між множиною аналітичних представлень і множиною схем, які реалізують цю функцію, існує взаємно однозначна відповідність, то пошук канонічної форми запису є початковим етапом синтезу логічних схем. Найбільше поширення одержали ДДНФ і ДКНФ. Для одержання цих форм вводяться поняття мінтермів (конституєнта 1) і макстермів (конституєнта 0).
Мінтерм – це функція п змінних, яка дорівнює одиниці тільки на одному наборі. Мінтерм одержують як кон'юнкцію п змінних, що входять до нього у прямому виді.
Макстерм – це функція п змінних, яка дорівнює нулю тільки на одному наборі. Макстерм одержують як диз'юнкцію усіх змінних, що входять до нього у прямому вигляді, коли значення Хі = 0, або в інверсному вигляді, якщо значення Хі = 1.
Важливим етапом проектування комп'ютерних схем є мінімізація булевих функцій, тобто знаходження їх виражень з мінімальною кількістю букв. Мінімізація забезпечує побудову економічних схем комп'ютерів. Кожна клітинка карти Карно однозначно відповідає одному наборові таблиці істинності для функції п змінних або мінтермам цієї функції. Клітинки карти Карно часто нумерують десятковими цифрами – номерами наборів.
При мінімізації для кожного мінтерму, який входить у ДДНФ функції, ставиться одиниця, а інші клітинки не заповнюються.
Мінтерми в сусідніх клітинках карти Карно в рядку (з урахуванням верхніх і нижніх) або в стовпчику (з урахуванням крайніх) розрізняються значенням однієї змінної, що дозволяє виконувати операцію склеювання за цією змінною.
2 ПРОЕКТУВАННЯ СПЕЦІАЛІЗОВАНОГО АРИФМЕТИКО – ЛОГІЧНОГО ПРИСТРОЮ ДЛЯ ОПЕРАЦІЇ ДОДАВАННЯ. ШИФР – АЛП
2.1 Початкові дані до проекту
Вхідні дані до проектування АЛП:
тип арифметичної операції — додавання двійкових чисел;
початковий код подання операндів — доповняльний;
розрядність операндів — 16 біт;
код виконання операції у суматорі — доповняльний модифікований;
структура операційного блока — із закріпленими мікроопераціями;
тип керуючого блока — автомат Мілі з пам'яттю на JK-тригерах;
схема логічної ознаки переповнення розрядної сітки;
схема логічного порозрядного додавання кодів вхідних операндів А і В.
Елементна база – інтегральні схеми ТТЛШ серій К1531, КР1533
Перелік обов'язкового графічного матеріалу:
граф-схеми мікропрограми додавання;
схема електрична функціональна;
схема електрична принципіальна;
перелік елементів (специфікація).
Потрібно виконати розрахунки:
кількості мікросхем у пристрої АЛП;
споживаної потужності;
швидкодії АЛП на прикладі операції додавання типу "регістр-регістр".
2.2 Алгоритм додавання двійкових чисел
Додавання і віднімання двійкових чисел можна виконувати в обернених або доповняльних кодах та їх модифікаціях. У сучасних комп'ютерах часто операнди зберігаються в пам'яті в доповняльних кодах. Використання доповняльних кодів в операціях додавання і віднімання та для зберігання операндів у пам'яті має такі переваги:
однозначне подання знака результату як додатного, так і від'ємного;
під час записування в пам'ять від'ємного результату не витрачається час для його перетворення в прямий код;
менше дій для аналізу знака результату, зокрема переповнення розрядної сітки.
Алгоритм додавання двійкових чисел:
у першому і другому машинних тактах із вхідної шини паралельним кодом записуються операнди А і В у відповідні регістри RGA i RGB . Зчитування операндів здійснюється ЦПК;
протягом одного машинного такту виконується мікрооперація додавання;
за відсутності переповнення розрядної сітки результат записується у регістр RGC;
за наявності переповнення результат не фіксується і в ЦПК подається сигнал переповнення ПП.
2.3 Функціональна схема АЛП
Функціональну схему шіснадцятирозрядного АЛП для виконання операції додавання показано в додатку А.
Функціональна схема АЛП містить:
регістри RGА і RGВ для приймання і подальшого зберігання із вхідної шини Ш1 першого і другого операндів;
паралельний комбінаційний суматор SM;
регістр результату RGС, дані з якого пересилаються по вихідній шині Ш2 в оперативну пам'ять;
схеми електронних ключів SW1 і SW2;
схему вироблення ознак переповнення ОР;
схему диз'юнкторів ХОR для виконання операцій порозрядного логічного додавання кодів операндів А і В.
Ознака результату обчислюються за допомогою булевого виразу:
- переповнення розрядної сітки ПП (знаки дорівнюють 01 чи 10).
Ознака ХОR реалізується за допомогою восьми логічних двовходових елементів «виключальне АБО» за співвідношенням:
і = 1,2, ...,8,
де Fi — i-й вихід вузла логічного додавання. Ця операція виконується автоматично незалежно від коду команди.
2.4 Мікропрограма додавання двійкових чисел
Мікропрограма додавання двійкових чисел у доповняльних кодах має такий вигляд:
Початок. Якщо К[1], то М1, інакше — чекати
М1 у1: RGA := А <приймання першого операнда>
у2: RGВ:= В <приймання другого операнда>
у3: SM:=А + В <додавання>
Якщо φ3, то М2. інакше
у4 : RGC := SM <присвоєння результату>
у5 : Ш2 := RGC <пересилання в пам'ять>
Перейти до М3
М2 y6 : ТП :=ПП <тригеру переповнення ТП присвоюється ознака ПП>
М3 Кінець.
Примітка. К[1] однорозрядний код команди додавання.
Змістовний і закодований графи мікропрограми віднімання показано в додатку Б.
2.5 Принципова схема модуля операційного блока МОБ
Модуль МОБ будується на мікросхемах ТТЛШ серії КР1533 за винятком суматора, взятого із серії КР1531.
Принципова схема модуля МОБ містить:
чотири вхідних восьмирозрядних регістри RGA і RGB типу ИР35, позиційне позначення DD1 – DD4;
чотири мікросхеми типу ЛЛ1, позиційне позначення DD5 – DD8. Призначені для реалізації логічного порозрядного додавання кодів вхідних операндів А і В;
вісім мікросхем типу ЛИ1, позиційне позначення DD9–DD16, задіяні усі секції. Призначені для побудови двох схем електронних ключів SW1, SW2;
чотири мікросхеми суматорів ИМ6, позиційне позначення DD17 – DD20;
два вихідних восьмирозрядних регістрів RGC типу ИР22 з трьома станами, позиційне позначення DD21, DD22. Використовується для приймання результату додавання і його передавання на вихідну шину Ш2;
мікросхему типу ЛП5, яка містить чотири логічні елементи «виключальне АБО», позиційне позначення DD31. Використовують для створення старшого знакового розряду суматора і логічної ознаки φ3 = х1 та .
2.6 Проектування модуля керуючого блока МКБ
Проектування модуля керуючого блока (МКБ) на основі автомата Мілі з пам’яттю на JK-тригерах виконується в такій послідовності.
Розмічається закодований граф мікропрограми додавання (див. рис.2). Визначається максимальна кількість станів автомата Мура, що дорівнює L = 5. Для реалізації такого числа станів необхідно використати тригери.
На основі розміченого графу мікропрограми будується граф автомата Мілі (рис. 2.1), який інтерпретує мікропрограму додавання.
/
Рис. 2.1 Граф автомата Мілі для мікропрограми додавання
Стани автомата Мура кодуються значеннями виходів JK-тригерів:
…,
На основі графу автомата Мілі записується його структурна таблиця переходів (табл.2.1).
Таблиця 2.1 Структурна таблиця переходів автомата Мура