标签:
无标签
转自:http://www.21ic.com/news/html/257/show27815.htm
Altera公司的NiOSⅡ微处理器软核和Xilinx公司的MicroBlaze微处理器软核都是32位哈佛结构的RISC处理器,数据和地址总线是分开的。两种处理器软核都包含有ALU算术逻辑单元、程序计数器、通用寄存器、指令Cache和数据Cache,以及可选的乘法器、除法器等硬件。这两个微处理器软核通常利用片上存储器与高速的系统总线连接,此外又有外设总线。由于是哈佛结构,所以系统总线和外设总线的数据和指令通道是分开的。下表给出了 NiOSⅡ与 MicroBlaze微处理器核特性的比较。
|
|
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 |
系统分类:
虚拟仪器 | 用户分类:
FPGA | 来源:
转贴 | 【推荐给朋友】 | 【添加到收藏夹】