
В IOP каждой 18-битовой шиной управляет отдельный (!) микрокомпьютер, именуемый Bus Controller Element (BCE). Кроме того, в IOP работает мощный процессор ввода/вывода, курирующий все двадцать четыре BCE. Частота тактирования каждой шины всего один мегагерц, но так как шины работают параллельно и независимо друг от друга, передача данных осуществляется практически в реальном времени.
Каждый из блоков GPC может работать с шиной в двух режимах: «командовать» и «слушать». Командовать каким-либо компонентом полетной программы может только один из GPC. Остальные же только слушают его действия. Таким образом, каждый из пяти GPC командует пятой частью дел на челноке и слушает оставшиеся четыре пятых. То есть, любой из них «в курсе» всех дел, выполняемых остальными вычислительными собратьями.
Как же происходит то самое избыточное голосование, «вычисляющее» неисправный компьютер? GPC, слушая командующие ЭВМ, дублировано выполняют их микропрограммы. Выполнение каждой из них компьютеры завершают формированием трехбитного кода, однозначно определяющего вид процедуры (например, «010 — вывод выполнен без ошибки»). Если все компьютеры из избыточного набора генерируют один и тот же код, значит всё в норме, если же один или даже два из них врут, три оставшиеся с правильным кодом могут понять, кто из пятерки сбоит.
Такая схема проверки создает сильносвязанную группу GPC. Чтобы убедиться, что вся группа трудится слаженно, используется 64-битная структура под названием «sumword». Она отправляется в шину каждым GPC каждые 6,25 секунды и содержит биты последних вызовов к ключевым системам корабля. Сравнивая чужие «sumword» со своим, каждый GPC раз в 6,25 секунды убеждается, что его избыточные братья работоспособны. Или нет.
