
- •Мови, рівні і віртуальні машини
- •Сучасні багаторівневі машини
- •Поняття архітектури пк
- •1.4. Розвиток комп’ютерної архітектури
- •Розвиток багаторівневих машин
- •Типи сучасних еом
- •Питання до лекції
- •2.1. Принципи розробки сучасних комп'ютерів
- •2.2. Паралелізм на рівні команд
- •2.3. Конвеєри
- •2.4. Суперскалярні архітектури
- •2.5. Паралелізм на рівні процесорів
- •2.6. Векторні комп'ютери
- •Блок управління
- •2.7. Мультипроцессори
- •2.8. Мультикомпьютери
- •Питання до лекції
- •3. Основи комп’ютерної організації : пам’ять
- •3.1. Ієрархічна структура пам'яті
- •3.2. Загальні відомості про пам'ять
- •3.4. Методи звертання до пам'яті
- •3.5. Модулі пам'яті
- •3.6. Ряди і банки пам'яті
- •3.8. Код з виправленням помилок
- •3. 9. Скільки потрібно пам'яті
- •Питання до лекції
- •4. Цифровий рівень побудови ом
- •4.1. Вентилі і булева алгебра
- •4.2. Булева алгебра
- •4.3. Реалізація булевих функцій
- •4.4. Еквівалентність схем
- •Основні цифрові логічні схеми Інтегральні схеми
- •4.5. Комбінаційні схеми
- •3 Входи і 8 виходів
- •4.6. Арифметичні схеми.
- •4.7. Тактові генератори
- •Питання до лекції
- •Цифровий рівень побудови ом.
- •5. Цифровий логічний рівень архітектури: пам’ять, мікропроцесори
- •5.2. Синхронні sr-защіпки
- •5.3. Синхронні d-защіпки
- •5.4. Тригери (flip-flops)
- •5.5. Регістри
- •5.6. Організація пам'яті
- •Тригер (б)
- •Кожний ряд представляє одне з 3-бітних слів. При операції зчитування і запису завжди зчитується або записується ціле слово
- •5.7. Мікросхеми пам'яті
- •5.9. Мікросхеми процесорів
- •Стрілочки указують вхідні і вихідні сигнали. Короткі діагональні лінії вказують на наявність декількох висновків.
- •Питання до лекції
- •6. Шини
- •6.1. Ширина шини
- •6.2. Синхронізація шини
- •6.3. Синхронні шини
- •6.5. Асинхронні шини
- •6.6. Арбітраж шини
- •6.7. Принципи роботи шини
- •Питання до лекції
- •7. Мікроархітектурний рівень
- •7.1. Приклад мікроархітектури
- •7.2. Тракт даних
- •В цьому розділі
- •Табліця 7.1. Деякі комбінації сигналів аллу і відповідні їм функції
- •7.3. Синхронізація тракту даних
- •7.4. Робота пам'яті.
- •7.5. Мікрокоманди
- •7.6. Управління мікрокомандами: Mic-1
- •7.7. Приклад архітектури команд: ijvm
- •7.8. Модель пам'яті ijvm
- •Питання до лекції
- •8. Рівень архітектури команд
- •8.1. Моделі пам'яті
- •8.2. Загальний огляд рівня архітектури команд
- •8.3. Властивості рівня команд
- •8.4. Регістри
- •8.5. Команди
- •8.6. Загальний огляд рівня команд машини Pentium II
- •8.8. Загальний огляд рівня команд системи ultrasparc II
- •8.9. Загальний огляд віртуальної машини Java
- •8.10. Типи даних
- •8.11. Числові типи даних
- •8.12. Нечислові типи даних
- •8.13. Типи даних процесора Pentium II
- •Підтримувані типи відмічені хрестом (х)
- •8.14. Типи даних машини UltraSparc II
- •8.16. Типи даних віртуальної машини Java
- •8.17. Формати команд
- •Питання до лекції
- •9. Адресація
- •9.1. Способи адресації
- •9.2. Безпосередня адресація
- •9.3. Пряма адресація
- •9.4. Регістрова адресація
- •9.5. Непряма регістрова адресація
- •Лістинг 9.1 - Програма на асемблері для обрахунку суми елементів масиву.
- •9.6. Індексна адресація
- •Листинг 9.2. Програма на мові асемблера для обчислення операції або від (Аі і Ві ) для масиву з 1024 елементів.
- •9.7. Відносна індексна адресація
- •9.8. Стекова адресація
- •9.9. Зворотній польський запис
- •9.10. Обчислення формул в зворотнім польськім записі
- •Питання до лекції
4.2. Булева алгебра
Щоб описати схеми, що будуються шляхом сполучення різних вентилів, потрібний особливий тип алгебри, у якій усі змінні і функції можуть приймати тільки два значення: 0 і 1. Така алгебра називається булевою алгеброю. Вона названа на честь англійського математика Джорджа Буля (1815-1864). Насправді в даному випадку мається на увазі особливий тип булевої алгебри, а саме алгебра релейних схем.
Булева функція має одну або декілька змінних і видає результат, що залежить тільки від значень цих змінних. Можна визначити просту функцію f, сказавши, що f(A)=l, якщо А=0, і f(A)=0, якщо А=1. Така функція буде функцією НЕ (рис. 4.2 а).
Внаслідок того, що булева функція від n змінних має тільки 2п можливих комбінацій значень змінних, то таку функцію можна цілком описати в таблиці з 2п рядками. У кожному рядку буде даватися значення функції для різних комбінацій значень змінних. Така таблиця називається таблицею істинності. Усі таблиці на рис. 4.2 являють собою таблиці істинності. Функцію можна цілком описати 2п-бітним двійковим числом, що виходить, якщо зчитувати по вертикалі колонкові результати у таблиці істинності. Таким чином, НЕ-І – це 1110, НЕ-АБО - 1000, І - 0001 і АБО - 0111. Очевидно, що існує тільки 16 булевих функцій від двох змінних, яким відповідають 16 можливих 4-бітних ланцюжків. У звичайній алгебрі, навпаки, є нескінченне число функцій від двох змінних, і ні одну з них не можна описати, давши таблицю значень цієї функції для всіх можливих значень змінних, оскільки кожна змінна може приймати нескінченне число значень.
На рис. 4.3 а показана таблиця істинності для булевої функції від трьох змінних: M=f(A, В, С). Це функція більшості, яка приймає значення 0, якщо більшість змінних дорівнює 0, і 1, якщо більшість змінних дорівнює 1. Хоча будь-яка булева функція може бути визначена за допомогою таблиці істинності, зі зростанням кількості змінних такий тип запису стає громіздким. Тому замість таблиць істинності часто використовується інший тип запису.
Щоб побачити, яким чином здійснюється цей інший тип запису, відзначимо, що будь-яку булеву функцію можна визначити, вказавши, які комбінації значень змінних дають
А |
В |
С |
М |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |

a)
б)
Рис. 4.3 - Таблиця істинності для функції більшості від трьох змінних (а); схема для цієї функції (б).
значення функції 1. Для функції, приведеної на рис. 4.3 а, існує 4 комбінації змінних, які дають значення функції 1.
Знак
множення будемо використовувати
позначення
булевої
функції І (знак множення може опускатися)
і “+” для позначення булевої
функції АБО.
Наприклад, A
C
приймає значення 1, тільки якщо А=1, В=0
і С=1. А
+В
приймає значення 1, тільки якщо (А=1 і
В=0) або
(В=1 і С=0).
У таблиці на рис. 4.3, а
функція
приймає значення 1 у чотирьох рядках:
ВС,
A
C,
AB
і ABC. Функція М приймає значення істини
(тобто 1), якщо одне
з цих чотирьох умов істинно. Отже, можна
написати
М= ВС+ A C+ AB + ABC.
Це компактний запис таблиці істинності. Таким чином, функцію від п змінних можна описати сумою максимум 2п добутків, при цьому в кожному добутку буде по п множників. Таке формулювання особливо важливе, оскільки воно веде до реалізації даної функції з використанням стандартних вентилів.
Булева функція може реалізовуватися за допомогою електронної схеми (часто різними способами) з використанням сигналів, що представляють вхідні і вихідні змінні, і вентилів, наприклад, І, АБО і НЕ.