Кодування чисел
Для запису знака числа, заміни операції віднімання чисел складанням їх кодів, а також для визначення переповнення розрядної сітки використовують прямий, обернений і додатковий коди, де для представлення знаку числа відводиться знаковий розряд, який розташовується зліва від числа і відокремлюється комою. У знаковий розряд записують нуль (для позитивного числа) або одиницю (для негативного). Кома в машині в явному вигляді не відображається, а тільки мається на увазі. Числа, представлені в прямому, оберненому і додатковому кодах, називають машинними зображеннями. Вони складаються з знакового розряду і цифрової частини (модуля числа). Позитивні числа у всіх кодах записуються однаково.
Обернений код від’ємного числа утворюється з його прямого коду після інвертування значень розрядів цифрової частини, тобто заміною нуля на одиницю і одиниці - на нуль; значення знакового розряду не змінюється. Додатковий код від’ємного двійкового числа утворюється з його оберненого коду шляхом додавання одиниці до молодшого розряду.
Для переходу від оберненого коду негативного числа до прямого коду потрібно інвертувати значення розрядів цифрової частини, не змінюючи значення знакового розряду. Для переходу від додаткового коду негативного числа до прямого спочатку отримують його обернений код, а потім додають одиницю до молодшого розряду.
Всі операції в комп'ютері виконуються в арифметико-логічному пристрої (АЛП). Числа, які беруть участь в операціях, називаються операндами. Основною операцією в АЛУ є додавання. Операція віднімання замінюється додаванням операндів у зворотному або додатковому кодах. Операції множення і ділення зводяться до багаторазового додавання і зсуву. Правила виконання операцій додавання, віднімання, множення і додавання по модулю 2 в двійковій арифметиці представлені в таблиці. При додаванні двох одиниць виникає операція перенесення в старший розряд; при відніманні від нуля одиниці потрібно знесення одиниці зі старшого розряду.
додавання |
віднімання |
множення |
ділення |
|
|
||||
перенос |
позичаємо |
|
|
|
Більш детально методи додавання, віднімання множення та ділення багато розрядних двійкових чисел вивчити самостійно.
Логічні основи комп’ютерної схемотехніки
Теоретичною основою комп'ютерної схемотехніки є алгебра логіки (Буля) - наука, яка використовує математичні методи для вирішення логічних задач.Основним предметом булевої алгебри є висловлювання - просте речення, про яке можна стверджувати: істинно воно (позначають символом 1) або хибно (позначають символом 0 ). Зазвичай прості висловлювання позначають буквами, наприклад, Х1 Х2, ..., Хn, які в комп'ютерній схемотехніці називають змінними (аргументами). За допомогою логічних зв'язок НЕ, АБО, І, ЯКЩО ... ТО ... будують складні висловлювання, які називають булевими (логічними) функціями і позначають буквами F, L, К, M, Pv.
Основними булевими операціями є заперечення (операція НЕ, інверсія), диз'юнкція (операція АБО, логічне додавання, об'єднання) і кон'юнкція (операція І, логічне множення). _
Заперечення - це одномісна булева операція F = X (читається не X ), результатом якої є значення, протилежне значенню операнда.
Диз'юнкція - це булева операція F = X1vX2 (читається "XабоХ2"), результатом якої є значення нуль тоді і тільки тоді, коли обидва операнда мають значення нуль.
Кон'юнкція - це булева операція F = Х1Х2 (читається "X1 і Х2"), результатом якої є значення одиниця тоді і тільки тоді, коли значення кожного операнда дорівнює одиниці. У виразі Х1Х2 точку можна опускати; часто використовують записьX1˄Х2 або X1&X2.
Операції заперечення, диз'юнкції і кон'юнкції можна задати за допомогою таблиць істинності, в яких зліва представлені значення операндів, а праворуч - значення булевої функції (приклад).
Рис. Функції Буля
Для булевих операцій заперечення, диз'юнкції і кон'юнкції справедливі наступні закони, властивості і тотожності
Комутатівность (переміщувальний закон):
X1˅X2 = X2˅X1, X1∙X2 = X2∙X1.
Асоціативність:
X1˅X2˅X3 = (X1˅X2)˅X3, X1∙X2∙X3 = (X1∙X2) ∙X3.
Дистрибутивність
X1(X2˅X3)=X1X2˅X1X3; X˅(X2 ∙ X3) = (X1˅Х2) (X1˅Х3);
Ідемпотентність (виключення повторення)
Х˅Х˅Х=Х; Х ∙ Х ∙ Х = Х;
Закон поглинання
Х1˅Х1 ∙ Х2=Х1; Х1(Х1˅Х2)=Х1;
Закон склеювання
Х1∙Х2˅Х1∙Х2=Х1; (Х1˅Х2) (Х1˅Х2)=Х1;
Закон де Моргана
Х1˅Х2=Х1∙Х2; Х1∙Х2= Х1˅Х2;
Тотожності
Х1˅Х1∙Х2 = Х1˅Х2; Х1(Х1˅Х2) = Х1∙Х2;
Справедливість приведених залежностей перевіряється підстановкою нулів та одиничок у відповідні співвідношення.
Важливим етапом проектування комп'ютерних схем є мінімізація булевих функцій, тобто знаходження їх виразів з мінімальним числом букв. Мінімізація забезпечує побудову економічних цифрових схем. Для мінімізації функцій з числом букв п <6 використовують карти Карно та діаграми Вейча.
