Для чого потрібні регістри.

Регістри процесора - це осередки надшвидкої оперативної пам'яті, які призначені для тимчасового зберігання проміжних даних. Різні регістри містять інформацію в різному вигляді: адреси і покажчики сегментів пам'яті або системних таблиць, індекси елементів масиву та ін.
У процесорі знаходиться велика кількість регістрів, які можна розділити на кілька основних груп: акумулятори, прапори, покажчики, індексні, сегментні і регістри управління. Регістри процесора являють собою осередки пам'яті для прийому, зберігання і подальшої передачі проміжних результатів виконання программ.Любой регістр процесора - це цифрова електронна схема, що містить послідовність двійкових чисел різної розрядності (16, 32 або 64) і результати виконання перетворень між ними. За типом прийому і передачі інформації можуть бути послідовними (зсувними) і параллельнимі.Регістри-акумулятори універсальні, в них міститься велика частина проміжних результатів виконання різних команд (логічних, арифметичних, введення/висновок та ін.). Процесор може містити більше одного акумулятора. Розробники програмного забезпечення використовують акумулятори для скорочення розрядності команд, спрощення програмного коду. Регістри-прапори відомі також як регістри умов. Вони показують певний результат виконання операції, який може бути нульовим, позитивним, негативним, або вказувати на переповнення. Зазвичай коди умов об'єднуються в групи і утворюють регістр іншого типу - керуючий. Міняти регістри-прапори можливо, але небажано, щоб не спотворити цілісний результат.Регістри, що містять покажчики на особливі області пам'яті (стек, базу, команду), називаються регістрами-покажчиками. Найголовніший з них - покажчик стека. Стек - це частина пам'яті, що складається з комірок, наступних один за одним, тобто взяти з стека можна тільки ту клітинку, яка лежить зверху. Саме на цю вершину і вказує регістр стека. Покажчик бази зазвичай містить адресу певної комірки стека, яка може бути будь-хто. Як правило, регістр стека і регістр бази використовують одночасно при роботі в поточній процедурі для вказівки необхідного стану стека.Регістр-покажчик команд іноді називають лічильником команд, він містить покажчики на команди робочого циклу. Коли команда виконується, його значення збільшується на 1 і цикл продовжується з наступної команди. Тобто лічильник команд завжди вказує на команду, наступну за виконуваної в даний момент.Індексних регістрів два - це індекс джерела і індекс приймача. Вони використовуються для отримання адреси даних стека в поєднанні з регістрами-указателямі.Сегментние регістри використовуються при Сегмент. При цьому пам'ять ділиться на блоки (сегменти) різної довжини. Адреса потрібної комірки пам'яті визначається адресою початку блоку і величиною зсуву щодо нього. Всього сегментних регістрів чотири: для кодового сегмента, сегмента даних, сегмента стека і додаткового сегмента.Регістри управління контролюють роботу процесора і недоступні користувачеві. Їх виконання, в-основному, контролюють машинні програми. У них міститься інформація про поточну виконуваної команді, стан процесора, а також вони локалізують керуючі структури при роботі процесора в захищеному режимі.