Skip to main content
LibreTexts - Ukrayinska

1.1: Основні компоненти в процесорі

  • Page ID
    28203
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)

    Цей розділ охоплює основні компоненти процесора. Він охоплює ворота, які використовуються в процесорі, і чотири загальні мікросхеми, що використовуються в процесорі, суматорі, декодері, мультиплексорі та регістрі.

    1.1.1 Булеві операції

    Гейтс - це апаратні реалізації логічних операцій. Булеві операції - це операції, які приймають одне або кілька двійкових значень і обчислюють результат. Наприклад, операція AND приймає 2 двійкових значення (з 0 = false і 1 = true) і обчислює двійковий висновок. Для операцій І, входи 0 І 0, 0 І 1, і 1 І 0 все дають 0 (брехня), а вхід 1 І 1 дає 1 (true). Зазвичай це реалізується за допомогою таблиці істинності наступним чином:

    Таблиця 1-1: Таблиця істинності для воріт І

    Вхідні дані

    Вихід

    А

    Б

    І

    0 0 0
    0 1 0
    1 0 0
    1 1 1

    У цьому тексті буде використано 5 булевих операторів, AND, OR, NOT, XOR і NAND. NOT є унарною функцією (вона займає лише один вхід), і так наведено в таблиці 1-2.

    Таблиця 1-2: Таблиця істинності для НЕ воріт

    Вхідні дані

    Вихід

    А

    НЕ

    0 1
    1 0

    Оператори AND, OR, XOR та NAND є двійковими (приймаючи два входи) і показані в таблиці 1- 3 нижче.

    Таблиця 1-3: Таблиця істинності для воріт І, АБО, XOR та NAND

    Вхідні дані

    Вихід

    А

    Б

    І

    АБО

    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 тощо), бітове зміщення та порівняння.

    Малюнок 1-1: АЛУ

    Знімок екрана 2020-07-02 на 4.49.42 PM.png

    Оскільки єдина операція ALU, охоплена в рекомендованому тексті на мікросхемах, є суматором, ALU, який використовується в реалізації Logisim процесора, буде містити лише схему суматора. За допомогою суматора реалізовано як додавання, так і віднімання. Більш надійну конфігурацію для ALU можна знайти в додаткових примітках, до яких можна отримати доступ до цього тексту.

    1.1.4 Декодер

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

    Малюнок 1-2: Декодер

    Знімок екрана 2020-07-02 в 4.51.19 PM.png

    1.1.5 Мультиплексор

    Мультиплексор - це мікросхема, яка вибирає між різними входами. На наступній діаграмі 8 біти, які використовуються виходом, можуть надходити з регістру 1 або регістру 2. Мультиплексор вибирає, яке 8-бітове значення використовувати. Якщо Select Input дорівнює 0, буде вибрано параметр «Регістр 1», а якщо Вибрати вхід є 1, буде вибрано Реєстр 2.

    Малюнок 1-3: МультиплексорЗнімок екрана 2020-07-02 на 4.54.08 PM.png

    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, змінюється дискретно з часом. Ця дискретна поведінка здійснюється системним годинником. Системний годинник - це електронна схема генератора, яка виробляє квадратну хвилю з точною частотою. Нижче наведена ілюстрація квадратної хвилі.

    Малюнок 1-4: Квадратна хвиля

    Знімок екрана 2020-07-02 на 4.58.38 PM.png

    У квадратній хвилі значення завжди дорівнює 0 або 1, а пам'ять використовує перехід від 0 до 1 (позитивне ребро) для зміни значення всіх компонентів пам'яті. При цьому осередки пам'яті мають дискретні значення, які змінюються на кожному тактовому імпульсі.

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