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

книги из ГПНТБ / Королев, Л. Н. Структуры ЭВМ и их математическое обеспечение учебное пособие

.pdf
Скачиваний:
25
Добавлен:
21.10.2023
Размер:
10.26 Mб
Скачать

необходимую информацию из соответствующих групп. В свою очередь в динамике счета организуются ссылочные таблицьт листов, расположенных в оперативной памяти. Для каждой задачи, находящейся в активной форме, фор­ мируются свои динамические таблицы активных листов. Этих таблиц может быть несколько. Одна, как правило, связана со списком листов, в которых расположена объектная программа, вторая — со списком листов, со­ держащих таблицы имен, третья — с листами, содержа­ щими данные. Таким образом, доступ к информации в машине СИМВОЛ многоступенчатый и требует мно­ гократных обращений к запоминающему устройству. Это те жертвы, которые приходится приносить ради дости­ жения полного динамизма и практического отсутствия ограничений на длину операндов и структуру данных. Как утверждают авторы, всего лишь 11% объема па­ мяти уходит на метки, описатели и другую служебную информацию, которую нельзя отнести к данным. По-ви­ димому, процент памяти, который остается неиспользо­ ванным благодаря тому, что минимальный квант состав­ ляет всегда не менее восьми слов, также составляет значительную величину. Например,данные, которые укла­ дываются в девять слов, отнимают 16 слов в листе, семь слов остаются неиспользованными.

Машина СИМВОЛ предназначена для работы в ре­ жиме многопультового использования. Возможности ор­ ганизации на ней мультипрограммного, мультипроцес­ сорного режима позволяют, очевидно, организовать такой режим. Абоненту, использующему терминал, отнесенный пульт, система предоставляет следующие основные возможности: загрузка программы, загрузка и компиля­ ция, выполнение программы, останов программы, про­ должение счета. Соответствующие директивы пользова­ теля воспринимаются машиной через систему прерыва­ ний. Всякое прерывание, в том числе и прерывание по директиве пользователя, влечет за собой вызов системной программы, организующей тот или иной режим работы. Во время работы программы система выполняет псевдо­ операции обращения к супервизору для выполнения дей­ ствий, связанных с отладкой, обращение к внешним уст­ ройствам и т. п. В системе СИМВОЛ предусмотрено более 80 «программных прерываний», или экстракодов обра­ щения к операционной системе.

220

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

В тех сферах использования ЭВМ, в которых прихо­ дится создавать все новые и новые задачи, выгодно ис­ пользовать машины, подобные машине СИМВОЛ, так как экономия времени на программирование и трансля­ цию окупает затраты, связанные с относительным уве­ личением времени счета и значительным расходом па­ мяти. Разработчики машины СИМВОЛ считают, что ее использование экономит от 40 до 50% затрат, связанных с программированием, по сравнению, например, с маши­ нами фирмы IBM. Следует подчеркнуть также, что зна­ чительные затраты времени, связанные со сложным механизмом обращения к памяти в машине СИМВОЛ, свя­ занные с многоступенчатым поиском по спискам, в ка­ кой-то мере компенсируются одновременной работой про­ цессоров этой неоднородной многопроцессорной системы. К сожалению, нет точных статистических данных, кото­ рые позволили бы оценить эффект такого совмещения /или время простоя процессоров системы в ожидании об­ ращений к памяти.

§ 3. Некоторые технические параметры

машины СИМВОЛ

 

Экспериментальный

образец этой машины вступил

в строй в начале 1971

г. в Университете штата Айова.

Машина выполнена на интегральных схемах фирмы

Fairchild Camera and Instrument Cor, работающих в темпе порядка 100 наносекунд. Задающая частота машины — около 4 мегагерц (такт 320 нсек).

Быстродействие ее характеризуется следующими дан­ ными: сложение двух четырехразрядных чисел составляет

5,6 мксек,

сложение восьмиразрядных чисел — 10 мксек,

1 сложение

50-разрядных чисел — 50 мксек, цикл

памя­

т и — 2,5

мксек. Скорость трансляции достигает

75000

предложений СИМБОЛа в минуту, т. е. приблизительно в 7—10 раз больше, чем на машинах типа Burroughs. Эти данные касаются экспериментального образца, кото­ рый называется SYMBOL-11R. На этих же принципах создается следующая модель, называемая SYMBOL-11

221

(S-11), скоростные параметры которой должны быть под­ няты в четыре раза. Машина СИМВОЛ отличается очень небольшими габаритами. Ее главная стойка, в которой сосредоточена вся логическая часть машины, размеща­ ется на столе. Таким образом, по габаритам она прибли­ жается к минимашинам.

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

ипостоянная дисковая память фирмы Burroughs.

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

Г л а в а 6

МАШИНЫ ФИРМЫ СDC

Своеобразное направление в области развития струк­ тур ЭВМ представляют собой машины фирмы Control Data Corporation (CDC). Эта фирма известна главным об­ разом разработками и производством ЭВМ сверхвысокой производительности. Машины этой фирмы, относящиеся к серии 3000, с точки зрения внутренней организации, пожалуй, не имеют таких структурных особенностей, которых следовало бы упоминать особо. Их быстродейст­ вие охватывает диапазон нескольких сот тысяч операций

всекунду. Например, быстродействие машины CDC-3200 оценивается в 300 тыс. операций/се/с, CDC-3500 — около миллиона операций/mc. В этой главе в основном пойдет речь о семействе 6000, о машинах CDC-6200, CDC-6400, CDC-6600, CDC-6800. Модели этого семейства покрывают диапазон быстродействия от одного миллиона операций

всекунду до нескольких десятков миллионов операций

всекунду. Они по сей день остаются самыми быстродейст­ вующими серийно выпускаемыми машинами в мире.

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

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

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

223

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

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

Вся структура семейства 6000 подчинена этой цели. В системе команд четко разграничены команды обраще­ ния к памяти и команды выполнения арифметических операций, поскольку на уровне системы команд это обес­ печивает совмещение работы арифметики с работой па­ мяти. Все операции, связанные с обменом, выполнением функций операционной системы, реакциями на преры­ вания, переложены на несколько внешних процессоров. Центральный процессор «отвлекается» от своих прямых обязанностей только в крайне редких случаях. Арифме­ тическое устройство, по существу, состоит из нескольких независимо работающих различных по функциям уст­ ройств, способных параллельно выполнять несколько арифметических операций. Быстрые регистры, служащие для хранения операндов и результатов промежуточных операций, также различаются по своим функциям: часть из них связана с основной памятью только по считыва­ нию, часть служит для хранения результатов, отправ­ ляемых в основную память. Такое решение, в отличие от идеи «общих регистров», воплощенных в IBM-360, также дает возможность совмещения операций обраще­ ния к памяти с вычислением на уровне языка команд машины.

.224

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

§1. Архитектура семейства СDC-6000

Всостав центрального вычислителя входят:

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

2)главная память, общий объем которой достигает 131 тысячи 60-разрядных слов;

3)десять внешних периферийных процессоров, каж­ дый из которых имеет свою собственную память объемом

в4096 12-разрядных слов.

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

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

Периферийные процессоры, таким образом, берут на

себя всю работу по организации и управлению обменами

исвязью системы с внешним миром.

Це н т р а л ь н ы й п р о ц е с с о р . Так называе­ мое многофункциональное арифметическое устройство

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

® Л. Н. Королев

225

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

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

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

В состав центрального процессора входят 8 быстрых регистров, представляющие собой стек команд. Из глав­ ной памяти команды выбираются с упреждением и «за­ талкиваются» в этот стек одна вслед другой. На регистр команд поступает для исполнения команда из верхушки этого 8-словного стека. Прежде чем выбрать для испол­ нения новую команду, устройство управления анализи­ рует, не оказалась ли нужная команда в стеке. Таким образом, циклы, состоящие из небольшого числа ко­ манд, оказываются в этом стеке, и для выполнения их не требуется обращения к запоминающему устройству. За этот счет достигается значительное ускорение выпол­ нения циклов и общее сокращение времени выполнения программ, содержащих такого рода циклы.

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

220

лах, обычно очень небольшое, и они оказываются в магазине.

В состав центрального процессора входят 8 прямо адресуемых в команде быстрых регистров для операндов, размер которых равен 60 разрядам, т. е. равен размеру слова в основной памяти. Арифметическое устройство может выбирать операнды только из этих регистров и ре­ зультаты вычислений также отправлять в эти регистры. Соответственное отражение это нашло в системе команд. Арифметические команды, т. е. команды, указывающие на необходимость выполнения арифметических и логи­ ческих действий, состоят из 15 разрядов. Шесть старших разрядов содержат код операции, и 9 разрядов содержат два номера регистров операндов и номер регистра ре­ зультатов. Таким образом, эти команды трехадресные, в которых адресуются лишь быстрые регистры.

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

рых регистра операндов связаны с памятью

по записи.

t Пять регистров связаны с памятью только

по считы­

ванию.

Каждому 60-разрядному регистру операнда поставлен в соответствие 18-разрядный адресный регистр и также 18-разрядный индексный регистр.

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

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

Следует обратить внимание на интересную особенность организации связи регистров операндов и результатов (Х-регистров) с адресными регистрами (А-регистра1ш)«

8*

227

Всякое изменение содержания адресных регист­ ров А1—А5 влечет за собой считывание из главной па­ мяти 60-разрядных слов и пересылку их в соответствую­ щие Х-регистры (XI—Х5). Считывание производится по измененному адресу, указанному в A-регистрах. Вся­ кое изменение адресных регистров с номерами А6 и А7 влечет за собой отсылку информации из соответствую­ щих Х-регистров (Х6 и Х7) в главную память по новому адресу, установленному в этих адресных регистрах. Ад­ ресные регистры могут менять свое содержание в ре­ зультате выполнения целого ряда команд. В том числе некоторые команды позволяют пересылать содержание Х-регистров в A-регистры. Это позволяет использовать весь набор арифметических возможностей центрального процессора для исчисления адресов. Но главным обра­ зом содержание A-регистров меняется при исполнении команд 30-разрядной структуры, в которых 18-разряд- ное поле адреса используется для записи нового содер­ жания в A-регистры или для изменения их содержимого на величину, указанную в этом поле. Для изменения ад­ ресов главной памяти в циклах используются команды, прибавляющие содержимое индексных регистров к со­ ответствующим A-регистрам. Очевидно, что такая сис­ тема позволяет на уровне программирования заботиться о том, чтобы информация была заранее считана в быст­ рые регистры операндов и арифметическое устройство не ожидало ее поступления из памяти. Средняя скорость машины CDC-6600 оценивается в 3,5 млн. операций в се­ кунду, однако, как утверждают разработчики, при оп­ тимальном программировании она может быть значи­ тельно повышена. Кроме Х-регистров, A-регистров и В-регистров в состав центрального процессора входят следующие управляющие регистры:

Р е г и с т р н о м е р а к о м а н д ы (Р-регистр). Этот 18-разрядный регистр служит счетчиком командных слов. В каждом 60-разрядном командном слове могут располагаться либо четыре команды короткого формата (15 разрядов), либо две команды длинного формата, либо смесь из длинных и коротких команд, не выходящих за размер слова.

Р е г и с т р о б щ е й б а з ы (Reference Adress — RA). При всяком обращении к команде ее адрес обра­ зуется как RA+ Р. Это позволяет операционной системе

228

размещать программы в любом месте памяти, настраивая лишь соответствующим образом регистр базы RA.

Р е г и с т р д л и н ы п о л я п р о г р а м м ы (FL). В этом регистре размещается относительная гра­ ница исполняемой в данный момент программы. Эта гра­ ница служит для защиты областей памяти одних прог­ рамм от других в мультипрограммном режиме. Его зна­ чение устанавливается операционной системой.

Р е г и с т р с т а т у с а п р о г р а м м , и л и р е ­ г и с т р у с л о в и я в ы п о л н е н и я п р о г р а м - м ы (Exit Mode — ЕМ). Его роль сводится главным об­ разом к хранению условий останова программы пользо­ вателя: нормальный останов, останов по выходу адреса из указанных пределов, выходу результата за разряд­ ную сетку (переполнение, потеря значимости) и т. д.

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

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

Один из периферийных процессоров центрального вы­ числителя обязан непрерывно (с должной частотой) сле­ дить за состоянием центрального процессора и в том случае, когда он вышел на останов, предпринимать соот­ ветствующие действия. Как это ни парадоксально, но в своей работе мощный центральный процессор полностью подчинен одной из периферийных машин, которые разра­ ботчиками названы: Peripheral and Control Processors,

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

директива «смены

задач» — команда Exchange Jamp.

На русский язык

это следует, по-видимому, перевести

как переход со сменой задачи. Команда «перехода со сменой» может быть сформирована любым из перифе­

229

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