1、现代计算机组成原理现代计算机组成原理 潘潘 明明 潘潘 松松 编著编著 第第 9 9 章章3232位位IPIP软核嵌入式系统软核嵌入式系统 9.1 9.1 Nios/NiosIINios/NiosII软核处理器软核处理器 目前最有代表性的软核嵌入式系统处理器分别是目前最有代表性的软核嵌入式系统处理器分别是Altera 的的 Nios 和和 NiosII 核,核,Xilinx 的的 MicroBlaze 核。核。9.2 9.2 NiosNios软核处理器及其设计流程软核处理器及其设计流程 9.2.1 9.2.1 NiosNios处理器处理器 Nios Nios 的主要特性的主要特性 较多的可配置
2、的寄存器。较多的可配置的寄存器。极大的灵活性和系统可扩展性。极大的灵活性和系统可扩展性。功能强大的开发工具。功能强大的开发工具。9.2 9.2 NiosNios软核处理器及其设计流程软核处理器及其设计流程 9.2.2 9.2.2 Nios Nios 处理器内部结构处理器内部结构 图图9-19-1 NiosNios CPU CPU内部结构示意图内部结构示意图 9.2 9.2 NiosNios软核处理器及其设计流程软核处理器及其设计流程 9.2.3 9.2.3 NiosNios系统硬件开发流程系统硬件开发流程 图图9-2 9-2 NiosNios软硬件开发流程图软硬件开发流程图 9.2 9.2 N
3、iosNios软核处理器及其设计流程软核处理器及其设计流程 9.2.4 9.2.4 NiosNios系统软件开发流程系统软件开发流程 1 1获取目标获取目标NiosNios系统系统SDK SDK 2 2建立和编译应用软件建立和编译应用软件 3 3下载可执行代码到开发板下载可执行代码到开发板 4 4调试代码调试代码 5 5代码为自启动代码代码为自启动代码 6 6移植到目标硬件移植到目标硬件 9.2 9.2 NiosNios软核处理器及其设计流程软核处理器及其设计流程 9.2.4 9.2.4 NiosNios系统软件开发流程系统软件开发流程 图图9-3 9-3 NiosNios软件开发流程软件开发
4、流程 9.3 329.3 32位位NiosIINiosII系统设计系统设计 9.3.1 9.3.1 NiosIINiosII系统的优势系统的优势 1 1根据需要实现不同性能组合根据需要实现不同性能组合 可选择的三种处理器内核。可选择的三种处理器内核。数十种数十种NiosIINiosII配备的接口内核。配备的接口内核。无限的无限的DMADMA信道组合。信道组合。可配置的硬件及软件调试特性。可配置的硬件及软件调试特性。2 2良好性能指标良好性能指标 选择多处理器核选择多处理器核选择性能更优秀的选择性能更优秀的FPGA系列支持系列支持NiosII系统系统 用户自定制指令用户自定制指令 硬件加速硬件加
5、速 3 3降低系统成本降低系统成本 9.3 329.3 32位位NiosIINiosII系统设计系统设计 9.3.2 9.3.2 NiosIINiosII系统开发流程系统开发流程 1 1NiosIINiosII硬件开发流程硬件开发流程 2 2NiosIINiosII软件设计流程软件设计流程 3 3NiosNios II II集成开发环境集成开发环境 (1)工程管理器)工程管理器(2)编辑器和编译器)编辑器和编译器(3)调试器)调试器(4)Flash编程器编程器 9.49.4自定制自定制AvalonAvalon总线外设总线外设 1 1AvalonAvalon总线从读(总线从读(Slave Rea
6、dSlave Read)图图9-4 9-4 AvalonAvalon从读传输从读传输 9.49.4自定制自定制AvalonAvalon总线外设总线外设 1 1AvalonAvalon总线从读(总线从读(Slave ReadSlave Read)图图9-5 9-5 AvalonAvalon从读传输时序从读传输时序 9.49.4自定制自定制AvalonAvalon总线外设总线外设 2 2AvalonAvalon总线带总线带1 1个延迟状态从读(个延迟状态从读(Slave ReadSlave Read)图图9-6 9-6 AvalonAvalon带延迟从读传输时序带延迟从读传输时序 9.49.4自定
7、制自定制AvalonAvalon总线外设总线外设 3 3自定制自定制AvalonAvalon从外设从外设 图图9-7 9-7 NiosNios定制外设示意图定制外设示意图 9.5 9.5 DMADMA 图图9-8 9-8 DMADMA外设外设 9.6 9.6 自定制硬件指令自定制硬件指令 图图9-9 9-9 自定制指令逻自定制指令逻辑模块辑模块 9.6 9.6 自定制硬件指令自定制硬件指令 图图9-10 9-10 自定制指令自定制指令逻辑模块接口逻辑模块接口 9.6 9.6 自定制硬件指令自定制硬件指令 表表9-1 9-1 信号线的名称定义信号线的名称定义 信号名称信号名称宽度宽度方向方向描述描述dataa32位(位(Nios32)Input操作数操作数datab32位(位(Nios32)Input操作数(可选)操作数(可选)result32位(位(Nios32)Output运算结果运算结果clk1InputCPU主时钟主时钟reset1InputCPU复位复位clk_en1Input时钟有效信号时钟有效信号start1Input操作启动信号操作启动信号prefix11Input预装载预装载K寄存器值寄存器值9.6 9.6 自定制硬件指令自定制硬件指令 图图9-11 59-11 5clkclk周期的自定制指令操作时序周期的自定制指令操作时序