Введение

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

Внутренние

1750A поддерживает 216 16-битных слов памяти в базовой конфигурации. Стандарт определяет дополнительное устройство управления памятью, позволяющее использовать 220 16-битных слов памяти с помощью 512 регистров отображения страниц (в пространстве ввода-вывода), обеспечивающее раздельные пространства для инструкций и данных, а также контроль доступа к памяти с использованием ключей. Большинство инструкций имеют длину 16 бит, хотя некоторые дополняются 16-битным расширением. Стандартный компьютер оснащен 16 16-битными регистрами общего назначения (от 0 до 15). Регистры с 1 по 15 могут использоваться как индексные регистры. Регистры с 12 по 15 могут использоваться как базовые регистры. Любой из 16 регистров может служить указателем стека для инструкций SJS и URS (подпрограмма перехода в стек и подпрограмма возврата из стека), однако для инструкций PSHM и POPM (многократная запись в стек и многократное извлечение из стека) в качестве указателя стека используется только регистр 15. Компьютер поддерживает инструкции для 16- и 32-битной двоичной арифметики, а также для 32- и 48-битной арифметики с плавающей точкой. Ввод-вывод обычно осуществляется посредством инструкций ввода-вывода (XIO и VIO), которые имеют отдельное 216 16-битное адресное пространство и могут использовать специализированную шину.

Программирование

Процессоры, основанные на стандарте MIL STD 1750A, часто программируются на JOVIAL – языке программирования высокого уровня, разработанном Министерством обороны США и являющемся производным от ALGOL 58. Впоследствии широко использовался Ada. Также существуют компиляторы языка C, например, Cleanscape XTC 1750A. В более ранних версиях GNU GCC была предусмотрена поддержка MIL STD 1750A, однако она была признана устаревшей в версии 3.1 и удалена в последующих версиях. Кроме того, DDC I предлагает свою интегрированную среду разработки SCORE (IDE) с компиляторами Ada95 и C, а также среду разработки TADS (Tartan Ada Development System) для Ada83, обе предназначенные для процессоров, основанных на MIL STD 1750A.

1750B

MIL STD 1750B задумывался как преемник архитектуры MIL STD 1750A, с добавленными и расширенными возможностями, часть из которых была опциональной. К середине 1980-х годов был опубликован проект стандарта 1750B, и некоторые производители приступили к его реализации. Однако, окончательная спецификация 1750B так и не была выпущена, поскольку внимание военных и промышленности переключилось на 32-битные архитектурные альтернативы, такие как MIPS R3000.