MIPS — архитектура и система команд
MIPS (англ. Microprocessor without Interlocked Pipeline Stages) — микропроцессор, разработанный компанией MIPS Computer Systems (в настоящее время MIPS Technologies) в соответствии с концепцией проектирования процессоров RISC (то есть для процессоров с сокращенным набором команд).
- Схема
- Цикл работы процессора
- Загрузка инструкции (IF = Instruction Fetch)
- Декодирование инструкции, выделение команды и операндов, чтение регистров (ID = Instruction Decode)
- Фактическое выполнение инструкции (Ex = Execute)
- Сохранение регистра в память, Загрузка регистра из памяти (MEM = Memory access)
- Запись результата регистр (WB = Writeback)
- Микрокоманды и микропрограмма
- Инструкция уровня языка ассемблера может быть разбита на отдельные микрокоманды. Программа интерпретирующая машинные инструкции называется микропрограммой. Микропрограмма позволяет на одном и том же наборе аппаратуры реализовать разные архитектуры.
- MIPS
- 4GB оперативной памяти.
- Инструкции одинаковой длины 32 бита.
- 32 регистра общего назначения размером 32 бита.
- Регистры PC, Hi, Lo.
- MARS
Получение с сайта.Download Mars
- Установка и запуск.
- Настройка для первой программы.
Редактирование, ассемблирование, трассировка первой программы.
- Типы и форматы инструкций.
- Инструкции делятся на три типа: R, I и J. Каждая инструкция начинается с 6-битного кода. В дополнение к коду, инструкции R-типа определяют три регистра, область размера сдвига регистра, и область функции; инструкции I-типа определяют два регистра инепосредственное значение; инструкции J-типа состоят из кода операции и 26-битного адреса перехода.
Тип |
−31− формат (в битах) −0− |
||||||
R |
код (6) |
rs (5) |
rt (5) |
rd (5) |
сдвиг (5) |
функция (6) |
|
I |
код (6) |
rs (5) |
rt (5) |
непосредственное значение (16) |
|||
J |
код (6) |
адрес (26) |
Инструкции типов I и R.
- Схема исполнения:
- Арифметические:
- add, addu, sub, subu, mult, div, divu
- addi, addiu
- Логические:
- and, or, xor, nor, slt
- andi, ori, slti
- Сдвига:
- sll, srl, sra
- Передачи данных:
- mfhi, mflo