MIL-STD-1750A (MIL-STD-1750A)
MIL-STD-1750A или 1750A — формальное описание системы команд 16-битного компьютера, включающее как обязательные, так и необязательные компоненты. Принято в качестве военного стандарта США MIL-STD-1750A (1980 год). В дополнение к основной системе команд стандарт определяет такие дополнительные команды, как FPU (арифметика с плавающей запятой) и MMU.
Важным является тот факт, что в стандарте не определены практические детали реализации процессоров 1750A. Из-за этого процессоры системы команд 1750A выпускает большое число компаний в виде отдельных компонентов, плат и системных решений, созданных с применением множества технологий, зачастую наиболее передовых и экзотических в период их появления (например, GaAs, ЭСЛ, кремний на сапфире). Особый интерес представляет тот факт, что системы на основе 1750A часто предлагают высокий уровень защиты от излучения и прочих опасных сред, делая их в полной мере подходящими для применения в военной, авиационной и космической отраслях.
ВВС США определяют стандарт с целью получения общепринятой компьютерной архитектуры и, таким образом, уменьшения стоимости программного обеспечения и компьютерных систем для всех военных вычислительных нужд. Сюда входят такие встраиваемые решения, как системы управления воздушными судами и ракетами, а также более простые общие военные вычислительные потребности. Преимущества этой концепции были замечены не только в ВВС США, и 1750A был принят множеством других организаций, например, Европейским космическим агентством, NASA, Israeli Aircraft Industries и многими академическими проектами. Примерами военных воздушных судов, на которых применяются процессоры с системой команд 1750A, могут служить:
- ВВС США, F-18, бортовой управляющий компьютер
- ВВС США, F-16, цифровая бортовая система управления и компьютер, управляющий артиллерийским огнём
- Армия США, вертолёт AH-64 Apache Longbow
- IAI, истребитель Lavi
- IBM Federal Systems, авиационный компьютер AP-102 (применяемый в различных ролях, включая модернизированную авионику бомбардировщика F-111).
Реализации, полностью соответствующие требованиям космической отрасли, сделали 1750A одним из немногих типов компьютеров, которые могут применяться в глубоком космосе. Примеры космических аппаратов, использующих 1750A:
- EOS, спутники Aqua, Aura и Terra
- ЕКА, Cluster
- ЕКА, космический аппарат Розетта
- MSTI-1, 2 & 3
- NASA, зонд Cassini
- NASA, Landsat 7
- NASA, Mars Global Surveyor
- Naval Research Laboratory Clementine Lunar Orbiter
- ВВС США, компьютер ракета-носителя Titan IV
- NOAA GOES-13, GOES-O и GOES-P
Процессоры, основанные на стандарте MIL-STD-1750A, обычно программируются на JOVIAL, высокоуровневом языке программирования, описанном в стандарте Министерства обороны США и являющемся ответвлением ALGOL’а. Старые версии компилятора GNU GCC поддерживали работу с процессорами 1750A, но начиная с версии 3.1 эта возможность была объявлена устаревшей и удалена из последующих версий.
По стандарту процессор 1750A может адресовать 216 16-битных слов памяти. Стандарт также определяет необязательный блок управления памятью, позволяющий адресовать 220 16-битных слов памяти при помощи 512 регистров страниц виртуальной памяти (в пространстве ввода-вывода), с раздельными пространствами команд и данных и с управляемым по ключу доступом к памяти.
Большинство команд 16-битное, хотя некоторые имеют 16-битные расширения. Стандартный компьютер имеет 16 16-битных регистров общего назначения (с 0-го по 15-й). Регистры с 1-го по 15-й могут использоваться в качестве индексных. Регистры с 12-го по 15-й могут использоваться в качестве базовых. Любой из 16 регистров может выполнять роль указателя стека для команд SJS (stack jump subroutine) и URS (unstack return subroutine), но для команд PSHM (push multiple) и POPM (pop multiple) в качестве указателя стека используется только 15-й регистр. Система команд включает в себя 16- и 32-битные команды двоичной арифметики, а также 32- и 48-битные команды арифметики с плавающей запятой. Операции ввода-вывода, как правило, осуществляются через команды ввода-вывода (XIO и VIO), которые имеют отдельное адресное пространство размером 216 16-битных слов и могут иметь специализированную шину ввода-вывода.
С выпуском 31 июля 1996 года Примечания к 4 ревизии стандарта MIL-STD-1750A был объявлен недействующим для новых военных проектов в США. Тем не менее, Индийская организация космических исследований и китайская аэрокосмическая промышленность продолжают применять 1750A в новых проектах.
Ссылки
[править | править код]- Информация для производителей программного обеспечения
- Спецификация и информация производителей
- Компиляторы языков Ada и ANSI C
- MIL-STD-1750A, от 2 июля 1980 года, с обновленным Примечанием 1, 21 мая 1982 года
- FlightLinux Project Target Architecture Technical Report References to use in spacecraft
- DODSSP Единое хранилище военных спецификаций, стандартов и сопутствующих материалов Министерства обороны США
- Процессор MA31750 производства Dynex Semiconductor
- Процессор P1750A-SOS производства Pyramid Semiconductor