Nios嵌入式处理器CPU结构与性能分析.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

Nios嵌入式处理器的CPU结构

大学

:Nios嵌入式处理器是Altera公司推出的新产品,作为Nios嵌入式处理器的

的NiosCPU耦合多种重要技术,极大程度地提高了系统的效率和性能。使

Nios嵌入式处理器成为同类产品中的佼佼者。

关键字:Nios嵌入式处理器;CPU

1引言

Altera公司推出的新产品3.0版Nios嵌入处理器(亦可称为Nios嵌入式软核处理

器)是基于RISC技术,由用户自己配置参数的嵌入式软核处理器。有较好的灵活

性,可操作性和强大的处理能力。它完全支持Altera新的StratixTM可编程器件

(PLD)系列。与2.2版的Nios嵌入处理器相比,新版本的处理器进行了全面优化,

充分利用了Stratix器件的TriMatrixTM片器、高性能互连和嵌入数字信号

(DSP)模块。新版本的Nios软核嵌入处理器可运行在125MHz以上,利用Stratix

器件系列的高速MultiTrackTM互连,性能超过其他产品。

用户使用Nios嵌入式处理器,并结合SOPO(System-On-Progrble-Chip)

Builder技术,就可以自行设计具有处理器功能的系统。我们把使用上述技术设计

的系统称为基于Nios处理器的系统(如Altera公司推出的StratixTM可编程逻辑器

件)。

2NiosCPU结构

NiosCPU是基于RISC技术的微处理器。采用结构,拥有高效的流水线操作技

术,应用于Nios嵌入式处理器中,可完成多种任务,如脱片执

表152位与16位NOSCPU对比

NiosGPU

32位

16位

数据总线(位)

32

16

ALU(位)

32

16

寄存器(位)

32

16

地址总线(位)

32

16

指令(位)

16

16

行少量程序,产生有效时序等。Altera公司现已推出16位和32位两种CPU。两者

的比较如表1所示。

2.1指令集

NiosCPU的指令经过精选,所有指令长度都相同。大多数指令都能在一个机器周期

内执行完。指令集包含一套完整的算术逻辑运算,支持位操作、数据移动、字节扩

展、条件执行等基本操作。优化后的指令集可以有效的调用AlteraFPGAs,一方面

通过较大程度的提高时钟频率,提高工作效率。另一方面尽可能少使用

LE(LogicElement)和器,以提高资源使用效率。指令集还了简洁的器界

面和灵活的寻址方式,从而减少存取时间。

2.2寄存器堆

根据RISC技术原理,大量的计算都在NiosCPU的ALU高速寄存器中执行,由编译

器产生、分配、优化寄存器的使用。从而在不器的情况下简化流水线结构,

使指令周期降到最小。除此之外,32位NiosCPU还设计了32位通用寄存器组,控

制寄存器组,程序计数器和K寄存器。其中通用寄存器组分为:包括128、256和

512个寄存器3种情况。具体大小可由用户根据实际需要选择。用户通过软件控制

寄存器组,按滑窗的方式进行存取。滑窗由32个寄存器构成,每4个寄存器一组。

存取时窗口每次滑过待取信息的16个寄存器。滑窗可以在上下文间快速切换,

加快子程序的调用、返回。

指令PEX或PEXIO直接从IMM1(见注1)域中给K寄存器设置一个11位的非零

值作为寻址偏移量(见注2),而执行其余任一条指令都会将其清

零。K寄存器可以由软件间接控制。举个例子来说,可以用MOVI指令从K寄存器

中非零值,并将其存入寄存器的15..5位中。需要说明的是,这种对K寄存器

的操作,只能一条指令为PEX,并由其产生一个非零值时有效。

寄存器堆中还有5个与通用寄存器相独立的,已经被定义好的控制寄存器。指令

RDCTL、WCTL可唯一的对控制寄存器进行读写操作。

2.3高速缓存

NiosCPU设有数据缓存和指令缓存。数据缓存用于被的数据。Nios

CPU用直接映射的方法,在条件满足的情况下,直接从数据缓存中所需数据,

而不用器。这种方法的原理就是用所数据的器地址的低位(low

bits)选择高速缓存行(cac

文档评论(0)

136****1820 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档