В компьютерных системах регистры представляют собой маленькие устройства хранения внутри процессора, предназначенные для выполнения различных задач. Они классифицируются по своему назначению и функциональности, что позволяет эффективно управлять операциями процессора и обеспечивать выполнение инструкций программы.
Регистры бывают нескольких видов
- Регистры данных используются для хранения целых чисел и символов (есть и другие регистры для чисел с плавающей запятой). В старых и простых процессорах есть специальный регистр- аккумулятор , который неявно участвует во многих операциях.
- Адресные регистры содержат адреса памяти и служат для доступа к оперативной памяти компьютера. Некоторые процессоры имеют специальный индексный регистр , который часто используется для сложных комбинаций для вычисления адреса.
- Регистры общего назначения могут хранить как данные, так и адреса, поэтому их можно рассматривать как комбинированные адрес/данные.
- Регистры данных с плавающей запятой — это специальные регистры, которые используются во время вычислений с плавающей запятой специализированным процессором (FPU — процессор для вычислений с плавающей запятой) или частью процессора, которая занимается такими вычислениями.
- Регистры констант предназначены только для чтения и некоторых предварительно выбранных часто используемых значений. Часто именно так обрабатывают ноль, хотя есть примеры и для 1 или пи .
- Векторные регистры содержат данные для вычисления векторов в процессоре специального типа (SIMD — одна инструкция, несколько данных).
- Регистры специального назначения содержат состояние программы и процессора; обычно они
Счетчик программ или указатель инструкций содержит адрес следующей выполняемой инструкции программы. - Указатель стека также является типом адресного регистра, который указывает на начало структуры данных, организованной в памяти.
- Регистр состояния или слово состояния содержит данные, описывающие состояние процессора, выполнение текущей инструкции или последние существенные изменения.
- Регистр инструкций содержит текущую команду, выполняемую процессором.
- Индексные регистры используются в сочетании с адресными регистрами для достижения более сложных способов получения адреса данных, операндов или инструкций.
В некоторых архитектурах модельно -зависимые регистры (иногда называемые машинно-зависимыми регистрами ) содержат данные или настройки, представляющие внутреннее состояние процессора и недоступные извне. Их назначение специфично и поэтому они связаны с конструкцией процессора и не являются общими для нескольких поколений процессоров.
Регистры, предназначенные для приема данных из оперативной памяти , представляют собой набор регистров памяти, которые обычно не располагаются на одном кристалле с процессором