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

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

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

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

Т а б л и ц а 7.3

а

5sc|71

8£=|5|йГ15

16г=|1|й=31

32==£|£|=S63

64s=|5|sSI27

Кол-во

 

 

 

 

 

 

адресов

Р

0,5

0,14

0,06

0,08

0,05

2351274

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

зон, в которых размещались

сами

подпрограммы и используемые

в них константы. Нулевые адреса

и адреса передачи управления

из рассмотрения исключались.

 

 

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

Анализ спектра основного списка операций показывает, что в состав цепочек наиболее целесообразно включать следующие опе­ рации: сложение, вычитание, умножение, сдвиг, логическое умноже­ ние, логическое сложение, сравнение, специальные операции над кодами (операции типа 13, 33, 53, 73, принятые в ЦВМ М-20).

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

Набор спектра цепочек длиной в четыре операции для операто­ ров П]—iQio проводился с помощью ЦВМ М-20 следующим образом.

Каждой операции, участвующей в цепочке, присваивался свой

условный номер:

 

— сложение

— 0,

— вычитание

— 1,

— умножение

— 2,

— сдвиг

— 3,

— логическое умножение

— 4,

— логическое сложение

5,

— сравнение

— 6,

— специальные операции над кодами — 7.

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

Например, цепочке вида «сложение — умножение — вычитание — умножение» соответствует код 0212.

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

300

После реализации каждого оператора содержимое всех 4096

счетчиков выдавалось на печать.

материала

Результаты обработки полученного статистического

по оператору fiio приведены в табл. 7.4. По другим

операторам

результаты даны в приложении 1.

 

В этой таблице оставлено 32 типа наиболее употребительных цепочек и указано количество их повторений. Интересно отметить,

что из 4096 счетчиков 2937 остались «пустыми» по всем операторам

Qj.

Для операторов fii—fig набор статистики проводился по одному конкретному значению аргумента х.

Для оператора Пю частотный спектр цепочек определялся по одному фиксированному набору X входных аргументов.

Наиболее «популярной» оказалась цепочка вида 4023 («логиче­ ское умножение — сложение — умножение — сдвиг»), которая встре­ чается почти во всех операторах.

Затем идут цепочки 0237, 3377, 6502, 0114, 0020, 0201, 2002, 2022, 0171, 2220, 2013, 4400. Некоторые цепочки, встречающиеся только при выполнении оператора fiio, такие, как 0012, 0122, 1220, 1322, 2020, 2200, 2222, 3220, 3737, 6220, из-за большого числа повторений также заслуживают внимания.

 

 

 

Т а б л и ц а 7. 4

Вид цепочки

Кол-во повторений

Вид цепочки

Кол-во повторений

0012

1000

2202

300

0020

2759

2222

3000

0114

4450

3220

1759

0122

1000

3377

12

0201

1759

3737

20С0

0220

1450

4023

3897

0237

ПО

5023

ПО

1122

300

6220

907

1220

1300

6502

110

1322

1759

7110

100

1737

100

7374

100

2002

1759

0171

12

2020

1000

2220

3000

2021

100

2013

313

2022

1450

4400

117

2200

1759

4402

29

Анализ программ, учет пересекаемости отдельных цепочек (на­ пример, встречающиеся по 1000 раз при выполнении оператора fiio

цепочки 0012,

0122, 2020 оказались

стоящими рядом

цепочками

0012 и 2020),

а также необходимость введения в некоторые цепочки

и посылочных

операций указывают на

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

включения

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

состоящих

из четырех элементарных операций:

 

 

0012 — «сложение — сложение — вычитание — умножение», 0020 — «сложение — сложение — умножение — сложение»,

301

0122 — «сложение — вычитание — умножение — умножение», 2020 — «умножение — сложение — умножение — сложение», 2022 — «умножение — сложение — умножение — умножение», 2220 — «умножение — умножение — умножение — сложение».

Дополнительные исследования операторов показали, что частота логических сдвигов более чем на 7 разрядов не превышает 5%. Это позволило включить в дополнительный список следующие цепочки:

4023 — «логическое умножение — сложение — умножение—сдвиг», 1322 — «вычитание — сдвиг — умножение — умножение», 2013 — «умножение — сложение — вычитание — сдвиг».

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

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

01, 02, 03, 06, 12, 13, 16, 23, 26, 43, 46, 53, 56, 002, 004 , 012, 020, 022, 023, 046, 056, 200, 202, 212, 220, 222, 246, 256.

Таким образом, дополнительный список содержит 37 обобщенных операций.

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

Rkou= 1 +£[log2(12 + 37 -f-15)] —6.

Поскольку для кодирования адреса числа требуется в данном случае 15 двоичных разрядов, то минимальное число RKmin разря­ дов, необходимое для кодирования команд, равно:

Rk min — 6+-15+-21.

Сучетом использования четырех четырехразрядных относитель­ ных адресов получаем

R k m in / — 6 + 4 X 4 — 2 2 .

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

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

ния

(28,6%), вычитания (22%),

умножения

(18%) и

сдвига (9%).

Им

присваиваются,

например,

усеченные

двоичные

кодовые но­

мера:

 

 

 

 

 

— сложение

..........00,

 

 

 

 

— вычитание

......... 01,

 

 

 

 

— умножение

..........10,

 

 

 

 

— сдвиг

11,

 

 

 

302

Тогда в 22-разрядную сетку кода команды можно поместить,

Например, две одноадресные команды с «усеченными» кодами опе­ раций и девятиразрядными относительными адресами или три одно­ адресные команды с «усеченными» кодами и пятиразрядными отно­ сительными адресами. В последнем случае один разряд окажется

неиспользуемым.

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

в память.

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

Форматы

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

5.

Программирование задачи. Программирование всех операто­

ров, выполненное только с помощью команд основного списка, дало следующие результаты:

МПр = 3756(8) ячеек, Л7Р = 1750<8) ячеек,

«Сжатие» программы за счет использования команд дополни­ тельного списка, выполненное с помощью ЦВМ М-20, позволило со­ кратить память для программы:

 

Л1Пр = 2051(8)

ячеек,

Л7Р = 1750(8> ячеек.

 

 

 

 

 

 

Т а б л и ц а 7. 5

№№ пп.

Вид цепочки

М ?№

ПП.

Вид цепочки

№№ пп.

Виц цепочки

1

01

14

002

27

246

2

02

15

004

28

256

3

03

16

012

29

4023

4

Об

17

020

30

0012

5

12

18

022

31

0020

6

13

19

023

32

0122

7

16

20

046

33

2020

8

23

21

056

34

2022

9

26

22

200

35

2220

10

43

23

202

36

1322

11

46

24

212

37

2013

12

53

25

220

 

 

13

56

26

222

 

 

6.

Определение верхней границы количества операций. Анализ

связей между операторами Qi-b-Qio, а также максимального коли­

чества циклов внутри каждого из операторов

и по всему алгоритму

в целом показал, что Д1с^ 3 - 105.

 

 

Увеличение N c по сравнению с N e' на 4-

104

операций обуслов­

лено за

счет выполнения операций управления

и служебных.

303

 

ОсноВней

формам

 

7. Определение общей ем*

 

кости

памяти ( Q з).

Q3 А\,р +

 

 

 

 

 

 

 

 

+

N i +

N 2 + N 3.

 

 

 

N i =

 

 

 

 

 

Можно

считать,

что

 

 

 

 

= 10X200 = 2000, У2= 0

 

(в пред­

 

 

 

 

положении, что результаты за­

 

 

 

 

писываются

на место исходных

 

 

 

 

данных).

 

 

 

 

 

 

 

 

 

 

Тогда

 

 

 

 

 

 

 

 

 

 

Q:> = jVnp + N 1 + :V2+

N 3 =

 

 

 

 

 

 

= 1065 + 2000 + 1000 =

 

 

 

 

 

 

 

= 4065 ячеек.

 

 

 

 

 

 

 

 

8, 9. Определение QoУчи­

 

 

 

 

тывая,

что

система

управле­

 

 

 

 

ния — стационарная,

а

также

 

 

 

 

достаточную

отработку

техно­

 

 

 

 

логии

изготовления

надежных

 

 

 

 

ЗУ на ферритах емкостью 4096

 

 

 

 

чисел и больше, можно ограни­

 

 

 

 

читься выбором:

 

 

раз­

 

 

Рис.

7.1.

 

<2о = Оэ= 4096 X 40

 

 

 

рядных двоичных чисел.

 

 

 

 

 

 

10. Выбор системы контро­

ля.

Выбор

оптимальной системы

контроля

является

 

слож­

ным делом

и должен учитывать большое

количество

факторов.

Для

простоты

рассуждений

будем

считать,

что

выбор

си­

стемы контроля, наилучшим образом удовлетворяющей предъ­ явленным требованиям по надежности с учетом характеристик ос­ новных типовых элементов, освоенных промышленностью, уже про­ веден, причем система контроля — комбинированная:

сквозной аппаратурный контроль по mod 7,

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

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

11.Расчет быстродействия. При расчете быстродействия будем полагать, что:

ввол и вывод информации не совмещены с процессом вычис­

лений, —■время групповых обменов информации между ОЗУ и ВЗУ из-

за отсутствия последних равно нулю,

операции тестового контроля включены в общее количество операций, и поэтому а = 0,

среднее значение коэффициента |3 равно 0,005.

Тогда

Nc

V ^ (1 - Р) 7\, - ЛУУВВЛУУВЫ •

Подставляя в это выражение соответствующие значения входя­ щих в него величин, получаем

V=3,93 X Ю5 опер/с.

3 0 4

Основные временные параметры могут быть достаточно просто подсчитаны в соответствии с методикой, -изложенной в § 6.3.

Рассмотренный пример преследует чисто иллюстративные цели. Основное внимание было уделено расчету разрядной сетки ЦВМ и выбору ее внутреннего языка.

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

В§ 7.1 приводится табл. 7.1, указывающая на взаимосвязь отдельных технических характеристик ЦВМ между собой. В этой

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

ЦВМ нельзя, поскольку он зависит от всех

показателей качеств

ЦВМ.

задача исследований

Таким образом, ближайшая актуальная

в этой области заключается в интегральной оценке всех имеющихся критериев эффективности ЦВМ по показателю стоимости.

2 0 — 4 5 8

Г Л А В А 8

ДОПОЛНЕНИЯ

§8.1. ЗАМЕЧАНИЯ

Вглавах 2, 4, 5 и 6 были рассмотрены частные мето­ дики выбора и расчета основных технических характе­ ристик управляющих ЦВМ на базе информации об алгоритмах управления и с учетом требований, предъявляемых к машине. Взаимозависимость основных технических характеристик приводит к тому, что послед­ ние, выбранные по тем или иным частным методикам, должны быть согласованы. В первую очередь это отно­ сится к разрядностям чисел и команд. Согласование разрядностей чисел и команд с помощью тех или иных критериев эффективности этого согласования может су­ щественно повлиять на архитектуру и емкость ОЗУ. Из­

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

§8.2. СОГЛАСОВАНИЕ РАЗРЯДНОСТЕЙ ЧИСЕЛ

ИКОМ АНД

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

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

306

некоторой конкретной системы управления рассчитанные значения RK, R0, Ron, R разрядностей операндов могут оказаться различными.

В пятой главе расчет емкости оперативной памяти проводился в предположении, что разрядность Rn одной ячейки памяти ОЗУ достаточна для размещения любого одного операнда. Там же указывалось, что в отдельных случаях целесообразна блочная организация ОЗУ, когда для операндов каждого типа в состав ОЗУ включается свой блок, имеющий определенную емкость и характе­ ризующийся тем, что разрядность каждой ячейки блока в точности равна разрядности операндов соответствую­ щего типа. Однако на практике часто встречаются си­ туации, когда разрядность всех ячеек ОЗУ одинакова и ориентирована на разрядность операндов какого-либо одного типа. Это объясняется стремлением к унифика­ ции всех блоков ОЗУ. В подобных ситуациях может ока­ заться, что число или команда занимают несколько ячеек памяти. В качестве наиболее убедительных при­ меров могут служить ЦВМ «Урал» (СССР), ГАММА-60 (Франция), IBM-360 (США).

Рассмотрим случай, когда разрядность Дя всех ячеек памяти ОЗУ одинакова и ориентирована на наибольшую разрядность операндов, например, на RK. Другими сло­ вами Дя= ^к.

Коэффициент Yi использования информационней емкости одной ячейки памяти при записи в нее операнда t-ro типа определяется выражением:

yi — Ri/R«,

где .Ri — разрядность операнда t-ro типа.

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

Пусть Ni — среднее количество операндов t-ro типа, находящихся в ОЗУ в течение одного цикла решения за­

дач управления.

Тогда

коэффициент

Г использования

информационной

емкости

оперативной

памяти можно

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

 

r = S W . = S % / 0 .

 

♦=>

i-i

 

2 0 *

307

или, если выполняется условие

q. = £ ^ ,

/=1

то в соответствии с выражением:

г

<•=1

I г=1

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

Yi= Yi=l,

Пример.

Пусть

= (/?к) =45,

Я2= (# о )= 3 0 ,

(-Ron) =35, Ri —

= {R) = 20;

Ni = N2= N 3 = Nl =\02i\

Q0 = 4096;

Я„=45.

 

Тогда:

 

 

y3 = 35/45=0,77; Y4 = 20/45=0,44.

Yl = 45/45=1; y2= 30/45=0,66;

Следовательно

 

 

 

 

 

 

4

 

 

 

 

 

i=i

_ 1024 ( 1 +

0,66 + 0,77 +

0,44)

_

Г =

Q0

 

 

4096

 

- 0 ,7 1 .

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

Рассмотрим теперь другую ситуацию, а именно: опе­ ранды различных типов занимают несколько ячеек опе­ ративной памяти. Пусть + — минимальное количество ячеек памяти, необходимое для размещения операнда /-го типа. В этом случае понятие коэффициента исполь­ зования информационной емкости ячейки памяти теряет свой смысл и ему на смену приходит понятие коэффи­ циента у,* использования информационной емкости груп­ пы ячеек памяти при размещении в них операнда /-го типа:

yi* =Ri/ctiRя,

где Ri — разрядность операнда t-го типа, Р» — разряд­ ность ячейки ОЗУ.

308

Для расположения в ОЗУ JV* операндов i-ro типа требуется

Ni*-=~Ni(ii

R я — разрядных ячеек.

Коэффициент Г* использования информационной емкости оперативной памяти для этого случая можно определить с помощью выражения

г*=2лШ<2оЯя,

i=i

или

^ ^

Но поскольку

Ni = N*ifai,

то

г* = 5 > * , yV Q c

»=i

Очевидно, что при выполнении условия

Qo= S

t=i

(все ячейки оперативной памяти заняты операндами) коэффициент использования информационной емкости ОЗУ принимает значение, равное единице, только в том случае, когда для всех типов операндов выполняются условия:

л;

-----

1У

 

 

У? —

 

 

что эквивалентно справедливости равенств:

 

R !l= R llai=:R2/a2=

... = R n/an.

 

Поскольку величины

Ra,

R{,

cii — целые

числа, то

ясно, что Rh является о б щ и м

д е л и т е л е м

величин

Ri. Может оказаться, что общих делителей для Ri суще­ ствует несколько. Тогда для каждого из них выполняет­ ся условие

Г*=1.

309

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