Полный текст

25 виртуальных процессоров в одном железе: как Space Shuttle обрабатывал ввод-выводВ бортовом компьютере Space Shuttle связующим звеном между центральным процессором и системами корабля был отдельный процессор ввода-вывода. Формально вспомогательный, он оказался сложнее самого центрального процессора. На одном физическом процессоре работали 25 виртуальных, причём с двумя совершенно разными системами команд. Выполнялись они по очереди, каждый получал один такт, затем управление уходило следующему.Так каждому из 24 сетевых портов доставалась предсказуемая доля времени, и перегруженный порт не мешал остальным. Автор статьи заполучил две реальные платы из такого процессора и разобрал их вплоть до микросхем, где биты записаны пережиганием физических перемычек, а сама память держится на магнитных сердечниках.Разберёмся, как один кусок железа исполнял две разные системы команд, не путая их между собой.