Организация вычислений в БЭВМ. Сдвиги, арифметические и логические операции. Цикл выборки команды

В БЭВМ данные представляются 16-разрядными двоичными числами.  

  • Беззнаковые числа используются для представления чисел:
  • Знаковые числа представляются в дополнительном коде в промежутке , что позволяет выполнять операции сложения и вычитания с помощью одного и того же сумматора АЛУ.

Основные арифметические операции выполняются арифметико-логическим устройством (АЛУ). 

ADD — выполняет сложение содержимого аккумулятора и операнда. 

INC / DEC — увеличивает / уменьшает содержимое аккумулятора на единицу

SUB — выполняет вычитание операнда из содержимого аккумулятора (сложение аккумулятора с доп. кодом операнда)

NEG — изменяет знак (доп. код: инвертирует все биты числа и прибавляет 1)

AND — выполняет побитовую логическую операцию «И» над содержимым аккумулятора и операнда.

OR — выполняет побитовую логическую операцию «ИЛИ» над содержимым аккумулятора и операнда ( NOT( NOT(A) AND NOT(B)) )

NOT — выполняет побитовую инверсию содержимого аккумулятора.

ROL и ROR  — выполняют циклический сдвиг содержимого аккумулятора и регистра переноса (Carry), которые рассматриваются как единое кольцо. 

ASL и ASR — выполняют арифметические сдвиги влево и вправо соответственно.

Арифметические сдвиги позволяют реализовать умножение и деление на степени двойки.

Цикл выборки команды

Перед выполнением команды процессор должен считать её из памяти и определить её тип. В БЭВМ цикл выборки команды описывается следующей последовательностью микрокоманд:

IP → BR, AR
BR + 1 → IP; MEM(AR) → DR
DR → CR
if CR(15) = 1 then GOTO CHKBR @ 09
if CR(14) = 1 then GOTO CHKABS @ 0C
if CR(13) = 1 then GOTO CHKABS @ 0C
if CR(12) = 0 then GOTO ADDRLESS @ 78
GOTO IO @ C2

На первом этапе содержимое счетчика команд IP передается в буферный регистр BR и регистр адреса AR. Затем счетчик команд увеличивается на единицу, а из памяти по адресу, находящемуся в AR, считывается команда и заносится в регистр данных DR. После этого команда переписывается в регистр команд CR. Далее устройство управления анализирует старшие биты команды и определяет её тип, после чего осуществляется переход к соответствующей микропрограмме выполнения команды.