- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NiosII CPU的结构与编程模型NiosII CPU属于典型的RISC CPU,其特点是:结构简洁、指令集简练、指令等长、具有大量的通用寄存器。下图为NiosII的结构框图。 ? NiosII CPU由若干基本模块和一系列可选模块构成。基本模块包括:ALU、程序控制器、地址发生器、中断控制器、寄存器组等;可选模块有:Jtag调试器、用户指令逻辑、指令Cache、数据Cache等。NiosII 共有39个工作寄存器,包括32个通用寄存器,5个控制器存器,1个CPUID寄存器、1个PC指针寄存器,每个寄存器都是32位的寄存器,都可以做32位的操作。NiosII的32个通用寄存器,除R0外都可做为累加器进行各种算术、逻辑运算。R0 为0值寄存器,对其进行读操作返回值是0,写操作对其没有影响,这一寄存器在指令集中有特殊的应用。R24是中断处理程序专用寄存器,它是给中断处理程序专用的,虽然在用户程序中许访问,但不要用来保存数据,因为其中数据有可能被中断处理程序覆盖掉。同样,R25是调试代理专用寄存器,也不要在用户程序中使用。R29是PC指针的中断堆栈寄存器,当有中断发生时,这一寄存器用来保留一个返回地址,以便从中断处理程序返回到被中断的程序。R30是PC指针的断点堆栈寄存器,用于系统调试。当程序运行过程中遇到断点,这一寄存器中保留一个返回地址,以便从调试代理程序返回。R31是PC指针的调用堆栈,用于子程序调用。执行子程序调用指令时,这一寄存器中保留返回地址,以便从子程序返回。R26、R27、R28在C开发系统中付予了一些特殊的应用,其中R27被作堆栈指针。NiosII 有5个控制寄存器和一个CPUID寄存器。Ctl0是程序状态字,目前只有BIT0、BIT1两位是有效的,高30位保留。BIT0是全局中断控制位,用于中断的全局管理,1为允许,0为禁止。BIT1是工作模式控制位。当这一位为1时,系统工作于用户模式,当其为0时,系统工作于管理模式。Ctl1又叫estatus寄存器,是Ctl0的一个堆栈寄存器。当系统发生中断时,其中保留一个Ctl0的副本,以便从中断处理程序返回时恢复现场。Ctl2也叫bstatus,是Ctl0的另一堆栈寄存器。当有断点发生时,该寄存器中保留Ctl0的副本,用于从调方式代理返回时恢复现场。Ctl3是中断控制寄存器,用于控制外部中断申请的输入。每一位对应一个外部中断源,1表示允许,0表示禁止,共计32位。Ctl4是中断请求寄存器,代表外部中断源和中断请求,1为有中断请求,0为没有中断请求,共计32位。Ctl5也称为CPUID,是CPU的一个标识,在多CPU系统作为CPU的代号。NiosII CPU 有三种工作模式:1、 ? Supervisor Mode2、 ? User Mode3、 ? Debug Mode? Supervisor Mode 也叫特权模式。在这种模式下,所有的系统资源都是可以访问的,不受任何的限制。一般来说,这种工作模式是给操作系统内核准备的。在有操作系统的应用中,往往是操作系的内核工作在特权模式,而应用程序工作在用户模式。对于比较简单的应用来说,也可以直接让应用程序工作在特权模式。在特权模式下,通用寄器组中的R25和R30是允许访问的,然而在实际应用中不要使用这两个寄存器,因为这两个寄存器是系统留给Debug模式专用的,其中的数据有可能会被调试代理程序覆盖掉。同样,Ctl2也是不能使用的。? User Mode 是用户模式。这种模式相当于特权模式的一个子集,在这种模式下某些资源的访问上是受限的,如果试图访问这些资源,将会产生一个中断。在用户模式下,CPU的控制寄存器是不允许访问的,另外,通用寄存器组中的R24、R25、R29、R30 虽然是可以访问,但其中的数据有可能被特权模式或调试模式所修改,因此是不能用的。? Debug Mode 是给调试器准备的工作模式,一般的系统程序或应用程序无法在这一模式下运行。系统在遇到断点指令或接到来自Jtag Debug Module的打断信号时会进入这一工作模式。在这种工作模式下,所有的系统资源都是可以访问的。NiosII的总线结构为哈佛结构,但指令空间与数据空间统一编址,总计4GB的地址空间, 总线宽度为32bit,信号及时序遵循Avalon总线规范。NiosII支持32个外部中断请求。这32个外部中断请求分为32个优先级,请求号越小,优先级越高。外部中断请求由两个专用寄存器管理,Ctl3为控寄存器,Ctl4为请求寄存器。NiosII的所有中断都从同一地址进入中断处理程序。在中断处理程序中,用软件的方式区分中断源,并用软件的方式维护一个中断向量表,所以,在这一点上NiosII的处理效率不如复杂指令集CPU,对于
您可能关注的文档
最近下载
- NB∕T 47010-2017 承压设备用不锈钢和耐热钢锻件(高清版).pdf VIP
- 车辆风险预警方法、路侧控制单元及风险预警控制系统.pdf VIP
- 2025年版《中文核心期刊要目总览》.docx VIP
- 密码学基础-密码学.ppt VIP
- 中国国家标准 GB/T 4706.1-2024家用和类似用途电器的安全 第1部分:通用要求.pdf
- 灯具安装技术交底1.docx VIP
- 乙烯三机:发展与未来.pptx VIP
- NB/T 47008-2017 承压设备用碳素钢和合金钢锻件.pdf VIP
- 密钥管理与密钥分配现代密码学.ppt VIP
- 初中信息技术校本课程《遨游3D世界,利用三维设计软件制作创意作品》教案.doc VIP
文档评论(0)