Файл: Журавлев, Ю. П. Системное проектирование управляющих ЦВМ.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.10.2024

Просмотров: 115

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ЦВМ — теории математической статистики и элементов математического моделирования; при расчете разрядной сетки, емкостей памяти и быстродействиям ЦВМ — тео­ рии вероятности, массового обслуживания и др.

Разработке и исследованию относительно простых методов обоснования и расчета основных характеристик ЦВМ, позволяющих быстро получить полезные резуль­ таты для практики проектирования, уделяется основное внимание в настоящей работе. Что касается вопросов макро- и микросинтеза, то они в достаточной степени освещены в литературе (см., например, [1, 2, 10] и др.).

§1.7. ЗАМЕЧАНИЕ

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

Если воспользоваться рекомендациями, изложенными в работе [14], то можно выбирать значения весовых коэффициентов в предпо­ ложении их зависимости в соответствии с выражением

п

X ai —1, /= 1

а влияние /-го качества на эффективность оцениваемых объектов зависит от величины диапазона его изменения:

 

#

(Oj —а

К S шах

 

шах- К / min

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

 

к Ц max

К

I

г=1

ij шах ■К min

Г Л А В А 2

ВЫБОР ВНУТРЕННЕГО ЯЗЫКА УПРАВЛЯЮЩИХ ЦВМ

§ 2.1. ПОСТАНОВКА ВОПРОСА

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

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

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

Повысить эффективность внутреннего языка можно различными методами. Например, в список операций вводят такие операции, как извлечение квадратного кор­ ня, вычисление определенного интеграла от простейших функций и др. Введение таких операций усложняет структуру процессоров, но приводит к экономии времени и памяти. С целью экономии памяти для программ ино­ гда используют запись неполноразрядных относительных адресов в кодах команд, как это сделано, например, в ЦВМ «Днепр», IBM/360 и др.

61


Степень приспособленности того или иного внутрен­ него языка к решению конкретных задач явилась пред­ метом специальных исследований. Так, при анализе статастических характеристик некоторых задач на ЦВМ 11-zU [15], когда исследовались частотные спектры опе­ раций и относительных адресов, оказалось, что отдель­ ные типы операций этой машины имели нулевые часто­ ты. Повышение эффективности внутреннего языка может быть достигнуто за счет кодирования в коде операции цепочки, состоящей из двух последовательно выполняемых элементарных операций [16]. Рассмотренные в рабо­ те [16] способы кодирования цепочки не изменяют фор­ мат команды и разрядность адресов. Если же совместно использовать оба метода повышения эффективности си­ стемы команд в коде операции кодировать цепочки элементарных операций длиной в две и более операции,

а в

адресной части размещать относительные адреса

при

неизменной разрядной сетке, — то можно получить

дополнительно существенный выигрыш.

Вопрос, как выбрать набор элементарных операций наилучшим образом удовлетворяющий списку требова­ нии к проектируемой ЦВМ, остается пока открытым. Он связан с разработкой процессоров и эквивалентен во­ просу о том, что следует понимать под элементарной операцией — микрооперацию, т. е. однократное преобра­

зование элементов

информации в функциональных уз-

лах — регистрах,

сумматорах, сдвигателях, счетчиках,

дешифраторах и т. д., монадную или диадную арифмети­ ческую или логическую_операцию либо неарифметиче­ скую операцию вида V х, ах, logax, sinx и т. д. Други­ ми словами, элементарными операциями (машинными операциями) являются те, которые выполняются в ЦВМ под воздействием одной команды. Их состав и уровень сложности зависят от возможностей процессоров. Если считать список элементарных операций заданным то проблему выбора внутреннего языка машины можно сформулировать следующим образом: выявить систему операций, систему адресации и систему форматов команд так, чтобы при некоторых ограничениях оптими­ зировать время реализации заданных алгоритмов управ­ ления и объем памяти, занимаемый их программами. а качестве ограничений могут фигурировать ограниче­ ния, налагаемые на разрядности команд, адресов, отно­ сительных адресов, кодов операций, кодов цепочек опе62


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

§ 2.2. ОБЩИЕ ПРИНЦИПЫ ОТНОСИТЕЛЬНОЙ АДРЕСАЦИИ

Принцип относительной адресации впервые был при­ менен при программировании стандартных подпрограмм,

азатем существенно улучшен и технически реализован

внекоторых ЦВМ (например, «Днепр», IBM/360,

СТРЕТЧ [17, 18]). Однако возможности относительной адресации до конца не исчерпаны. Ниже рассматрива­ ются вопросы, связанные с целесообразностью исполь­ зования более эффективных методов относительной адресации, но уже не для удобства программирования, а для повышения производительности цифровых ма­ шин.

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

Фактический адрес операнда формируется путем алгебраического суммирования базового адреса с нецодноразрядным относительным адресом. Поскольку

63

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

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

Применение в машине, кроме основного формата команд (когда в коде команды размещаются полнораз­ рядные адреса, количество которых определяется адрес­ ностью команды, и один полноразрядный код элементар­ ной операции), нескольких дополнительных форматов той же разрядности, но с большим количеством неполно­

разрядных

относительных

адресов

дает возможность

существенно

сэкономить память для

размещения

про­

граммы, уменьшить суммарное время

обращения

к

ЗУ

в процессе выборки команд, повысить

производитель­

ность машин и, наконец, расширить

их

логические

и

вычислительные возможности.

 

 

 

 

Использовать команды

дополнительных форматов

с относительными адресами особенно

целесообразно

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

В зависимости от того, каким образом будут зада­ ваться базовые адреса, различают и способы формирова­ ния исполнительных адресов.

Обозначим:

Шф — полноразрядный фактический адрес операнда, содержащийся в адресной части кода команды основно­ го формата;

бг или ,Д; — неполноразрядный относительный адрес операнда, содержащийся в адресной части кода коман­ ды дополнительного формата;

йш — полноразрядный исполнительный адрес операн­ да, направляемый из устройства управления в ЗУ; b — полноразрядный базовый адрес, хранящийся в устройст­

64


ве управления на специальном регистре (регистре базо­ вого адреса).

При работе ЦВМ имеет место последовательный во времени поток исполнительных адресов операндов, на­ правляемых в ЗУ. Этому потоку соответствует поток фактических адресов, записанных в адресных частях по­ следовательно выполняемых команд.

Пусть @фmax и аф min — соответственно наибольший и наименьший фактические адреса. Тогда можно записать

О-гф = & + бг,

(2 .1 )

где b— s Тах ^ а* min j , a s(x) — целая часть числа,

округленного в большую сторону до единицы младшего разряда.

В зависимости от характера потока фактических адресов может оказаться, что величина б; намного меньше Ь. В этом случае величину b можно рассматри­ вать как базовый адрес, а бгкак г-й относительный адрес. Каждому фактическому адресу Щф соответствует только один вполне определенный относительный адрес бг. Это позволяет заменить поток фактических адресов, записанных в адресных частях последовательно выпол­ няемых команд, на поток соответствующих им относи­ тельных адресов.

Если поток содержит I фактических ^-разрядных адресов, то общее количество разрядов в потоке будет IR. При замене фактических адресов на Д-разрядные относительные общее количество разрядов в потоке бу­ дет равно /Д.

Объем информации, принимаемой из ОЗУ в УУ, в по­ следнем случае будет тем меньше, чем больше отноше­ ние R/A, а следовательно, и для ее хранения в памяти машины потребуется меньшее количество разрядов. Что­ бы сохранить полное информационное содержание пото­ ка относительных адресов, в УУ необходимо иметь ба­ зовый адрес.

Фактические адреса формируются в соответствии с выражением (2.1) путем алгебраического сложения базового адреса с относительными. В некоторых случаях в качестве базового адреса целесообразно использовать предыдущий фактический адрес. Тогда фактические

5—45$

65

адреса формируются в соответствии с выражением

 

 

йгф = а(1_1)ф + Аь

(2.2)

где Лг — I-й относительный

адрес.

 

Принятое здесь условное обозначение относительного

адреса

Л,,

в отличие

от

обозначения

относительного

адреса

6,

в выражении

(2.1), указывает

на различные

способы задания базовых адресов.

Дляприведенныхспособов формирования фактиче­

ских адресов их относительные адресаобразуются

в со­

ответствии со следующими выражениями:

 

8г='Щф—Ь,

(2.3)

fl(i—1)ф.

(2 -4 )

Если в коде команды с относительными адресами име­ ются признаки модификации, то в этом случае исполни­ тельные адреса формируются следующим образом:

или

 

 

CLiuЬ+ 6i + Я+г,

 

 

 

 

(2.5)

 

 

О ш = й (1- 1)ф + Д г +

 

 

 

 

 

( 2.6)

 

 

 

JtiCi,

 

 

 

где я, — признак

модификации

 

1-го

адреса;

d — кон­

станта переадресации г-ro адреса.

 

 

 

 

 

 

Рассмотрим

пример,

в

котором

для определенности

положим:

1) ' /?=12

двоичных

разрядов

(4

восьмеричных

разряда),

 

2)

1 поток фактических

адресов,

записанных

в восьмеричной си

стеме счисления, имеет вид:

1010,

0776,

1012,

1000,

1007,

0777,

0775,

0774,

1005,

1006,

1003,

1000— 1-я группа адресов,

 

1143, 1160... — 2-я

группа

адресов,

 

...1110,

1131, 1100,

1137,

 

3) фактические адреса формируются в соответствии с выраже­ нием (2.1).

Базовый адрес Ь\ для первой группы адресов может быть опре­

делен, например, следующим образом:

 

6,=

яф шах “Г аф

0 7 7 4 + 1012

1003,

а наибольшая

разрядность Ri

относительных адресов для этой

группы (с учетом знака) равна:

Rl Е log2 («ф max—&l) + 1 — 4.

66


Аналогичным путем для второй группы адресов пблучаёМ:

Ь, —

max А" min

1100 —f—1160

l 130;

 

 

R2=E log2 (1160— 1130) +1 =6.

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

Действительно, для первой Труппы адресов имееМ: —7+1003 = 0774, + 2+1003 = 1005, +3+1003=1006 и Т. Д.;

для второй группы адресов:

—20+1130=1110, +1 + 1130=1131 и т. д.

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

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

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

Рассмотрим другой пример. Пусть поток фактических адресов имеет вид: 0133, 0101, 0160, 0101, 0157, 0102, 0150, ОНО, 0162, 0130, 0133, 0136, 0141, 0144, 0147, 0152,..., 7775 и фактические адреса формируются в соответствии с выражением (2.2). Тогда, приняв первый фактический адрес (0133) в качестве первого базового адре­ са, получаем поток относительных адресов: —32, +60, —57, +56,

+46, —40,

+52, —32,

+3,

+3,

+ 3,

+3, + 3 ,..., +3.

Первые девять относительных адресов с учетом знака требуют

для своего

выражения

по

7, а

все

остальные — по 3 двоичных раз­

ряда. Дальнейшей экономии можно добиться, если первые десять фактических адресов формировать в соответствии с выражением (2.1), выбрав постоянный базовый, равный 0131, а все последующие фактические адреса формировать в соответствии с выражением (2.2).

Тогда поток относительных адресов

будет

иметь

следующий вид:

+ 2,

—30,

+27,

—30,

+26, —27,

+17,

—21,

+31,

—1,

+3,

+ 3, +3,..., +3.

5 *

67