книги из ГПНТБ / Королев, Л. Н. Структуры ЭВМ и их математическое обеспечение учебное пособие
.pdfнеобходимую информацию из соответствующих групп. В свою очередь в динамике счета организуются ссылочные таблицьт листов, расположенных в оперативной памяти. Для каждой задачи, находящейся в активной форме, фор мируются свои динамические таблицы активных листов. Этих таблиц может быть несколько. Одна, как правило, связана со списком листов, в которых расположена объектная программа, вторая — со списком листов, со держащих таблицы имен, третья — с листами, содержа щими данные. Таким образом, доступ к информации в машине СИМВОЛ многоступенчатый и требует мно гократных обращений к запоминающему устройству. Это те жертвы, которые приходится приносить ради дости жения полного динамизма и практического отсутствия ограничений на длину операндов и структуру данных. Как утверждают авторы, всего лишь 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