Electronic Joint Business

Solution for E-Business

将 GCC 工具链迁移到 Moxie 处理器上 (一)— Moxie 处理器架构

Moxie 是一种通用的、采用双端地址格式(Bi-Endian, 也叫大小端,即允许在大端和小端两种地址格式之间切换) 和加载/存储架构的处理器。所谓加载/存储架构也称为寄存器到寄存器架构。在 Moxie 架构中,所有算术运算都要从可寻址寄存器中获得操作数,并将生成的结果送往可寻址寄存器。存储器和寄存器间通信需要通过独立的”加载”和”存储”操作。加载/存储概念是 RISC 体系结构的基本理念之一。 Moxie 处理器有 16 个 32 位通用寄存器和完整的指令集体系架构(ISA — Instruction Set Architecture) ,它最早的设计目的是为 GNU 工具链提供一个假想目标(target),后来演化出许多监管级别指令(supervisor level)以满足运行诸如 RTEMS 这类实时操作系统(RTOS)的需要。1 大多数 moxie 指令长度是 16 位,再加上额外的 16 位或 32 位立即数,最终生成了 32 位或 48 位指令。之所以在固定宽度的 RISC 实现中混入了可变宽度指令架构,是为了优化指令内存带宽,这是影响许多 FPGA 应用性能的关键制约因素。 一、Moxie 寄存器 Moxie 定义了以下 16个 32位寄存器: $fp 帧指针 $sp 栈指针 $r0 – $r13 一共 […]

,

Comments are currently closed.