MIL-STD-1750A или 1750A — формальное описание системы команд 16-битного компьютера, включающее как обязательные, так и необязательные компоненты. Принято в качестве военного стандарта США MIL-STD-1750A (1980 год). В дополнение к основной системе команд стандарт определяет такие дополнительные команды, как FPU (арифметика с плавающей запятой) и MMU.

Важным является тот факт, что в стандарте не определены практические детали реализации процессоров 1750A. Из-за этого процессоры системы команд 1750A выпускает большое число компаний в виде отдельных компонентов, плат и системных решений, созданных с применением множества технологий, зачастую наиболее передовых и экзотических в период их появления (например, GaAs, ЭСЛ, кремний на сапфире). Особый интерес представляет тот факт, что системы на основе 1750A часто предлагают высокий уровень защиты от излучения и прочих опасных сред, делая их в полной мере подходящими для применения в военной, авиационной и космической отраслях.

ВВС США определяют стандарт с целью получения общепринятой компьютерной архитектуры и, таким образом, уменьшения стоимости программного обеспечения и компьютерных систем для всех военных вычислительных нужд. Сюда входят такие встраиваемые решения, как системы управления воздушными судами и ракетами, а также более простые общие военные вычислительные потребности. Преимущества этой концепции были замечены не только в ВВС США, и 1750A был принят множеством других организаций, например, Европейским космическим агентством, NASA, Israeli Aircraft Industries и многими академическими проектами. Примерами военных воздушных судов, на которых применяются процессоры с системой команд 1750A, могут служить:

Pyramid Semiconductor P1750AE

Реализации, полностью соответствующие требованиям космической отрасли, сделали 1750A одним из немногих типов компьютеров, которые могут применяться в глубоком космосе. Примеры космических аппаратов, использующих 1750A:

Процессоры, основанные на стандарте 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 в новых проектах.

Ссылки править