Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
MIL STD 1750A или 1750A — это формальное определение 16-разрядной архитектуры набора команд (ISA), включающее как обязательные, так и необязательные компоненты, как описано в военном стандарте MIL STD 1750A (1980). С августа 1996 года разработка новых систем на его основе прекращена. Помимо основной ISA, в определении описаны необязательные инструкции, такие как сопроцессор (FPU) и блок управления памятью (MMU). Важно отметить, что стандарт не определяет детали реализации процессора 1750A.
MIL STD 1750A or 1750A is the formal definition of a 16 bit computer instruction set architecture (ISA), including both required and optional components, as described by the military standard document MIL STD 1750A (1980). Since August 1996, it has been inactive for new designs. In addition to the core ISA, the definition defines optional instructions, such as a FPU and MMU. Importantly, the standard does not define the implementation details of a 1750A processor.
Внутренние
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-битное адресное пространство и могут использовать специализированную шину.
The 1750A supports 216 16 bit words of memory for the core standard. The standard defines an optional memory management unit that allows 220 16 bit words of memory using 512 page mapping registers (in the I/O space), defining separate instruction and data spaces, and keyed memory access control. Most instructions are 16 bits, although some have a 16 bit extension. The standard computer has 16 general purpose 16 bit registers (0 through 15). Registers 1 through 15 can be used as index registers. Registers 12 through 15 can be used as base registers. Any of the 16 registers can be used as a stack pointer for the SJS and URS instructions (stack jump subroutine and unstack return subroutine), but only register 15 is used as the stack pointer for the PSHM and POPM instructions (push multiple and pop multiple). The computer has instructions for 16, and 32 bit binary arithmetic, as well as 32 and 48 bit floating point. I/O is generally via the I/O instructions (XIO and VIO), which have a separate 216 16 bit word address space and may have a specialized bus.
Программирование
Процессоры, основанные на стандарте 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.
Processors based on MIL STD 1750A are often programmed in JOVIAL, a high level programming language defined by the United States Department of Defense which is derived from ALGOL 58. Later, Ada was heavily used. There are also C compilers, for example Cleanscape XTC 1750A. Older versions of GNU GCC contain support for MIL STD 1750A; it was declared obsolete in version 3.1, and removed in subsequent versions. In addition, DDC I provides its SCORE Integrated Development Environment (IDE) with both Ada95 and C compilers, and TADS (Tartan Ada Development System) Ada83 development environment, both targeting processors based on MIL STD 1750A.
1750B
MIL STD 1750B задумывался как преемник архитектуры MIL STD 1750A, с добавленными и расширенными возможностями, часть из которых была опциональной. К середине 1980-х годов был опубликован проект стандарта 1750B, и некоторые производители приступили к его реализации. Однако, окончательная спецификация 1750B так и не была выпущена, поскольку внимание военных и промышленности переключилось на 32-битные архитектурные альтернативы, такие как MIPS R3000.
The MIL STD 1750B was to be a successor architecture to the MIL STD 1750A, with added and expanded features, some of which were optional. By the mid 1980s there was a published draft of the 1750B available, and some vendors began implementations for it. However, no finalized specification was ever issued for the 1750B, as military and industry attention shifted to 32 bit architectural alternatives such as the MIPS R3000.