Состав и структура БЭВМ. Адресные пространства БЭВМ. Система команд БЭВМ, форматы команд. Машинные циклы
Состав и структура БЭВМ
Память (ОЗУ): Состоит из 2048 ячеек. Каждая ячейка вмещает 16-разрядное машинное слово. Память хранит как данные, так и исполняемые команды.
Процессор: Является ядром ЭВМ. Включает в себя три основные группы элементов:
- Регистры:
- AC (Аккумулятор): главный 16-разрядный регистр, в котором осуществляются все вычисления.
- IP (Счетчик команд): 11-разрядный регистр, хранит адрес следующей команды.
- CR (Регистр команд): хранит код текущей выполняемой команды.
- AR и DR (Регистры адреса и данных): используются как буферы для общения процессора с памятью.
- PS (Регистр состояния): хранит флаги результатов АЛУ (N, Z, V, C) и биты управления прерываниями.
- SP (Указатель стека): хранит адрес вершины стека.
- BR (Буферный регистр): используется для временного хранения промежуточных вычислений.
- IR (Клавишный регистр): позволяет передавать данные прямо из консольного окна.
- Вычислительный блок:
- АЛУ: выполняет арифметические и логические операции.
- Коммутатор: располагается на выходе АЛУ, выполняет сдвиги и передачу байтов (старший в младший и т.д.).
- Блок проверки и установки признаков: анализирует результат с коммутатора и аппаратно выставляет флаги N, Z, V, C в регистр PS.
- Устройство управления (УУ): Реализовано как микропрограммное устройство (МПУ) внутри процессора. Оно декодирует машинные команды из регистра CR и потактово рассылает сигналы на открытие/закрытие необходимых вентилей процессора.
Рис. 1: Состав и структура процессора БЭВМ-NG
Адресное пространство
Адресное пространство БЭВМ определяется разрядностью регистра адреса (AR). Так как AR имеет размер 11 бит, процессор может адресовать ячеек памяти (адреса от 0x000 до 0x7FF).
Ячейки с адресами от 0x000 до 0x00F обычно зарезервированы системой под вектора прерываний внешних устройств.
Система и форматы команд
Все команды БЭВМ занимают ровно одно 16-битное слово. Старшие 4 бита (12–15) всегда отводятся под Код Операции (КОП). Система команд делится на четыре группы:
-
Адресные команды Содержат КОП, бит режима адресации (11-й бит) и 11-битный адрес операнда (либо смещение или даже прямую загрузку). Примеры:
ADD,LD,ST. -
Безадресные команды КОП всегда равен
0000. Сама операция зашифрована в оставшихся младших битах. Работают только с регистрами, без обращения к памяти. Примеры:CLA,HLT. -
Команды ветвления КОП всегда равен
1111. Проверяют состояние флагов в регистре PS. Если условие выполняется, к счетчику команд IP прибавляется 8-битное смещение (может быть отрицательным). Примеры:BEQ,BMI. -
Команды ввода-вывода КОП всегда равен
0001. Используются для обмена данными с контроллерами ВУ.
Машинные циклы
Исполнение любой машинной команды разбивается на строгую последовательность этапов — машинных циклов:
- Цикл выборки команды (IF) из памяти по адресу IP считывается код команды и помещается в регистр CR. IP увеличивается на 1.
- Цикл выборки адреса (AF) выполняется только для адресных команд. Высчитывает адрес операнда.
- Цикл выборки операнда (OF) само значение операнда считывается из памяти в регистр DR.
- Цикл исполнения (EX) АЛУ производит нужную операцию и сохраняет результат.
- Цикл прерывания (INT) процессор проверяет, не поступил ли сигнал от ВУ. Если сигнал есть и прерывания разрешены, управление передается обработчику.