Організація ЕОМ та систем однопроцесорні ЕОМ частина 1 - Конспект - стор
2.8. Десяткова арифметика
Необхідний переведення для ЕОМ десяткових чисел у двійкові і назад потребує витрати часу та ресурсів. У цифрових пристроях, де основна частина операцій пов'язана не з обробкою та зберіганням інформації, а з самим її введенням та висновком на будь-які пристрої відображення з десятковим поданням отриманих результатів, має сенс проводити обчислення в десятковій системі числення. Але ЕОМ вимагає інформацію лише у двійковій формі. Отже, десяткові цифри потрібно кодувати будь-яким легко реалізованим та швидким способом. Для цього використовується двійково-десятковий код, у якому кожна десяткова цифра 0. 9 зображується відповідним 4-разрядным числом (від 0000 до 1001). Такий код називається ще кодом 8421 (цифри, що відповідають ваги двійкових розрядів).
Подання десяткового числа у двійково-десятковому коді.
Дві двійково-десяткові цифри становлять 1 байт, тобто. за допомогою 1 байта можна уявити десяткові числа від 0 до 99.
Дії над двійково-десятковими числами виконуються як над двійковими. Складності виникають при перенесенні з зошита до зошита.
Крім того, слід зазначити, що виконання додавання і віднімання двійково-десяткових чисел зі знаком зводиться до складання або віднімання модулів шляхом визначення фактично виконуваної операції за знаком операндів і виду операції. Наприклад, потрібно обчислити Z = X-Y при X Pmax;
- негативне переповнення порядку, коли PZ
Конкретна реакція різних ЕОМ та різних операційних систем на ознаки порушення обмежень у випадку різна. Проте всі вони обов'язково виконують такі операції:
- при обробці програми після виконанняоперацій, де можливе переповнення, передбачається аналіз відповідної ознаки та залежно від його значення, реалізується та чи інша конкретна дія;
- у разі ознаки будь-де програми в ЕОМ формується запит на переривання і виконується програма його обслуговування.
2.10. Подання буквено-цифрової інформації
За своєю природою комп'ютери можуть працювати лише з числами. І щоб вони могли зберігати у пам'яті і обробляти літери чи інші символи, кожному їх має бути поставлене у відповідність деяке число, тобто. використана та чи інша система кодування символів.
Донедавна було прийнято представляти один символ буквенно-цифрової інформації як одного байта. За допомогою одного байта можна закодувати 2 8 =256 символів. Історично склалося те, що різні виробники почали використовуватиме представлення символів всередині ЕОМ різні коди. У світі мали ходіння десятки схем такого кодування символів. Але жодна з цих схем була настільки універсальною, щоб описати всі необхідні символи. За великим рахунком, навіть для окремої мови, наприклад, англійської, не існувало єдиної системи кодування, що включала всі зазвичай використовувані літери, знаки пунктуації, технічні і математичні символи.
Серед однобайтових систем кодувань найбільшого поширення у світі набув Стандартний американський код обміну інформацією ASCII, що має кілька модифікацій. У базовому варіанті коду ASCII кодування кожного символу використовується 7 біт, тобто. можна закодувати 2 7 = 128 символів, наприклад:

Зазвичай код інформації та символів, що управляють, представлявся у вигляді дворозрядного шістнадцяткового числа. Восьмий біт у байтівикористовувався для розширення набору символів, що відображається, або для перевірки правильності переданої кодової комбінації, наприклад перевірки на парність.
У вітчизняних ЕОМ також використовувалися різні коди. Так, у ЄС-ЕОМ використовувався двійковий код обробки інформації (ДКОІ), 8-розрядний код обміну інформацією (КОІ-8). Використовувалися також 7-розрядний код КОІ-7 та його модифікації, причому код КОІ-7 є найбільш близьким до базового варіанту коду ASCII. Код КОІ-8 за рахунок використання 8-го біта дозволяв представляти крім службових символів, цифр та латинських літер ще й українські літери.
Тим часом, всі ці однобайтові схеми кодування часто навіть не були сумісні один з одним. Наприклад, два різні кодування могли використовувати один і той же код для подання двохрізнихсимволів або присвоювати різні кодиоднієї і тієї жбукві. У цій ситуації для будь-якого комп'ютера, особливо сервера, доводилося підтримувати кілька різних кодувань, які могли знадобитися. Але навіть тоді при передачі даних на іншу платформу або при їх перетворенні на інше кодування завжди залишався ризик, що ці дані виявляться пошкодженими.
Зазначені вище недоліки 8-бітових систем кодування символів призвели до появи 16-бітових систем, в яких кодування будь-якого символу використовуються два байти. Нині міжнародним стандартом стала двобайтова система кодування символів Unicode, розроблена Unicode Consortium. Unicode Consortium є некомерційною організацією, заснованою для розробки та розвитку стандарту Unicode, що визначає подання символьної інформації в сучасних програмних продуктах та стандартах, та для сприяння його широкому поширенню та використанню.
Використання Unicode у багаторівневихдодатках або програмних комплексах, побудованих в рамках архітектури клієнт-сервер, а також при поданні даних в мережі Інтернет, призводить до значного зниження витрат на підтримку цих продуктів або сервісів у порівнянні з використанням старих схем кодування. Unicode дозволяє створювати єдиний програмний продукт або Інтернет-сайт для безлічі платформ, мов та країн без будь-яких переробок. Його використання під час передачі даних між різними системами оберігає ці дані від ушкодження.
2.11. Заключні зауваження
Представлений вище матеріал дає лише загальне уявлення про виконання арифметичних операцій над двійковими числами у різних системах числення. Реальні алгоритми виконання арифметичних операцій, що використовуються в сучасних ЕОМ, дозволяють суттєво прискорити процес обчислень, особливо для операцій множення та поділу. Однак ці алгоритми дуже громіздкі та складні для початкового розуміння. Більш повну інформацію про них можна знайти в літературних джерелах, наведених нижче.
Мистецтво програмування. Т.1. Основні алгоритми. 3-тє вид., Випр. та дод. / Д. Батіг; За ред. Ю.В. Козаченко М.; СПб.; Київ: ВІЛЬЯМС, 2000. 729 с.
Мистецтво програмування. Т.2: Напівчислені алгоритми. 3-тє вид., Випр. та дод. / Д. Батіг; За ред. Ю.В. Козаченко М.; СПб.; Київ: ВІЛЬЯМС, 2000. 832с.
Основи інформатики: Підручник для вишів А.Я. Савельєв. М.: МДТУ ім. М.Е. Баумана, 2001. 328 с.
Інформатика: Системи числення та комп'ютерна арифметика: /Є.Андрєєва, І.Фаліна; М: Лабораторія базових знань, 1999. 256 с.
Електронні обчислювальні машини та системи: Навч. посібник для вузів. 3-тє вид., перераб. та дод. / Б.М. Каган; М.: Вища школа, 1991. 592 с.
Програмування арифметичних операцій на мікропроцесорах: Учеб. посібник для технічних вишів. / Злобін В.К., Григор'єв В.Л. М: Вища школа, 1991. 303 с.
Мікропроцесори та їх застосування в системах передачі та обробки сигналів: Навч. посібник для вузів/Б.А. Калабеков; М.: Радіо та зв'язок, 1988. 368 с.
Введення в мікропроцесорну техніку/Ч. Гілмор; За ред. В.М. Кисельнікова. М.: Світ, 1984. 334 з.
Запитання для самоперевірки
Які види систем числення ви знаєте?
У яких випадках доцільно застосовувати двійкову, вісімкову та шістнадцяткову систему числення?
Чим двійкова система числення відрізняється від двійково-десяткової?
Як розрізняються прямі, зворотні та додаткові коди для представлення чисел?
Коли слід застосовувати прямий, зворотний та додатковий коди для представлення чисел?
Що таке переповнення розрядної сітки?
У яких випадках з'являється переповнення розрядної сітки?
Навіщо використовують модифіковані коди?
Опишіть алгоритм переведення з додаткового коду до десяткової системи.
Поясніть поняття "арифметика підвищеної точності".
Опишіть формат ЧФЗ.
Навіщо потрібні ЧФЗ, чому під час роботи з ними вводять масштабний коефіцієнт?
Опишіть формат ППЗ.
У яких випадках використовують ППЗ? У чому переваги ЧФЗ та ЧПЗ?
Що таке нормалізація числа?
Назвіть існуючі формати ЧПЗ, які у ЕОМ.
Від чого залежить точність подання ЧПЗ в ЕОМ?
Навіщо використовується нормалізація числа?
Які методи прискорення множення ви знаєте? Коротко охарактеризуйте їх.
У яких випадках використовується десяткова арифметика?
Навіщо потрібна двійково-десяткова корекція?
Якіознаки формуються в ЕОМ у разі порушення обмеження на довжину розрядної сітки?
Як зберігається символьна інформація в ЕОМ?