Файл: Журавлев, Ю. П. Системное проектирование управляющих ЦВМ.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 |