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

книги из ГПНТБ / Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие

.pdf
Скачиваний:
97
Добавлен:
27.10.2023
Размер:
29.24 Mб
Скачать

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

Рассмотрим основные особенности объединенного ин­ терфейса на примере системы связи Unibus, приме­ ненной в малой машине PDP-11. Упрощенная структур­ ная схема объединенного интерфейса приведена на рис. 10-23. Тонкими линиями на рисунке изображены одиночные шины, жирными — группы шин.

Шины интерфейса проходят через процессор, модули ОЗУ и периферийные устройства. Большинство шин яв­ ляется двунаправленными, т. е. по одной и той же шипе сигнал может поступать в устройство и выходить из него. На рисунке показано в качестве примера, что в процес­ соре к двунаправленной шине присоединены как вход­ ной усилитель, принимающий сигналы из интерфейса, так и выходной формирователь, посылающий сигнал в другие устройства.

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

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

560

36-333

561

сигнала прерывания процессор является исполнительным

устройством,

а ведущим — периферийное

устройство

(источник прерывания).

 

разделить

Шины объединенного интерфейса можно

на две группы: шины, предназначенные

для

передачи

информации

(данных, адресов, приказов

и т.

п.), и ши­

ны, обеспечивающие выбор ведущего устройства.

Для передачи информации используются следующие шины:

а) набор шин данных, по которым между ведущим и исполнительным устройствами передаются данные параллельным кодом (например, параллельно переда­ ется 16-разрядное слово);

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

обращения как к модулям ОЗУ, так и

к

любым

пери­

ферийным устройствам системы. Точно

так же

любое

периферийное устройство, став ведущим,

может

обра­

щаться, минуя процессор, к любому модулю ОЗУ или любому другому периферийному устройству. Последнее свойство позволяет организовать в объединенном ин­ терфейсе автономный обмен информации между двумя периферийными устройствами (например, перепись ин­ формации на разные носители), не привлекая для этой работы процессор;

в) набор шин управления для передачи сигналов, определяющих вид операции и направление движения информации, а также синхронизирующих передачу. Для

синхронизации используются

два сигнала —

синхро­

импульс ведущего устройства

и синхроимпульс

испол­

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

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

т

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

Периферийное устройство при необходимости занять интерфейс посылает сигнал по одной из шин запроса (на рис. 10-23 для простоты показано только 3 шины запроса, хотя в реальных системах их может быть больше).

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

Процессор игнорирует запросы от шин с приорите­ тами, меньшими, чем текущий приоритет процессора. При поступлении запроса с более высоким приоритетом процессор начинает процедуру передачи управления интерфейсом запросившему устройству (рассматриваеемая дисциплина обслуживания подобна методу «псев­ донумерации», см. § 8-3).

В ответ на принятый запрос процессор посылает сигнал по соответствующей данному запросу шине раз­ решения. Шины разрешения отличаются от всех других шин интерфейса тем, что являются однонаправленными и последовательно обходят все периферийные устройст­ ва системы (подобно шине ВБР-К в интерфейсе пери­ ферийных устройств, см. выше § 10-5).

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

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

36*

563

Г л а в а о д и н н а д ц а т а я

МУЛЬТИПРОГРАММНЫЕ И МНОГОПРОЦЕССОРНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ

СИСТЕМЫ. СИСТЕМЫ С РАСПРЕДЕЛЕНИЕМ ВРЕМЕНИ

1 1 - 1 . О С Н О В Н Ы Е П О Н Я Т И Я и К Л А С С И Ф И К А Ц И Я

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

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

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

564

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

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

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

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

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

тенсивно

используются периферийные

устройства и в

меньшей

степени — процессор. При

комбинировании

565

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

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

Классификация систем по формам обслуживания.

В решении задач на вычислительной машине участвуют два объекта: машина и пользователь, т. е. лицо, которое ставит машине задачу и получает от нее результаты ре­ шения. Процесс решения задачи может рассматри­ ваться как обслуживание пользователя вычислитель­ ной машиной. Рассмотрим основные формы обслужи­ вания.

И н д и в и д у а л ь н о е п о л ь з о в а н и е . Машина полностью принадлежит одному пользователю, по край­ ней мере на время решения его задачи. Пользователь имеет непосредственный доступ к машине и может вво­ дить информацию в оперативную память машины (или выводить из нее), используя пульт управления или ап­ параты ввода-вывода.

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

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

566

Одновременность доступа означает, что: 1) каждому пользователю должны быть предоставлены собственные средства связи с машиной (пульты, аппараты ввода-вы­ вода), с помощью которых он может обращаться к ма­ шине в любой, удобный для него момент времени; 2) при одновременном обращении нескольких пользователей машина должна реагировать на их запросы с задержкой времени, которая с точки зрения каждого пользователя

представляется такой же (или почти такой

же), как

и при индивидуальном пользовании.

пользо­

Независимость пользователей означает, что

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

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

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

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

§67

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

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

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

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

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

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

вооруженности

этими

средствами могут существо­

вать

различные виды

мультипрограммных

систем

(рис. 11-1).

 

 

 

 

 

 

С и с т е м ы

с п р е д в а р и т е л ь н ы м

( или

р у ч ­

ным)

п л а н и р о в а н и е м

являются простейшей

фор­

мой мультипрограммных

систем и предполагают наличие

программиста-распорядителя,

которому

заранее

из-

üectH bt перечень и характеристики задач, предназначен^ ных к выполнению в мультипрограммном режиме. Рас­ порядитель отводит каждой задаче место в памяти, рас­ пределяет периферийные устройства и устанавливает алгоритмы смены программ, основываясь на своих сооб­ ражениях об оптимальном решении данного набора за­ дач. После этого каждый отдельный пользователь ма­ шины может приступить к программированию своей за­ дачи, руководствуясь указани­

ями распорядителя.

 

 

Подобные

системы исполь­

 

зуются в задачах комплексной

 

автоматизации

производствен­

 

ных процессов,

характеризую­

 

щихся

параллельной

работой

 

многих механизмов, каждый из

 

которых управляется своей соб­

 

ственной программой. Сущест­

 

венным

требованием

к аппа­

 

ратной части системы является

 

наличие

свойства

прерывания,

 

обеспечивающего

переключе­

Рис. 11-1. Классификация

ние программ в соответствии с

мого объекта.

 

 

 

 

текущим состоянием управляе­

мультипрограммных систем.

Системы

с

предваритель­

ным планированием (иногда их называют системами с «чистым программированием») обладают двумя серьез­ ными недостатками: во-первых, организация мультипро­ граммной работы представляет собой весьма сложную задачу программирования, почти целиком ложащуюся на плечи потребителя; во-вторых, система является узко спе­ циализированной для данного набора задач; изменение состава задач, даже введение одной новой программы, может потребовать полной переделки уже разработанной системы.

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

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