《精编》NIOSⅡ处理器体系结构研讨

上传人:tang****xu5 文档编号:133417889 上传时间:2020-05-27 格式:PPT 页数:45 大小:820KB
返回 下载 相关 举报
《精编》NIOSⅡ处理器体系结构研讨_第1页
第1页 / 共45页
《精编》NIOSⅡ处理器体系结构研讨_第2页
第2页 / 共45页
《精编》NIOSⅡ处理器体系结构研讨_第3页
第3页 / 共45页
《精编》NIOSⅡ处理器体系结构研讨_第4页
第4页 / 共45页
《精编》NIOSⅡ处理器体系结构研讨_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《《精编》NIOSⅡ处理器体系结构研讨》由会员分享,可在线阅读,更多相关《《精编》NIOSⅡ处理器体系结构研讨(45页珍藏版)》请在金锄头文库上搜索。

1、SOPC技术基础教程 NIOS 处理器体系结构 授课教师 孔庆臣 NIOS 处理器的特点 1 NIOS 处理器采用流水线技术 单指令流的32位通用RISC处理器2 提供全32位的指令集 数据总线和地址总线3 提供32个通用寄存器4 提供32个外部中断源5 提供结果为32位的单指令32X32乘除法6 提供专用指令计算结果为64位和128位的乘法7 可以定制单精度浮点计算指令8 单指令桶形移位寄存器9 对各种片内外设的访问及与片外外设和存储器的接口10 硬件辅助的调试模块 在IDE环境下 可完成开始 停止 断点 单步执行 指令跟踪等基本调试和高级调试功能11 基于GNUC C 工具集和Eclips

2、eIDE的软件开发环境12 ALTERA公司的SignalTap 逻辑分析仪 实现对指令 数据 FPGA设计中的逻辑信号进行实时分析13 所有NISO 处理器均兼容的指令系统14 高达218DMIPS的性能 NIOS 处理器的体系结构 NIOS 处理器是一种软核处理器 可配置性是其最大特点 NiosII 32位软核处理器 NiosII f 快速 NiosII e 经济 NiosII s 标准 平衡了逻辑资源占用和性能 NIOS 处理器的体系结构 地址发生器 程序控制器 异常控制器 中断控制器 通用寄存器 r0 r31 控制寄存器 ctl0 ctl5 指令 Cache 数据 Cache 算术逻辑

3、单元 ALU 用户定制指令逻辑 JTAG调试模块 NiosII处理器核 紧耦合 指令存储器 紧耦合 指令存储器 紧耦合 数据存储器 紧耦合 数据存储器 指令总线 数据总线 clock reset 软件调试JTAG接口 中断源 0 31 用户IO信号 cpu resetrequest cpu resettaken 提高系统性能 NIOS 采用哈佛结构 指令总线 数据总线分开 方便用户调试 集成了JTAG调试模块 提高系统性能 支持用户定制指令 方便指令集扩展 支持用户定制指令 方便指令扩展 提升系统性能 支持用户定制指令 方便指令扩展 提升系统性能 提高系统性能 集成了指令Cache 数据Cac

4、he 紧耦合存储器 TCM 接口 提高系统性能 集成指令Cache 数据Cache 紧耦合存储器 TCM 接口 异常控制器处理内核异常事件 中断控制器处理外部硬件中断事件 寄存器文件包括32个通用寄存器和6个控制寄存器 允许添加浮点寄存器 NIOS 处理器的体系结构 地址发生器 程序控制器 异常控制器 中断控制器 通用寄存器 r0 r31 控制寄存器 ctl0 ctl5 指令 Cache 数据 Cache 算术逻辑单元 ALU 用户定制指令逻辑 JTAG调试模块 NiosII处理器核 紧耦合 指令存储器 紧耦合 指令存储器 紧耦合 数据存储器 紧耦合 数据存储器 指令总线 数据总线 clock

5、 reset 软件调试JTAG接口 中断源 0 31 用户IO信号 cpu resetrequest cpu resettaken NIOS 处理器核采用硬件实现 实现指令集并支持各功能模块的工作 处理器核不包含外设和接口逻辑 NIOS 体系结构定义了指令集 但并不是特定的硬件实现 体系结构中的各功能模块可由硬件实现 软件实现 也可省去一个NIOS 实现是根据设计要求得到的一个特定的NIOS 处理器核 实现方案体现了NIOS 软核的可配置性 或多或少 如增加或减小缓存的大小要或不要 如选择不采用JTAG调试模块硬件实现或软件模拟 如硬件乘法器的取舍 NIOS 处理器的体系结构 地址发生器 程序

6、控制器 异常控制器 中断控制器 通用寄存器 r0 r31 控制寄存器 ctl0 ctl5 指令 Cache 数据 Cache 算术逻辑单元 ALU 用户定制指令逻辑 JTAG调试模块 NiosII处理器核 紧耦合 指令存储器 紧耦合 指令存储器 紧耦合 数据存储器 紧耦合 数据存储器 指令总线 数据总线 clock reset 软件调试JTAG接口 中断源 0 31 用户IO信号 cpu resetrequest cpu resettaken NIOS 处理器的体系结构 NIOS 处理器的算术逻辑单元 ALU 对通用寄存器的数据进行操作 ALU从寄存器中取出操作数 运算结果放回寄存器中 ALU

7、支持的运算 NIOS 处理器的体系结构 未实现指令 NIOS 处理器核未提供硬件乘除法器的实现 当处理器遇到未实现指令时 处理器会产生一个异常 异常管理器会调用相应程序用软件模拟未实现指令的操作 NIOS 处理器对未实现指令的处理对程序员是透明的 用户定制指令 NIOS 处理器的ALU直接与用户定制指令逻辑相连 对用户定制指令的访问等同于系统指令集的指令 浮点指令 NIOS 支持符合IEEESTD754 1985规范的单精度浮点指令 浮点指令以用户定制指令的方式实现 NIOS 处理器的体系结构 地址发生器 程序控制器 异常控制器 中断控制器 通用寄存器 r0 r31 控制寄存器 ctl0 ct

8、l5 指令 Cache 数据 Cache 算术逻辑单元 ALU 用户定制指令逻辑 JTAG调试模块 NiosII处理器核 紧耦合 指令存储器 紧耦合 指令存储器 紧耦合 数据存储器 紧耦合 数据存储器 指令总线 数据总线 clock reset 软件调试JTAG接口 中断源 0 31 用户IO信号 cpu resetrequest cpu resettaken NIOS 处理器的体系结构 NIOS 处理器定义了32个32位通用寄存器 r4 r7 用来传递4个非浮点参数给一个子程序 r4传递第一个参数 r5传递第二个参数 以此类推 若四个寄存器不够传递参数 编译器将通过堆栈来传递 r8 r15

9、习惯上 子程序可以使用其中的值而不用保存它们 但调用者必须清楚 这些寄存器中的值可能被一次子程序调用改变 所以调用者有责任保存它们 r0或zero 总是存放0值 写无效 NiosII无清零指令 常用r0对寄存器清零 r1或at 在汇编程序中常用作临时变量寄存器 r2 r3 用于存放子程序的返回值 r16 r23 习惯上 子程序必须保证这些寄存器中的值在调用前后保持不变 即要么在子程序执行时不使用它们 要么使用前把它们保存在堆栈中并在退出时恢复 r24或et 在异常处理时使用 使用时 可以不恢复原来的值 该寄存器很少用作其它用途 r25或bt 在程序断点处理时使用 使用时 可以不恢复原来的值 该

10、寄存器很少作其它用途 r26或gp 全局指针 指向静态数据区中一个运行时临时决定的地址 存取位于gp值上下32KB范围内的数据时 只需要一条以gp作为基指针的指令即可完成 r27或sp 堆栈指针 NiosII没有专门的出栈 POP 入栈 PUSH 指令 在子程序入口处 sp指向栈底部 以sp为基址 用寄存器基址 偏移地址的方式来访问栈中的数据 r28或fp 帧指针 习惯上用于跟踪栈的变化和维护运行环境 r29或ea 保存异常处理时的程序返回地址 r30或ba 保存程序断点处理的程序返回地址 r31或ra 保存子程序调用的返回地址 NIOS 处理器的体系结构 地址发生器 程序控制器 异常控制器

11、中断控制器 通用寄存器 r0 r31 控制寄存器 ctl0 ctl5 指令 Cache 数据 Cache 算术逻辑单元 ALU 用户定制指令逻辑 JTAG调试模块 NiosII处理器核 紧耦合 指令存储器 紧耦合 指令存储器 紧耦合 数据存储器 紧耦合 数据存储器 指令总线 数据总线 clock reset 软件调试JTAG接口 中断源 0 31 用户IO信号 cpu resetrequest cpu resettaken NIOS 处理器的体系结构 NIOS 处理器定义了6个32位控制寄存器控制寄存器的访问不同于通用寄存器 控制寄存器的读 写访问只能在超级用户模式 SupervisorMod

12、e 采用专用的控制寄存器读 写指令 rdctl和wrctl 实现 status 状态寄存器 只有第1位和第0位有意义 第1位U 反映处理器当前状态1 表示处于用户态 User mode 0 表示处于超级用户态 SupervisorMode 第0位PIE 处理器中断允许位 1 表示处理器允许外设中断0 表示处理器禁止外设中断PIE为1时 中断是否被处理还要看ienable寄存器的值 estatus bstatus status寄存器的影子寄存器 发生断点或者异常时 保存status寄存器的值 断点或异常处理返回时 恢复status寄存器的值 estatus用于异常处理时 bstatus用于断点调

13、试时 ienable 中断允许寄存器 每一位控制一个中断通道 例如 第0位为1 表示允许第0号中断发生 第0位为0 表示禁止第0号中断发生 Ipending 中断发生标志寄存器 每一位反映一个中断发生 例如 第0位为1 表示第0号中断发生 第0位为0 表示第0号中断未发生 cpuid 此寄存器中装载着处理器的id号 该id号在生成NiosII系统时产生 Id号在多处理器系统中可以作为分辨处理器的标识 NIOS 处理器的体系结构 地址发生器 程序控制器 异常控制器 中断控制器 通用寄存器 r0 r31 控制寄存器 ctl0 ctl5 指令 Cache 数据 Cache 算术逻辑单元 ALU 用户

14、定制指令逻辑 JTAG调试模块 NiosII处理器核 紧耦合 指令存储器 紧耦合 指令存储器 紧耦合 数据存储器 紧耦合 数据存储器 指令总线 数据总线 clock reset 软件调试JTAG接口 中断源 0 31 用户IO信号 cpu resetrequest cpu resettaken NIOS 处理器的存储器和I O结构 NIOS 处理器的体系结构 程序计 数器 通用寄 存器文 件 指令 总线 选择 逻辑 数据 总线 选择 逻辑 指令 高速 缓存 数据 高速 缓存 紧耦合指令 存储器 1 紧耦合数据 存储器 1 紧耦合指令 存储器 N 存 储 器 从 外 设 紧耦合数据 存储器 N

15、S M S M Avalon 转换结构 NiosII处理器内核 S M Avalon 从端口 Avalon 主端口 NiosII内核访问存储器和I O的方式 1 指令主端口2 指令高速缓存3 数据主端口4 数据高速缓存5 紧耦合指令或数据存储器端口 NIOS 处理器的体系结构 程序计 数器 通用寄 存器文 件 指令 总线 选择 逻辑 数据 总线 选择 逻辑 指令 高速 缓存 数据 高速 缓存 紧耦合指令 存储器 1 紧耦合数据 存储器 1 紧耦合指令 存储器 N 存 储 器 从 外 设 紧耦合数据 存储器 N S M S M Avalon 转换结构 NiosII处理器内核 S M Avalon

16、 从端口 Avalon 主端口 NiosII内核访问存储器和I O的方式 NIOS 体系结构采用哈佛结构 指令总线和数据总线分开指令总线和数据总线均为遵循Avalon主端口规范的主端口数据主端口可连接存储器和外设指令主端口只连接存储器 NIOS 处理器的体系结构 程序计 数器 通用寄 存器文 件 指令 总线 选择 逻辑 数据 总线 选择 逻辑 指令 高速 缓存 数据 高速 缓存 紧耦合指令 存储器 1 紧耦合数据 存储器 1 紧耦合指令 存储器 N 存 储 器 从 外 设 紧耦合数据 存储器 N S M S M Avalon 转换结构 NiosII处理器内核 S M Avalon 从端口 Avalon 主端口 NiosII内核访问存储器和I O的方式 字 小端模式 高地址 低地址 存储器与外设的访问 Nios 体系结构提供映射为存储器的I O访问 数据存储器和外设都被映射到数据主端口的地址空间 NIOS 体系结构采用小端方式 高字节放高地址 低字节放低地址 NIOS 处理器的体系结构 程序计 数器 通用寄 存器文 件 指令 总线 选择 逻辑 数据 总线 选择 逻辑 指令 高速 缓存 数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号