Потоки данных. организация управления внешними устройствами

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

Простейшей моделью является непосредственное управление процессоромвнешними устройствами (Рис. 39). Это означает, что центральный процессор фактически «интегрирован» со схемами управления внешними устройствами, имеет специальные команды управления ими, а также путем интерпретации последовательности команд управления осуществляет управление обменом. Т.е. процессор подает команды устройству на перемещение головок обмена, на включение той или иной головки, на ожидание и синхронизации прихода содержательной информации и пр. Помимо указанного потока команд через центральный процессор обрабатывает и поток данных: он считывает информацию, участвующую в обмене, со специальных регистров и переносит ее в оперативную память (либо же производит обратные манипуляции). Таким образом, и поток управления, и поток данных проходит через центральный процессор, что само по себе является трудоемкой задачей, к тому же эта модель подразумевает лишь синхронную реализацию.

Потоки данных. организация управления внешними устройствами

Рис. 39. Непосредственное управление центральным процессором внешнего устройства.

Следующая модель предлагает синхронное управлениевнешними устройствами с использованием контроллеров внешних устройств (Рис. 40). Данная модель появилась вслед за появлением внешних устройств, для которых имелись электронные схемы управления этими устройствами — контроллеры, — взявшие на себя часть работ центрального процессора по управлению обменами. В этом случае контроллер взаимодействует с центральным процессором блоками больших размеров, при этом контроллер может самостоятельно выполнять некоторые работы по непосредственному управлению ВЗУ (например, пытаться локализовать и исправить возможные ошибки, которые могут случиться при чтении или записи данных). Но исторически такой тип управления ВЗУ изначально был синхронным: процессор посылает устройству команды на обмен и ожидает, когда этот обмен завершится. Что касается потока данных, то ничего нового в данной модели не представлено: процессор по-прежнему считывает их со специальных регистров внешнего устройства и помещает их в оперативную память.

Потоки данных. организация управления внешними устройствами

Рис. 40. Синхронное/асинхронное управление внешними устройствами с использованием контроллеров внешних устройств.

Вслед за предыдущим типом устройств появились устройства, позволяющие осуществлять асинхронное управлениес использованием контроллеров ВЗУ (Рис. 40). В этом случае центральный процессор подает команду на обмен и не дожидается, когда эту команду отработают контроллер и устройство, т.е. он может продолжить обработку каких-то задач. Но для осуществления указанной модели необходимо, чтобы в системе был реализован аппарат прерываний.

Затем исторически появились т.н. контроллеры прямого доступа к памяти (DMA — Direct Memory Access, Рис. 41). Контроллеры данного типа исключили центральный процессор из обработки потока данных, взяв эту функцию на себя. В данной модели предполагается, что центральный процессор занимается лишь обработкой потоком управляющей информации, а данные перемещаются между ВЗУ и ОЗУ уже без его участия.

Потоки данных. организация управления внешними устройствами

Рис. 41. Использование контроллера прямого доступа к памяти (DMA) или процессора (канала) ввода-вывода при обмене.

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

Иерархия памяти

Рассматривая вычислительную систему, или компьютер, можно выстроить некоторую последовательность устройств, предназначенных для хранения информации в некотором ранжированном порядке, иерархии. Этот порядок можно определять на основе различных критериев: например, по стоимости хранения единицы информации или по скорости доступа к данным, но так или иначе устройства будут располагаться примерно в одном порядке (Рис. 42).

Потоки данных. организация управления внешними устройствами

Рис. 42. Иерархия памяти.

Самой дорогостоящей и наиболее высокопроизводительной памятью является память, которая размещается в центральном процессоре (это регистровая память и КЭШ первого уровня (L1)).

Следующим звеном в этой иерархии может являться КЭШ второго уровня (L2). Это устройство логически располагается между процессором и оперативной памятью, оно является более дешевым и менее скоростным, чем КЭШ первого уровня, но более дорогое и более скоростное, чем ОЗУ, которое располагается на следующей ступени иерархии. Одним из основных свойств оперативной памяти являет то, что в ней располагается исполняемая в данный момент центральным процессором программа, т.е. процессор «берет» очередные операнды и команды для исполнения именно из оперативной памяти.

Ниже ОЗУ в приведенной иерархии следуют устройства, предназначенные для оперативного хранения программной информации пользователей и ОС. Сначала естественным образом следуют ВЗУ прямого доступа с внутренней КЭШ-буферизацией. Это дорогостоящие устройства, они предназначены для наиболее оперативного обмена. Так, на этих устройствах операционная система может размещать свои всякого рода информационные таблицы.

Следом за предыдущим типом устройств следуют ВЗУ прямого доступа без КЭШ-буферизации, которые также обеспечивают оперативных доступ, но уже на более низких скоростях. На подобных устройствах может находиться файловая система пользователей, код ОС (поскольку для системного устройства, с которого происходит загрузка ОС, скорость не особенно актуальна в отличие от устройства, хранящего данные работающей ОС).

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

Многопоточность | Потоки | thread | Многопоточное программирование | Уроки | C++ #1


Похожие статьи.

Понравилась статья? Поделиться с друзьями: