Лекция 3-4. ОПИСАНИЕ ВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ С запоминаемой ПРОГРАММОЙ

 

Теперь, когда рассмотрены отдельные конструктивные элементы и микрооперации приведем описание простейшей ЭШ. Это описание будет состоять из следующих основных частей:

- описание структуры,

- описание форматов данных и команд,

- описание списка команд,

- диаграмма управляющих последовательностей. Структура

 

РC (0 - 7);Управляющий регистр;

G Регистр пуска-останова

Субрегистры: R (OP) == R (0-7); Поле кода операции

R (ADDR)= R (0-23);Поле адреса операнда

Память М(МАК)=(0-64К, 0-23)

Дешифратор К (0 - 9) = F

Выключатели PWN); выключатель питания

START(ON); пуска машины

STOP(ON); останов машины

Описание вывода дешифратора команд

ADD=K(1); сигналы управления последовательностью сложения.

SUB= K(2); сигнал управления последовательностью вычитания

JMP= K(3); сигнал управления последовательностью безусловного перехода

SHR= K(4); сигнал управления последовательностью сдвига вправо ;один бит

JOM=K(5);Сигнал управления последовательностью перехода по нулю

STO=K(6);Сигнал управления последовательностью записи информации ;в ЗУ

LDA=K(7);Сигнал управления последовательностью чтения информации из ЗУ STP=K(8);Сигнал управления последовательностью останова ЭВМ

CIL=K(9);Сигнал управления последовательностью циклического сдвига

FETCH=K(0);Сигнал управления последовательностью выборки команды из памяти

Синхрогенератор P(1-3) ; Трехфазный синхрогенератор

Описываемая ЭВМ содержит следующие основные узлы, представленные на рис.

 

Запоминающее устройство, блок обработки информации и центральный блок управления. Запоминающее устройство, в свою очередь, состоит из накопителя М, адресного регистра памяти МАК и буферного регистра. Блок обработки содержит три регистра : А и В - для хранения операндов, С - для хранения результата операции. В регистре С производится сдвиг информации -арифметический SHR и циклический Сil . Выполнение операций производится при передаче информации из регистров А и B в С, через комбинационные схемы.

В блоке обработки информации имеется флаговый регистр, который содержит один триггер - триггер переноса. Старший разряд регистра С при сдвигах переносится в триггер переноса и фиксируется там. Его значение учитывается при выполнении команд условной передачи управления. Центральный блок управления ЭВМ состоит из управляющего регистра F, дешифратора команд К, синхрогенератора Р и комбинационной схемы КС. Число выходов дешифратора К определяется числом команд ЭВМ. На выходах КС под действием сигналов с дешифратора, К и синхрогенератора Р формируются управляющие сигналы, которые собственно и вызывают перемещение информации в ЭВМ. РегистраG пуска-останова управляет запуском ЭBM. Если G = 0, то машина находится в режиме ожидания, при G= I разрешается выборка и исполнение команд.

Слова в рассматриваемой ЭВМ имеют длину 24 бита. Слово используемое в качестве команды, содержит два поля: восьмибитовое поле кода операции и 16 битовое поле адреса операнда. Поле кода операции указывает содержание операции, а адресное поле определяет место размещения операнда в ЗУ. Команды одноадресные, т.е. в поле адреса указывается адрес одного операнда. Поэтому если в операции участвует два операнда для их извлечения из памяти необходимо две команды. Форматы команд и чисел-данных приведены на рис.1.4.

 

 

 

 

 

 

(а)

 

 

 

(б)

 

Рис.1.4. Форматы команд (а) и данных (б).

При чтении команд из памяти они прежде всего попадают в буферный регистр памяти R. Пояе кода операции ОР направляется в центральный блок управления, а адрес операнда в адресный регистр памяти МАR .

Машина может выполнять девять команд, которые условно обозначаются следующим образом : АDD, SUB, J0М, JМР, SТО,

R, СIL, LDА, SТР. Содержание каждой команды и соответствующий ей код приведены в таблице 7.1., где <M> обозначает адрес памяти, указываемый в поле адреса команды. Этот адрес может являться либо адресом операнда, либо адресом команды при выполнении условной, безусловной передачи управления с помощью команды JOМ и JМР.

Команда АDD производит сложение чисел, размещенных в регистрах А и В и помещает результат в регистр С. Перед выполнением команды операнд извлекается из памяти и помещается в регистр В, первый операнд был предварительно размещен в регистре А. На завершающем этапе выполнения команды из регистра С рзеультат переписывается в регистр А. и может служить первым операндом при выполнении следующей команды. Команда вычитания SUВ выполняется аналогично ADD , только в С записывается разность операндов находившихся в регистрах А и В.

Команда условной передачи, управления J0М позволяет организовать разветвления в вычислительном процессе. Ее выполнение состоит в определении значения триггера переноса, который имеется в блоке обработки информации и связан со старшим разрядом регистра С. В этот триггер информация записывается при выполнении арифметических операций и сдвигах. Если в триггере I, то в счетчик команд РС записывается содержимое адресного поля команды R (ADDR) и тем самым в счетчике команд оказывается адрес команды к которой следует произвести переход. В противном случае производится приращения счетчика команд РС - РС + I и машина переходит к выполнению следующей команды.

 

Таблица 1.1

 

 

1

2

3

4

Сложение

ADD m

01H

C-A+B, A-C, в А первый операнд (помещен ранее), в В второй операнд (из ЗУ по адресу m)

Вычитания

SUB m

02H

C-A-B, A-C, тоже что и для команды ADD

Переход по минису (условная передача управления)

JOM m

05H

Если (C(0)=1),то в PC-R(ADDR), если нет, то к следующей команде

(PC-PC+1)

Переход (безусловная передача управления)

JMP m

03H

PC-R(ADDR)

Сдвиг влево

SHR

04H

Тр.переноса- С(0),С(i)-C(i+i);A-C. Сдвиг содержимого регистра C записывается в триггер переноса Содержимое регистра C записывается в память по адресу m

R-C, M(MAR)-R

Чтение из памяти

LDA m

07H

Операнд в регистр A записывается из памяти

Останов

STP m

08H

ЭВМ переводится в режим ожидания

Циклический сдвиг влево

CIL

09H

Содержимое регистра С циклически сдвигается влево на один разряд. При этом содержимое разряда C(0) записывается в C(23) и одновременно в триггере переноса, остальные разряды сдвигаются по правилу C(i)-C(i+1)

 

 

Команда безусловной передачи управления JМР не производит проверки условия, всегда адресное поле записывается в счетчик команд РС -— R (ADD R.).

Сдвиг влево на один разряд содержимого регистра С производится обычным способом. При его выполнении содержимое триггеров всех разрядов сдвигается влево. Причем старший разряд записывается в триггер переноса, а в триггер младшего разряда записывается 0.

При циклическом сдвиге СIL в отличии от простого арифметического сдвига SНR. содержимое старшего разряда записывается в младший, сдвиг остальных разрядов аналогично предыдущему.

Запись SТО и чтение LDA из памяти в особых комментариях не нуждается.

При выполнении останова SТР машина прекращает выполнять выборку команд и переходит в цикл ожидания, при этом содержимое счетчика команд остается неизменным.