第1节 用户定制指令

第1节 用户定制指令

ID:9940384

大小:727.40 KB

页数:17页

时间:2018-05-16

第1节 用户定制指令_第1页
第1节 用户定制指令_第2页
第1节 用户定制指令_第3页
第1节 用户定制指令_第4页
第1节 用户定制指令_第5页
资源描述:

《第1节 用户定制指令》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、使用AlteraNiosII嵌入式处理器,系统设计者可以通过添加定制指令到NiosII指令集中,来加速处理对时间要求苛刻的软件算法。使用定制指令,用户可以将一个包含多条标准指令的指令序列减少为硬件实现的一条指令。用户可以在很多的应用中使用这个特性,例如,优化数字信号处理的软件的内部循环、信息包头的处理和计算密集的应用。NiosII配置向导提供了图形化的用户界面用来添加多达256的定制指令到NiosII处理器。定制指令逻辑直接连接到NiosII算术逻辑单元(ALU),如图8-1所示。本节包括如下的内容:       NiosII定制指令的特性。       实现定制指令的软硬件要求。

2、       定制指令的体系结构类型的定义。8.1.1定制指令综述       使用NiosII定制指令,用户可以利用FPGA的灵活性来满足系统性能的需要。定制指令允许用户添加定制功能到NiosII处理器的ALU。       NiosII定制指令是在处理器的数据路径上与ALU紧邻的定制逻辑模块。定制指令提供给用户通过裁剪NiosII处理器内核来满足特定应用需求的能力。用户具有将软件算法转化成定制的硬件逻辑模块来进行加速处理的能力。因为,很容易改变基于FPGA的NiosII处理器的设计,在设计过程中定制指令提供了简单的方法来测试软硬件的权衡。       图8-2是NiosII定制

3、指令的硬件结构图。NiosII定制指令逻辑的基本操作是从dataa和/或datab端口接收输入,在result端口驱动输出,输出是由用户生成的定制指令逻辑产生的。       NiosII处理器支持不同的定制指令体系结构类型。图8–2给出了用于不同的体系结构类型的另外的端口。不是所有端口都是需要的,有些端口只有在用于实现特定的定制指令时才存在。图8–2也显示了一个可选的与外部逻辑的接口。该接口允许用户与NiosII处理器数据路径之外的系统资源相接口。       NiosII定制指令软件接口很简单,而且抽象了定制指令的细节。对于每一条定制指令,NiosIIIDE在系统头文件syst

4、em.h中产生一个宏。用户在C或C++应用程序中如同一个函数一样调用宏。用户不需要编写汇编程序来访问定制指令。当然,在NiosII处理器汇编语言程序中也可以调用定制指令。8.1.2定制指令体系结构的类型       NiosII支持不同的定制指令体系结构来满足不同应用的要求。体系结构从简单的、单时钟周期组合指令结构到扩展的可变长度的、多时钟周期定制指令体系结构。选择的体系结构决定了硬件接口。表8–1给出了定制指令体系结构的类型、应用和硬件接口。1.组合逻辑定制指令体系结构       组合逻辑定制指令体系结构包括一个能在一个时钟周期完成的逻辑模块。图8–3为组合逻辑定制指令体系结构

5、的结构图。图8–3组合逻辑定制指令结构图使用了dataa和datab端口作为输入,在result端口驱动输出结果。因为逻辑可以在一个时钟周期内完成,所以不需要控制端口。组合逻辑必需的端口是result端口。dataa和datab端口是可选的。在定制指令需要输入操作数才有这两个端口。如果定制指令只需要一个输入端口,使用dataa。2.多时钟周期定制指令体系结构       多时钟周期的定制指令包括一个需要2个或更多时钟周期才能完成操作的逻辑模块。对于多时钟周期定制指令需要控制端口。图8–4显示了多时钟周期定制指令的结构图。多时钟周期定制指令可以在固定或可变的时钟周期数内完成:·固定长

6、度:在系统生成时用户指定需要的时钟周期数。·可变长度:在握手方案中使用start和done端口来决定定制指令何时完成。在表8–2中,对于多时钟周期的定制指令clk、clk_en和reset端口是必需的,而start、done、dataa、datab和result端口是可选的。只有定制指令的功能需要它们时才存在。下面描述多时钟周期定制指令硬件端口的操作细节。图8–5给出了多时钟周期定制指令的时序图。·在第一个时钟周期,当ALU发出定制指令,处理器置start端口为高电平——有效,这时dataa和datab端口具有有效的值,而且在定制指令执行的期间一直保持有效。·固定或可变长度的定制指

7、令端口操作:        固定长度:处理器置start有效,等待一个指定的时钟周期数,然后读result。对于n个周期的操作,定制指令逻辑模块必须在start端口有效之后的第n-1时钟上升沿提供有效的数据。      可变长度:处理器一直等到done端口有效,done端口为高电平有效。处理器在done有效之后的时钟沿读result端口。定制指令模块必须done端口为有效的同一个时钟周期向result端口上提供数据。·NiosII系统时钟提供给定制指令模块的clk端口

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。