目录
1. NIOS II 处理器架构
采用哈佛结构,数据总线和指令总线分开。
为提高整体性能,NIOS II内核不仅可以集成数据cache和指令cache,还带有紧耦合存储器TCM接口。TCM可以提高处理器性能,也可以获得可预测的实时响应。
NIOS II把外部硬件的中断交给中断控制器管理,内核异常事件交给异常控制器管理。
支持两种复位信号,reset, cpu_resetrequest:reset是一个强制处理器核立即进入复位状态的全局硬件复位信号。cpu_resetrequest是一个可以让CPU复位但不影响NIOS II系统其它外设的局部复位信号。
CPU复位后,NIO II处理器将执行以下操作:
1)清楚状态寄存器status,使之为0X0;(目的是为了使处理器进入超级用户模式并禁止赢硬件中断)
2)指令cache与程序存储器的关联被置为无效,处理器从固态程序存储器(比如falsh)中的reset地址处获取第一条指令;
3)从复位地址处开始执行程序。(复位地址在系统生成时指定)
2.NIOS II 3中运行模式
用户模式、超级用户模式、调试模式。
用户模式时超级用户模式功能访问的一个子集,它不能访问控制寄存器和一些通用寄存器。
超级用户模式,除了不能访问与调试有关的寄存器(bt, ba, bstatus)外,无其它访问限制。通常系统程序代码运行在此模式下。
调试模式拥有最大的访问权限,可以无限制地访问所有的功能模块。
3. 寄存器文件
NIOS II 的寄存器文件包括32个通用寄存器和6个控制寄存器,NIOS II结构允许将来添加浮点寄存器。
6个控制寄存器,它们的读写访问只能在超级用户模式(supervisor model)由专用的控制寄存器读写指令(rdctl wrctl)实现。
status 状态寄存器:
PIE- 外设中断允许位:1表示允许外设中断,0表示禁止外设中断;
U- 反应计算机当前状态:1表示处于用户态,0表示处于超级用户态。
estatus、bstatus 都是status寄存器的影子寄存器:
发生断点或者异常时,保存status寄存器的值;
端点或异常处理返回时,恢复status寄存器的值。
ienable:中断允许寄存器,每一位控制一个中断通道,例如:
第0位为1,表示允许第0号中断发生;
第0位为0,表示禁止第0号中断发生。
ipending 中断发生标志位,每一位反应一个中断发生,例如:
第0位为1,表示第0号中断发生;
第0位为0,表示第0号中断未发生。
cpuid 此寄存器中装在着处理器的ID号,该ID号在生成NIOS II 系统时产生可作为多处理器系统分辨CPU的标识。
4. 异常和中断处理
中断控制器,NIOS II支持32个外部硬件中断。
异常控制器,包含软件陷阱异常、未定义指令异常及其它异常。软件陷阱异常是需要操作系统服务时常用到,操作系统的异常处理程序判断产生软件陷阱的原因,然后执行相应任务。
当异常发生后,处理器将依次完成以下工作:
5. 高速缓冲cache
6. 紧耦合存储器TCM
版权声明:本文为CSDN博主「weixin_530406653」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41155462/article/details/121854628
目录
1. NIOS II 处理器架构
采用哈佛结构,数据总线和指令总线分开。
为提高整体性能,NIOS II内核不仅可以集成数据cache和指令cache,还带有紧耦合存储器TCM接口。TCM可以提高处理器性能,也可以获得可预测的实时响应。
NIOS II把外部硬件的中断交给中断控制器管理,内核异常事件交给异常控制器管理。
支持两种复位信号,reset, cpu_resetrequest:reset是一个强制处理器核立即进入复位状态的全局硬件复位信号。cpu_resetrequest是一个可以让CPU复位但不影响NIOS II系统其它外设的局部复位信号。
CPU复位后,NIO II处理器将执行以下操作:
1)清楚状态寄存器status,使之为0X0;(目的是为了使处理器进入超级用户模式并禁止赢硬件中断)
2)指令cache与程序存储器的关联被置为无效,处理器从固态程序存储器(比如falsh)中的reset地址处获取第一条指令;
3)从复位地址处开始执行程序。(复位地址在系统生成时指定)
2.NIOS II 3中运行模式
用户模式、超级用户模式、调试模式。
用户模式时超级用户模式功能访问的一个子集,它不能访问控制寄存器和一些通用寄存器。
超级用户模式,除了不能访问与调试有关的寄存器(bt, ba, bstatus)外,无其它访问限制。通常系统程序代码运行在此模式下。
调试模式拥有最大的访问权限,可以无限制地访问所有的功能模块。
3. 寄存器文件
NIOS II 的寄存器文件包括32个通用寄存器和6个控制寄存器,NIOS II结构允许将来添加浮点寄存器。
6个控制寄存器,它们的读写访问只能在超级用户模式(supervisor model)由专用的控制寄存器读写指令(rdctl wrctl)实现。
status 状态寄存器:
PIE- 外设中断允许位:1表示允许外设中断,0表示禁止外设中断;
U- 反应计算机当前状态:1表示处于用户态,0表示处于超级用户态。
estatus、bstatus 都是status寄存器的影子寄存器:
发生断点或者异常时,保存status寄存器的值;
端点或异常处理返回时,恢复status寄存器的值。
ienable:中断允许寄存器,每一位控制一个中断通道,例如:
第0位为1,表示允许第0号中断发生;
第0位为0,表示禁止第0号中断发生。
ipending 中断发生标志位,每一位反应一个中断发生,例如:
第0位为1,表示第0号中断发生;
第0位为0,表示第0号中断未发生。
cpuid 此寄存器中装在着处理器的ID号,该ID号在生成NIOS II 系统时产生可作为多处理器系统分辨CPU的标识。
4. 异常和中断处理
中断控制器,NIOS II支持32个外部硬件中断。
异常控制器,包含软件陷阱异常、未定义指令异常及其它异常。软件陷阱异常是需要操作系统服务时常用到,操作系统的异常处理程序判断产生软件陷阱的原因,然后执行相应任务。
当异常发生后,处理器将依次完成以下工作:
5. 高速缓冲cache
6. 紧耦合存储器TCM
版权声明:本文为CSDN博主「weixin_530406653」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41155462/article/details/121854628
暂无评论