nios ii 系统架构

目录

1. NIOS II 处理器架构

​2.NIOS II 3中运行模式

3. 寄存器文件

4. 异常和中断处理

5. 高速缓冲cache

6. 紧耦合存储器TCM


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 处理器架构

​2.NIOS II 3中运行模式

3. 寄存器文件

4. 异常和中断处理

5. 高速缓冲cache

6. 紧耦合存储器TCM


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

生成海报
点赞 0

weixin_530406653

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

nios ii 系统架构

目录 1. NIOS II 处理器架构 ​2.NIOS II 3中运行模式 3. 寄存器文件 4. 异常和中断处理 5. 高速缓冲cache 6. 紧耦合存储器TCM 1. NIOS II 处理器架构 采用哈佛结构,数据

蓝桥杯之DS18B20

1、显示整数  #include #include //***************定义DS18B24引脚************* sbit DQP1^4; //*********

Arduino入门教程

Arduino编译环境下载 当前最新版ArduinoIDE 下载地址: Software | Arduino 认识Arduino IDE 点亮13号引脚的LED灯,持续一秒,然后灭掉,再持续一秒

ESP8266 ds18b20温度传感器

先到GitHub上下载库OneWire和DallasTemperature 下载好的例程,此程序是arduino上的例程,可以修改引脚为ESP8266的引脚 // Include the libraries we