- 1、本文档共106页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第16讲 SOPC入门
指令与数据总线 指令和数据共享的存储器 通常,指令和数据主端口共享含有指令和数据的存储器。当处理器内核使用独立的指令总线和数据总线时,整个Nios II处理器系统对外呈现单一的、共用的指令/数据总线。 说明: 数据和指令主端口从来不会出现一个端口使另一个端口处于等待状态的停滞状况。为获得最高性能,对于指令和数据主端口共享的任何存储器,数据主端口被指定为更高的优先级。 5.8 存储器及I/O结构 高速缓存(Cache) Nios II结构的指令主端口和数据主端口都支持高速缓存。 作为NiosII处理器组成部分的高速缓存在SOPC Builder中是可选的,这取决于用户对系统存储性能以及FPGA资源的使用要求。包含高速缓存不会影响程序的功能,但会影响处理器取指和读/写数据时的速度。 高速缓存改善性能的功效是基于以下前提的: 1.常规存储器位于片外,访问时间比片内存储器要长。 2.循环执行的、最大的,关键性能的指令序列长度小于指令高速缓存。 3.关键性能数据的最大模块小于数据高速缓存。 5.8 存储器及I/O结构 高速缓存(Cache) 例如在以下的情况下高速缓存将无法改善执行速度: Nios II处理器系统只含有快速的片内存储器(即从不访问较慢的片外存储器)。 程序的关键循环是2KB,而指令高速缓存的大小为1KB。 由于性能上的原因,应用程序始终要求某些数据或部分代码存放在高速缓存中,那么紧耦合存储器可能会提供一个更合适的解决方案。 注意:Cache虽然改善了系统的整体性能,但使程序的执行时间变得不可预测。对于实时系统来说这一点至关重要。 5.8 存储器及I/O结构 紧耦合存储器(TCM) 紧耦合存储器(TCM):紧耦合存储器是一种紧挨着内核的快速SRAM,它不仅能改善系统性能,而且保证了装载和存储指令或数据的时间是确定的。紧耦合存储器可向对性能要求严格的应用提供低延迟访问。 Nios II 存储器和I/O结构 紧耦合指令存储器 紧耦合指令存储器 5.8 存储器及I/O结构 紧耦合存储器(TCM) 与高速缓存相比具有的优点: 1.性能类似于高速缓存; 2.软件能够保证将关键性能的代码或数据存放在紧耦合存储器中; 3.代码执行的确定性——装载和存储指令或数据的时间是可预测的。 Nios II 存储器和I/O结构 紧耦合指令存储器 紧耦合指令存储器 5.8 存储器及I/O结构 紧耦合存储器介绍 实际上,紧耦合存储器是Nios II处理器内核上的一个独立的主端口,与指令或数据主端口类似。Nios II结构指令和数据访问都支持紧耦合存储器。Nios II内核可以不包含紧耦合存储器,也可以包含一个或多个紧耦合存储器。每个紧耦合存储器端口直接与具有固定的低延迟的存储器相连,该存储器在Nios II内核的外部,通常使用FPGA片内存储器。 紧耦合存储器与其它通过Avalon交换结构连接的存储器件一样,占据标准的地址空间。它的地址范围在生成系统时确定。 系统在访问指定的代码或数据时,能够使用紧耦合存储器来获得最高性能。例如,中断频繁的应用能够将异常处理代码放在紧耦合存储器中来降低中断延迟。类似的,计算密集型的数字信号处理(DSP)应用能够将紧耦合存储器指定为数据缓存区,实现最快的数据访问。 5.8 存储器及I/O结构 地址映射 在Nios II处理器系统中,存储器和外设的地址映射是与设计相关的,由设计人员在系统生成时指定。这里要特别提到的是3个CPU相关的地址:复位地址、异常地址以及断点处理(break handler)程序的地址。程序员通过使用宏和驱动程序来访问存储器和外设,灵活的地址映射并不会影响应用程序开发人员。 5.8 存储器及I/O结构 5.9 存储器和外设访问 Nios II地址是32位的,允许对4GB地址空间进行访问,但现有的Nios II内核都将地址限制在31位,即2GB地址空间。处理器的数据总线为32位宽度。指令集提供字节,半字(16bit)或字(32位)的读写指令。Nios II结构采用小端模式,对于保存在存储器中的大于8位的数据,最高有效位在高地址。 外设 数据 存储器 程序 存储器 地址空间 未映射 4GB 地址空间 32位宽度 映射 映射 映射 映射到的具体位置在生成系统时确定 对此地址空间的读写将产生一个不确定的值 寻址方式 Nios II结构支持以下寻址方式有: 寄存器寻址:所有的操作数都是寄存器,结果保存在寄存器中 移位寻址:寄存器和带符号的16位立即数相加的结果作为地址 立即数寻址:操作数是指令中的常量 寄存器间接寻址:使用了移位寻址,只是移位值是常量0 绝对寻址:范围有限制的绝对寻址使用带有寄存器r0(它的值始终是0x00)的移位寻址来实现。 5.9 存储器和外设访问 高速缓存访问 Nios II结构和指令
文档评论(0)