Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
MIPS, аббревиатура от Microprocessor without Interlocked Pipeline Stages, был исследовательским проектом, проведенным Джоном Л. Хеннесси в Стэнфордском университете в период с 1981 по 1984 год. MIPS исследовал тип архитектуры наборов инструкций (ISA), теперь называемый компьютером с упрощенным набором команд (RISC), его реализацию в качестве микропроцессора с использованием технологии сверхбольшой интеграции (СБИ) и эффективное использование архитектур RISC с оптимизирующими компиляторами. MIPS, вместе с IBM 801 и Berkeley RISC, были тремя исследовательскими проектами, которые стали пионерами и популяризировали технологию RISC в середине 1980-х годов. В знак признания влияния MIPS на вычислительную технику, Хеннесси был удостоен медали IEEE Джона фон Неймана в 2000 году Институтом инженеров электротехники и электроники (IEEE) (совместно с Дэвидом А. Паттерсоном), премии Экерта — Моучли в 2001 году Ассоциацией вычислительной техники, премии Сеймура Крея по компьютерной инженерии в 2001 году IEEE Computer Society и, вновь вместе с Дэвидом Паттерсоном, премии Тьюринга в 2017 году ACM. Проект был инициирован в 1981 году в ответ на сообщения о подобных проектах в IBM (801) и Калифорнийском университете в Беркли (RISC). MIPS проводился Хеннесси и его аспирантами до его завершения в 1984 году. В том же году Хеннесси основал MIPS Computer Systems для коммерциализации технологии, разработанной в рамках проекта. В 1985 году MIPS Computer Systems объявила о новой ISA, также называемой MIPS, и ее первой реализации — микропроцессоре R2000. Коммерческая ISA MIPS и ее реализации получили широкое распространение, находя применение во встраиваемых компьютерах, персональных компьютерах, рабочих станциях, серверах и суперкомпьютерах. По состоянию на май 2017 года коммерческая ISA MIPS принадлежит компании Imagination Technologies и используется в основном во встраиваемых компьютерах. В конце 1980-х годов Хеннесси провел в Стэнфорде последующий проект под названием MIPS X. ISA MIPS была основана на 32-битном слове. Она поддерживала 32-битное адресование и была организована по словам. Это была архитектура «загрузка-хранение», где все обращения к памяти осуществлялись с помощью инструкций загрузки и хранения, копирующих данные между основной памятью и 32 регистрами общего назначения (GPR). Все остальные инструкции, такие как целочисленная арифметика, работали с GPR. Она имела базовый набор инструкций, состоящий из инструкций для управления потоком, целочисленной арифметики и логических операций. Для минимизации остановок конвейера все инструкции, кроме загрузки и хранения, должны были выполняться за один тактовый цикл. Инструкций для целочисленного умножения или деления, а также операций с числами с плавающей точкой не было. Архитектура выявляла все риски, вызванные пятиступенчатым конвейером с ячейками задержки. Компилятор планировал инструкции, чтобы избежать рисков, приводящих к неверным вычислениям, одновременно обеспечивая минимизацию времени выполнения генерируемого кода. Инструкции MIPS имеют длину 16 или 32 бита. Решение о выявлении всех рисков было обусловлено стремлением максимизировать производительность за счет минимизации критических путей, удлиняющих цепи. Инструкции были упакованы в 32-битные слова инструкций (поскольку MIPS организован по словам). 32-битное слово инструкции могло содержать две 16-битные операции. Они были включены для уменьшения размера машинного кода. Микропроцессор MIPS был реализован на логике NMOS.
MIPS, an acronym for Microprocessor without Interlocked Pipeline Stages, was a research project conducted by John L. Hennessy at Stanford University between 1981 and 1984. MIPS investigated a type of instruction set architecture (ISA) now called reduced instruction set computer (RISC), its implementation as a microprocessor with very large scale integration (VLSI) semiconductor technology, and the effective exploitation of RISC architectures with optimizing compilers. MIPS, together with the IBM 801 and Berkeley RISC, were the three research projects that pioneered and popularized RISC technology in the mid 1980s. In recognition of the impact MIPS made on computing, Hennessey was awarded the IEEE John von Neumann Medal in 2000 by the Institute of Electrical and Electronics Engineers (IEEE) (shared with David A. Patterson), the Eckert–Mauchly Award in 2001 by the Association for Computing Machinery, the Seymour Cray Computer Engineering Award in 2001 by the IEEE Computer Society, and, again with David Patterson, the Turing Award in 2017 by the ACM. The project was initiated in 1981 in response to reports of similar projects at IBM (the 801) and the University of California, Berkeley (the RISC). MIPS was conducted by Hennessy and his graduate students until its conclusion in 1984. Hennessey founded MIPS Computer Systems in the same year to commercialize the technology developed by the project. In 1985, MIPS Computer Systems announced a new ISA, also called MIPS, and its first implementation, the R2000 microprocessor. The commercial MIPS ISA, and its implementations went on to be widely used, appearing in embedded computers, personal computers, workstations, servers, and supercomputers. As of May 2017, the commercial MIPS ISA is owned by Imagination Technologies, and is used mainly in embedded computers. In the late 1980s, a follow up project called MIPS X was conducted by Hennessy at Stanford. The MIPS ISA was based on a 32 bit word. It supported 32 bit addressing, and was word addressed. It was a load/store architecture—all references to memory used load and store instructions that copied data between the main memory and 32 general purpose registers (GPRs). All other instructions, such as integer arithmetic, operated on the GPRs. It possessed a basic instruction set consisting of instructions for control flow, integer arithmetic, and logical operations. To minimize pipeline stalls, all instructions except for load and store had to be executed in one clock cycle. There were no instructions for integer multiplication or division, or operations for floating point numbers. The architecture exposed all hazards caused by the five stage pipeline with delay slots. The compiler scheduled instructions to avoid hazards resulting in incorrect computation whilst simultaneously ensuring that the generated code minimized execution time. MIPS instructions are 16 or 32 bit long. The decision to expose all hazards was motivated by the desire to maximize performance by minimizing critical paths, which interlock circuits lengthened. Instructions were packed into 32 bit instruction words (as MIPS is word addressed). A 32 bit instruction word could contain two 16 bit operations. These were included to reduce the size of machine code. The MIPS microprocessor was implemented in NMOS logic.