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

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



?глядСЦ. В ЕВМ СЦнформацСЦя завжди представляСФться у виглядСЦ чисел, записаних в тСЦй чи СЦншСЦй системСЦ числення.

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

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

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

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

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

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

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

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

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

.Коли результат змСЦнюСФ знак на протилежний, це означаСФ що ми пСЦдрахували першу цифру результату, яка записана в СТ, число записане в НСМ домножуСФться на 10 СЦ алгоритм повторюСФться .

Рисунок 4.1.2 - Продовження Блок - схеми алгоритму дСЦлення

1.2 Приклад виконання операцСЦi дСЦлення

Для демонстрацСЦi роботи алгоритму, подСЦлимо в двСЦйково-десятковСЦй системСЦ числення два числа 42 СЦ 58.

Число А=42 в двСЦйково-десятковСЦй системСЦ дорСЦвнюСФ 0.0100 0010, а число В у оберненому кодСЦ = -58 - 1.0100 0001.

Виконаймо вСЦднСЦмання А вСЦд В, тобто додавання до А оберненого коду В:

0.0100 0010

+1.0100 0001

1.1000 0011

ОскСЦльки результат цСЦСФi дСЦi СФ вСЦдСФмним, то ми виконуСФмо зсув попереднього значення (у даному випадку числа А) влСЦво на 4 розряди.

ВиконаСФмо дСЦлення вСЦдповСЦдно до алгоритму описаного в роздСЦлСЦ 4.1:

НСМРг1Рг2ПримСЦтки 0.0100 0010 00001.1001 0100 00010.0100 0010 0000НСМ:=А; Рг1:=В; Рг2:=НСМ НСМ:=НСМ++100.0100 0010 0000 +1.1001 0100 0001 1.1101 0110 00011.1001 0100 00010.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 00111.1001 0100 00010.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 00010.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 01111.1001 0100 00010.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 10011.1001 0100 00010,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 00010.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 00111.1001 0100 00010.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 01011.1001 0100 00010.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]

х3: СТ2==3

х4: НСМ[9:12]>9

х5: НСМ[5:8]>9

x6: НСМ[1:4]>9

х6: НСМ[1:4]>9

ВСЦдповСЦдна граф-схема автомату приведена на рис. 4.3.1:

 <

Copyright © 2008-2014 studsell.com   рубрикатор по предметам  рубрикатор по типам работ  пользовательское соглашение