- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、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 Mode
2 、 User Mode
3、 Debug Mode
Supervisor Mode 也叫特权模式。在这种模式下,所有的系统资源都是可以访问的,不受任何
的限制。一般来说,这种工作模式是给操作系统内核准备的。在有操作系统的应用中, 往往是操
作系的内核工作在特权模式, 而应用程序工作在用户模式。
文档评论(0)