Процессы на магистрали еще более усложняются в многопроцессорных системах, где управление магистралью переходит из рук в руки. На синхронной магистрали с несколькими ведущими все ведущие должны использовать единый тактовый генератор, в то время как асинхронная магистраль допускает различные тактовые частоты. К счастью для вас, обсуждение многопроцессорных систем выходит за рамки этой книги! Следует отметить обстоятельство, могущее привести к недоразумениям. Вы не добавляете состояния ожидания при работе с медленными периферийными устройствами (например принтером); это следует делать лишь при наличии медленных ИС (скажем, ПЗУ с временем доступа 250 нc или медленной периферийной БИС). Медленная периферия обычно безнадежно медленна (миллисекунды, а не наносекунды); с такими устройствами следует посылать (или принимать) байт на полной скорости магистрали, фиксируя его в регистре байтовой ширины, после чего ожидать прерывания (или, возможно, установки флага состояния), чтобы инициировать следующую передачу на, полной скорости.
Для иллюстрации архитектуры микрокомпьютерной магистрали-сигналов на магистрали, разновидностей ввода-вывода, прерываний, прямого доступа к памяти, мы выбрали магистраль IBM PC. Для книги по электронике это оправданный выбор, так как компьютеры типа PC выпускаются повсеместно и широко применяются в технике вообще и в системах сбора данных и управления в частности. К тому же, магистраль PC исключительно проста в объяснении и использовании.
Однако за простоту приходится платить. Магистрали исходных IBM PC свойственны серьезные ограничения, уже упоминавшиеся ранее (например, малое число уровней прерываний и каналов ПДП). Кроме того, магистраль IBM PC имеет по нынешним меркам слишком маленькое адресное пространство (20 бит, и доступны только 640 К), слишком узкую шину данных (8 бит), недостаточную скорость передачи данных (максимально 1,2 Мбайт/с) и невозможность работы с несколькими ведущими шины. Для последующих поколений машин PC фирма IBM разработала улучшенные магистрали, сначала магистраль PC/AT (совместимое усовершенствование исходных PC), а затем новую (и несовместимую!) «микроканальную» магистраль для серии машин PS/2. Вне мира IBM можно найти конкурирующие магистрали конкретных разработчиков (например, Q-bus и VAXBI фирмы DEC), а также типовые магистрали (Multibus, NuBus, VME). Давайте пройдемся по компьютерным магистралям, перечисленным в табл. 10.2.
PC/AT и Micro Channel.
Компьютеры IBM PC/AT (сокращение от Advanced Technology, улучшенная технология) появились в 1984 г., а в 1987 г., на вершине популярности, их производство было приостановлено, чтобы уступить место серии машин IBM PS/2, использовавших улучшенную магистраль Micro Channel и призванных одним махом прихлопнуть производителей АТ-аналогов. (Однако машины PC/AT продолжали процветать, поскольку производители их аналогов, как и многие покупатели, сначала игнорировали новинку IBM, улучшенные качества которой требовали несуществующего программного обеспечения.) В PC/AT используется микропроцессор 80286 и расширенная (но совместимая) магистраль исходных PC: дополнительный (и необязательный) разъем для добавочных 8 бит данных, 4 бит адресов и 5 линий IRQ (со срабатыванием, как и прежде, по фронту). В результате 16-разрядная шина данных и более высокая тактовая частота подняли пропускную способность магистрали до 5,3 Мбайт/с, что в сочетании с расширением адресного пространства и увеличением числа уровней прерываний сделали PC/AT весьма серьезным микрокомпьютером. Магистраль PC/AT (иногда называемая Industry Standard Architecture, или ISA - стандартная промышленная архитектура) даже допускает нескольких ведущих на магистрали, хотя ее возможности в этом отношении ограничены. Платы, предназначенные для исходных PC, будут работать и на PC/AT (если они обладают необходимым быстродействием), так как усовершенствования, собранные на дополнительном разъеме, можно игнорировать; в этом случае, конечно, вы возвращаетесь к 8-разрядной шине данных и 20-разрядному адресному пространству. АТ-совместимые компьютеры обычно эксплуатируют свою магистраль ввода-вывода на высоких скоростях, и при использовании старых вставных плат могут возникнуть дополнительные трудности синхронизации.