Принципы Фон Неймана:
Согласно первому принципу ЭВМ состоит из ряда устройств, взаимодействующих друг с другом в процессе решения задачи. Рассмотрим кратко основные устройства и их функции (рис. 2.1).
Арифметико–логическое устройство (АЛУ) предназначено для выполнения предусмотренных в ЭВМ арифметических и логических операций. Участвующие в операциях данные выбираются из ОЗУ, результаты операций отсылаются в ОЗУ. Для ускорения выборки операндов (данных, участвующих в операциях) АЛУ может снабжаться собственной местной памятью (сверхоперативным запоминающим устройством – СОЗУ) на небольшое число данных (в сравнении с ОЗУ), но обладающей быстродействием, превышающим быстродействие ОЗУ. При этом результаты операций, если они участвуют в последующих операциях, могут не отсылаться в ОЗУ, а храниться в СОЗУ. Оперативная память вместе с СОЗУ представляет собой единый массив памяти, непосредственно доступный процессору для записи и чтения данных, а также считывания программного кода. К настоящему времени для оптимизации работы созданы процессоры с несколькими уровнями (от одного до трех) кэширования ОЗУ (несколькими СОЗУ).
Устройство управления (УУ) – координирует работу процессора, посылая в определенной временной последовательности управляющие сигналы в устройства ЭВМ, обеспечивая их соответствующее функционирование и взаимодействие друг с другом.
Оперативная память (ОЗУ) – реализуется, как правило, на модулях (микросхемах) динамической памяти. ОЗУ служит для хранения программы, исходных данных задачи, промежуточных и конечных результатов решения задачи.
Память ЭВМ к настоящему времени приобрела довольно сложную структуру и "расползлась" по многим компонентам. Кроме оперативной, память включает также и постоянную (ПЗУ), из которой можно только считывать команды и данные, и некоторые виды специальной памяти (например видеопамять графического адаптера). Вся эта память вместе с оперативной располагается в едином пространстве с линейной адресацией. В любом компьютере обязательно есть постоянная память, в которой хранится программа начального запуска компьютера и минимальный необходимый набор сервисов (например: ROM BIOS).
Все узлы ЭВМ не входящие в ядро называются периферийными. Они обеспечивают расширение возможностей ЭВМ, облегчают пользование ими. В состав периферийных (внешних) устройств могут входить следующие узлы.
Внешняя память (устройства хранения данных, например, дисковые) – память, имеющая относительно невысокое быстродействие, но по сравнению с ОЗУ существенно более высокую емкость. Внешняя память предназначена для записи данных с целью последующего считывания (возможно, и на другом компьютере). От рассмотренной выше памяти, называемой также внутренней, устройства хранения отличаются тем, что процессор не имеет непосредственного доступа к данным по линейному адресу. Доступ к данным на устройствах хранения выполняется с помощью специальных программ, обращающихся к контроллерам этих устройств. В силу того что быстродействие внешней памяти значительно ниже быстродействия АЛУ, последнее в процессе работы взаимодействует лишь с ОЗУ, получая из него команды и данные, отсылая в эту память результаты операций. Часто при решении сложных задач емкость ОЗУ оказывается недостаточной. В этих случаях в процессе решения задач данные определенными порциями могут пересылаться из внешней памяти в ОЗУ, откуда они затем выбираются для обработки в АЛУ.
Устройства ввода/вывода (УВВ) служат для преобразования информации из внутреннего представления в компьютере (биты и байты) в форму, доступную окружающим, и обратно. Под окружающими понимаем как людей, так и другие машины (например технологическое оборудование, которым управляет компьютер). К устройствам ввода относятся клавиатура, мышь, джойстик, микрофон, сканер, видеокамера, различные датчики; к устройствам вывода – дисплей, принтер, плоттер, акустические системы (наушники), исполнительные механизмы. Список устройств ввода/вывода безграничен – благодаря фантазии и техническому прогрессу в него входят все новые и новые устройства; так, например, шлем виртуальной реальности из области фантастики вышел в производственно–коммерческую. Устройства хранения к УВВ относить некорректно, поскольку здесь преобразования информации ради доступности внешнему миру не происходит. Устройства хранения вместе с УВВ можно объединить общим понятием периферийные устройства. Существует еще большой класс коммуникационных устройств, предназначенных для передачи информации между компьютерами и (или) их частями. Эти устройства обеспечивают, например, соединение компьютеров в локальные сети или подключение терминала (это УВВ) к компьютеру через пару модемов. Периферийные и коммуникационные устройства снабжаются контроллерами или адаптерами, которые доступны процессору.
БВЦ реализует следующие функции:
По существу блок вычислителя цифрового – это электронная вычислительная машина, автоматически выполняющая интерпретацию программы (алгоритма) в виде физических процессов, назначением которых является реализация арифметических и логических операций над информацией, представленной в цифровой форме.
Для того чтобы любая ЭВМ, в том числе и БВЦ, могла автоматически решать задачи, она должна обеспечивать выполнение следующих функций:
Для выполнения перечисленных функций в состав БВЦ входят: устройство ввода, запоминающее устройство (память), процессор, устройства вывода (являются периферийными по отношению к БВЦ и, по существу, не входят непосредственно в состав БВЦ).
Структура БВЦ изображена на рис.2.2.
Устройство ввода (ПБВД–5) обеспечивает фотоэлектрическое считывание информации с восьмидорожечной перфоленты и представление считанной информации в двоичной форме в виде электрических сигналов, воспринимаемых оперативной памятью.
Запоминающее устройство (платы ОЗУ и ПЗУ) служит для хранения информации, необходимой для производства вычислений. В памяти размещаются программы, задающие порядок вычислений, и данные, представляющие исходные значения, промежуточные и конечные результаты вычислений.
Процессор – это центральное устройство БВЦ. Процессор "воспринимает" программу и на ее основе управляет работой всех устройств БВЦ, инициируя выполнение действий в памяти и устройствах ввода–вывода. Функцией процессора является выборка команд из памяти и их выполнение.
Периферийными устройствами вывода (цифропечатающее устройство ПЦПУ–6, устройство вывода перфоленточное ПУВЛ–1) обеспечивается вывод информации из памяти для ее последующего использования (печать цифр и символов, пробивка отверстий на ленте).
Работа БВЦ протекает следующим образом. Программа и исходные данные, представленные на носителе информации (перфоленте), считываются устройством ввода ПБВД–5 и загружаются в память, в адреса, указанные на перфоленте. Выполнение программы сводится к последовательной выборке команд из памяти и их выполнению средствами процессора и устройств ввода–вывода.
Программа проверки изделия или самопроверки системы ТАКТ51 определяет объем и последовательность операций, выполняемых ТАКТ51. БВЦ вводит программу проверки с перфоленты в оперативную память и в соответствии с программой выдает команды на управляющие и измерительные блоки системы, принимает и обрабатывает информацию с измерительных блоков, а результаты проверки выводит на печать на ЦПУ и/или перфорацию на УВЛ.
Команда представляет собой цифровой код, преобразующийся в БВЦ в управляющие сигналы. Для БВЦ определен 13–разрядный двоичный формат команды, показанный на рис.2.3:
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
Код команды |
Адресная часть |
КР |
Рис.2.3. Структура команды БВЦ ТАКТ51.
Команда состоит:
Для представления чисел в ЭВМ используются две формы: естественная (с фиксированной запятой) и нормальная с (плавающей запятой).
Естественная (с фиксированной запятой) (FIXED – POINT REPRESENTATION) форма представления чисел предполагает, что положение запятой, отделяющей целую часть от дробной, фиксировано в разрядной сетке машины. Для представления знака выделяется специальный разряд – знаковый. Обычно это крайний левый разряд. Для положительных чисел в знаковом разряде записывается 0, а для отрицательных 1.
Количество двоичных разрядов и положение запятой в разрядной сетке машины определяют такие важные характеристики ЭВМ, как точность и диапазон представляемых чисел. Так, например, для n–разрядной сетки точность (дискретность) равна 2–n, а диапазон 0£|N|£2-1-1. Рассмотрим это более подробно.
Обычно в ЭВМ используются два способа расположения фиксированной запятой: перед старшим разрядом или после младшего разряда. В первом случае ЭВМ работает только с числами, меньшими единицы (рис.2.4а), во втором – с целыми (рис.2.4б).
0 |
1 |
2 |
. . . |
n–1 |
n |
2–1 |
2–2 |
. . . |
2–(n–1) |
2–n |
|
Знак |
Мантисса |
а) запятая перед старшим разрядом
0 |
1 |
2 |
. . . |
n–1 |
n |
2n |
2n–1 |
. . . |
21 |
20 |
|
Знак |
Мантисса |
б) запятая после младшего разряда
Длину разрядной сетки с фиксированной запятой в современных универсальных ЭВМ принято выбирать кратной байту (8 бит или 8 двоичных разрядов). В персональных ЭВМ используется разрядная сетка длиной 8, 16, 32 или 64 разряда. Для специализированных вычислителей возможны другая кратность и длина разрядной сетки.
Одним из важных преимуществ данной формы представления числа является возможность построения сравнительно несложных операционных устройств ЭВМ с высоким быстродействием, а недостатком – малый диапазон представления числа.
Нормальная (с плавающей запятой) (FLOATION – POINT REPRESENTATION) форма представления чисел позволяет значительно увеличить диапазон представления чисел (рис.2.5).
0 |
1 |
2 |
. . . |
n–1 |
n |
||||
2m |
... |
20 |
2m |
2m–1 |
. . . |
21 |
20 |
||
Знак |
Порядок |
Знак |
Мантисса |
Рис.2.5. Разрядная сетка с плавающей запятой.
Представление числа в форме с плавающей запятой в общем виде определяется выражением N=±M*2±p, где М – мантисса числа, р – порядок, 2р характеристика числа. Знак числа совпадает со знаком мантиссы. Говорят, что число представлено в нормальной форме. Однако такое представление приводит к неоднозначности, поэтому мантисса М обычно представляется правильной дробью в нормализованном виде (первая цифра справа от запятой в числе должна быть отличной от нуля). Таким образом, значение нормализованной мантиссы должно удовлетворять неравенству 2–1£|М|<1. Для кодирования отрицательных чисел в ЭВМ применяют прямой, обратный и дополнительный коды. Обратный код числа получают инвертированием всех разрядов, а дополнительный код получают инвертированием всех разрядов и дальнейшим суммированием единицы с младшим разрядом.
Иногда для кодирования отрицательных чисел в ЭВМ применяют модифицированные прямой, обратный и дополнительный коды. В модифицированных кодах для кодирования числа отводят два разряда, причем знак плюс кодируется сочетанием 00, а знак минус – 11. Два разряда под знак позволяют контролировать переполнение разрядной сетки отведенной под мантиссу числа при выполнении арифметических операций. В остальном модифицированные коды аналогичны обычным.
Числа в специализированном вычислителе БВЦ ТАКТ51 представлены в немодифицированном дополнительном коде с фиксированной запятой рис.2.6.
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Знак |
Мантисса |
Рис.2.6. Форма представления числа в БВЦ ТАКТ51.
Нулевой разряд отведен для записи знака числа, причем плюс соответствует 0, а минус 1. Запятая считается фиксированной после знакового разряда.
Дробная двоичная мантисса представляется 11–ю разрядами, причем старший разряд первый. Отрицательные числа хранятся в памяти и участвуют в операциях в дополнительном коде. Применение этого кода позволяет свести операцию вычитания к операции сложения, а операции умножения и деления к сериям сложений и сдвигов. В результате для выполнения всех арифметических операций оказывается возможным использовать одно суммирующее устройство, в котором знаковые разряды складываются так же, как и разряды значащих частей чисел, в результате чего знак суммы получается автоматически.
Принципы выполнения арифметических операций в различных процессорах сходны, но отличаются лишь конкретным исполнением. Порядок выполнения ряда арифметических операций рассмотрим на примере работы специализированного вычислителя БВЦ ТАКТ51.
Сложение.
При выполнении операции сложения по команде СЛ число из запоминающего устройства считывается в регистр числа РЧ и посылается на один вход сумматора. На другой вход сумматора передается число из регистра сумматора РС. Сложение двух чисел в двоичной системе, как и в десятичной, начинается с младшего разряда по правилам, которые даются таблицей двоичного сложения:
Суммирование во всех остальных разрядах выполняется по тем же правилам. Отличие состоит в том, что для получения цифры очередного разряда надо складывать не только цифры данного разряда слагаемых чисел, но и единицу переноса, если она образовалась при сложении в соседнем младшем разряде. Знаки чисел складываются по общему правилу.
Так как в цифровом вычислителе ТАКТ51 используется немодифицированный дополнительный код, то возможное переполнение, с одной стороны, исключается путем тщательного предварительного анализа решаемых задач, с другой стороны, используется триггер дополнительный ТД для получения суммы в модифицированном дополнительном коде. Перенос из нулевого разряда сумматора инвертирует содержимое триггера дополнительного ТД, что позволяет программным способом определить переполнение.
Из последующего описания будет ясно, как широко используются операции сдвига вправо (влево) при умножении и делении.
Ввиду особой важности операции сдвига рассмотрим ее подробно.
В цифровых машинах используются три разновидности сдвига, отличающиеся друг от друга следующими правилами:
В БВЦ используются все три разновидности сдвигов.
При циклическом сдвиге участвуют два регистра:
Причем при выполнении циклического сдвига вправо содержимое регистра ТД передается в нулевой разряд регистра РС, содержимое нулевого разряда РС передается в первый разряд, содержимое первого разряда – во второй и т.д. Содержимое 11 разряда РС передается в ТД.
При циклическом сдвиге влево содержимое ТД передается во 11–й разряд РС, 11–й разряд РС – в 10–й и т.д. Содержимое нулевого разряда РС передается в ТД.
Причем при арифметическом сдвиге вправо (перед началом операции) триггеру дополнительному ТД присваивается значение нулевого разряда регистра РС и далее содержимое ТД не изменяется и передается в нулевой разряд РС, нулевой разряд РС – в первый и т.д. Содержимое 11 разряда РС передается в 0 – разряд РД, 0 – разряд РД – в первый и т.д. Содержимое 11–го разряда РД выходит за пределы регистра и теряется.
Если количество сдвигов задано, то учет выполненного количества сдвигов ведется счетчиком сдвига.
Нормализация.
Операция нормализации – это сдвиг влево до тех пор, пока не выполнится условие окончания нормализации.
Число называется нормализованным, если выполняются следующие условия:
Количество сдвигов, которое требуется для того чтобы нормализовать 24–х–разрядное число, фиксируется в счетчике сдвигов.
Умножение в вычислительной машине может быть реализовано путем выполнения некоторого циклического процесса, который сводится к последовательности операций прибавления множимого к сумме уже ранее вычисленных частных произведений и сдвига получаемых сумм.
В БВЦ реализован метод умножения младшими разрядами множителя вперед со сдвигом частных произведений и множителя вправо на один разряд.
В каждом цикле множимое либо передается в сумматор, если младший разряд регистра множителя равен 1, либо не передается, если он равен 0, после чего содержимое сумматора и регистра множителя сдвигается вправо на один разряд. После окончания n–го цикла (где n – количество разрядов множителя) в сумматоре образуется произведение. Реализация умножения указанным методом требует сдвига вправо в регистре множителя и в сумматоре и дополнения сумматора n разрядами для заполнения их младшими разрядами произведения.
Вычисление произведения с полным количеством разрядов может быть выполнено без добавления к сумматору n разрядов. Для этого можно, связав младший разряд сумматора со старшим разрядом регистра множителя, объединить их в общий сдвиговый регистр (рис.2.9). Освобождающиеся при сдвиге старшие разряды регистра множителя заполняются младшими разрядами произведения. После окончания умножения сумматор заполняется старшими разрядами произведения, а весь регистр множителя – младшими его разрядами.
Рассмотрим примеры умножения с поразрядным анализом младшего разряда множителя, представленного в дополнительном коде.
Если множимое А>0 и множитель В>0, представленные n–разрядными прямыми кодами [A]пр и [Впр], то положительное произведение [С] получается в прямом коде просто как [С]пр.=[А]пр´[B]пр
Прямой код множимого [А]пр умножается на каждую цифру прямого кода [В]пр. Если младший разряд множителя равен 1, то частное произведение, равное множимому, прибавляется к накопленной сумме частных произведений. Полученная новая сумма и множитель сдвигаются на разряд вправо и освобождающие при сдвиге старшие разряды регистра множителя заполняются младшими разрядами произведения. Если младший разряд множителя равен 0, то и очередное частное произведение равно 0. При этом этап суммирования пропускается, а происходит только сдвиг на разряд вправо множителя и суммы частных произведений, накопленной к данному шагу умножения.
Пример 1. Множимое А=7/8 и множитель В=5/8 заданы 4х–разрядными двоичными кодами соответственно [А]пр=0.111 и [В]пр=0.101. Требуется найти их произведение А´ В = 7/8´5/8 = 35/64 (табл.2.1).
Таблица 2.1.
Выполняемое действие |
Множимое |
Множитель |
Исходное состояние |
0.111 |
0.101 |
Исходная сумма частных произведений |
0.000 + 0.111 |
0.101 |
1–я сумма частных произведений |
0.111 |
0.101 |
Сдвинутая 1–я сумма |
0.011 |
1.010 |
Сдвинутая 2–я сумма |
0.001 + 0.111 |
1.101 |
3–я сумма частных произведений |
1.000 |
1.101 |
Сдвинутая 3–я сумма |
0.100 |
0.110 |
Окончательное произведение [АВ]пр. = 0.1000112 = 35/6410. |
|
[C]доп.=[А]пр´[В]доп+[–А]доп.
Пример 2. Множимое А = 7/8 и множитель В = –5/8 заданы 4х–разрядными двоичными кодами: [А]пр=0.111 и [В]доп=1.011. Требуется найти их произведение А ´ В = 7/8 ´ (–5/8) = –35/64. (табл.2.2).
Таблица 2.2.
Выполняемое действие |
Множимое |
Множитель |
Исходная сумма частных произведений |
0.111 0.000 + 0.111 |
0.011 |
1–я сумма частных произведений |
0.111 |
1.011 |
Сдвинутая 1–я сумма |
0.011 + 0.111 |
1.101 |
2–я сумма частных произведений |
1.010 |
1.101 |
Сдвинутая 2–я сумма |
0.101 |
0.110 |
Сдвинутая 3–я сумма
Коррекция |
0.010 + 1.001 |
1.011 |
1.011 |
1.011 |
|
Окончательное произведение
[ АВ]доп. = 1.0111012 = 35/6410.[ АВ]пр. = –0.1000112 = –35/6410. |
Коп |
А1 |
А2 |
А3 |
Коп |
А1 |
А2 |
Коп |
А1 |
Таблица 2.3.
Диапазон адресов |
Порядковый номер страницы |
00008–01778 |
нулевая страница |
02008–03778 |
первая страница |
04008–05778 |
вторая страница |
06008–07778 |
третья страница |
Рассмотрим каждый класс команд отдельно.
1. Адресные (адресуемые) команды.
В адресных (адресуемых) командах кроме КОДа указывается адрес ЯП ЗУ, к которой необходимо обратиться за очередным адресом, операндом или для записи результата выполнения действия. Адресных команд шесть.
Это команды:
Логическое умножение.
Структура команды И.
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
0 |
0 |
0 |
|||||||||
код |
адресное слово |
Код команды 000 показывает, что это команда "Логическое умножение", которая определяет операцию конъюнкций РС:=РС& П[А]. Регистру сумматора присваивается значение регистра сумматора, поразрядно логически умноженное на содержимое ЯП по адресу "А" согласно правилу логического умножения. Разряд знака умножается на общих основаниях. После выполнения операции содержимое ЯП с адресом "А" не изменяется.
Сложение.
Структура команды СЛ.
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
0 |
0 |
1 |
|||||||||
код |
адресное слово |
Код команды 0012 показывает, что это адресная команда "Сложение", которая определяет операцию: РС:=РС+П[А]. В РС после выполнения данной команды будет занесено значение бывшего в РС операнда, суммированное со значением операнда, взятым из памяти по адресу "А" (адресу слова).
Конец цикла.
Структура команды КЦ.
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
0 |
1 |
0 |
|||||||||
код |
адресное слово |
Код команды 0102 показывает, что это команда "конец цикла", которая определяет операцию П[А]:=П[А]+1. По этой команде производится алгебраическое сложение содержимого ЯП с адресом "А" с единицей. Результат снова заносится в ЯП с адресом "А" и анализируется. Если содержимое ЯП не равно нулю, то выполняется очередная команда, обеспечивающая возврат к началу цикла. Адрес этой команды формируется в счетчике команд в результате операции СК:=СК+1. Как только в ЯП появится ноль, содержимое СК увеличится на два СК:=СК+2, и следующая команда (команда зацикливания "БП") пропускается. Таким образом, прекращается выполнение цикла и идет продолжение программы.
Запись.
Структура команды ЗРС.
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
0 |
1 |
1 |
|||||||||
код |
адресное слово |
Код команды 0112 показывает, что это команда "Запись", которая определяет операции П[А]:=РС; РС:=0. В ЯП по адресу "А" записывается содержимое РС, после чего РС обнуляется. Предыдущее значение ЯП стирается.
Безусловная передача управления с возвратом.
Структура команды БПВ.
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
1 |
0 |
0 |
|||||||||
код |
адресное слово |
Код команды 1002 показывает, что эта команда "Безусловная передача управления возвратом", которая определяет операции: П[А]:=СК+1; СК:=П[А+1]. В ЯП по адресу "А" записывается содержимое СК, увеличенное на единицу (сформированный адрес возврата на продолжение программы). Управление передается команде, адрес которой находится в ЯП "А+1". В конце подпрограммы выполняется команда БП на ЯП с адресом "А".
Безусловная передача управления.
Структура команды БП.
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
1 |
0 |
1 |
|||||||||
код |
адресное слово |
Код команды 1012 показывает, что эта команда "Безусловная передача управления", которая определяет операцию СК:=П[А]. Управление передается команде, адрес которой находится в ЯП с адресом "А", для чего содержимое ЯП записывается в СК. Таким образом, обеспечивается безусловный переход на другие участки программы.
2. Команды обмена с внешними устройствами.
Команды обмена с внешними устройствами имеют КОД 68. С помощью команд обмена осуществляется обмен информацией между ВЧУ и периферийными блоками (устройствами) по интерфейсному каналу и прием информации от блока ввода данных БВД. К этой же группе команд относятся команды управления режимом обмена и обработки прерывания интерфейса, а также команды управления дополнительной памятью.
3. Безадресные команды.
Безадресные команды имеют КОД 78 (1112). Команды этого типа не требуют обращения к памяти. В них 3...11–й разряды используются под код операции. Все безадресные команды делятся на две основные группы. Первая группа характеризуется наличием 0 в 3–м разряде. Вторая группа безадресных команд характеризуется единицей в 3–м разряде и нулем в 11–м разряде.
3.1. Безадресные команды первой группы.
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
1 |
1 |
1 |
0 |
||||||||
код |
адресное слово |
Команды этой группы служат для кодирования операций обнуления и инвертирования регистра сумматора и дополнительного триггера, циклического сдвига РС в ТД вправо (влево) на один (два) разряда и увеличения на "1" содержимого РС.
3.2. Безадресные команды второй группы.
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
1 |
1 |
1 |
1 |
0 |
|||||||
код |
адресное слово |
Команды этой группы служат для кодирования операций обнуления РС, останова программы и операций, осуществляющих различного рода пропуски следующей команды по условию.
4. Специальные команды.
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
1 |
1 |
1 |
1 |
1 |
|||||||
код |
адресное слово |
Специальные команды имеют код 78 и характеризуются наличием 1 в 8–м и 9–м разрядах. Специальные команды служат для кодирования операций: записи в РС содержимого регистров маски, ошибок, состояния программы и счетчика времени, установки и сброса регистров маски и маски контроля, записи содержимого счетчика команд в память, выдачи требуемой последовательности импульсов, проверки схем контроля. Для кодирования этих операций служат 4, 5, 10 и 11–й разряды. Специальные команды бывают одно– и двухсловные.
4.1. Однословные специальные команды.
Количество однословных специальных команд – восемь. Однословные команды не требуют обращения к памяти (за исключением команды "ЗСК").
4.2. Двухсловные специальные команды.
К двухсловным специальным командам относятся: команды обращения к устройству выдачи последовательностей и команда проверки контроля (идентификатор – ПК). Команда ПК используется для проверки исправности следующих схем контроля: тактового генератора, блока местного управления ОЗУ, на четность СК, РА, РЧ, РК и др. Проверка осуществляется путем имитации неисправности отдельно в каждом из контролируемых устройств. Если проверяемая схема контроля исправна, то возникает прерывание по аппаратному контролю. Если схема контроля неисправна, то управление передается следующей команде. Команда ПК занимает две расположенные друг за другом ячейки памяти. В первой ячейке записывается сама команда, во второй – слово, где в соответствующих разрядах указывается проверяемая схема контроля.
5. Арифметические команды.
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
1 |
1 |
1 |
1 |
1 |
|||||||
код |
адресное слово |
Арифметические команды имеют код 78 и характеризуются наличием "1" в 3–м и 11–м разрядах. Команды этого типа имеют идентификатор "АК" и делятся на две группы. К первой группе относятся однословные команды, не требующие обращения к памяти. Арифметические команды второй группы являются двухсловными и требуют обращения к памяти.
5.1. Однословные арифметические команды.
Разряды 4, 5, 6, 7 и 10 в командном слове используются для кодирования операций обмена между регистрами РС, РД (регистр дополнительный) и СС (счетчик сдвигов). Однословные арифметические команды микропрограммируются для выполнения непротиворечивых логических операций.
5.2. Двухсловные арифметические команды.
Команды инвертирования, умножения и деления, сдвиги влево и вправо. Команды этого типа занимают две расположенные друг за другом ячейки памяти. В первой ячейке записывается собственно команда, во второй – операнд или адрес ячейки, в которой находится операнд. В арифметическом регистре команд (РКА) устройства управления записываются 6, 8, 9 и 10–й разряды командного слова, которые определяют код арифметической операции. Тип информации (операнд или адрес операнда), расположенной во втором слове арифметической команды, определяется специальным триггером модификации ТМ.