Лекция 3-4. ОПИСАНИЕ ВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ С запоминаемой ПРОГРАММОЙ
Теперь, когда рассмотрены отдельные конструктивные элементы и микрооперации приведем описание простейшей ЭШ. Это описание будет состоять из следующих основных частей:
- описание структуры,
- описание форматов данных и команд,
- описание списка команд,
- диаграмма управляющих последовательностей. Структура
Р
C (0 - 7);Управляющий регистр;G
Регистр пуска-останова
Субрегистры: R (OP) == R (0-7); Поле кода операции
R (ADDR)= R (0-23);Поле адреса операнда
Память М(МАК)=(0-64К, 0-23)
Дешифратор К (0 - 9) = F
Выключатели PW(ОN); выключатель питания
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ТО,
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 записывается в память по адресу mR-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ТР машина прекращает выполнять выборку команд и переходит в цикл ожидания, при этом содержимое счетчика команд остается неизменным.