ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.12.2023
Просмотров: 471
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
144
Возможности вычислительной машины по обработке информа- ции во многом определяются её системой команд, т.е. тем какие ко- манды "умеет" выполнять данная БЦВМ. Состав системы команд со- временных БЦВМ от 64 до 256 различных команд. Таким образом, двоичный номер команды (код операции) должен содержать от 6 до 8 разрядов. Если емкость памяти Е=64 К слов, то для кодирования ад- реса требуется
2
int(log
)
n
Е
=
=16 разрядов. Поэтому даже для двух- адресной команды требуется от 38 до 40 разрядов. Чтобы уменьшить занимаемое одной командой количество разрядов памяти в структуре процессора БЦВМ для хранения одного из операндов используется специальный регистр. В БЦВМ типа "Орбита" это регистр накопи- тель (РН), а в БЦВМ типа A-15 - регистр сумматора первый (PrC1).
Формат команды в этом случае состоит из КОП и адреса второго опе- ранда:
Дальнейшее уменьшение числа разрядов команды возможно, ес- ли в операндной части команды приведен не весь адрес, а только его часть. Полный адрес в этом случае формируется по правилам, опре- деляемым специальным двоичным кодом, называемым признаком ад- ресации (ПА).
В таблицах 4.1,4.2 приведены форматы команд изучаемых
БЦВМ.
Таблица 4.1- Формат команд БЦВМ A-15A
0-я триа- да
1-я
2-я
3- я
4-я
5-я
6-я
Нумерация разрядов ко- манды
А Б В
0 1
2 3 4 5 6 7 8 9 10 11 12 13 14 15
Функцио- нальное на- значение
Признак адреса- ции (ПА)
Код операции
(КОП)
Адресная часть (смещение)
145
Таблица 2- Формат команд БЦВМ Орбита 10(20)
0-я
1-я триада
2-я
3-я
4-я
5-я
Нумерация разрядов ко- манды
15 14 12 13 11 10 9 8 7 6 5 4 3 2
1 0
Функцио- нальное на- значение
ПМ
Код операции (КОП)
Адресная часть
Обозначение ПМ, используемое в формате команд БЦВМ Орби- та-10, означает "признак модификации" и характеризует способ фор- мирования адреса. О способах формирования адреса подробно будет рассмотрено в следующей главе.
Формат команд БЦВМ Ц-100 соответствует формату трехадрес- ных команд и в общем случае содержит три поля, каждое из которых состоит из одного или нескольких байтов: поле кода операции; поле, содержащее описание данных и указание о размещении результата; поле меток.
Поле кода операции состоит из одного байта, в котором записы- вается номер операции (команды). Один байт кода операции позволя- ет закодировать 256 команд, хотя все коды пока не использованы.
В БЦВМ с целью уменьшения аппаратурных затрат на реализа- цию АЛУ применяются машинные двоичные коды для представления чисел. Обычно положительные числа представляются в виде пра- вильных дробей в прямом коде, а отрицательные – в дополнительном.
Формат чисел показан в таблице 4.3.
Таблица 4.3- Формат чисел
0-я
1-я триада
2-й
3-я
4-я
5-я
Нумерация раз- рядов числа
0 1
2 3
4 5 6 7 6 9 10 11 12 13 14 15
Назначение
Знак
Мантисса числа
Наименьшее число, представимое в разрядной сетке:
0,00...01= 2
-15
. В разрядной сетке могут быть представлены числа в диапазоне от - (1 – 2
-15
) до –2
-15
и от +2
-15
до + (1 – 2
-15
). Числа меньше
146 2
-15
не могут быть изображены в разрядной сетке и принимаются рав- ными нулю (число выходит за разрядную сетку вправо). Все числа большие 1-2
-15 также не могут быть представлены в принятой разряд- ной сетке. Такое число выходит из сетки влево (переполнение раз- рядной сетки), и его старшие разряды (разряды слева от запятой) те- ряются. Поскольку в этом случае результат вычислений оказывается неверным, поэтому при переполнении происходит автоматическая ос- тановка машины либо формируется сигнал прерывания программы.
Для исключения переполнения разрядной сетки при программи- ровании задачи данные, участвующие в вычислениях, берутся с соот- ветствующими масштабными коэффициентами.
При научно-технических расчетах масштабирование оказывает- ся более простым, если все числа по модулю должны быть меньше 1, т.е. запятая фиксирована перед старшим разрядом числа, а масштаб- ные коэффициенты представляются в виде 2
i
Использование представления чисел с фиксированной запятой позволяет упростить схемы машины, повысить ее быстродействие, но создает трудности при программировании.
В изучаемых БЦВМ реализовано представление чисел с фикси- рованной запятой.
4.4 Особенности программирования в кодах команд БВМ
Бортовые цифровые вычислительные машины и системы явля- ются управляющими и предназначены для реализации соответствую- щих алгоритмов управления системой "летательный аппарат - борто- вое оборудование - оружие" в реальном или форсированном масшта- бе времени. Решение задачи в реальном масштабе времени означает получение результата вычислений до существенного изменения ис- ходных данных. В еще более ускоренном, опережающем темпе, но с соблюдением требований по точности в так называемом форсирован- ном масштабе времени, решаются задачи экстраполяции: прогнозиро- вание фазовых координат цели, собственного ЛА, развития процесса функционирования различных бортовых систем и подсистем.
Реализация алгоритмов в реальном, а тем более в форсирован- ном масштабе времени, предъявляет высокие требования к быстро- действию вычислительных систем, экономичности численных мето- дов решения и внедрению специальной пакетно-приоритетной систе-
147 мы организации вычислительного процесса.
В связи с изложенным, разработка программного обеспечения
БВМ принципиально отличается от технологии создания программ для ЭВМ общего назначения, реализуемых не в реальном масштабе времени и обычно на языке высокого уровня.
Процесс подготовки задач для решения на БВМ можно разде- лить на следующие основные этапы: формализация поставленной задачи (математическая формули- ровка задачи); выбор численных методов решения; масштабирование и составление машинных соотношений; составление структурной схемы алгоритма решения задачи; распределение памяти; составление программы в условных и истинных адресах; отладка программы и ее эксплуатация.
Математическая формулировка задачи представляет собой взаимосвязь реальных физических величин, исходных данных и ре- зультатов вычислений. В процессе разработки формульных зависимо- стей ставится вопрос о замкнутости (определенности) получаемых систем уравнений, решается, какая информационная поддержка по- требуется для разработанного алгоритма, формируется структура управляющей системы.
Выбор численных методов решения задачи для бортовых управ- ляющих ЦВМ предполагает замену громоздких классических выра- жений (интегралов, дифференциальных уравнений и т.д.) экономич- ными по операциям, точными и быстродействующими формулами.
При этом необходимо упрощать до разумного предела, соблю- дая требования точности, математическое описание задачи.
БВМ оперирует с информацией, представляемой, главным обра- зом, правильными дробями с ограниченной разрядной сеткой. В этом случае все физические величины решаемой задачи представляются в
БВМ в некоторых масштабах. Масштаб представляет собой следую- щее соотношение:
1 ... 6 7 8 9 10 11 12 13 ... 21
x
x
m
x
=
, где x - физическое значение переменной; x представление перемен- ной в БВМ.
На основании масштабных соотношений физические выражения
148 преобразуются в машинные. Рассмотрим процесс масштабирования для БВМ с фиксированной запятой на примере решения задачи изме- рения дальности до цели частотным методом. В простейшем случае формула вычислений имеет вид:
2
P
c F
D
a
⋅
=
⋅
,
(4.1) где с - скорость распространения радиоволн; а - скорость измене- ния частоты;
p
изл
прм
F
f
f
=
−
- разностная частота (разность частот из- лученного и принятого сигналов).
Так как максимальное значение машинных величин не может превышать единицы, то масштабы переменных, входящих в выраже- ние (4.1), можно определить следующими соотношениями: max
1
f
m
f
=
, max
1
a
m
a
=
(4.2)
Масштаб постоянных величин, используемых в выражении (4.1), оп- ределяется следующим образом:
1 1
K
m
K
мл р
=
−
, (4.3) где К - значение константы; 1мл.р- единица младшего разряда (зна- чащая цифра, определяющая точность измерения или записи констан- ты).
Максимальные значения физических переменных известны из тактико-технических характеристик РЛС. Следовательно, масштабы имеют конкретные числовые значения.
Подставляя в соотношение (4.2) физические переменные, выра- женные через масштабы, и машинные переменные в соответствии с выражением (4.1) получим:
1 2
2
K
f
изл
прм
K
a
m
m c f
f
D
m
m
a
⋅
⋅
−
=
⋅
⋅
, или
2
изл
прм
D
c f
f
D
K
a
⋅
−
=
⋅
. (4.4)
Выражение представляет собой машинное соотношение задачи измерения дальности частотным способом, в соответствии с которым составляется программа. Все переменные в этих выражениях не пре- вышают единицы. Коэффициент
D
K является масштабным.
149
Выполнение арифметических операций должно производиться в такой последовательности, чтобы на каждом этапе вычислений не возникало переполнения. Коэффициент
D
K можно, корректируя масштабы, изменить так, чтобы его значение было равно 2
m
±
. Далее вычисляется выражение
2
изл
прм
c f
f
D
a
⋅
−
=
⋅
, которое с помощью операции арифметического сдвига на m разрядов умножается на коэффициент 2
m
±
. В этом случае отпадает необходи- мость хранения коэффициента
D
K в памяти.
При составлении программ для БВМ с фиксированной запятой необходимо учесть следующие особенности выполнения арифмети- ческих команд.
1. Перед сложением либо вычитанием операндов их масштабы должны быть уравнены.
2. Для выполнения деления необходимо, чтобы делимое по аб- солютной величине было меньше делителя: показатель степени мас- штаба частного равен разности показателей степеней масштабов де- лимого и делителя.
3. Результат выполнения операции умножения имеет масштаб, равный произведению масштабов множимого и множителя.
После подготовки задачи для решения на ЭВМ анализируется логика решения этой задачи и в результате этого анализа составляется структурная схема алгоритма.
Алгоритм - это определенная последовательность действий, ма- тематических операций над исходными данными, выполнение кото- рых приводит к получению результата. Алгоритмы можно описывать: словесно, используя математические соотношения; при помощи схем в операторной форме; на алгоритмическом языке.
Схема алгоритма представляет собой выполненное в соответст- вии с ГОСТ 19427 графическое изображение операторов и порядка их исполнения.
Еще одной особенностью составления программ для БВМ явля- ется необходимость рационального распределения памяти. В отличие от универсальных ЭВМ, в бортовых ЦВМ коды команд могут нахо- диться лишь в долговременной памяти, поэтому массивы команд, ис-
150 ходных данных, окончательных и промежуточных результатов могут находиться в различных блоках памяти. В БЦВМ типа А-15, кроме того, следует использовать различные виды адресации для формиро- вания исполнительного адреса. Применение различных признаков ад- ресации позволяет существенно уменьшить число используемых в программе команд и время ее выполнения.
При программировании в кодах команд БЦВМ сначала про- граммирование ведут в условных (символических) адресах, так как заранее не известно, сколько ячеек памяти займет программа. Это не- обходимо еще и потому, что при разработке сложных программ части алгоритма могут программироваться на начальном этапе несколькими исполнителями, а затем состыковываться.
Условный адрес представляет собой адрес ячейки массива, от- считанный от некоторого, неизвестного пока, начального адреса, за которым начинается массив, Этот начальный адрес называется базис- ным и обозначается буквой, так как до определенного этапа програм- мирования конкретное значение его неизвестно. Обычно выделяют следующие массивы: массивы команд, массивы исходных данных и констант, массивы промежуточных результатов, массивы оконча- тельных результатов. Каждому массиву присваивают свой базисный адрес. Например, К - базисный адрес команд, С - базисный адрес кон- стант, р - базисный адрес промежуточных результатов, r - базисный адрес окончательных результатов.
Условные адреса представляются в виде суммы базисного адре- са и константы (числа и буквы).
Например, условный адрес К+1 будет адресом первой команды в массиве команд, условный адрес С + 5 – соответствует пятой кон- станте в массиве констант.
Базисным адресам и, соответственно, условным адресам в конце программирования, когда становится известным объем каждого мас- сива, присваиваются численные значения.
При использовании условных адресов память БВМ используется более эффективно, поскольку между массивами отсутствуют ячейки памяти, незадействованные при работе программы. Разумеется, не- обходимо помнить об ограниченном объеме памяти и не превышать его.
Переход к программированию в истинных адресах осуществля- ется после завершения программирования в условных адресах. В пер-
151 вую очередь принимаются конкретные значения для базисных адре- сов.
На этапе отладки проверяется правильность выполнения про- граммой заданного алгоритма и правильность логического и времен- ного взаимодействия частей программы. На этапе эксплуатации про- веряется работоспособность и эксплуатационные характеристики программ в реальных условиях функционирования. Проводятся рабо- ты по внесению в программы необходимых изменений для исправле- ния обнаруженных ошибок, улучшения характеристик и функцио- нальных возможностей, приспособления к изменению состава и взаи- мосвязей оборудования АРЭК, управляемого БЦВМ.
4.5 Общие сведения о системе команд БВМ
Машинный язык или совокупность операторов, выполняемых процессором бортовой ЦВМ, составляет систему команд БЦВМ. Сис- тема команд оказывает существенное влияние на структуру и порядок работы процессора БВМ, а также на технические (производитель- ность) и экономические (стоимость) характеристики БВМ в целом.
Выбор системы команд БЦВМ осуществляется с учетом следующих основных требований: функциональной полноты системы команд; обеспечения максимальной производительности БЦВМ; минимизации требуемого для хранения программ и данных объ- ема памяти БЦВМ.
Требование функциональной полноты системы команд означает возможность создания (написания) с её помощью программ, реали- зующих любой заданный алгоритм управления сопрягаемым борто- вым оборудованием.
Требование обеспечения, максимальной производительности
БЦВМ приводит к тому, что система команд должна быть ориентиро- вана на реализацию операций, соответствующих предметной области.
Требование минимизации объема памяти ЦВМ должно рассмат- риваться аналогично предыдущему.
Особенности состава системы команд (СК) рассмотрим на при- мере СК БЦВМ А-15А. В СК БЦВМ А-15А содержится 71 команда.
Код операции занимает 6 разрядов в формате команды, поэтому всего возможно сформировать 64 различных кода операции. Не все коман-
152 ды требуют указания адреса операнда, поэтому свободные разряды адресной части команды используются для расширения кода опера- ции. В настоящее время задействовано 59 кодов операции, 5 вариан- тов являются резервными.
Все команды разбиты на 12 групп: арифметические операции; логические операции; битовые операции; операции посылок; операции записи; команды управления; операции обмена информацией между регистрами вычислитель- ного устройства; операции ввода-вывода и нормализации; операции вычисления функций; операции установки сигналов; операции над содержимым регистров; специальные команды.
В состав арифметических команд входят обычные команды сложения и вычитания, команды сложения и вычитания двойной дли- ны и с замещением, т.е. с записью результата в ячейку ОЗУ, откуда был взят один из операндов. А также команды умножения и деления тоже двух видов: обычные и с округлением.
Кроме того, есть команды вычитания модулей и команда опре- деления знака содержимого ячейки памяти.
Логические операции обеспечивают выполнение основных опе- раций булевой алгебры: логического умножения, логического сложе- ния и отрицания равнозначности (сложение по модулю 2) над содер- жимым двух многоразрядных слов. Так же как и при выполнении ря- да арифметических операций, существует возможность выполнять все логические операции обычным способом и с замещением.
Битовые операции служат для выполнения действий над отдель- ными разрядами слова, адрес которого указан в адресной части ко- манды. При этом возможна установка разрядов в ноль и единицу, а также логическое умножение и логическое сложение заданного раз- ряда слова со значением признака результата
ω
Операции посылок и операции записи предназначены для по- сылки содержимого заданных ячеек памяти в основные регистры
153 процессора и записи содержимого регистров в память БЦВМ.
Команды управления служат для изменения последовательности выполнения операций и содержат команды условного и безусловного перехода.
Операция обмена и операции вычисления функций имеют один код операции 16 и обеспечивают пересылку информации между ос- новными регистрами процессора и вычисление функций синус, коси- нус и корень квадратный над аргументом, находящимся в регистре сумматора.
Операции ввода-вывода служат для обмена информацией между
БЦВМ и устройством ввода-вывода,
Операции установки сигналов и операции над содержимым ре- гистров предназначены для изменения значения различных признаков и содержимого регистров, обслуживающих режим прерывания.
В состав специальных команд входят: холостая команда (коман- да, не выполняющая каких-либо действий и обеспечивающая задерж- ку вычислений на время выполнения одной команды); команда уве- личения содержимого заданной ячейки памяти на единицу младшего разряда; команда модификации, служащая для изменения следующей за ней команды путем суммирования ее кода с кодом ячейки, адрес которой указан в команде модификации.