РЕГИСТРЫ ПРОЦЕССОРА

В процессоре имеется набор регистров, представляющих собой область па­мяти быстрого доступа» но намного меньшей емкости, чем основная память. Регистры процессора выполняют две функции.

• Регистры, доступные пользователю. Эти регистры позволяют программисту со­кратить число обращений к основной памяти, оптимизируя использование регистров с помощью машинного языка или ассемблера. В состав языков высоко­го уровня входят оптимизирующие компиляторы, построенные на алгоритмах, которые, в частности, позволяют определить, какие переменные следует зано­сить в регистры, а какие — в основную память. Некоторые языки высокого уровня такие, как С, предоставляют программисту возможность предложить компилятору хранить те или иные данные в регистрах.

• Регистры управления и регистры состояния. Используются в процессоре для контроля над выполняемыми операциями; с их помощью привилегированные программы операционной системы могут контролировать ход вы­полнения других программ.

Для разделения регистров на эти две категории не существует определенно­го признака. Например, на некоторых машинах оператор имеет возможность следить за состоянием программного счетчика, а на других — нет. Однако такое разделение удобно при дальнейшем рассмотрении.