- •1.Форматы команд Форматы команд.
- •2.Программы с разветвлениями
- •2.2. Организация разветвлений
- •3.Неявная адресация
- •4.Непосредственная адресация
- •5.Прямая адр
- •6.Базовая адр. 7Адресация по счк
- •8.Косвенная адр
- •10.Макрокоманды
- •11. Машинные циклы
- •12.Операционное устройство.Блок,э лемент.
- •13.Микрооперация,Микрокоманда,микротакт
- •14.Совместимые и несовместимые микрооперации
- •15.Язык операционных схем
- •16.Язык микропрограмм
- •17 Описание функционирования операционного устройства
- •18.Синхронные и ассинхронные об
- •19.Раздельная и общая магистрали
- •2.4. Магистрали
- •20Мультепликсирование шин
- •21 Цвк с переменным форматом
- •22.Командный цикл двухадресного процессора
- •23.Функции оа и уа
- •24 Типы уа
- •25.Законы функционирования автоматов
- •26.Способы перевода автомата из одного состояния в другое
- •27.Принцип разметки состояний автоматов(Мили,Мура)
- •5.1. Отмеченный граф автомата мура
- •5.2. Отмеченный граф автомата мили
1.Форматы команд Форматы команд.
Команда состоит из полей определенной разрядности. Состав полей и их разрядность определяет формат команды. Рассмотрим типовые форматы команд:
а) Четырехадресный формат. (Рис.4)
коп а1 а2 а3 а4
В поле КОП записывается код операции (КОП). Каждая операция в системе команд процессора кодируется двоичным набором цифр. Так как число операций в системе команд ограничено, то и длина поля КОП имеет определенную разрядность. Например, если система команд содержит 16 команд, то для кодирования всех операций достаточно 4 двоичных разряда:
0000 – операция чтения,
0001 – операция сложения,
0010 – операция умножения,
...
1111 – операция остановки.
Восемь двоичных разрядов в поле КОП позволяет закодировать 28 = 256 различных операций.
В поле А1 – записывается адрес первого операнда (номер ячейки ОЗУ, где хранится первое данное).
В поле А2 – адрес второго операнда.
Над этими двумя операндами выполняется операция, записанная в КОП. Результат выполненной операции заносится в ОЗУ по адресу А3.
В поле А4 записывается адрес команды, которая должна выполнятся следующей.
Например, выполняемая команда находится в ОЗУ по адресу 12 (рис.5),
Рис.5
тогда она выполняется следующим образом:
Если КОП=02 – есть операция умножения, то первое данное из ячейки 08 умножится на второе данное из ячейки 05 и результат запишется в ячейку 26.
б) Трехадресный формат.
Назначение полей КОП, А1, А2, А3 такое же как и раньше. Функции поля А4 теперь выполняет счетчик команд (СЧК).
Коп а1 а2 а3 счк
в) Двухадресный формат.
Такой формат помимо поля КОП содержит только два адресных поля А1и А2, где размещены адреса первого и второго операндов. Результат выполненной операции записывается либо по адресу А1, либо по А2.
Коп а1 а2 счк
г) Одноадресный формат
коп а счк ак
СЧК – счетчик команд,
КОП – код операции,
А – адрес второго операнда.
Первый операнд всегда находится в специальном регистре – аккумуляторе (АК). Этот регистр находится в арифметическом устройстве. Таким образом, операция выполняется над содержимым АК (первый операнд) и над операндом, адрес (А) которого указан в команде. Результат выполненной операции вновь записывается в АК.
Например, если в АК находится число 23, а в ячейке 15 ОЗУ число 45, то по команде
СЛ 15
Содержимое АК = 23 сложится с содержимым ячейки 15 = 45 и результат 23 + 45 = 68 запишется в АК. Формально, выполнение этой команды запишется так:
АК := АК + ОЗУ(А).
Для занесения первого операнда в АК в начале вычислений вводится специальная команда «чтение».
RD A
По этой команде АК := ОЗУ(А).
Для сохранения промежуточного результата в памяти вычислителя и последующего его использования вводится команда «запись».
WR A.
По этой команде ОЗУ(А) := АК.
д) Безадресный формат.
Такой формат используется, если операция выполняется только над одним операндом, расположенном в АК. Например:
INC AK := AK + 1 – операция прибавления 1 к содержимому АК,
DEC AK := AK - 1 – операция вычитания 1 от содержимого АК,
NO AK := AK – операция отрицания,
SQR АК := (АК) ² - операция возведения в квадрат.
Формат этой команды и вспомогательные блоки представлены на рис.9.
Коп счк ак
