Skip to main content

Что такое регистр процессора?

Самый быстрый доступ к хранимой памяти на компьютерном процессоре (CPU) - это регистр процессора. Компьютерная архитектура проектирует процессор, регистрируя возможности памяти в кеше ЦП, так что значения, к которым регулярно обращаются компьютерные процессы, могут храниться там. Процессы могут получать доступ и выполняться быстро на основе этих сохраненных значений. Поскольку регистры процессора хранятся в ЦП, они считаются верхней частью иерархии памяти хранения, и распределение обычно определяется переменными. После обработки данные восстанавливаются в кэш-памяти, оперативной памяти (RAM) или на жестком диске.

Компьютерные процессоры имеют регистры разных типов в соответствии с инструкциями или тестами, которые работают с ними, или с их конкретным содержимым. Регистры данных, адресов и общего назначения содержат математические значения и адреса для хранения в памяти. Существуют условные регистры со значениями истинности для инструкций логической операции, константы с постоянными значениями только для чтения, такими как «пи» и «ноль», и регистры специального назначения, в которых хранится счетчик программ, регистр состояния и указатели стека для использования стековой памяти. Регистры управления содержат инструкции из набора команд, встроенного в архитектуру ЦП; и есть несколько, которые выбирают из ОЗУ и схем ЦП, которые обращаются к буферам памяти, данным памяти, диапазонам типов памяти и адресам. Переменные, не назначенные в регистр процессора, сохраняются в ОЗУ и загружаются и выгружаются для операций чтения и записи, однако они имеют более медленную обработку.

Зная разницу в скорости обработки в регистрах и оперативной памяти, разработчики компьютерных программ компилятора обычно проектируют свои программы так, чтобы они максимально работали в хранилище регистров процессора для быстрого выполнения функций. Для программ компилятора точно в срок, метод выделения регистров, известный как линейное сканирование, отслеживает операции регистра и быстро высвобождает вычислительную мощность регистра обратно в программу. Методы выделения регистров пытаются получить как можно больше переменных программы, назначенных для регистров, и в потоке операций, который максимизирует наименьшее количество регистров для быстрой компиляции.

Поскольку многие регистры процессора предназначены для временного хранения переменных и наборов команд, все операции для использования в программе могут быть сохранены для манипулирования ЦПУ. При работе ЦП сначала ищет в кэше ЦП регистров копию любых данных, которые будут обработаны в операциях чтения, записи или перемещения, прежде чем искать ОЗУ и вторичное хранилище на жестких дисках. По состоянию на 2011 год большинство процессоров содержат три отдельных кэша. Кэши команд связаны с выборками выполнения по командам, буфер схожего преобразования ускоряет преобразование адресов для виртуальных к физическим адресам, а кэш данных содержит многоуровневое иерархическое хранилище данных, которые будут обрабатываться набором команд регистра процессора.