Белостенный, Александр Михайлович
- 1 year ago
- 0
- 0
MIL-STD-1750A или 1750A — формальное описание системы команд 16- битного компьютера , включающее как обязательные, так и необязательные компоненты. Принято в качестве военного стандарта США MIL-STD-1750A (1980 год). В дополнение к основной системе команд стандарт определяет такие дополнительные команды, как FPU (арифметика с плавающей запятой) и MMU .
Важным является тот факт, что в стандарте не определены практические детали реализации процессоров 1750A. Из-за этого процессоры системы команд 1750A выпускает большое число компаний в виде отдельных компонентов, плат и системных решений, созданных с применением множества технологий, зачастую наиболее передовых и экзотических в период их появления (например, GaAs , ЭСЛ , кремний на сапфире ). Особый интерес представляет тот факт, что системы на основе 1750A часто предлагают высокий уровень защиты от излучения и прочих опасных сред, делая их в полной мере подходящими для применения в военной, авиационной и космической отраслях.
ВВС США определяют стандарт с целью получения общепринятой компьютерной архитектуры и, таким образом, уменьшения стоимости программного обеспечения и компьютерных систем для всех военных вычислительных нужд. Сюда входят такие встраиваемые решения , как системы управления воздушными судами и ракетами , а также более простые общие военные вычислительные потребности. Преимущества этой концепции были замечены не только в ВВС США, и 1750A был принят множеством других организаций, например, Европейским космическим агентством , NASA , Israeli Aircraft Industries и многими академическими проектами. Примерами военных воздушных судов, на которых применяются процессоры с системой команд 1750A, могут служить:
Реализации, полностью соответствующие требованиям космической отрасли, сделали 1750A одним из немногих типов компьютеров, которые могут применяться в глубоком космосе. Примеры космических аппаратов, использующих 1750A:
Процессоры, основанные на стандарте MIL-STD-1750A, обычно программируются на JOVIAL , высокоуровневом языке программирования , описанном в стандарте Министерства обороны США и являющемся ответвлением ALGOL’а . Старые версии компилятора GNU GCC поддерживали работу с процессорами 1750A, но начиная с версии 3.1 эта возможность была объявлена устаревшей и удалена из последующих версий.
По стандарту процессор 1750A может адресовать 2 16 16-битных слов памяти. Стандарт также определяет необязательный блок управления памятью, позволяющий адресовать 2 20 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), которые имеют отдельное адресное пространство размером 2 16 16-битных слов и могут иметь специализированную шину ввода-вывода.
С выпуском 31 июля 1996 года Примечания к 4 ревизии стандарта MIL-STD-1750A был объявлен недействующим для новых военных проектов в США. Тем не менее, Индийская организация космических исследований и китайская аэрокосмическая промышленность продолжают применять 1750A в новых проектах.