1.1: Основні компоненти в процесорі
- Page ID
- 28203
Цей розділ охоплює основні компоненти процесора. Він охоплює ворота, які використовуються в процесорі, і чотири загальні мікросхеми, що використовуються в процесорі, суматорі, декодері, мультиплексорі та регістрі.
1.1.1 Булеві операції
Гейтс - це апаратні реалізації логічних операцій. Булеві операції - це операції, які приймають одне або кілька двійкових значень і обчислюють результат. Наприклад, операція AND приймає 2 двійкових значення (з 0 = false і 1 = true) і обчислює двійковий висновок. Для операцій І, входи 0 І 0, 0 І 1, і 1 І 0 все дають 0 (брехня), а вхід 1 І 1 дає 1 (true). Зазвичай це реалізується за допомогою таблиці істинності наступним чином:
|
Вхідні дані |
Вихід |
|
|
А |
Б |
І |
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
У цьому тексті буде використано 5 булевих операторів, AND, OR, NOT, XOR і NAND. NOT є унарною функцією (вона займає лише один вхід), і так наведено в таблиці 1-2.
|
Вхідні дані |
Вихід |
|
А |
НЕ |
| 0 | 1 |
| 1 | 0 |
Оператори AND, OR, XOR та NAND є двійковими (приймаючи два входи) і показані в таблиці 1- 3 нижче.
|
Вхідні дані |
Вихід |
||||
|
А |
Б |
І |
АБО |
XOR |
NAND |
| 0 | 0 | 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 0 |
1.1.2 Інтегральні схеми
Інтегральна схема (IC) - це сукупність воріт, які використовуються для побудови компонентів для реалізації поведінки. Компоненти IC - це прості ворота, і всі мікросхеми в цьому розділі можуть бути легко зведені до воріт AND, OR, NOT, XOR та NAND. Так само, як ворота механічно перетворюють вхід на вихід, мікросхеми також роблять механічне перетворення входів у виходи.
Мікросхеми, які будуть описані в цьому розділі, - це суматор, декодер, мультиплексор та фліп-флоп.
1.1.3 АЛУ (суматор)
Арифметико-логічний блок (ALU) є центральним компонентом процесора. Він виконує всі арифметичні та логічні операції над даними. Все інше в процесорі призначене для надання даних для роботи ALU.
ALU, як правило, чорний ящик, який забезпечує операції для процесора на двох операндах. Цей чорний ящик відповідає за всі операції, які виконує процесор, включаючи не тільки цілі та логічні операції, але і обчислення з плаваючою комою. Такі операції, як обчислення з плаваючою комою, дуже складні і часто реалізуються в співпроцесорах. Щоб все було просто, єдиними типами даних, дозволеними для ЦП в цьому тексті, будуть цілі числа, і тільки цілі та логічні операції будуть дозволені.
Огляд ALU можна побачити в типовому ALU, показаному нижче. ALU приймає два аргументи, і реалізує і операції, такі як додавання, віднімання, множення і ділення операцій на цих двох операндах. ALU також дозволяє такі операції, як логічні операції (AND, OR, XOR тощо), бітове зміщення та порівняння.

Оскільки єдина операція ALU, охоплена в рекомендованому тексті на мікросхемах, є суматором, ALU, який використовується в реалізації Logisim процесора, буде містити лише схему суматора. За допомогою суматора реалізовано як додавання, так і віднімання. Більш надійну конфігурацію для ALU можна знайти в додаткових примітках, до яких можна отримати доступ до цього тексту.
1.1.4 Декодер
Декодер - це IC розбиває n-бітове число на 2n окремих вихідних рядків. Наприклад, розглянемо 2-бітове число, яке може мати 4 значення, 0x0... 0x3. Декодер буде приймати як вхідні 2 вхідні рядки, що представляють 2-бітове число, і включити один (і тільки один) з чотирьох вихідних рядків. Рядок, який увімкнено, відповідає значенню 2-бітного входу. Отже, на наступній схемі, якщо 2-бітний вхід має обидві лінії високі (представляючи «11»), і вихідний рядок 3 включений.

1.1.5 Мультиплексор
Мультиплексор - це мікросхема, яка вибирає між різними входами. На наступній діаграмі 8 біти, які використовуються виходом, можуть надходити з регістру 1 або регістру 2. Мультиплексор вибирає, яке 8-бітове значення використовувати. Якщо Select Input дорівнює 0, буде вибрано параметр «Регістр 1», а якщо Вибрати вхід є 1, буде вибрано Реєстр 2.
1.1.6 Регістри (D фліп-флоп) та пам'ять
Пам'ять відрізняється від інших ІС тим, що вона синхронна, де синхронна означає, що осередок пам'яті має значення, яке через дискретні проміжки часу. Прикладом такої поведінки є $ac у наступному фрагменті програми:
clac <- time = t0, $ac = 5 addi 5 <- time = t1, $ac = 5 addi 7 <- time = t2, $ac = 5 subi 2 <- time = t3, $ac = 5
Ця програма показує, що значення пам'яті, $ac, змінюється дискретно з часом. Ця дискретна поведінка здійснюється системним годинником. Системний годинник - це електронна схема генератора, яка виробляє квадратну хвилю з точною частотою. Нижче наведена ілюстрація квадратної хвилі.

У квадратній хвилі значення завжди дорівнює 0 або 1, а пам'ять використовує перехід від 0 до 1 (позитивне ребро) для зміни значення всіх компонентів пам'яті. При цьому осередки пам'яті мають дискретні значення, які змінюються на кожному тактовому імпульсі.
Будь-яка комірка пам'яті в процесорі зазвичай називається регістром. Реєстр пам'яті зазвичай складається з Static Ram (SRAM), і реалізується за допомогою фліп-флоп. Основною пам'яттю комп'ютера часто є Dynamic Ram (DRAM)., Однак деяка пам'ять, зокрема кеш-пам'ять, може бути реалізована з SRAM. Специфіка пам'яті виходить за рамки цього тексту, і все, що читач повинен знати, це регістр пам'яті, як правило, SRAM і знаходиться в межах центрального процесора.
