![]()
![]()
Основные узлы: o ALU (Arithmetical-Logical Unit) o Register File o CU (Control Unit) o BUI (Bus Interface Unit) o Cache o FPU (Floating-Point Unit) o MMU (Multi-media Unit) Пример: AMD K6
![]()
ALU совершает арифмитечески-логические операции. это главный центр вычислений процессора. Register File - файл регистров - многопортовая статическая память с быстрым доступом, служит для хранения результатов вычислений. CU - управляющий модуль - выбирает из памяти и декодирует команду, управляет всеми другими узлами (выдает управляющие сигналы) BIU - модуль взаимодействия с шиной - управляет внешней шиной, позволяет общаться процессору с внешним миром. Еще внутри процессора находятся несколько шин по которым передаются данные между узлами процессора. На рисунке пути передачи данных в процессоре:
![]()
Выборка комманды
![]()
Команда выбирается в CU (стрелка Prefetch) через Result Bus из внешней шины (External Bus) через BIU (стрелка Load).
![]()
Вычисления
![]()
Вычисления выполняются в ALU. Операнды берутся из Register File один напрямую (стрелка без надписи), другой через Source Bus (стрелки OP1). Результат записывается обратно в Register File через Result Bus (стрелки Result).
![]()
Загрузка из памяти
![]()
Регистры загружаются из памяти (External Bus) через BIU (стрелка Load) затем Result Bus в Register File.
![]()
Выгрузка в память
![]()
Регистры записываются в память из Register File через Source Bus (стрелка OP1) в BIU (стрелка Store) и из него на External Bus.
Условный переход
![]()
Безусловный переход
![]()
Все вместе
![]()
![]()
В последующих секциях мы рассмотрим каждый из блоков процессора более детально. Мы будем называть Source Bus - Bus A, стрелочку от Register File к ALU - Bus B, а Result Bus - Bus C