Канальный ввод/вывод
В вычислительной технике канал ввода-вывода представляет собой высокопроизводительную архитектуру ввода-вывода (I/O), которая реализована в различных формах на ряде компьютерных архитектур, особенно на мейнфреймах . Раньше каналы обычно были [а] реализуется с помощью специальных устройств, называемых по-разному , процессором ввода-вывода , контроллером ввода-вывода ввода-вывода , синхронизатором или контроллером DMA .
Обзор
[ редактировать ]Многие задачи ввода-вывода могут быть сложными и требуют применения логики к данным для преобразования форматов и других подобных задач. В таких ситуациях самое простое решение — попросить ЦП обработать логику, но поскольку устройства ввода-вывода относительно медленны, ЦП может тратить время на ожидание данных от устройства. Эта ситуация называется «ограничением ввода-вывода».
Канальная архитектура позволяет избежать этой проблемы, обрабатывая некоторые или все задачи ввода-вывода без помощи ЦП, перекладывая эту работу на выделенную логику. Каналы логически [а] автономный, с достаточной логикой и рабочей памятью для выполнения задач ввода-вывода. Некоторые из них достаточно мощные или гибкие, чтобы их можно было использовать в качестве компьютера самостоятельно, и их можно рассматривать как разновидность сопроцессора , например, канал данных 7909 на IBM 7090 или IBM 7094 ; однако большинство из них таковыми не являются. В некоторых системах каналы используют память или регистры, адресуемые центральным процессором, в качестве рабочей памяти, тогда как в других системах они присутствуют в аппаратном обеспечении канала. Обычно имеются стандартные интерфейсы. [б] между каналами и внешними периферийными устройствами, при этом несколько каналов могут работать одновременно.
ЦП обычно обозначает блок памяти как относительно небольшую канальную программу или отправляет на канал для обработки задач ввода-вывода, которые канал и контроллер во многих случаях могут выполнить без дальнейшего вмешательства со стороны ЦП (исключение : те канальные программы, которые используют «программно-управляемые прерывания» (PCI) для облегчения загрузки программ, выполнения пейджинга и других важных системных задач).
Когда передача ввода-вывода завершена или обнаружена ошибка, контроллер обычно связывается с ЦП через канал с использованием прерывания . Поскольку канал обычно имеет прямой доступ к основной памяти, его также часто называют контроллером прямого доступа к памяти (DMA).
В самых последних реализациях инициируется программа канала, и процессор канала выполняет всю необходимую обработку до тех пор, пока не будет достигнуто конечное условие или не произойдет прерывание, управляемое программой (PCI). Это устраняет большую часть взаимодействия ЦП и каналов и значительно повышает общую производительность системы. Канал может сообщать о нескольких различных типах условий завершения, которые могут быть однозначно нормальными, могут однозначно указывать на ошибку или значение которых может зависеть от контекста и результатов последующей операции распознавания. В некоторых системах контроллер ввода-вывода может запросить автоматическое повторение некоторых операций без вмешательства ЦП. В более ранних реализациях любая ошибка, даже небольшая, требовала вмешательства ЦП, и, следовательно, накладные расходы были намного выше. Программно-управляемое прерывание (PCI) по-прежнему используется в некоторых устаревших операциях, но наблюдается тенденция к отказу от таких PCI, за исключением случаев, когда это неизбежно.
История
[ редактировать ]Первое использование канального ввода-вывода было в IBM 709. [2] Мэйнфрейм на электронных лампах, чей синхронизатор данных модели 766 был первым контроллером каналов, в 1957 году. Транзисторный преемник 709, IBM 7090 , [3] имел от двух до восьми 6-битных каналов (7607) и мультиплексор каналов (7606), который мог управлять до восьми каналов. 7090 и 7094 также могли иметь до восьми 8-битных каналов вместе с 7909.
В то время как IBM использовала команды канала данных на некоторых своих компьютерах и позволяла создавать цепочки команд , например, в 7090, большинство других поставщиков использовали каналы, которые работали с отдельными записями. Однако некоторые системы, например серия GE-600 , имели более сложную архитектуру ввода-вывода.
Позже семейства компьютеров IBM System/360 и System/370 предлагали канал ввода-вывода на всех моделях. Для младших моделей System/360 50 и ниже и System/370 Model 158 и ниже каналы были реализованы в микрокоде ЦП, а сам ЦП работал в одном из двух режимов: «Режим ЦП» или «Режим канала». ", при этом канальный режим "крадет" циклы из режима ЦП. Для более крупных компьютеров IBM System/360 и System/370 каналы по-прежнему представляли собой громоздкие и дорогие отдельные компоненты, такие как канал селектора IBM 2860 (от одного до трех каналов селектора в одном блоке), канал мультиплексора IBM 2870 байт (один канал мультиплексора). и, опционально, один подканал селектора в одном блоке) и канал блочного мультиплексора IBM 2880 (один или два канала блочного мультиплексора в одном блоке). На процессорных комплексах 303x каналы были реализованы в независимых директорах каналов в том же шкафу, что и ЦП, причем каждый директор каналов реализовал группу каналов. [4]
Намного позже каналы были реализованы в виде встроенного процессора, находящегося в том же корпусе, что и ЦП, обычно называемого «канальным процессором», который обычно представлял собой RISC- процессор, но мог быть микропроцессором System/390 с IBM специальный микрокод, как в мэйнфреймах CMOS .
Аппаратная реализация каналов, совместимых с System/370, в корпорации Amdahl сильно отличалась. Один внутренний блок, называемый «C-Unit», поддерживал до шестнадцати каналов, используя одно и то же оборудование для всех поддерживаемых каналов. Были возможны два внутренних «C-Unit», поддерживающих до 32 каналов. Каждый «C-Unit» независимо выполнял процесс, обычно называемый «процессором изменения состояния канала» (тип бочкового процессора ), который реализовывал специализированный конечный автомат (FSM). Каждый цикл ЦП, каждые 32 наносекунды в 470 В/6 и /5 и каждые 26 наносекунд в 470 В/7 и /8, «C-модуль» считывает полное состояние следующего канала в приоритетной последовательности и его канала ввода-вывода. входящие теги . Были выполнены необходимые действия, определенные последним состоянием этого канала и его входными тегами : данные были прочитаны из основной памяти или записаны в нее, программа операционной системы была прервана, если такое прерывание было указано флагом прерывания управления программой программы канала, и флагом " C-Unit», наконец, сохранил следующее состояние этого канала и установил его. Канал ввода-вывода out-tags , а затем перешел к следующему каналу с более низким приоритетом. В некоторых случаях упреждение было возможно. В «C-Unit» было предоставлено достаточно места для хранения FIFO для всех каналов, которые эмулировались этим FSM. Каналы могут быть легко переконфигурированы по выбору клиента (селектор, байтовый мультиплексор) или блочный мультиплексорный канал без каких-либо существенных ограничений с помощью команд консоли обслуживания. Также поддерживался «Двухбайтовый интерфейс», а также «Ввод/Вывод данных» и другие высокопроизводительные варианты каналов IBM. Также предлагались встроенные межканальные адаптеры , называемые CCA на языке Амдала, но называемые CTC или CTCA на языке IBM. Это по-настоящему изменило правила игры, и это заставило IBM перепроектировать свои мэйнфреймы, чтобы обеспечить аналогичные возможности и гибкость каналов. Первоначальным ответом IBM было включение урезанной модели 158, работающей только в «канальном режиме», в качестве канальных устройств модели 303x. В «C-модуле» Амдала любой канал может быть любого типа, селектором, байтовым мультиплексором или блочным мультиплексором, без резервирования каналов 0 и 4 для байтовых мультиплексоров, как в некоторых моделях IBM.
Некоторые из самых ранних коммерческих канальных систем сторонних производителей были на UNIVAC 490 , CDC 1604 , Burroughs B5000 , UNIVAC 1107 и GE 635 . С тех пор контроллеры каналов стали стандартной частью большинства конструкций мэйнфреймов, и они имеют основное преимущество перед меньшими, более быстрыми персональными компьютерами и сетевыми вычислениями.
1965 года CDC 6600 Суперкомпьютер использовал для этой роли 10 логически независимых компьютеров, называемых периферийными процессорами (PP), и 12 простых каналов ввода-вывода. PP были модифицированной версией первых персональных компьютеров CDC, 12-битных CDC 160 и 160A. Первоначально операционная система находилась и выполнялась в PP0. Каналы не имели прямого доступа к памяти и не могли вызывать прерывания; программное обеспечение на ПП использовало синхронные инструкции [с] для передачи данных между каналом и регистром A или памятью PP.
SCSI представлен в 1981 году как недорогой канал, эквивалентный каналу блочного мультиплексора IBM. [5] теперь повсеместно распространен в форме протокола Fibre Channel и Serial Attached SCSI .
Современные компьютеры могут иметь каналы в виде периферийных устройств, управляющих шиной , таких как PCI устройства прямого доступа к памяти (DMA). Обоснование этих устройств такое же, как и для исходных контроллеров каналов, а именно разгрузка передачи, прерываний и переключения контекста с основного ЦП.
Контроллеры каналов представляют собой небольшие однокристальные конструкции с несколькими каналами, которые используются, NeXT например, в компьютерах .
Описание
[ редактировать ]Эталонной реализацией канального ввода-вывода является реализация семейства мэйнфреймов IBM System/360 и его преемников, но аналогичные реализации были приняты IBM на других линиях, например, 1410 и 7010 , 7030 , а также другими поставщиками мэйнфреймов, такими как как Control Data , Bull ( General Electric / Honeywell ) и Unisys .
Компьютерные системы, использующие канальный ввод-вывод, имеют специальные аппаратные компоненты, которые полностью обрабатывают все операции ввода-вывода независимо от процессора(ов) системы. ЦП системы, использующей канальный ввод-вывод, обычно имеет в своем репертуаре только одну машинную инструкцию для ввода и вывода; эта инструкция используется для передачи команд ввода/вывода специализированному оборудованию ввода/вывода в форме канальных программ . После этого ввод-вывод осуществляется без вмешательства ЦП до тех пор, пока не произойдет событие, требующее уведомления операционной системы, после чего оборудование ввода-вывода сигнализирует о прерывании ЦП.
Канал — это независимый аппаратный компонент, который координирует все операции ввода-вывода с набором контроллеров или устройств. Несмотря на название, это не просто средство общения; это программируемое устройство, которое обрабатывает все детали ввода-вывода после получения списка операций ввода-вывода, которые необходимо выполнить (программа канала).
Каждый канал может поддерживать один или несколько контроллеров и/или устройств, но программа каждого канала может быть направлена только на одно из этих подключенных устройств. Канальная программа содержит списки команд самому каналу, а также контроллеру и устройству, на которое она направлена. После того как операционная система подготовила полный список команд канала, она выполняет одну машинную инструкцию ввода-вывода для запуска программы канала; после этого канал принимает на себя управление операциями ввода-вывода до их завершения.
Можно разрабатывать очень сложные канальные программы, включая тестирование данных и условное ветвление внутри этой канальной программы. Такая гибкость освобождает ЦП от накладных расходов на запуск, мониторинг и управление отдельными операциями ввода-вывода. Аппаратное обеспечение специализированного канала, в свою очередь, предназначено для ввода-вывода и может выполнять его более эффективно, чем ЦП (и полностью параллельно с ЦП). Канальный ввод-вывод мало чем отличается от прямого доступа к памяти (DMA) микрокомпьютеров, только более сложный и продвинутый.
В больших мейнфреймах процессоры являются лишь одним из нескольких мощных аппаратных компонентов, работающих параллельно. Специальные контроллеры ввода-вывода (точные названия которых варьируются от одного производителя к другому) обрабатывают исключительно ввод-вывод, а они, в свою очередь, подключены к аппаратным каналам, которые также предназначены для ввода и вывода. Может быть несколько ЦП и несколько процессоров ввода-вывода. Общая архитектура оптимизирует производительность ввода-вывода без ухудшения чистой производительности ЦП. Поскольку большинство реальных приложений мэйнфреймов представляют собой бизнес-приложения с интенсивным вводом-выводом, эта архитектура помогает обеспечить очень высокий уровень пропускной способности , который отличает мэйнфреймы от других типов компьютеров.
В терминологии IBM ESA/390 канал — это параллельное соединение данных внутри древовидной или иерархически организованной подсистемы ввода-вывода. В клетках ввода-вывода System/390 каналы либо напрямую подключаются к устройствам, установленным внутри клетки (адаптер связи, такой как ESCON , FICON , адаптер открытых систем ), либо проходят снаружи клетки, под фальшполом в виде кабелей толщиной с большой палец и напрямую подключайтесь к канальным интерфейсам на более крупных устройствах, таких как ленточные подсистемы, устройства хранения данных с прямым доступом (DASD), терминальные концентраторы и другие системы ESA/390.
Типы каналов
[ редактировать ]Каналы различаются количеством и типом одновременных операций ввода-вывода, которые они поддерживают. В терминологии IBM канал мультиплексора поддерживает ряд одновременных чередующихся низкоскоростных операций, каждая из которых передает по одному байту от устройства за раз. Канал селектора поддерживает одну высокоскоростную операцию, передавая блок данных за раз. Блочный мультиплексор поддерживает несколько логически одновременных канальных программ, но одновременно только одну высокоскоростную передачу данных.
Каналы также могут различаться тем, как они связывают периферийные устройства с буферами хранения. В терминологии UNIVAC канал может иметь либо внутренний индекс (ISI) с одним активным одновременно буфером и устройством, либо внешне заданный индекс (ESI), когда устройство выбирает, какой буфер использовать.
Программа канала
[ редактировать ]В IBM System/360 и последующих архитектурах программа канала представляет собой последовательность командных слов канала (CCW), которые выполняются подсистемой канала ввода-вывода. Программа канала состоит из одного или нескольких командных слов канала. Операционная система сигнализирует подсистеме канала ввода-вывода о начале выполнения программы канала с помощью инструкции SSCH (запустить подканал). Затем центральный процессор может выполнять инструкции, не связанные с вводом-выводом, до тех пор, пока он не будет прерван. Когда операции канала завершены, канал прерывает работу центрального процессора прерыванием ввода-вывода. В более ранних моделях линейки мэйнфреймов IBM канальный блок представлял собой идентифицируемый компонент, по одному для каждого канала. В современных мэйнфреймах каналы реализованы с помощью независимого RISC-процессора — канального процессора, одного для всех каналов. Расширенная архитектура IBM System/370 [6] и его преемники заменили более ранние машинные инструкции SIO ( запуск ввода-вывода ) и SIOF ( запуск быстрого выпуска ввода-вывода ) (System/360 и ранние версии System/370) на инструкцию SSCH ( запуск подканала ) (ESA/370 и преемники).
Канал ввода-вывода обеспечивает значительную экономию ввода-вывода. Например, в IBM Linux на IBM Z для форматирования всей дорожки DASD требуется только одна канальная программа (и, следовательно, только одна инструкция ввода-вывода), но несколько командных слов канала (по одному на блок). Программа выполняется выделенным процессором ввода-вывода, в то время как процессор приложений (ЦП) свободен для другой работы.
Командные слова канала
[ редактировать ]Командное слово канала ( CCW ) — это инструкция для специализированного процессора канала ввода-вывода, который, по сути, является конечным автоматом. Он используется для инициирования операций ввода-вывода, таких как «чтение», «запись» или «опознавание», на подключенном к каналу устройстве. В системных архитектурах, реализующих канальный ввод-вывод, обычно все устройства подключаются по каналам, поэтому для всех операций ввода-вывода требуется использование CCW.
CCW организованы в канальные программы операционной системой и подпрограммой ввода-вывода, служебной программой или автономным программным обеспечением (например, программами тестирования и диагностики). Ограниченная возможность «ветвления», а, следовательно, и динамически программируемая возможность, доступна в таких канальных программах за счет использования флага канала «модификатор состояния» и CCW «передача в канале».
Цепочка
[ редактировать ]IBM CCW объединены в цепочку , образующую программу канала. Биты в CCW указывают, что следующая ячейка памяти содержит CCW, которая является частью той же программы канала. Канальная программа обычно выполняет последовательные CCW до тех пор, пока не произойдет исключение, не будет выполнена передача в канале (TIC) CCW или CCW не будет выполнен без указания цепочки. Цепочка команд сообщает каналу, что следующий CCW содержит новую команду. Цепочка данных указывает, что следующая CCW содержит адрес дополнительных данных для той же команды, что позволяет, например, записывать или читать части одной записи из нескольких областей данных в хранилище (сборная запись и разбросанное чтение). [7]
Самомодифицирующиеся программы каналов
[ редактировать ]Канальные программы могут изменять свою работу во время выполнения на основе считанных данных. Например, самомодификация широко используется в OS/360 ISAM . [8]
Пример программы канала
[ редактировать ]Следующий пример [9] читает запись на диске, идентифицированную записанным ключом . Известен трек, содержащий запись и искомое значение ключа. Блок управления устройством выполнит поиск трека, чтобы найти запрошенную запись. В этом примере <> указывает, что программа канала содержит адрес хранения указанного поля.
SEEK <cylinder/head number> SEARCH KEY EQUAL <key value> TIC *-8 Back to search if not equal READ DATA <buffer>
TIC (передача в канале) приведет к тому, что программа канала перейдет к команде SEARCH до тех пор, пока не встретится запись с совпадающим ключом (или конец дорожки). Когда будет найдена запись с совпадающим ключом, контроллер DASD включит модификатор статуса в статус канала, в результате чего канал пропустит TIC CCW; таким образом, программа канала не будет разветвляться, и канал выполнит команду READ.
Приведенный выше пример верен для незаблокированных записей (одна запись на блок). Для заблокированных записей (более одной записи в блоке) записанный ключ должен совпадать с самым высоким ключом в этом блоке (и записи должны находиться в последовательности ключей), и будет использоваться следующая программа канала:
SEEK <cylinder/head number> SEARCH KEY HIGH OR EQUAL <key value> TIC *-8 Back to search if not high or equal READ DATA <buffer>
Если набор данных распределен по дорожкам и конец дорожки достигнут, а запрошенная запись не найдена, программа канала завершается и возвращает индикацию состояния «запись не найдена». Аналогично, если набор данных распределен по цилиндрам и конец цилиндра достигнут, а запрошенная запись не найдена, программа канала завершается и возвращает индикацию состояния «запись не найдена». В некоторых случаях системное программное обеспечение имеет возможность обновить номер дорожки или цилиндра и повторно запустить операцию ввода-вывода без прерывания прикладной программы.
Канальные программы в виртуальных системах хранения
[ редактировать ]Возможно, этот раздел слишком сильно ориентирован только на один аспект его темы . ( май 2021 г. ) |
В большинстве систем каналы работают с использованием реальных (или физических) адресов , тогда как канальные программы строятся с использованием виртуальных адресов . [10] Операционная система отвечает за трансляцию этих канальных программ перед их выполнением, и для этой конкретной цели диспетчер ввода-вывода (IOS) имеет специальную функцию быстрого исправления , которая была встроена в диспетчер ОС только для тех «исправлений», которые относительно короткая продолжительность (т. е. значительно короче, чем «время настенных часов»). Страницы, содержащие данные, которые будут использоваться операцией ввода-вывода, фиксируются в реальной памяти или являются фиксированными страницами . Перед началом операции ввода-вывода программа канала копируется, и все виртуальные адреса заменяются реальными адресами. После завершения операции страницы не будут исправлены.
Поскольку исправление и удаление страниц — процесс, требующий больших затрат ресурсов ЦП, для снижения затрат на ЦП иногда используется долгосрочное исправление страниц. Здесь виртуальная память фиксируется по страницам на протяжении всего срока службы приложения, а не фиксируется и освобождается для каждой операции ввода-вывода. Примером программы, которая может использовать долгосрочное исправление страниц, является Db2 .
Альтернативой долгосрочному исправлению страниц является перемещение всего приложения, включая все его буферы данных, в предпочтительную область основной памяти. Это достигается с помощью специального SYSEVENT в операционных системах MVS/370 и z/OS, в котором приложение сначала выгружается , где бы оно ни находились, предположительно из непредпочтительной области, для подкачки и подкачки внешнего хранилища, а затем во-вторых, заменяется на предпочтительную область (SYSEVENT TRANSWAP). После этого приложение может быть помечено как незаменяемое с помощью другого специального SYSEVENT (SYSEVENT DONTSWAP). Всякий раз, когда такое приложение завершает работу, нормально или ненормально, операционная система неявно выдает еще один специальный SYSEVENT от имени приложения, если она еще этого не сделала (SYSEVENT OKSWAP).
Загрузка с канальным вводом/выводом
[ редактировать ]Даже загрузка системы, или начальная загрузка программы (IPL) в номенклатуре IBM, выполняется по каналам, хотя этот процесс частично моделируется ЦП с помощью подразумеваемой инструкции запуска ввода-вывода (SIO), подразумеваемого слова адреса канала ( CAW) в позиции 0 и подразумеваемое командное слово канала (CCW) с кодом операции Read IPL, также в позиции 0. Предполагается цепочка команд, поэтому подразумеваемое CCW в позиции 0 переходит в продолжение программы канала в позиции 8. и 16, и, возможно, где-нибудь еще, если один из этих CCW будет передачей в канале (TIC). [11]
Чтобы загрузить систему, подразумеваемая команда Read IPL CCW считывает первый блок выбранного устройства IPL в 24-байтовую область данных в позиции 0, канал продолжает работу со вторым и третьим двойными словами, которые являются CCW, и программа этого канала загружает первая часть программного обеспечения системы, загружающая другое место в основной памяти. Первое двойное слово содержит PSW, который при получении по завершении IPL заставляет ЦП выполнять текст IPL (загрузчик начальной загрузки), считанный CCW в ячейке 8. Затем текст IPL находит, загружает и передает управление Ядро операционной системы. Nucleus выполняет или инициирует любую необходимую инициализацию, а затем начинает нормальную работу ОС.
Эта концепция IPL не зависит от устройства. Он способен выполнять IPL с колоды карт, с магнитной ленты или с устройства хранения данных с прямым доступом (DASD), например диска, барабана. Команда Read IPL (X'02'), имитируемая ЦП, представляет собой команду чтения Read EBCDIC Select Stacker 1 на устройстве чтения карт и команду чтения на ленточном носителе (которые по своей природе являются последовательным доступом), но специальная команда Read-IPL на DASD.
Контроллеры DASD принимают команду X'02', переходят к цилиндру X'0000', головке X'0000', переходят к индексной точке (т. е. сразу после записи дескриптора дорожки (R0)) и затем обрабатывают команду чтения IPL так, как будто это была команда чтения данных (X'06'). Без этого особого поведения контроллера DASD аппаратно-независимая IPL была бы невозможна. На DASD текст IPL содержится в цилиндре X'0000', дорожке X'0000' и записи X'01' (24 байта), а также в цилиндре X'0000', дорожке X'0000' и записи X'. 02' (довольно большой, наверняка чуть больше 3000 байт). Метка тома всегда содержится в цилиндре X'0000', дорожке X'0000' и блоке X'03' (80 байт). Метка тома всегда указывает на VTOC с помощью указателя в форме HHHH (то есть VTOC должен находиться в пределах первых 65 536 дорожек). VTOC DSCB формата 4 определяет экстент (размер) VTOC, поэтому метке тома нужен только указатель на первую дорожку в экстенте VTOC, а DSCB формата 4, который описывает VTOC, всегда является самым первым DSCB. в VTOC HHHH также указывает на DSCB формата 4.
Если предпринимается попытка IPL с устройства, которое не было инициализировано с помощью текста IPL, система просто переходит в состояние ожидания. Программа инициализации DASD (устройство хранения данных прямого доступа) IBCDASDI или приложение инициализации DASD ICKDSF помещают PSW состояния ожидания и фиктивную строку CCW в 24 байта, если устройство предназначено только для данных, а не для IPL, после которые эти программы форматируют VTOC и выполняют другие функции инициализации жесткого диска.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Контроллер связи IBM 3705» (PDF) . Отчеты Datapro о передаче данных . МакГроу-Хили. Апрель 1990 г. [май 1987 г.] . Проверено 3 апреля 2022 г.
Кража цикла — это форма прерывания, при которой компонент, которому требуется доступ к памяти или процессору, берет на себя управление на протяжении всего машинного цикла.
- ^ «Архивы IBM: система обработки данных 709» . 03.ibm.com. 23 января 2003 года . Проверено 22 января 2014 г.
- ^ «Архивы IBM: система обработки данных 7090 (продолжение)» . 03.ibm.com. 1958-12-30 . Проверено 22 января 2014 г.
- ^ Руководство по процессорному комплексу IBM 3033, присоединенному процессорному комплексу и мультипроцессорному комплексу System/370 (PDF) (Пятое изд.). ИБМ . Апрель 1979 г. с. 3. GC20-1859-4.
- ^ SCSI-форум . Технологические форумы. Октябрь 1986 г. с. 202.
* Сходства с мейнфреймами, * Блок мультиплексирования каналов System 360, * Тенденция к микрокомпьютерам.
- ^ Принципы работы расширенной архитектуры IBM System/370, SA22-7085-0
- ^ Корпорация IBM (1968). Текст для студентов: Введение в архитектуру IBM System/360 (PDF) . Корпорация IBM. п. 22.
- ^ Аттанасио, ЧР; Маркштейн, П.В.; Филлипс, Р.Дж. (1976). «Проникновение в операционную систему: исследование целостности VM/370». IBM Systems Journal . 15 (1): 102–116. дои : 10.1147/sj.151.0102 .
- ^ Корпорация IBM (1969). Описания компонентов IBM System/360: 2314 Direct Access Storage Facility и 2844 Auxiliary Storage Control (PDF) . Корпорация IBM. п. 50.2. Архивировано из оригинала (PDF) 22 марта 2011 г.
- ^ Корпорация IBM (1978). Обзор OS/VS2 MVS (PDF) . стр. 8–12. Архивировано из оригинала (PDF) 16 марта 2011 г.
- ^ См. Принципы работы System/370, GA22–7000–4, стр. 54–55, Первоначальная загрузка программы; Расширенная архитектура System/370 очень похожа, хотя XA использует «подразумеваемый» стартовый подканал (SSCH) вместо «подразумеваемого» стартового ввода-вывода.
Примечания
[ редактировать ]- ^ Jump up to: а б Некоторые с микрокодированием работали путем кражи цикла. каналы [1] а не с полностью независимым оборудованием.
- ^ Обычно спецификация интерфейса включает как сигналы, так и внешние кабели.
- ^ Использование явных тестов состояния канала и инструкций.
- 70 йанов
- Вход на А из канала d
- 71 ИАМ
- Введите (A) слова в m из канала d
- 72 ВКЛ.
- Выход из A в канал d
- 73 ОАМ
- Вывести (A) слова из m в канал d
- 74 АКС
- Активировать канал d
- 75 ДЦН
- Отключить канал d
- 76 ФАН
- Функция (A) на канале d
- 77 ФНК
- Функция m на канале d