Проектування процесора для виконання операції ділення у двійково-десятковому коді
Розробка машинного алгоритму та операційного автомату для виконання операції ділення в двійково-десятковій системі числення з відновленням остачі у оберненому коді. Перевірка роботи керуючого автомату з програмованою логікою та натуральною адресацією.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 10.05.2011 |
Размер файла | 178,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
3
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Міністерство освіти і науки, молоді та спорту України
Вінницький національний технічний університет
Інститут інформаційних технологій та комп'ютерної інженерії
Факультет КІ
Кафедра ПЗ
Пояснювальна записка
з дисципліни ”Прикладна теорія цифрових автоматів”
до курсової роботи за спеціальністю
“Програмне забезпечення автоматизованих систем”
08-26.ПТЦА.042.01.000 ПЗ
ПРОЕКТУВАННЯ ПРОЦЕСОРА ДЛЯ ВИКОНАННЯ
ОПЕРАЦІЇ ДІЛЕННЯ У ДВІЙКОВО-ДЕСЯТКОВОМУ КОДІ
Керівник курсової роботи
проф., д.т.н. Пєтух А.М.
Розробив студент гр. 1 ПІ-09
Кирнична І.В.
Вінниця ВНТУ 2011
ІНДИВІДУАЛЬНЕ ЗАВДАННЯ
на курсову роботи з дисципліни “Прикладна теорія цифрових автоматів” студентці факультету КІ групи 1ПІ-09 Кирничній Інні Валеріївні
Розробити машинний алгоритм та операційний автомат для виконання операції ділення в двійково-десятковій системі числення з відновленням остачі у оберненому коді.
На прикладі чисел 42 і 58 показати роботу алгоритму.
Синтезувати керуючий автомат з програмованою логікою та натуральною адресацією.
ЗМІСТ
машинний алгоритм операційний автомат ділення
Вступ
1 Розробка машинного алгоритму операції множення та операційного автомата
1.1 Розробка алгоритму виконання операції множення в двійково-десятковій системі числення з молодших розрядів
1.2 Приклад виконання операції
1.3 Формування граф-схеми автомата
1.4 Структурна схема операційного автомата
2 Синтез керуючого автомата
2.1 Розробка мікропрограми автомата
2.2 Структурна схема керуючого автомата
Висновки
Перелік посилань
ВСТУП
Рівень втілення обчислювальної техніки в економіку нашої країни являється на даний час одним із вирішальних факторів прискорення науково-технічного прогресу та економічного розвитку всіх галузей народного господарства.
Ідея використання програмного керування для побудови пристрою, що автоматично виконує арифметичні обчислення, вперше була висловлена англійським математиком Ч. Беббіджем ще в 1833 році. Проте його спроби побудувати механічний обчислювальний пристрій з програмним керуванням не мали успіху.Фактично ця ідея була реалізована лише через 100 років, коли в 1942 році К. Цюзе в Німеччині і в 1944 році Т. Айкен в США побудували на електромагнітних реле обчислювальні машини з керуванням від перфострічки.
Ідея програмного керування обчислювальним процесом була суттєво розвинена американським математиком Дж. фон Мейменом, який в 1945 році сформулював принцип побудови обчислювальної машини з програмою, яка зберігається в пам'яті.
Процес розвитку ЕОМ умовно поділяє усі технічні розробки на декілька поколінь, які визначаються сукупністю взаємозв'язаних і взаємообумовлених суттєвих особливостей та характеристик конструктивно-технологічної бази і архітектури, тобто логічної організації.
До першого покоління відносять лампові ЕОМ, промисловий випуск яких розпочався у 50-і роки ХХ ст.
В обчислювальних машинах другого покоління, які з'явились наприкінці 50-х років, напівпровідникові транзистори замінили електронні лампи, що дозволило підвищити зносостійкість ЕОМ та суттєво зменшити їх розміри. Такі ЕОМ мали більш високу продуктивність.
ЕОМ третього покоління з'явились в другій половині 60-х років, коли фірма ІВМ (США) розробила систему машин ІВМ-360. Ця система вплинула на логічну організацію машин загального призначення третього покоління, які були розроблені в інших країнах.
Нещодавно з'явились ЕОМ та обчислювальні пристрої, які можна віднести до четвертого покоління. Конструктивно-технологічною основою ЕОМ четвертого покоління є інтегральні схеми з великими (ВІС) і над великим (НВІС) ступенями інтеграції, які вміщують десятки і сотні тисяч транзисторів в одному кристалі.
Обчислювальні можливості мікропроцесорів виявились достатніми для створення на основі в рамках ЕОМ четвертого покоління, нового за рядом експлуатаційних характеристик та способу використання типа обчислювальних пристроїв - персональних комп'ютерів.
На даному етапі розвитку комп'ютерної техніки йде мова про проектування ЕОМ п'ятого покоління, які окрім традиційного підвищення продуктивності повинні мати такі якісно нові властивості, такі як можливість взаємодії з ЕОМ за допомогою природної мови, людського голосу, графічних зображень та мозкових імпульсів.
Очікується, що в машинах п'ятого покоління будуть використовуватися інтегральні мікросхеми з над великим ступенем інтеграції, які мають до 10 млн. транзисторів на кристалі. Для розробки таких схем будуть потрібні потужні системи автоматизації проектування.
Більшість сучасних обчислювальних приладів призначені для виконання арифметичних операцій. У зв'язку з цим серед ЕОМ виділяють спеціальний функціональний блок. До нього входять арифметичні пристрої, тобто пристрої, що призначені для виконання різнотипних арифметичних операцій над числовими кодами.
1 РОЗРОБКА МАШИННОГО АЛГОРИТМУ ОПЕРАЦІЇ ДІЛЕННЯ ТА ОПЕРФЦІЙНОГО АВТОМАТУ
1.1 Розробка алгоритму виконання операції ділення в двійково-десятковій системі числення з відновленням остачі
Інформація в зовнішньому світі по відношенню до ЕВМ представляється у неперервному або дискретному вигляді. В ЕВМ інформація завжди представляється у вигляді чисел, записаних в тій чи іншій системі числення.
Система числення - сукупність прийомів та правил для запису чисел цифровими знаками. Найбільш поширеною являється десяткова система числення. Способів запису чисел цифровими знаками існує дуже багато. Всі системи представлення чисел поділяють на позиційні і непозиційні. Самий простий спосіб запису чисел може бути описаний виразом:
Двійково-десяткова система числення - це система, у якій кожну десяткову цифру від 0 до 9 подають 4-розрядним двійковим еквівалентом. Така система числення дозволяє скоротити програмні та апаратні витрати при перетворенні двійкових чисел, які використовуються під час обробки інформації процесором, на десяткові, з допомогою яких на пристрої відображення виводиться результат.
Обчислювальна машина являє собою технічний пристрій, представлення чисел у якому пов'язане з конкретною фізичною реалізацією його елементів. Найпростішою, а значить найдешевшою і найнадійнішою є конструкція комп'ютера, в якому для представлення чисел використовується двійкова система числення. Тому є доцільним запис десяткових цифр у двійковому коді.
Арифметичні операції в двійково-десятковій системі числення схожі на арифметичні операції в двійковій системі числення.
Сформулюємо узагальнений алгоритм виконання операції ділення в двійково-десятковій системі числення:
1. В НСМ записується прямий код числа А, в Рг1 записуємо число В, в СТ і СТ2 записуємо нулі. Ці лічильники використовуються для лічби кількості виконаних операцій.
2. Якщо Рг1 дорівнює 0, то програма завершує роботу, адже ділення неможливе, інакше йдемо далі.
3. Віднімаємо В від А. Результат записується в НСМ. Якщо результат додатній, то далі по алгоритму буде виконуватися віднімання числа В та запам'ятовування значення НСМ на той випадок, якщо наступний результат виявиться від'ємним. Якщо ж результат від'ємний то буде виконана процедура відновлення остачі, а саме присвоювання значення Рг2, який містить у собі попереднє значення НСМ, накопичувальному суматору НСМ.
4. Після кожного додавання або ж віднімання числа В, результат корегується додаванням 6 та 1 до наступної тетради. Після кожного додавання значення лічильника інкрементується.
5. Коли результат змінює знак на протилежний, це означає що ми підрахували першу цифру результату, яка записана в СТ, число записане в НСМ домножується на 10 і алгоритм повторюється .
Рисунок 4.1.2 - Продовження Блок - схеми алгоритму ділення
1.2 Приклад виконання операції ділення
Для демонстрації роботи алгоритму, поділимо в двійково-десятковій системі числення два числа 42 і 58.
Число А=42 в двійково-десятковій системі дорівнює 0.0100 0010, а число В у оберненому коді = -58 - 1.0100 0001.
Виконаймо віднімання А від В, тобто додавання до А оберненого коду В:
0.0100 0010
+1.0100 0001
1.1000 0011
Оскільки результат цієї дії є від'ємним, то ми виконуємо зсув попереднього значення (у даному випадку числа А) вліво на 4 розряди.
Виконаємо ділення відповідно до алгоритму описаного в розділі 4.1:
НСМ |
Рг1 |
Рг2 |
Примітки |
|
0.0100 0010 0000 |
1.1001 0100 0001 |
0.0100 0010 0000 |
НСМ:=А; Рг1:=В; Рг2:=НСМ НСМ:=НСМ++10 |
|
0.0100 0010 0000+1.1001 0100 00011.1101 0110 0001 |
1.1001 0100 0001 |
0.0011 0110 0010 |
НСМ:=НСМ++10НСМ[9:12]:=НСМ[9:12]+6НСМ[5:8]:=НСМ[5:8]+1НСМ[5:8]:=НСМ[5:8]+6НСМ[1:4]:=НСМ[1:4]+1CT:=CT+1Рг2:=НСМ |
|
0.0011 0110 0010+1.1001 0100 00011.1100 1010 0011 |
1.1001 0100 0001 |
0.0011 0000 0100 |
НСМ:=НСМ++10НСМ[9:12]:=НСМ[9:12]+6НСМ[5:8]:=НСМ[5:8]+1НСМ[5:8]:=НСМ[5:8]+6НСМ[1:4]:=НСМ[1:4]+1CT:=CT+1Рг2:=НСМ |
|
0.0011 0000 0100+1.1001 0100 00011.1100 0100 0101 |
1.1001 0100 0001 |
0.0010 0100 0110 |
НСМ:=НСМ++10НСМ[9:12]:=НСМ[9:12]+6НСМ[5:8]:=НСМ[5:8]+1НСМ[5:8]:=НСМ[5:8]+6НСМ[1:4]:=НСМ[1:4]+1CT:=CT+1Рг2:=НСМ |
|
0.0010 0100 0110 +1.1001 0100 00011.1011 1000 0111 |
1.1001 0100 0001 |
0.0001 1000 1000 |
НСМ:=НСМ++10НСМ[9:12]:=НСМ[9:12]+6НСМ[5:8]:=НСМ[5:8]+1НСМ[5:8]:=НСМ[5:8]+6НСМ[1:4]:=НСМ[1:4]+1CT:=CT+1Рг2:=НСМ |
|
0.0001 1000 1000+1.1001 0100 00011.1001 1100 1001 |
1.1001 0100 0001 |
0,0001 0011 0000 |
НСМ:=НСМ++10НСМ[9:12]:=НСМ[9:12]+6НСМ[5:8]:=НСМ[5:8]+1НСМ[5:8]:=НСМ[5:8]+6НСМ[1:4]:=НСМ[1:4]+1CT:=CT+1Рг2:=НСМ |
|
0,0001 0011 0000+1.1001 0100 00011.1010 0111 0001 |
1.1001 0100 0001 |
0.0000 0111 0010 |
НСМ:=НСМ++10НСМ[9:12]:=НСМ[9:12]+6НСМ[5:8]:=НСМ[5:8]+1НСМ[5:8]:=НСМ[5:8]+6НСМ[1:4]:=НСМ[1:4]+1CT:=CT+1Рг2:=НСМ |
|
0.0000 0111 0010+1.1001 0100 00011.1001 1011 0011 |
1.1001 0100 0001 |
0.0000 0001 0100 |
НСМ:=НСМ++10НСМ[9:12]:=НСМ[9:12]+6НСМ[5:8]:=НСМ[5:8]+1НСМ[5:8]:=НСМ[5:8]+6НСМ[1:4]:=НСМ[1:4]+1CT:=CT+1Рг2:=НСМ |
|
0.0000 0001 0100+1.1001 0100 00011.1001 0101 0101 |
1.1001 0100 0001 |
0.0000 0001 0100 |
НСМ:=Рг2НСМ[1:12]:=L4(HCM[1:12]).0СТ:=0 |
Таким чином результатом ділення чисел 42 та 58 буде число 0,72, яке буде записане в СТ1.
1.3 Формування граф - схеми автомата
Для формування операційного автомата потрібно визначити для нього вхідні та вихідні сигнали:
y1: HCM:=A
y2: Рг1:=B
y3: CT2:=0
y4: СТ1:=0
у5: Рг2:=НСМ
y6: НСМ:=НСМ+РГ1+10
у7: НСМ:=Рг2
у8: НСМ[1:12]:=L4(НСМ[1:12]).0
y9: CT2:=CT2+1
y10: HCM[9:12]:=HCM[9:12]+6
y11: HCM[5:8]:=HCM[5:8]+1
y12: HCM[5:8]:=HCM[5:8]+6
y13: HCM[1:4]:=HCM[1:4]+1
y14: HCM[1:4]:=HCM[1:4]+6
y15: HCM[0]:=HCM[0]+1
y16: HCM[9:12]:=HCM[9:12]+1
y17: CT1:=CT1+1
х1: Рг1!=0
х2: НСМ[0]
х3: СТ2==3
х4: НСМ[9:12]>9
х5: НСМ[5:8]>9
x6: НСМ[1:4]>9
х6: НСМ[1:4]>9
Відповідна граф-схема автомату приведена на рис. 4.3.1:
Рисунок 4.3.1 - Граф-схема алгоритму
Рисунок 4.3.2 - Продовження граф-схеми алгоритму
1.4 Структурна схема операційного автомата
По відомим вхідним та вихідним сигналам, а також граф-схемі операційного автомату, побудуємо структурну схему автомата, яку зображено на рис. 4.4.1.
Рисунок 4.4.1 Структурна схема операційного автомата
2 СИНТЕЗ КЕРУЮЧОГО АВТОМАТУ
2.1 Розробка мікропрограми автомата
Функціонування керуючого автомата зводиться до генерування послідовності керуючих сигналів Y, продиктованою мікропрограмою і відповідної послідовності інформаційних сигналів X.
Любий автомат може бути заданий трьома способами: матрично, графічно і аналітично.
При матричному способі автомат представляє собою дві таблиці: таблиця переходів і виходів. Таблиця переходів визначає функцію переходів автомата, таблиця виходів - функцію виходів.
Щоб побудувати таблицю переходів, потрібно побудувати таблицю кодування керуючих сигналів, і таблицю кодування умов переходу. Таблиця кодування керуючих сигналів зображена в табл. 5.1.1, а таблиця кодування умов переходу в табл. 5.1.2.
Таблиця 5.1.1 - Таблиця кодування керуючих сигналів
Y1 |
Код |
Y2 |
Код |
Y3 |
Код |
Y4 |
Код |
|
у1 у5 у6 y9 y10 y12 y14 |
001 010 011 100 101 110 111 |
y2 y7 y11 y13 y15 y17 |
001 010 011 100 101 110 |
у3 y8 y16 |
01 10 11 |
y4 |
1 |
Таблиця 5.1.2 - Таблиця кодування умов переходу
X |
Код |
|
X1 X2 X3 X4 X5 X6 |
001 010 011 100 101 110 |
Таблиця 5.1.3 - таблиця переходів
Адреса стану |
Y1 |
Y2 |
Y3 |
Y4 |
X |
A |
|
00000 |
000 |
000 |
00 |
0 |
000 |
00001 |
|
00001 |
001 |
001 |
01 |
1 |
000 |
00010 |
|
00010 |
000 |
000 |
00 |
0 |
001 |
00000 |
|
00011 |
010 |
000 |
00 |
0 |
000 |
00100 |
|
00100 |
011 |
000 |
00 |
0 |
000 |
00101 |
|
00101 |
000 |
000 |
00 |
0 |
010 |
01011 |
|
00110 |
010 |
000 |
00 |
0 |
000 |
00111 |
|
00111 |
000 |
000 |
00 |
0 |
100 |
01110 |
|
01000 |
000 |
000 |
00 |
0 |
101 |
01111 |
|
01001 |
000 |
000 |
00 |
0 |
110 |
10000 |
|
01010 |
000 |
110 |
00 |
0 |
000 |
00100 |
|
01011 |
100 |
010 |
10 |
0 |
000 |
01100 |
|
01100 |
000 |
000 |
00 |
0 |
011 |
00000 |
|
01101 |
000 |
000 |
00 |
0 |
000 |
00100 |
|
01110 |
101 |
011 |
00 |
0 |
000 |
01000 |
|
01111 |
110 |
100 |
00 |
0 |
000 |
01001 |
|
10000 |
111 |
101 |
11 |
0 |
000 |
01010 |
2.2 Структурна схема керуючого автомата
Узагальнена структура керуючого автомату з програмованою логікою при примусовій адресацією з одним адресними полем приведена для даного прикладу на рис. 5.1. ЇЇ основними складовими є регістр мікрокоманди РГМК, пам'ять мікропрограм ПМП, дешифратори операційних полів DC1, DC2, DC3, DC4, мультиплексор логічних умов МS, та мультиплексор адресних полів (показаний "жирною" лінією).
У РгМК буде зберігатися мікрокоманда, яка на даний момент виконується. Поле умов Х визначає подальші переходи роботи програми. Значення Х подаються на входи мультиплексора. З виходу MS сигнал приходить до КЛч і таким чином визначається адреса переходу (А чи А+1) [6].
З полів Y значення керуючих сигналів йдуть на дешифратори. Після опрацювання сигналів кожен DC може видати на вихід код лише однієї функції Y, або код «0», тобто жодна операційна функція не виконується [7].
ПЗП зберігає результат виконання попередньої мікрооперації та передає його через регістр D до РгМК для виконання наступних кроків операції
Рисунок 5.1 - Структурна схема керуючого автомату
ВИСНОВКИ
В даній курсовій роботі було розроблено алгоритм виконання операції ділення чисел двійково-десяткового коду з відновленням остачі. Розроблено операційний автомат, що працює за цим алгоритмом.
Синтез операційного автомату зводився до побудови граф-схеми алгоритму виконання операції множення, таблиці переходів станів та адрес виконання операцій автомату, структурної схеми. Визначення функцій збудження елементів пам'яті, вхідних та вихідних функцій ґрунтувалося на побудові таблиці переходів.
Для розробленого операційного автомату побудовано керуючий автомат з програмованою логікою та натуральною адресацією.
В ході курсової роботи проведений аналіз операції ділення двійково-десяткових чисел. Наведено приклад ділення чисел А=42 та В=58. Розглянутий алгоритм множення розроблений коректно, про що свідчить результат проведення перевірки правильності алгоритму на прикладі.
ПЕРЕЛІК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ
1. Самофалов К.Г., Корнейчук В.И., Тарасенко В.П. Цифровые ЭВМ: Теория и проектирование. - К.: Вища шк., 1989. - 424 с.
2. Каган Б.М “Электронные вычислительные машины и системы”. Москва “Энергоатомиздат ” 1991.
3. Лысиков Б.Г “Арифметические и логические основы цифровых автоматов”. Москва, “Высшая школа”, 1985.
4. ЕОМ і мікропроцесорні системи. Навчальний посібник / А.М. Пєтух, Д.Т. Обідник - В.: ВДТУ, 2000 - 124 с.
5. Савельев А.Я “Прикладная теория цифровых автоматов”. Москва “Высшая школа” 1987.
Размещено на Allbest.ru
Подобные документы
Проектування процесора для виконання (з використанням доповняльного коду без відновлення розрядів остачі) операції ділення в двійково-десятковій системі числення. Розробка алгоритму виконання операції та операційного автомату. Розробка карти прошивки.
курсовая работа [263,3 K], добавлен 14.03.2013Синтез цифрового автомата для виконання операції множення в оберненому коді двох двійкових чисел з фіксованою комою. Будування керуючого автомату з жорсткою логікою по принципу Мілі. Використання алгоритму множення з пропусканням тактів додавання.
курсовая работа [279,6 K], добавлен 14.03.2013Розробка операційного автомату. Розробка машинного алгоритму: граф-схема алгоритму; приклад реалізації. Синтез керуючого автомату: основи теорії керуючих автоматів; опис керуючого автомату Мілі. Кодування граф-схеми автомату. Синтез керуючого автомату.
курсовая работа [121,0 K], добавлен 26.12.2009Розробка операційного автомату, що здійснює операцію прискореного множення в доповняльному коді, зі старших розрядів. Побудування алгоритму даної операції та його схематичного відображення. Поняття та синтез керуючого автомату, побудова його графу.
курсовая работа [55,2 K], добавлен 01.06.2010Розробка алгоритму множення чисел у прямому коді з молодших розрядів із пропусканням тактів сумування для двійкових чисел. Синтез операційного та керуючого автоматів з жорсткою логікою. Описання технології числового контролю операції додавання по модулю.
курсовая работа [74,9 K], добавлен 14.03.2013Розробка машинного алгоритму операції множення в доповняльному коді з пропуском тактів додавання в двійковій системі числення з старших розрядів чисел, представлених у формі з плаваючою комою та операційний автомат. Контроль операції віднімання.
курсовая работа [45,5 K], добавлен 14.03.2013Операція алгебраїчного додавання, множення, ділення. Алгоритм ділення модулів чисел. Поняття граф-схеми алгоритму та правила її складання. Основні поняття теорії цифрових автоматів. Синтез керуючого автомата. Контроль виконання арифметичних операцій.
реферат [55,4 K], добавлен 24.03.2009Розробка автоматизованої системи навчання. Операції над простими типами в середовищі Delphі. Прості типи даних. Арифметичні операції і операції відношення. Виконання логічних операцій. Черговість виконання операцій. Строкові операції отримання адреси.
курсовая работа [2,4 M], добавлен 04.05.2013Сімейство процесорів ADSP-2100 та їх характеристика. Аналіз ресурсів та структурна схема обчислювального модуля ALU. Призначення регістра ASTAT. Блок-схема алгоритму та програма реалізації ділення цілих чисел на мові Асемблера поточного процесора ADSP.
курсовая работа [463,2 K], добавлен 04.01.2014Розробка алгоритмів виконання арифметичних операцій для систем числення в різних кодах з оцінкою точності. Проектування цифрового автомату в булевих базисах з використанням логічних елементів. Складення структурної схеми комбінаційних цифрових автоматів.
курсовая работа [264,6 K], добавлен 10.09.2012