Интерфейсы и шины в вычислительной системе
Скачать 0.6 Mb.
|
Синхронная шинаПересылка данных с использованием нескольких тактов 1 2 3 4 Время Тактовый сигнал Адрес Команда Данные Slave-ready Для преодоления этих ограничений в шину включают управляющий сигнал (Slave-ready), передаваемый в качестве ответа устройства. Эти сигналы информируют хозяина шины о том, что подчиненное устройство готово участвовать в операции пересылки данных. Кроме того, они позволяют откорректировать длительность периода пересылки данных в соответствии с требованиями участвующих в операции устройств. Для упрощения этой задачи используется тактовый сигнал высокой частоты, при котором цикл пересылки занимает несколько тактов. Таким образом, количество тактов, затрачиваемых на операцию пересылки данных, зависит от конкретной пары устройств. Асинхронные шиныПересылка входных данных по шине с использованием квитирования (ввод) Время Адрес и команда Master-ready Slave-ready Данные t0 t1 t2 t3 t4 t5 Цикл шины Альтернативная схема управления пересылкой данных по шине основывается на механизме квитирования, то есть подтверждения связи, между хозяином шины и подчиненным устройством. Концепция квитирования является обобщением идеи использования сигнала Slave-ready. В схеме с квитированием тактовая линия заменяется двумя управляющими линиями синхронизации: Master-ready и Slave-ready. Первая принадлежит хозяину шины, который передает по ней сигнал готовности к транзакции, а по второй отвечает подчиненное устройство. Пример выполнения операции пересылки входных данных с использованием квитирования t0 – хозяин шины помещает на нее адрес и команду, и все устройства на шине начинают декодировать эту информацию. t1 – хозяин шины активизирует линию Master-ready, чтобы проинформировать устройства ввода-вывода о том, что адрес и команда поданы на шину. Задержка, равная t1 - t0 учитывает сдвиг сигналов и время декодирования. t2 –подчиненное устройство выполняет операцию ввода. Одновременно оно активизирует сигнал Slave-ready. Длительность промежутка времени t2 – t1 зависит от расстояния между хозяином шины и подчиненным устройством, а также от задержек в схеме подчиненного устройства. Поскольку указанный промежуток времени имеет разную длительность, схема получается асинхронной. t3 – сигнал Slave-ready достигает хозяина шины и сообщает ему, что на шине имеются данные. После задержки (t2 – t3 ), равной сумме времени максимального сдвига сигналов на шине и минимального времени установки буфера, хозяин шины стробирует данные в свой входной буфер. Одновременно он удаляет с шины сигнал Master-ready, сообщая тем самым о получении данных. t4 – хозяин шины удаляет с шины адрес и команду. t5 – когда интерфейс устройства фиксирует переход сигнала Master-ready из 1 в 0, он удаляет с шины данные и сигнал Slave-ready. На этом пересылка входных данных завершается. Асинхронные шиныПересылка выходных данных по шине с использованием квитирования (вывод) Время Адрес и команда Master-ready Slave-ready Данные Цикл шины t0 t1 t2 t3 t4 t5 Процесс выполнения операции вывода почти ничем не отличается от процесса выполнения операции ввода. Правда, в этом случае хозяин шины одновременно с адресом и командой помещает на линии данных выходную информацию. Получив сигнал Master-ready, подчиненное устройство стробирует данные в свой входной буфер и сообщает об этом установкой сигнала Slave-ready в 1. Дальше все происходит точно так, как при вводе данных. Методы управления вводом/выводомВ ВМ находят применение три способа организации ввода/вывода: программно управляемый ввод/вывод; ввод/вывод по прерываниям; прямой доступ к памяти. При программно управляемом вводе/выводе все связанные с этим действия происходят по инициативе центрального процессора и под его полным контролем. ЦП выполняет программу, которая обеспечивает прямое управление процессом ввода/вывода, включая проверку состояния устройства, выдачу команд ввода или вывода. Выдав в МВВ команду, центральный процессор должен ожидать завершения ее выполнения, поскольку ЦП работает быстрее, чем МВВ, это приводит к потере времени. Ввод/вывод по прерываниям во многом совпадает с программно управляемым методом. Отличие состоит в том, что после выдачи команды ввода/вывода ЦП не должен циклически опрашивать МВВ для выяснения состояния устройства. Вместо этого процессор может продолжать выполнение других команд до тех пор, пока не получит запрос прерывания от МВВ, извещающий о завершении выполнения ранее выданной команды. Как и при программно управляемом вводе/выводе, ЦП отвечает за извлечение данных из памяти (при выводе) и запись данных в память (при вводе). Повышение как скорости ввода/вывода, так и эффективности использования ЦП обеспечивает третий способ ввода/вывода — прямой доступ к памяти (ПДП). В этом режиме основная память и модуль ввода/вывода обмениваются информацией напрямую, минуя процессор. Процессор инициирует операцию и передает управление контроллеру ПДП. По завершении ввода/вывода контроллер оповещает ЦП с помощью прерывания. |