Материал: ЛР4

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

6

Рисунок 2 - Структура процессора (а) и фрагмент ОЗУ (б)

АЛУ базовой учебной ЭВМ может совершать операции над двумя операндами, один операнд находится в аккумуляторе АКК, а второй извлекается командой из памяти. Результат выполнения операции остается в АКК и RG. Запуск АЛУ производится сигналом Au, который инициирует выполнение операции, наименование которой задано кодом. В АЛУ формируются осведомительные сигналы ZNAK и NUL, определяющие признак результата; сигнал АL - если устройство работает. OЗУ в соответствии с сигналами R и W выполняет чтение или запись слова по определенному адресу и вырабатывает сигнал ОР, говорящий о том, что ОЗУ занято. ОЗУ содержит 94 ячейки памяти, причем ячейки с 1 по 70 хранят команды, с 71 по

94 - данные.

УУ состоит из управляющего автомата (УА), регистра команд (RGK),

дешифратора (DC) и счетчика адресов команд (CТAK). Функция CТAK -

образовывать слово, представляющее адрес следующей команды. Обычно

CТAK имеет инкрементное устройство, которое добавляет 1 к текущему адресу. RGK сохраняет слово команды, согласно которой процессор в данный момент действует. DC расшифровывает код операции команды и вырабатывает осведомительные сигналы групп операций (x). УА в зависимости от x формирует или нет последовательность управляющих сигналов y.

7

Регистр команд функционально входит в состав устройства управления, а регистр данных - это практически один из регистров АЛУ. АЛУ служит для выполнения арифметических и логических преобразований информации. В нем производятся операции сложения, вычитания, умножения и деления.

Схема регистрового АЛУ анализирует состояние системных сигналов у5, у4, у1, АУ, вырабатываемых управляющим автоматом УА при организации взаимодействия РАЛУ с оперативной памятью (ОЗУ).

Шина данных (шD) связывает порты ввода-вывода РАЛУ и ОЗУ.

Передачу данных (двусторонний обмен) по ней обеспечивают сигналы у5, у4,

у1. Порт ввода-вывода РАЛУ - RG и позволяет читать или загружать данные на шD с помощью приемопередатчика, управляемого инверсным сигналом у5.

При у5 = 1 - вывод данных (загрузка шD); иначе - ввод (чтение шD).

Дешифрация кода операции (КОП) - приводит к выполнению одного из четырех основных арифметических действий.

Оперативное запоминающее устройство служит для хранения информации, полученной при вводе исходной программы, данных, а также полученной при арифметических вычислениях и необходимой для дальнейшей работы процессора.

Центральный процессор должен иметь возможность обращаться к каждой отдельной ячейке памяти, для чего в СТАК записывается адрес требуемой программной памяти, а в RGK(A) - адрес данных.

Интерфейс ОЗУ состоит из следующих цепей: шины адреса А; шины записи слова; шины чтения слова; шины управления: R,W.

В ОЗУ выделяются: регистр адреса (RA); регистр слова (RS) и шинный формирователь F образуют порт ввода-вывода, управляемый инверсными y4,

у1 и у6; R и W- управляющие входы; OP - осведомительный выход.

Период выполнения этих операций отмечается осведомительным сигналом «ОР», который принимает значение 1 в момент начала обращения к памяти и значение 0 - в момент окончания операции «запись» (W) или

8

«чтение» (R). При этом процесс генерации УА приостановлен.

Функция программного счетчика в том, чтобы образовать слово,

представляющее в памяти адрес следующей команды. Обычно СТАК имеет специальное инкрементное устройство, назначение которого - добавлять единицу к текущему адресу и таким образом получать следующий адрес. По этому адресу в памяти содержится следующая команда программы.

Устройство управления непрерывно организует циклическую последовательность действий: поочередное извлечение команд из памяти и их выполнение. Команда в БУ ЭВМ реализуется обычно за несколько тактов, в

каждом из которых выполняется одна или несколько микроопераций.

Рисунок 3 - Схема алгоритма работы базовой учебной ЭВМ Цикл выполнения команды начинается с выборки ее из ОЗУ и передачи

врегистр команд. После чтения команды к СТАК добавляется единица, чтобы подготовить выборку из ОЗУ очередной команды в следующем цикле. Затем

врегистре адреса формируется исполнительный адрес операнда, операнд выбирается из ОЗУ, поступает в регистр слова, и производится его обработка

9

совместно с содержимым аккумулятора АЛУ.

Выполнение команды можно разбить на такты:

1)передача из СТАК в регистр адреса;

2)чтение из ОЗУ в регистр команд: KOP.PZ.A;

3)добавление единицы в СТАК;

4)передача из регистра команд в регистр адреса (поле А);

5)чтение из ОЗУ в регистр слова;

6)обработка содержимого регистра слова и АКК, конец операции и возврат к первому такту.

Группы операций в системе команд. Команда предписывает операцию и указывает операнды, участвующие в операции. Операция задается кодом.

Рисунок 4 – Формат команды БУ ЭВМ Множество операций, поддерживаемых БУ ЭВМ разделяется на

следующие группы:

1.основные;

2.посылочные;

3.управления.

Основные операции используются для преобразования информации,

выполняют сложение, вычитание, умножение, деление содержимого итогового регистра АЛУ и R АЛУ. Если АО имеют признак PZ = 1, то есть

01.1.А, 02.1.А, 03.1.А, 04.1.А, то происходит запись с итогового регистра АЛУ в память по адресу, указанному в поле адреса. Если же признак 0, то результат арифметической операции остается на итоговом регистре АЛУ (PZ=0).

Именно эта группа операций проверяет условия переходов, указанные в командах управления.

Посылочные операции - код (05.PZ.А) выполняют обмен между памятью системы (RS) и АЛУ (RG). Направление обмена определено признаком засылки (PZ). Для PZ = 1 (код 05.1.А) передача типа ОЗУ[A]: =

10

RG, происходит запись содержимого регистра RG в ОЗУ по адресу А. При PZ = 0 (код 05.0.А) - обмен RG: = ОЗУ[A]. Помимо этого, команды данной группы реализуют пересылку данных в аккумулятор из устройства ввода и из аккумулятора в устройство вывода, код (11.PZ.А).

Операции управления изменяют содержание программного счетчика,

являющегося адресом следующей команды. Операции управления могут быть условными и безусловными. Если команда условная, то она сопровождается указанием состояния, которое должно быть предварительно проверено,

например, положительное значение результата операции и др. Такие операции вызывают переход к новому адресу и делают возможным непрерывное выполнение запрограммированных функций.

БП - безусловный переход (код 06.PZ.А) выполняет переход к адресу ОЗУ, указанному непосредственно в команде, независимо от значения признака PZ (СТАК: =A).

ЗН - переход по знаку результата (код 07.PZ.А). Выполняет условный переход к адресу программной памяти (СТАК: =А) по знаку результата в зависимости от кода PZ и значения признака ZNAK, формируемого при обращении к АЛУ. Если код PZ совпадает со значением признака ZNAK: 0 -

для положительного, 1 - для отрицательного значения итогового регистра АЛУ, то выполняется переход к команде с адресом А.

НУ - переход по нулевому признаку (код 08.PZ.А). Выполняет условный переход к адресу ОЗУ (СТАК: = А), если результат итогового регистра АЛУ совпадает со значением признака PZ (0 - когда на итоговом регистре ненулевой результат, 1 – нулевой), то осуществляется переход к команде с адресом А (СТАК: =А), иначе - СТАК: =СТАК+1.

HALT - останов, код 10000 - конец программы.

СТОП - указание оператора машины.