You are on page 1of 10

Тема 2.

Формати представлення даних і розташування інформації


в оперативній пам'яті ЕОМ.

Найменша одиниця інформації - двійковий розряд (0 або 1), що отримав


назву біт. Група двійкових розрядів, що зображають символ в ЕОМ, називається
слогом. Для представлення символів в ЕОМ використовується 8-розрядний слог,
що називається байтом.
У сучасних ЕОМ найменшою структурною одиницею інформації, що
адресується, прийнятий байт і байтова організація інформації в оперативній
пам'яті (ОП).
Для представлення алфавітно-цифрової інформації в ЕОМ зазвичай
використовується машинне слово - сукупність символів, яка читається з ОП або
записується в неї за одне звернення. Звичайне машинне слово містить ціле число
байтів. Байти адресуються послідовно, починаючи з нуля.
В ЕОМ як операнди використовують наступні формати даних: байт, півслово,
слово, подвійне слово і поле — інформаційна одиниця змінної довжини (рис.
1.1). Довжина поля може бути не більше 256 байт.
Нумерація бітів операнда проводиться зліва направо, починаючи з нульового
розряду (рис. 1.2). Кожному байту зазвичай додається 9-й контрольний розряд
k, який називається розрядом парності. У 9-му розряді ставиться 1, яка доповнює
кількість одиниць в байті до непарного. Якщо в процесі обробки інформації в
байті опиниться парна кількість одиниць, то буде зафіксований машинний збій і
виданий сигнал виявлення помилки. Кількість контрольних розрядів k в слові
дорівнює кількості байтів, що містяться в ньому.

Рис 1.1. Формати представлення даних в ЄС ЕОМ


Рис 1.2. Розрядна сітка байта
Адресою операнда вважають адресу лівого байта. Адреса (межа) операнда з
фіксованою довжиною завжди повинна бути кратною кількості байтів, що
містяться в ньому: адреса півслова - двом (наприклад, 0010, 0100,0110 і т. д.);
слова - чотирьом (0100, 1000, 1100 і т. д.); подвійного слова - восьми (1000, 10000,
11000 і т. д.). Таке обмеження дає можливість спростити процедуру звернення до
оперативної пам'яті. При заданні адреси операнда фіксованої довжини
вказується адреса лівого (старшого) байта, а довжина операнда визначається
кодом операції в команді.
Адреса поля, тобто адреса лівого байта, може бути довільною. Поля різної
довжини розташовуються в ЕОМ один за одним в порядку зростання їх адрес.
Кількість байтів, які складають поле, задається кодом операції в команді.
В СМ ЕОМ як операнди використовують слова довжиною в два байти. Слово
ділиться на старший і молодший байти (рис. 1.3). Оскільки молодші байти
зберігаються в парних комірках пам'яті, а старші - в непарних, адреса будь –
якого слова співпадає з адресою його молодшого байта, тобто адреса слова
завжди парна.
Для мікропроцесорів і мікроЕОМ характерні формати даних з довжиною слова
4, 8, 12 і 16 біт. Нині в мікроЕОМ в якості операндів широко використовуються
слова довжиною в один і два байти. Розробка сімейства 16-розрядних мініЕОМ
і 8- і 16-розрядних мікроЕОМ з байтовою організацією інформації в пам'яті
даних (оперативній пам'яті) забезпечує інформаційну сумісність (узгодженість
форматів даних) між машинами ЄС ЕОМ, СМ ЕОМ і мікроЕОМ.

Старший байт Молодший байт


Рис 1.3. Формат даних СМ ЕОМ
Форми представлення чисел в ЕОМ.
При розміщенні інформації в ЕОМ, яка оброблюється, потрібно враховувати
необхідність контролю її обробки і адресації в комірках ОП. Це викликає певні
вимоги до організації розрядної сітки ЕОМ. Під розрядною сіткою ЕОМ
розуміють кількість розрядів, необхідних для розміщення в комірках
оперативної пам'яті повного машинного чітко. Для кожного типу ЕОМ вона має
строго визначену кількість розрядів.
В ЕОМ використовують дві форми представлення чисел в розрядній, сітці: з
фіксованою(нерухомою) і рухомою комою.

Рис.1.4. Схеми розрядної сітки ЕОМ з нерухомою комою.


Представлення чисел з фіксованою комою. Число з фіксованою комою -
натуральна форма представлення числа, коли положення коми в розрядній сітці
фіксується. Зазвичай вона фіксується перед старшим або після молодшого
розрядів. Якщо кома фіксується перед старшим розрядом, то числа в ЕОМ
представляються як правильні дроби; якщо після молодшого - як цілі числа.
ЕОМ, в яких використовується така форма запису чисел, називають машинами з
фіксованою комою. На рис. 1.4,α приведена розрядна сітка ЕОМ для
представлення чисел з фіксованою комою перед старшим розрядом. Розряди
такої сітки нумеруються зліва направо, починаючи з нульового, який називається
знаковим розрядом. У цьому розряді 0 відповідає плюсу, а 1 - мінусу. На
розрядній сітці вказана вага кожного розряду.
Максимальне машинне число за абсолютною величиною дорівнює:
n- де кількість розрядів числа. Мінімальне, відмінне від 0 машинне число.
Діапазон чисел всіх можливих величин в даному випадку визначається
нерівністю: 2-n≤¦X¦≤(1-2-n). Аналізуючи цю нерівність, можна відзначити
наступне:
1. Діапазон представлення чисел в машинах з фіксованою комою порівняно
невеликий.
2. Число, абсолютне значення якого менше мінімального машинного слова, (2-
n
) буде записане в ЕОМ у вигляді нуля. Таке число називається машинним нулем,
оскільки насправді воно не дорівнює нулю, але для його зображення
недостатньо розрядів в машинному слові.
3.Число, отримане в результаті обчислень за абсолютним значенням, не повинне
перевищувати максимального машинного числа (1-2-n). Якщо число виходить за
верхню межу(1-2-n), то ціла частина його не може бути розміщена в машинному
слові і тому втрачається, що приводить до спотвореного результату. В цьому
випадку говорять, що відбулося переповнення розрядної сітки.
Щоб не допустити в процесі обчислень переповнення розрядної сітки, при
підготовці задачі до розв’язання на ЕОМ вводяться так звані масштабні
коефіцієнти, за допомогою яких числа, що беруть участь в обчисленнях, і
результати розрахунку по модулю не перевищують максимального машинного
числа. Масштабний коефіцієнт m зв'язує реальне дійсне число Y і його машинне
зображення (код) X наступним співвідношенням:
¦X¦=m¦Y¦<1.
4. Відносна похибка обчислень є тим більшою, чим меншими за абсолютною
величиною є числа, що беруть участь в обчисленнях, так як δ=Δ/А*100%, де Δ
– абсолютна похибка, А — двійкове число. Якщо в ЕОМ є n розрядів числа, то
абсолютна похибка визначається точністю її останнього знаку — Δ = 2-n
Наприклад, при n =4 для числа А= 0,1111 відносна похибка складає δмін=[2-
4
/(15/16)] ×100%≈6,7% , а для числа А=0,0001 δмакс=[2-4/(1/16)] ×100%=100%.
Якщо кома зафіксована після молодшого розряду (рис. 1.4,δ), розрядна сітка
дозволяє представляти від’ємні і додатні двійкові числа, модуль яких 1≤|Х|≤(2 n-
1), де n - кількість числових розрядів в розрядній сітці ЕОМ. Всі числа, модуль
яких менше 1 або більше (2 n-1), не можуть бути представлені в цій розрядній
сітці, а тому при підготовці до розв’язання задач на такій ЕОМ також необхідно
вводити масштабні коефіцієнти.
Серед команд ЕОМ є такі, коли операція з фіксованою комою проводиться не
тільки над числами, але і над адресами. В цьому випадку операнд
інтерпретується як двійкове число без знаку. Діапазон представлення чисел без
знаку в два рази більше, ніж із знаком в розрядній сітці ЕОМ.
Робота ЕОМ в режимі з фіксованою комою використовується в основному для
управління технологічними процесами і обробки інформації в реальному
масштабі часу. При виконанні операцій над двійковими числами з фіксованою
комою основним операндом в ЄС ЕОМ є 32-розрядне, в 16-розрядних міні- і
мікроЕОМ-16-розрядне, а в 8-розрядних мікроЕОМ - 8-розрядне слово. У ЄС
ЕОМ можуть використовуватися операнди довжиною в півслова, а добутки і
ділені довжиною в подвійне слово.
Десяткові числа в ЕОМ представляються тільки в натуральній формі. Десяткові
числа кодуються тетрадами в коді 8-4-2-1 і використовуються два формати для
їх представлення: упакований (ущільненний) і розпакований (зонний). У
упакованому форматі в одному байті розміщуються дві десяткові цифри. Код
знаку розміщується в правих чотирьох розрядах молодшого байта (рис. 1.5,а). У
розпакованому форматі молодші чотири розряди байта зайнято цифрою, а решта
розрядів містить службовий символ (зону). У молодший байт записується код
знаку і код молодшої десяткової цифри (рис. 1.5.б). Десяткові числа вводяться
зазвичай в розпакованому форматі, а при виконанні операцій переводяться за
спеціальною програмою в упакований формат; при виводі з ЕОМ десяткові
числа знову перетворюються в розпакований формат за спеціальною
програмою.

а) Молодший байт
б) Молодший байт
Рис. 1.5. Формати десяткових чисел в ЕОМ
Упакований формат представлення десяткових чисел дозволяє ефективно
використовувати ОП, зменшити процес виконання арифметичних операцій і
прискорити процес обміну інформацією між ОП і периферійними пристроями.
Представлення чисел з рухомою комою. Воно основується на зображенні
чисел в напівлогарифмічній формі А = ±р, ±М, що відповідає запису чисел в
нормальній формі, A=d±p•(±M), де р - ціле число, яке називається порядком числа
А; d - основа системи числення; М - мантиса числа А (¦М¦<1).
Фактично положення коми в мантисі М визначається величиною порядку р. Із
зміною р у більшу або меншу сторону кома відповідно переміщається вліво або
вправо, тобто «плаває» в зображенні числа.
Числа, що задовольняють умові 1/d≤M≤1 називають нормалізованими.

Як видно з прикладу, при різних порядках числа розміщення коми буває різним;
тому ЕОМ, які допускають таку форму запису числа, відносять до машин з
рухомою комою. В їх пам'яті числа зберігаються нормалізованими. У розрядній
сітці ЕОМ (рис. 1.6) фіксуються знак числа, знак порядку, порядок числа і
числове вираження мантиси.
Нормалізоване представлення чисел дозволяє зберігати в розрядній сітці велику
кількість цифр, що підвищує точність обчислень. Зазвичай в ЕОМ нормалізація
як при введенні чисел, так і в процесі обчислень (після виконання чергової
операції) здійснюється автоматично. При цьому мантиса зсовується вліво на
необхідне число розрядів і проводиться відповідне зменшення порядку, тобто
проводиться «нормалізація вліво». При виконанні операції додавання або
віднімання нормалізованих чисел з різними порядками одне з них
«денормалізуватиметься» до зрівняння порядків, а сума (або різниця) знову
нормалізується.

В ЕОМ з рухомою комою можливе переповнювання розрядної сітки, так само як


і в машині з нерухомою комою. Наприклад, переповнення може виникнути при
додаванні нормалізованих чисел з однаковими порядками. В цьому випадку
з'являється одиниця зліва від коми. Такого роду переповнення виключається
зсувом мантиси вправо на один розряд і збільшенням порядку на одиницю, тобто
проводиться «нормалізація вправо». Від кількості розрядів, що відводяться для
зберігання порядку, залежить діапазон чисел, які записуються, а від кількості
розрядів, що відводяться для мантиси, - точність запису числа. Якщо під цифрові
розряди мантиси відведено n , а порядку m розрядів, то максимальне і мінімальне
за абсолютною величиною нормалізовані двійкові числа відповідно дорівнюють:

Діапазон чисел в ЕОМ з рухомою комою визначається нерівністю

При достатньо великих n (як правило n≥30) 1-2n≈ 1 і нерівність (1.2) приймає
вигляд
З цієї нерівності видно, що діапазон чисел залежить в основному від порядку р.
Якщо число перевищує верхню межу нерівності (1.3), то відбувається
переповнювання розрядної сітки і ЕОМ автоматично зупиняється.

Якщо число вийде за нижню межу нерівності (1.3), то воно відповідатиме


машинному нулю.
Якщо m взято достатньо великим, то абсолютна величина А буде настільки
великою, що при обчисленнях для більшості завдань всі числа не виходитимуть
з діапазону чисел ЕОМ і не потрібно буде вдаватися до масштабних коефіцієнтів.
Проте при цьому зменшується точність обчислень, оскільки збільшуються
помилки округлення і втрати характеристик з дійсними порядками при
нормалізації. З метою усунення такого недоліку в сучасних ЕОМ передбачається
можливість перерозподілу розрядів машинного слова між мантисою і порядком
програмним шляхом.
В останніх моделях ЕОМ набуло поширення представлення чисел з рухомою
комою з недвійковою основою системи числення (d=8 і d=16). Використання
недвійкової основи зменшує точність обчислень при заданому числі розрядів
мантиси, але дозволяє збільшити діапазон чисел, що представляються, в ЕОМ і
прискорити виконання деяких операцій, за рахунок того, що зсув проводиться
відразу на декілька двійкових розрядів (при d=8 на три розряди, при d ==16 на
чотири розряди). Імовірність отримання ненормалізованих чисел в ході
обчислень значно зменшується.
В ЄС ЕОМ і СМ ЕОМ при представленні чисел з рухомою комою застосовується
основа d=16 і порядок числа виражається через характеристику рх - зміщені
порядки, що є сумою дійсного порядку р числа з урахуванням знаку і числа 64,
тобто рх =p+64
Додатні і від’ємні дійсні порядки р, збільшившись на 64, виявляються
зміщеними на числовій осі в позитивному напрямку і представляються 7-
розрядними двійковими числами без знаку від 0 до 127 (рис. 1.7). Оскільки всі
характеристики рх є додатніми, то це спрощує виконання деяких дій над ними,
наприклад виключення операцій над знаками порядків. У ЄС ЕОМ в операціях з
рухомою комою числа можуть бути двох форматів фіксованої довжини:
короткий - в одне слово (рис. 1.8, а) і довгий - в подвійне слово (рис. 1.8, б).
Формати розрізняються довжиною мантиси.
Характеристики і мантиси додатніх і від’ємних чисел зберігаються в ОП в
прямому коді (рис. 1.8, в).
У деяких міні- і мікроЕОМ передбачається можливість обробляти числа з
рухомою комою. Формат слова даних з рухомою комою для 16-байтовых ЕОМ
показаний на рис. 1.9, а. З метою збільшення точності представлення дробової
частини числа і діапазону представлення використовують для зображення числа
з рухомою комою два прилеглих один до одного 16-бітовых слова (рис. 1.9, б).
Молодша частина мантиси зберігається в наступному, старшому за адресою 16-
бітовому слові.
Контрольні запитання і завдання
1. Які числа називають числами з рухомою комою?

2. Які числа називають числами з фіксованою комою?


3. Що називають мантисою числа?

4. Що називають характеристикою числа?

5. Як позначається знак числа?

6. У яких форматах фіксованої довжини можуть бути числа з рухомою


комою?

You might also like