Шина — это просто электрическое соединение между двумя аппаратными компонентами. Часто, между компьютером и устройством располагается много шин. Обычно, шина ввода-вывода насчитывает примерно от 20 до 100 линий, некоторые из которых используются для передачи данных, а другие — для передачи управляющей информации на устройство и назад.
У разных шин организация работы разная. Однако при этом ряд положений используются общие. Прежде всего отметим, что общая организация работы шины может быть представлена как совокупность механизмов, каждый из которых выполняет вполне определенную функцию передачи информации, например, чтение из памяти, чтение из порта, запись в память, запись в порт и т.д. Множество таких механизмов конечное, но их тем больше, чем сложней и разнородней структура компьютера (компьютер имеет иерархическую память, развитые системы прерываний и защиты, реализует мультипроцессорный и мультизадачный режимы и пр.). Можно представить организацию управления работой шины, как переход от выполнения одного механизма к другому.
Начало реализации конкретного механизма связано с установкой состояния шины. Для этой цели среди шин управления есть совокупность сигналов (линий), которые определяют направление передачи сигналов (запись или чтение), характер передаваемой информации (данные или команды), ее информационную структуру (1-/2-/4-/8-/16- байтная, пакетная структура), место обращения ( к памяти, кэш-памяти, к портам ввода-вывода) и др. В соответствие с выбранным состоянием устанавливается организация использования шины адреса и шины данных. Время, занимаемое выполнением отдельного механизма, называется циклом шины. Таким образом для различных механизмов продолжительность (длина) циклов шин разная. Длина цикла зависит не только от особенностей выполняемой передачи, но и от готовности устройств участвовать в этой передаче. Любая неготовность будет приводить к затягиванию соответствующих циклов шины. Таким образом продолжительность цикла шины является случайной величиной, а его начало и конец являются асинхронными. Механизм управления шиной должен иметь средства формирования начала цикла, его ведения и окончания цикла. Естественно, что у разных шин эти средства могут быть разные.
Для упрощения управления шиной длина цикла составляется из временных квантов одинаковой продолжительности (задаются сигналами синхронизации шины), называемых тактом шины, т.е. длина цикла всегда кратна числу тактов шины. Во время любого такта цикла шины выполняются вполне определенные действия. Эти действия можно разбить на две группы: установление состояния шины и выполнение команд, предписанных реализуемым механизмом передачи данных.
Читать дальше