Проектування процесора для виконання операції ділення у двійково-десятковому коді

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    48,48 kb
  • Опубликовано:
    2011-05-10
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Проектування процесора для виконання операції ділення у двійково-десятковому коді

Міністерство освіти і науки, молоді та спорту України

Вінницький національний технічний університет

Інститут інформаційних технологій та комп’ютерної інженерії

Факультет КІ

Кафедра ПЗ


Пояснювальна записка

з дисципліни ”Прикладна теорія цифрових автоматів”

до курсової роботи за спеціальністю

“Програмне забезпечення автоматизованих систем”

-26.ПТЦА.042.01.000 ПЗ

ПРОЕКТУВАННЯ ПРОЦЕСОРА ДЛЯ ВИКОНАННЯ

ОПЕРАЦІЇ ДІЛЕННЯ У ДВІЙКОВО-ДЕСЯТКОВОМУ КОДІ



Керівник курсової роботи

проф., д.т.н. Пєтух А.М.

Розробив студент гр. 1 ПІ-09

Кирнична І.В.




Вінниця ВНТУ 2011

ІНДИВІДУАЛЬНЕ ЗАВДАННЯ

на курсову роботи з дисципліни “Прикладна теорія цифрових автоматів” студентці факультету КІ групи 1ПІ-09 Кирничній Інні Валеріївні

1 Розробити машинний алгоритм та операційний автомат для виконання операції ділення в двійково-десятковій системі числення з відновленням остачі у оберненому коді.

2  На прикладі чисел 42 і 58 показати роботу алгоритму.

3 Синтезувати керуючий автомат з програмованою логікою та натуральною адресацією.

ЗМІСТ

машинний алгоритм операційний автомат ділення

Вступ

1 Розробка машинного алгоритму операції множення та операційного автомата

.1 Розробка алгоритму виконання операції множення в двійково-десятковій системі числення з молодших розрядів

.2 Приклад виконання операції

.3 Формування граф-схеми автомата

1.4 Структурна схема операційного автомата

 Синтез керуючого автомата

.1 Розробка мікропрограми автомата

.2 Структурна схема керуючого автомата

Висновки

Перелік посилань

ВСТУП

Рівень втілення обчислювальної техніки в економіку нашої країни являється на даний час одним із вирішальних факторів прискорення науково-технічного прогресу та економічного розвитку всіх галузей народного господарства.

Ідея використання програмного керування для побудови пристрою, що автоматично виконує арифметичні обчислення, вперше була висловлена англійським математиком Ч. Беббіджем ще в 1833 році. Проте його спроби побудувати механічний обчислювальний пристрій з програмним керуванням не мали успіху.Фактично ця ідея була реалізована лише через 100 років, коли в 1942 році К. Цюзе в Німеччині і в 1944 році Т. Айкен в США побудували на електромагнітних реле обчислювальні машини з керуванням від перфострічки.

Ідея програмного керування обчислювальним процесом була суттєво розвинена американським математиком Дж. фон Мейменом, який в 1945 році сформулював принцип побудови обчислювальної машини з програмою, яка зберігається в пам’яті.

Процес розвитку ЕОМ умовно поділяє усі технічні розробки на декілька поколінь, які визначаються сукупністю взаємозв’язаних і взаємообумовлених суттєвих особливостей та характеристик конструктивно-технологічної бази і архітектури, тобто логічної організації.

До першого покоління відносять лампові ЕОМ, промисловий випуск яких розпочався у 50-і роки ХХ ст.

В обчислювальних машинах другого покоління, які з’явились наприкінці 50-х років, напівпровідникові транзистори замінили електронні лампи, що дозволило підвищити зносостійкість ЕОМ та суттєво зменшити їх розміри. Такі ЕОМ мали більш високу продуктивність.

ЕОМ третього покоління з’явились в другій половині 60-х років, коли фірма ІВМ (США) розробила систему машин ІВМ-360. Ця система вплинула на логічну організацію машин загального призначення третього покоління, які були розроблені в інших країнах.

Нещодавно з’явились ЕОМ та обчислювальні пристрої, які можна віднести до четвертого покоління. Конструктивно-технологічною основою ЕОМ четвертого покоління є інтегральні схеми з великими (ВІС) і над великим (НВІС) ступенями інтеграції, які вміщують десятки і сотні тисяч транзисторів в одному кристалі.

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

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

Очікується, що в машинах п’ятого покоління будуть використовуватися інтегральні мікросхеми з над великим ступенем інтеграції, які мають до 10 млн. транзисторів на кристалі. Для розробки таких схем будуть потрібні потужні системи автоматизації проектування.

Більшість сучасних обчислювальних приладів призначені для виконання арифметичних операцій. У зв'язку з цим серед ЕОМ виділяють спеціальний функціональний блок. До нього входять арифметичні пристрої, тобто пристрої, що призначені для виконання різнотипних арифметичних операцій над числовими кодами.

1 РОЗРОБКА МАШИННОГО АЛГОРИТМУ ОПЕРАЦІЇ ДІЛЕННЯ ТА ОПЕРФЦІЙНОГО АВТОМАТУ

.1 Розробка алгоритму виконання операції ділення в двійково-десятковій системі числення з відновленням остачі

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

Система числення - сукупність прийомів та правил для запису чисел цифровими знаками. Найбільш поширеною являється десяткова система числення. Способів запису чисел цифровими знаками існує дуже багато. Всі системи представлення чисел поділяють на позиційні і непозиційні. Самий простий спосіб запису чисел може бути описаний виразом:

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

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

Арифметичні операції в двійково-десятковій системі числення схожі на арифметичні операції в двійковій системі числення.

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

1.   В НСМ записується прямий код числа А, в Рг1 записуємо число В, в СТ і СТ2 записуємо нулі. Ці лічильники використовуються для лічби кількості виконаних операцій.

2.       Якщо Рг1 дорівнює 0, то програма завершує роботу, адже ділення неможливе, інакше йдемо далі.

.        Віднімаємо В від А. Результат записується в НСМ. Якщо результат додатній, то далі по алгоритму буде виконуватися віднімання числа В та запам’ятовування значення НСМ на той випадок, якщо наступний результат виявиться від’ємним. Якщо ж результат від’ємний то буде виконана процедура відновлення остачі, а саме присвоювання значення Рг2, який містить у собі попереднє значення НСМ, накопичувальному суматору НСМ.

.        Після кожного додавання або ж віднімання числа В, результат корегується додаванням 6 та 1 до наступної тетради. Після кожного додавання значення лічильника інкрементується.

.        Коли результат змінює знак на протилежний, це означає що ми підрахували першу цифру результату, яка записана в СТ, число записане в НСМ домножується на 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 розряди.

Рг1

Рг2

Примітки

 0.0100 0010 0000

1.1001 0100 0001

0.0100 0010 0000

НСМ:=А; Рг1:=В; Рг2:=НСМ НСМ:=НСМ++10

0.0100 0010 0000 +1.1001 0100 0001 1.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]+1

CT:=CT+1

Рг2:=НСМ

0.0011 0110 0010 +1.1001 0100 0001  1.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]+1

CT:=CT+1

Рг2:=НСМ

 0.0011 0000 0100  +1.1001 0100 0001  1.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]+1

CT:=CT+1

Рг2:=НСМ

 0.0010 0100 0110 +1.1001 0100 0001  1.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]+1

CT:=CT+1

Рг2:=НСМ

 0.0001 1000 1000 +1.1001 0100 0001 1.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]+1

CT:=CT+1

Рг2:=НСМ

0,0001 0011 0000 +1.1001 0100 0001  1.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]+1

CT:=CT+1

Рг2:=НСМ

0.0000 0111 0010  +1.1001 0100 0001  1.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]+1

CT:=CT+1

Рг2:=НСМ

 

0.0000 0001 0100  +1.1001 0100 0001  1.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: Рг1:=B: CT2:=04: СТ1:=0

у5: Рг2:=НСМ

y6: НСМ:=НСМ+РГ1+10

у7: НСМ:=Рг2

у8: НСМ[1:12]:=L4(НСМ[1:12]).0

y9: CT2:=CT2+1: HCM[9:12]:=HCM[9:12]+6: HCM[5:8]:=HCM[5:8]+1: HCM[5:8]:=HCM[5:8]+6: HCM[1:4]:=HCM[1:4]+1: HCM[1:4]:=HCM[1:4]+6: HCM[0]:=HCM[0]+1: HCM[9:12]:=HCM[9:12]+117: CT1:=CT1+1

х1: Рг1!=0

х2: НСМ[0]

х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

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

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.

.        Лысиков Б.Г “Арифметические и логические основы цифровых автоматов”. Москва, “Высшая школа”, 1985.

.        ЕОМ і мікропроцесорні системи. Навчальний посібник / А.М. Пєтух, Д.Т. Обідник - В.: ВДТУ, 2000 - 124 с.

.        Савельев А.Я “Прикладная теория цифровых автоматов”. Москва, “Высшая школа”, 1987.

Похожие работы на - Проектування процесора для виконання операції ділення у двійково-десятковому коді

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!