Микропроцессорное программное управление. Архитектура IXA. Зарубин А.А. - 12 стр.

UptoLike

Составители: 

Рубрика: 

12
SDRAM
Controller
PCI
Interface
StrongArm
Core
(166 M Hz)
16
Instruction
Cache
8
Data Cache
1
Mini-
Data Cache
Microengine
Microengine
Microengine
Microengine
Microengine
Microengine
SRAM
Controller
Hash
Engine
IX Bus
Interface
Scratch
Pad
SRAM
64-bit
32-bit
32-bit
64-bit
Рис. 6. Блок-схема микропроцессора IXP1200
Microengines (дополнительные микропроцессорные ядра)
Microengines - шесть 32-разрядных, многопоточных микропроцессоров RISC. Они
выполняют передачу данных и проводят технологические операции без помощи
StrongARM. Microengines главным образом предназначены для передачи данных и
операций с битом, байтом, словом и длинным словом. Microengines программируются
микрокодом в символьном виде (рис. 6).
Каждый мicroengine имеет четыре независимых счетчика команд. Это в целом даёт
24 состояния микрокода в отдельном IXP1200 процессоре.
Команды и их выполнение
Каждый Microengine содержит собственную память команд (Program Control Store),
128 регистров общего назначения и 128 регистров передачи. Все Microengines идентичны,
поэтому можно перераспределять функции между ними. Также нет никаких
фиксированных функций для любого из Microengines, потому что они полностью
программируемы.
Microengines работают на основной частоте синхронизации IXP1200 подобно
StrongARM. Все команды Microengines выполняются в одном тактовом цикле.
Microengines сконструированы как микропроцессоры с конвейерной обработкой
информации с пятью стадиями. В первой стадии, инструкции считываются из памяти; на
второй стадии команда декодируется и формируются адреса регистров-источников; в
третьей выбираются операнды из регистров; на четвертой стадии операнды проходят
через ALU (арифметическо-логическое устройство) и в пятой стадии результат
записывается в регистр назначения.