- •1 Ознайомлення з структурою еом
- •1.1 Структура еом
- •1 На англійській мові використовується запис rom (Read Only Memory) – пам’ять тільки для читання
- •2 На англійській мові використовується запис ram (Read/Write Memory) – пам’ять для запису/читання
- •1 На англійській мові використовується запис rom (Read Only Memory) – пам’ять тільки для читання
- •2 На англійській мові використовується запис ram (Read/Write Memory) – пам’ять для запису/читання
- •2 Числа, кодування і арифметика
- •2.1 Двійкові числа
- •2.2 Шістнадцяткові числа
- •2.3 Вісімкові числа
- •2.4 Двійково - десяткові числа
- •2.5 Двійкова арифметика
- •2.5 Двійкова арифметика
2.4 Двійково - десяткові числа
З метою зручності перетворення війкові числа представляють десятковими або шістнадцятковими. Але двійково - десяткове перетворення - операція не проста. В калькуляторах, магістралях і числових приладах, коли на доступних користувачу виходах і входах широко розповсюджені десяткові числа, для їх представлення використовують спеціальний двійково – десятковий код (ДДК). В табл.2.9 наведено декілька десяткових чисел і відповідних їм двійково – десяткових еквівалентів (система 8421). Цим визначається вага позицій кожного із чотирьох біт ДДК (використовують інші ДДК, наприклад 5421 і плюс 3).
Табл. 2.9 Двійково – десятковий код 8421
-
Двійкові
Двійково – десяткові числа
8
4
2
1
0
1
2
3
4
5
6
7
8
9
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
Запишемо десяткове число 3691 в ДДК 8421. Кожна десяткова цифра перетворюється прямо в свій двійково – десяткових еквівалент із 4 біт, і перетворення дають 369119 = 0011 0110 1001 0001ДДК:
Десяткове число 3 6 9 1
Двійково – десяткове число 0011 0110 1001 0001
Перетворимо тепер двійково – десяткове число 1000 0000 0111 0010 в його десятковий еквівалент. Кожна група із 4 біт прямо перетворюється в його десятковий еквівалент, і тоді отримуємо 1000 0000 0111 0010ДДК = 807210:
Двійково – десяткове число 1000 0000 0111 0010
Десяткове число 8 0 7 2
Мікропроцесори додають війкові числа, але вони мають команди для перетворення результату в двійково – десятковий запис. Отримані двійково – десяткові числа легко потім представити в десятковому записі, використовуючи вище описані прості процедури.
Вправи:
Запис ДДК є скороченням _________ _________ _________.
Найбільш загальним записом двійково – десяткового коду є ДДК__(5421,8421).
Записати наступні десяткові числа в ДДК 8421:
а) 3910; б) 6510; в) 4010; г) 1710; д) 8210; е) 9910
Записати наступні двійково – десяткові числа в десятковому коді :
а) 1000 0000ДДК; б) 0000 0001ДДК; в) 1001 0010ДДК; г) 0111 0110ДДК; д) 0100 0011ДДК; е) 0101 0101ДДК.
2.5 Двійкова арифметика
Додавання, віднімання або множення двійкових виконуються так, як і в арифметиці десяткових чисел.
На рис. 2.4,а представлено прості правила двійкового додавання. Дла перших (зліва) правила очевидні, третє показує, що 1+1=10, тобто найбільш значуща 1 переноситься в ближній старший розряд. Четверте правило, наприкінці показує, що 1+1+1=11. В цьому випадку перший, другий доданки і перенос із молодшого розряду – всі 1. Результатом є сума 1 з переносом 1.
1
1 1 Запам’ятовування
із меншої
1-й доданок 0 0 1 +1 позиції
2-й доданок +0 +1 +1 +1 а)
Сума 0 1 10 11
Перенос в наступну старшу позицію
111 1 Переноси 11
1-й доданок 00111011 59
2-й доданок +00101010 +42 б)
Сума 011001012 10110
Рис.2.4 Двійкове додавання а) – правила; б) – приклад.
Додамо двійкові числа 00111011 і 00101010 ( операцію показано на рис.2.4, б). Для більшої ясності дії з десятковими еквівалентами чисел показано на рисунку справа. Сумою двох чисел 00111011 і 00101010 є 011001012.
На рис.2.5, наведено правила війкового віднімання. Перші три аналогічні десятковому відніманню . Останнє вимагає позики із попереднього розряду ( в цьому випадку вага 2). Віднімаючи 1 від двійкового числа 10 маємо різницю 1.
Віднімемо двійкове число 00111001 від 01010101. Цей приклад наведено на рис.2.5, б. Розряди ваги 1,2 і 4 цього війкового віднімання прості для виконання і відносяться до перших трьох правил на рис.2.5,а. В стовпчику ваги 8 має місце віднімання 1 із 0. Тоді 1 позичається із стовпчика вагою 16.
0
10
10 10
Зменшене 0 1 1 10 01010101 85
Від’ємник -0 -0 -1 -1 а) -00111001 -57 б)
Різниця 0 1 0 1 000111002 2810
Рис.2.5 Двійкове віднімання а) – правила; б) - приклад.
Одиниця віднімається із 102, що дає різницю 1 відповідно четвертому правилу на рис.2.5,а. Після цієї позики в стовпчику ваги 16 має місце віднімання 1 із нового віднімаємо 0. Відповідно четвертому правилу 1 повина бути позичена із наступної позиції ( стовбпчик ваги 32), але в стобчику 32 маємо 0; тому стовбчик 32 повинен зробити позику із стовбчика вагою 64, що і втконано. На закінчення стовбчик 16 виконує позику із стовбчика 32, зменшуюче в стовбчику 16 стає 102 , віднімаюче 1, різниця 1. В стовбчику 32 маємо 1-1=0, в стовбчику 64 0-0=0, в стовбчику 128 0-0=0. Таким чином, рис.2.5, ілюструє операцію віднімання 001110012 із 010101012 ( зправа цю задачу вирішено в десятковому записі.
Наведемо правила двійкового множення:
1 2 3 4
Множене 0 1 0 1
Множник *0 *0 *1 *1
Добуток 0 0 0 1
Два перших правила не потребують ніяких пояснень. В двох наступних множником є 1, множене стає результатом і являє собою добуток. Коли множник 0, добуток завжди 0.
Виконаємо множення 1101 на 101. Як і в випадку множення десяткових чисел, множене спочатку множиться на число, що стоїть в молодшому розряді ( в випадку, що розглядається – біт в стовбчику ваги 1).
Множене 1101 13
Множник *101 *5
1-й частковий добуток 1101 6510
2-й частковий добуток 0000
3-й частковий добуток 1101
10000012
Оскільки біт множника в розряді ваги 1 є 1, множене копіюється і складає перший частковий добуток. Другим бітом множника є 0, тоді другим частковим добутком є 0000 ( відмітимо, що його зсунуто на одну позицію вліво). Бітом розряду ваги 4 множника є 1, тоді для отримання третього часткового добутку знову йде копіювання множеного ( відмітимо, що копіювання завершується новим зсувом на одну позицію вліво). Після цього виконуємо додавання трьох часткових добутків, що дає результат 10000012 . Отриманий результат 11012*1012=10000012 відповідає добутку десяткових чисел 1310*510=6510.
Вправи:
Виконати наступні додавання двійкових чисел:
а) 1010 б) 1101 в) 0101 1011 г) 0011 1111
+0101 +0101 +0000 1111 +0001 1111
Виконати наступні віднімання двійкових чисел:
а) 1110 б) 1010 в) 0110 0110 г) 0111 1000
-1000 -0101 - 0001 1010 -0011 1111
Перше число при множенні називається ______, друге – множник, а результат складає _______.
Виконати наступні множення двійкових чисел:
а) 1001 б) 1101 в) 1111 г) 1110
* 11 *1001 * 101 *1110
