Реферат: Арифметичні основи обчислювальної техніки

Полтавський ВійськовийІнститут Зв’язку

Кафедрасхемотехніки радіоелектронних систем

ОБЧИСЛЮВАЛЬНА ТЕХНІКА ТАМІКРОПРОЦЕСОРИ

напрямпідготовки 0924 «Телекомунікації»

 

Арифметичні основи обчислювальної техніки.

 

 

Полтава– 2006


Навчальна література.

 

1.Калабеков Б.А., МамзелевИ.А.Цифровые устройства и микропроцессорные системы.М.: Радио и связь, 1987,с.158-166

2.Цифровая и вычислительнаятехника /Под ред.Э.В.Евреинова/.М.: Радио и связь, 1991, с.39-58.

3.Лихтциндер Б.Я., КузнецовВ.Н. Микропроцессоры и вычислительные устройства в радиотехнике. К.: Вищашкола, 1988, с.11-25.


1. ФОРМИ ПОДАННЯ ДВІЙКОВИХЧИСЕЛ В ЕОМ

 

Двійкові числа вобчислювальних пристроях розміщуються у комірках пам'яті, причому для кожногорозряду числа виділяється окрема комірка, що зберігає один біт інформації.Сукупність комірок, призначених для розміщення одного двійкового числа,називають розрядною сіткою. Довжина розрядної сітки (число комірок n урозрядній сітці) обмежена і залежить від конструктивних особливостейобчислювального пристрою. Більшість існуючих електронних обчислювальнихпристроїв мають розрядні сітки, що містять 16, 32 або 64 комірок.

Розміщеннярозрядів числа у розрядній сітці може відбуватися різними способами. Спосіброзміщення визначається формою подання двійкових чисел у ЕОМ. Розрізняютьдві форми подання двійкових чисел: із фіксованою комою і з «плавучою» комою.Іноді ці форми називають відповідно природною і напівлогарифмічною.

Припустимо, що врозрядній сітці необхідно розмістити двійкове число, що містить цілу і дробовучастини. Якщо для розміщення цілої частини числа виділяється k комірокn-розрядної сітки, то (якщо не враховувати знак) для розміщення дробовоїчастини залишиться n-k вільних комірок (рис. 1).

/>

n Знак 1 1 1 1 1 1 k n-k /> /> /> /> /> /> /> /> /> /> /> /> />

 

Рис.1. Формаподання двійкових чисел із фіксованою комою.

Така формаподання двійкових чисел називається формою з фіксованою комою.Дійсно, положення коми строго фіксовано стосовно розрядної сітки. Якщокількість розрядів у дробовій частині числа перевищують n-k, то деякімолодші розряди виходять за межі розрядної сітки і не будуть сприйматисяобчислювальним пристроєм. Отже, будь-яке двійкове число, менше ніжодиниця молодшого розряду розрядної сітки, сприймається як нуль і називаєтьсямашинним нулем.

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

В універсальнихЕОМ форма з фіксованою комою, у зв'язку з властивою їй низькою точністю,застосовується лише для подання цілих чисел. Основною є форма подання чисел з«плавучою» комою. Її використання дозволяє суттєво розширити діапазон ізменшити відносну похибку.

У цій формі числаподаються у вигляді суми деякого ступеня основи системи числення (якийназивається характеристикою числа) і цифрової частини, що має виглядправильного дробу:

/>,

де p звутьпорядком числа, а правильний дріб a – його мантисою. Мантиса і порядок єзнаковими числами. Тому для позначення знаків у розрядній сітці відводяться двадодаткові розряди. Знак усього числа співпадає із знаком мантиси.

При записудвійкового числа у показовій формі, в розрядній сітці використовуються двігрупи розрядів (без урахування знакових розрядів мантиси і порядку). Першагрупа (k розрядів) призначена для розміщення коду мантиси, друга (n-k розрядів)– для розміщення коду порядку (рис.2).

/>

n Знак мантиси 1 1 1 1 1 1 Знак порядку k n-k /> /> /> /> /> /> /> /> /> /> /> /> /> /> />

Рис.2. Формаподання двійкових чисел із „плавучою” комою.

Отже, мантиса числа може мати необмежену кількістьрізних значень, менших за одиницю, при відповідних значеннях порядку (тобтокома може «плавати»). З усієї кількості подань числа у показовій формі тейого подання, що не має в старшому розряді мантиси нуля, називаютьнормалізованим. Всі інші подання є ненормалізованими. У нормалізованійформі значення мантиси завжди більші або дорівнюють 1/2, але не перевищуютьодиниці.

У обчислювальнихпристроях із «плавучою» комою усі числа зберігаються у нормалізованому вигляді,при цьому не втрачаються молодші розряди мантиси і підвищується точністьобчислень. Якщо після виконання будь-якої арифметичної операції результатвиявляється ненормалізованим, то перед занесенням числа в пам’ять виконуютьйого нормалізацію, тобто зсув мантиси ліворуч на відповідну кількість розрядів,і зменшення порядку числа на відповідну кількість одиниць.

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

2.ПРЯМИЙ, ОБЕРНЕНИЙ І ДОДАТКОВИЙ КОДИ ДВІЙКОВИХ ЧИСЕЛ

 

Залежно відспособу обробки бітів, розміщених у розрядній сітці, розрізняють два видикодів: паралельний, коли в кожний момент часу всі розряди сітки доступні дляобробки, і послідовний, коли в кожний момент часу доступний один розряд сітки.Числа, подані паралельним кодом, доступні за один такт, а числа, поданіпослідовним кодом, – за n тактів,де n – розрядність сітки. Якщорозрядність числа перевищує довжину сітки, то його обробка ведеться частинами.

Натуральнимкодом називають подання числа як цілого беззнакового у двійковій системічислення.Діапазон подання чисел у натуральному коді для n- розрядної сітки становить від 0 до2n-1, тобто для 8-розрядної сітки – від 0до 255.

Для подання цілихзнакових чисел використовують прямий, обернений і додатковий коди. Старшийрозряд сітки є знаковим. Значення цього розряду дорівнює 0 для додатних чисел і1 – для від’ємних. В інших розрядах розміщується модуль числа.

Якщо донатурального коду цілого числа додати знаковий розряд, одержуємо запис числа упрямому коді (ПК). Домовимося знаковий розряд розташовувати зліва івідокремлювати від розрядів модуля числа крапкою, наприклад: + 6(10) =0. 110(ПК); — 6(10) = 1. 110(ПК).

Використання ПКзабезпечує виконання операції додавання двох додатніх чисел звичайним способомбез будь-яких складностей – не варто лише робити перенос одиниці старшогорозряду модуля суми у знаковий розряд. Тобто при виконанні арифметичнихоперацій над ПК двійкових чисел знаковий розряд і розряди модуля не можнарозглядати як єдине ціле. У цьому можна переконатися, розглянувши такийприклад:



Правильно:

Неправильно:

   0. 0110

+ 0. 1010

   0.10000

   0.0110

+ 0.1010

   1.0000

(+6) + (10) = (+16) (+6) + (+10) = (- 0)

Однак, виконанняоперації віднімання одного числа від іншого шляхом безпосереднього додаванняїхніх ПК неможливо. Неважко також помітити, що в ПК нуль має два можливізображення: — 0 = 1.000… і + 0 = 0.000..., що ускладнює інтерпретаціюрезультатів виконання арифметичних операцій у ЕОМ.

Іншою формоюзапису двійкових чисел є обернений код (ОК).

ОКдвійкового від’ємного числа утворюється з ПК рівного йому за модулем додатньогочисла шляхом інвертування значень усіх його розрядів. Або: ОК від’ємногочисла утворюється шляхом інверсії всіх розрядів модуля цього числа, записаногоу ПК. Знаковий розряд при цьому зберігає значення 1. Наприклад, 6(10)= 1.110(ПК) =1.001(ОК).

При виконанніарифметичних операцій над двійковими числами, поданими в ОК, знаковий розряд ірозряд модуля числа можна розглядати як єдине ціле (перенос одиниці зі старшогорозряду модуля суми в знаковий розряд не приводить до помилкового результату),але нуль як і раніше має два зображення – «додатнє» і «від’ємне». Слідзазначити, що отриманий при додаванні від’ємний результат також утворюється вОК. У цьому випадку число може бути перетворене у ПК інверсією всіх значущихрозрядів (розрядів модуля). Наприклад:

0.110

+1.001

  1.111(ОК) = 1.000(ПК)

 (+6) + (-6) = (-0)

Найбільше поширення в обчислювальних пристрояходержало подання від’ємних двійкових чисел за допомогою додаткового коду (ДК).

ДК від’ємного числа утворюється зйого прямого коду за правилом:

· у знаковому розряді залишаєтьсяодиниця;

· розрядимодуля числа інвертуються;

· домолодшого розряду додається одиниця.

Очевидно, що ДК від’ємного числаутворюється з його ОК додаванням одиниці до молодшого розряду.

Наприклад, — 6(10) = 1.010(ДК).

Дійсно, для числа — 6 маємо:

 1.110(ПК)

 1.001(ОК)

+      1

 1.010(ДК).

Зворотний перехід від ДК до ПК або ОК відбувається затими ж правилами.

Головною перевагою ДК є те, що цифра 0 у ньому маєєдине подання: 0.000… Саме тому, для подання від’ємних чисел у сучасних ПЕОМвикористовується переважно ДК.

Неправильний дріб (число, що має цілу частину) іззнаком записують у різних кодах за допомогою традиційного роздільника – комиміж цілою і дробовою частиною. Наприклад: — 118,375(10) = 1.0001,101(ДК).

Слід пам'ятати, що для кодування додатніх чиселзастосовується тільки ПК, хоча можна сказати, що для таких чисел ДК і ОКзбігаються з прямим.

Операція одержання ДК від’ємногочисла з ПК рівного йому за модулем додатнього числа називається операцієюдоповнення. Ця операція полягає в інвертуванні всіх розрядів вихідного коду(включаючи знаковий) і додавання до молодшого розряду одиниці.

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

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

3. АЛГОРИТМИ ВИКОНАННЯ АРИФМЕТИЧНИХОПЕРАЦІЙ НАД ДВІЙКОВИМИ ЧИСЛАМИ ІЗ ЗНАКОМ

 

Додавання двійкових чисел із знаком

Очевидно, що при додаванні чисел із знаком можутьвиникати переноси одиниці із старшого розряду модуля суми до знакового розряду(домовимося позначати його Р1) та із знакового розряду – ліворуч замежі розрядної сітки, у розряд переповнення (Р2). Через використаннярозглянутих раніше кодів, у яких знак числа позначається тими ж цифрами, що ірозряди модуля, переповнення розрядної сітки може виникати навіть у випадкудодавання чисел із різними знаками, коли модуль результату не перевищує модулябудь-якого операнда. При додаванні ж двох від’ємних чисел перенесення одиницідо розряду переповнення відбувається завжди.

При виникненні переповнення розрядної сітки дляодержання правильного результату додавання необхідно застосовувати такеправило:

· якщоР1ÅР2 = 0, одиниця в розрядіпереповнення ігнорується (відкидається);

· якщоР1ÅР2<sub/>= 1, необхідно зсунути число на одинрозряд праворуч (або зсунути позицію точки на один розряд ліворуч).

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

Приклади:

1)        Додаваннядвох додатніх чисел (без переповнення розрядної сітки).

0.100111 39

+ 0.001101

+13

0.110100 52

Р1Å Р2 = 0 – результаткоректний і остаточний.

2)        Додаваннядвох додатніх чисел (з переповненням розрядної сітки).

0.01101 13

+ 0.10011

+19

1.00000 32

Р1 Å Р2 = 1. Результатнекоректний, тому що відбулося переповнення розрядної сітки. Зсуваючи число наодин розряд праворуч, остаточно маємо 0.100000(ПК) = 32(10).

3)        Додаваннядвох чисел із різними знаками (без переповнення розрядної сітки)

1.001100 -  52

+ 0.001101

+ 13

1.011001 -  39

Р1 Å Р2 = 0. Результаткоректний, але тому що він є від’ємним, для перевірки правильності розв’язаннянеобхідно перетворити його у прямий код. Остаточно маємо 1.100111(ПК)= 39(10).

4)           Додаваннядвох чисел, рівних за модулем і різних за знаком.

1.011001 — 39

+ 0.100111

+ 39

10.000000

Р1Å Р2 = 0. Результаткоректний, якщо не брати до уваги одиницю у розряді переповнення.

Додавання двох від’ємних чисел виконується аналогічноприкладам 1, 2 (у залежності від значення виразу Р1 Å Р2. Тому щорезультат у цьому випадку завжди від’ємний, для перевірки правильностірозв’язання необхідно перетворити його у прямий код, аналогічно прикладу 3.

Висновки:

· Правильністьвиконання операцій додавання обов'язково повинна перевірятися шляхом аналізу значеннявиразу Р1Å Р2, щоб уникнути одержання некоректногорезультату, що виникає при переповненні розрядної сітки, при цьому: якщо Р1Å  Р2 =0, одиниця в розряді переповнення ігнорується (відкидається); якщо Р1Å  Р2 =1, необхідно зсунути число на один розряд праворуч.

· Правилоперевірки коректності результату додавання двійкових чисел також можнасформулювати в такий спосіб: якщо знак операндів однаковий, а знак сумипротилежний, результат є некоректним. При додаванні двох операндів із різнимизнаками результат завжди коректний, якщо не брати до уваги одиницю у розрядіпереповнення.

 


Множення і ділення двійкових чисел ізфіксованою комою

Множення двійкових чисел завжди виконують у прямомукоді. Знак добутку визначають по знакових розрядах множників згідно з такимзагальновідомим правилом: якщо знаки операндів однакові, то знак добутку– позитивний; у протилежному випадку – знак добутку негативний.

Знак добутку двох чисел не впливає на алгоритмвиконання операції множення модулів цих чисел.

Часто використовують спосіб множення, процедура якогоаналогічна процедурам множення вручну. У цьому випадку результат одержуютьдодаванням часткових добутків. Кожний частковий добуток удвічі перевищуєпопередній, що відповідає його зсуванню ліворуч на один розряд. Наприклад:

       1101

   х  1011

       1101

     1101

+ 0000

1101

/>10001111

     13

 х  11

     13

+ 13

/>   143

Характерно, що розрядність добутку двійкових чиселудвічі перевищує розрядність співмножників. Якщо у множенні беруть участьмантиси, тобто правильні дроби, то молодші розряди, що виходять за межірозрядної сітки, можуть бути відкинуті без округлення або з округленням.

Операція ділення також виконується способом,аналогічним застосовуваному при діленні вручну, що наочно ілюструє прикладділення двох чисел 506: 23 = 22, тобто 0.111111010: 0.10111 = 0.10110. Знакчастки визначають аналогічно знаку добутку. Застосоване при діленні відніманнядільника виконують шляхом додавання його додаткового коду.

0. 1 1 1 1 1 1 1 ділене додатнє 1. 1 1 перше віднімання дільника 1 1 0. 1 1 1 – результат додатній 1. 1 1 – друге віднімання дільника

1

1. 1 1 0 – від’ємний результат 0. 1 1 1 1 – додавання дільника 1 1 0. 1 1 1 1 1 – результат додатній 1. 1 1 – третє віднімання дільника 1 1 0. 1 – остача дорівнює нулю

У даному прикладі використаний так названий алгоритмбез відновлення остачі, що передбачає таку послідовність дій:

· ізділеного віднімається дільник (додається дільник, записаний у додатковомукоді);

· якщоостача додатня, перша цифра частки дорівнює одиниці, у протилежному випадку –0;

· остачазсувається ліворуч, і до неї додається дільник із знаком, зворотним знакуостачі;

· знакнаступної остачі визначає наступну цифру частки;

· ці діїповторюють доти, поки не утвориться необхідне число розрядів частки або нульоваостача.

Слід зазначити, що оскільки даний алгоритм передбачаєдодавання чисел (остач і дільника) тільки з протилежними знаками, то всірозряди проміжних сум, старші за знаковий, слід ігнорувати.

Виконання арифметичних операцій упристроях із «плавучою» комою

Операція додавання у пристроях із «плавучою» комоювідбувається у чотири етапи:

1.Порівнюються порядки доданків: менший порядок збільшується добільшого. При цьому відповідним чином корегується мантиса числа, якеперетворюється.

2.Виконується перетворення мантис у додаткові коди.

3.Виконується додавання мантис за правилами, розглянутими вищедля чисел із фіксованої комою.

4.До суми приписується порядок доданків і, в разі необхідності,виконується нормалізація результату.

Операція множення чисел, поданих у формі з «плавучою»комою також виконується у чотири етапи:

1.Визначається знак добутку.

2.Перемножуються мантиси співмножників за правилами для чиселіз фіксованої комою.

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

4.Виконується нормалізація отриманого результату у випадку їїнеобхідності.

Ділення чисел у пристроях із «плавучою» комоювиконується так само, як і множення.

 


Висновок:

 

· Операціявіднімання в обчислювальних пристроях завжди заміняється операцією додавання зчислом зворотного знаку (доповненням модулю від'ємника).

· Операціїмноження і ділення в обчислювальних пристроях подаються у послідовностіоперацій додавання і зсування.

Таким чином, виконання всіх арифметичнихоперацій в обчислювальних пристроях зводиться до виконання типовихпослідовностей елементарних операцій – основної операції додавання і додатковихоперацій інвертування кодів і зсування. Ці операції виконуються в спеціальномуфункціональному вузлі, що має назву арифметичного пристрою.

еще рефераты
Еще работы по информатике, программированию