Устройство центрального процессора. Регистровая память. Виды регистров. Цикл выполнения команды. RISC. CISC. Декодирование команды.

Центральный процессор — это мозг компьютера. Его задача — выполнять программы, находящиеся в основной памяти. Для этого он вызывает команды из памяти, определяет их тип, а затем выполняет одну за другой.

Процессор состоит из нескольких частей:

Блок управления отвечает за вызов команд из памяти и определение их типа.

Арифметико-логическое устройство выполняет арифметические операции (например, сложение) и логические операции (например, логическое И).

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

Регистровая память - вид компьютерной оперативной памяти, модули которой содержат регистр между микросхемами памяти и системным контроллером памяти.

Виды регистров:

  1. Регистры памяти. Оперативная память компьютера конструируется в виде набора регистров памяти, которые служат только для хранения информации. Один регистр образует одну ячейку памяти, которая имеет свой адрес. Если в регистр входит n триггеров, то можно запомнить n бит информации.
  2. Счетчик команд – регистр устройства управления (УУ) процессора, хранит адрес выполняемой в данный момент команды, по которому она находится в оперативной памяти.
  3. Регистр команд – регистр УУ, служит для вычисления адреса ячейки, где хранятся данные, требуемые выполняемой в данный момент программе.
  4. Регистр флагов – регистр УУ, хранит информацию о последней команде, выполненной процессором.

Внутреннее устройство тракта данных типичного фон-неймановского процессора иллюстрирует рис. Тракт данных состоит из регистров (обычно от 1 до 32), арифметико-логического устройства (АЛУ) и нескольких соединительных шин. Содержимое регистров поступает во входные регистры АЛУ, которые на рис обозначены буквами A и B. В них находятся входные данные АЛУ, пока АЛУ производит вычисления. АЛУ выполняет сложение, вычитание и другие простые операции над входными данными и помещает результат в выходной регистр. Содержимое этого выходного регистра может записываться обратно в один из регистров или сохраняться в памяти, если это необходимо. Большинство команд можно разделить на две группы: команды типа регистр-память и типа регистр-регистр. Команды первого типа вызывают слова из памяти, помещают их в регистры, где они используются в качестве входных данных АЛУ. Другие команды этого типа помещают регистры обратно в память. Команды второго типа вызывают два операнда из регистров, помещают их во входные регистры АЛУ, выполняют над ними какую-нибудь арифметическую или логическую операцию и переносят результат обратно в один из регистров. Этот процесс называется циклом тракта данных.

Центральный процессор выполняет каждую команду за несколько шагов:

  1. Вызывает следующую команду из памяти и переносит ее в регистр команд.
  2. Меняет положение счетчика команд, который после этого указывает на следующую команду.
  3. Определяет тип вызванной команды.
  4. Если команда использует слово из памяти, определяет, где находится это слово.
  5. Переносит слово, если это необходимо, в регистр центрального процессора.
  6. Выполняет команду.
  7. Переходит к шагу 1, чтобы начать выполнение следующей команды.

Последовательность шагов (выборка — декодирование — исполнение)
является основой работы всех компьютеров.

RISC, CISC.

В 1980 году группа разработчиков в университете Беркли начала разработку не ориентированных на интерпретацию процессоров VLSI. Для обозначения этого понятия они придумали термин RISC, а новый процессор назвали RISC I, вслед за которым вскоре был выпущен RISC II.

В то время, когда разрабатывались эти простые процессоры, всеобщее внимание привлекало относительно небольшое количество команд (обычно около 50). Для сравнения: число команд в компьютерах VAX производства DEC и больших компьютерах производства IBM в то время составляло от 200 до 300.

Компьютер RISC (Reduced Instruction Set Computer — компьютер с сокращенным набором команд) противопоставлялся системе CISC (Complex Instruction Set Computer — компьютер с полным набором команд). В качестве примера машины типа CISC можно привести компьютер VAX, который доминировал в то время в университетской среде.

Декодирование команды

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