转自:http://www.21ic.com/news/html/257/show27815.htm
Altera公司的NiOSⅡ微处理器软核和Xilinx公司的MicroBlaze微处理器软核都是32位哈佛结构的RISC处理器,数据和地址总线是分开的。两种处理器软核都包含有ALU算术逻辑单元、程序计数器、通用寄存器、指令Cache和数据Cache,以及可选的乘法器、除法器等硬件。这两个微处理器软核通常利用片上存储器与高速的系统总线连接,此外又有外设总线。由于是哈佛结构,所以系统总线和外设总线的数据和指令通道是分开的。下表给出了 NiOSⅡ与 MicroBlaze微处理器核特性的比较。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
| NiOSⅡ | MicroBlaze | ||||||||
总线 形式 | Avalon Swich (多种传输方式) | Avalon Chanel TCM (指令/数据) | FSL | |||||||
LMB总线 | OPB总线 | |||||||||
自动生成仲裁、地址译码、总线尺寸、等待状态和中断等 | 快速 | 标准 | 经济 | 指令 | 数据 | 指令 | 数据 | |||
4/4 | 4/0 | 0/0 | 可选 | 可选 | 可选 | 必备 | ||||
流水 | 快速:6级;标准:5级;经济:无 | 3级 | ||||||||
寻址 范围 | Flash Other Peripheral SDRAM System Memory | 0x0~0x000400000400 000~800000 800000~1000000 >1000000 | 32位寻址 范围从x00000000~xFFFFFFFF | |||||||
内部存储器限制 | 经济:2个M4K 标准:2个M4K+ Cache 快速:3个M4K+ Cache | 分配LMB的地址空间受BRAM数量限制 分配到OPB的每个例示于BRAM外设映射受限制 | ||||||||
专用 地址 | 在“exception location”中编码所有的例外进程 复位(必须在闪存)、例外和断点 例外包括:硬件中断、软件例外 | x00000000~ x00000018必为用户写 复位:0x00000000 中断:0x00000008 例外:0x00000010 | ||||||||
寄存器 | 通用(16) R0:0x00000000 R1:汇编暂存 R2、R3:返回值 R4~R7:寄存器幅度 R8~R15:保存调用 | 控制(16) R24:et 例外暂存 R25:bt 断点暂存 R26:gp 全局指针 R27:sp 堆栈指针 R28:fp 帧头指针 R29:ea 例外返址 R30:ba 断点返址 R31:ra 返回地址 | 专用 R0:0x00000000 R1:堆栈指针 R2:R/O R13:R/W R14:中断返址 R15:子程序返址 R16:诊断返址 R17:例外返址 R18:保留 | 易失 R3 ~R12 非易失 R19~R31
程序计数器 PC 主机状态寄存器 MSR
| ||||||
软件工具 | NiOSⅡIDE 产生硬件抽象层(HAL)库包括: 器件驱动程序、初始化软件、文件系统、stdio stderr | GNU 交叉编译GCC(mb-gcc)C转汇编 汇编器AS:汇编转目标码 链接器LD:目标码转可执行.elf 链接脚本linker script: 控制链接过程 | ||||||||
诊断 | 无诊断+ 4级诊断 | XMD/GNU Debugger-GDB |
文章评论(0条评论)
登录后参与讨论