Синтез операційного та керуючого автомату для виконання на тему:арифметичної операції в двійковій системі числення

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

ВУЗ:
Вінницькій національний технічний університет
Інститут:
Не вказано
Факультет:
Програмна Інженерія
Кафедра:
Кафедра програмного забезпечення

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

Рік:
2012
Тип роботи:
Курсова робота
Предмет:
Архітектура комп’ютерів та комп’ютерних систем

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

ЗАТВЕРДЖЕНО Наказ Міністерства освіти і науки України 29 березня 2012 року № 384 Форма № Н-6.01 Вінницький національний технічний університет (повне найменування вищого навчального закладу) Кафедра програмного забезпечення (повна назва кафедри, циклової комісії) КУРСОВА РОБОТА з дисципліни «Архітектура комп’ютера» (назва дисципліни) на тему: Синтез операційного та керуючого автомату для виконання на тему:арифметичної операції в двійковій системі числення Студента III курсу ПІ-15б (з/н) групи напряму підготовки 6.050103 «Програмна інженерія» Шарапатюка М.Б. (прізвище та ініціали) Керівник: к.т.н., доц. Войтко В.В. (посада, вчене звання, науковий ступінь, прізвище та ініціали) Національна шкала ________________ Кількість балів: __________Оцінка: ECTS _____ Члени комісії __________ ____________________ (підпис) (прізвище та ініціали) __________ ____________________ (підпис) (прізвище та ініціали) __________ ____________________ (підпис) (прізвище та ініціали) м. Вінниця – 2018 рік Міністерство освіти і науки України Вінницький національний технічний університет Факультет інформаційних технологій та комп’ютерної інженерії ЗАТВЕРДЖУЮ Зав. кафедри ПЗ, проф., д.т.н. ______________ А.М. Пєтух (підпис) "14" лютого 2018 р. ІНДИВІДУАЛЬНЕ ЗАВДАННЯ на курсову роботу з дисципліни "Архітектура комп’ютера" студента Шарапатюка Максима Богдановича ТЕМА: Синтез операційного та керуючого автомату для виконання арифметичної операції в двійковій системі числення Постановка задачі Синтезувати операційний автомат для виконання заданої арифметичної операції в двійковій системі числення та синтезувати керуючий автомат заданої логіки. Вхідні дані Арифметична операція: множення просте зі старших розрядів з плаваючою комою у доповняльних кодах. Логіка реалізації керуючого автомату: програмована логіка з примусовою адресацією. Затверджено на засіданні кафедри ПЗ, протокол №4 від 14 лютого 2018 року Дата видачі "14" лютого 2018 р. Керівник _____________ Войтко В.В. Завдання отримав ст. гр. ПІ-15б _____________ Шарапатюк М.Б. АНОТАЦІЯ В даній курсовій роботі досліджено принцип побудови керуючого та операційного автоматів, побудовано блок-схеми алгоритму множення чисел з плаваючою комою в доповняльних кодах. Також розроблено операційний та керуючий автомати з програмованою логікою і примусовою адресацією. ЗМІСТ ВСТУП 5 1 АНАЛІЗ ЗАВДАННЯ І ВИБІР МЕТОДУ СИНТЕЗУ 6 2 РЕАЛІЗАЦІЯ МЕТОДУ ВИКОНАННЯ АРИФМЕТИЧНОЇ ОПЕРАЦІЇ В ДВІЙКОВІЙ СИСТЕМІ ЧИСЛЕННЯ 8 2.1 Розробка алгоритму виконання операції множення в двійковій системі числення 8 2.2 Приклад виконання операції множення 10 3 СИНТЕЗ ОПЕРАЦІЙНОГО АВТОМАТА………………………………….13 4 СИНТЕЗ КЕРУЮЧОГО АВТОМАТА 15 4.1 Аналіз принципу дії автомата з програмованою логікою з примусовою адресацією 15 4.2 Побудова граф-схеми автомата 17 4.3 Структурна схема керуючого автомата 21 ВИСНОВКИ 23 ПЕРЕЛІК ПОСИЛАНЬ 24 ВСТУП Архітектура комп’ютера - це спосіб організації взаємодії компонентів, що складають комп’ютер. Для спрощення розуміння часто наводяться опису основних характеристик ключових компонентів. Всі сучасні комп’ютери грунтуються на принципах обробки даних, запропонованих Джоном фон Нейманом в 1946 році. Відмітною особливістю є циклічний спосіб виконання будь-якого процесу, при якому операнди і дані розміщуються в одному і тому ж блоці пам’яті. До речі, саме цей факт пояснює, чому архітектура комп’ютера фон Неймана використовується у всіх сучасних ЕОМ. Втім, спроби відійти від неї робилися вже давно. Центральний процесор – обчислювальне ядро всього комп’ютера. Представлений великою мікросхемою з мільярдами транзисторів всередині, формуючими функціональні блоки. Будь запущена на виконання програма непомітно для користувача перетвориться (інтерпретується) в машинний код і виповнюється саме на центральному процесорі. Оперативна пам’ять є необхідною частиною будь-якого обчислювального пристрою, навіть найпростішого калькулятора. У комп’ютерах транзистори пам’яті реалізовані в мікросхемах, припаяних до планки текстоліту з низкою мідних ковзних контактів. Крім внутрішніх комплектуючих, існує величезна кількість зовнішніх пристроїв. Лише завдяки їм вдається забезпечувати взаємодію людини і машини. 1 АНАЛІЗ ЗАВДАННЯ І ВИБІР МЕТОДУ СИНТЕЗУ Завдання до курсової роботи передбачає проектування процесору для виконання операції множення чисел у доповняльних кодах, починаючи зі старших розрядів, з плаваючою комою та побудову операційного автомату і керуючого автомату з примусовою адресацією. Проектування керуючого автомата проводитиметься наступним шляхом: побудова системи логічних функцій, що виражаються залежністю вихідних сигналів та сигналів збудження пам’яті від вхідних сигналів і станів автомата та синтез комбінаційних схем[1]. Нижче приведений алгоритм побудови керуючого автомата: Приведення алгоритму та побудова граф схеми арифметичної операції у двійковій системі числення. Побудова закодованої схеми автомата. Проведення розмітки закодованої ГСА станами автомата. Побудова графа переходів автомата. Вибір елементів пам’яті для реалізації запам’ятовуючої частини. Побудова суміщеної таблиці переходів та виходів. Визначення та мінімізація логічних функцій для забезпечення вхідних сигналів тригерів та вихідних сигналів. Приведення логічної функції до певного базису (за необхідності). Побудова функціональної схеми автомата. Аналіз та визначення основних параметрів пристрою. Операційний автомат складається із набору регістрів з комбінаційною логікою у входах запам'ятовуючих елементів регістрів. Вхідні сигнали операційного автомату ототожнюються з вихідними сигналами керуючого автомата–сигналами мікрооперацій. Ці сигнали визначають перетворення множини станів операційних автоматів. Вихідні сигнали операційних автоматів –це рядки значень логічних умов, які характеризують стани його регістрів. В основі синтезу керуючого автомата є принцип мікропрограмного керування[2], який полягає в тому, що будь-яка операція розглядається як складна, що складається з простіших операцій, які називаються мікроопераціями. Автомати з програмованою логікою можуть просто змінювати мікропрограми (замінити коди які записуються в пам’яті). Для наочного зображення алгоритму виконання операцій використовують граф-схеми алгоритмів. Граф-схема алгоритму (ГСА) –орієнтований зв'язаний граф, який містить одну початкову вершину (Початок), одну кінцеву вершину (Кінець) і довільну кількість умовних і операторних вершин. Вершина "Початок" входів не має. Вершина "Початок" і будь-яка операторна вершина мають по одному виходу. Вершина "Кінець" виходів не має. Будь-яка умовна вершина має два виходи, які позначаються символами "Так" і "Ні". Замість цих символів можуть бути використані цифри "1" і "0" відповідно. 2 РЕАЛІЗАЦІЯ МЕТОДУ ВИКОНАННЯ АРИФМЕТИЧНОЇ ОПЕРАЦІЇ В ДВІЙКОВІЙ СИСТЕМІ ЧИСЛЕННЯ 2.1 Розробка алгоритму виконання операції множення в двійковій системі числення Далі приведено алгоритм простого множення двійкових чисел: Вносимо значення мантиси числа А до РгАм, а порядку числа А до РгАп. Вносимо значення мантиси числа В до РгВм, а порядку числа В до РгВп. Додаємо порядки СМп:=РгВм+РгАп Присвоюємо суматору СМ значення 0 і в лічильник заносимо число кількості тактів множення Ліч:=16. Якщо множник РгА від’ємний, то додаємо поправку СМ:=СМ+(не)РгА. Аналізуємо старший розряд числа В ( РгВ ), якщо він дорівнює 0, то переходимо до пункту 8, інакше до суматора СМ додаємо число А. Виконуємо зсув на один розряд вліво суматора СМ і регістру РгВ, вміст лічильника зменшуємо на 1 і переходимо в пункт. 9 нашого алгоритму. Аналізуємо розряд РгВ – якщо він дорівнює 1, то переходимо до пункту 7, інакше виконуємо зсув на два розряди вправо суматора СМ і регістру РгВ. Вміст лічильника зменшуємо на 2. Аналізуємо вміст лічильника, якщо він більше 0, то переходимо в пункт 6. Якщо знакові розряди СМм не рівні між собою, то виконуємо нормалізацію СМм:=L(1,СМм), СМп:=СМп+[-1]доп Отриманий результат зберігається в суматорах СМм і СМп. Структурна блок схема алгоритму:    Рисунок 2.1 – Блок схема алгоритму множення 2.2 Приклад виконання операції множення Виконаємо множення за розробленим алгоритмом для заданих чисел. Переведемо їх в двійкову систему числення і запишемо їх у вигляді з фіксованою комою А = 41,3210 = 101001.01010001112 = 0,10100101010001112 (20110 В = -14,5310 = –1110.1000010100012 = –0,11101000010100012 (20100 Запишемо машинне зображення операндів в доповняльому коді: РгА=00,1010010101000111 РгВ=11,0001011110101111 Також при введенні поправки будемо використовувати код (не)А=11,0101101010111000 Додамо порядки: 00000110 00000100 000010102 = 1010 Таблиця 2.1 – Приклад виконання операції множення СМм РгВм ПРимітки  0000000000000000 0001011110101111 РгВм[1]=0; РгВм[12]=0; РгВм:=L2РгВм; CMм:=L2СМм  000000000000000000  __01011110101111 РгВм[1]=0; РгВм[12]=1; РгВ:=R1РгВм; CM:=R1СМм  0000000000000000000 1010010101000111 + 0001010010101000111  ___1011110101111 РгВм[15]=1; CMм:=CMм+РгАм РгВ:=L1РгВм; CM:=L1СМм  00010100101010001110  ____011110101111 РгВм[1]=0; РгВм[12]=1; РгВ:=R1РгВм; CM:=R1СМм  00010100101010001110 1010010101000111 + 000110011101001100011  _____11110101111 РгВм[15]=1; CMм:=CMм+РгАм РгВ:=L1РгВм; CM:=L1СМм   0001100111010011000110 1010010101000111 + 0001110001101000001101  ______1110101111 РгВм[15]=1; CMм:=CMм+РгАм РгВ:=L1РгВм; CM:=L1СМм  Продовження таблиці 2.1 00011100011010000011010 1010010101000111 + 00011101101100101100001  _______110101111 РгВм[15]=1; CMм:=CMм+РгАм РгВ:=L1РгВм; CM:=L1СМм  000111011011001011000010 1010010101000111 + 000111100101100000001001  ________10101111 РгВм[15]=1; CMм:=CMм+РгАм РгВ:=L1РгВм; CM:=L1СМм  0001111001011000000010010  _________0101111 РгВм[1]=0; РгВм[12]=1; РгВ:=R1РгВм; CM:=R1СМм  00011110010110000000100100 1010010101000111 + 00011110100000010101101011  __________101111 РгВм[15]=1; CMм:=CMм+РгАм РгВ:=L1РгВм; CM:=L1СМм  000111101000000101011010110  ___________01111 РгВм[1]=0; РгВм[12]=1; РгВ:=R1РгВм; CM:=R1СМм  0001111010000001010110101100 1010010101000111 + 0001111010001011101011110011  ____________1111 РгВм[15]=1; CMм:=CMм+РгАм РгВ:=L1РгВм; CM:=L1СМм  00011110100010111010111100110 1010010101000111 + 00011110100100001101100101101  _____________111 РгВм[15]=1; CMм:=CMм+РгАм РгВ:=L1РгВм; CM:=L1СМм  000111101001000011011001011010 1010010101000111 + 000111101001001101101110100001  ______________11 РгВм[15]=1; CMм:=CMм+РгАм РгВ:=L1РгВм; CM:=L1СМм  0001111010010011011011101000010 1010010101000111 + 0001111010010100101110010001001  _______________1 РгВм[15]=1; CMм:=CMм+РгАм РгВ:=L1РгВм; CM:=L1СМм   Оскільки В – число від’ємне, то до отриманого результату слід додати поправку: СМ:=СМ+(не)РгА, 00,00001111010010100101110010001001 11,01011010101110001111111111111111 11,01101010000000110101110010001000 Отримано результат в доповняльому коді. Переведемо його в прямий код і в десяткову систему числення: Спр=–0,01101010000000110101110010001000(210 С= –1001010111,111001010001101111111 С10= –599,894958 Перевірка результату на калькуляторі показує вірний результат: А(В = 41,32((-14,52)= –599,9664 Похибка обчислення : ( = | 599,894958– 599,9664| = 0,071442 (=((/ 599,9664) ( 100% =0,0119% Отже, похибка незначна. Множення виконано вірно. 3 СИНЕЗ ОПЕРАЦІЙНОГО АВТОМАТА Для реалізації множення чисел у формі з плаваючою комою, починаючи зі старших розрядів у множнику зі зсувом суми часткових добутків, потрібні такі функціональні вузли: Для зберігання мантис операндів потрібні регістри РгАм, РгВм. Для зберігання порядків операндів потрібні регістри РгАп, РгВп. Для накопичення часткових добутків необхідно використати накопичувальний суматор СМ доповняльного коду. Для формування поправки (не)РгА використовується схема формування оберненого коду СхФОК. Для підрахування кількості кроків множення використовується лічильник (ЛІЧ). Для операційного автомату визначимо функції входів: Y1: РгАм:=Шд вх Y2: РгАп:=Шд вх Y3: РгВм:=Шд вх Y4: РгВп:=Шд вх Y5: СМм:=0 Y6: СМп:=0 Y7: Ліч:=8 Y8: СМп:=СМп+РгАп Y9: СМп:=СМп+РгВп Y10: СМм:=СМм+(не)РгАм Y11:СМм:=СМм+РгАм Y12: РГВМ:=L1РГВМ Y13: СМм:=L1СМм Y14: Ліч: = Ліч - 1 Y15:РгВм:=L2РгВм Y16:СМм:=L2СМм Y17:Ліч: = Ліч - 2 Y18:СМп:=СМп+[-1]доп Y19:Шд вих:=СМм Y20:Шд вих:=СМп X1: РгВ [15]=1 X2: РгВ [14]=1 X3: Ліч:=Ліч-1 X4: РгВ > 0 X5: СМм[0]= СМм[1]   Рисунок 3.1 – Схема операційного автомата 4 СИНТЕЗ КЕРУЮЧОГО АВТОМАТА 4.1 Аналіз принципу дії автомата з програмованою логікою В автоматах з "жорсткою" логікою[3] алгоритм керування в кінцевому результаті представлений схемою і зміна такого алгоритму потребує заново здійснювати синтез схеми автомата. Це не завжди зручно, особливо на стадії налагодження алгоритмів керування. Цього можна уникнути, використовуючи для побудови керуючого автомата принцип програмного керування з операційно-адресною структурою керуючих слів. В цьому випадку алгоритм керування представляється впорядкованою сукупністю керуючих слів (мікрокоманд). Мікрокоманда містить інформацію про мікрооперації, які повинні виконуватись в даному такті роботи пристрою, і інформацію про адресу наступної мікрокоманди. Сукупність мікрокоманд, які виконують одну машинну команду або процедуру, утворює мікропрограму. Мікропрограма може зберігатись в ЗП. Для мікропрограм, що не змінюються в робочому режимі, використовують ПЗП. Звичайно мікрокоманда складається з двох частин: операційної та адресної. На практиці часто користуються комбінованим мікропрограмуванням, при якому операційна частина розділяється на поля, в межах яких керуючі сигнали кодуються вертикальним способом, тобто позиційними кодами [3]. Адресна частина мікрокоманди призначена для визначення адреси наступної мікрокоманди. В найпростішому випадку, коли автомат для переходу на наступну мікрокоманду допускає аналіз тільки однієї логічної умови, в адресній частині виділяють поле умов, де вказується код цієї логічної умови. Окрім цього адресна частина містить поле адрес, де вказуються адреси мікрокоманд, що слідують за поточною мікрокомандою. Іноді, з метою скорочення довжини мікрокоманди, вказують тільки одну адресу, а іншу отримують з неї шляхом додавання одиниці за допомогою комбінаційного лічильника. Розглянутий спосіб називають примусовою адресацією[4] з одним або двома адресними полями (рис. 3.1).  Рисунок 4.1 – Формати адресної частини мікрокоманди з умовами переходу для примусової адресації Для наочного зображення алгоритму виконання операцій використовують граф-схеми алгоритмів. Основними складовими узагальненої структури керуючого автомату з програмованою логікою при комбінованому мікропрограмуванні і примусовою адресацією з двома адресними полями є регістр мікрокоманди РГМК, призначений для зберігання мікрокоманди протягом такту, пам'ять мікропрограм ПМП, дешифратори операційних полів DC1, DC2, DC3, мультиплексор логічних умов МS, та мультиплесор адресних полів (показаний "жирною" лінією). В пристрої мікрокоманди послідовно, починаючи з початкової, читаються з ПМП в РГМК. Протягом такту за станом РГМК дешифраторами формуються відповідні керуючі сигнали, а за допомогою мультиплексорів в залежності від значень логічних умов визначається адреса наступної мікрокоманди. 4.2 Побудова граф-схеми автомата При побудові пристроїв керування з програмованою логікою важливим етапом є розробка мікропрограми, яку іноді традиційно називають картою прошивки ПЗП. До основних етапів синтезу керуючих автоматів з програмованою логікою слід віднести: вибір способу кодування керуючих сигналів, типу адресації та умов переходу; розподіл керуючих сигналів по полях операційної частини мікрокоманди (для комбінованого мікропрограмування) і кодування керуючих сигналів; кодування логічних умов; складання мікропрограми; побудова структурної та функціональної схеми автомата; аналіз результатів проектування і визначення основних параметрів пристрою. В випадку комбінованого мікропрограмування при розподілі керуючих сигналів по полях операційної частини мікрокоманди враховують, що керуючі сигнали, які разом зустрічаються в операційних вершинах[5], повинні бути розміщені в різних полях. Для такого розміщення можна скористатися методом прямого включення, який передбачає формалізацію процесу розподілу. Слід також враховувати, що для більш ефективного використання розрядної сітки бажано, щоб кількість керуючих сигналів в одному полі наближалась до величини 2к-1, де к – розрядність цього поля (нульовою комбінацією кодується відсутність керуючих сигналів в полі). При складанні мікропрограми використовують закодовану ГСА, коди керуючих сигналів і логічних умов та умови переходу. Мікропрограма має структуру мікрокоманди. Приклад розробки мікропрограми при комбінованому мікропрограмуванні і примусовій адресації з двома адресними полями, приведений нижче. Використовуючи вхідні та вихідні сигнали операційного автомата, побудуємо граф-схему автомата, зображену на рисунку 3.2 1 0 1 1 1 0 Рисунок 4.2 – Граф-схема автомата Щоб побудувати таблицю переходів (табл. 4.3), потрібно побудувати таблицю кодування керуючих сигналів (табл. 4.1), і таблицю кодування умов переходу (табл. 4.2). Таблиця 4.1 – Таблиця кодування керуючих сигналів Y Код Y  Y1, Y2 0001  Y3, Y4 0010  Y5, Y6, Y7 0011  Y8 0100  Y9 0101  Y10 0110  Y11 0111  Y12, Y14 1000  Y13 1001  Y15, Y16, Y17 1010  Y18 1011  Y19,Y20 1100   Таблиця 4.2 – Таблиця кодування умов переходу Х Код  Х0 000  Х1 001  Х2 010  Х3 011  Х4 100  Х5 101  Безумовний перехід 111   Таблиця 4.3 – Таблиця переходів Адреса Y Х А0  00000 0001 000 *  00001 0010 000 *  00010 0011 000 *  00011 0100 000 *  00100 0101 001 00110  00101 0110 000 *  00110 0000 010   00111 0111 000 *  01000 1000 000 *  01001 1001 000 01111  01010 0000 100 00110  01011 0000 101 01101  01100 1001 000 *  01101 1011 000 *  01110 1100 111 00000  01111 0000 011 01000  10000 1010 111 01010   4.3 Структурна схема керуючого автомата Узагальнена структура керуючого автомату з програмованою логікою при комбінованому мікропрограмуванні і примусовою адресацією з двома адресними полями приведена для даного прикладу на рис. 4.3. В пристрої мікрокоманди послідовно, починаючи з початкової, читаються з ПМП в РГМК. Протягом такту за станом РГМК дешифратора формуються відповідні керуючі сигнали, а за допомогою мультиплексора в залежності від значень логічних умов визначається адреса наступної мікрокоманди. Рисунок 4.3 – Структурна схема керуючого автомата ВИСНОВКИ Під час виконання курсової роботи було розглянуто принцип виконання операції множення двійкових чисел з фіксованою комою у доповняльних кодах, починаючи зі старших розрядів. У першому розділі було проаналізовано завдання до курсової роботи та обрано метод синтезу. У другому розділі досліджено алгоритм виконання операції множення двійкових чисел з фіксованою комою у доповняльних кодах, починаючи зі старших розрядів, побудовано блок-схему даного алгоритму та складено приклад виконання операції множення на основі вибору двох довільних 8-розрядних чисел (А = 219, В = -166 ). У третьому розділі проведено синтез операційного автомата. Було визначено вхідні та вихідні сигнали, на основі яких побудовано схему операційного автомата. У четвертому розділі розроблено керуючий автомат для реалізації операції множення. Було складено блок-схему, граф-схему переходів, таблицю переходів, визначено вихідні сигнали, на основі яких було побудовано схему автомата Мура з жорсткою логікою. ПЕРЕЛІК ПОСИЛАНЬ Пєтух Анатолій Михайлович. Схемотехніка ЕОМ : навч. посібник / А. М. Пєтух, Д. Т. Обідник - Вінниця : ВДТУ, 1999. - 84 с.: іл. табл. Пєтух Анатолій Михайлович. Прикладна теорія цифрових автоматів. Ч. 1: навч. посіб. / А.М. Пєтух, В.В. Войтко. - Вінниця: ВДТУ, 2001. - 76 с. ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. Эндрю Таненбаум. Архитектура компьютера. 5-е издание. / Э.Таненбаум; пер. с англ. ООО «Питер Пресс» – СПб: Питер, 2012. – 848 c. – ISBN 5-469-01274-3. Болотовский Ю. Б., Таназлы Г. И. OrCAD. Моделирование. "Поваренная" книга. / Ю.Б. Болотовский, Г.И. Таназлы – М.: Солон-Пресс, 2005. – 200 с. - ISBN 5-98003-178-2
Антиботан аватар за замовчуванням

11.09.2018 18:09-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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