Author: Смирнов Ю.М. Заморин А.П. Ломов Ю.С. Ораевский К.С. Слуццуий А.И.
Tags: компьютерные технологии вычислительная техника микропроцессоры машиностроение эвм
ISBN: 5—06—000541—0
Year: 1989
ЭВМ
общего
назначения
ZS\ ПЕРСПЕКТИВЫ
t ) РАЗВИТИЯ
ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
В одиннадцати книгах
Под редакцией
лауреата Государственной премии СССР
проф. Ю.М.Смирнова
ЭВМ
общего
назначения
Москва
«Высшая школа» 1989
ScanAAW
ББК 32.97
П 27
УДК 681.3
Рекомендовано Государственным комитетом СССР по народ-
ному образованию для использования в учебном процессе
Ю. С. Ломов, К. С. Ораевский, А. П. Заморин,
А. И. Слуцкин
Рецензенты:
кафедра вычислительной техники Московского института
электронного машиностроения (зав. кафедрой проф. П. П. Сып-
чук); проф. П. В. Нестеров
Перспективы развития вычислительной техники:
П 27 В 11 кн.: Справ. пособие/Под ред. Ю. М. Смирнова.
Кн. 3: ЭВМ общего назначения/Ю. С. Ломов,
К- С. Ораевский, А. П. Заморин, А. И. Слуцкин. —
М.: Высш, шк., — 1989. — 143 с.: ил.
ISBN 5—06—000541—0
В пособии рассматриваются перспективы развития архитектуры,
организации внутренней структуры, принципов работы ЭВМ общего
назначения.
2405000000—120
001(01)—89
198—89
ББК 32.97
6Ф7
ISBN 5—06—000541—0
© Издательство «Высшая школа»,
1989
Введение
Средства вычислительной техники все ши-
ре используются в различных сферах интеллектуальной
деятельности человека, проникая практически во все от-
расли народного хозяйства, существенно меняя характер,
интенсивность и эффективность научных исследований,
производства и управления. В то же время это обстоя-
тельство определяет постоянное совершенствование и
развитие самих средств вычислительной техники, повы-
шение их эффективности, улучшение технико-экономиче-
ских характеристик и введение новых свойств и качеств,
отражающих возрастающие потребности практики.
Определяющую роль в развитии средств вычислитель-
ной техники (СВТ) играли и продолжают играть ЭВМ
общего назначения, занимающие в мировом парке
ЭВМ ведущее место как по количеству, так и по суммар-
ной производительности. Появление во второй половине
60-х годов миникомпьютеров, а в последнее десятилетие
и микроЭВМ (персональных ЭВМ) не только не сокра-
тило область применения ЭВМ общего назначения, а, на-
оборот, расширило ее. Появились комбинированные сис-
темы, в которых информация подвергается первичной об-
работке на мини- и микроЭВМ, а затем передается на
централизованное хранение и обработку в ЭВМ общего
назначения. Не повлияло на позиции ЭВМ общего назна-
чения и появление вычислительных машин сверхвысокой
производительности. В общем случае такое положение
объясняется тем фактом, что различные классы машин,
как правило, имеют различные области применения и не
столько конкурируют, сколько дополняют друг друга.
Естественным развитием ЭВМ общего назначения
явились ЭВМ, называемые универсальными. Основная
область применения их — область научных расчетов,
наибольшего развития в которой универсальные ЭВМ до-
з
стигли в 50-е годы. В начале 60-х годов во все более
возрастающем масштабе началось использование вычис-
лительной техники для решения планово-экономических и
информационно-логических задач. Задачи невычисли-
тельного характера стали занимать значительную долю в
общем объеме обработки информации и эта доля продол-
жала неуклонно расти. Таким образом, в середине 60-х го-
дов сложились архитектура, логическая структура и
принципы работы ЭВМ общего назначения как универ-
сального средства преобразования информации в цифро-
вой, буквенной и графической форме.
Постоянно увеличиваются темпы разработки, произ-
водства и внедрения современных ЭВМ общего назначе-
ния, архитектура и организация структуры которых не-
прерывно развиваются. Наиболее существенными особен-
ностями этого развития являются:
— повышение интеллектуальности и доступности
ЭВМ;
— развитие аппаратно-программных средств (меха-
низмов) поддержки новых архитектурных направлений,
в том числе виртуальности и интеллектуальности;
— увеличение производительности при одновремен-
ном снижении стоимости ЭВМ, энергопотребления и
материалоемкости;
— развитие системы команд и повышение точности
вычислений;
— развитие специализированных аппаратных средств,
повышающих эффективность ЭВМ в режимах мультипро-
граммирования, разделения времени, телеобработки, мно-
гомашинной и многопроцессорной работы;
— развитие системы. программного обеспечения, под-
держивающей новые формы работы ЭВМ и новые техни-
ческие средства;
— развитие системы ввода-вывода, повышение ее
пропускной способности и развитие периферийного обо-
рудования;
— развитие системы контроля, средств диагностики
неисправности и поддержания непрерывного вычисли-
тельного процесса при сбоях и отказах аппаратуры.
Развитие архитектурных свойств ЭВМ привело и к но-
вому подходу в проектировании ЭВМ. Стало возмож-
ным проектирование не отдельной ЭВМ, а семейства (ря-
да) программно-совместимых ЭВМ общего назначения,
охватывающего широкий диапазон производительности,
которая увеличивается от младшей модели к старшей.
4
В то же время семейство ЭВМ с точки зрения архитекту-
ры и принципов работы (совокупность взаимных требо-
ваний и связей между аппаратной и программной сос-
тавляющими) представляет собой как бы одну вычисли-
тельную машину.
По производительности семейство ЭВМ общего назна-
чения принято разделять на три класса машин (моделей):
младшие, средние и старшие (высокопроизводительные).
Кроме того, вычислительную мощность каждой модели
можно повысить объединением двух процессоров много-
процессорными связями. Как правило, в пределах одного
семейства производительность каждой последующей мо-
дели выше, чем производительность двухпроцессорной
системы, построенной на основе предыдущей модели. Кон-
кретные количественные показатели производительности
для каждого класса ЭВМ являются условными и меняют-
ся по мере развития ЭВМ общего назначения. В настоя-
щее время младшие ЭВМ имеют производительность (на
процессор) до 1 млн. команд/с, ограниченный объем
оперативной памяти (ОП) и интегрированные в процес-
сор каналы ввода-вывода. Средние ЭВМ имеют произво-
дительность до 5 млн. команд/с, значительный объем ОП,
выделенные средства управления вводом-выводом.
Старшие ЭВМ имеют производительность свыше
10 млн. команд/с, предельно допустимые объем ОП и
количество автономных средств управления вводом-вы-
водом.
В настоящее время наметилась устойчивая тенденция
к расширению классов ЭВМ в пределах одного семейства
как «вверх», так и «вниз».
СуперЭВМ, появившиеся в середине 70-х годов как
машины, предназначенные для решения трудоемких
научных и инженерных задач, и обладающие экстремаль-
ными значениями параметров по производительности при
решении некоторого класса задач, поставили чрезвычай-
но актуальную задачу создания суперЭВМ общего назна-
чения. Это достигается объединением функций высоко-
производительных ЭВМ общего назначения с функциями
специализированных сверхпроизводительных процессо-
ров, что позволяет получить сверхвысокую производи-
тельность, сохранив при этом достоинства ЭВМ общего
назначения и ее обширное программное обеспечение.
Одновременно развиваются программно-совместимые
с ЭВМ общего назначения высоконадежным и экономич-
ные миниЭВМ (производительностью до 100 тыс. команд/с)
5
и персональные ЭВМ. Персональные ЭВМ — это новый
класс ЭВМ, обладающих технико-экономическими харак-
теристиками микроЭВМ с функциональными возможнос-
тями ЭВМ общего назначения, Эти ЭВМ обладают разви-
той малогабаритной периферией, встроенным программ-
ным обеспечением, помогающим упростить общение чело-
века, имеющего минимальную профессиональную подго-
товку, с ЭВМ.
Несмотря на то что ЭВМ общего назначения являют-
ся универсальными по своему назначению, они могут
включать в свой состав специальные средства обработки
(спецпроцессоры), средства удаленных систем сбора и
предварительной обработки (терминальные ЭВМ), сред-
ства организации локальных сетей и центров коммутации
в сети ЭВМ, локальные и удаленные абонентские пункты
на базе персональных ЭВМ и т. д.
В предлагаемой книге рассматривается большинство
из указанных вопросов. Основное внимание при этом
уделено перспективам развития архитектуры и организа-
ции структуры центральной части ЭВМ общего назначе-
ния, а также вычислительных комплексов на их основе.
Знакомство с данной публикацией безусловно поможет
более правильно понять проблемы современной вычисли-
тельной техники в части ЭВМ общего назначения с уче-
том того, что время расширит и скорректирует изложен-
ные в ней положения.
Глава Архитектура ЭВМ
и основные направления
ее развития
1.1. Основные свойства архитектуры ЭВМ
общего назначения
ЭВМ общего назначения предназначены
для применения в различных областях народного хозяй-
ства при решении широкого круга научно-технических,
экономических и информационно-логических задач.
В соответствии с назначением и областью применения
к наиболее существенным свойствам архитектуры и харак-
теристикам ЭВМ общего назначения можно отнести:
универсальность; совместимость; развитое программное
обеспечение; агрегатность технических средств и широкая
номенклатура периферийных устройств; высокая техноло-
гичность; соответствие широко распространенным миро-
вым стандартам.
Универсальность обеспечивает возможность
одинаково эффективно решать задачи различных классов
практически для всех областей деятельности. Это достига-
ется прежде всего
— универсальной системой команд, содержащей кроме
операций двоичной арифметики (с фиксированной и пла-
вающей запятой) полный набор операций десятичной
арифметики с операндами постоянной и переменной длины,
широкий набор логических операций над байтами, словами
и полями переменной длины, а также широкий набор опе-
раций переходов, редактирования и управления системой;
— универсальной логической структурой, имеющей
обязательные (стандартные) аппаратные и программные
средства для всех моделей ЭВМ, образующих единое
семейство;
— сбалансированностью входящих в нее устройств по
быстродействию и потокам информации между ними.
Совместимость достигается аппаратно-про-
7
граммными средствами с целью создания единого при-
кладного и системного программного обеспечения для всех
моделей ЭВМ общего назначения одного семейства. За
счет совместимости обеспечивается одинаковость резуль-
татов реализации программ и перенос программных
средств между различными моделями ЭВМ. Достижение
полной (абсолютной) совместимости представляется
очень сложной задачей, поэтому в большинстве случаев
ограничиваются частичной совместимостью, а именно,
совместимостью «снизу вверх», при которой программы,
разработанные для менее мощной (младшей) ЭВМ,
должны обязательно и с тем же результатом проходить
на более мощной (старшей) ЭВМ. Перенос программ от
старшей модели ЭВМ к младшей ограничен. Но даже в
этом случае должна обеспечиваться совместимость по
крайней мере на четырех уровнях аппаратно-програм-
мных средств: аппаратных средств; операционной систе-
мы и пакетов, ее расширяющих; языковых интерфейсов
системы программирования; пользовательских средств.
С развитием технических средств обработки информа-
ции тесно связано развитие программного
обеспечения, ориентированного на конкретные
структурные и функциональные возможности аппаратуры,
позволяющие эффективно решать задачи пользователя.
Для ЭВМ общего назначения операционная система
стала неотъемлемой частью, представляющей собой про-
граммное расширение аппаратных средств ЭВМ. Она по-
зволяет настраивать и автоматизировать работу техниче-
ских средств для конкретных применений в зависимости
от требований пользователя в режиме многопрограммной
пакетной обработки или коллективного использования
ЭВМ.
Агрегатный принцип построения техниче-
ских средств, стандартный интерфейс ввода-вывода, по-
зволяющий подключать различные по назначению пери-
ферийные устройства широкой номенклатуры, в совокуп-
ности с программным обеспечением позволяют строить
конкретный вычислительный комплекс, наиболее подходя-
щий для заданного применения с учетом требований к
производительности, функциональным возможностям и
набору периферийных устройств.
Высокая технологичность обеспечивает
возможность крупносерийного производства и высокую
технико-экономическую эффективность ЭВМ общего на-
значения.
8
Соответствие широко распространен-
ным стандартам позволяет обеспечить совмести-
мость с мировым парком ЭВМ общего назначения в
части представления информации, способов сопряжения
и организации обмена данными.
Основные свойства архитектуры ЭВМ общего назна-
чения можно проиллюстрировать на примере ЭВМ Еди-
ной системы (ЕС ЭВМ), которая составляет основу пар-
ка отечественной вычислительной техники, наиболее полно
отражающей состояние и перспективу развития ЭВМ об-
щего назначения. На рис. 1.1 представлена базовая
структура модели ЕС ЭВМ, отражающая техническую
реализацию архитектуры ЭВМ общего назначения.
В структуре модели ЕС ЭВМ можно выделить следую-
щие наиболее существенные подсистемы: управления и
обслуживания, обрабатывающую, памяти, ввода-вывода,
периферийных устройств и телеобработки данных. Все
эти подсистемы имеют различные функциональные назна-
чения и отличаются уровнем логической организации.
Подсистема управления и обслужи-
вания, представленная пультом управления, обеспечи-
вает работу ЭВМ в режимах оператора (при организа-
ции вычислительного процесса) и инженерного обслужи-
вания.
Обрабатывающая подсистема (цент-
ральный процессор — ЦП) является устройством, непо-
средственно осуществляющим обработку данных и управ-
ление другими устройствами ЭВМ. Архитектура ЕС ЭВМ
предусматривает использование в одной системе до 16 ЦП.
Подсистема памяти — средства памяти, ис-
пользуемые для хранения информации, необходимой для
текущего процесса обработки данных. Центральный про-
цессор использует информацию в основной памяти также
и для управления системой. Как правило, основная па-
мять является оперативной.
Подсистема ввод a-в ы в о д а обеспечивает
ввод и вывод информации в ЭВМ, осуществляя связь с
ЦП и ОП, с одной стороны, и периферийными устройст-
вами, с другой.
Подсистема периферийных устройств
выполняет функции хранения, ввода и вывода информа-
ции. В ее состав входят: внешние запоминающие устрой-
ства (ВЗУ) — накопители на магнитных дисках (НМД)
и магнитных лентах (НМЛ); устройства ввода-вывода
(УВВ); устройства группового управления внешними
9
Рис. 1.1. Схема базовой структуры ЭВМ Единой системы
устройствами (УВУ). Подсистема допускает значитель-
ное расширение как по составу, так и по количеству
периферийных (внешних) устройств. Подсистема перифе-
рийных устройств практически не зависит от выбранной
организации и технических параметров центральных уст-
ройств.
При использовании стандартной схемы подключения
канал — устройство управления — внешнее запоминаю-
щее устройство к процессору можно подсоединить не-
сколько каналов, к каналу — несколько УВУ, а каждое
УВУ способно обслужить несколько ВЗУ.
Для расширения гибкости и повышения надежности
системы доступа используется многоканальный комму-
татор, позволяющий УВУ подключаться к двух каналам
и более. Устройства управления предназначены для управ-
ления периферийными устройствами. Физически они могут
быть расположены в самих периферийных устройствах,
в процессоре, каналах или выполнены как отдельные
устройства, но в любом случае сохраняется реализация
всех возможностей, обеспечивающих работу каналов с пе-
риферийным оборудованием.
Подсистема телеобработки выполняет
функции связи с удаленными абонентами. В ее состав
входят: процессоры телеобработки данных (ПТД), ло-
кальные и удаленные абонентские пункты (АП). ПТД
является программируемым специализированным процес-
сором для установления связи с удаленным абонентом,
поддержания процесса передачи информации, контроля
достоверности данных и доступности линий передачи
данных.
В архитектуре ЭВМ ЕС следует выделять обязатель-
ные и дополнительные средства. К обязательным относят-
ся средства, обеспечивающие функционирование под
управлением стандартных программных средств; к допол-
нительным — те средства, отсутствие которых не влияет
на совместимость, но обеспечивает более эффективное
применение ЭВМ (средства с плавающей запятой, век-
торные операции, виртуальная память, специализирован-
ные средства обработки информации и др.). Так, опыт
работы с матричными спецпроцессорами, входящими в
состав моделей ЕС 1035, ЕС 1045 и ЕС 1055, показал, что
при увеличении объема оборудования всего на 20—30 %
возможно повышение производительности ЭВМ при ре-
шении отдельных задач в десятки раз.
п
1.2 Основные концепции и этапы развития
архитектуры ЭВМ общего назначения
При рассмотрении системы построения
ЭВМ общего назначения принято говорить об «архитек-
туре ЭВМ», вкладывая в это понятие единый для ряда
ЭВМ набор функциональных средств и принципов обра-
ботки данных, определяющий общие концепции построе-
ния ЭВМ общего назначения, основу их программной
и аппаратной совместимости. Иными словами, под архи-
тектурой ЭВМ понимается совокупность свойств и основ-
ных характеристик, наиболее существенных для пользо-
вателя, показывающих возможности применения ЭВМ.
Именно развитие архитектуры ЭВМ отражает наиболее
важные аспекты в эволюции СВТ [1].
Анализ тенденций в изменении разделения труда меж-
ду человеком и машиной (табл. 1.1) показывает, что
устойчивой тенденцией в развитии архитектуры ЭВМ
является концепция увеличения доли ма-
шинного труда в общем процессе постановки и
решения задач на ЭВМ, т. е. повышение ее интеллекту-
альной способности.
ф Все более сложные процедуры от человека переда-
ются машине, и поэтому интеллектуализация ЭВМ —
устойчивая закономерность развития вычислительной
техники. Иными словами, ЭВМ общего назначения в сво-
ем развитии эволюционизирует к системам искусственно-
го интеллекта.
Известные модели систем искусственного интеллек-
та [2], как правило, имитируют поведение человека при
решении интеллектуальных задач. Они включают в себя
средства памяти (базу знаний) и механизмы обработки
информации (процессоры). Под знаниями понимается
любая информация, являющаяся атрибутом системы,
т. е. информация, которая используется системой для
выполнения ее функционального назначения. Иными сло-
вами, знания — это структурированные данные, относя-
щиеся к различным проблемным применениям, а также
процедурно-заданные способы (алгоритмы) поведения
системы.
Принято разделять знания по функциональному на-
значению на интерфейсные, прикладные и системные.
Интерфейсные знания — это знания, определяющие
способы взаимодействия с внешней средой. К ним отно-
12
Исполнитель работ Выполняемые процедуры
Пользователь ЭВМ Системный аналитик 1 Прикладной програм- мист . У Системный программист Программист кодиров- щик У Оператор ввода-вывода Транслятор и редактор 1 Решатель-и нтерпрета - тор Формирование условия задачи: цели, технические требования, ожидаемые результаты Выбор алгоритма решения, спе- цификация структуры и функций программных модулей Разработка логической струк- туры программных модулей, под- готовка текста программы Привязка программ к операци- онной среде, спецификация про- цессов и ресурсов Перенос программы на носители для ввода в ЭВМ, проверка ин- формации Контроль ввода и выполнения заданий,сервисные функции Преобразование текста про- граммы, привязка к ресурсам ЭВМ Исполнение программы, редак- тирование и вывод результатов
Та блица 1.1
Используемые знания
Поколения ЭВМ
I II III IV V VI
Опыт постановки подобных за-
дач. Проблемные знания о при-
кладной области
Процедурные знания о вычис-
лительных методах и типовых
алгоритмах
Процедурные знания о языках
программирования. Проблемные
знания о предметной области
Системные знания о ресурсах
системы и средствах управления
процессами
Интерфейсные знания о прави-
лах кодирования
Системные знания о средствах
ввода-вывода и принципах управ-
ления процессами обработки
Интерфейсные знания о вход-
ных языках, принципах кодирова-
ния информации
Процедурные знания о стан-
дартных функциях и процедурах
обработки
Машина
сятся знания о языках общения, принципах коммуника-
ции, формах представления информации.
Прикладные знания — это формализованная инфор-
мация, содержащая смысловые понятия, отношения, об-
разы поведения, а также способы формирования новых
понятий (знаний). К прикладным знаниям относятся про-
цедурные знания об умениях (модели типовых решений,
способы доказательств, стандартные формы преобразова-
ний и др.) и проблемные знания о внешней среде (модели
среды, вероятные ситуации, возможные реакции среды на
воздействия, инвариантные закономерности и др.).
Системные знания — это знания о самой системе (мо-
дель системы, возможные состояния, ресурсы, способы
доступа, принципы взаимодействия, алгоритмы управле-
ния, контроля и восстановления) — обо всем, что исполь-
зуется для управления процессом перемещения и обработ-
ки данных, распределения и контроля использования ре-
сурсов и т. п.
Механизмы обработки включают в себя ряд функцио-
начальных процессоров. Интерфейсный процессор осу-
ществляет общение с внешней средой и преобразование
входной информации во внутреннюю форму представле-
ния. Процессор логического вывода на основе семантики
входного сообщения и имеющихся проблемных знаний
осуществляет постановку задачи и планирование работ.
Процессор решения задач осуществляет заданную обра-
ботку информации.
Принято эволюцию развития ЭВМ делить на поколе-
ния [3]. Каждое поколение характеризуется такими по-
казателями, как уровень элементной базы, функцио-
нальные возможности (архитектура) и уровень развития
программных средств. С учетом основной концепции раз-
вития архитектуры целесообразна классификация поколе-
ний ЭВМ общего назначения по уровню их «интеллекта»,
приведенная в табл. 1.2, где за основу взят уровень раз-
вития операционной среды ЭВМ, уровень знаний в ЭВМ и
уровень языков общения между пользователем и ЭВМ.
Она отражает подход к типизации поколений вычисли-
тельных средств на основе их интеллектуальной способ-
ности, что позволяет не только показать качественное
различие поколений ЭВМ, но и выявить определяющие
тенденции их развития, актуальные на сегодня. Особо
следует отметить как одну из наиболее важных
закономерностей развития ЭВМ — постоянное воз-
растание уровня знаний. Так, I поколение
14
Табл иц а 1.2
Определяющие свойства поко-
ления ЭВМ
Операционная среда:
искусственный «разум»
машина:
интеллектуальная
объектная
виртуальная
процедурная
реальная
Уровень знаний:
метазнания
знания:
общие
проблемные
системные
интерфейсные
процедурные
Языки общения:
естественные
прикладные
функциональные
диалоговые
процедурные
машинные
Поколения ЭВМ
I II III IV V VI
0 0 0 0 0 1
0 0 0 0 1 X
0 0 0 1 X X
0 0 1 X X X
0 1 X X X X
1 X X X X X
0 0 0 0 0 -1
0 0 0 0 1 1
0 0 0 1 1 1
0 0 1 1 1 1
0 1 1 1 1 1
1 1 1 1 1 1
0 0 0 0 0 1
0 0 0 0 1 1
0 0 0 1 1 1
0 0 1 1 1 X
0 1 1 1 X X
1 1 1 X X X
Примечание. 1/0 — наличие/отсутствие свойства; X —
неопределяющее (необязательное) свойство.
обладало процедурными знаниями. II поколение — кроме
того, и интерфейсными знаниями, III поколение — уже
и системными знаниями. Одновременно возрастал объем
проблемных знаний. Так как интеллект предполагает на-
личие всех видов знаний, то с появлением ЭВМ III поко-
ления можно ассоциировать первые интеллектуальные
системы, развитие которых прослеживается сегодня до
VI поколения.
Новые качества архитектуры ЭВМ IV поколения обе-
спечивают для пользователя возможность общения с ЭВМ
без необходимости знания ее устройств и принципов функ-
ционирования, возможность автоматизации своей деятель-
ности в части разработки программных систем, исполь-
15
зования больших банков данных с выходом на линии свя-
зи с сетями ЭВМ или сложными вычислительными систе-
мами.
Во многих странах, включая СССР, ведутся работы по
созданию ЭВМ V поколения, являющихся естественным
развитием ЭВМ общего назначения в направлении рез-
кого повышения доступности для пользователя. Для дости-
жения этой цели ЭВМ V поколения должны обеспечить
доступ к ЭВМ на языке проблемной области в естествен-
ной для пользователя форме (текст, речь, изображение
и др.,), наличие базовых прикладных систем и их настрой-
ку пользователем на конкретную предметную область,
наличие базы данных с аппаратно-программной реализа-
цией, поддерживающих огромное по сегодняшним пред-
ствлениям (до 1014 байт) хранилище разнообразных в
смысловом отношении знаний с эффективными методами
доступа, организацию вычислительных сетей на базе на-
иболее распространенных мини- и микроЭВМ и персональ-
ных ЭВМ, работающих в качестве коллективных или пер-
сональных абонентских пунктов пользователей [4]. По-
видимому, ЭВМ V поколения станут ядром распределен-
ных локальных, региональных или глобальных информа-
ционных сетей, персональных и коллективных интеллек-
туальных рабочих станций с доступом ко всему объему
общечеловеческих знаний, которые будут так же доступны,
как сегодня энергетические ресурсы.
Относительно ЭВМ VI поколения можно лишь предпо-
ложить, что это будут интеллектуальные системы, спо-
собные в значительной степени моделировать творческие
возможности человека: воспринимать естественные языки,
самостоятельно формировать знания (используя как ин-
струмент метазнания), выбирать алгоритм решения зада-
чи и т. п. Именно поэтому все больший интерес сегодня
вызывает изучение психологии и физиологии мыслитель-
ной деятельности человека и ее моделирование средствами
вычислительной техники [5].
Архитектура виртуальной машины. Основной концеп-
цией ЭВМ III поколения является совместное использо-
вание (разделение) ресурсов многими независимыми за-
даниями. Дальнейшее развитие архитектуры ЭВМ проис-
ходит в направлении более широкого применения прин-
ципа виртуального распределения ресур-
сов: ресурсы представляются по потребности, а не по воз-
можности. Одновременно каждому из независимых вы-
числительных процессов могут быть предоставлены (вир-
16
Виртуальные машины пользователей
Рис. 1.2. Концептуальная модель виртуальной машины
туально) затребованные ресурсы: центральный процессор,
основная память, подсистема ввода-вывода, внешние
устройства и программные средства (рис. 1.2), т. е. в од-
ной вычислительной системе может одновременно сущест-
вовать несколько виртуальных операционных сред (вир-
туальных машин). Предоставление физических ресурсов
реальной машины, осуществляемое автоматически, явля-
ется одной из основных функций управляющей програм-
мы системы (монитора виртуальных машин).
Виртуальный центральный процессор — это такая ор-
ганизация вычислительного процесса, когда несколько
единиц одной работы (задания) или группа независимых
работ (заданий) попеременно используют все время цент-
рального процессора вычислительной установки, логичес-
ки независимо друг от друга. При этом может изменяться
и состав используемых средств процессора.
Виртуальная основная память — это имитация такой
2—1370
17
основной памяти, размеры и диапазон адресов которой
определяются только потребностями программы, а не па-
раметрами реальной основной памяти вычислительной
системы. При этом виртуальная основная память облада-
ет всеми свойствами реальной основной. Полное прост-
ранство виртуальной памяти имитируется системой с ис-
пользованием средств внешней памяти. При этом единая
виртуальная память может разделяться между независи-
мыми единицами работы (заданиями) и каждому заданию
может быть предоставлено несколько виртуальных ад-
ресных пространств.
Виртуальный ввод-вывод — это имитация реальной
подсистемы ввода-вывода и периферийных устройств с
соответствующими блоками управления. Так же как и ре-
альные подсистемы, виртуальный ввод-вывод включает в
себя виртуальные каналы, виртуальные внешние устройст-
ва и виртуальные блоки управления. Виртуальному кана-
лу может соответствовать как обобщенный реальный ка-
нал, так и отдельный физический путь к устройству. По-
становка запроса в очередь к виртуальному каналу не
зависит от того, соответствует ли ему реальный канал
или нет. Аналогично, для операций обмена управляющая
программа назначает виртуальное внешнее устройство.
При размещении информации на виртуальных запоми-
нающих устройствах используются области на реальных
накопителях, однако, в частности, несколько виртуальных
накопителей на магнитных дисках могут обеспечиваться
одним реальным накопителем прямого доступа.
Для того чтобы реальные программы и компоненты
операционных систем могли работать с виртуальной под-
системой ввода-вывода, требуется наличие средств рас-
познавания попыток программы воспользоваться под-
системой ввода-вывода: при выполнении команды управле-
ние передается специальным программным компонентам,
которые имитируют функционирование виртуальной под-
системы ввода-вывода в реальной, в частности, преобра-
зование запросов и имитацию ответных сигналов.
В состав виртуального ввода-вывода могут быть вклю-
чены реальные компоненты: отдельные устройства (на-
пример, магнитные ленты), их блоки управления и каналы.
В этом случае временные параметры операций с виртуаль-
ными устройствами приближаются к временным парамет-
рам операций, выполняемых с реальными устройствами,
и необходимо минимальное преобразование запросов на
ввод-вывод.
18
Основным свойством архитектуры виртуальной маши-
ны является отсутствие в интерфейсе пользователя с ЭВМ
ограничений на предоставляемые ресурсы.
Соответственно архитектура виртуальной машины об-
ладает рядом важных достоинств: одно и то же задание
может быть выполнено на ЭВМ с различными конфигура-
циями устройств, возможны дальнейшее развитие ЭВМ и
адаптация новых технических средств, каждая виртуаль-
ная машина «абсолютно» надежна и имеет высокую сте-
пень защиты от «вмешательства» извне и др.
Архитектура объектной машины. Дальнейшим разви-
тием архитектуры виртуальной машины является архи-
тектура так называемой объектной машины,
характерным свойством которой является операционная
среда высокого уровня, определяемая в терминах про-
цессов и данных языков программирования, что позво-
ляет исключить полностью из интерфейса пользователя с
ЭВМ понятия реальной машины.
Концепция объектно-ориентированной архитектуры
(архитектуры объектной машины) предусматривает:
1) высокоуровневый объектный машинный язык, ис-
пользующий единое представление для всех объектов
задачи (программа, данные, файлы и др.) и команды вы-
сокого уровня для управления объектами;
2) одноуровневую память с практически неограничен-
ным адресным пространством и уникальными идентифика-
торами объектов, что делает возможным аппаратное уп-
равление доступом к информации во внешней памяти;
3) интегрированные в объектный язык средства уп-
равления процессами и данными, в том числе организации
базы данных, что существенно упрощает программиро-
вание;
4) интегрированные в аппаратуру средства управле-
ния ресурсами физического уровня, что упрощает функ-
ции операционной системы и делает их выполнение более
эффективным.
Наиболее значительное отличие архитектуры объект-
ной машины от архитектуры виртуальной машины за-
ключается в организации одноуровневой схемы управле-
ния памятью, при которой и внешняя, и основная память
рассматриваются как единое, одинаково адресуемое
пространство, разделенное на сегменты.
Объекты, которые представляют собой высокоуровне-
вые конструкции (программы, наборы данных, индексы
и др.), размещаются в одном или нескольких сегментах.
2*
19
Сегменты имеют оглавление, которое определяет тип и все
атрибуты объекта, а также дополнительные сегменты дан-
ного объекта. Вместо адресов используются указатели,
отсутствуют регистры и не осуществляется адресация
отдельных элементов внутри объектов. Указатель являет-
ся логическим адресом — уникальным идентификатором
объекта в системе, содержащим виртуальный адрес и дру-
гую информацию доступа.
Другое важное отличие объектной машины — интегра-
ция основных функций управления на уровень микро-
программ, что следует непосредственно из свойств объ-
ектного уровня машинного языка, который не содержит
традиционных команд управления ресурсами. Отсутствие
прямой связи между объектами и ресурсами делает воз-
можным интерпретацию объектной машины на различных
виртуальных машинах.
Однако режим интерпретации объектной машины тре-
бует мощных аппаратных средств на реальной машине.
Эффективность работы системы обеспечивается переносом
функций управления системой на специализированные
функциональные процессоры: например, процессор ввода-
вывода и сервисный (или управляющий) процессор. По-
этому одним из сопутствующих признаков объектной
машины является функционально-ориентированная орга-
низация: отдельные системные функции выполняются не-
зависимыми специализированными устройствами.
Архитектура объектной машины еще более приспо-
соблена к возможным эволюциям в будущем и позволяет
ее дальнейшее функциональное совершенствование. Свое-
образная «гибкость» архитектуры обеспечивается принци-
пиальными преимуществами широкого применения микро-
программного управления. С внедрением этой архитектуры
в системе значительно снижается объем управляющего
программного обеспечения, полностью исключаются ре-
сурсы системы из средств программирования, обеспечи-
ваются высокая надежность и эффективность функций
управления процессами, высокий уровень защиты про-
цессов и данных, появляется возможность выбора спо-
собов реализации (аппаратный, микропрограммный,
программный) и др.
Архитектура «интеллектуальной машины».
ЭВМ V поколения (интеллектуальная машина) следу-
ет понимать как систему обработки информации, являю-
щуюся естественным развитием ЭВМ общего назначения
в направлении повышения доступности для конечного
20
пользователя, т. е. удовлетворяющую требованиям поль-
зователей различных профессий и разной квалификации.
Для удовлетворения этих требований ЭВМ V поколения
должны иметь следующие основные возможности:
— интеллектуальный интерфейс, обеспечивающий до-
ступ пользователя к ЭВМ на языке проблемной области
в естественной для пользователя форме представления
информации (текст, речь, изображение и др.);
— развитые инструментальные системы программиро-
вания, обеспечивающие создание пользователем приклад-
ных программных систем и их настройку на конкретную
предметную область;
— базу разнообразных в семантическом и синтакси-
ческом отношении знаний, с развитыми механизмами
упорядочивания и поиска информации;
— средства организации распределенного доступа
пользователя к средствам хранения и обработки инфор-
мации, в виде общей сети интеллектуальных персональ-
ных ЭВМ, работающих в качестве сетевых АП.
Концептуальная схема интеллектуальной машины
представлена на рис. 1.3.
Подсистема общения (интеллектуальный
интерфейс) обеспечивает доступ к ЭВМ и непосредствен-
ное взаимодействие пользователя с ЭВМ в процессе по-
становки и решения задач, используя естественные формы
представления информации и понятия конкретной пред-
метной области. При этом должны использоваться средст-
ва ввода и предобработки (распознавания) информации,
трансляторы с языка пользователя на язык ЭВМ и преоб-
разователи с языка ЭВМ на язык пользователя, средства
синтеза, вывода, отображения и регистрации информации.
При необходимости запрашивается дополнительная ин-
формация от пользователя. Эта подсистема должна обе-
спечивать восприятие речи (естественного языка), гра-
фических изображений и т. п. Она реализуется путем
развития традиционных средств ввода-вывода в направле-
нии повышения уровня их интеллекта, переноса части
функций обработки на специализированные периферийные
процессоры.
Подсистема анализа и логического
вывода обеспечивает выполнение метафункций выбора
метода решения и синтезирования программ, с учетом
контекста и содержания задачи, которые дополняются
знаниями общего характера на базы знаний ЭВМ. Ре-
зультатом является формирование алгоритма решения.
21
V
Подсистема решения задач
Подсистема
управления и
обслуживания
Конвейерный
процессор
Матричный
процессор
Процессор
сервиса и
диагностики
V
Подсистема анализа и логического вывода
Лингвистический
. процессор
ПРОЛОГ,
ЛИСП-
процессоры
Процессор
распознавания
терминалы
Рис. 1.3. Концептуальная схема интеллектуальной машины
В отличие от традиционного программирования восприя-
тие задачи и синтез программы являются функцией маши-
ны. Формирование программы обработки данных осущест-
вляется с использованием знаний методов решения, со-
держащихся в базе знаний, соответственно осуществляет-
ся выбор вычислительных и логических средств ЭВМ,
обеспечивающих решение задачи и формирование задания
для выполнения. Сегодня эти функции являются привиле-
гией пользователя, однако определенные успехи в области
автоматизации программирования позволяют говорить о
возможности перенесения данных функций в ЭВМ.
Подсистема решения задач для областей
применения, требующих больших объемов вычислитель-
ных работ, потребует средства сверхвысокой производи-
тельности. Для этих целей могут быть использованы проб-
лемно-ориентированные спецпроцессоры.
Подсистема управления и обслужива-
ния обеспечивает надежность системы, в том числе пе-
ремещаемость программ и данных, автоматический конт-
роль и восстановление с целью поддержания живучести
системы и т. п.
База знаний должна обеспечивать накопление,
обработку и хранение разнообразных знаний, поддержи-
вающих функциональные возможности интеллектуальной
машины, в том числе: базу интерфейсных знаний (кото-
рые связаны с распознаванием вводимой информации),
базу проблемных знаний (содержащую прикладные зна-
ния для различных применений), базу процедурных зна-
ний (информация о методах решения проблем) и базу
системных знаний (сведения о системе). Знания — это
информация, являющаяся атрибутом системы. Иными сло-
вами, это структурированные данные, относящиеся к раз-
личным проблемным применениям, а также процедурно-
заданные способы (алгоритмы) поведения системы.
Предполагается, что ЭВМ V поколения станут ядром
распределенных систем и сетей обработки информации с
доступом посредством персональных ЭВМ и интеллек-
туальных терминалов.
1.3. Система команд ЭВМ
общего назначения и ее развитие
Система машинных команд, или машин-
ный язык, является определяющей частью архитектуры
ЭВМ общего назначения. Стремление повысить произ-
23
Архитектуры ЭВМ с расширенным набором команд Архитектуры ЭВМ с универсальным набором команд Архитектуры ЭВМ с ограниченным набором команд
Исходная проблема Исходная проблема Исходная проблема
Разработка алгоритма Программирование задачи Интерфейс / пользователя
Программа
Программа
Транслирование программы
Машинный язык Промежуточная фаза Г енерирование объектного кода 1 Программа
Интерпретация команд Машинный интерфейс
Интерпретация вертикального микрокода Машинный язык
Интерпретация команд
Интерпретация горизонтального микрокода Микрокоманда Интерпретация микрокода Машинный язык
Интерпретация команд
Аппаратура Аппаратура Аппаратура
Рис. 1.4. Эволюция системы команд ЭВМ общего назначения
водительность и эффективность ЭВМ всегда сопровожда-
лось изменением в системе машинных команд [6].
Именно система команд определяет интерфейс взаимо-
действия отдельных компонентов архитектуры, а значит,
и уровень ее развития.
Основная проблематика системы команд ЭВМ общего
назначения заключается в постоянном росте «семантиче-
ского разрыва» между все возрастающим уровнем языков
программирования и достаточно низким уровнем аппарат-
24
них механизмов обработки информации. С повышением
производительности вычислительных средств все более ак-
туальной становится задача обеспечения реальной эффек-
тивности, что достигается в случае соответствия уровня
операционной среды средствам и понятиям, в которых пред-
ставляются алгоритмы решаемых задач. В отношении раз-
вития архитектуры ЭВМ существует несколько направле-
ний решения данной проблемы (рис. 1.4).
Направления развития системы команд. Основное
(традиционное) направление развития касается та-
ких элементов машинных языков, как состав и содержание
операций, способы адресации и спецификации операндов.
Дальнейшее расширение областей применения ЭВМ тре-
бует постоянного развития аппаратных средств, которое
отражается и на расширении систем машинных команд:
в стандартный набор команд были включены команды де-
сятичной арифметики, преобразования и редактирования
алфавитно-цифровой информации, установки и модифика-
ции информации управления, передачи управления, орга-
низации вызова подпрограммы и др. Постоянная тенден-
ция развития системы команд ЭВМ общего назначения —
введение команд, допускающих комплексную обработку
данных, повышение содержательности уровня машинных
операций, что позволяет не только иметь более ком-
пактное представление программы, но и обеспечить наибо-
лее эффективную микропрограммную интерпретацию ма-
шинных команд. Развитие машинного языка связано так-
же с введением системно- и проблемно-ориентированных
расширений. Первое связано с введением в язык средств
поддержки функций операционной системы, второе — с
введением в язык элементарных вычислительных функций,
операций над массивами данных и т. п.
Проследив развитие машинных языков, можно обнару-
жить постепенное вынесение из команды информации об
аппаратных ресурсах. Прежде всего это относится к ад-
ресной части команды, которая определяет тип памяти,
регистры процессора и реальный адрес основной памяти.
Первые попытки аппаратными средствами добиться иск-
лючения реальных ресурсов из машинных языков приве-
ли к введению виртуальной памяти: при этом пользова-
телю предоставлялась возможность составлять програм-
му, используя большой объем адресуемой памяти, огра-
ниченный только возможностями адресации, заложенными
в формате команд.
Однако с возрастанием объема адресуемой памяти
25
традиционный механизм адресации становится громозд-
ким. Дальнейшим развитием виртуальной адресации яв-
ляется введение механизма ссылок. При этом адрес место-
положения объекта заменяется его условным номером в
структуре описания переменных или его псевдоименем в
системе. В этом случае удается практически полностью
отделить способ обращения к данным от физической ор-
ганизации памяти и приблизить систему адресации к опи-
санию обращения к переменным в языках высокого уров-
ня.
Вт ор ы м н а п р а в л ен и ем в развитии машинных
языков является переход к архитектурам ЭВМ с ограни-
ченным (упрощенным) набором команд. Это позволяет
значительно упростить аппаратуру и повысить произ-
водительность на ряде задач. Операционная среда макси-
мально приближена к аппаратуре, но это требует зна-
чительных затрат на этапах разработки алгоритма, про-
граммирования и транслирования программы. Как прави-
ло, требуется преобразование модели алгоритма в соот-
ветствии со структурой операционной среды, если она об-
ладает каким-либо свойством, позволяющим реализовать
заданную целевую функцию (например, сверхвысокую
производительность, технологичность и др.). Однако класс
задач, допускающих эффективное преобразование алго-
ритма решения, достаточно ограничен и обусловлен до-
полнительными требованиями, например высоким уровнем
распараллеливания задачи, однородностью среды и др.
Как правило, в этом случае приходится отказываться от
традиционных языков или методов программирования.
Примерами реализации подобного направления являются
машины с управлением потоком данных, машины с огра-
ниченным набором команд [1].
Третьим направлением в развитии машин-
ных языков является повышение уровня операционной
среды путем приближения уровней машинного языка и
внешних языков программирования. Учитывая большое
разнообразие языков и алгоритмов выполнения задач,
решение проблемы может быть найдено в статическом
выборе или динамическом преобразовании (настройке)
операционной среды в среду программирования.
Прежде всего это проявляется в развитии описания
типа данных. Машинные языки оперируют с различными
представлениями данных: числа с фиксированной и пла-
вающей запятой, десятичные и алфавитно-цифровые на-
боры данных. Наиболее распространено введение описа-
26
ния (типа данных) в код операции в команде. Для десятич-
ных чисел и текстовых данных, имеющих переменную
длину, описание частично задается кодом операции (тип),
а частично — специальным полем в команде (длина).
Из-за высокой скорости интерпретации такое представ-
ление является наиболее распространенным в настоящее
время.
Тип данных может содержаться и в адресной части
команды (вместе со ссылкой), что соответствует в большей
степени языкам программирования, особенно при разнооб-
разии видов данных. Такое представление перспективно
с учетом повышения уровня системы команд. Примером
является ЭВМ «Мир», в языке которой исключается описа-
ние данных и обеспечивается возможность текстового
представления элементов структур данных любой глубины,
сложности и характера.
Информация о типе данных может полностью выно-
ситься из команды и храниться в памяти вместе с дан-
ными. В этом случае каждому слову в памяти ставится в
соответствие группа дополнительных разрядов, которые не
участвуют в операциях, но служат для указания типа
данных. Решение об использовании конкретного устройст-
ва обработки принимается динамически во время выпол-
нения команды, в зависимости от типа обрабатываемых
данных. Такое представление удобно для языков програм-
мирования с динамически определенным типом данных.
Тенденция повышения уровня машинного языка про-
является не только в повышении независимости от физи-
ческих ресурсов, но и в стремлении ввести в машинный
язык более крупные типы данных, такие, как вектор, мат-
рица. Предлагается аппаратными средствами идентифици-
ровать такие типы данных, как разреженный вектор, мно-
госвязанный список, стек, очередь, набор параметров,
файл и др. Для эффективной реализации алгоритмических
языков высокого уровня в машинный язык ЭВМ вводятся
некоторые типы данных, имеющиеся в языках програм-
мирования, например метка, семафор, индекс, каталог,
очередь и др. Наличие таких типов данных облегчит уп-
равление ресурсами, параллельную и асинхронную об-
работку процессов. Наличие общего описания для струк-
тур однородных данных позволяет не только экономить
память, но и в отдельных случаях повышать скорость
обработки информации.
Однако, как следует из рис. 1.4, все три направления
в развитии машинных языков не противоречат друг другу.
27
Они отражают лишь разные подходы к достижению вы-
сокой эффективности процесса решения задач на ЭВМ.
Так, если имеет место многократное выполнение одной
и той же задачи, то скорость обработки информации яв-
ляется определяющим фактором. Если же решение задачи
сопровождается частыми общениями с пользователем, то
решающим оказывается фактор сокращения времени
компиляции. Поэтому именно третье направление отража-
ет наиболее важные тенденции в развитии СВТ — ЭВМ
с языком высокого уровня, программно-коммутируемые
среды, объектно-ориентированная архитектура и др. [7,8].
В соответствии с рассмотренными направлениями при-
ведем описание архитектуры ЭВМ с различными система-
ми команд.
ЭВМ с универсальным набором команд.
Особенностью принципов работы ЭВМ общего назна-
чения является чрезвычайно развитая универсальная
система команд: использование различных систем
счисления и способов представления данных, сочетания
различных методов адресации с широким набором опе-
раций логической и арифметической обработки данных,
операций ввода-вывода и управления системой и др.
Универсальные команды, как правило, используют два
операнда, которые содержатся в общих регистрах, ре-
гистрах с плавающей запятой, в основной памяти либо
непосредственно в команде. Результат операции помеща-
ется на место первого операнда.
С помощью набора команд с фиксированной запятой
осуществляются операции двоичной арифметики над
операндами, которые представляют любые данные фикси-
рованной длины, а также адресные константы, индексные
модификаторы или содержимое счетчиков. Набор команд
предусматривает выполнение операций загрузки регист-
ров, сложения, вычитания, умножения, сравнения, деле-
ния и записи содержимого регистров в память, операций
над знаками, преобразования основания систем счисле-
ния, сдвигов и др.
Команды с плавающей запятой предназначены для
выполнения вычислений, при которых значения операн-
дов изменяются в широком диапазоне, и за счет масшта-
бирования получаются результаты без потери точности.
Для представления данных в формате с плавающей за-
пятой используется шестнадцатеричная система счисле-
ния: каждые четыре бита мантиссы воспринимаются как
одна шестнадцатеричная цифра. В набор команд с пла-
28
вающей запятой входят команды загрузки, арифмети-
ческие, логические, преобразования и записи.
Широкий набор команд предусмотрен для логической
обработки данных (побитовой, побайтовой и пословной):
операции пересылки, сравнения, поразрядные преобразо-
вания, перекодирования, редактирования и др. Операнды
в этом случае рассматриваются как группа байтов, на-
ходящихся в памяти или в общих регистрах. В качестве
данных может быть слово, двойное слово, отдельный
символ (байт) или поле переменной длины до 256 байт.
Для некоторых команд размер поля обрабатываемых
данных ограничивается только объемом основной памяти.
Обычная последовательность выполнения команд из-
меняется командами перехода при обращении к подпро-
грамме, при выполнении цикла и в том случае, когда в
результате анализа некоторой информации требуется
принять решение. Обращение к подпрограмме осущест-
вляется командой ПЕРЕХОД С ВОЗВРАТОМ. Приня-
тие решений производится командой УСЛОВНЫЙ ПЕ-
РЕХОД. Для наиболее часто встречающихся комбина-
ций арифметических действий по продвижению индекса
или счетчика и проверок условий предусмотрены комбини-
рованные команды ПЕРЕХОД ПО СЧЕТЧИКУ и ПЕРЕ-
ХОД ПО ИНДЕКСУ.
В группу команд организации управления входят
команды для переключения состояния процессора, со-
стояния памяти и осуществления связи между система-
ми. Большинство этих команд являются привилегиро-
ванными, т. е. выполняются только в режиме работы
операционных систем (ОС). Так, команды организации
динамической переадресации данных формируют табли-
цы сегментов и страниц, находящихся обычно в основ-
ной памяти и динамически перемещающихся в буфер
динамической переадресации. Для организации муль-
тисистемной работы вводятся команды для обмена при-
казами, указывающие, какие действия должны быть вы-
полнены в процессоре. По команде ПРЯМОЕ ЧТЕНИЕ
или ПРЯМАЯ ЗАПИСЬ байт данных из одного процессо-
ра передается в область памяти другого процессора,
определенную адресом операнда.
Особую группу составляют команды ОБРАЩЕНИЕ
К СУПЕРВИЗОРУ и ОБРАЩЕНИЕ К МОНИТОРУ.
Эти команды позволяют запрограммировать прерывание
по какому-либо событию в программе с целью получе-
ния определенного вида обслуживания. Это дает воз-
29
можность осуществлять наблюдение за ходом вычисли-
тельного процесса, вести сбор статистики и др. По коман-
де ДИАГНОСТИКА процессор выполняет диагностичес-
кие процедуры.
Одним из наиболее существенных расширений машин-
ного языка ЭВМ является системно-ориентированное
расширение, предусматривающее реализацию отдельных
функций ОС средствами микропрограммирования. Как
показывают результаты экспериментальной проверки,
выполнение функций можно ускорить на порядок и бо-
лее, что существенно увеличит пропускную способность
системы.
Для повышения быстродействия виртуальных машин
за счет снижения затрат времени на выполнение функ-
ций монитора предусмотрено микропрограммное обеспе-
чение системы виртуальных машин (СВМ). При этом
выполнение отдельных фрагментов монитора виртуаль-
ных машин (МВМ) заменяется выполнением микро-
программ, реализующих те же функции за более корот-
кое время. Эти функции микропрограммного обеспече-
ния СВМ обрабатывают ряд привилегированных команд,
выполняемых виртуальными машинами, моделируют пре-
рывания, распределяют память, обеспечивают поддерж-
ку интервального таймера и предоставляют монитору
виртуальных машин возможность использовать новые
команды для выполнения часто встречающихся функций.
Введение в машинный язык команд для различных
прикладных применений позволяет осуществить проблем-
ную ориентацию ЭВМ, повысить эффективность решения
на определенных классах задач. Предусматривается ре-
ализация следующих видов операций: матричные, поби-
товой обработки, поиска информации и вычисления
элементарных функций.
При расширении набора операций поддержки при-
кладных применений возникает проблема размещения
микропрограмм в управляющей памяти из-за ее ограни-
ченного объема. Эту проблему можно решить, используя
систему динамического микропрограммирования, концеп-
ция которого базируется на следующих принципах:
использовании для хранения микропрограмм иерархи-
ческой памяти, оперативном перемещении микропрограмм
между уровнями иерархии с целью обеспечения высокой
вероятности нахождения адресуемой микрокоманды
на наиболее быстродействующем уровне памяти и мик-
ропрограммной реализации наиболее интенсивно исполь-
30
зуемых фрагментов программного обеспечения. Как
правило, система динамического микропрограммиро-
вания предлагает средства подготовки и отладки микро-
программ, средства включения микропрограмм в про-
граммное обеспечение и управления их функциониро-
ванием в программно-микропрограммной среде, средства
организации виртуальной памяти микропрограмм.
ЭВМ с ограниченным набором команд.
В начале 80-х годов произошли качественные изменения
в технологии производства электронных механизмов,
глубже были изучены методы компиляции программ.
Кратко результаты этого изменения можно сформули-
ровать так:
— развитие элементов полупроводниковой памяти
привело к тому, что основная память по такому парамет-
ру, как время обращения, приблизилась к памяти микро-
программ; в процессоре появилась быстрая буферная
память типа КЭШ, что позволило снизить эффективное
время доступа к основной памяти;
— память микропрограмм стала перезаписываемой,
поскольку микропрограммное обеспечение оказалось
значительным и его стало целесообразно хранить в памя-
ти фрагментарно; требования к памяти стали опережать
возможности ее роста, что привело к виртуализации
этой памяти и к размещению микропрограмм непосред-
ственно в основной (оперативной) памяти машин;
— введение в машинный язык сложных команд язы-
ка высокого уровня привело к «растягиванию» машин-
ных циклов, в результате чего простые команды стали
выполняться медленнее. Статистика по программам по-
казывает, что большинство выполняемых команд — прос-
тые команды; сложные команды трудны либо бесполезны
для использования их в генераторах объектных про-
грамм;
— возросшая сложность машин и их программного
обеспечения (виртуальная память, множество процессов
с ориентацией на разные микропрограммы) все больше
и больше требует введения возможностей, обеспечивае-
мых аппаратурой и микропрограммами на уровне команд;
— появилась возможность реализации СБИС-процес-
соров с внутренней памятью, что привело к тому, что
регистры стали намного эффективнее, чем другие виды
памяти (регистровая операция выполняется в 2—4 раза
быстрее, чем операция с основной памятью).
Анализ данных результатов показывает, что грань
31
между программированием и микропрограммированием
стирается. При этом применение больших наборов команд,
реализованных аппаратно или микропрограммно, оказы-
вается нецелесообразным; более эффективно применение
простых команд типа «регистр—регистр». Из приведенных
результатов практически следует один вывод: можно
отказаться от микрокоманды, заменив ее простой коман-
дой типа «регистр—регистр». Функции работы с аппара-
турой на уровне микрокоманд должны быть доступны
на уровне языка Ассемблера. Библиотека программ для
машины с ограниченным набором команд содержит
функции, реализованные микропрограммно.
Архитектурные принципы машинного языка с ограни-
ченным набором команд сводятся к следующему;
— функции команд должны быть простыми, если
только не существует серьезных причин для их усложне-
ния; например, если нужна новая операция, которая бы
увеличивала машинный такт на 10 %, то она должна
уменьшить количество тактов по крайней мере на 10 %;
— простая команда должна выполняться с той же
скоростью, что и микрокоманда; поскольку буферная
основная память изготовляется по той же технологии,
что и перезаписываемая память микрокоманд, микро-
команда не должна выполняться быстрее, чем простая
команда;
— простое декодирование команд и возможность их
конвейерного выполнения более важны, чем минимиза-
ция размера команд: команды должны иметь одина-
ковый простой формат и не должны находиться в раз-
личных словах памяти;
— команды перехода не должны вызывать наруше-
ния работы конвейера выполнения команд, т. е. условие
перехода должно распознаваться за несколько команд
до его выполнения;
— основные команды должны иметь тип «регистр —
регистр», лишь команды загрузки и записи должны ра-
ботать с операндами из памяти; команды должны быть
либо для обработки, либо для загрузки;
— число операций должно быть сокращено: операции
над регистрами выполняются за один цикл, а многоцик-
ловые операции, такие, как операции над числами с пла-
вающей запятой, либо выполняются процессорами, либо
реализуются программно;
— имеется лишь два простых способа адресации —
индексный и относительно счетчика адреса; более слож-
32
ные способы адресации получаются комбинацией этих
двух.
Естественно ожидать, что значительная нагрузка ло-
жится на компилятор: компиляторы должны использо-
ваться для упрощения генерируемых команд, а не для
генерации сложных команд; выполнять большую часть
преобразований, предписываемых программой, в про-
цессе компиляции, чтобы можно было использовать про-
стые команды при генерации машинных программ. Это
обстоятельство привело к тому, что процессоры с ограни-
ченным набором применяются в мини- и микроЭВМ и
специализированных контроллерах.
ЭВМ с расширенным набором команд.
Повышение уровня машинного языка является основной
тенденцией в развитии архитектуры вычислительных
систем. При сближении языка машины с входным языком
упрощается процедура трансляции, создаются условия
для высокой эффективности выполнения стандартных
процедур, предусмотренных входным языком, обеспечи-
вается большая независимость машинного языка от опе-
рационных ресурсов, упрощаются диалог пользователя
при работе с ЭВМ, отладка и внесение изменений в про-
грамму.
Указанные факторы в совокупности повышают эф-
фективность ЭВМ, особенно при эксплуатации в режиме
диалога с пользователями. Появление возможности ис-
пользования сверхоперативной постоянной или перезагру-
жаемой памяти привело к широкому применению микро-
программирования. Рост емкости памяти микропрограмм,
развитие принципов микропрограммирования для эффек-
тивной реализации программ (в частности, языков вы-
сокого уровня) выработали определенный взгляд на ар-
хитектуру машин:
— технология памяти микропрограмм постоянно со-
вершенствуется, поэтому стоимость памяти микропро-
грамм составляет лишь малую часть от общей стоимости
вычислительной машины;
— микрокоманды выполняются гораздо быстрее
команд машинного языка и хорошо контролируются,
поэтому микропрограммная реализация функций про-
граммного обеспечения позволит получить большее
быстродействие, а реализация функций станет более на-
дежной;
— введение большого количества сильно кодирован-
ных команд высокого уровня, реализуемых микропро-
3—1370 33
граммно, повышает скорость работы машины, так как
скорость выполнения зависит от размера программы;
— большой набор сложных команд упрощает созда-
ние компиляторов и уменьшает объем разрабатываемо-
го программного обеспечения;
— использование команд, ориентированных на работу
с регистрами, неудобно для представления объектных
программ в компиляторах; более эффективно использо-
вание команд для работы непосредственно с памятью
(типа «память — память»).
Таким образом, микропрограммирование — эффектив-
ный механизм интерпретации машинного языка высокого
уровня.
Существует несколько способов решения проблемы
интерпретации языка высокого уровня [7]:
1) прямая аппаратная реализация одного из рас-
пространенных процедурных языков (БЭЙСИК, ЛИСП
и др.). Такой способ повышения эффективности исполь-
зования машины применяется для определенного клас-
са задач (не для универсальных задач);
2) разработка нового универсального языка высокого
уровня, удобного для последующей его аппаратной
интерпретации (ряд ЭВМ «Мир», система «Символ»
и др.);
3) использование систем с машинным языком, синтак-
сически ориентированным на удобство компиляции и вы-
полнение языка высокого уровня (например, машин,
обеспечивающих аппаратную реализацию алголоподоб-
ных языков);
4) использование промежуточного машинного языка
высокого уровня, этапа предкомпиляции с последующей
интерпретацией (ЭВМ с объектно-ориентированной архи-
тектурой) .
Для аппаратной реализации входного языка обычно
используется микропрограммный интерпретатор с одного
или нескольких синтаксически подобных языков програм-
мирования*. Как правило, это языки, предназначенные
для использования в режиме интерактивного выпол-
нения программ.
Наибольшее распространение получила интерпрета-
ция языка БЭЙСИК, обусловленная простотой и стро-
гостью синтаксиса языка (что исключает необходимость
в сложных программных конструкциях), высоким уров-
нем содержательности операторов (что ведет к ограни-
чению набора идентификаторов), ограничением коли-
34
чества и соответственно исключением описания типов
переменных.
Прямая интерпретация в сравнении с компиляцией
существенно снижает скорость выполнения программы.
Это обусловлено тем, что при обработке циклических
участков и каждом вызове функций требуется повторная
расшифровка идентификаторов и констант. Поэтому, как
правило, прямая интерпретация состоит из нескольких
фаз обработки, т. е. осуществляется многоэтапный про-
цесс преобразования исходной формы представления опе-
ратора языка программирования в форму, приемлемую
для обработки и выполнения оператора.
Основные достоинства указанной интерпретации —
отсутствие промежуточной фазы представления програм-
мы, а значит, и отсутствие необходимости дополнитель-
ного управления; программа сохраняется в исходном ви-
де, что позволяет непосредственно вносить изменения,
облегчает диалоговую отладку и выполнение программы;
значительно экономит основную память, так как она вы-
деляется динамически под интерпретируемый оператор.
Однако это имеет и существенные недостатки, главным
из которых является значительное замедление процесса
выполнения программы. Именно поэтому рассматривае-
мая интерпретация получила распространение лишь при-
менительно к малым машинам.
Архитектура, синтаксически ориентированная на опре-
деленный язык программирования (например, на расши-
ренный язык АЛГОЛ), требует наличия определенных
средств: стека для хранения промежуточных результа-
тов и управляющих слов, теговой организации описания
данных, средств для динамического распределения памя-
ти. Система команд, отражающая этот подход, получила
название безадресной. Стек используется для вычисле-
ния выражения, обмена параметрами между процедура-
ми, сохранения информации при прерывании и передаче
управления. Для обращения вне стека используется кос-
венная адресация.
К достоинствам синтаксической ориентации машинно-
го языка относятся: более компактное (по сравнению
с традиционным) изложение программы на уровне ма-
шинного языка, динамическое распределение рабочей об-
ласти памяти под вызываемые процедуры, аппаратная
реализация входа и выхода из процедуры, эффектив-
ное вычисление выражений, представленных в «польс-
кой» записи, сохранение состояния вычислительного про-
3*
35
цесса при прерывании, значительное сокращение време-
ни в процессе компиляции исходной программы на уров-
не машинного языка. К недостаткам следует отнести
трудность эффективной реализации различных языков
программирования.
Появление концепции промежуточного машинного
языка отражает новое направление развития архитекту-
ры ЭВМ — создание «мягкой» (адаптивной) архитекту-
ры. Исходя из большого разнообразия языков програм-
мирования и сравнительно ограниченного набора средств
интерпретации оказалось целесообразным не фиксиро-
вать машинный язык, а создавать его в соответствии со
спецификой применения. При этом можно отметить два
уровня системы интерпретации:
— компиляция предложений исходного языка на про-
межуточный машинный язык, состав средств и форма
представления которого оптимизированы с точки зрения
исходного языка применений;
— микропрограммная интерпретация команд проме-
жуточного машинного языка, оптимизированных с точки
зрения процесса'интерпретации.
Это позволяет получить эффективный и ускоренный
процесс компиляции при эффективном процессе интер-
претации. При создании расширенного промежуточного
языка фиксируются некоторый базовый набор машинных
команд и средства описания новых конструкций и функ-
ций. При этом интерпретация осуществляется при
поддержке, например, программного интерпретатора
динамической компиляции новых языков конструк-
ций.
Основные достоинства данного направления — высо-
кая эффективность интерпретации с выбранного машин-
ного языка, ускорение процесса компиляции и высокое
качество объектных программ, полученных для различ-
ных языков программирования. Практически решаются
все проблемы развития систем интерпретации с учетом
создания языков программирования нового типа (функ-
циональные языки, языки логического программирования
и др.)- Наиболее характерная реализация данного на-
правления — объектно-ориентированная архитектура
[1].
36
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1.1. Назовите основное направление эволюции ЭВМ общего назначения.
1.2. Охарактеризуйте степень интеллектуализации ЭВМ различных по-
колений.
1.3. Что такое виртуальная машина?
1.4. Что такое объектная машина?
1.5. Что такое интеллектуальная машина?
1.6. Чем вызваны проблемы развития машинного языка?
1.7. Назовите преимущества и недостатки архитектуры с ограниченным
набором команд.
1.8. Назовите преимущества и недостатки ЭВМ с машинным языком вы-
сокого уровня.
1.9. Назовите достоинства и недостатки микропрограммной интерпрета-
ции машинного языка.
Глава
Развитие структуры ЭВМ
общего назначения
2.1 Основные направления
развития структуры ЭВМ
Развитие архитектуры неизбежно ведет к
развитию структуры ЭВМ. Под структурой ЭВМ будем
понимать определенным образом организованный комплекс
технических средств для оптимального выполнения функ-
ций, задаваемых архитектурой.
Реализация принципов интеллектуализации, которые
все больше определяют развитие архитектуры ЭВМ об-
щего назначения, возможна при совершенствовании струк-
турной организации, обеспечивающей повышение эффек-
тивности вычислительного процесса и, как следствие
этого, рост производительности ЭВМ. В конечном счете
условием и критерием развития структуры является
рост производительности ЭВМ.
Для ЭВМ общего назначения этот критерий имеет
свою особенность — производительность соизмеряется с
затратами на ее реализацию.
Таким образом, эффективность структуры ЭВМ обще-
го назначения определяется отношением производитель-
ности к стоимости или, другими словами, ценой опе-
рации, которая является некоторой интегральной харак-
теристикой, отражает и экономическую эффективность
использования ЭВМ при решении конкретных задач.
Ниже подробно рассматриваются структурные методы
повышения производительности как для ЭВМ в целом,
так и для отдельных ее подсистем. При этом следует
иметь в виду тот факт, что существование в одном
семействе ЭВМ общего назначения одновременно моде-
лей различной производительности требует и различных
подходов при проектировании структуры конкретной
ЭВМ.
38
Для ЭВМ малой производительности,
как наиболее массовой, особенно важен вопрос рен-
табельности (требование минимизации стоимости, габа-
ритов, эксплуатационных расходов). Выполнение этого
требования предполагает использование таких методов
оптимизации структуры, которые позволяют реализовать
простую и надежную ЭВМ, с минимальным объемом
оборудования. Это достигается за счет разработки струк-
туры на базе универсальных устройств с малой разряд-
ностью (8—16 бит) операционных блоков и связей между
ними. ЭВМ средней производительности
использует дополнительное специализированное обору-
дование, ускоряющее выполнение отдельных операций и
более высокую (до 32 бит) разрядность операционных
блоков и шин. Основное требование, предъявляемое к
структуре ЭВМ высокой производительнос-
ти, — обеспечение максимальной производительности и
высокой точности вычислений. Для этих машин емкость
основного и внешнего ЗУ, пропускная способность ка-
налов ввода-вывода, степень мультипрограммности, со-
став внешних устройств выбираются из условий обеспе-
чения полной загрузки центрального процессора при раз-
личных сочетаниях классов задач и режимов использо-
вания. Поэтому ЭВМ высокой производительности ис-
пользует все методы структурной оптимизации, высокую
степень специализации составляющих ее устройств и
повышенную разрядность (64—128 бит) операционных
блоков.
ф Основной тенденцией в развитии структуры ЭВМ
общего назначения является разделение функций систе-
мы и максимальная специализация подсистем для вы-
полнения этих функций.
В общем виде основные направления развития струк-
туры для каждой подсистемы ЭВМ показаны на рис. 2.1.
Обрабатывающая подсистема. Развитие обрабаты-
вающей подсистемы в большей степени, чем всех осталь-
ных подсистем, идет по пути разделения функций и по-
вышения специализации составляющих ее устройств.
Создаются специальные средства, которые осуществляют
функции управления системой, освобождая от этих
функций средства обработки. Такое распределение функ-
ций сокращает эффективное время обработки информа-
ции и повышает производительность ЭВМ [9]. В то
же время средства управления, как и средства обработ-
39
Рис. 2.1. Структура ЭВМ и основные направления ее развития
ки, становятся более специализированными. Устройство
управления памятью реализует эффективные методы
передачи больших объемов данных между средствами
обработки и подсистемой памяти. Меняются функции
центрального устройства управления. С одной стороны,
ряд функций передается в другие подсистемы (например,
функции ввода-вывода), с другой — развиваются средст-
ва организации многопотоковой обработки команд с од-
новременным повышением темпа обработки в каждом по-
токе. Для повышения темпа исполнения потока команд
применяются методы конвейерной обработки наряду с
совершенствованием алгоритмов диспетчеризации и
исполнения команд. Бурно развивается управление меж-
процессорным обменом как эффективное средство переда-
чи информации между несколькими центральными про-
цессорами, входящими в состав обрабатывающей под-
системы.
Арифметическо-логические устрс
щей подсистемы кроме традиционнь
и логической обработки все шире
циальные средства векторной обраб(
выполнения операций можно резк
счет увеличения числа арифметическил кимвсисрив, iai\
и за счет сокращения такта работы конвейера. Возмож-
ности задач к распараллеливанию алгоритма счета сни-
мают принципиальные ограничения к организации су-
щественно параллельной обработки информации и ис-
пользованию структур с глубокой конвейеризацией.
В устройствах скалярной обработки все шире появляют-
ся специальные операционные блоки, оптимизированные
на эффективное выполнение отдельных операций.
Подсистема памяти. Эффективным методом повыше-
ния производительности ЭВМ общего назначения явля-
ется увеличение объема и пропускной способности под-
системы памяти. Увеличение объема оперативной памяти
позволяет существенно сократить потерю времени на
обмен обрабатывающей подсистемы с внешней памятью.
Характеристики оперативной памяти можно улуч-
шить, применяя программно-доступную двухуровневую
структуру. Первый уровень представляет собой основную
оперативную память объемом от десятков до сотен М байт
(обычно 16—256 М байт); второй уровень—расширен-
ную оперативную память емкостью несколько Г байт
(обычно 1—2 Г байт), являющуюся в общем случае бу-
фером между основной оперативной памятью и подсис-
41
темой ввода-вывода. Введение расширенной оперативной
памяти позволяет увеличить пропускную способность в
300—400 раз по сравнению с пропускной способностью
существующих накопителей на магнитных дисках. Уве-
личение пропускной способности оперативной я расши-
ренной памяти достигается также за счет увеличения их
расслоения и секционирования.
Подсистема ввода-вывода. В состав подсистемы вво-
да-вывода входит набор специализированных устройств,
между которыми распределены функции ввода-вывода,
что позволяет свести к минимуму потери производитель-
ности системы при операциях ввода-вывода. Эти устрой-
ства можно условно разделить на критичные и некритич-
ные по быстродействию. К критичным по быстродействию
устройствам относятся обработчики команд ввода-вывода
и контроллеры интерфейсов: эти устройства определяют
пропускную способность подсистемы ввода-вывода. Н е-
критичные по быстродействию устройства управля-
ют распределением линий в подсистеме ввода-вывода,
которая освобождает центральный процессор от выпол-
нения операций ввода-вывода, повышая производитель-
ность ЭВМ [10].
Основным способом повышения пропускной способ-
ности подсистемы ввода-вывода является увеличение
числа каналов (в современных ЭВМ используется от
32 до 96 каналов).
Подсистема управления и обслуживания. Эта под-
система лишь косвенно влияла на производительность
ЭВМ. Однако с включением в ее состав сервисного про-
цессора она все больше начинает принимать участие
в вычислительном процессе. Так, она непосредственно
участвует в организации передачи сообщений от одного
процессора к другому в мультипроцессорной системе.
Сервисный процессор эффективно участвует во взаимо-
действии устройств обрабатывающей подсистемы, под-
держивая быстрое восстановление вычислительного про-
цесса после сбоев, в организации необходимого техни-
ческого обслуживания отдельных устройств (одновремен-
но и параллельно с решением задач на ЭВМ).
ф При разработке структуры ЭВМ общего назна-
чения все подсистемы должны быть сбалансированы
между собой. Только оптимальное согласование быстро-
действия обрабатывающей подсистемы с пропускной спо-
собностью системы ввода-вывода, объемами и скоростью
42
передачи информации подсистемы памяти позволяет до-
биться максимальной эффективности использования ЭВМ
для всех задач и во всех режимах работы.
2.2 Тенденции развития структуры
центрального процессора
Центральный процессор — основное уст-
ройство ЭВМ — наряду с обработкой данных выполняет
функции управления системой: инициирование ввода-вы-
вода, обработку системных событий, управление досту-
пом к основной памяти и т. п.
Организация ЦП определяется архитектурой и прин-
ципами работы ЭВМ (состав и форматы команд, пред-
ставление чисел, способы адресации, общая организация'
машины и ее основные элементы), а также технико-эко-
номическими показателями.
Логическую структуру ЦП представляет ряд функ-
циональных средств (рис. 2.2): средства обработки,
средства управления системой и программой, локальная
память, средства управления каналами и основной па-
мятью, системные средства.
Средства обработки обеспечивают выполнение опера-
ций с фиксированной и плавающей запятой, операций
с десятичными данными и полями переменной длины.
Локальная память состоит из регистров общего назна-
чения и с плавающей запятой, а также управляющих
регистров. Средства управления каналами обеспечивают
хранение данных (буфер данных канала), подготовлен-
ных ц передаче или принятых из канала, а также управ-
ление приоритетным доступом обрабатывающей подсис-
темы через канал ввода-вывода к периферийному обору-
дованию. К средствам управления памятью относятся
буферная память, память ключей защиты и средства уп-
равления доступом к основной памяти. К системным
средствам относятся средства службы времени: часы
астрономического времени, таймер и компаратор.
Существует обязательный (стандартный) минималь-
ный набор функциональных средств для каждой моде-
ли. Он включает в себя: регистры общего назначения,
средства выполнения стандартного набора операций и
средства управления вычислительным процессом. Кон-
кретная реализация ЦП может различаться составом
средств, способом их реализации, техническими парамет-
43
Основная память
Процессоры ввода-вывода
Рис. 2.2. Структурная схема логической организации центрального
процессора
рами, но при этом обязательно соблюдение единства
логической организации.
Структурно все функциональные средства разбивают-
ся на три устройства: центральное устройство управле-
ния (ЦУ); арифметическо-логическое устройство (АЛУ);
устройство управления памятью (УП).
Центральное устройство управления — это комплекс
средств автоматического управления процессом передачи
и обработки информации. ЦУ принимает и расшифровы-
вает команды, формирует адреса команд и операндов,
формирует последовательность управляющих сигналов и
44
обеспечивает координацию работы функциональных уз-
лов посредством выдачи управляющих, а также синхро-
низирующих сигналов.
Стандартные фазы работы ЦП включают в себя вы-
борку команды, вычисление адреса и выборку операндов,
выполнение команды и запись результатов, обработку
прерывания, изменение состояния процессора и системы
в целом.
Выборка команд (ВК) — передача содержимого счет-
чика команд в регистр адреса памяти, считывание
команды из основной памяти в регистр команды, модифи-
кация содержимого счетчика команд для выборки сле-
дующей команды.
Выборка операнда (ВО) — вычисление адреса и об-
ращение в основную память или к регистру локальной
памяти. Операнд считывается и принимается в регистры
АЛУ.
Арифметическая операция (АО) — инициализация
(кодом операции) цикла работы УУ, которое, в свою оче-
редь, управляет работой АЛУ, регистров и схем сопряже-
ния. Результат выполнения передается в локальную или
основную память и процессор переходит к выборке и вы-
полнению следующей команды.
На рис. 2.3 показана временная диаграмма обработки
команды с разбиением на этапы выполнения (а), после-
довательная обработка команд (б) и обработка команд
в режиме совмещения (в).
На рис. 2.4 показана структурная схема процессора,
обеспечивающая совмещенную обработку команд. Совме-
щенные принципы обработки существенно увеличивают
пропускную способность процессора, однако эффектив-
ность их использования зависит от управления (синхро-
низации), числа уровней обработки.
Приостанов обработки, приводящий к выходу из
совмещенной обработки, вызывает любая команда услов-
ного перехода в программе или взаимозависимость
команд, т. е. использование следующей командой резуль-
татов предыдущей команды.
Действительно, время обработки команд при k уров-
нях совмещения можно представить следующим выраже-
нием:
т‘= r(-±i— )•
где Т — время выполнения одной команды без совме-
щения.
45
б)
а — этапы выполнения команды; б — последовательное выполнение команд;
в — совмещенное выполнение команд
При выполнении одной команды (s = 1) время совме-
щения Тс = Г, а при полной загрузке процессора в тече-
ние длительного времени ($ —► сю) темп обработки
команд (Tc/s) стремится к величине, равной T/k. Та-
ким образом, метод совмещения обработки обеспечивает
увеличение пропускной способности устройств и при этом
46
Рис. 2.4. Структурная схема процессора с совмещением выполнения
команд
не изменяет время обработки Т отдельной операции. По-
этому если среди команд s встречаются зависимые (по-
следовательно поступившие на вход устройства команды
считаются зависимыми в том случае, когда обработка
последующей команды начинается только после заверше-
ния предыдущей), то пропускная способность процессора
снижается на величину, определенную порядком зависи-
мости уровней совмещения. Уровни обработки команд
с номерами тип (т < п) являются зависимыми, если
для начала обработки текущей команды на уровне т
необходимо и достаточно, чтобы была закончена обра-
ботка предыдущей команды на уровне п. Величина
N = п — т называется порядком зависимости уровней
совмещения. В этом случае темп обработки команд про-
цессором определяется выражением
тс = — \ где kr = 4- •
X k\ / N
Завйсимость команд как бы уменьшает число уровней
совмещения, а следовательно, и пропускную способность
процессора. Так, если выполнение команды на первом
уровне не может начаться до тех пор, пока не будет вы-
полнена команда на последнем уровне (например, когда
•результат предыдущей команды изменяет содержимое
последующей команды), то порядок зависимости уровней
совмещения будет равен k, что равносильно работе без
совмещения (ki= 1).
Рассмотренная зависимость эффективности совмеще-
ния применительно к отдельному этапу обработки оцене-
на в общем виде. На самом деле эта зависимость
гораздо сложнее и, кроме того, на эффективность совме-
щения влияют также другие факторы. Следует учитывать,
что совмещение обработки увеличивает объем оборудо-
вания и усложняет схемы управления тем сильнее, чем
больше число уровней совмещения.
Все эти обстоятельства приходится учитывать при
выборе числа уровней совмещения в каждом конкретном
случае для получения заданных параметров и прежде
всего удельных затрат (отношение производительность/
стоимость). Опыт разработки ЭВМ общего назначения и
проведенные исследования показывают, что технически
и экономически целесообразной является совмещенная
обработка (5—6 команд).
Для обеспечения непрерывности вычислительного про-
48
цесса и сглаживания влияния логической зависимости
команд в структуре ЦП организуются три потока команд.
Например, при командах передачи управления один из
буферов команд (см. рис. 2.4) используется для хранения
основной последовательности команд при выполнении
программы. Второй буфер команд используется для
выборки команд той ветви программы, которая наиболее
вероятно будет выполняться после завершения команды
перехода. Эта последовательность команд обрабатывает-
ся еще до того, как определяется, по какой ветви про-
граммы будет продолжаться вычислительный процесс.
В наиболее мощных по производительности ЭВМ в струк-
туру ЦП вводится третий буфер команд. Он используется
для хранения команд, выбранных в результате обработки
следующей команды условной передачи управления,
в наиболее вероятной ветви программы, до завершения
выполнения предыдущей.
По способу построения различают ЦУ с жесткой логи-
кой и с микропрограммным управлением.
Центральное устройство управления с жесткой логи-
кой (схемное управление) состоит из логического преоб-
разователя и блока тактирования сигналов. Логический
преобразователь представляет собой комбинационный де-
шифратор, который формирует управляющие сигналы
(приказы). Переход автомата из одного состояния в дру-
гое происходит за отрезок времени, называемый интер-
валом дискретности автомата. При синхронном принципе
управления интервал дискретности выбирается исходя из
времени, необходимого для самой длинной управляющей
последовательности. При асинхронном принципе управле-
ния длительность интервала зависит от времени реализа-
ции каждой очередной управляющей последовательности.
Центральное устройство управления с микропрограм-
мным управлением использует специальный блок памя-
ти, в котором хранится последовательность управляющих
кодов (микрокоманд), образующих микропрограмму ин-
терпретации функции (операции) обработки (управле-
ния) .
Во всех ЭВМ общего назначения в том или ином объ-
еме используется микропрограммный способ управления.
Организация управляющей микропрограммы — одна из
важнейших характеристик, определяющих эффективность
работы процессора. В каждом конкретном случае она
выбирается исходя из назначения, производительности и
структуры ЭВМ.
49
4-1370
Анализ аппаратурной и микропрограммной реализа-
ции устройства управления указывает на зависимость
стоимости управления от величины набора команд и на
определенные преимущества микропрограммного метода
управления, обеспечивающего наиболее эффективную
реализацию команд и организацию технического обслу-
живания.
Микропрограммная реализация управления позволяет:
— получать более экономичную (по затратам оборудо-
вания) структуру схемы управления, повышать уровень
унификации отдельных узлов;
— создавать систему микродиагностических тестов,
обеспечивающих автоматический поиск неисправностей;
— документировать управляющие алгоритмы более
просто и наглядно, что обеспечивает ускорение обучения
обслуживающего персонала и упрощает эксплуатацию
процессора;
— повышать эффективность серийно выпускаемых и
эксплуатируемых машин за счет введения новых средств
математического обеспечения, использующих расширен-
ный состав команд и новые функции процессора.
Последнее обстоятельство крайне важно в связи с на-
блюдающейся тенденцией к сокращению затрат времени
на работу операционной системы путем «интеграции»
в аппаратуру некоторых часто используемых подпро-
грамм и модулей операционной системы. Такую интегра-
цию можно осуществить только при расширении функ-
циональных возможностей процессора, т. е. модерниза-
цией алгоритмов схемы управления, которая легко осу-
ществляется путем изменения содержимого управляющей
памяти. Микропрограммная реализация управления яв-
ляется наиболее эффективной при расширенном составе
команд и функций процессора, однако при этом возрастает
значение таких факторов, как скорость выполнения и
сложность алгоритмов управления. Действительно, в
высокопроизводительных ЭВМ в одном цикле процессора
одновременно выполняются следующие действия: опера-
ции в АЛУ, разрешение приоритета запросов, проверка
ключа защиты, трансляция логического адреса, выборка
из оперативной памяти. Сложные алгоритмы, с одной
стороны, экономичнее реализуются при микропрограм-
мном управлении, а с другой — усложняют схему адреса-
ции микрокоманд и в конечном счете приводят к
увеличению времени выработки управляющих воздей-
ствий.
50
Исходя из этого, ЭВМ малой производительности име-
ют преимущественно микропрограммное управление для
процессора в целом, в то время как процессоры высоко-
производительных моделей используют его в основном в
исполнительных блоках.
Для повышения быстродействия блока микропрограм-
много управления применяются различные методы. Цикл
работы устройства состоит из четырех фаз: формирова-
ния адреса микрокоманды, выборки из управляющей
памяти, дешифрации микроприказов и выполнения дейст-
вий. Обычно фаза выполнения действий совмещается с
фазами формирования адреса, выборки и дешифрации.
Таким образом, при правильном выборе соотношений
времен работы исполнительных узлов и блока микропро-
граммного управления цикл работы процессора сокраща-
ется и определяется работой схем управления. Дальней-
шего сокращения цикла можно достичь за счет сокраще-
ния времени формирования адреса и его исключения из
цикла работы. Например, если ветвление в микропро-
грамме осуществляется не более чем в четырех направле-
ниях, то применяется метод, при котором из управляю-
щей памяти выбираются сразу четыре слова, начиная со
слова, заданного базовым адресом, а окончательная
выборка одного из четырех производится по условиям-
перехода, формируемым одновременно с выборкой микро-
команды. Сокращение времени фазы дешифрации микро-
приказов достигается путем использования для критич-
ных цепей управляющих полей с прямым кодированием,
когда каждый разряд поля является непосредственно
управляющим сигналом.
Удобным представляется косвенное кодирование мик-
рооперации, которое характеризуется наличием дополни-
тельных полей или регистров, содержимое которых изме-
няет характер дешифрированной операции, что позволяет
существенно сократить разрядность микрокоманд.
Применяют одно- и многотактные микрокоманды. Од-
нотактная микрокоманда вызывает формирование опре-
деленной совокупности сигналов микроопераций (микро-
приказов), выполняемых одновременно. Многотактная
микрокоманда формирует серии микроприказов, выполня-
емых в течение двух тактов и более. Каждому полю
соответствует определенный такт, либо поле содержит
код, кодирующий такт выполнения микрооперации. Одно-
и многотактное микропрограммирование может иметь
место как при прямом, так и при косвенном кодировании.
51
4*
По способу организации структуры микропрограм-
мные УУ делятся на одно- и многоуровневые. В много-
уровневых структурах кроме уровня микропрограммной
интерпретации команды выполняемой программы вводят-
ся дополнительные уровни интерпретации микрокоманды:
нанопрограммирование и пикопрограммирование. Чаще
всего два последовательных уровня используют верти-
кальное и горизонтальное микропрограммирование.
С точки зрения физической реализации управления
память микропрограмм делится на два вида: память
с постоянно записанной информацией и память, допус-
кающая перезапись информации. Память с постоянно
записанной информацией работает только на чтение ин-
формации и, как правило, является более быстродейст-
вующей и простой по управлению, нежели память с пере-
записью. В тоже время память, допускающая перезапись,
предоставляет больше дополнительных возможностей для
повышения эффективности работы процессора за счет
постоянного совершенствования алгоритмов выполнения
операций.
Различают статическое и динамическое микропро-
граммирование. Динамическое микропрограммирование
(в отличие от статического) позволяет в ходе вычисли-
тельного процесса изменять содержимое памяти микро-
программ путем перезаписи новых значений из операци-
онной памяти, изменяя тем самым функциональные воз-
можности ЦУ.
Арифметическо-логическое устройство выполняет все
арифметические и логические операции универсального
набора команд ЭВМ: операции над числами с фиксиро-
ванной запятой, с плавающей запятой обычной и повы-
шенной точности, логические операции и операции
в десятичной системе счисления, операции с полями
фиксированной и переменной длины [11]. В состав уст-
ройства входят традиционные арифметическо-логические
блоки процессора, специализированные аппаратные сред-
ства (например, блок ускоренного умножения), буферные
и рабочие регистры, иногда в состав АЛУ входит
собственный блок микропрограммного управления. Струк-
турная схема типового АЛУ ЭВМ высокой производи-
тельности представлена на рис. 2.5. В составе АЛУ
имеются два сумматора — для операций над мантиссой и
порядком, блок полноразрядного сдвигателя, блок быст-
рого умножения, рабочие регистры (РА, РВ, РД, PC и
РР), буферные регистры для предварительной выборки
52
Рис. 2.5. Структурная схема арифметическо-логического блока
данных следующей операции (БА, БВ, БС, БД), буфер-
ные регистры команд, блок микропрограммного управле-
ния, включающий регистры адреса (РАМ) и микрокоман-
ды (РМК). Полноразрядный (64 разряда) параллельный
сумматор и сдвигатель обеспечивают выполнение корот-
кой операции (сдвига, сложения с фиксированной запя-
той) за один машинный такт.
Расширение функциональных возможностей АЛУ свя-
53
зано с введением средств, позволяющих реализовывать
сложные вычислительные функции, выполнять операции
с повышенной точностью, что увеличивает эффективность
процессора при решении научно-технических задач, име-
ющих большое число вычислительных итераций.
Рассмотрим различные методы повышения быстродей-
ствия АЛУ.
Один из эффективных и широко используемых мето-
дов повышения быстродействия арифметических бло-
ков — реализация принципа локального параллелизма,
заключающегося в распараллеливании во времени ал-
горитма выполнения отдельной команды на ряд незави-
симых этапов. Так, при выполнении арифметической опе-
рации с плавающей запятой действия над порядками
осуществляются одновременно с действиями над мантис-
сами.
В высокопроизводительных моделях ЭВМ применяет-
ся также хорошо известный метод увеличения быстро-
действия — конвейерная обработка. Высокое быстродей-
ствие конвейерного метода обработки объясняется малым
фиксированным временем выполнения элементарных опе-
раций, на которые разбивается выполнение команды, и
одновременностью их исполнения на ступенях конвейе-
ра. Выбор числа ступеней и времени такта их работы
определяется возможностью достижения заданного быст-
родействия (с учетом ограничений на объем оборудова-
ния и заданной тактовой частоты), а также параметра-
ми конструктивной и элементной базы.
С введением в процессор буферной памяти, которая
обеспечивает выборку данных со скоростью, равной цик-
лу работы процессора, время выполнения операций в
операционных блоках исполнительных устройств являет-
ся решающим при определении производительности ЭВМ.
В свою очередь, скорость вычислений процессора в наи-
большей степени зависит от выполнения операций типа
сложение-вычитание и умножение-деление с фиксирован-
ной и плавающей запятой. Исходя из этого структура
операционных блоков в первую очередь должна быть
ориентирована на быстрое выполнение указанных опе-
раций.
Применение эффективных алгоритмов позволяет со-
кратить длительность выполнения таких многотактных
операций, как умножение и деление, сложение и вычита-
ние с плавающей запятой, операций преобразования ко-
дов, а также ряда операций для обработки полей пере-
54
менной длины. Под эффективными в данном случае
понимаются алгоритмы, максимально повышающие ско-
рость обработки при сохранении заданного отношения
производительности к стоимости.
Рассмотрим наиболее характерные алгоритмы выпол-
нения операций в высокопроизводительных моделях
ЭВМ.
Операция умножения. Ускорение выполне-
ния операции умножения достигается использованием
быстрых сумматоров с сохранением переносов и одновре-
менным анализом нескольких разрядов множителя с
реализацией конвейерного метода обработки. Алгоритм
анализа предусматривает на каждые два разряда множи-
мого выполнение одной операции сложения (вычитания)
множимого, взятого с определенным весом; фактически
используется четверичная система счисления с поразряд-
ными значениями: —1, 0, 1, 2.
Блок ускоренного умножения — это функционально
независимое исполнительное устройство, специализиро-
ванное под операцию умножения, которое является до-
полнительным оборудованием и поставляется в необхо-
димых случаях. Структурная схема блока ускоренного
умножения приведена на рис. 2.6. В этом блоке применен
метод одновременного анализа 12 разрядов множителя и
формирования частичного произведения в коде с сохране-
нием переносов. Это позволило довести время одной
элементарной операции до величины машинного такта, а
время умножения двух 32-разрядных чисел с фиксиро-
ванной запятой — до 3—5 машинных тактов.
Операция деления. В качестве одного из
методов принято деление без восстановления остатка с
анализом четырех старших разрядов очередного остатка.
Структурная схема блока для выполнения операции деле-
ния представлена на рис. 2.7. Использование указанного
метода деления позволяет получить за один такт 1 —
3 цифры частного.
Операция перехода. Известны два метода
повышения скорости выполнения команд перехода (пере-
дачи управления):
1) статистический учет вероятности успешного выпол-
нения команды условной передачи управления;
2) статистический учет наиболее вероятной длины
программных циклов, реализованных с помощью команд
условной передачи управления.
Реализация первого метода требует организации
55
Рис. 2.6. Структурная схема блока ускоренного умножения
Делимое
Делитель
Рис. 2.7. Структурная схема блока для выполнения операции деления
быстрой предварительной выборки команд из основной
памяти, совмещенной обработки и введения в структуру
процессора дополнительных буферов (объемом в 2—
4 слова команд). Один из буферов используется для хра-
нения основной последовательности команд программы.
Если встречается команда передачи управления, то оце-
нивается наиболее вероятный исход ее выполнения и ор-
ганизуется выборка команд той ветви программы, кото-
рая с наибольшей вероятностью будет выполняться после
завершения команды перехода. Эти команды помещаются
во второй буфер и начинают обрабатываться еще до того,
как завершится команда передачи управления. В случае
правильной оценки сохраняется скорость обработки
команд, в противном случае не требуется выборка другой
ветви, поскольку она уже хранится в первом буфере и
может обрабатываться сразу после завершения выполне-
ния команды передачи управления. В наиболее мощных
по производительности ЭВМ в структуру процессора вво-
дится и третий буфер предварительно выбранных команд.
Он используется для хранения команд, выбранных в ре-
зультате обработки следующей команды условной пере-
дачи управления в наиболее вероятной ветви программы
до завершения выполнения предыдущей.
57
Реализация второго метода связана с организацией
буфера обработанных команд, в котором сохраняется
обычно 64—128 слов команд, т. е. при выполнении основ-
ной последовательности команд в программе обработан-
ные команды не уничтожаются, а накапливаются в спе-
циальном буфере. При этом должен быть предусмотрен
специальный алгоритм замещения в буфере обработан-
ных команд старой информации на новую. Основная идея
заключается в следующем: так как при написании про-
граммы команды условной передачи управления обычно
ставятся в конце циклического участка, то в большинстве
случаев условный переход указывает на ранее выбранный
и обработанный участок программы. Именно этот участок
программы с большей вероятностью сохраняется в буфе-
ре обработанных команд, что позволяет сократить время
на подготовку команд новой ветви для исполнения.
Специализация, т. е. ориентирование функций испол-
нительных блоков на выполнение операции какого-либо
одного типа, позволяет оптимальным образом (для кон-
кретного блока) достигнуть максимально возможного при
существующей технологии быстродействия, хотя как не-
достаток следует отметить значительный объем обору-
дования, требуемый для реализации всей совокупности
операций. Поэтому важен оптимальный выбор количест-
ва и типов блоков. Специализированные блоки применя-
ются для высокопроизводительных моделейщ ориентиро-
ваны на ускорение операций, выполняемых более чем за
один машинный такт. Исходя из этого, в процессоре
высокой производительности могут использоваться (при-
чем предусматривается их параллельная работа) такие
специализированные арифметические блоки: операций с
фиксированной запятой, операций с плавающей запятой,
умножения и деления, десятичной арифметики.
Проблема оптимальности между скоростью и эконо-
мичностью для средних по производительности моделей
ЭВМ, как правило, решается за счет того, что ускорению
подвергаются лишь некоторые операции. При этом ис-
пользуются акселераторы, т. е. дополнительное оборудо-
вание, работающее с повышенной тактовой частотой и
ориентированное на ускорение определенного участка
алгоритма выполнения некоторой операции.
Так, в ЭВМ ЕС1045 использован акселератор выпол-
нения ряда операций, основанный на табличном способе
получения результата. Акселератор реализован на быст-
родействующих микросхемах постоянной программируе-
58
мой памяти (ППЗУ). Таблица хранится в ППЗУ и в за-
висимости от входного сигнала на выходе ППЗУ форми-
руется соответствующий результат. Иными словами, в
зависимости от заложенной в ППЗУ программы на его
выходе обеспечиваются различные булевые функции
входного набора. Управление акселератором осуществля-
ется специальной управляющей памятью акселератора,
цикл которой вдвое меньше цикла управляющей памяти
процессора. Применение акселератора позволяет увели-
чить производительность центрального процессора в сред-
нем на 15 % при увеличении оборудования на 6 %.
Развитием машинного языка ЭВМ общего назначения
предусмотрено введение векторных операций — операций
над упорядоченными массивами данных. В связи с этим
в структуре высокопроизводительных процессоров наблю-
дается специализация устройств по типам операндов:
скалярные или векторные (рис. 2.8). В составе процес-
сора появляются регистровая память и средства обработ-
ки двух типов: скалярных операндов и векторных
операндов.
Векторные средства обработки предназначены для
исполнения операций над массивами информации. Каж-
дый элемент такого массива (вектора) обрабатывается
независимо от остальных элементов на конвейерном
арифметическом устройстве (АУ), которое за счет специ-
альной структурной организации может принимать в
каждом такте пару элементов векторов-операндов и через
некоторое время, называемое стартом конвейера, выда-
вать соответствующий элемент вектора-результата. Так
как пары элементов векторов-операндов поступают в
конвейерное АУ в каждом такте, то через время, опреде-
ляемое длительностью времени старта конвейера после
запуска векторной операции, с выхода АУ каждый такт
будут выдаваться элементы вектора-результата. Очевид-
но, что чем больше элементов содержат векторы-операн-
ды, тем в меньшей степени сказывается длительность
старта на производительность конвейерного АУ, которая
приближается к пиковому значению, равному одному
результату, деленному на один такт процессора.
К векторным средствам обработки относятся:
— арифметические конвейеры. Каждый такой конвей-
ер может содержать несколько независимых специализи-
рованных конвейерных АУ;
— векторные регистры, хранящие векторную инфор-
59
Основная память
Рис. 2.8. Структурная схема процессора с векторной обработкой
данных
мацию, используемую для обработки в арифметических
конвейерах;
— конвейеры загрузки-записи, выполняющие обмен
информацией между векторными регистрами и оператив-
ной памятью ЭВМ.
Векторные средства обработки информации позволя-
ют увеличить производительность ЭВМ на несколько
порядков.
Коэффициент повышения производительности
= /сР(1+*в)(т- 1)
Р ~ (1 - *вКр + kB(t„ + mt/DC) ’
где /ср — среднее время выполнения скалярных (не век-
60
торных) операций; k3 — коэффициент векторизации зада-
чи, равный отношению числа векторных операций к об-
щему числу выполняемых операций; /ст — среднее время
старта конвейера; t — длительность машинного такта;
D — число арифметических конвейеров; С — число па-
раллельно выполняемых векторных команд в одном
арифметическом конвейере.
Из приведенного соотношения следует, что для увели-
чения производительности ЭВМ необходимо соблюдать
следующие требования:
— использовать арифметические конвейеры с мини-
мально возможной длительностью такта;
— увеличить число арифметических конвейеров;
— увеличить число параллельно обрабатываемых
векторных команд в одном арифметическом конвейере.
Необходимое условие выполнения двух последних тре-
бований — увеличение пропускной способности при пере-
Р и с. 2.9. Зависимость увеличения производитель-
ности Р от коэффициента векторизации k3 и длины
векторов т
61
даче информации между арифметическими конвейерами
и векторными регистрами, а также повышение производи-
тельности конвейеров загрузки-записи при операции
обмена между векторными регистрами и оперативной
памятью.
При решении реальных задач на производительность
ЭВМ существенно влияют:
— быстродействие обработки скалярных величин и
параметры векторного устройства. Зависимости увеличе-
ния производительности ЭВМ от коэффициента векто-
ризации при изменении параметров векторных средств
обработки [14] приведены на рис. 2.9;
— объем векторных регистров. При недостаточном
объеме векторные регистры не могут сгладить неравно-
мерность обрабатываемого информационного потока,
неоправданно увеличивается интенсивность обмена меж-
ду векторными арифметическими конвейерами и опера-
тивной памятью.
Устройство управления памятью предназначено для
сопряжения центрального процессора и каналов ввода-
вывода с подсистемой памяти. Несмотря на стремитель-
ный прогресс элементной базы для запоминающих уст-
ройств, цикл обращения в . оперативную память на
порядок длительнее цикла работы процессора. Таким
образом, быстродействие подсистемы памяти во многом
определяет производительность ЭВМ в целом. Структур-
ная организация устройства управления памятью в зна-
чительной степени зависит от характеристик и структуры
подсистемы памяти и будет подробно рассмотрена далее.
2.3 Тенденции развития подсистем памяти
Обеспечение оптимальных параметров вы-
числительного процесса ъо многом связано с эффектив-
ным управлением доступом в памяти различного уровня
и назначения, что определяется в основном выбором
стратегии управления памятью и структурой самой па-
мяти.
Развитие управления основной памятью. Развитие ар-
хитектуры и структуры ЭВМ, связанное с введением прин-
ципов виртуальности й многопроцессорности, предъявляет
дополнительные требования к структуре управления под-
системой памяти. При этом должна учитываться необходи-
мость обеспечения повышенной скорости обмена данными
62
с основной иерархически организованной памятью боль-
шого объема.
Принципы управления основной па-
мятью. Эффективное использование многопрограм-
много режима работы предполагает нахождение в основ
ной памяти (ОП) программ и данных для многих незави-
симых задач, а значит, наличие аппаратных и програм-
мных средств распределения памяти и разграничения до-
ступа в процессе решения. Параллельное протекание
процессов обмена и обработки приводит к одновремен-
ным обращениям в основную память многих устройств,
что усложняет схему управления памятью. На нее возла-
гаются функции анализа и очередизации запросов на
обращение, выборки и контроля данных. Устройство уп-
равления основной памятью выполняет такие функции,
как определение последовательности доступа при одно-
временном обращении нескольких абонентов, контроль
защиты и достоверности обращения, преобразование
виртуального адреса в реальный и реального — в физиче-
ский (если необходимо), контроль и коррекцию ошибок
в памяти и др. [15].
Основной единицей представления данных в ЭВМ об-
щего назначения является байт (8-битовый слог). Па-
мять рассматривается как упорядоченная последователь-
ность байтов, имеющих нумерацию, начиная с нулевого,
т. е. каждый байт индивидуально адресуем. Байт-ориен-
тированная адресация делает независимым принцип об-
ращения к данным от физической организации разряд-
ности памяти и обеспечивает хорошее заполнение про-
странства памяти.
Поле данных с фиксированной длиной в 1, 2, 4 и
8 байт определяется соответственно как байт, полуслово,
слово и двойное слово. Принято поле фиксированной
длины, например, полуслово или двойное слово разме-
щать в основной памяти начиная с целочисленной гра-
ницы для данного блока информации (граница называ-
ется целочисленной, если ее адрес в памяти кратен числу
байтов в блоке). Длина фиксированного поля данных
определяется указанием в коде выполняемой операции
типов используемых операндов (неявное задание длины).
Основная память распределяется произвольно для
управляющих и обрабатываемых программ, за исключе-
нием области с начальными реальными адресами
(О—4095), которая является областью процессора.
Существуют два способа распределения памяти: ста-
63
тическое — выделение фиксированной области основной
памяти без учета реальной потребности памяти; дина-
мическое — выделение памяти в процессе возникновения
запроса с учетом фактической длины затребованной
области памяти.
Статическое распределение памяти обеспечивается ис-
пользованием относительной адресации (базовых адре-
сов), при которой каждой загруженной программе при-
сваивается адрес выделенной области ОП; при этом ад-
рес обращения образуется сложением адреса базы об-
ласти и адреса смещения в пределах области. Значение
базовых адресов меняется при каждой загрузке програм-
мы в ОП, т. е. существует жесткий порядок размещения
и удаления массивов из ОП, необходимость перенастрой-
ки при перемещении в ОП.
Динамическое распределение памяти обеспечивается
при страничной организации, основанной на концепции
виртуальной памяти, при которой адрес ОП содержит
номера виртуальных страниц и слова в странице. Физиче-
ская память также разбивается на страницы. Соответст-
вие между физической и виртуальной памятью устанавли-
вается в процессе загрузки виртуальных страниц из внеш-
ней памяти в ОП.
Необходимость защиты памяти возникает в мульти-
программном режиме работы ЭВМ для предотвращения
случайного (ошибочного) обращения с разрушением
информации: защита только от записи допускает обра-
щение многих программ к общей защищенной области
памяти для считывания данных; защита от записи и
чтения запрещает другим программам производить любое
обращение к защищенной области памяти.
Существуют разнообразные средства защиты памяти:
специальный разряд защиты, сопровождающий слово
данных в памяти, установка которого запрещает изме-
нять слово; тег-приставка к слову, описывающая все воз-
можные уровни защиты; граничные регистры, указываю-
щие верхнюю и нижнюю границы области памяти, со
специальными индикаторами, которые определяют допус-
тимый режим обращения; ключ защиты (код, присваи-
ваемый разделам памяти), хранимый в соответствующих
регистрах, информация в которые записывается привиле-
гированными командами; таблицы трансляции адреса.
Виртуальная память предоставляет новые средства
разграничения доступа: схема трансляции адреса не до-
пускает обращение в одну реальную область из разных
64
областей виртуальной памяти. В результате все програм-
мы, использующие виртуальную адресацию, могут рабо-
тать в одном разделе основной памяти.
Виды основной памяти. Главным парамет-
ром основной памяти является адресное пространство —
число независимо адресуемых объектов данных. Макси-
мально возможный объем основной памяти для ЭВМ ЕС
ограничен принятой разрядностью адреса: адрес пред-
ставляет собой целое двоичное число с фиксированной
запятой. Адресная константа хранится в одном из общих
регистров (кроме нулевого) и весь набор операций с фик-
сированной запятой используется для преобразования
адресов. Емкость памяти при использовании 24-разряд-
ного двоичного адреса составляет 16 777 216 байт.
Развитие архитектуры ЭВМ общего назначения в пер-
вую очередь связано с расширением объема адресуемой
памяти, которое представляет собой введение 31-разряд-
ного логического адреса. При этом логический адрес уве-
личивает виртуальные адресные пространства до 2 Г байт
(2 148 483 648 байт). В режиме 31-разрядной адресации
все адреса, заданные в командах и ССП, расширяются
до 31 бит. Адреса в управляющих регистрах и постоянно
распределенных областях реальной памяти всегда 31-раз-
рядные.
С точки зрения адресации различают несколько видов
основной памяти. Физическая основная память — это
конкретное физическое устройство памяти, адресация в
котором осуществляется в соответствии с используемой
схемой дешифрации адреса и управления выборкой дан-
ных. Реальная основная память — это устройство памя-
ти, для которого может быть установлено соответствие
между адресами обращения и выборкой информации,
записанной по данному адресу. Объем реальной основной
памяти не превышает объема физической памяти. Вирту-
альная основная память (ВП) — это память, границы
которой определяют допустимым адресным пространст-
вом. Объем виртуальной основной памяти может зна-
чительно превышать объем реальной основной памяти.
Виртуальная память базируется на идее использова-
ния иерархической структуры памяти в качестве непре-
рывно адресуемого пространства оперативной памяти,
доступного для непосредственного размещения программ
и данных (рис. 2.10). Верхним уровнем иерархии являет-
ся физическая основная память, реализованная на дан-
ной установке. Нижним уровнем иерархии является
65
5—1370
ЦП
Обмен страницами
Основная память
(активные страницы отдельных ВП)
Виртуальная память
задач пользователя
(Непрерывно адресуемое
пространство памяти, доступное
для программ и данных)
Рис. 2.10. Схема организации виртуальной памяти
внешняя память (на магнитных дисках или магнитных
лентах), которая имеет существенно большую емкость
при большем времени доступа, но значительно меньшую
(в пересчете на байт) стоимость.
Виртуальная организация позволяет использовать од-
ни и те же принципы адресации как для основной, так и
для внешней памяти. При этом появляется возможность
использования внешней памяти в качестве расширения
основной памяти и сглаживаются различия в организа-
66
ции и способах адресации обоих типов памяти. Эти
функции возлагаются на систему и аппаратные сред-
ства.
Логическая организация виртуальной памяти подоб-
на логической организации реальной памяти: она имеет
байтовую структуру и каждый байт имеет номер, назы-
ваемый логическим адресом по аналогии с адресом
реальной памяти. В виртуальную память можно загру-
жать и выполнять программы, подготовленные для обра-
ботки в реальной памяти. Адресные константы и адреса
в программе, вычисляемые по базе, индексу (если имеет-
ся) и смещению, являются логическими адресами, но ес-
ли обычно программа требует для выполнения реальные
адреса той области, в которую она загружается, то эта
программа при загрузке в виртуальную память настраи-
вается на логические адреса.
Любая программа, которая может быть загружена в
реальную память и выполнена в ней, может быть загру-
жена и выполнена в виртуальной памяти соответствую-
щего объема, и наоборот.
Логика выполнения программы и адреса ее элементов
не зависят от реального размещения в основной памяти.
При этом, очевидно, выделяемый объем памяти может
быть минимален: задача загружается не целиком, а толь-
ко теми страницами виртуальной памяти, которые затре-
бованы в процессе решения.
Динамическая трансляция адреса. Оп-
ределяющее влияние на реализацию виртуальной памяти
оказывают два принципиальных решения, целесообраз-
ность которых очевидна: полная информация виртуаль-
ной памяти хранится на внешних запоминающих уст-
ройствах (ВЗУ) прямого доступа; ЦП может выполнять
только те части программы, которые вместе с данными
находятся в реальной основной памяти.
Общий принцип функционирования виртуальной па-
мяти состоит в том, что в реальной памяти находятся
только те страницы, которые были ранее вызваны в ос-
новную память из виртуальной памяти внешних устройств
и не были замещены при вводе новых страниц (рис.
2.10)
Для эффективного использования основной памяти
требуется, чтобы страница загружалась в реальную
память на произвольное место, реальный адрес которого
никак не связан с логическим адресом страницы. Поэто-
му для функционирования виртуальной памяти необходи-
67
5*
мы специальные средства для динамического
преобразования адресов, учета активности стра-
ниц памяти и команды установки и контроля указанных
средств [10].
Динамическая трансляция (преобразование логиче-
ского адреса в реальный) осуществляется непосредствен-
но в процессе обращения в основную память. Логиче-
ский адрес транслируется при обращении к памяти в со-
ответствующий реальный адрес памяти. Когда средства
динамической трансляции адреса не установлены или
трансляция не определена, реальный адрес соответствует
логическому.
В режиме динамического преобразования адресов как
Номер
сегмента
Номер
страницы
Номер
байта
0 7 8 15 16 20 21 31
Сегмент — 64 К байт, страница — 2 К байт
Номер
сегмента
Номер
страницы
Номер
байта
7 8 11 12 19 20 31
Сегмент — 1 М байт, страница — 4 К байт
б)
I Номер сегмента Номер страницы Номер байта
0 1 11 12 19 20 31
Сегмент — 1 М байт, страница — 4 К байт
р Номер Номер Номер
сегмента страницы байта
19 20
Сегмент - 16 М байт, страница — 4 К байт
Рис. 2.11. Структура логического адреса:
а — 24-разрядный адрес; б — 31-разрядный
68
виртуальная, так и реальная основная память делятся на
сегменты и страницы. Логический адрес состоит из поля
номера сегмента, поля номера страницы и поля номера
байта. На рис. 2.11 показаны форматы логического адре-
са при различных объемах сегмента и страницы.
Для преобразования логических адресов в реальные
используются таблицы перекодирования для сегментов и
страниц, которые находятся в основной памяти и опреде-
ляют ее текущее распределение. Строка, выбранная из
таблицы сегментов, содержит длину и начальный адрес
(базу) соответствующей таблицы страниц, а также приз-
нак доступности страницы. Строка таблицы страниц
определяет доступность страницы и содержит старшие
разряды реального адреса.
Процесс переадресации состоит в следующем
(рис. 2.12): по номеру сегмента, содержащемуся в логи-
ческом адресе, осуществляется выборка строки из табли-
цы сегментов, начальный адрес и длина которой опре-
лены содержимым управляющего регистра. Содержимое
этой строки определяет необходимую таблицу страниц.
По номеру страницы, также содержащемуся в логиче-
ском адресе, из таблицы страниц выбирается строка, ко-
торая содержит старшие разряды реального адреса.
В качестве младших разрядов реального адреса исполь-
зуется поле номера байта из логического адреса.
Для ускорения процесса переадресации используется
буфер быстрой переадресации, содержащий информацию
о соответствии логических и эквивалентных им реальных
адресов, по которым производится обращение процессора
к основной памяти. Таким образом, учитывая, что обра-
щение процессора к основной памяти обычно осуществ-
ляется по последовательным адресам и с большой веро-
ятностью в пределах одной страницы, выборка строк таб-
лиц из основной памяти производится только один раз.
В дальнейшем полученная при первом обращении инфор-
мация остается в буфере и все последующие обращения
к памяти, использующие строки таблиц переадресации из
той же области памяти, выполняются с использованием
буфера.
Перемещение страниц памяти выполняется аппарат-
ными средствами под управлением операционной системы
без вмешательства программ пользователя. Для эффек-
тивного выполнения алгоритма замены страниц в основ-
ной памяти осуществляется два вида регистрации: реги-
страция обращений к странице в основной памяти (при
69
Управляющий регистр
Реальный адрес
Рис. 2.12. Схема динамической трансляции адреса
записи или выборке информации) и регистрация измене-
ний содержимого страницы в основной памяти (при запи-
си информации).
При расширении виртуальной памяти до 2 Г байт
(адрес — 31 разряд) рассмотренная схема трансляции ад-
70
реса (рис. 2.12) становится громоздкой из-за увеличения
объема таблиц трансляции. В данном случае применяют-
ся другие схемы, которые позволяют достичь того же
эффекта практически при неограниченном адресном про-
странстве виртуальной памяти.
Для трансляции виртуального адреса в реальный при-
Виртуальный адрес
Рис. 2.13. Двухуровневая схема трансляции адреса
71
меняется двухуровневая схема преобразования (рис. 2.13)
с алгоритмом, который равномерно распределяет вирту-
альные адреса по разделам справочника, используемого
для задания адресов основной памяти. Виртуальный ад-
рес состоит из трех частей: номера сегмента, номера
страницы (идентификатора страницы) и номера байта
в пределах страницы. Идентификатор (адрес) страницы
преобразуется в адрес страницы основной памяти при
помощи двух таблиц. Справочник страниц, являющийся
основной таблицей, содержит по одному элементу на
каждую страницу основной памяти. Генератор индексов
расстановки преобразует (перемешивает) по особому ал-
горитму биты виртуального адреса в адрес некоторого
входа в таблицу — указатель страниц. Выходной элемент
таблицы указателя служит адресом в справочнике
страниц.
В процессе преобразования виртуального адреса ме-
ханизмы поиска находят цепочку, предположительно
содержащую виртуальную страницу, а затем просматри-
вают ее элементы, проверяя их на совпадение с виртуаль-
ным адресом страницы. Индекс соответствующего эле-
мента справочника страниц становится идентификатором
виртуальной страницы. При отсутствии страницы специ-
альная программа обращается к вводу-выводу и перепи-
сывает страницу, соответствующую заданному виртуаль-
ному адресу, из внешней дисковой памяти в основную
память, а также обновляет справочник страниц. Под-
система использует полный виртуальный адрес и анало-
гичный способ преобразования, чтобы сформировать
физический адрес для соответствующего дискового нако-
пителя.
В виртуальной машине каждому пользователю пре-
доставляется независимое виртуальное пространство
(одно или несколько). При этом возникает проблема
обмена информацией между разными виртуальными про-
странствами, которая решается введением дополнитель-
ного механизма трансляции адреса для вторичного
виртуального адресного пространства.
Совершенствование иерархической структуры ОП.
Проблема снижения временных потерь из-за конфликтов
при обращении в основную память является особенно
острой, так как процессор имеет несколько уровней
совмещения и большее число высокоскоростных каналов
ввода-вывода. В устройстве управления памятью разре-
шается конфликт как между запросами процессора и
72
каналов, так и внутри групп запросов каждого из этих
устройств. Взаимное влияние этих запросов приводит
к задержке обслуживания отдельных запросов при обра-
щении к памяти. Эксперименты показывают, что при не-
которых условиях эта задержка весьма значительна и
составляет 20—23 % от эффективного времени доступа.
Снижения конфликтов можно достичь улучшением
физических временных параметров основной памяти, а
также выбором организации и стратегии управления ос-
новной памятью. Под стратегией управления понимается
определение приоритетов обработки запросов в устройст-
ве управления памятью и организация их обслуживания.
При этом необходимо учитывать два свойства локально-
сти программ: временное и пространственное. Так, ин-
формация, к которой по программе производится обра-
щение, в текущий интервал времени часто используемся и
расположена она в памяти, как правило, по смежным
адресам [16].
Использование иерархических систем основной памя-
ти в вычислительной технике является устойчивой тен-
денцией. Иерархические системы ОП характеризуются
следующим образом: 1) имеется несколько иерархиче-
ских уровней хранения организованной в блоки инфор-
мации; 2) иерархические уровни памяти отличаются по
быстродействию и емкости, более быстродействующие
памяти имеют меньшую емкость и располагаются либо
в самом процессоре, либо ближе к. нему, в устройстве
управления памятью; 3) первое обращение к блоку ин-
формации приводит, как правило, к перемещению блока
с более медленного уровня иерархии на более быстрый,
последующие обращения к этому блоку приводят к вы-
борке только из быстродействующей памяти.
Обычно используют двухуровневую ОП, где в качест-
ве быстродействующего уровня применяют сверхопера-
тивную буферную память (СБП) относительно неболь-
шой емкости. Иерархической ОП свойственно уменьше-
ние среднего времени обслуживания запросов централь-
ных процессоров в память, т. е. эффективного времени
цикла обращения ГЭф. Величина Гэф, используемая в ка-
честве обобщенной характеристики производительности
иерархической системы памяти, является довольно слож-
ной функцией от технических параметров обоих компо-
нентов памяти, а также от способов взаимодействия меж-
ду ОП, СБП и процессорами:
Тзф = f(Тon, ТСБП, Р, С),
73
где Гоп — цикл ОП; Гсбп — цикл СБП, Р — вероятность
промаха (под «промахами» понимаются случаи, когда за-
прошенной процессором информации нет в СБП и требу-
ется обращение в ОП для загрузки блока информации
из ОП в СБП); С — некоторая характеристика структур-
ной организации двухуровневой ОП.
Для оптимизации структуры управления памятью
необходимо:
— увеличить вероятность нахождения адресуемой
процессором информации в СБП (уменьшить вероятность
промаха);
— сократить время выборки информации, имеющейся
в СБП;
— сократить время перемещения информации из ОП
в СБП;
— сократить время задержки при копировании из
СБП в ОП измененной в СБП информации;
— обеспечить целостность информации в СБП для
многопроцессорных систем.
Разумеется, при оптимизации структуры управления
памятью должны быть учтены стоимостные ограничения.
Анализ иерархических систем памяти исследователями
проводится по следующим показателям: объем СБП; ем-
кость блока информации; ширина выборки из СБП; спо-
соб отображения адресного пространства ОП на СБП;
алгоритм размещения информации в СБП; использование
СБП в режиме мультипрограммирования; разделение
СБП на части по принципу пользователь — супервизор
или данные — инструкции; многоуровневость СБП; алго-
ритм замещения информации в СБП; алгоритм обслужи-
вания запросов процессоров и каналов ввода-вывода; це-
лостность информации в СБП многопроцессорных вычис-
лительных систем.
Сверхоперативная буферная память.
СБП предназначена для хранения отдельных, наибо-
лее часто используемых участков программы и данных,
что обеспечивает быстрый доступ к ним со стороны
процессора. Эффект применения СБП определяется вре-
менем цикла и вероятностью нахождения запрашивае-
мой информации в СБП, что, в свою очередь, зависит от
ее емкости, способа адресации и размера блока данных,
которыми основная и буферная памяти обмениваются
между собой [1, 11].
В идеальной системе емкость СБП должна размешать
всю информацию, за которой процессор обращается в
74
основную память. При этом вероятность обращения к
СБП равна единице, а эффективное время доступа к ОП
равно времени цикла СБП. Однако в реальной системе
вероятность обращения к СБП (Р) не равна единице и
изменяется в зависимости от параметров СБП, подчиня-
ясь закону, близкому к экспоненциальному:
P = (l — exp(V/V0)),
где Vo — средний размер программы и ее рабочей облас-
ти; V — емкость СБП.
При заданной емкости СБП с увеличением размера
блока обмена вероятность обращения к СБП сначала
возрастает из-за сокращения числа повторных обраще-
ний в ОП, а затем уменьшается, так как число независи-
мых блоков данных, которые могут разместиться в СБП
фиксированной емкости, становится ограниченным. Более
того, с большой вероятностью перемещаемые при этом
в СБП «лишние» данные могут не использоваться, т. е.
уменьшается эффективная емкость СБП. Максимальная
эффективность применения СБП достигается при вероят-
ности обращения 0,95—0,99, что соответствует ее емкости
16—128 К байт.
Итак, необходима СБП большой емкости с достаточно
малыми размерами блока обмена, при этом проблема
адресации данных в СБП становится более острой.
В отличие от локальной или основной памяти сверхопера-
тивная память не является программно доступной (адре-
суемой) памятью, т. е. не является архитектурным сред-
ством. Соответственно принципы обращения к СБП не
должны изменять принципов адресации программ и дан-
ных в ОП. Однако изменение размера реально адресуе-
мого пространства требует преобразования адреса при
обращении в СБП. На рис. 2.14 показаны две возможные
схемы адресации буферной памяти.
При прямой адресации (рис. 2.14, а) на место опреде-
ленного блока могут помещаться только блоки ОП с но-
мером, кратным номеру блока СБП (К, К + 64,
К+ 128, ...). Адресация буферной памяти выполняется
достаточно просто: jo номеру байта выбирается блок
СБП и поле адреса Ълока сравнивается с соответствую-
щим полем адреса ОП. Недостаток такой организации —
конфликты блоков за «место»» в СПБ и, как следст-
вие, низкий коэффициент ее использования.
При ассоциативной адресации (рис. 2.14,6) блоки
75
Рис 2.14. Схемы адресации буферной памяти:
а — прямая; б — ассоциативная
ОП могут размещаться на месте любого блока СБП.
Однако при этом необходим просмотр всех адресов бло-
ков СБП, что требует использования средств ассоциа-
тивного поиска (ассоциативная память).
Принцип ассоциативной организации памяти заклю-
чается в том, что поиск информации в памяти осуществ-
76
ляется не по адресу, что характерно для адресуемой
памяти, а по содержимому либо части содержимого,
которое назовем ключом. Это положение проиллюстри-
ровано рис. 2.15. Каждая ячейка ассоциативной памяти
наряду с содержательной информацией (И) имеет клю-
чевое поле (К).
Таким образом, отличительный признак ассоциатив-
ной организации — отсутствие внешнего описания памя-
ти. Процесс поиска информации сводится к сравнению
ключа с содержимым ключевых полей всех ячеек. Если
Рис. 2.15. Организация ассоциативной памяти
77
для одной ячейки сравнение завершилось удачно, то из
нее выбирается информация, в противном случае счи-
тается, что искомой информации в ассоциативной памяти
нет. Другим отличительным признаком ассоциативной ор-
ганизации является то, что поиск информации осуществля-
ется параллельно во всех ячейках. Это означает, что
каждой ячейке должна соответствовать схема сравнения.
Последнее обстоятельство усложняет и удорожает ассо-
циативную память.
Наибольшее распространение получила смешанная
адресно-ассоциативная организация СБП (типа КЭШ):
содержимое СБП однозначно отображает содержимое
отдельных фрагментов ОП. Фрагменты определяют ад*
ресную единицу в СБП: чем больше фрагмент, тем мень-
ше различных адресов в СБП, при этом уменьшается
объем эффективно используемой СБП.
В качестве примера рассматривается организация
СБП, используемая в высокопроизводительных ЭВМ:
единицей обмена и адресации является блок данных.
Структура буферной памяти и схема размещения инфор-
мации в ней приведены на рис. 2.16. Для иллюстрации
механизма адресации и обмена все поле основной памяти
условно разбито на отдельные страницы по горизонтали
и колонки по вертикали.
Число страниц зависит от объема основной памяти.
Так, например, при объеме 8 М байт основная память
содержит 4096 страниц по 2 К байт. При блоке информа-
ции в 32 байт число колонок постоянно и равно 64.
В результате такого разбиения каждая страница содер-
жит 64 блока данных основной памяти. Объем каждого
блока составляет 32 байт или четыре двойных слова
данных, расположенных в основной памяти по последова-
тельным адресам. Обмен данными между основной и
буферной памятью осуществляется указанными блоками
информации.
Буферная память, как и основная,, делится на блоки
информации по горизонтали и вертикали^ Емкость СБП
меньше, чем ОП, но она может содержать блоки инфор-
мации разных страниц ОП. Число колонок буферной
памяти равно числу колонок основной памяти.
Любой блок данных из определенной колонки ОП
можно разместить' в одном из блоков той же колонки
СБП.
Буферная память управляется двумя массивами:
матрицей адресов (МА) и таблицей активности. Деление
78
Адрес основной памяти
Основная память
Рис. 2.16. Организация буферной памяти КЭШ
МА на колонки и строки соответствует делению СБП,
в МА хранятся адреса тех блоков информации ОП,
которые находятся в СБП. Структура адреса в МА:
адрес страницы ОП, из которой перенесен блок данных
и разряды достоверности данных.
Процесс обмена блоками информации между основ-
ной и буферной памятью происходит следующим образом.
При поступлении из процессора запроса на выборку
информации из ОП по адресу колонки из матрицы адре-
сов одновременно считываются адреса всех блоков дан-
ных, содержащихся в адресуемой колонке. Эти адреса
сравниваются с адресом страницы ОП.
Если требуемая информация находится в буферной
памяти (сравнение произошло), то данные выбираются
из буферной памяти и передаются в процессор. При
этом адрес ячейки буферной памяти определяется сле-
дующим образом: номер блока определяется сигналом
с соответствующей схемы сравнения, адрес колонки —
разрядами 13—18, а адрес байта — разрядами 19—23
адреса обращения.
Если сравнения не происходит, то требуемого блока
данных в СБП нет и его необходимо считать из ОП.
В этом случае обращение производится в ОП, блок дан-
ных заносится в буферную память, а информация, ко-
торая определяется адресом обращения, передается
непосредственно в процессор. Блок данных, считанный
из ОП, записывается в колонку СБП, номер которой оп-
ределяется соответствующими разрядами обращения.
Таким образом, обращение в МА и СБП осуществляется
по некоторому адресу, что позволяет использовать для
построения МА и СБП обычные элементы памяти, т. е.
создавать СБП требуемой емкости. Это является основ-
ным достоинством рассматриваемой схемы.
Недостатки появляются при попытке синхронизиро-
вать процессы обработки с процессами обмена через
каналы ввода-вывода. В случае если процессор обраща-
ется для записи данных в ОП и при этом блок информа-
ции, в который производится запись, находится в буфер-
ной памяти, то изменению должно подвергаться содер-
жимое как ОП, так и СБП, так как по условию содержимое
СБП является копией данных, записанных в соответст-
вующих блоках ОП.
Если данные изменяются при записи информации от
каналов ввода-вывода, то соответствующий блок данных
в СБП должен быть либо изменен аналогично, либо
80
аннулирован. При записи данных в ОП через каналы
ввода-вывода могут возникнуть два случая: блок инфор-
мации, к которому обращается канал, находится только
в ОП; копия блока информации ранее занесена в
СБП. В первом случае никаких действий по изменению
матрицы адресов, таблицы активности и содержимого
СБП не производится. Во втором — разряды достовер-
ности соответствующего блока данных в матрице адресов
сбрасываются в ноль, а таблица активности корректиру-
ется так, чтобы указанный блок обладал минимальной
активностью.
Возможен и другой алгоритм обслуживания обраще-
ний процессоров для записи информации. Например,
если процессор осуществляет запись данных в ОП, а при
этом необходимый блок находится в СБП, то изменению
подвергается только содержимое СБП. Запись информа-
ции в ОП происходит в момент замещения блока- новым
блоком (в соответствии с таблицей активности).
При этом естественно значительно снижается частота
обращения в ОП, повышается производительность про-
цессора. Однако каналы ввода-вывода должны произ-
водить запись данных в буферную память и выборку
из нее, если необходимый блок информации находится
в СБП. То же самое должно осуществляться в много-
процессорной системе с общим полем оперативной памя-
ти, когда один из процессоров работает с данными,
размещенными в буферной памяти другого процессора.
Таким образом, на уровне буферной памяти сходятся
запросы от процессоров и каналов ввода-вывода, что
приводит к увеличению степени конфликтности между ни-
ми и к необходимости увеличения общей пропускной спо-
собности системы памяти.
Какой алгоритм более эффективен — решается при
конкретном проектировании исходя из параметров произ-
водительности процессора, пропускной способности систе-
мы ввода-вывода, времени цикла основной и буферной
памяти, а также стоимостных параметров оборудова-
ния [16].
На рис. 2.17 приведена структурная схема устройства
управления памятью и показано его взаимодействие с
процессором, каналами ввода-вывода и основной па-
мятью.
Алгоритмы замещения информации в
буферной памяти процессора. Для реали-
зации алгоритмов замещения СБП снабжается аппара-
6—1370 81
1
Рис. 2.17. Структурная схема устройства управления памятью
турой, автоматически отслеживающей во времени после-
довательность обращений процессоров к блокам инфор-
мации в СБП (хронологию обращений) и выполняющей
поиск и вытеснение наименее активного блока инфор-
мации в случае промаха.
Довольно часто применяют алгоритмы, реализующие
принцип «наиболее давно используемые» (ИДИ). В со-
ответствии с этим принципом из СБП удаляются блоки
информации, к которым наиболее долго не было обраще-
ний от программ.
Алгоритмы замещения НДИ делятся на две группы:
1) точные — точно вычисляющие номер блока, к ко-
торому наиболее долго не было обращений;
2) неточные — определяющие блок или группу бло-
ков информации, к которым были направлены послед-
ние по времени обращения и которые замещать не сле-
дует, т. е. номер блока для замещения определяется
по некоторому приближенному правилу. Для оценки
неточных алгоритмов вводится коэффициент качества k,
определяющий математическое ожидание номера заме-
щаемого блока:
k = tiPi,
i = 1
где п — число блоков в колонке СБП; Л — вероятность
замещения z-го блока; i — номер блока в гипотетически
жесткой очередности замещения по точному алгоритму,
причем самый активный («новый») блок имеет номер 1,
а самый неактивный («старый») — номер п.
Отметим, что для точных алгоритмов k = n.
Аппаратурные затраты Q оцениваются по необходимой
емкости для памяти хронологии, так как затраты на
схемы управления пропорциональны этой емкости.
Применение неточных алгоритмов, приводящее к вы-
теснению из СБП активных блоков, эквивалентно про-
порциональному сокращению эффективной емкости СБП,
что можно оценить коэффициентом качества k. Знание
эффективной емкости СБП позволяет для каждой конк-
ретной ЭВМ вычислить Гэф. Применение точных алго-
ритмов безусловно требует больших аппаратурных за-
трат, что для высокопроизводительных ЭВМ приводит
также и к увеличению длительности машинного цикла
Гм. По величине Гэф (для неточных алгоритмов) или Гм
(для точных алгоритмов) при известном времени выпол-
нения команд можно рассчитать потери производительно-
6*
83
сти ЭВМ в результате применения конкретного алгорит-
ма вместо гипотетического «идеального», т. е. точного
алгоритма, реализация которого не требует увеличения
длительности Тм.
Проанализируем известные алгоритмы замещения:
Ai — точный алгоритм, который впервые был приме-
нен в блоке ассоциативных регистров ЭВМ GE645.
Каждому из п регистров сопоставлены номера от 0 до п,
образующие список активности, корректируемый при
каждом обращении к регистрам. Для этого алгоритма
Q = nlog2/i (теоретический минимум для точных алго-
ритмов) ;
А2 — точный алгоритм, использованный в ЭВМ
IBM370/165, 168/1, ЕС1060. Этот алгоритм описывается
матрицей, называемой «турнирной таблицей», и требует
для реализации Q = n(n — 1)/2 бит;
Аз — неточный алгоритм, использованный в ЭВМ
IBM 360/67. Каждому блоку в колонке СБП соответ-
ствует бит активности, который устанавливается в 1 при
обращении к этому блоку. Блок для замещения выбира-
ется из группы блоков, имеющих бит активности, рав-
ный 0. Для этого алгоритма Q = n;
А4 — неточный алгоритм, для реализации которого
используются две памяти хронологии, причем вычисле-
ние хронологии ведется не для блоков, а для строк
СБП, т. е. страниц ОП емкостью до 4 К байт. Номер
замещаемой строки СБП вычисляется заранее (до реаль-
ного промаха) и требует значительного времени (десяти
Гм). Этот алгоритм не был реализован ни в одной ЭВМ.
Аппаратурные затраты , где г — число коло-
нок в СБП;
А5 — неточный алгоритм замещения «двоичное дере-
во», имеющий минимальные затраты оборудования на
реализацию: Q = n — 1. Например, для 16 блоков в колон-
ке СБП требуется 15 бит хронологии, назначение
которых следующее: биты /?0/1, /?i4/is отслеживают
хронологию обращений к блокам, объединенным в пару;
биты /?о/з, Л4/7, /?8/н, Л12/15—к парам блоков; биты
/?о/7, /?8/15 — К четверкам блоков, а бит /?0/1в — к восьмер-
кам блоков. Номер блока (&2 + &3) для замещения при
промахе определяется по формулам:
Ьо = /?0/15^_ _
b\ = Ro/IsRq/tV/?0/15^?8/15i
84
Ь<2 = #0/15#0/7#0/3V#0/15#0/7# 4/7V# 0/15# 8/15# 8/11V
V#0/15#8/15# 12/15> _ _ _
Ьз = #0/15#0/7#0/3#0/lV#0/15#0/7#0/3#2/3V#0/15X
X #0/7# 4/7# 4/5V# 0/5# Q2Z# 4/7# 627VRq/iJ\ 8/15#_8/l 1X
Х#8/9У#02Ч5#8/15#8/11# 10/11VZ? 0/15# 8/15# 12/15# I2/I3V
V#0/5#8/15# 12/15# 14/15-
Для анализа алгоритмов Аз и As разработана ими-
тационная модель и выполнен прогон для 100 000 обра-
щений к каждой колонке СБП. По результатам модели-
рования выявлено преимущество алгоритма «двоичное
дерево» примерно на 20 % (например, при 16 блоках в
колонке k= 13,2 для алгоритма As и fe = 20,5 для алго-
ритма Аз). Кроме того, в соответствии с алгоритмом Аз
могут замещаться вторые и третьи по активности блоки,
что особенно нежелательно при использрвании СБП в
качестве общего ресурса процессоров в многопроцессор-
ных вычислительных комплексах (МВК), так как при
этом необходимо сохранять в СБП наиболее активные
блоки информации для нескольких параллельных процес-
сов.
По определенным зависимостям Q=f(VCBn) и k =
= /(Усбп), где Усбп—емкость СБП с учетом промахов и
увеличения длительности Тм, построены зависимости
Тэф = Д1/СБП) для всех рассматриваемых и идеального А
алгоритмов (рис. 2.18). Можно сделать вывод, что для
Рис. 2.18. Зависимость эффективного времени Гэф от ем-
кости УСБП для рассмотренных и «идеального» алгоритмов
замещения информации в СБП
85
СБП малой емкости эффективнее точные алгоритмы, а
для СБП большой емкости (16, 32 К байт и более), когда
ассоциативность не менее восьми, следует применять ал-
горитм As — «двоичное дерево».
На примере ЭВМ ЕС1065 можно определить относи-
тельное увеличение среднего времени выполнения команд
3Ср. ком как результат применения алгоритма «двоичное
дерево» вместо «идеального» алгоритма:
SCp. КОМ
-As _______ 'г
ср ком * ср ком
т
1 ср ком
где Тер ком — среднее время выполнения команды (приме-
нен алгоритм «двоичное дерево»); Тср КОм — среднее вре-
мя выполнения команды (применен «идеальный» алго-
ритм замещения).
Алгоритм «двоичное дерево» близок к «идеальному»
алгоритму, так как увеличение среднего времени выпол-
нения команды (Sep. ком) не превышает 0,6 %.
Обеспечение целостности информа-
ции.
Вопросы организации иерархической системы ОП в
однопроцессорных ЭВМ исследованы в мировой практике
достаточно полно. Результаты этих исследований в основ-
ном применимы и для МВК, однако при создании МВК,
использующих в своем составе иерархические системы
памяти, возникают новые проблемы управления такими
системами. Основная из них обусловлена тем, что при
работе нескольких процессоров на общее поле ОП в еди-
ном адресном йространстве системы одновременно проте-
кает несколько вычислительных процессов. Изменения
информации по любому адресу, вызванные каким-либо
вычислительным процессом, должны быть адекватно и
своевременно доведены до остальных процессов, работа-
ющих с той же адресной областью, для чего система дол-
жна обладать однозначно действующим и эффективным
механизмом обслуживания и координации обращений к
общему полю иерархической ОП. Если это обеспечивает-
ся, то целостность информации в СБП МВК достигается.
В однопроцессорных ЭВМ успешно реализованы раз-
личные алгоритмы обслуживания запросов процессоров и
каналов ввода-вывода в иерархической системе памяти.
Однако их применение в МВК наталкивается на опре-
деленную трудность: увеличение числа процессоров,
объединенных в многопроцессорную систему, не приводит
86
к пропорциональному росту производительности из-за
увеличения времени доступа в память и возникновения
межпроцессорных конфликтов при использовании общей
памяти.
Из известных описаний не всегда ясны достоинства
и недостатки различных способов обеспечения целост-
ности информации. Более того, отдельные технические
предложения существенно отличаются описанием и лишь
незначительно реализацией, что, как правило, можно
объяснить отсутствием единой терминологии [10, 16].
Можно предложить классификацию (рис. 2.19) спосо-
бов обеспечения целостности информации в СБП МВК по
следующим признакам:
— статическое (программное) и динамическое (аппа-
ратное) задания состояний блоков информации;
— принадлежность СБП (частные СБП — каждый
процессор системы имеет свою СБП; СБП — общий ре-
сурс всех процессоров и каналов ввода-вывода МВК);
— реализация и размещение справочника, необходи-
мого для проверки и корректировки содержимого СБП.
Удобна обобщенная методика, позволяющая провести
сравнительный анализ производительности МВК для всех
известных способов обеспечения целостности информации
в СБП (в качестве критерия оценки принята величина
ТЭф). В соответствии с этой методикой обслуживание
запроса ЦП в память предоставляется в виде нескольких
этапов, часть из которых может опускаться, а часть —
исключать друг друга (этап выбирается с вероятностью,
определяемой текущим состоянием системы).
Статические (программные) способы основаны на
том, что блоки в зависимости от характера содержащей-
ся в них информации помечаются программистом как
перемещаемые или не перемещаемые между уровнями
иерархической памяти. Эти способы не обеспечивают
совместимости с существующими архитектурами и при-
водят к снижению производительности, так как большая
часть информации всегда размещается только в ОП.
Затруднена также миграция вычислительных процессов
между процессорами системы.
Динамические способы с использованием справочни-
ков применяются в МВК, в которых устройства СБП ли-
бо принадлежат конкретным ЦП, либо являются их об-
щим ресурсом. Применяемое в первом случае устройство
коммутации со справочником выполняет две функции:
коммутации, т. е. обеспечения связи всех СБП системы
87
между собой и каждой СБП с ОП; фильтрации, позволя-
ющей исключать большинство (или все) ненужных дей-
ствий (например, сигналы и адреса для аннулирования
должны быть получены только теми СБП, которые содер-
жат копии записываемого в ОП блока).
Эти способы отличаются друг от друга лишь тем, как
составляются динамические оглавления-справочники, где
эти справочники физически размещаются, как в них за-
носится информация, имеется ли в устройстве коммута-
ции промежуточная буферная память (ПБП).
Способы с использованием динамических оглавлений-
справочников можно разделить на три группы:
— полные справочники, к которым относятся: шина
расширения фирмы Synapse, система двойного справоч-
ника СБП, полная распределенная карта ОП, полная рас-
пределенная карта ПБП;
— вырожденные справочники, реализующие два ал-
горитма — сквозная запись с корректировкой данных и
сквозная запись с оповещением о записи;
— минимальные справочники, например, двухбитовая
карта ОП.
Основными трудностями при использовании полных
справочников являются:
— возрастание числа конфликтов в схемах управления
с увеличением ЦП в системе;
— необходимость создания схем управления, облада-
ющих требуемым быстродействием, что является сложной
технической задачей (кроме того, возможности расшире-
ния системы должны быть учтены на этапе разработки) ;
— дополнительные аппаратурные затраты на реали-
зацию справочников.
Основная трудность при использовании вырожденных
или минимальных справочников заключается в том, что
в СБП каждого ЦП необходимо выделять время для
поиска недействительных адресов, причем в большинстве
случаев такой поиск безуспешен. Возникающее при этом
вмешательство ЦП системы в работу друг друга обычно
приемлемо для двухпроцессорного варианта, но при уве-
личении числа ЦП в системе приводит к заметному
снижению производительности и сдерживает развитие
многопроцессорных систем.
Обобщенный алгоритм обслуживания запросов про-
цессоров и каналов ввода-вывода в иерархической систе-
ме памяти МВК «Полностью асинхронный условный об-
мен» (ПАУО) применим при использовании нескольких
88
целостности информации в СБП МВК
СБП с расслоением в качестве общего ресурса и характе-
ризуется следующими особенностями:
— устройства управления памятью (УП) (с входящим
в их состав СБП) используются в качестве общих
ресурсов, т. е. предназначены для обслуживания запро-
сов к определенной области ОП не какого-либо одного
ЦП, а всех ЦП и каналов ввода-вывода МВК;
— запись производится только в СБП без немедлен-
ного копирования в ОП, что существенно снижает коли-
чество обращений в ОП;
— использование нескольких модулей СБП с расслое-
нием их для увеличения полосы пропускания интерфейсов
модулей СБП. В А-процессорной системе предусматри-
вается наличие п модулей СБП и т модулей ОП. За каж-
дым модулем СБП закрепляются страницы памяти ем-
костью в 2 К байт с n-кратным чередованием, причем
rt^N (например, в четырехпроцессорном варианте ЭВМ
ЕС1065 используются два модуля СБП);
— используется асинхронный принцип взаимодей-
ствия модулей СБП и ОП. Во время обращения к ОП в
случае промаха какого-либо ЦП модуль СБП доступен
для обслуживания других запросов. Для обеспечения
асинхронного принципа взаимодействия между СБП и
ОП предусмотрены блоки буферизации запросов, имею-
щие в своем составе согласующие буферные накопители;
— дисциплина обслуживания каналов ввода-вывода
аналогична дисциплине обслуживания запросов ЦП.
Отличие состоит в том, что для блоков информации по
запросам ввода-вывода отводится часть объема СБП
(например, 1 /8 от объема СБП, как в ЭВМ ЕС1065).
Сравнение алгоритма ПАУО с другими алгоритмами
обеспечения целостности информации в СБП МВК прове-
дем по величине Тэф и другим основным показателям;
— числу конфликтов на уровне обращения в СБП;
— устойчивости МВК к отказам СБП или УП;
— эффективности использования СБП;
— влиянию длин связей на Гэф;
— удобству выполнения команд защиты памяти.
Увеличение среднего времени выполнения процессо-
ром команды Af(jV) из-за конфликтов на уровне СБП
при одновременных обращениях нескольких процессоров
к одному устройству УП с включенным в его состав моду-
лем СБП определяется следующим выражением:
M(N) = G XC‘N _ i Р\ Pt'"1 i Л/з,
90
где N — число ЦП, включенных в состав МВК, G—сред-
нее число обращений к УП от ЦП при выполнении одной
команды; C)v_i —число сочетаний из N—1 по г; Р\ —
вероятность одновременного обращения второго ЦП к
УП; Р12 — вероятность того, что другой ЦП не обращает-
ся к этому же УП в том же машинном цикле; А/3 — уве-
личение среднего времени выполнения команды из-за
единичного конфликта, т. е. из-за одновременного обра-
щения к одному УП двух ЦП.
После преобразований это выражение для МВК имеет
вид:
с использованием алгоритма ПАУО.
д/'^= £ V;
с использованием алгоритма сквозной записи с опове-
щением о записи
где Оср — среднее число машинных циклов, требуемых
для выполнения одной команды; G3an — среднее количе-
ство обращений по записи за время выполнения команды.
Считается, что число УП равно числу ЦП.
Анализ приведенных выражений (если задаться зна-
чениями G, Gзап, аср, АС в диапазонах величин, харак-
терных для современных ЭВМ) позволяет сделать вывод,
что при небольшом количестве ЦП в составе МВК увели-
чение среднего времени выполнения команды из-за
конфликтов на уровне СБП примерно одинаково, а при
увеличении числа ЦП (более четырех) предпочтитель-
нее становится вариант МВК с использованием алгорит-
ма ПАУО (рис. 2.20).
При применении частных СБП суммарная емкость
используется не с максимальной эффективностью, так
как в СБП разных ЦП происходит дублирование инфор-
мации: общие фрагменты программ операционных си-
стем, стандартные программы, константы, текущая ин-
формация по задачам высшего приоритета (результат
миграции вычислительных процессов) —рис. 2.21.
При использовании алгоритма ПАУО, где каждый
модуль СБП отображает определенную область ОП, нет
дублирования информации и эффективность использова-
ния СБП возрастает. При этом эффективная емкость
СБП равна сумме емкостей всех модулей СБП, т. е. зна-
чительно расширена.
91
Применение алгоритма ПАУО и, следовательно, ис-
пользование модулей СБП в качестве общих ресурсов
более целесообразно и с точки зрения устойчивости МВК
к отказам. В МВК при использовании частных СБП
отказ модуля СБП приводит к тому, что ПП работает
только с ОП (с присущим ОП циклом обращения), а при
использовании алгоритма ПАУО отказ модуля СБП
приводит лишь к уменьшению суммарной емкости СБП,
что существенно меньше влияет на общую производи-
тельность системы. Разница еще более значительна при
отказах в устройстве УП. В МВК с использованием
частных СБП такой отказ полностью лишает один из ЦП
доступа в ОП, что вызывает его останов и выключение.
В МВК с использованием алгоритма ПАУО влияние
отказа в УП на производительность не отличается от влия-
ния отказа в модуле СБП, поскольку оставшиеся УП берут
на себя обслуживание запросов всех ЦП ко всему объе-
му ОП.
Алгоритм ПАУО имеет еще одно преимущество—обе-
Р и с. 2.20. Зависимость уве-
личения среднего времени
выполнения команды А/ от
числа процессоров W
Значения A/^Af) заключены
между черными линиями, а зна-
чение Af \N) — между красны-
ми линиями
Рис. 2.21. Схематическое
изображение эффективности
использования емкости иерар-
хической ОП в МВК при раз-
личной организации СБП:
а — СБП «частные»; б — общий
ресурс процессоров
92
спечивает удобство выполнения команд защиты памяти,
причем это преимущество заключается не столько в ско-
рости выполнения команд, сколько в логической простоте.
Весомость этого преимущества возрастает с увеличением
числа ЦП, входящих в состав МВК.
При организации МВК с использованием алгоритма
ПАУО выражение для Тэф имеет вид
Лф = ---(ТсБП + Гспр СБп)+ Р G4 +
+ T
ож + ?ОП + Т'пер СБП + ТспрСБП + ?СБП ) ,
где А — время работы блока приоритетов; п — число
модулей СБП; Р — вероятность промаха; Тспрсбп —время
работы матрицы адресов (справочника) СБП; ТперСБп —
число машинных циклов, затрачиваемых на передачу
блока из ОП в СБП; k = Топ/Гсбп-
Время ожидания ГОж (обслуживаются запросы дру-
гих ЦП) определяется из соотношения
т -1-1™ И
1 _ (1 _ Ф N = эф * * ”
' Т Эф ' Т'эф
Аналогичные системы уравнений получаются для каж-
дого анализируемого способа обеспечения целостности
информации в СБП МВК. На их основании определя-
ются зависимости Тэф=ДА), при этом задание числовых
значений указанных параметров находится в диапазоне,
характерном для современных МВК (рис. 2.22).
Из проведенного анализа следует, что выбор способа
организации иерархической памяти, обеспечивающего це-
лостность информации, при числе процессоров в МВК до
четырех определяется конкретными архитектурными и
конструктивно-технологическими решениями; при числе
ЦП свыше четырех предпочтительно использование ал-
горитма ПАУО.
Расширенная оперативная память.
Быстрый рост производительности ЦП в последнее время
еще более обострил проблему несоответствия производи-
тельностей ЦП с подсистемой ввода-вывода и внешней
памяти. В то время как быстродействие ЦП удваивается
за 3—6 лет, пропускная способность системы ввода-выво-
да растет приблизительно пропорционально быстродей-
ствию ЦП, время доступа к запоминающим устройствам на
магнитных дисках остается практически неизменным.
Данное несоответствие, как показано в ряде работ, при-
водит к значительной фактической недогрузке ЦП. Так,
93
Рис. 2.22. Зависимость от числа процессоров
N в составе МВК при реализации различных
алгоритмов обеспечения целостности информа-
ции:
1 — при алгоритме СЗ с оповещением о записи; 2 —
при полной распределенной карте ПБП; 3 — при двух-
битовой карте ОП; 4 — при двойном справочнике СБП;
5 — при алгоритме фирмы Synapse; 6 — при алгоритме
ПАУО
измерения загрузки ЦП, проведенные для различных мо-
делей ЭВМ на различных ВЦ, дают схожие результаты:
ЦП не загружен на 61—76 % от общего времени. Основ-
ная часть потерь процессорного времени вызвана ожида-
нием завершений операций ввода-вывода с НМД. В ре-
зультате комплексная производительность (Рк) моделей
ЭВМ, измеряемая в миллионах операций в секунду
(МОПС), часто оказывается в 2—4 раза ниже номиналь-
ной производительности [9, 17].
Применяемые решения и методы, позволяющие час-
тично или полностью преодолеть указанное несоответ-
ствие, можно разбить на четыре группы:
— оптимизация размещения информации между ОП
и НМД;
94
оптимизация конфигурации ЭВМ (увеличение чис-
ла и использование новых типов НМД);
— совершенствование характеристик НМД;
— использование новых структурно-функциональных
решений.
Методы первой группы позволяют повысить произво-
дительность ЭВМ на 12—25 %. Они предполагают прове-
дение большого объема работ по исследованию функци-
онирования существующих ВС. Оптимизация проводится
под определенный пакет решаемых пользователем задач
и доступна далеко не каждому пользователю ЭВМ.
Методы второй группы основаны на изменении типа
используемых накопителей на магнитных дисках, путей
доступа к ним и оценки эффективности принятых реше-
ний с помощью аналитического или имитационного моде-
лирования.
Применение методов второй группы связано со значи-
тельным ростом объема оборудования ВС (и занимаемых
площадей машинного зала). Рис. 2.23 иллюстрирует рост
производительности моделей ЭВМ в зависимости от изме-
нения конфигурации внешних запоминающих устройств.
Из рисунка видно, что для более высокопроизводитель-
ных моделей быстро наступает насыщение, — т. е. даль-
нейшее увеличение количества устройств управления
(УУ) и НМД не вызывает существенного увеличения
производительности ЭВМ. Это объясняется тем, что не-
смотря на точную настройку системы и высокую степень
мультипрограммирования, различные программы попада-
Конфигурация
Рис. 2.23. Зависимость производительности различных моде-
лей (/—4) при изменении конфигурации внешних запоминаю-
щих устройств
95
ют в очередь к небольшому числу НМД, производитель-
ность которых и является в конечном счете «узким гор-
лом» ЭВМ.
Методы третьей группы призваны разрешить назван-
ное противоречие. Как известно, для оценки производи-
тельности НМД используется реализуемая частота обра-
щения к накопителю:
7\+Тр Л + Тз + Тр'
где Тд — время доступа; Тр — время работы (выполнения
операции по передаче данных); Тп — время поиска; Т3 —
время задержки.
Практически для большинства накопителей число обо-
ротов диска составляет 3600 об/мин и Т3 =0,5X16,7 =
= 8,33 мс. Увеличение числа оборотов диска выз“ывает
трудности, связанные с обработкой высококачественных
сигналов воспроизведения информации. Уменьшение же
Тп связано с созданием высококачественных и малоинер-
ционных систем позицирования, вследствие чего вели-
чина Тп остается равной 12—15 мс для наиболее перспек-
тивных накопителей. Таким образом, Тд= 20—23 мс
для наиболее перспективных накопителей. Возможно
уменьшение Тп за счет структурной организации накопи-
телей — увеличения числа позиционеров в накопителе и
числа магнитных головок. Но и в этом случае трудно
ожидать значительного улучшения Тд.
Методы четвертой группы могут кардинальным обра-
зом решить проблему за счет использования новых струк-
турно-функциональных решений. Здесь имеются два спо-
соба:
— применение буферной памяти (БП) типа КЭШ для
ускорения доступа к НМД;
— введение в состав ЭВМ электронной памяти, пред-
назначенной для частичной замены НМД.
Каждый способ, в свою очередь, может иметь разно-
образные направления конкретной технической реализа-
ции. Существует несколько направлений размещения БП:
БП в процессоре, размещаемая в ОП или вне ее; напри-
мер, БП, ассоциируемая с каналами ввода-вывода или с
группой каналов; БП в контроллере дисковой памяти или
группе контроллеров; БП в управляющем модуле линей-
ки дисков; БП в каждом дисковом накопителе.
Наметилось два направления введения в состав ЭВМ
дополнительной электронной памяти: создание электрон-
96
них запоминающих устройств с интерфейсом, идентич-
ным интерфейсу УУ НМД (как программным, так и аппа-
ратным); введение дополнительного уровня иерархиче-
ской памяти большого объема — расширенной памяти,
непосредственно связанной с основной памятью.
Развитие технологии производства интегральных мик-
росхем памяти с высокой степенью интеграции позволяет
реализовать дополнительные электронные памяти при от-
носительно небольших затратах — расширенную опера-
тивную память (РОП).
При согласовании производительностей процессора и
файловой подсистемы за счет введения в состав ЭВМ
расширенной оперативной памяти возникают вопросы вы-
бора основных структурно-технических характеристик
устройства, а именно:
— емкости РОП;
— времени -доступа;
— скорости передачи данных между расширенной и
основной памятью;
— путей доступа и способа обеспечения совместно-
го функционирования;
— размера передаваемых блоков данных;
— способа доступа (программно-логического) к дан-
ным, т. е. интерфейса для связи с ОС;
— физического интерфейса;
— показателей надежности, живучести;
— принципов построения системы диагностики и ин-
женерного обслуживания, обеспечивающих удобство
обслуживания.
Для оценки влияния характеристик расширенной
оперативной памяти на комплексную производитель-
ность ЭВМ были проведены исследования, результаты
которых показывают, что использование РОП эффектив-
но, так как время доступа к информации сокращается
примерно в 300—400 раз по сравнению с временем досту-
па при использовании только накопителей на магнитных
дисках.
2.4 Тенденции развития
подсистемы ввода-вывода
Наиболее существенное отличие ЭВМ III
поколения от ЭВМ предшествующих поколений — выде-
ление подсистемы ввода-вывода в качестве самостоятель-
ной функциональной подсистемы. Необходимость этого
7—1370
97
объясняется выбором мультипрограммного режима ра-
боты ЭВМ, при котором одновременно с обработкой
данных выполняются процедуры ввода и вывода данных.
Эффективность выполнения приведенных процедур во
многом определяет эффективность работы системы в це-
лом.
ф Основное направление развития подсистемы — повы-
шение функциональных возможностей (интеллекта) для
эффективного выполнения интерфейсных функций обще-
ния с внешними (периферийными) устройствами (ВУ)
110,111.
К внешним устройствам относится любое устройство
ввода-вывода или внешней памяти, подключенное к ЭВМ
и используемое для обмена информацией с основной па-
мятью.
Состав и функции подсистемы ввода-вывода.
Подсистема ввода-вывода (ПСВВ) — совокупность
технических и программных средств, обеспечивающих
автоматический обмен данными между основной памятью
машины и внешними устройствами: ввод-передача дан-
ных от ВУ в основную память, вывод-передача данных
из основной памяти к ВУ. Основное назначение подсисте-
мы — обеспечение возможности совмещения работы мно-
гих ВУ. Сложность управления в ПСВВ объясняется
следующими факторами: наличием ВУ разных типов,
требующих специфических форм обслуживания, необхо-
димостью одновременного контроля за состоянием мно-
гих устройств и процессов ввода-вывода, разнообразием
режимов взаимодействия пользователя с ЭВМ [15].
Логически подсистема ввода-вывода представляет со-
бой совокупность подканалов обмена между внешними
устройствами и основной памятью; каждому внешнему
устройству выделяется логический подканал.
Реальные подканалы могут быть двух типов. Нераз-
деленный подканал представляет собой сред-
ство выполнения процедуры обмена с определенным
внешним устройством. Несколько неразделенных подка-
налов могут использовать общее оборудование и единое
стандартное сопряжение с группой внешних устройств.
При этом предусматривается разделение во времени
выполнения операций ввода-вывода во всех подканалах.
Разделенный подканал представляет собой
средство, которое может использоваться попеременно
различными логическими подканалами (с разделением во
времени) для организации обмена с многими внешними
98
устройствами. Разделенный подканал может иметь соб-
ственное оборудование и отдельное сопряжение с внеш-
ними устройствами. Обычно разделенные подканалы ис-
пользуются с такими устройствами, которые имеют об-
щий блок управления (например, ВЗУ).
Канал ввода-вывода (далее — канал) —средство уп-
равления передачей данных между основной памятью и
ВУ. Возможны два режима использования канала со
стороны ВУ: монопольное, при котором в течение проце-
дуры ввода-вывода обслуживается только одно ВУ, а
работа остальных ВУ на это время блокируется, и муль-
типлексное, при котором каждое из подсоединенных ВУ
попеременно взаимодействует с каналом в интервалы
времени, устанавливаемые автоматически.
Байт-мультиплексный (мультиплексный) канал имеет
определенное число неразделенных подканалов, т. е. спо-
собен одновременно обеспечить выполнение операций
ввода-вывода в каждом подканале, при этом общая
нагрузка на канал не должна превышать его пропускную
способность. Если мультиплексный канал не занят обслу-
живанием какого-либо ВУ, то он просматривает наличие
запросов на передачу данных или сигналов прерываний
от внешних устройств. В монопольном режиме подканал,
участвующий в монопольной операции, монополизирует
все средства канала для передачи данных и другие под-
каналы не могут отвечать на запросы от устройств до тех
пор, пока не закончится монопольная операция и аппа-
ратура канала не освободится для обслуживания новых
запросов.
Блок-мультиплексный (или блоковый) канал имеет
также несколько подканалов обоих типов и передает дан-
ные от устройств в монопольном режиме. Если в канале
разрешено мультиплексирование, то монопольный режим
распространяется на передачу только одного блока
данных. Мультиплексирование разрешается между бло-
ками данных, если указывается цепочка команд или
команда повторяется. Возможность мультиплексирования
блоков данных зависит от состояния бита управления
мультиплексированием в управляющем регистре и конст-
рукции устройства.
Селекторный канал предназначается для обмена с
быстрыми внешними запоминающими устройствами в
монопольном режиме. Логическую основу селекторного
канала составляет разделенный подканал, который вы-
полняет одну программу канала в каждый момент време-
7*
99
ни, регламентируя начало новой процедуры ввода-вывода
после окончания предыдущей.
Подсистема ввода-вывода функционально разделяет-
ся на процессоры ввода-вывода, устройства управления
внешними устройствами (УВУ) и собственно ВУ. Процес-
соры ввода-вывода (ПВВ) — унифицированные средства,
выполняющие наиболее общие функции управления вво-
дом-выводом, не зависящие от специфики ВУ.
Процессор ввода-вывода, содержащий набор каналов
для параллельного выполнения процедур ввода-вывода с
различными ВУ, инициализирует работу канала с по-
мощью команд ввода-вывода указанием вида операции,
адреса канала и внешнего устройства, с которым будет
происходить обмен информацией. На рис. 2.24 приведена
структурная схема ПВВ, включающего в себя несколько
(например, шесть) функциональных каналов ввода-вы-
вода, часть их функций реализуется на общем для кана-
лов оборудовании, состоящем из ряда блоков. Канал
ввода-вывода получает команды, дешифрирует их, связы-
вается с УВУ, выбирает из ОП команды канала и выпол-
няет их, опрашивает состояние ВУ и информирует про-
цессор о событиях ввода-вывода.
Устройства управления ВУ (называемые также УВУ,
адаптерами ВУ, контроллерами ВУ, устройствами сопря-
жения, программируемыми контроллерами и т. д.)—сред-
ства ввода-вывода, реализующие специфичные для дан-
ного типа ВУ функции управления и передачи данных.
УВУ осуществляет логическое подключение к каналу за-
прашиваемого устройства, передачу приказов, преобразо-
вание данных в формат, удобный для сопряжения с кана-
лами ввода-вывода, формирует запросы от ВУ в соответ-
ствии с приоритетами, управляет последовательностью
функционирования, определяет их готовность для связи
с каналом. Внешнее устройство выполняет различные
приказы и вспомогательные функции, необходимые для
преобразования данных в вид, удобный для восприятия
ЭВМ или человеком.
Программное обеспечение ПСВВ, в состав которого
входит супервизор ввода-вывода, выполняет важнейшую
функцию операционной системы (ОС) — управление ра-
ботой внешних устройств и предоставление программам
пользователя широких возможностей по управлению
данными. Для удобства пользователей в ОС имеются
стандартные методы доступа к данным, обеспечивающие
обработку запросов пользователя, подготовку программ
100
Рис. 2.24. Структурная схема процессора ввода-вывода
канала и обработку наборов данных. Супервизор ввода-
вывода обеспечивает управление операциями ввода-вы-
вода непосредственно на физическом уровне. Основными
функциями супервизора являются: планирование запро-
сов на ввод-вывод, формирование блоков запросов на
ввод-вывод, подготовка программы канала в реальных
адресах, определение доступности пути к внешнему уст-
101
ройству, запуск операции ввода-вывода на конкретном
устройстве, управление выполнением операции ввода-вы-
вода, обработку ошибок, возникающих при выполнении
операций ввода-вывода, и выдачу сообщений в програм-
му пользователя.
В существующих каналах ввода-вывода отсутствуют
аппаратные средства преобразования логических адресов
в реальные. Поэтому для выполнения программ канала
в виртуальной памяти используются программные сред-
ства для фиксирования страниц, областей ввода-вывода и
преобразования виртуальных адресов программы канала
и адресов данных в реальные. Иными словами, перед вы-
полнением канальной программы супервизор ввода-выво-
да обеспечивает фиксирование необходимых страниц уп-
равляющих блоков, различных служебных программ, про-
грамм канала, буферов данных. После фиксирования су-
первизор ввода-вывода транслирует программу канала,
т. е. строит копию программ канала в реальных адресах
ОП и создает списки слов косвенной адресации, если не-
прерывные области буферов данных оказываются распо-
ложенными в разных страницах реальной памяти.
В существующих ЭВМ интерфейсы между ЦП и ка-
налами идентичны с точки зрения состава передаваемой
информации и логики ее обработки. Центральный про-
цессор должен передать в ПВВ адрес канала и внешнего
устройства и признак операции ввода-вывода. Если пред-
полагается запуск канальной программы, то адресуемый
канал должен извлечь из фиксированной ячейки ОП (в
начальной области памяти) адрес канальной программы.
Далее канал работает самостоятельно под управлением
канальной программы. По завершении операции или при
возникновении особых условий канал информирует ЦП
сигналом прерывания.
Средство управления процессором ввода-вывода пре-
доставляет управляющей программе параметры измерен-
ного истекшего времени, как характеристику степени ис-
пользования ресурсов. Для каждого подканала измеряют
ся и собираются важнейшие параметры использования
подканала: число полученных команд, общее время заня-
тости подканала, время связи с устройством, время
ожидания для функций, ожидающих обслуживания, и
время логического выключения устройства.
Стандартное сопряжение (интерфейс) ввода-вывода.
Для объединения в вычислительную систему различных
устройств широко используются унификация средств
102
подключения и принципов управления подключаемыми
устройствами.
▲ Интерфейс (стандартное сопряжение) — совокуп-
ность логических и физических принципов взаимодей-
ствия компонентов в системе, т. е. совокупность правил,
алгоритмов и временных соглашений по обмену данными
между компонентами системы (логический интерфейс),
а также совокупность физических, механических и функ-
циональных характеристик средств подключения, реали-
зующих взаимодействие (физический интерфейс) [10,
18).
Интерфейсы различают по структуре связей, способу
передачи данных, принципу управления и синхрониза-
ции. Радиальный интерфейс допускает соединение и вза-
имодействие двух устройств с помощью индивидуальных
линий связи. Шинный интерфейс допускает подсоедине-
ние к одному устройству нескольких устройств посред-
ством общих линий связи (шины) с возможностью взаи-
модействия в каждый отдельный момент только с одним
из подсоединенных устройств. Магистральный интерфейс
допускает попеременное взаимодействие всех устройств,
подсоединенных параллельно к одной общей шине. Воз-
можны и другие виды интерфейсов, например кольцевой
(или цепочечный), в котором взаимодействующие устрой-
ства соединены между собой последовательно с возмож-
ностью передачи в одном направлении. Используется и
комбинированная структура, содержащая элементы ин-
терфейсов различных видов.
Интерфейс может включать адресные линии, линии
данных, управления, синхронизации, контроля и опове-
щения. Состав и количество линий определяют возмож-
ные режимы передачи информации. Передача данных
между устройствами может происходить одновременно в
обоих направлениях (дуплексный обмен) или поочередно
в одном из двух направлений (полудуплексный). Переда-
ча данных может осуществляться последовательно по од-
ной линии связи либо параллельно (байт, слово и т. п.)
по соответствующему числу линий связи.
При асинхронном управлении передача данных проис-
ходит после получения сигнала приемника, подтверждаю-
щего готовность к приему, и завершается подтвержде-
нием о приеме данных. При синхронном управлении темп
выдачи и приема данных задается регулярной последо-
вательностью управляющих сигналов.
юз
Канал
УВУ с приоритетом
выборки 1
Линии
УВУ с последним УВУ с приоритетом
приоритетом выборки Линии выборки 2
Различают интерфейсы, внутренние (внутриблочные,
межблочные, межстоечные, внутрисистемные и т. п.) —
для соединения центральных устройств вычислительной
системы и внешние — для подсоединения периферийных
устройств или создания вычислительных комплексов.
Интерфейс ввода-вывода ЭВМ общего назначения
связывает УВУ любого типа с каналом любого типа.
Физически интерфейс ввода-вывода представляет собой
оборудование, осуществляющее передачу информации
между каналом и УВУ (рис. 2.25).
Интерфейс ввода-вывода обеспечивает:
— единые принципы управления и обмена для широ-
кого спектра внешних устройств;
— возможность выполнения операций ввода-вывода
как в мультиплексном, так и в монопольном режимах;
— возможность подсоединения к любому каналу до
восьми УВУ и адресации до 256 ВУ;
— необходимую для устройства скорость обмена дан-
ными с передачей на расстояние до нескольких десятков
метров.
Передача информации включает в себя такие проце-
дуры, как установление связи (выборка устройства), уп-
равление передачей и приемом информации, отключение
от устройства.
Развитие интерфейса ввода-вывода предусматривает
повышение скорости обмена с расширением формата об-
мена до двух байт и использование потокового режима,
при котором синхронизируется только начало передавае-
мого блока данных (передача с максимальной информа-
ционной плотностью).
Тенденции развития подсистемы ввода-вывода. Суще-
ствующая в настоящее время архитектура ПСВВ ЭВМ
общего назначения предполагает значительную степень
участия центрального процессора в подготовке и выпол-
нении запроса на ввод-вывод. По различным данным,
25—40 % времени ЦП от общего времени обработки за-
дания тратится на управление вводом-выводом. Очевидно,
можно уменьшить это время за счет большего распарал-
леливания работы ЦП и аппаратных средств ПСВВ,
Рис. 2.25. Схема связей и управления выборкой УВУ интерфейса ввода-
вывода:
УПМ — усилитель-приемник; УПД — усилитель-передатчик; СС — схема со-
гласования
105
передав последним часть функций по управлению обработ-
кой запроса на ввод-вывод.
Общая организация работы в существующих ПСВВ
позволяет провести перераспределение функций между
программными и аппаратными средствами, а именно —
часть функций супервизора ввода-вывода (часто повторя-
емых и независимых) реализовать аппаратными сред-
ствами ПСВВ.
К таким функциям можно отнести: прием заявки на
выполнение операции ввода-вывода и ее установку в
очередь, просмотр очереди заявок и определение готовых
к запуску, определение доступности пути к устройству
и запуск операции ввода-вывода на конкретном ВУ, об-
работку событий (в том числе сбойных) и повторение
операций, регистрацию ошибки и рестарт операции при
освобождении пути доступа к ВУ. Реализация этих функ-
ций на аппаратно-микропрограммном уровне ПВВ тре-
бует изменения некоторых программ ОС, в частности
супервизора ввода-вывода. Это изменение облегчается
тем, что компоненты ОС в достаточной степени незави-
симы от других программ управления данными, алгорит-
мы их отработаны и сравнительно несложны.
В новой структурной организации подсистемы ввода-
вывода — подсистема каналов ввода^вывода (ПКВВ) —
уменьшены непроизводительные потери времени цент-
рального процессора на ввод-вывод за счет: объединения
всех каналов вычислительного комплекса (одно- и много-
процессорной систем) в единую подсистему каналов; вы-
деления функций супервизора ввода-вывода и их аппарат-
ной реализации в ПКВВ; исключения функций управле-
ния вводом-выводом из программы ЦП; создания нового
интерфейса с очередями между ЦП и подсистемой ввода-
вывода; исключения логической связи между каналом и
процессором, инициирующим процедуру ввода-вывода;
увеличения числа центральных процессоров.
Сравнение перспективной ПКВВ с существующими
ПСВВ представлено на рис. 2.26. Любой ЦП может за-
пустить операцию ввода-вывода с любого устройства и
получить прерывание от любого устройства через каналь-
ную систему. Команды ввода-вывода оперируют только
с логическими адресами и структурами данных, которые
присвоены лишь одному ВУ. Прерывания канальной
подсистемы обслуживаются любым ЦП независимо от
того, какой из процессоров запускал операцию ввода-вы-
вода.
106
a — ПСВВ; б — ПКВВ
Новыми функциями подсистемы ввода-вывода явля-
ются: управление на основе подканалов и канальных
путей, независимая от канального пути адресация внеш-
них устройств, динамическое повторное соединение ЦП с
канальной подсистемой и др. Существенная особенность
архитектуры ПКВВ — наличие общих подканалов. С точ-
ки зрения управления устройство ввода-вывода представ-
ляется определенным логическим подканалом, с которым
оно связывается однозначно, независимо от числа физи-
ческих канальных путей, используемых для связи с ка-
нальной подсистемой.
107
Следовательно, имеется однозначный адрес устрой-
ства и единственный набор подканалов для всех подклю-
ченных устройств.
Канальная подсистема выбирает канальный путь и
обрабатывает все условия занятости ВУ без участия
центрального процессора. Архитектура подсистемы кана-
лов ввода-вывода ЭВМ общего назначения рассчитана
на тысячи подканалов.
Начало операции происходит независимо от того,
какой центральный процессор инициирует команду ввода-
вывода и каким образом устройство подключено к ка-
нальной подсистеме. Канальная подсистема самостоя-
тельно выбирает физический путь доступа к устройству,
хранит и обновляет специальные таблицы конфигурации,
на основании которых и выполняется поиск требуемого
устройства, т. е. реализует возможность динамического
выбора пути доступа от ВУ. Динамический выбор может
быть использован для продолжения выполнения цепочки
команд, повторения команды или подключения ВУ к
каналу в блок-мультиплексном режиме. Таким образом,
приостановленную канальную программу можно снова
включить через любой свободный канальный путь.
ПКВВ может работать в различных алгоритмах об-
мена канальной системы с различными устройствами и
обеспечивает «открытость» подсистемы ввода-вывода для
реализации новых функций, а также развития принципов
виртуальности ЭВМ. Архитектура приспособлена к воз-
можным эволюциям и рассчитана на дальнейшее ее
функциональное совершенствование.
Для наиболее быстродействующих ЭВМ общего наз-
начения III поколения необходимая пропускная способ-
ность ПСВВ обеспечивается при пропускной способности
каналов до 3 М байт/с и общем числе каналов до
20—30. Последующие поколения ЭВМ потребуют увели-
чения числа каналов в системе свыше 100 при одновре-
менном повышении пропускной способности каждого из
них до 10 М байт/с. Такая возможность обеспечивается
в новой организации подсистемы ввода-вывода — ПКВВ.
2.5 Тенденции развития
подсистемы управления и обслуживания,
направления ее совершенствования
> Подсистема управления и обслуживания (СУО) по-
зволяет поднять на качественно новый уровень эксплуа-
тацию современных ЭВМ, усложнение которых выража-
108
ется в росте числа уровней иерархии ЭВМ; росте числа
элементов на каждом уровне иерархии; усложнении
межэлементных связей на каждом уровне; увеличении
степени хаотичности связей; усложнении настройки;
усложнении протоколов межуровневых взаимодействий;
жестких временных ограничениях снизу на скорость про-
хождения информационных потоков.
Возникает вопрос, как обеспечить заданную надеж-
ность, сверхвысокую производительность, ремонтопригод-
ность, удобство настройки и эксплуатации. Выделение
СУО в самостоятельную структурную единицу — логиче-
ское развитие принципа постоянного усложнения ЭВМ.
Определение понятия «сервис». ВС можно предста-
вить как совокупность функциональных устройств (ФУ)
с постоянными и/или изменяемыми связями. Часть
ФУ выполняет полезную с точки зрения реализации ал-
горитма работу. Остальные обеспечивают производитель-
ность, надежность, ремонтопригодность и т. д., но не-
посредственно с реализацией алгоритма не связаны.
> Можно считать, что СУО — аппаратно-программный
комплекс, предназначенный для обеспечения максималь-
ной производительности, заданной надежности, ремонто-
пригодности, удобства настройки и эксплуатации.
Обеспечение проблемной ориентации и заданного вре-
мени наработки на отказ, подготовка и накопление ста-
тистических сведений о загрузке и прохождении вычис-
лительного процесса (компьюметрия), функции «интел-
лектуального» интерфейса с различными категориями
обслуживающего персонала переданы СУО.
Задачи и подсистемы управления и обслуживания.
СУО выполняет следующие задачи:
— определяет необходимость реконфигурации (за
счет подключения новых или перераспределения ФУ);
— определяет реальную производительность задачи
пользователя в текущей конфигурации (производитель-
ность рассматривается как функция загруженности при
решении задачи ФУ);
— определяет пользовательскую производительность
при различных конфигурациях;
— определяет совместную активность ресурсов;
— определяет интенсивность прерываний при муль-
типрограммной работе основной ОС как функцию текущей
конфигурации;
— оптимизирует текущую конфигурацию ЭВМ;
109
— определяет потерю производительности как функ-
цию деградации вследствие неисправности отдельных
ФУ;
— предоставляет «интеллектуальный» интерфейс раз-
личным категориям обслуживающего персонала;
— обеспечивает автоматическую и интерактивную
диагностику сбоев и отказов и поставляет информацию
для систем обработки сбоев и восстановления после них;
автоматически перезагружает операционную систему и
содержимое памяти микропрограмм;
— накапливает долговременные и текущие статисти-
ческие сведения о загрузке и состоянии вычислительного
процесса;
— инициализирует ЭВМ;
— поддерживает ручные операции оператора;
— индицирует свое состояние и состояние централь-
ных устройств системы;
— обеспечивает блокировку несанкционированного
доступа при случайных или преднамеренных дейст-
виях;
— регистрирует вмешательства оператора в режиме
санкционированного доступа;
— обеспечивает разделение сервисных и системных
функций обслуживания с соответствующих дисплеев;
— обеспечивает выполнение сервисных функций в двух
конфигурациях: ремонтной и диагностической;
— связывается с центром техобслуживания через
удаленный доступ, по инициативе оператора;
— обеспечивает совмещение ремонта отказавших
ресурсов с управлением остальной частью вычислитель-
ного комплекса;
— управляет электропитанием, охлаждением, в том
числе и в аварийной ситуации, и синхронизацией си-
стемы;
— поддерживает средства мультипроцессирования;
— позволяет иметь справочно-информационную си-
стему.
Требования к «идеальной» СУО можно сформулиро-
вать следующим образом:
— стоимость СУО должна быть значительно ниже
стоимости остальных подсистем ЭВМ;
— СУО должна быть проста в эксплуатации;
— СУО должна вносить минимум помех в функцио-
нирование ЭВМ;
— СУО должна поддерживать максимальную произ-
110
водительность, заданную надежность и ремонтопригод-
ность основной ЭВМ [2].
Для обеспечения последнего пункта требований СУО
должна:
— организовывать одинаково надежное обслужива-
ние как высококвалифицированным, так и низкоквали-
фицированным работником, т. е. чтобы индивидуальное
мастерство перестало быть определяющим фактором;
— обеспечивать различные стратегии распознавания и
локализации места сбоя или отказа как с помощью про-
гона эталонных последовательностей данных на неисправ-
ном ФУ для воспроизведения неисправности, так и с по-
мощью анализа данных, полученных аппаратными сред-
ствами в момент обнаружения неисправности;
— поддерживать реконфигурацию основной ЭВМ при
обнаружении «узких мест» в загрузке ФУ;
— предоставлять в удобном виде долговременную и
текущую статистику о характере вычислительного про-
цесса;
— различать категории обслуживающего персонала
и предоставлять «интеллектуальный» интерфейс для взаи-
модействия с ЭВМ;
— поддерживать реконфигурацию ЭВМ для обеспе-
чения ее работоспособности при наличии неисправности
какого-либо ФУ (механизм управления деградацией);
— позволять расширять функции и сервисные аппа-
ратные средства без существенных переделок и изме-
нений ее структуры.
Сервисный процессор.
Центральным звеном СУО является сервисный про-
цессор, обеспечивающий решение двух групп задач, свя-
занных с «интеллектуальным» интерфейсом для различных
категорий персонала и пользователей и с обработкой
информации от датчиков компьюметрии, функциональ-
ного контроля и диагностики. Введение сервисного про-
цессора является новым свойством ЭВМ общего назна-
чения.
Достоинства и недостатки различных принципов
построения сервисных процессоров приведены в табл.
2.1.
Структурная схема пульта управления на основе двух
сервисных процессоров приведена на рис. 2.27.
Контроль и диагностика БИС. В вычислительной тех-
нике осуществляется переход от больших интегральных
схем (БИС) к сверхбольшим интегральным схемам
111
Таблица 2.1
Принцип построения Достоинства Недостатки
Специализиро- ванный сервисный процессор Высокая эффектив- ность Минимум помех на ос- новную ЭВМ от СУО Высокая стоимость Нестандартное базовое программное обеспече- ние (ПО)
Стандартная миниЭВМ (типа СМ-3, СМ-4) Развитое ПО Относительная простота эксплуатации Развитые функциональ- ные возможности Высокая стоимость Большие габариты Низкая надежность Сложная коммутация со встроенной сервисной аппаратурой
Встроенный мик- ропроцессор Относительно высо- кая надежность Низкая стоимость Стандартное базовое ПО Малая вычислитель- ная мощность Неразвитость микропро- граммной ОС Низкие функциональные возможности
Стандартная микроЭВМ (пер- сональный ком- пьютер) Относительно высо- кая надежность Невысокая стоимость Удобство эксплуатации Развитое базовое ПО Сложная коммутация со встроенной сервисной аппаратурой
(СБИС). Увеличение числа вентилей в ИС в 3—5 раз
привел^ к снижению стоимости на вентиль с одновремен-
ным улучшением характеристик. Однако существует про-
блема, которая адекватно не разрешима для БИС и
более сложна для СБИС. Эта проблема заключается в
экономичном определении работоспособности компонен-
тов, модулей и плат.
Попытка решить эту проблему созданием универсаль-
ных контрольно-измерительных систем до настоящего
времени оказалась малоэффективной по трем основным
причинам:
1) из-за несоответствия параметров испытаний пара-
метрам эксплуатации;
2) вследствие ограничений, обусловленных испыта-
тельным оборудованием;
3) из-за невозможности прямой подачи импульсов
через интерфейс.
Названные причины связаны с конструктивно-техно-
логическими трудностями изготовления высококачествен-
ных коммутаторов с тактовыми частотами 10^—1(? Гц
и т. д.
112
QD
I
1370
Рис. 2.27. Структурная схема пульта управления
ЭВМ
Проблема тестирования включает в себя два основ-
ных аспекта — генерацию и верификацию теста.
Генерация теста — определение набора входных сиг-
налов для схемы, позволяющего убедиться в правиль-
ности работы. Верификация теста — это доказательство
того, что набор тестов достоверно подтверждает работо-
способность схемы. Формальное доказательство досто-
верности неосуществимо, поэтому моделирование неисп-
равностей остается единственной возможностью, позволя-
ющей количественно оценить эффективность теста. В свя-
зи со значительным ростом плотности ИС возможность
автоматической генерации тестовых наборов и моделиро-
вания неисправностей резко уменьшается.
Современным подходом является проектирование и
использование контролепригодных БИС и СБИС. Приве-
дем методы построения контролепригодных схем.
Основная идея метода сканирования-установки
(рис. 2.28) состоит в том, что последовательная схема
доступна для выборки всех элементов памяти (напри-
мер, 64). Выбранные данные загружаются в 64-разряд-
ный однотактовый сдвиговый регистр. После заполнения
64 разрядов начинается процесс сдвига и данные про-
сматриваются на выходе регистра. При выполнении
функции установки 64 разряда передаются в системную
логику и тогда для загрузки данных в фиксаторы потре-
буется соответствующее тактовое устройство. Кроме того,
функция установки может использоваться для управле-
ния различными путями с целью облегчения тестиро-
вания.
64-разрядный
Рис. 2.28. Схема сканирования-установки
114
Рис. 2.29. Схема сканирования с произвольным доступом
Метод сканирования-установки обеспечивает управля-
емость и наблюдаемость. Однако его реализация не
требует установки или сканирования обязательно всех
системных элементов памяти, а сканирование может осу-
ществляться в процессе работы системы, т. е. импульс
выборки для сдвигового регистра может поступать в
момент подачи системных тактовых импульсов на после-
довательную системную логику, так что получить пред-
ставление о состоянии схемы в какой-то момент времени
можно без ухудшения системных характеристик.
Метод сканирования с произвольным доступом, иначе
называемый методом мультиплексора (рис. 2.29), отли-
чается тем, что сдвиговый регистр не используется, а
применяется схема адресуемого доступа, которая позво-
ляет выбирать каждый системный элемент памяти, так
что он становится либо управляемым, либо наблюда-
емым.
Построение контролепригодных БИС и СБИС требует
определенных затрат оборудования (до 25 % от общего
количества вентилей в схеме), но экономически целесооб-
разно, так как существенно сокращает трудности при
изготовлении и наладке компонент и увеличивает время
полезного использования ЭВМ при эксплуатации.
8*
115
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
2.1. Что понимается под термином «структура ЭВМ»? Как связаны
структура и архитектура ЭВМ? Какие подсистемы
можно выделить в составе ЭВМ общего назначения?
2.2. Назовите основные структурные методы повышения производитель-
ности ЭВМ.
2.3. Какие основные функции выполняет в ЭВМ центральный прбцес-
сор? Какие блоки определяют его быстродействие?
2.4. Что обусловливает высокое быстродействие конвейерного способа
обработки?
2.5. Какие достоинства имеет микропрограммная реализация управле-
ния процессором? В чем отличие статического и дина-
мического принципов микропрограммирования?
2.6. Какие виды адресации основной памяти и функции механизма
трансляции адреса вам известны? Как осуществляется
трансляция при расширенной адресации памяти?
2.7. Как можно охарактеризовать иерархические системы оперативной
памяти? Назовите основные способы отображения ад-
ресного пространства ОП на СБП.
2.8. Что такое целостность информации и какие алгоритмы для ее
обеспечения в двухуровневой ОП вам известны?
2.9. Какова цель применения расширенной ОП? Как влияет включе-
ние расширенной ОП в состав ЭВМ на ее комплексную
производительность?
2.10. Какие функции выполняет подсистема ввода-вывода? В каком на-
правлении она развивается?
2.11. Для выполнения-каких основных задач предназначена система
обслуживания? Назовите требования, предъявляемые к
СУО.
Глава
Вычислительные комплексы
и сети ЭВМ
3.1 Принципы комплексирования ЭВМ
▲ Вычислительный комплекс — совокупность техниче-
ских средств, включающих в себя несколько ЭВМ или
процессоров, и общесистемного (базового) программного
обеспечения [19|.
Цель создания вычислительных комплексов (мульти-
систем) — повышение показателей производительности,
надежности и живучести вычислительной системы, кото-
рое не может быть достигнуто при использовании
одной ЭВМ. Как правило, в вычислительном комплексе
объединяются две ЭВМ и более, одновременно выполня-
ющие различные задачи либо части одной задачи. При
этом средства объединения должны координировать
работу различных ЭВМ комплекса и доступ к общим
массивам программ и данных. Технические средства
ЭВМ позволяют организовать системы различных
видов — многомашинные и многопроцессорные вычисли-
тельные комплексы, специализированные (проблемно-
ориентированные) вычислительные комплексы и системы
коллективного пользования.
Многомашинный вычислительный комплекс предпола-
гает такое объединение ЭВМ, при котором обеспечива-
ется возможность обмена информацией между различны-
ми ЭВМ для выполнения единой работы (единого
потока заданий). Как правило, это предполагает наличие
общего поля внешней памяти, обмен между ЭВМ как ин-
формацией, хранящейся в основной памяти, так и управ-
ляющими сигналами и сигналами состояния ЭВМ ком-
плекса (рис. 3.1). При этом каждая ЭВМ комплекса
работает под управлением собственной операционной
системы.
Многопроцессорный вычислительный комплекс ис-
пользует два процессора и более, связанных между собой
117
для выполнения единого задания. При этом предполага-
ется наличие общей управляющей программы системы,
которая воспринимает всю систему, в том числе и процес-
соры, как совокупность ресурсов, предоставляемых для
выполнения заданий. Отличительная особенность много-
процессорных комплексов — наличие общего поля основ-
ной памяти и межпроцессорной сигнализации, позволяю-
щей организовать работу комплекса под управлением
общей операционной системы. Операционная система
обеспечивает единый централизованный источник зада-
ний для всего комплекса и единый интерфейс оператора
для пультов управления.
По уровню межпроцессорных связей многопроцессор-
Р и с. 3.1. Схемы вычислительных комплексов:
а — многомашинного; б — многопроцессорного; АКК — адап-
тер канал — канал; ПР — пульт реконфигурации
118
ные комплексы можно разделить на два типа — гибко-
связанные и жесткосвязанные комплексы.
Гибкосвязанный многопроцессорный комплекс вклю-
чает в себя несколько процессоров, объединяемых между
собой средствами оперативного обмена информацией. Об-
щее поле основной памяти может отсутствовать, но обя-
зателен его виртуальный эквивалент во внешней памяти,
в котором и содержится общий поток заданий, управляе-
мый специальной системной программой — подсистемой
ввода-вывода заданий. Эта подсистема обслуживает не-
сколько однопроцессорных или жесткосвязанных двух-
процессорных систем или их любые комбинации. Распре-
делением заданий и устройств управляет только один
процессор, называемый ведущим, а остальные процессо-
ры называются ведомыми. Если обнаружен отказ в веду-
щем процессоре, то ведомый может взять на себя функ-
ции ведущего. В отличие от многомашинной системы
119
единая операционная система позволяет более гибко пла-
нировать использование общих ресурсов и быстрое пере-
ключение при выходе из строя отдельных процессоров.
При этом специальных аппаратных средств не требуется.
Жесткосвязанный многопроцессорный комплекс со-
стоит из двух процессоров и более с общей основной
памятью. Процессоры работают под управлением одной
управляющей программы и связаны между собой через
систему прерываний. Управляющая программа системы
рассматривает процессоры как ресурсы для решения за-
дач, что позволяет ЭВМ функционировать в качестве
единой обрабатывающей системы в условиях общей ос-
новной памяти и обеспечивает совместное использование
системы ввода-вывода и возможность перемещения адре-
сов памяти. Система данного вида обладает всеми воз-
можностями многопроцессорных систем, она обеспечива-
ет лучшее использование ресурсов, повышение надежнос-
ти, оперативности распознавания ситуаций в системе и
восстановления, т. е. повышения степени готовности.
В качестве недостатка следует отметить необходимость
в специальных аппаратных средствах: многовходовая ос-
новная память, средства реконфигурации и др., а также
снижение производительности из-за конфликтов при об-
ращении к общим ресурсам.
В отличие от многомашинных и многопроцессорных
комплексов, основывающихся на объединении ЭВМ и
процессоров одного типа, что обеспечивает повышение
производительности в несколько раз, проблемно-ориенти-
рованные комплексы предназначены для значительного
(в 10—15 рзз) повышения производительности при реше-
нии ограниченного класса задач.
Такие комплексы строятся на базе ЭВМ общего наз-
начения, обеспечивающей управление и обмен данными.
К ЭВМ подключается специализированный процессор,
ориентированный на решение узкого круга задач. В каче-
стве примера процессора, являющегося основным обра-
батывающим устройством, можно привести матричные
процессоры, предназначенные для решения задач в об-
ластях, использующих матричную арифметику: в матема-
тической статистике, при численном решении систем ли-
нейных и дифференциальных уравнений и др.
На базе ЭВМ общего назначения реализуются систе-
мы коллективного пользования, которые обеспечивают
возможность доступа к ЭВМ многих пользователей как
с локальных, так и с удаленных терминальных устройств,
120
при использовании процессора или процессоров в режиме
разделения времени. Системы коллективного пользования
позволяют эффективно использовать вычислительную
мощность процессора и одновременно обслуживать
большое число абонентов в сочетании с удобством досту-
па к вычислительной системе непосредственно на месте
установки пульта абонента.
Системы коллективного пользования реализуются с
использованием специальных технических средств телеоб-
работки, которые позволяют создавать вычислительные
сети различных уровней. На рис. 3.2 приведен пример
организации системы телеобработки данных ЕС ЭВМ.
Вычислительная сеть — это совокупность рассредото-
ченных в пространстве ЭВМ и абонентских комплексов
(групповых АП), связанных между собой системой пере-
дачи данных (СПД) для обеспечения доступа к распре-
деленным информационно-логическим ресурсам сети.
Различают глобальные и локальные вычислительные
сети.
Глобальная вычислительная сеть использует все виды
СПД, включая спутниковую связь, что делает ее не огра-
ниченной по протяженности.
Локальная вычислительная сеть — совокупность свя-
занных между собой ЭВМ и абонентских комплексов,
использующих специальные средства связи в ограничен-
ном пространстве (до 10 км) и обслуживающих опре-
деленный контингент пользователей.
По методу коммутации, реализованному в сети ЭВМ,
различают несколько видов СПД — коммутации каналов,
сообщений или пакетов.
Система коммутации каналов осуществ-
ляет соединение источника с получателем (приемником)
информации в начале сеанса связи и разъединение в
конце сеанса связи с использованием центров коммута-
ции каналов, в которых применяются автоматические
станции коммутации. Отличается простотой организации,
но имеет низкую интегральную плотность передачи ин-
формации.
Система коммутации сообщений осуще-
ствляет передачу информации в виде сообщений с указа-
нием адреса получателя по свободным в данный момент
каналам связи. При этом обеспечивается промежуточ-
ное хранение сообщений и контроль достоверности пере-
дачи информации.
Можно выделить два основных режима работы систе-
121
Основная
память
Центральный
процессор
АПД
УЗО
АПД
АП
Каналы
связи
Селекторный
канал
Обмен
ЭВМ-ЭВМ
Рис. 3.2. Структурная схема орга
низации системы телеобработки дан- L
ных ЕС ЭВМ:
АП — абонентский пункт; АТС — або-
нентская телефонная станция; АПД —
аппаратура передачи данных; МПД —
мультиплексор передачи данных; УЗО—
устройство защиты от ошибок; Cl, С2,
СЗ — интерфейсы (стыки) системы те-
леобработки
Локаль-
ная сеть
Интер-
фейс вво-
да-вывода
Мультиплексный
канал
Процессор
телеобработки
данных
АПД
I УЗО
АПД
мы с коммутацией сообщений: транзитный и поэтапный
(с задержкой во времени). В транзитном режиме систе-
ма реализует функции приема — передачи сообщений в
реальном масштабе времени. В поэтапном режиме система
задерживает передачу сообщений во времени, что позволя-
ет обеспечить равномерную работу сети независимо от
скоростей передачи и форматов сообщений.
Система коммутации пакетов’ передает
сообщения определенной длины — пакета, содержащего
часть сообщения или несколько сообщений. В каждый
пакет, кроме информационных бит, вводится труппа слу-
жебных и контрольных бит. Пакеты могут быть фиксиро-
ванной или переменной длины, размеры передаваемых
пакетов ограничиваются возможностями буферизации в
пунктах отправления и назначения, а также в центрах
коммутации СПД. Сообщения группируются в пакеты
одинаковой длины по принципу идентичности направле-
ния передачи. В результате появляется возможность су-
щественно уплотнить передачу информации по линиям
связи.
Архитектура сети предполагает определенные согла-
шения (протоколы) на способы подключения к сети, вид
представления информации, процедуры установления
связи и передачи информации и т. п.
3.2 Средства комплексирования ЭВМ
Организация моделей ЭВМ общего назна-
чения предусматривает возможность комплексирования
на уровне внутренних и внешних связей с помощью
мульУисистемных средств (табл. 3.1), что создает пред-
посылки для организации многопроцессорных и много-
машинных систем высокой производительности и надеж-
ности.
К внешним мультисистемным средствам ЭВМ отно-
сятся: адаптер канал-канал, многоканальные переключа-
тели для внешних устройств, коммутаторы интерфейсов.
К внутренним мультисистемным средствам относятся:
многовходовая основная память, прямое управление,
средства сигнализации процессоров и префиксации па-
мяти, средства реконфигурации, средства синхронизации
часов. Средства, входящие в состав каждого процессора
ЭВМ общего назначения, лишь предполагают возмож-
ность организации многопроцессорной работы. Для реа-
лизации этой возможности необходимо предусмотреть
123
Таблица 3.1
Вид мультисистемного средства Много- процес- сорная система Многома- шинная система Назначение средства
Общее поле основной памяти Есть Нет Использование для еди- ной операционной систе- мы и данных
Общее поле каналов ввода-вывода > > Выбор пути доступа к ВУ
Общее поле внешних устройств > Есть Использование для об- щих массивов програм- мы и данных
Адаптер канал-канал Нет > Перекачка массивов с высокой скоростью
Средства прямого уп- равления Есть > Передача 1 байт ин- формации
Средства сигнализа- ции процессоров > Нет Передача приказов и признаков
Средства префикса- ции памяти > > Разграничение досту- па процессоров в основ- ную память
Средства реконфигу- рации > > Изменение связей
Средства синхрониза- ции часов Есть > Синхронизация часов текущего времени
Многоканальный пере- ключатель > Есть Доступ к разделенно- му устройству
Многовходовые УВУ > > Доступ к ВУ от не- скольких каналов
Коммутаторы интер- фейсов > > Переключение ВУ от одного канала к другому
аппаратуру, обеспечивающую доступ одного процессора
в основную память другого, и наоборот, т. е. доступ каж-
дого процессора к общему полю памяти. Организация
этого доступа различна, а конкретная реализация его
во многом определяет эффективность работы многопро-
цессорной системы.
Адаптер канал-канал (АКК) — устройство, предназ-
наченное для осуществления обмена информацией между
каналами ввода-вывода. Два входа-выхода адаптера
подключаются к интерфейсу ввода-вывода каналов, кото-
рые он соединяет. Посредством адаптера информация
из основной памяти одной ЭВМ передается в основную
память другой. Передача осуществляется по инициативе
любой машины, входящей в комплекс. Пропускная спо-
собность адаптера определяется самым низкоскоростным
элементом в цепи обмена основная память 1-го процес-
124
сора — канал 1-го процессора — канал 2-го процессора—
основная память 2-го процессора. Развитие АКК, кроме
естественного повышения скорости обмена и совершен-
ствования алгоритмов взаимодействия, происходит в
двух направлениях — обеспечения возможности объеди-
нения посредством АКК разных по архитектуре ЭВМ
и создания многовходовых АКК. В настоящее время раз-
работаны четырехвходовые АКК. В дальнейшем пре-
дусматривается использование АКК с восемью входами
и более. Таким образом АКК, которые первоначально
появились как средство объединения двух ЭВМ, превра-
щаются в специализированные коммутаторы — устрой-
ства передачи информации между многими, в том числе
разнотипными, ЭВМ на уровне каналов ввода-вывода.
Общее поле внешней памяти для двух ЭВМ и более
организуется подключением блок-мультиплексных кана-
лов различных ЭВМ к совместно используемым накопи-
телям на магнитных дисках и магнитных лентах через
многоканальные переключатели устройств управления
(см. рис. 3.1). Чтобы построить мультисистемы на базе
общих устройств управления внешними устройствами
(УВУ), эти устройства делаются многовходовыми, позво-
ляющими подключаться к нескольким каналам. В этих
устройствах имеются средства разрешения конфликтных
ситуаций, которые возникают при одновременном обраг
щении нескольких каналов. Запрос любого канала пол-
ностью занимает УВУ. Каналы машин равноприоритетны
и обслуживание запросов осуществляется по принципу
«первым пришел — первым обслужен». До тех пор, пока
не будет закончено обслуживание одного запроса, все ос-
тальные запросы помещаются в очередь к этому уст-
ройству.
Многовходовые УВУ используются обычно для управ-
ления накопителями на магнитных дисках и накопителя-
ми на магнитных лентах, но могут входить и в состав про-
цессоров телеобработки данных, спецпроцессоров и т. п.
Использование таких УВУ резко повышает надежность
комплекса, так как при выходе из строя одного из про-
цессоров все модули решаемых им программ, имевшие
характеристику «возобновляемый», могут храниться в об-
щей внешней памяти комплекса, к которой имеет доступ
другой процессор системы. Туда же может помещаться ин-
формация о решаемых задачах, снимаемая в предусмот-
ренных для этого контрольных точках рабочих программ.
Наиболее важным для сохранения работоспособности
125
комплекса является тот факт, что «резидентный файл»
с двухмашинной операционной системой хранится в
общей внешней памяти и при выходе из строя одного
из процессоров или его оперативной памяти может ис-
пользоваться другим процессором. В этом отношении
такой комплекс обладает более высокой надежностью,
чем комплекс с общим полем оперативной памяти, ис-
пользующим единую многопроцессорную управляющую
программу, хотя скорость обмена информацией между
машинами существенно ниже и принятие конкретного
решения относительно конфигурации комплекса требует
более детального исследования.
Обмен управляющими сигналами и сигналами состоя-
ний между ЭВМ осуществляется с помощью интерфейса
и средств прямого управления. Интерфейс прямого уп-
равления обеспечивает также подключение к процессору
некоторых нестандартных устройств, например пульта
управления вычислительного комплекса. Средства прямо-
го управления предназначены для оперативной передачи
между процессорами сигналов внешних прерываний и
ограниченного объема информации в реальном времени,
что необходимо для синхронизации работы в мультиси-
стеме. Управляющую информацию, передаваемую сигна-
лами прямого управления, можно передать и другим
путем (например, посредством адаптера канал-канал),
но средства прямого управления позволяют сделать это
оперативно (в реальном времени) и тем повысить эффек-
тивность мультисистемы.
Для оперативной связи между процессорами исполь-
зуется также межпроцессорная программируемая связь,
осуществляемая командой СИГНАЛ ПРОЦЕССОРУ.
При выполнении этой команды в адресуемый процессор
может быть передан код приказа и получен ответ о его
состоянии. Данная связь позволяет выполнить обмен
сигналами состояния и управления, например вызвать
прерывание во втором процессоре системы при переходе
первого в состояние останова по ошибке, для сбора и
повторного пуска первого процессора с целью перевода
его в рабочий режим.
Средства реконфигурации- позволяют перевести
жесткосвязанную мультипроцессорную систему в гибко-
связанную или многомашинную систему и наоборот.
Использование тех или иных средств комплексирова-
ния позволяет создавать вычислительные комплексы раз-
личных назначений.
126
3.3
Развитие организации
многопроцессорных
вычислительных комплексов
Дальнейшее развитие вычислительных
комплексов связано, во-первых, с совершенствованием
архитектуры и структуры ЭВМ общего назначения, а во-
вторых, с развитием средств комплексирования. Разви-
тие организации вычислительных комплексов имеет своей
целью улучшение технико-экономических характеристик,
в частности, таких, как увеличение вычислительной мощ-
ности комплекса, повышение надежности и гибкости, т. е.
использование одних и тех же технических средств для
различных конфигураций.
Новые архитектурные свойства ЭВМ общего назна-
чения, которые достигаются введением расширенной
оперативной памяти и отделением подсистемы каналов
ввода-вывода от центрального процессора, позволяют
более эффективно осуществить режимы управления и
обмена информацией между ЭВМ вычислительного комп-
лекса (рис. 3.3). Все функции обмена при этом выпол-
няются между подсистемой ввода-вывода и различными
уровнями памяти. Центральные процессоры не выполня-
ют функции ввода-вывода. Для быстрого обмена инфор-
мацией между расширенной и основной памятью исполь-
зуется устройство скоростного обмена, выполняющего
функции быстрого канала и коммутатора памяти.
Большая автономность основных подсистем (ЦП,
ПСВВ, ОП) ЭВМ общего назначения с развитой архи-
тектурой позволяет рассматривать их в качестве само-
стоятельных абонентов, которые объединяются в мульти-
систему с помощью устройства управления системой
(УУС), выполняющего функции комплексирования.
Устройство управления системой предназначено для
организации совместной работы подсистемы оперативной
памяти, подсистемы ввода-вывода и центральных процес-
соров. Как правило, через УУС подключаются два про-
цессора, образуя двухпроцессорный вычислительный
комплекс. Однако принципиальных ограничений на под-
ключение большего числа процессоров нет. В настоя-
щее время УУС с двумя процессорами становится ос-
новным ядром обрабатывающей подсистемы ЭВМ об-
щего назначения, обеспечивая повышение как произво-
дительности, так и надежности ее. Для такой системы
(УСС и два ЦП) появился специальный термин — ди-
127
Рис. 3.3. Схема структурной организации вычислительного комплекса
адический (спаренный) процессор. Связь между УСС
двух диадических процессоров образует четырехпроцес-
сорный вычислительный комплекс. Таким же образом
образуются вычислительные комплексы, имеющие в сво-
ем составе 6, 8 ЦП и более.
Основными функциями УУС являются:
— контроль и управление потоками данных между
ОП и любыми ЦП и ПВВ;
— организация доступа к последней копии требуемых
данных;
— координация и согласование работы буферных
памятей всех ЦП;
— отслеживание единого астрономического времени
для всей системы;
— синхронизация и управление запросами от ЦП
128
и ПВВ на передачу страниц между ОП и расширенной
оперативной памятью (РОП);
— обеспечение системного интерфейса между любыми
ЦП и ПВВ.
Физически УУС обеспечивает связь внутри диадиче-
ского процессора, а также связь с УСС еще одного диади-
ческого процессора. Логически УУС обеспечивает доступ
ко всему объему ОП любого из ЦП И ПВВ, если образо-
ван вычислительный комплекс, состоящий более чем из
двух диадических процессоров.
Так как в цп ЭВМ общего назначения применяется
буферная память (БП), то последняя копия страницы,
содержащей требуемые данные, может находиться в ОП
или БП любого процессора. УУС обеспечивают поиск
последней копии в ОП и БП, подсоединенных к данным
УСС, или выдает запрос на поиск в УСС другого диади-
ческого процессора, а затем найденную копию передает
инициатору запроса. При этом работа организована так,
чтобы поиск последней копии в БП какого-либо ЦП не
останавливал вычислительный процесс в других ЦП. Это,
в свою очередь, позволяет поддерживать производитель-
ность системы.
Коммутаторы связей подсоединяют на время передачи
данных любые входные шины к любым выходным УСС.
Наличие коммутаторов связей позволяет осуществить пе-
редачи, отличные от традиционных, как, например, пря-
мую передачу БП-БП, которая позволяет измененную ко-
пию из БП одного ЦП передать в БП другого ЦП без
промежуточной передачи в ОП. По этому же принципу
осуществляется прямая связь между БП и ПСВВ.
Управление передачей страниц данных между ОП и
РОП в УУС инициируется инструкцией ЦП или командой
ПСВВ. В том случае, если страница РОП находится не
в своей, а в другой двухпроцессорной ЭВМ, то доступ
к удаленной РОП осуществляется по шинам, связываю-
щим между собой РОП через устройство скоростного
обмена.
Новая организация позволяет более эффективно ис-
пользовать процессоры в составе вычислительного ком-
плекса за счет большего числа путей доступа для связи
друг с другом и для связи с другими подсистемами.
Значительно больший объем оперативной памяти по
сравнению с оперативной памятью выпускаемых систем,
а также дальнейшее развитие ее иерархии обеспечивают
более эффективный доступ к большим массивам данных.
9-1370
129
При этом снижаются потери производительности всего
комплекса по отношению к суммарной производительно-
сти составляющих его процессоров.
Новые средства комплексирования (УУС) в совокуп-
ности с прежними (АКК, многовходовые переключатели,
коммутаторы интерфейсов и т. д) позволяют повысить
степень автоматизации управления и реконфигурации как
центральной части комплекса, так и его периферийных
устройств, что обеспечивает гибкость конфигурации (воз-
можность вводить и выводить из работы отдельные уст-
ройства и подсистемы без нарушения вычислительного
процесса), повышенную надежность и устойчивость фун-
кционирования. Снижаются также потери полезного вре-
мени использования комплекса за счет возможности
проведения технического обслуживания без прерывания
функционирования ЭВМ. Принцип организации вычисли-
тельного комплекса позволяет в рамках одной конфигу-
рации без дополнительных затрат создавать как много-
процессорные, так и многомашинные системы. Такой
принцип использовался и на современных системах.
Например, в ЭВМ ЕС1068 реализованы следующие ре-
жимы работы: двухмашинный, двухпроцессорный, две не-
зависимые машины.
Значительное развитие для таких комплексов получи-
ла и операционная система (ОС), реализующая режим
повышенной надежности, который обеспечивает высокую
устойчивость вычислительного процесса к сбоям и отка-
зам технических средств. Для этого создан механизм
контрольных точек и восстановления с них в рамках
управляющей программы ОС, тем самым с пользователя
снимается необходимость планирования контрольных
точек в своих программах.
При этом системные программные средства обеспечи-
вают следующие режимы работы вычислительного ком-
плекса:
— мультипрограммный (в том числе виртуальный);
— реального времени;
— с разделением времени;
— местной и дистанционной пакетной обработки;
— организации и функционирования данных большой
емкости;
— организации и функционирования устройств ма-
шинной графики и системной телеобработки.
3.4 Развитие специализированных
вычислительных комплексов
Одной из характерных особенностей мно-
гих современных систем обработки данных является
наличие большого потока входной информации и выпол-
нение значительного числа операций над каждой его
единицей.
Примером является цифровая обработка сигналов,
где над большим входным потоком информации мно-
гократно выполняется ограниченный набор математи-
ческих операций. В алгоритмах, наиболее часто встре-
чающихся при обработке сигналов, можно выделить
операции над векторами (матрицами). Эти операции
обладают общим свойством — они приводятся к выполне-
нию последовательности умножений-сложений. Обработ-
ка больших объемов информации на современных уни-
версальных ЭВМ экономически не оправдывается из-за
недостаточной производительности. Высокой эффектив-
ности обработки можно достичь в вычислительной систе-
ме, состоящей из ЭВМ общего назначения и подключае-
мого к ней специализированного процессора.
Высокое быстродействие специализированных процес-
соров, работающих параллельно с центральным процес-
сором, существенно повышает производительность такой
системы при решении конкретных задач. Используя
принципы микропрограммирования на базе аппаратных
средств специализированного процессора, можно создать
библиотеку процедур для наиболее распространенных
операций цифровой обработки сигналов и обеспечить их
быстрое выполнение специальными аппаратными сред-
ствами.
Принципиально возможно включение специализиро-
ванного процессора в систему несколькими способами
(рис. 3.4):
а) в качестве унифицированного устройства, стандар-
тно подключаемого через интерфейс ввода-вывода к
блок-мультиплексному каналу;
б) в качестве интегрированного в систему канал —
процессор;
в) в качестве присоединенного к центральному про-
цессору в многопроцессорной конфигурации;
г) в качестве специализированного арифметического
блока центрального процессора.
Сравнение способов включения специализированных
9*
131
Рис. 3.4. Схема подключения спецпроцессоров
процессоров в систему по основным параметрам пред-
ставлено в табл. 3.2. Каждый способ обеспечивает мак-
симальную эффективность лишь на определенном классе
задач, но характеризуется универсальностью использо-
вания и стандартным способом поддержки со стороны
программного обеспечения.
Способ а является наиболее универсальным (моде-
ленезависимым), что позволяет использовать спецпро-
цессор с различными ЭВМ общего назначения. Однако
при этом способе спецпроцессор не имеет прямого до-
132
Таблица 3.2
Параметр сравнения Способ включения в систему
а б в г
Предельно дости- жимая производи- тельность Неограни- ченная Высокая Высокая Средняя
Прямой доступ в основную память Нет Есть Есть Есть
Необходимость в собственной опера- тивной памяти 1—2 М байт Нет Нет Нет
Необходимость в собственной управля- ющей программе Есть > > >
Количество одно- временно решаемых задач 5—7 1 1 1
Моделезависимость конструкции Нет Есть Есть Есть
Необходимость пре- рывания текущей про- граммы Есть > Нет Нет
Способ задания ра- боты для специализи- рованного процессора Процедура ввода-вы- вода Процедура ввода-вы- вода Команда Команда
Возможность сов- мещения с работой ЦП Есть Есть Есть Нет
Эффективный объ- ем вычислений Большой Большой Любой Малый
Необходимость спе- циального програм- много обеспечения Метод до- ступа Метод до- ступа Нет Нет
Необходимость мо- дификации языков программирования Нет Нет > >
Необходимость рас- ширения набора команд > > Есть Есть
Необходимость мо- дификации управляю- щей программы ЦП > > Нет >
ступа в основную память, что приводит к работе его в
режиме загрузка — решение — вывод и при невысокой
скорости обмена по интерфейсу ввода-вывода сущест-
венно снижает эффективность процессора в общем слу-
чае. Поэтому процессоры данного типа имеют значи-
тельную собственную память и систему управления,
что позволяет работать в режиме совмещения несколь-
133
ких заданий. Очевидно, что применение подобного спо-
соба целесообразно лишь для очень больших объемов
вычислений определенного типа.
Способ б (в качестве канала) имеет несомненные
преимущества в скорости обмена ввиду прямого доступа
в основную память: подключение процессора непосред-
ственно к шинам ОП. Независимо от разницы функци-
онирования каналов спецпроцессор следует логически
рассматривать в качестве канала, реагирующего на стан-
дартные команды ввода-вывода. Это дает возможность
программисту работать со спецпроцессором как с обыч-
ным каналом, что позволяет унифицировать процедуру
управления спецпроцессором, как и в способе а. Обра-
щение к спецпроцессору производится в том случае,
если в текущей программе имеется операция, требующая
большого объема вычисления. При этом текущая про-
грамма прерывается и центральный процессор переклю-
чается на другую программу.
Способ в позволяет, провести объединение в мно-
гопроцессорную конфигурацию разнотипных процес-
соров: универсального и проблемно-ориентированного.
При этом проблемно-ориентированный спецпроцессор
полностью выполняет программу, включая и скалярные
операции. Отсутствие необходимости прерывания про-
граммы делает процесс вычисления наиболее эффектив-
ным. Отличие от универсального процессора — расши-
ренный набор команд обработки и отсутствие средств
управления вводом-выводом.
Способ г предполагает расширение арифметического
устройства специализированным блоком выполнения
операций над массивами данных. Так же как и при спо-
собе в, новые операции вводятся для расширения стан-
дартного набора операций ЭВМ, что упрощает програм-
мирование и управление спецпроцессором. Однако, как
и в способах бив, спецпроцессор становится устрой-
ством, интегрированным в состав основных средств
ЭВМ (т. е. является моделезависимым).
Имеются два направления реализации спецпроцессо-
ров сверхвысокой производительности: последовательные
высококонвейерные структуры и высокопараллельные од-
нородные структуры с множеством обрабатывающих
элементов.
Первое направление реализации спе-
циализированных процессоров обеспечи-
вает высокое быстродействие за счет выполнения сов-
134
Исполнительные
устройства
a)
б)
Рис. 3.5. Схема векторно-конвейерного процессора:
а — схема устройства; б — выполнение векторной операции
мещения не только последовательных операций, но и
отдельных тактов операций, так что каждый такт может
начинать новую операцию. На рис. 3.5 представлен
вариант структуры векторно-конвейерного процессора.
Конвейерная обработка применяется во всех (без исклю-
чения) высокопроизводительных ЭВМ общего назначе-
ния, но глубина конвейеризации ограничена 5—6 стан-
циями обработки, характером решаемых задач. Если рас-
сматривать специальные задачи, содержащие большой
процент векторных операций, то число станций обработки
возрастает практически неограниченно, так как характер
многократно выполняемой одной и той же операции над
векторными данными предполагает одноврменность их
обработки. Наиболее экономично это применять в кон-
вейерном режиме.
На рис. 3.5, а показана многоступенчатая обработка
исполнительного устройства конвейерного специализиро-
ванного процессора. Повышение производительности
достигается за счет уменьшения шага — времени про-
хождения обрабатываемой информации через одну сту-
пень конвейера. После каждого шага (при многократ-
ном повторении одной операции) результаты вычисле-
ний выводятся из конвейера. Поэтому время выполне-
ния одной операции соответствует времени прохождения
одного шага. Повышение производительности достигает-
ся также за счет одновременной работы нескольких
конвейерных устройств. Как бы ни велика была скорость
обработки векторных операций, она обязательно должна
быть поддержана высокой производительностью скаляр-
ного процессора и высокой скоростью передачи инфор-
мации между ОП и устройством обработки. Только в
этом случае можно получить производительность специ-
ализированного процессора более чем на порядок выше
производительности ЭВМ общего назначения.
На рис. 3.5, б приведен пример выполнения вектор-
ной операции. Первоначально векторные данные Ап и Вп
находятся в ОП. Затем необходимую информацию
[Ai и Bi) загружают в векторные регистры, где непре-
рывно обрабатывается (например, сложение) компонент
векторов в конвейерном исполнительном устройстве.
Каждый результат операции С через векторный регистр
направляется в ОП. Время передачи данных из ОП до
векторного регистра записи равно t\\ время передачи
данных из векторного регистра записи в ОП — /2- Для
получения первого результата вычислений требуется вре-
136
мя T = t\ +^2- Последующие результаты получаются через
интервал /, равный времени одного шага исполнитель-
ного устройства. Из этого следует, что чем больше длина
вектора (число повторений процесса обработки), тем
выше эффективная скорость операций. Эту зависимость
важно учитывать при проектировании векторно-конвей-
ерных процессоров и составлении программ.
Второе направление реализации спе-
циализированных процессоров обеспечива-
ет принципиальную возможность разработки сверхмощных
многопроцессорных систем, содержащих сотни и тысячи
микропроцессоров.
Известны различные способы организации каналов
связи между обрабатывающими устройствами: магис-
тральные, конвейерные, кольцевые, матричные и другие
многопроцессорные структуры. Основной недостаток по-
добных систем состоит в том, что их организация
в большинстве случаев не адекватна структуре решаемой
задачи. Это усложняет распараллеливание задачи между
процессорами и снижает вычислительную мощность и
быстродействие системы в целом.
Задачи математической физики имеют специфические
черты [например, для решения задачи нужно одновре-
менно задействовать совокупность (группу) процессоров
с определенными внутригрупповыми связями], что тре-
бует, с одной стороны, специализации системы; с другой
стороны, универсальности системы, так как структура за-
дач математической физики и конфигурация внутригруп-
повых связей изменяются от задачи к задаче.
Этим взаимно противоречивым требованиям наиболее
полно удовлетворяют многопроцессорные вычислитель-
ные системы с программируемой структурой, содержащие
множество настраиваемых на выполнение крупных опе-
раций микропроцессоров с распределенной между ними
памятью команд и данных, в которых каналы связи
образуются путем программирования в специальной ком-
мутационной структуре, адекватно параллельному алго-
ритму решения задачи.
Наличие в каждом микропроцессоре локальной памя-
ти команд и данных позволяет осуществить настройку
на определенную задачу, а универсальный коммутатор —
выполнить произвольные внутригрупповые соединения
процессоров, т. е. учесть структуру программы.
Первая ступень работы процессора — выполнение не-
скольких однотипных операций одновременно, причем
137
количество обрабатываемых операндов меняется в зави-
симости от их разрядности; вторая ступень — возложение
на обрабатывающее устройство выполнения крупных опе-
раций, таких, как быстрое преобразование Фурье и др.
В зависимости от специализации многопроцессорной
вычислительной системы возможно использование раз-
личных способов коммутации связей процессоров внутри
системы — групповая, иерархическая, универсальная.
В системах с групповой коммутацией процессоры раз-
биваются на несколько групп (модулей). Внутри каждой
группы организуется универсальная коммутация. Между
группами также существует универсальная коммутация,
что позволяет организовать любую систему каналов
связи между процессорами всех групп. В системах ие-
рархического типа сочетается универсальная коммута-
ция внутри каждой группы с иерархической коммутацией
между группами. Многопроцессорные системы с универ-
сальной коммутацией между всеми процессорами систе-
мы имеют более высокие характеристики, чем системы
с групповой и иерархической коммутацией, но при этом
требуется больший объем оборудования.
Возможная структура системы представлена на
рис. 3.6. В ее состав входит устройство управления (УУ),
общая основная память (ОП), устройство ввода-вывода
и решающее поле, состоящее из множества процессорных
элементов — узловых процессоров (УП).
Узловой процессор представляет собой элементарный
процессор со своей памятью и коммутирующим элемен-
том. Коммутирующие элементы образуют коммутирую-
щее поле, в котором программным путем установлены
связи между отдельными УП.
В УУ хранится информация о задачах, ожидающих
решения, их требованиях к ресурсам систем, тексты
программ для узловых процессоров и объектов. При
освобождении процессоров сообщение об этом и код
завершившейся задачи поступают в УУ и фильтруются
в специальных таблицах.
Устройство управления просматривает список нере-
шенных задач, определяет задачи, пришедшие в состо-
яние готовности к решению, и выбирает, если это
возможно, среди них задачу, для решения которой до-
статочно свободных ресурсов. Далее из общей .памяти
(оперативной или внешней) выбираются параллельные
ветви и загружаются на необходимое число процессоров
вместе с соответствующими исходными данными.
138
Решающее поле
Эффективность использования во многом зависит от
возможности оптимально загружать систему работой.
Разработан ряд алгоритмов для эффективной динами-
ческой загрузки системы. Экспериментально показано,
что при использовании алгоритмов оперативного распре-
деления ресурсов реальная производительность меньше
суммарной производительности УП на 15—20%.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
3.1. Какие цели преследуются при комплексировании ЭВМ?
3.2. Какие средства обязательны при многомашинной организации?
3.3. Какие средства обязательны при многопроцессорной организации?
3.4. В чем противоречие между универсальностью и специализацией?
3.5. Какой способ включения специализированного процессора наиболее
эффективен по затратам?
3.6. Какой способ включения дает наибольшую производительность?
Заключение
Вычислительная техника является одной
из наиболее динамично развивающихся областей науки
и техники. Устойчивая тенденция этого развития —
создание вычислительных средств, отвечающих потреб-
ностям пользователя, что достигается путем повышения
технических и эксплуатационных свойств, снижения тре-
бований при взаимодействии человека и ЭВМ за счет
роста «интеллектуальных» возможностей ЭВМ. Все это
позволяет использовать вычислительную технику в различ-
ных сферах деятельности человека.
В данной книге рассмотрены перспективы развития
ЭВМ -с точки зрения архитектуры и структуры. В той
или иной мере рассмотренные аспекты будут реализованы
в различных вычислительных машинах, что подтверж-
дается мировой практикой. Так, проекты создания ЭВМ
V поколения основаны на повышении «интеллектуаль-
ных» способностей ЭВМ, высокая производительность
достигается за счет объединения нескольких центральных
процессоров или подключения специализированных
процессоров. Одной из важнейших на сегодня задач
является создание сверхвысокопроизводительных ЭВМ
общего назначения, приближающихся по своим парамет-
рам к суперЭВМ, при проектировании которых неизбеж-
но должны быть учтены требования векторной обработки
данных, параллельных вычислений и др.
Рассматривая перспективы развития структуры ЭВМ,
следует учитывать большое влияние элементной и кон-
структивно-технологической базы, используемой при реа-
лизации технических средств. Создание БИС и СБИС,
новых материалов и электронных приборов может не
только ускорить развитие вычислительной техники в це-
лом, но и стимулировать отдельные ее направления.
Список литературы
1. Майерс Г. Архитектура современных ЭВМ: Пер. с англ. — М.:
Мир, 1985. Кн. 1 и 2.
2. Симонс Дж. ЭВМ пятого поколения: компьютеры 90-х годов: Пер.
с англ. — М.: Финансы и статистика, 1986.
3. Балашов Е. П., Частиков А. П. Эволюция вычислительных систем. —
М.: Знание, 1981.
4. Широков Ф. В. На пути к пятому поколению. — М., 1985.
5. ЭВМ пятого поколения: концепции, проблемы, перспективы.: Пер.
с англ./Под ред. Т. Мото-Ока. — М.: Финансы и ста-
тистика, 1984.
6. Королев Л. Н. Структура ЭВМ и их математическое обеспечение. —
М.: Наука, 1978.
7. Глушков В. М., Погребинский С. Б., Рабинович 3. Л. О развитии
структур многопроцессорных ЭВМ с интерпретацией
языков высокого уровня//Управляющие системы и
машины. 1978. № 6. С. 61—66.
8. Каляев А. В. Многопроцессорные системы с программируемой
архитектурой. — М.: Радио и связь, 1984.
9. Кавалерчик Б. Я., Гринкан А. И. О повышении производительности
вычислительных систем//Управляющие системы и ма-
шины. 1986. № 4. С. 23—27.
10. Пржиялковский В. В., Ломов Ю. С. Технические и программные
средства Единой системы ЭВМ (ЕС ЭВМ-2). — М.:
Статистика, 1980.
И. Майоров С. А., Новиков Г. И., Криев Т. И. Основы теории вычисли-
тельных систем. — М.: Высшая школа, 1978.
12. Справочник по вычислительной технике: процессоры и память/Под
ред. Б. Н. Малиновского. — Киев.: Техника, 1979.
13. Справочник по вычислительной технике: электронные вычислитель-
ные машины и системы/Под ред. Б. Н. Малиновско-
го. — Киев: Техника, 1980.
14. Ломов Ю. С., Слуцкин А. И., Брусиловский Е. Л. Структурная ор-
ганизация сверхбыстродействующих ЭВМ и систем.
Методы оценки производительности//Автоматика и
вычислительная техника, Рига. 1986. № 2. С. 52—59.
15. Каган Б. М. Электронные вычислительные машины и системы. —
М.: Энергия, 1979.
16. Пом А. В., Агравал О. П., Монро Р. Н. Соотношение между стои-
мостью и производительностью буферизированной па-
МЯТИ//ТИИЭР. 1975. Т. 63. № 8.
141
17. Назаров С. В., Барсуков А. Г. Оценка общей эффективности экс-
плуатируемой ОС ЕС ЭВМ//Управляющие системы и
машины. 1984. № 1. С 61—66.
18. Заморин А. П., Мечев А. А., Селиванов Ю. П. Вычислительные ма-
шины, системы и комплексы. Справочник. — М.:
Энергоатомиздат, 1985.
19. Ларионов А. М., Майоров С. А., Новиков Г. И. Вычислительные
комплексы, системы и сети. — Л.: Энергоатомиздат,
1987.
20. Якубайтис Э. А. Архитектура вычислительных сетей. — М.: Статис-
тика, 1980.
21. Балашов Е. П., Пузанков Д. В. Микропроцессоры и микропроцес-
сорные системы. — М.: Радио и связь, 1981.
22. Головкин Б. А. Параллельные вычислительные системы. — М.: Нау-
ка, 1980.
23. Голубинцев В. И., Корнеев В. И., Синельников Е. Н. Эволюция уни-
версальных ЦВМ. — М.: Советское радио, 1980.
Оглавление
Введение.................................................. 3
Глава 1 -------------------------------------
Архитектура ЭВМ 1.1. Основные свойства архитектуры
и основные направления ЭВМ общего назначения ... 7
ее развития 1.2. Основные концепции и этапы
развития архитектуры ЭВМ об-
щего назначения.............. 12
1.3. Система команд ЭВМ общего на-
значения и ее развитие .... 23
Вопросы для самопроверки .... 37
Глава 2_______________________________________________________
Развитие структуры ЭВМ 2.1. Основные направления развития
общего назначения структуры ЭВМ................. 38
2.2. Тенденции развития структуры
центрального процессора ... 43
2.3. Тенденции развития подсистем
памяти........................... 62
2.4. Тенденции развития подсистемы
Ввода-вывода..................... 97
2.5. Тенденции развития подсистемы
управления и обслуживания, на-
правления ее совершенствования 108
Вопросы для самопроверки .... 116
Глава 3 _____________________________________
Вычислительные 3.1. Принципы комплексирования
комплексы и сети ЭВМ ЭВМ...........................117
3.2. Средства комплексирования
ЭВМ..........................123
3.3. Развитие организации много-
процессорных вычислительных
комплексов.......................127
3.4. Развитие специализированных
вычислительных комплексов . . 131
Вопросы для самопроверки .... 139
Заключение............................................... 140
Список литературы........................................ 141
143
Справочное издание
ПЕРСПЕКТИВЫ
РАЗВИТИЯ
ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
В одиннадцати книгах
Ломов Юрий Сергеевич
Ораевский Константин Сергеевич
Заморин Анатолий Петрович
Слуцкин Анатолий Ильич
Кн. 3
ЭВМ общего назначения
Заведующая редакцией И. И. Хрусталева
Редактор С. М. Оводова
Младший редактор Е. В. Судьенкова
Художник В. В. Г арбузов
Художественный редактор В. И. Мешалкин
Технический редактор Г. А. Фетисова
Корректор В. В. Кожуткина
ИБ № 7476
Изд. № СТД — 620. Сдано в набор 13.05.88. Подп. в печать 22.12.88. Т — 18597.
Формат 84Х 1О8'/з2- Бум. кн.-журн. Гарнитура литературная. Печать
офсетная. Объем 7,56 усл. печ. л. 15,54 усл кр.-отт. 7,65 уч.-изд. л. Тираж
75 000 экз. Зак. № 1370. Цена 40 коп.
Издательство «Высшая школа», 101430, Москва, ГСП-4, Неглинная ул., д. 29/14.
Ярославский полиграфкомбинат Союзполиграфпрома при Государственном
комитете СССР по делам издательств, полиграфии и книжной торговли.
150014, Ярославль, ул. Свободы, 97.
С-эвм
GP•общего назначения
Информационные
семантические
системы
5 Малые
ЭВМ
Полупровод-
7никовые
запоминающие
устройства
2 Интеллекту-
ализация
ЭВМ
11
Периферийное
8 и терминальное
оборудование
ЭВМ
Программное
обеспечение
ЭВМ
Системы
1 Л телеобработки
V и вычисли-
Много-
4 процессорные
ЭВМ и методы
их проектирования
Внешние
запоминающие
устройства
на магнитном
носителе
3
ЭВМ
общего
назначения
General-purpose