Командный цикл процессора

Функциональная организация ЭВМ

Термин "функциональная организация ЭВМ" часто используют в качестве синонима (в некотором смысле) более широкого термина— "архитектура ЭВМ", который, в свою очередь, трактуется разными авторами несколько в различных смыслах. Наиболее близким к трактовке автора может служить определение термина "архитектура ЭВМ", данное в [8]. Приведем это опре­деление.

Архитектура ЭВМ— это абстрактное представление ЭВМ, которое отражает ее структурную, схемотехническую и логическую организацию. Понятие ар­хитектуры ЭВМ является комплексным и включает в себя:

□ структурную схему ЭВМ;

□ средства и способы доступа к элементам структурной схемы;

□ организацию и разрядность интерфейсов ЭВМ;

□ набор и доступность регистров;

□ организацию и способы адресации памяти;

□ способы представления и форматы данных ЭВМ;

□ набор машинных команд ЭВМ;

□ форматы машинных команд;

□ обработку нештатных ситуаций (прерываний).

В рамках данной книги мы, в основном, будем рассматривать перечисленные выше вопросы.

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

В составе любого процессора имеется специальная ячейка, которая хранит адрес выполняемой команды — счетчик команд или программный счетчик. После выполнения очередной команды его значение увеличивается на едини­цу (если код одной команды занимает несколько ячеек памяти, то содержи­мое счетчика команд увеличивается на длину команды). Таким образом осуществляется выполнение последовательности команд. Существуют спе­циальные команды (передачи управления), которые в процессе своего выпол­нения модифицируют содержимое программного счетчика, обеспечивая пе­реходы по программе. Сама выполняемая команда помещается в регистр ко­манд — специальную ячейку процессора.

Во время выполнения командного цикла процессор реализует следующую последовательность действий:

1. Извлечение из памяти содержимого ячейки, адрес которой хранится в программном счетчике, и размещение этого кода в регистре команд (чтение команды).

2. Увеличение содержимого программного счетчика на единицу.

3. Формирование адреса операндов.

4. Извлечение операндов из памяти.

5. Выполнение заданной в команде операции.

6. Размещение результата операции в памяти.

7. Переход к п. 1.

Пункты 1, 2 и 7 обязательно выполняются в каждом командном цикле, ос­тальные могут не выполняться в некоторых командах. Если длина кода команды составляет несколько машинных слов, то пп. 1 и 2 повторяются.

Фактически вся работа процессора заключается в циклическом выполнении пунктов 1—7 командного цикла. При запуске машины в счетчик команд ап-паратно помещается фиксированное значение — начальный адрес программы (часто 0 или последний адрес памяти; встречаются и более экзотические спо­собы загрузки начального адреса). В дальнейшем содержимое программного счетчика модифицируется в командном цикле. Прекращение выполнения командных циклов может произойти только при выполнении специальной команды "СТОП".