Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Журавлев, Ю. П. Системное проектирование управляющих ЦВМ

.pdf
Скачиваний:
6
Добавлен:
22.10.2023
Размер:
12.85 Mб
Скачать

одно гиперболическое и три параболических квазилиней­ ных уравнений в частных производных, а также система

обыкновенных

нелинейных

дифференциальных

уравне­

ний; число точек по пространству — около 50;

 

Г — двумерная

задача

об отыскании собственного

числа системы:

9

эллиптических уравнений в

частных

производных (задача о критических параметрах атомно­ го реактора); число точек по пространству — 900 —

— были получены частотные спектры (в процентах, [15]), приведенные в табл. 2.1.

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

02-16,19,

01—9,91,

05— 15,16,

13 — 9,74,

12— 16,02,

00 — 7,29,

07— 12,09,

32 — 2,37,

т. е. на эти восемь операций приходится почти 90% ча­ стотного спектра, в то время как на остальные 56 опе­ раций— немногим более 10%.

Неравномерность спектра операций основного списка усиливает неравномерность спектра различных цепочек разной длины.

Для выбора и определения основных:

а) типов цепочек, включаемых в первый дополнитель­ ный список операций,

б) группы операций, которым целесообразно при­ своить усеченные коды,

в) разрядностей относительных адресов в различных форматах команд,

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

теристики анализируемых алгоритмов управления. 1) Частотный спектр

Р * ~ { р а з } , / = 1, 2, . . . , s

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

8 0

2)

Частотный спектр

 

 

^a~{paj},

/ = 0,

1, 2, .... /?а—1,

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

(здесь

R&— разрядность полного

адреса).

 

 

 

3)

Частотные спектры

 

 

~ { p i j ) ,

t = 2, 3,

. . /щах', У = 1 , 2, . . ., S тах

цепочек элементарных операций длиной от 2 до /Шах-

4)

Частотный спектр

 

 

Po~{poj},

/ = 1,

2, . . R0—1,

относительных кодов операций.

По

аналогии

с понятием

класса задач, введенным

в работе [16], будем считать, что класс задач управле­ ния определен алгоритмически на реализующем наборе операций основного списка, если известна матрица зна­ чений частот повторений попарно различимых цепочек операций основного списка длиной 1=1, 2, ..., /тах, для которой обеспечивается выполнение условия р ^ е , где

е— заданное число.

§2.5. КРИТЕРИИ ВЫБОРА ОПЕРАЦИЙ ДОПОЛНИТЕЛЬНЫХ СПИСКОВ

Пусть статистические характеристики алгоритмов управления известны. Тогда возникает ряд вопросов: ка­ кие цепочки операций включить в первый дополнитель­ ный список операций, каким операциям основного спис­ ка целесообразно присвоить усеченные коды, сколько различных одно-, двух-, трех- и т. д. адресных фрагмен­ тов можно расположить в формате команд основного списка, как распределить разрядности кодов операций и адресов (относительных адресов) внутри фрагмента определенной разрядности и т. д. Очевидно, что для от­ вета на все эти вопросы необходимо пользоваться опре­ деленными критериями, связанными со статистическими характеристиками анализируемых алгоритмов управле­ ния. Эти критерии должны учитывать и ограничения, налагаемые на форматы команд. В качестве ограниче­ ний могут выступать, например, такие требования к фор­ матам команд:

— разрядности команд всех форматов должны быть одинаковыми;

6 - 4 5 8

81

*— разрядности кодов операций основного списка Й обобщенных кодов операций должны быть одинако­ выми;

— разрядности относительных адресов внутри одного фиксированного формата команд должны быть одина­ ковыми;

разрядности фрагментов в каждом формате команд должны быть одинаковыми;

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

Пусть при таких ограничениях задано:

А — адресность команд основного формата, Ra— разрядность исполнительных адресов,

/?коп — разрядность кодов операций в командах основного формата.

Причем известно, что

г*"0" —М = Ми

где М — количество операций основного списка. Рассмотрим возможные варианты критериев выбора

основных элементов внутреннего языка проектируемой управляющей ЦВМ.

а) Критерий выбора цепочек операций. Минимальная разрядность Rbmin относительных адресов равна двум

(с учетов знака). Следовательно, максимальное количе­ ство относительных адресов и максимальная длина /max цепочки последовательных элементарных операций в первом дополнительном списке обобщенных команд не превышает величины

/тах~ Е ■Rа/2) ,

где Е(х)~~ целая часть от х, округленного в меньшую сторону до единицы младшего разряда.

Минимальная длина /min цепочки элементарных опе­ раций в командах первого дополнительного списка рав­

на

Л

+1 и, следовательно, максимальная разрядность

^ 5

max

 

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

ляется

выражением

Если потребовать равенства разрядностей относитель­ ных адресов внутри конкретного формата команд пер-

82

вого дополнительного списка и, кроме того, наложить дополнительные условия на разрядность относитель­ ных адресов:

A ' R a

I

Ru = E ( A . R !l[li),

(2.7)

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

Например, при А = 2 и Ra = 12 таблица допустимых длин цепочек и относительных адресов имеет вид:

i

1

2

3

4

5

h

3

4

G

8

12

 

 

 

 

 

Кы

8

6

4

3

2

Здесь

= А + 1

= 3 , / „ „ = / , = 12,

^55 2’ ^ Smax

Rb]---8.

 

Очевидно, что для "всех г

выполняются соотношения

(2.7).

 

 

Цепочки различной длины отличаются друг от друга как частотами появления, так и эффективностью в смыс­ ле компактной записи программы. Поскольку цепочка длиной в Ц операций позволяет экономить в программах (U—1) команд, то t-му частотному спектру присваивает­ ся вес ай, равный значению U—1. Это позволяет вклю­ чить в состав первого дополнительного списка М4 цепо­ чек последовательных элементарных операций различ­ ной длины с наибольшими значениями произведений

(i>i ’ p i j — ( h 1)

т. е. цепочки, наиболее эффективные как по частотам появления, так и по экономии памяти для программ.

б)

Критерий выбора списка

операций

с усеченными

кодами. Совокупность усеченного кода операции и соот­

ветствующего

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

адреса

образует

од­

н о а д р е с н ы й

ф р а г м е н т

данного

формата.

По­

скольку можно доказать, чю использование одноадрес­

ных фрагментов предпочтительнее с точки зрения эффек­

тивности

внутреннего

языка

машины

по

сравнению

с фрагментами другой

адресности,

то ниже

будут

рас-

6*

83

сматриваться форматы команд с одноадресными фраг­ ментами.

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

Максимальная разрядность Яфтах одноадресного фрагмента определяется выражением

/ ? ф т а х = В Д о + Л Я а ) / ( Л + 1 ) ] ,

 

где R0— полная

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

операции.

Минимальная

разрядность

Дфшт

одноадресного

фрагмента определяется выражением:

 

min—-Ry + 2;

Дпах—E[(R0 + ARa)l(Ry+ 2)]

при условии

 

 

 

 

 

 

Ro~\~ARa—^-тахДф min

Дпах,.

 

где Lmax — максимальное

количество

одноадресных

фрагментов в коде

команды,

Ry — разрядность усечен­

ного кода операции.

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

ного формата.

фрагментов

Допустимые разрядности одноадресных

определяются условиями:

 

До+^4 -RaLiR<bi<Li,

 

R$i — Е (Ro~\~А ■Ra/Li) .

 

Например, если

Ry —3,

Ro+ARa — №\ А —3; Ra= 12; Ro — 8',

то таблица допустимых разрядностей одноадресных

фрагментов и соответствующих

им

значений Li имеет

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

 

 

 

1

1

2

3

 

11

7

6

ч

4

6

7

 

 

 

84

Здесь min—$фЗ—6, Яфmax—Rфl—11, Lmin— —4, £max= Li = 7.

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

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

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

2^У

U — G(R^ Ry)- £ Рэг,

«=1

R

где G(tf) = £ Рф 2 < R y ^ R 0, 2 < Я Ф— /?у< Я а— 1, i=i

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

Так как в случае усеченных кодов операций второй сомножитель функции U для всех допустимых фрагмен­ тов одинаков, то разрядность R*y усеченного кода при наличии т различных одноадресных фрагментов опреде­ ляется из условия максимизации функции U*:

2^У

G * =

£ Раг

£

G(Rm ~ R y)

 

1=1

k=i

Полученное значение R y указывает на то, что первые

2Ry элементарных

операций

основного списка команд,

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

в) Критерий выбора разрядностей относительных кодов операций. Поскольку минимальная разрядность ^vmin относительного кода операции (с учетом знака)

85

равна двум, то минимальная разрядность /?фт!п одноад­ ресного фрагмента в форматах третьего дополнительного списка равна четырем:

 

о

_ d

_i- R

==4

 

Ч> min

'v m in I 5 min

 

Если Ry ^

In,

то

количество

допустимых одноад­

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

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

В качестве критерия

оптимальности

служит максимум,

ФУНКЦИИ

Uh'

 

 

 

un =

G { R ^ - R ik)G * (R j

при дополнительном выполнении условий:

 

 

= 2 а *;

 

 

 

1 = 0

 

Яф* =

Я* + Я**; 2 < R vk< R 0- l ;

2 < R tk< R . - l ,

где k — номер допустимого одноадресного фрагмента. Как уже указывалось, разрядности кодов операций

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

ее

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

Пусть во втором и третьем списках команд содер­ жатся соответственно Si и s2 различных форматов. Тогда количество разрядов R n , отводимых в коде команды для признака формата, определяется выражением

R n ---£[10g2(Sl + S2+ 1 )].

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

 

Rff-\-Rmoa+ AR&^

Rn “Ь ^ коп

LiRu’

Rk=

+ Li (Ry + Rbi)>

 

 

# N+ Lk (R4k+ Rbk).

§ 2.6.

Ф ОРМ АЛИЗАЦИЯ

ОСНОВНЫХ

ПОНЯТИЙ

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

/Множество всех элементов х, обладающих свойством г, записы­ вается следующим образом:

{xjx имеет свойство z}.

Пустое множество обозначается символом 0 .

Если каждый элемент множества А является и элементом мно­

жества В, то пишут: Ле В.

включения A s B

 

Если одновременно выполняются

и В е Л, то

множества Л и В равны: А —В.

 

 

Объединение (пересечение) семейства множеств А,,

Л2.........

k

Aj

 

обозначается Л] (J Л2 (J ... (J Ah= (J

 

Для произвольных множеств Л и В множество тех элементов множества Л, которые не содержатся в множестве В, обозначается

A—В.

Принадлежность элемента х множеству А обозначается хеЛ . Число элементов конечного множества Л обозначается # (Л ). Алфавит — непустое конечное множество неделимых символов. Цепочка (или слово) в алфавите есть конечная последова­

тельность Xi Хг . .. Xh элементов этого алфавита, т. е. Xi^J£. Со-

к р а ш е н н а я з а п и с ь ц епочк и Имеет вйД

k

 

Х \ Х 2

Xh

Г x i -

 

 

 

 

 

1=1

 

 

Длина цепочки w обозначается |а>|;

 

 

Если в качестве

алфавита

B={b \,

bt, i * bn}

используются

все

цифры позиционной

я-ичной системы

счисления,

то численное

зна­

чение слова X в этом алфавите обозначается через X и определяется весовой функцией:

 

 

 

 

 

 

 

к

 

 

 

 

 

 

 

 

 

 

 

X = Yi Хг-пК~1.

 

 

 

 

 

 

 

 

 

 

 

 

;=1

 

 

 

 

 

 

В частности, если

В ~ { 0,

1}, то

 

 

 

 

 

 

 

 

 

 

 

 

 

к

 

 

 

 

 

 

 

 

 

 

 

 

 

кг2ъ-*.

 

 

 

 

 

 

 

 

 

 

 

 

7 — 1

 

 

 

 

 

 

Пусть

x=Xi, х2, . .

 

Хг,

у = у ь у2, ... ,

y s — некоторые

цепочки.

К о н к а т е н а ц и е й ,

или п р я м ы м

п р о и з в е д е н и е м

цепочек,

х и у

называется цепочка xy =

xix2 . ..

xryiy% ... у*.

 

 

 

Множество всех цепочек (включая и пустую цепочку) над ал­

фавитом

 

обозначается

 

через

*. Упорядоченная пара

(-S*. • ). где знак • обозначает операцию конкатенации, называется

свободной

полугруппой,

порожденной

алфавитом

Обычно

вме­

сто

 

•)

пишут

[21].

 

 

 

 

 

 

 

 

Если X и У — некоторые подмножества множества ^ *, то п р я ­

мым

п р о и з в е д е н и е м

XY этих

подмножеств

называется

мно­

жество {ху\xt=X, y^ Y } .

множество,

то ЛЛ = Л2, А А А = А 3

и т. д.

Если

А

— некоторое

Пусть

х

я у — некоторые цепочки из

^ * .

Цепочка х

есть

на­

чало (конец) цепочки у,

если

y = xv

(y — vx)

для

подходящей

це­

почки

 

 

Цепочка х

является подцепочкой

цепочки у,

если

у =

= uxv для подходящих цепочек и, v

Д е к а р т о в ы м п р о и з в е д е н и е м А 1 Х А 2 Х . . . Х А п се­

мейства множеств

Ль

Л2, ...,

А п называется множество всех я-ок

вида (аь а2....... ап),

где а,еЛ г для каждого г.

В

называется

Отображением f множества А во множество

упорядоченная тройка

(Л, В, /), такая, что

 

 

 

 

 

f

: А — >-В,

 

 

 

т. е. каждому элементу х еЛ

соответствует

элемент

/( х ) е В . Если

при этом

 

B = { f { x ) \х<=А},

 

 

 

 

 

 

 

 

то f называется о т о б р а ж е н и е м м н о ж е с т в а

Л

на множе­

ство В.

 

г р а м м а т и к о й

называется

упорядочен­

П о р о ж д а ю щ е й

ная четверка

 

 

 

 

 

 

0=(2, У, р. о),

где 2 — конечный алфавит основных символов; V 2 — конечный алфавит вспомогательных символов; Р — конечное множество правил подстановки вида и— *-v (где «eV *, и еГ *); а е V 2 — началь­ ный символ (аксиома).

Если цепочка w переходит после

однократного

применения к ней

одного из правил подстановки

в цепочку а,

то пишут

или w=iu,

если G подразумевается.

 

 

 

 

 

 

О

 

 

Последовательное

 

n-кратное

применение

правил

подстановки

к некоторой цепочке w порождает вывод длины п:

 

 

 

 

 

 

 

w =?> w t

w2

...

wn.

 

 

 

 

Если

существует

вывод,

в

результате

которого

цепочка

w пе-

 

 

 

 

 

 

*

 

 

*

 

 

 

 

реходит

в цепочку и,

то пишут

w => и или

w

и,

если G

подра-

зумевается.

 

 

 

G

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Множество

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L (G) ~

G £* | о=> х}

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

называется я з ы к о м ,

п о р о ж д а е м ы м

г р а м м а т и к о й

G.

Каждая

цепочка языка L(G)

является выводимой из а.

 

 

Грамматика

 

G=(2u

2 г .

Р. о),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где 2

i — конечный алфавит

входных символов; 2

г — конечный

ал­

фавит

выходных символов; P —[ w— >-ы\ w ^ 2 i * . ие_2)2* } — система

правил

подстановки;

а е 2 Р

~~ начальное

(входное)

слово,

называ­

ется п р е о б р а з у ю щ е й .

 

*

 

 

 

 

 

 

 

Множество L (G) =

{ x G

 

 

 

 

 

я з ык о м ,

по-

S*2 1з=5> х} называется

 

 

 

 

 

 

G

 

 

 

 

 

 

 

рождаемым преобразующей грамматикой.

§2.7. Ш ИФРИРУЮЩИЕ ГРАММАТИКИ

ИИХ СВОЙСТВА

Предположим существование двух формальных грам­

матик:

 

Vi, Ри а)

и G2= (^2, Vz, Р-l, о ) И п о р о ж д а е ­

G1 =

 

м ы х ими я з ы к о в :

 

L(G1) = {x

Qi

L(G2) = { y \ a ^ y ^ X % } ,

 

 

G2

таких,

что

каждой

цепочке х языка L(Gi) ставится

в однозначное соответствие цепочка у языка L(G2), при­

чем известно:

 

а)

множества I(G i) и L(G2) регулярны;

б)

|//1<

|х |;

 

Соседние файлы в папке книги из ГПНТБ