следующие действия. Во-первых, выбирает из оперативной памяти CAW в свой регистр, во-вторых, передает подключенным к нему устройствам команду SIO. Команда запуска ввода-вывода SIO M,N передается всем устройствам, но воспринимает ее только устройство N. Если устройство занято или не готово, в регистрах канала устанавливается соответствующее состояние и процессор по команде TIO может узнать о том, что операция обмена данными не состоялась. Если же устройство свободно и готово к обмену данными, оно устанавливает в интерфейсе сигнал ожидания. Вся дальнейшая обменная операция протекает по инициативе внешнего устройства. Получив сигнал ожидания, канал выбирает по адресу CAW адрес канальной команды и передает ее в контроллер внешнего устройства, где она выполняется.
Канальные команды могут быть подготовительными или командами обмена данными. Подготовительные команды устанавливают режимы работы внешних устройств, осуществляют операции поиска и т.д.
Обменные команды содержат коды операций и адреса оперативной памяти. Обмен происходит по асинхронной схеме по инициативе внешнего устройства. Данные извлекаются из памяти и помещаются в нее напрямую, без посредников.
После выполнения команды канал проверяет в выполненной команде признак конца. Если это не последняя команда, меняется адрес CAW и выбирается следующая команда. Если команда последняя, канал «привлекает к себе внимание» процессора с помощью сигнала прерывания. По сигналу прерывания запускается обработчик, являющийся частью операционной системы. Обработчик прерывания выполняет операции, завершающие обмен.
Канал может сгенерировать сигнал прерывания до окончания канальной программы при возникновении исключительной ситуации. В этом случае операционная система запрашивает состояние регистров канала и выясняет, что именно произошло, и определяет, какие действия необходимо предпринять в возникшей ситуации.
Отметим некоторые особенности канальных машин. Несколько подряд идущих канальных команд могут образовывать цепочку данных. В этом случае имеется одна команда обмена, например чтения физической записи из нескольких адресов оперативной памяти со счетчиков.
26
Одна физическая запись распределяется в несколько адресов оперативной памяти.
В ЭВМ с канальной организацией процессор практически полностью освобождается от рутинной работы по организации ввода-вывода. Управление контроллерами внешних устройств и обмен данными берет на себя контроллер канала. Наличие нескольких трактов передачи данных снимает трудности, связанные с блокировкой единственного тракта передачи данных (системной шины), что повышает скорость обмена. Все это дает возможность производить обмен данными с внешними устройствами
параллельно с основной вычислительной работой центрального процессора. В результате общая производительность системы существенно возрастает. Удорожание схемы окупается.
Одной из первых машин с каналами была ЭВМ второго поколения IBM704. Ярким примером ЭВМ с каналами являются машины семейства IBM360/370. Появление этих ЭВМ произвело переворот в вычислительной технике, и на долгие годы они стали образцом для подражания у создателей ЭВМ. Хотя в настоящее время эти машины ушли в прошлое, они оставили богатое наследие в виде интересных архитектурных решений, программных и алгебраических разработок. В настоящее время схемы со специализированными процессорами ввода-вывода часто встречаются у ЭВМ различных типов. Несомненно, идея схемы с каналами не умерла, и к ней еще неоднократно будут возвращаться.
2.4. Информационная модель ЭВМ
Обработка чисел, символьной информации, логическая обработка, обработка сигналов – это все частные случаи общего понятия под названием «обработка информации». Для ЭВМ характерен признак: информация представляется с помощью двоичных целых чисел. Существует три этапа обработки информации:
хранение двоичной информации; передача от одного хранилища к другому; преобразование.
ЭВМ можно представить как совокупность узлов, соединенных каналом связи. Узлы соединяют в себе функции хранения и преобразования. По каналам связи передается информация от узла к узлу. Мы будем говорить о потоках информации в каналах связи (рис. 2.6). Некоторые узлы могут иметь специальную функцию ввода информации в систему и вывода из нее.
Показанная на рис. 2.6 модель не имеет ограничений на связи между отдельными узлами. Реализовать такую систему весьма сложно. Реально существующие системы имеют ряд ограничений на связи и четкое функциональное назначение отдельных узлов. Функции отдельного узла могут зависеть от его состояния. Состояние узла описывается значениями его
27
внутренних полей (регистров), может определяться процессом его функционирования или задаваться извне. Состояние узла будем называть его режимом. Физически режим может определяться значением регистра узла. Тогда установить режим узла означает присвоить регистру определенное значение.
У1 |
|
|
|
У2 |
|
|
Ввод |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
У3 |
|
Уn |
|
Вывод |
Рис. 2.6. Информационная модель ЭВМ
У - узлы
По каналам связи узлы могут обмениваться либо значащей информацией (сообщениями), либо управляющей. Под сообщениями будем понимать последовательность двоичных цифр, сохраняемые или обрабатываемые узлом. Управляющая информация определяет режимы узлов и каналов связи.
Информационная модель позволяет определить основные характеристики ЭВМ.
1.Узлы хранения имеют:
вместимость – максимальную, среднюю или минимальную; скорость выборки; разрядность выборки.
2.Преобразующие узлы имеют скорость преобразования.
3.Каналы определяются:
скоростью передачи информации (пропускная способность); разрядностью передачи.
А) |
У1 |
|
У2 |
|
УN |
Б) |
|||
|
|
|
|
|
|
|
|
|
|
В) |
ПАМ1 |
|
ПАМ2 |
|
ПАМ3 |
|
|
|||||
|
|
|
КМ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
ПР1 |
|
|
|
|
|
|
|
|
|
|
КВВ1 |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ПР2 |
|
|
|
|
|
|
|
|
|
|
КВВ2 |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28
Г)
Исходные данные
У1
У2
…
УN
ПР
ПАМ
КВВ
Ввод-вывод
Результат
Рис. 2.7. Различные схемы организации ЭВМ: ЭВМ с шинной организацией (а); канальная ЭВМ (б);
ЭВМ с перекрестной коммутацией (в); конвейерная ЭВМ (г); КМ – коммутирующая матрица; КВВ – канал ввода-вывода; ПАМ – память; ПР – процессор; У – узлы
Из множества возможных соединений отбираются несколько типовых схем, обеспечивающих простоту, возможность реконфигурации (расширения), надежность, стандартизацию и т.д. Можно отметить следующие схемы (рис. 2.7):
с шинной организацией; специализированные процессоры (каналы); схема с коммутацией;
архитектуры с распределенными функциями (распределенный интеллект);
с конвейерной организацией.
Рассмотрим некоторые частные модели ЭВМ, имеющие широкое распространение или представляющие теоретический интерес.
Шинная организация. В этой схеме все устройства симметрично подсоединяются к одному каналу, называемому общей шиной. Симметрия подключения гарантирует свободное подключение новых устройств, т.е. система имеет теоретически неограниченное развитие. Некоторые узлы могут иметь специфические свойства, например процессор, оперативная память, внешние накопители данных. Между ними организуется обмен информации. Так как потоки информации ограничены возможностями одного канала, эта схема имеет принципиальные ограничения скорости работ.
Канальная организация. В этой схеме операции обмена данными с внешними устройствами организуются через специализированный узел – канал ввода-вывода. Благодаря этому можно организовывать обработку информации параллельно с вводом-выводом.
Организация с перекрестной коммутацией. Идея структурной организации таких ЭВМ заключается в том, что все связи между узлами
29
осуществляются с помощью специального устройства – коммутирующей матрицы. Коммутирующая матрица может связывать между собой любую пару узлов, причем таких пар может быть сколько угодно – связи не зависят друг от друга. В такой схеме нет конфликтов из-за связей, есть конфликты только из-за ресурсов. Возможность одновременной связи нескольких пар устройств позволяет достичь очень высокой производительности комплекса.
Архитектура с распределенными функциями являлась основной идеей японского проекта ЭВМ пятого поколения. В настоящее время эта идея осталась не реализованной. Суть идеи заключается в том, что обработка
информации распределяется по «интеллектуальным» периферийным устройствам. Переход от ЭВМ четвертого поколения к ЭВМ пятого поколения намечалось осуществить не за счет существенного изменения элементной базы (как было ранее), а за счет резкого качественного изменения сложности и интеллектуальности различных компонент ЭВМ.
Конвейерная организация. Здесь обрабатывающее устройство разделяется на последовательно включенные операционные блоки, каждый из которых специализирован на выполнение строго определенной части операции. При этом работа осуществляется следующим образом: когда i-й операционный блок выполняет i-ую часть j-ой операции, (i-1)-й операционный блок выполняет (i-1)-ую часть (j+1)-й операции, а (i+1)-и операционный блок выполняет (i+1)-ую часть (j-1)-й операции. В результате образуется своего рода конвейер обработки и за счет этого повышается производительность системы.
2.5. Основные команды ЭВМ
Большое изумление у человека, не знакомого с вычислительной техникой вызывает тот факт, что все разнообразие решаемых на ЭВМ задач реализуется с помощью небольшого набора очень простых команд. Система команд у обычной ЭВМ включает в себя всего 60-150 базовых команд. Все команды в основном служат для выполнения очень простых действий, таких, как прочитать, запомнить, сложить, сдвинуть, сравнить и т.д. Интеллектуальность ЭВМ достигается за счет того, что ЭВМ способна выполнять программы, состоящие из большого числа таких простых действий с огромной, не достижимой для человека скоростью. В данном разделе учебника кратко рассмотрим набор команд, используемых в типичных ЭВМ, и действия, реализуемые этими командами.
При описании системы команд ЭВМ обычно принято классифицировать команды по функциональному назначению, длине, способу адресации и другим признакам. Классификация команд по различным признакам показаны на рис. 2.8. Рассмотрим основные группы команд, придерживаясь классификации команд на группы по функциональному признаку.
30
Классификация команд ЭВМ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
По |
|
|
|
По количе- |
|
|
|
|
По |
|
|
По |
|
По |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
функциона |
|
|
|
ству |
|
|
|
|
способу |
|
|
дли- |
|
способу |
||
-льному |
|
|
|
адресов |
|
|
|
|
кодирова- |
|
|
не |
|
адреса- |
||
назначени |
|
|
|
|
|
|
|
|
ния |
|
|
|
|
ции |
||
|
|
|
|
|
|
|
|
|
|
|
|
|||||
ю |
|
|
|
|
|
|
|
|
операции |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|