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

регістри процесора - це осередки надшвидкої оперативної пам`яті, які призначені для тимчасового зберігання проміжних даних. Різні регістри містять інформацію в різному вигляді: адреси і покажчики сегментів пам`яті або системних таблиць, індекси елементів масиву та ін.


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




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

Будь-регістр процесора - це цифрова електронна схема, яка містить послідовність двійкових чисел різної розрядності (16, 32 або 64) і результати виконання перетворень між ними. За типом прийому і передачі інформації можуть бути послідовними (зсувними) і паралельними.

Регістри-акумулятори універсальні, в них міститься велика частина проміжних результатів виконання різних команд (логічних, арифметичних, введення / висновок і ін.). Процесор може містити більше одного акумулятора. Розробники програмного забезпечення використовують акумулятори для скорочення розрядності команд, спрощення програмного коду.

Регістри-прапори відомі також як регістри умов. Вони показують певний результат виконання операції, який може бути нульовим, позитивним, негативним, або вказувати на переповнення. Зазвичай коди умов об`єднуються в групи і утворюють регістр іншого типу - керуючий. Міняти регістри-прапори можливо, але небажано, щоб не спотворити цілісний результат.

Регістри, що містять покажчики на особливі області пам`яті (стек, базу, команду), називаються регістрами-покажчиками. Найголовніший з них - покажчик стека. Стек - це частина пам`яті, що складається з осередків, що слідують один за одним, тобто взяти з стека можна тільки ту осередок, яка лежить зверху. Саме на цю вершину і вказує регістр стека.

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

Регістр-покажчик команд іноді називають лічильником команд, він містить покажчики на команди робочого циклу. Коли команда виконується, його значення збільшується на 1 і цикл продовжується з наступної команди. Тобто лічильник команд завжди вказує на команду, наступну за виконуваної в даний момент.

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

Сегментні регістри використовуються при сегментної адресації пам`яті. При цьому пам`ять ділиться на блоки (сегменти) різної довжини. Адреса потрібної комірки пам`яті визначається адресою початку блоку і величиною зсуву щодо нього. Всього сегментних регістрів чотири: для кодового сегмента, сегмента даних, сегмента стека і додаткового сегмента.

Регістри управління контролюють роботу процесора і не доступні користувачеві. Їх виконання, в-основному, контролюють машинні програми. У них міститься інформація про поточну виконуваної команді, стан процесора, а також вони локалізують керуючі структури при роботі процесора в захищеному режимі.



Увага, тільки СЬОГОДНІ!


Оцініть, будь ласка статтю
Всього голосів: 149
Увага, тільки СЬОГОДНІ!