Скачиваний:
117
Добавлен:
13.03.2016
Размер:
206.85 Кб
Скачать

2. Архитектура mips

MIPS-MicroprocessorwithoutInterlockedPipelineStages(микропроцессор без блокировок в конвейере). Блокировки в конвейере у коммерческих процессоров есть, т.е. в чистом виде идея оказалась малопригодна. Лицензируемая архитектура.

Отличительным свойством MIPS-архитектуры является способность обеспечить высокую производительность при относительно простом ядре, что означает возможность реализации с меньшим размером кристалла и, соответственно, с меньшей стоимостью конечного продукта. Благодаря этому, а также наличию богатого набора программного обеспечения, MIPS-процессоры нашли широкое применение на рынке встраиваемых систем с критичной производительностью.

Первые процессоры MIPSбыли 32-битными, позже была разработана 64-битная архитектура.

Основная идея — сильно упростив внутреннее устройство процессора и используя длинный конвейер, можно получить процессор, не умеющий выполнять сравнительно сложные инструкции, зато работающий на очень высоких тактовых частотах, позволяющих скомпенсировать потери производительности на эмуляцию этих сложных инструкций. Изначально предполагалось, что MIPS-процессоры не будут аппаратно поддерживать даже операции умножения и деления, благодаря чему можно было обойтись без сложных в реализации блокировок конвейера.

Семейства:

R2000 -R5000,RM7000,RM9000,R8000.

R10000 - последний процессор, созданныйMIPSTechnologies. Фирма свернула разработки, и лицензировала архитектуруMIPSдругим фирмам. Его дальнейшие модификации с увеличенным кэшем и частотой:R12000,R14000,R16000. Существуют различные модификации других фирм.

2.1. Типы данных

2.1.1 Формат данных cpu

CPUподдерживает следующие типы данных: байт(8 бит), полслова (16 бит), слово (32 бита) , двойное слово (64 бита).

2.1.2 Формат данных fpu

32-битовое представление действительного числа с одинарной точностью (плавающая запятая).

32-битовое представление действительного числа с одинарной точностью сдвоенное (плавающая запятая).

64-битовое представление действительного числа с двойной точностью (плавающая запятая).

32-битовое представление целого числа - слово (фиксированная запятая).

64-битовое представление целого числа – длинное слово (фиксированная запятая).

2.2. Сопроцессоры

Архитектура MIPS определяет 4 сопроцессора: СP0, CP1, CP2 и CP3.

Сопроцессор СP0 (сопроцессор управления системой SCC) поддерживает механизмы виртуальной памяти и исключений.

Сопроцессор СP1 (узел с плавающей запятой FPU) зарезервирован для поддержки вычислений с плавающей запятой.

Сопроцессор СP2 доступен для специфических реализаций.

Сопроцессор СP3 зарезервирован для FPU в реализации архитектуры MIPS64 версии 1и версии 2.

CP0 транслирует виртуальный адрес в физический адрес (функцииMMU); обрабатывает исключения; управляет переключениями между состоянием ядра, супервизора или пользователя; управляет подсистемой кэш памяти, а также обеспечивает диагностику и восстановление от ошибок.

2.3. Программная модельMips

2.3.1. Регистры cpu

32 32-разрядный РОН. РОН $0 всегда возвращает значение 0. РОН $31 используется как регистр возврата для команд перехода и возврата.

Три 32-разрядных регистра специального назначения (SFR).

PC - счетчик команд и пара регистров HIиLO- используются для доступа к результату умножения/деления посредством командmfhi(movefromhigh) иmflo.

Вариант соглашения о вызове для MIPSв средствах разработки программного обеспечения (соглашение о вызове – схема, по которой функции получают параметры и возвращают результат вызова):

$0 ($zero) - константа 0;

$1 ($at) - временный сборщик;

$2–$3 ($v0–$v1) - значения для возврата и вычисления выражения;

$4–$7 ($a0–$a3) - аргументы функции;

$8–$15 ($t0–$t7) - временные;

$16–$23 ($s0–$s7) - временного хранения;

$24–$25 ($t8–$t9 ) - временные;

$26–$27 ($k0–$k1 ) - резерв для ядра ОС;

$28 ($gp) -глобальный указатель;

$29 ($sp) - указатель стека;

$30 ($fp) - указатель кадра;

$31 ($ra) - адрес возврата.

Соседние файлы в папке ВстроенныеСистемы