Акумулятор (процесор)

Акумуля́тор (регістр процесора) — регістр, в якому зберігаються безпосередні результати виконання арифметичних і логічних команд. Альтернативними методами для збереження результату є використання регістрів загального призначення або оперативної пам'яті.

Мікропроцесор з акумуляторною архітектурою або 1-операндна машина відрізняється тим, що навіть якщо в ньому кілька регістрів, результат більшості операцій зберігається в спеціальному реєстрі, який називається «акумулятор». Це спрощує як реалізацію архітектури, так і скорочує розміри машинного коду. Історично практично всі перші мікропроцесори були акумуляторними машинами, і зараз багато популярних однокристальних мікроконтролери (68HC12, PIC, 8051) — це акумуляторні машини.

Сучасні CPU звичайно є 2-х і 3-х операнднимі машинами — у яких додаткові операнди вказують між якими з регістрів загального призначення здійснюються обчислення.

Процесор може мати кілька акумуляторів: у 8051 є два, основний A і вторинний B, причому другий використовується при операціях множення і ділення.

Концепція праціРедагувати

Математичні операції часто відбуваються поетапно, використовуючи результати однієї операції як вхідні дані для наступної. Наприклад, ручний розрахунок щотижневого фонду оплати праці працівника може виглядати приблизно так:

1. Ввести кількість відпрацьованих годин за табелем часу працівника

2. Ввести за таблицею ставку заробітної плати для цього працівника

3. Помножити години на ставку заробітної плати, щоб отримати їх основну щотижневу оплату

4. Помножити їх основну заробітну плату на фіксований відсоток для врахування податку на прибуток

5. Відняти це число від основної заробітної плати, щоб отримати щотижневу заробітну плату після оподаткування

6. Помножити цей результат на інший фіксований відсоток, щоб врахувати пенсійні плани

7. Відняти це число від основної заробітної плати, щоб отримати їхню щотижневу заробітну плату після всіх відрахувань

Комп’ютерна програма, що виконує одне і те ж завдання, буде дотримуватися тієї ж базової послідовності операцій, хоча знайдені значення будуть зберігатися в пам’яті комп’ютера. У ранніх комп'ютерах данні, швидше за все, трималася на перфокарті, а ставка оплати в іншій формі пам'яті, можливо на магнітному барабані. Після завершення множення результат потрібно кудись помістити. На "барабанній машині" це швидше за все, повернеться до барабана. І тоді вже наступна операція повинна зчитати це значення назад, що вносить ще одну значну затримку.

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