1.3.1 Архитектура процессора

Рисунок 1‑14. Архитектура процессора
Процессор или CPU (Central Processing Unit) является центральным компонентом компьютера, который считывает из памяти и исполняет команды, обрабатывая при этом данные и управляя работой всего компьютера. С остальными устройствами компьютера процессор процессор связан шинами. Основных шин три: шина данных, адресная шина и командная шина. Для работы процессора необходимы регистры данных, управляющие регистры, операционный (обрабатывающий) блок, управляющий блок и система команд, которую процессор распознаёт и исполняет.
Работу процессора синхронизирует внешний генератор тактов. В соответствии с этими сигналами происходит считывание и исполнение команд. Частота процессора определяет быстродействие процессора. Однако, это не единственный параметр для оценки производительности процессора. В первых в 8-битных процессорах тактовая частота была ~4 MHz. В современных процессорах она измеряется гигабайтами.
Описание различных частей процессора:
- Управляющий блок (Control Unit) декодирует команды в микрооперации и даёт другим частям процессора соответствующие указания для исполнения команды и отвечает затем за передачу результатов в память. При этом он использует специальные регистры: счётчик команд (Program Counter) и регистр команд (Instruction Register).
- Операцмонный блок (Processing Unit) содержит арифметико-логическое устройство (ALU - Arithmetic Logic Unit), которое способно выполнять вычислительные действия с указанными данными или выполнять логические операции. Он может комбинировать эти действия и выполнять такие сложные операции как умножение с плавающей точкой в соответствующем устройстве (FPU - Floating Point Unit), которые невозможно выполнить в арифметико-логическом устройстве. Операционный блок использует специальные регистры: регистр состояния (Status Register) и аккумуляторный регистр (Accumulator Register).
- Регистры являются внутренней памятью процессора и подразделяются следующим образом:
- Регистры общего пользования, которые предназначены для запоминания данных и/или операндов при испонении команд.
- Специальные регистры, на которые возлогается выполнение специальных функций при работе процессора. Специальными являются следующие регистры:
o Аккумулятор (A - Accumulator Register) запоминает промежуточные результаты вычислений
o Счётчик команд (PC - Program Counter) содержит адрес следующей команды. Он увеличивается автоматически с каждым новым циклом. Подпрограммы и прерывания изменяют этот порядок, записывая в счётчик команд новое значение
o Регистр команд (IR - Instruction Register) содержит считанную из памяти команду
o Регистр состояния (SR - Status Register) содержит настоящее состояние, отражающее ход исполнения команды
o Указатель стека (SP - Stack Pointer) содержит адрес следующей свободной ячейки стековой памяти
Стековую память используют для запоминания состояний регистров. Например, это нужно при обработке прерывания, когда надо запомнить содержимое регистров до прерывания, чтобы восстановить их содержание для продолжения работы после обработки прерывания. Стек организован по принципу «последним зашёл, первым вышел» (LIFO - Last In First Out).