Каналы ввода-вывода

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

В первых машинах взаимодействие между процессорами и каналами осуществлялось при помощи процессорных команд типа:

· условный переход (если канал занят выполнением операции);

· ожидание (пока не закончится выполнение команды канала);

· запись (содержимого управляющих регистров канала в основную память для последующего опроса процессором).

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

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

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

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

Захват цикла

Узкое место, где может возникнуть конфликтная ситуация между каналами и процессором,— это доступ к основной памяти. Поскольку в каждый конкретный момент времени может осуществляться только одна операция обращения (к некоторому модулю основной памяти) и поскольку каналам и процессору может одновременно потребоваться обращение к основной памяти, в обычном случае приоритет здесь предоставляется каналам. Это называется захватом цикла памяти; канал буквально захватывает, или «крадет» циклы обращения к памяти у процессора. Каналам требуется лишь небольшой процент общего числа циклов памяти, а предоставление им приоритета в этом смысле позволяет обеспечить лучшее использование устройств ввода-вывода. Подобный подход принят и в современных операционных системах; планировщики, входящие в состав операционной системы, как правило, отдают приоритет программам с большим объемом ввода-вывода по отношению к программам с большим объемом вычислений.

Конвейеризация

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








Дата добавления: 2017-11-04; просмотров: 787;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.