Файл: Журавлев, Ю. П. Системное проектирование управляющих ЦВМ.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 16.10.2024
Просмотров: 118
Скачиваний: 0
Кодов операций и т. д., однако получаемый при otoni эффект в экономии памяти для программ теряет свою привлекательность из-за значительного усложнения схем декодирования.
Можно предположить существование таких алгорит мов управления объектами сложной системы, для кото рых целесообразно применять все виды дополнительных списков команд с их полным многообразием форматов команд.
По-видимому, существуют и такие алгоритмы, для которых применять те или иные принципиально возмож ные форматы команд в управляющих ЦВМ либо неэф фективно, либо вообще бессмысленно. Поэтому в про цессе выбора и обоснования внутреннего языка управ ляющей ЦВМ для конкретной системы управления воз никает целый ряд вопросов: как выбрать основной спи сок команд, как выбрать первый, второй и третий допол нительные списки команд, какие системы форматов команд наиболее предпочтительны, какими критериями пользоваться на каждом этапе и т. д. Очевидно, все эти вопросы должны решаться на основе тщательного коли чественного анализа заданных алгоритмов управления.
§ 2.3. ВАРИАНТЫ ФОРМАТОВ КОМ АНД
Основное содержание формата команды составляют код операции, коды адресов и различные признаки, с по мощью которых кодируется программная информация. Оптимизация способов кодирования программной ин формации с целью экономии памяти, необходимой для размещения программ, и повышения производительности машины, заключающаяся в усовершенствовании форма та команды с учетом статистических характеристик реа лизуемых программ, является одним из перспективных путей повышения эффективности ЦВМ. Известны ЦВМ с форматами команд переменной длины. У одних машин команда занимает либо полностью ячейку памяти, либо ее часть [19], у других — одну, две и более ячеек памяти, обращение к которым осуществляется последовательно [20]. В первом случае недостаточно эффективно исполь зуется регистр команд, во втором — увеличивается вре мя выборки команды. Ниже рассматриваются варианты использования различных форматов команд одинаковой
73
Длины, каждый из которых обеспечивает' размещение команды в одной ячейке памяти.
Командам основного списка ставится в соответствие основной формат, а командам дополнительного списка — один или несколько дополнительных форматов команд.
Количество двоичных разрядов RK, необходимых для размещения команды основного формата, зависит от выбранной адресности, емкости оперативной памяти, количества команд основного списка и состава дополни тельных предписаний:
Rk= ^коп_Ь^^а"Ь ^доы> |
|
|
|
где А — адресность |
команды основного |
формата, R a — |
|
разрядность адреса, |
RKon— разрядность |
кода |
операции, |
Л^доп — количество разрядов, необходимое для |
кодирова |
||
ния различных дополнительных предписаний. |
|
В командах дополнительного формата также можно выделить адресную часть, обобщенные, усеченные или относительные коды операций и дополнительные пред писания, причем разрядность этих частей может сущест венно отличаться от разрядностей аналогичных частей команд основного формата, несмотря на то, что общая разрядность команд различных форматов совпадает. Это объясняется различным количеством признаков, относя щихся к адресам, и различным количеством разрядов, необходимых для кодирования операций.
Дополнительные форматы следует различать по спо собу кодирования цепочки операций и по длине послед ней.
Например, в разрядную сетку команды основного формата можно поместить несколько одно-, двухили трехадресных команд с усеченными или относительными кодами операций и относительными адресами (рис. 2.1).
В зависимости от результатов исследования частот ных спектров цепочек операций и относительных адресов может оказаться целесообразным использование не скольких дополнительных форматов команд с обобщен-
КОП Ъ |
КОП |
ь |
коп |
д КОП |
ъ |
коп |
9 |
К |
% |
КОП |
КОП |
к |
КОП | $ |
** |
коп |
$ |
*5 |
К |
|
Т* |
|
|
|
|
|
|
|
|
|
КОП |
*г |
*1 |
КОП |
*г |
% |
КОП |
5 |
5 |
|
|
Рис. 2.1. |
|
|
|
|
Рис. 2.2. |
|
74
Рис. 2.3. |
коп |
8; |
$ |
а |
|
Z |
|||||
|
|
|
|
|
<р |
ными кодами |
операций, |
но с различным |
количеством |
||
относительных |
адресов |
(рис. 2.2). |
|
|
|
Наибольший эффект относительная адресация дает, когда структура операционного устройства ЦВМ позво ляет сохранять результат предыдущей операции. В этом случае дополнительные форматы с усеченными, относи тельными и обобщенными кодами операций позволяют увеличить потенциальную экономию памяти для про грамм.
В тех случаях, когда разрядность адресной части команд дополнительного формата позволяет разместить один полноразрядный адрес и несколько относительных, целесообразно использовать дополнительные форматы команд, обеспечивающие подготовку и передачу управ ления.
Например, возможны обобщенные команды с относи тельными (6ь 6 2 ) и полными адресами (аф), обеспечи вающие работу суммирующих и вычитающих про граммных счетчиков с цепочками:
— сложение, |
сравнение, передача управления, |
|
— вычитание, |
сравнение, |
передача управления |
(рис. 2.3). |
другие варианты комбинации относи |
|
Возможны и |
тельных и полноразрядных адресов в адресной части команд дополнительного формата.
Если в исследуемых алгоритмах окажется большой процент операций сдвига кодов, то для включения этой операции в команды дополнительного формата необхо димо определить частотный спектр сдвигов на количест во разрядов, требующее для своего выражения 2, 3, 4 ...
и т. д. разрядов, и оценить возможность кодирования величины, направления, а в некоторых случаях и типа сдвига (арифметический или логический) в пределах количества двоичных разрядов, отводимых для кодиро вания относительных адресов.
Например, некоторая обобщенная команда с четырех разрядными относительными адресами и кодом, соответ ствующим цепочке «сложение — вычитание — сдвиг — сравнение»
КОП+ 7—3—5 + 1,
может означать совокупность таких предписаний:
75
а) содержимое сумматора операционного устройства ('2) сложить с содержимым ячейки памяти, адрес кото рой равен алгебраической сумме числа, записанного в регистре базового адреса (ФБА), и первого относи тельного адреса
'2 + '(Ф Б А + 7);
б) выполнить вычитание
{'2 + '(Ф БА + 7)]—'(Ф БА —3);
в) полученный результат сдвинуть влево на 5 разря дов (исключая знаковый)
{['2 + ' (ФБА + 7) ]—' (ФБА—3)} • 25;
г) вновь полученный результат сравнить с числом, находящимся в ячейке памяти с адресом
ФБА +1.
Вданном случае величина — 5, записанная на месте относительного адреса, представляет собой указание ве личины и направления арифметического сдвига.
Втех случаях, когда в состав цепочек целесообразно включать операции и арифметического, и логического сдвига, необходимо предусмотреть один двоичный раз ряд для различия последних.
Вприведенном выше примере для всех относитель ных адресов при формировании исполнительных адресов использовался один и тот же базовый адрес.
Как уже указывалось, очень часто оказывается пред почтительнее воспользоваться другим правилом форми рования исполнительных адресов, а именно: каждый предыдущий исполнительный адрес является базовым для последующего.
Команда предыдущего примера в этом случае выпол нялась бы следующим образом:
1.'2 + '(Ф БА + 7),
2.['2 + ' (ФБА + 7)]—■'{(ФБА + 7) —3],
3.{['2 + ' (ФБА + 7) ]—Т (РБ А + 7) —3]}• 25.
4.Сравнение полученного результата с числом, нахо дящимся в ячейке памяти с адресом
ФБА + 7—3 + 1 —ФБА + 5.
Таким образом, возникает необходимость включения признака способа формирования исполнительных адре-
76
Основной, форнаш команды
Дополнитель - ные
форматы
Рис, 2.4.
сов в код обобщенной команды. -Если формирование исполнительных адресов осуществляется путем модифи цирования фактических адресов в устройстве управле ния, то каждому относительному адресу должен прида ваться признак Лг модифицирования.
В общем случае в коде команды могут содержаться следующие признаки:
—признак формата команды (основной, первый до полнительный, второй дополнительный и т. д.),
—признак способа формирования исполнительных адресов,
—признаки модифицирования адресов,
—контрольные признаки.
Один из возможных вариантов наборов различных форматов команд приведен на рис. 2.4.
Окончательно разрядность команд может быть опре делена лишь после того, как определятся все необходи мые форматы команд и состав соответствующих при знаков.
§ 2.4. ХАРАКТЕРИСТИКИ ЗАД АЧ
Использование методов относительной адресаций в рамках форматов команд основного списка позволяет,
как об этом уже упоминалось, расширить логические и
вычислительные способности машины, сэкономить па мять, предназначенную для размещения программ, и уменьшить время реализации алгоритмов.
Богатые потенциальные возможности относительной адресации особо могут проявиться в управляющих ЦВМ с мультипрограммным управлением, имеющих несколько параллельно работающих процессоров. В управляющей ЦВМ с одним процессором команда какого-нибудь до полнительного списка представляет собой определенным образом закодированную цепочку операций, входящих
всостав основного списка.
Впринципе, нет никаких ограничений, накладываемых на операции основного списка по вхождению последних
всостав тех или иных цепочек, т. е. в состав различных команд дополнительного списка.
Длина цепочки определяется количеством относитель ных адресов, размещаемых в адресной части кода команды. В зависимости от характера алгоритмов, реа лизуемых управляющей ЦВМ, может оказаться целесо образным использование в дополнительных списках команд цепочек длиной в две, три, четыре, ..., 1тах по следовательных операций основного списка. Здесь 4пах максимально возможна длина цепочки, которую
можно разместить в коде команды дополнительного списка.
Техническая реализация в проектируемой ЦВМ всех различных цепочек зачастую нецелесообразна, а иногда практически невозможна. Например, нецелесообразно применять на практике цепочку нескольких последова тельных операций безусловной передачи управления, бессмысленно включать в цепочку несколько последова тельных операций останова машины и т. д. Кроме того, вероятность существования хотя бы одной цепочки про извольного вида (за исключением явно бессмысленных), не имеющей места в конкретной программе при уже
относительно небольших |
значениях |
I, |
приближается |
|
к единице. Поэтому в дополнительный |
|
список команд |
||
следует |
включать только |
лишь наиболее «ходовые», |
||
т. е. наиболее часто встречающиеся в |
конкретных про |
|||
граммах, |
цепочки. При этом необходимо |
учитывать: |
характер алгоритма, предназначенного для реали зации с помощью проектируемой управляющей ЦВМ,
неравномерность частотного спектра операций основного списка (для заданного алгоритма),
7Ц
— нёравномерносФь частотного спектра Цейочёк |
раз |
|||
личных типов и разной длины, |
длины |
цепочки |
||
— существование верхней |
границы |
|||
(в рамках формата команд основного списка). |
|
ча |
||
Действительно, характер |
алгоритма |
определяет |
||
стотный спектр операций, входящих в |
состав |
команд |
||
основного списка. |
|
|
|
|
Неравномерность частотного спектра операций основ ного списка наглядно проявляется при анализе различ ных задач. Так, например, при исследовании на ЦВМ М-20 частотных спектров операций для четырех различ ных задач:
А — нестационарная двумерная задача газовой ди намики; четыре уравнения в частных производных; ло кальная разностная схема; число точек по пространст ву — около 400;
Б — одномерная нестационарная задача газовой ди намики; метод характеристик с «размазыванием» волн;
число |
уравнений — три; число |
точек |
по пространству — |
||||||||
около |
100; |
|
|
нестационарная |
газодинамическая |
||||||
В — одномерная |
|||||||||||
задача с учетом |
энерговыделения и теплопроводимости; |
||||||||||
|
|
|
|
|
|
|
|
|
|
Т а б л и ц а 2.1 |
|
№№ |
Название группы |
|
|
Задача |
|
Олцее по |
|||||
|
|
|
|
|
|||||||
пп. |
|
операций гКОГ1) |
|
А |
Б |
в |
г |
задачам |
|||
|
|
|
|
|
|
|
А, Б, В, Г |
||||
1 |
Сложение, |
вычитание: |
26,41 |
15,74 |
22,52 |
19,51 |
21,04 |
||||
|
01, |
21, |
41, |
61, |
02, |
22, |
|||||
|
42, |
62, |
03, |
23, |
43, |
63 |
|
|
|
|
|
2 |
Умножение: |
65 |
|
|
15,16 |
15,95 |
24,72 |
22,88 |
21,08 |
||
|
05, |
25, |
45, |
|
|
||||||
3 |
Деление: 04, |
24 |
|
|
2,25 |
2,39 |
1,70 |
1,74 |
2,00 |
||
4 |
Извлечение корня: 44, 64 |
0,18 |
0,15 |
0,50 |
— |
0,23 |
|||||
5 |
Логические: |
|
75, |
13, |
11.75 |
20,95 |
16,55 |
19,66 |
17,66 |
||
|
15, |
35, |
55, |
||||||||
|
33, |
53, |
73 |
|
|
|
12,90 |
0,34 |
0,01 |
2,29 |
2,60 |
6 |
Суммирование: 07, 27 |
||||||||||
. 7 |
Пересылки: 00 |
|
|
6,23 |
2,19 |
1,61 |
8,14 |
4,83 |
|||
8 |
Управление: 16, 36, 56, |
21,57 |
32,86 |
24,93 |
25,58 |
25,60 |
|||||
|
76, |
11, |
12, |
31, |
32, |
|
|
|
|
|
|
9 |
51, |
71 |
в РА :52:72 |
1,99 |
5,29 |
5,06 |
0,11 |
2,80 |
|||
Занесение |
|||||||||||
10 |
Изменение порядков: |
|
0,13 |
3,15 |
2,33 |
0,01 |
1,30 |
||||
|
06, |
26, |
46, |
66 |
|
|
|
|
|
|
|
79