可扩展的ASIP结构平台及指令处理方法.pdf
《可扩展的ASIP结构平台及指令处理方法.pdf》由会员分享,可在线阅读,更多相关《可扩展的ASIP结构平台及指令处理方法.pdf(12页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201911289054.3 (22)申请日 2019.12.12 (71)申请人 湖南毂梁微电子有限公司 地址 410000 湖南省长沙市芙蓉中路一段 288号盛大金禧国际金融中心21楼 (72)发明人 陈虎万江华 (74)专利代理机构 湖南兆弘专利事务所(普通 合伙) 43008 代理人 周长清 (51)Int.Cl. G06F 9/30(2006.01) G06F 15/82(2006.01) (54)发明名称 一种可扩展的ASIP结构平台及指令处理方 法 (57)摘要 一。
2、种可扩展的ASIP结构平台及指令处理方 法, 该平台具有指令执行逻辑的流水线, 指令执 行逻辑包括n个簇, 其中簇0-(n2)为常规簇, 用 来实现常规指令, 每个簇包含2个算数逻辑单元 ALU和一个4读2写的分布式寄存器文件RF; 簇n1 为扩展簇, 用来实现专用扩展指令, 包含一个具 有6个读2个写端口最多32个通用寄存器的ERF、 一个具有6输入和2输出EFU和一个算数逻辑单元 ALU; 簇之间包括流出控制网络单元ICN和操作数 传递网络单元OPN; 与每个ALU或EFU耦合的执行 管理单元EMU、 与每个RF或ERF耦合的寄存器管理 单元RMU构成指令执行控制机制的硬件。 该方法 基于。
3、上述平台来完成指令的处理。 本发明具有易 实现、 能够提高专用指令集处理器扩展性等优 点。 权利要求书2页 说明书7页 附图2页 CN 111061510 A 2020.04.24 CN 111061510 A 1.一种可扩展的ASIP结构平台, 具有指令执行逻辑的流水线, 其特征在于, 所述指令执行逻辑包括n个簇, 其中簇0-(n2)为常规簇, 用来实现常规指令, 每个簇包 含2个算数逻辑单元ALU和一个4读2写的分布式寄存器文件RF; 簇n1为扩展簇, 用来实现专 用扩展指令, 包含一个具有6个读2个写端口最多32个通用寄存器的扩展寄存器文件ERF、 一 个具有6输入和2输出扩展功能单元E。
4、FU和一个算数逻辑单元ALU, 所述算数逻辑单元ALU负 责为扩展功能单元EFU提供操作数, 只执行存储器读/写指令; 所述簇之间包括流出控制网络单元ICN和操作数传递网络单元OPN; 与每个ALU或EFU耦合的执行管理单元EMU、 与每个RF或ERF耦合的寄存器管理单元RMU 构成指令执行控制机制的硬件。 2.根据权利要求1所述的可扩展的ASIP结构平台, 其特征在于, 在所述簇内, 簇0-(n1) 的每个簇中均包含: 一簇指令缓冲单元CIB、 一个或多个执行管理单元EMU、 一个寄存器管理 单元RMU。 所述簇指令缓冲单元CIB用来负责接收来自指令流出逻辑的指令包, 可容纳一或 多个指令包。
5、; 所述执行管理单元EMU中包含指令缓冲、 输出缓冲、 数据相关表DDT、 操作数管 理逻辑; 所述寄存器管理单元RMU中包含寄存器访问表RAT和执行管理单元EMU请求处理逻 辑。 3.根据权利要求1所述的可扩展的ASIP结构平台, 其特征在于, 在指令执行过程的流出 阶段, 若指令的某个源操作数由其它簇中已经流出的某个指令包中的指令产生, 则通过流 出控制网络单元ICN通知该簇更新其寄存器访问表RAT; 流出控制网络单元ICN上传递的信 息包括: 簇编号、 寄存器索引、 源操作数的生产者在簇指令包中的位置或索引; 在指令执行过程的取数阶段, 若指令有寄存器型源操作数未就绪, 且操作数位于其它。
6、 簇的寄存器文件, 执行管理单元EMU操作数传递网络OPN发出取数请求; 若数据已就绪, 操作 数传递网络OPN返回EMU请求的数据; 若数据未就绪, EMU一直等待直到OPN返回数据; 操作数 传递网络OPN上传递的信息包括: 簇编号、 寄存器索引、 源操作数的生产者在簇指令包中的 位置或索引、 OPN返回的操作数数据。 4.根据权利要求3所述的可扩展的ASIP结构平台, 其特征在于, 若处理器中有m个簇, m 个簇内共有k个已流出但尚未提交的指令; 设每个寄存器访问表RF或扩展寄存器文件ERF中 包含r个局部寄存器, 每个执行管理单元EMU的指令缓冲中有l项, 即每个功能单元最多有l 条正。
7、在执行或尚未执行的指令; 同时, 设一条指令最多有s个输入操作数和d个输出操作数。 5.根据权利要求4所述的可扩展的ASIP结构平台, 其特征在于, RAT有r项, 每项对应于 本地寄存器文件中的一个寄存器; 每个RAT项中包含k个(0-k-1)读标志域和k个(0-k-1)写 标志域; 读标志域的顺序和写标志域的顺序表示m个簇内共k个已流出但尚未提交的指令对 该寄存器的读、 写访问顺序; 每个读标志域和写标志域都包括簇编号、 簇内指令编号, 对应 于EMU中的指令缓冲中指令的位置。 6.根据权利要求4所述的可扩展的ASIP结构平台, 其特征在于, DDT有l项, 每项对应于 EMU的指令缓冲中。
8、的一条正在执行或尚未执行的指令; 每个DDT项包含s个输入等待位和d个 输出等待位, 输入/输出等待位为1时表示对应的输入/输出操作数尚未获取/写回; 同时每 个DDT项包含s个输入相关域和d个输出相关域; 输入相关域、 输出相关域表示该指令的输入 操作数的生产者是某个簇的某个指令, 输出操作数的消费者是某个簇的某个指令; 每个输 入相关域和输出相关域都包括簇编号、 簇内指令编号, 对应于EMU中的指令缓冲中指令的位 权利要求书 1/2 页 2 CN 111061510 A 2 置。 7.根据权利要求4所述的可扩展的ASIP结构平台, 其特征在于, 所述ASIP结构平台的指 令集包括4种类型:。
9、 l.alu指OR1200原有的指令, l.extd指CASIP在OR1200增加的专用扩展指令, 包含最多6 个输入操作数、 2个输出操作数; l.pkgh为指令包的包头指令, 包含指令包中的指令所需要 的公共信息, 在程序地址上要求4字节对齐; l.oprd是为操作数大于3的l.extd类指令提供 额外的操作数的服务指令, l.oprd在程序地址上紧随其所服务的l.extd指令之后。 8.根据权利要求1-7中任意一项所述的可扩展的ASIP结构平台, 其特征在于, 所述ASIP 结构平台中取指单元的并行度取决于取指逻辑与存储系统接口的位宽; 指令译码单元的并 行度根据指令包允许的最大长度灵活。
10、设置; 指令流出单元是以指令包为单位进行的, 指令 流出单元没有固定的流出宽度。 9.根据权利要求1-7中任意一项所述的可扩展的ASIP结构平台, 其特征在于, 所述ASIP 结构平台将单核处理器中的集中控制的一级指令流出方式转换为2级分布式控制的指令流 出, 将集中的执行控制转换为分布到每个簇中由每个簇中的专门部件单独控制; 其中, 2级 指令流出包括: 第一级指令包流出, 即一次性将一个指令包流出到一个簇中的指令缓冲中, 不检查指令的相关性, 第二级指令流出, 即每个簇根据簇内的指令执行情况流出各自缓冲 的指令包中的指令。 10.一种基于上述权利1-9中任意一项可扩展的ASIP结构平台的指。
11、令处理方法, 其特征 在于, 包括: 步骤S1:取指; 取指管理部件从指令cache中一次性取出一个指令包, 缓冲在取指管理 中的指令包缓冲中; 步骤S2:译码; 为指令包译码, 即对指令包抽取出包头指令中簇编号CI; 指令流出时, 根 据簇编号CI确定指令包派发到哪个簇执行; 步骤S3:流出; 分2个阶段: a)指令包流出; 指令包流出控制逻辑根据包头指令中簇编号 CI, 首先检查对应簇的簇指令缓冲CIB是否有空闲容纳一个完整的指令包; 若有, 则将取指 管理部件的指令包缓冲中的一个指令包抽取出来, 存入CIB中; b)指令流出; 首先检查簇内 计算资源是否可用; 若可用, 则按顺序将CIB。
12、中的指令尚未分配计算资源的指令流出到该计 算资源上, 更新簇内EMU、 RMU中的数据相关表DDT、 寄存器访问表RAT; 若指令的某个源操作 数由其它簇中已经流出的某个指令包中的指令产生, 则通过流出控制网络ICN通知该簇更 新其寄存器访问表RAT; 流出后的指令会被备份到EMU的指令缓冲中; 步骤S4:取数; 经流出的指令已分配了计算资源(ALU或EFU); 步骤S5:执行; 步骤S6:写回。 权利要求书 2/2 页 3 CN 111061510 A 3 一种可扩展的ASIP结构平台及指令处理方法 技术领域 0001 本发明主要涉及到处理器技术领域, 特指一种可扩展的ASIP结构平台及指令。
13、处理 方法, 其是能够对专用指令集处理器的扩展性进行提升。 背景技术 0002 在单核处理器中, 将资源划分到多个簇(Cluster)中可以消除或减小寄存器文件 (Register File, RF)访问端口和集中控制的指令流出逻辑对处理器的可扩展性的约束。 每 个簇通常包括一或多个功能单元(Functional Unit)、 一个寄存器文件, 簇间通信通过共享 存储(寄存器文件/cache等)或交叉开关(Crossbar)完成。 程序计数器(PC)和译码逻辑可由 多个簇共享也可以分布在每个簇中。 0003 面向应用的指令集处理器(Application Specific Instructio。
14、n-set Processor, ASIP)通过增加专用扩展指令可有效提升处理器的性能。 由于分簇式单处理器 具有良好的资源可扩展性、 软件可编程性, 适合作为基础平台针对数据计算密集型应用(如 果视频处理/无线通信/网络数据处理等)构建ASIP。 但由于指令字长(通常为16/32/64位)、 指令的操作数(通常不超过3个)的限制, 分簇式单处理器中可用的寄存器资源非常有限(通 常为16/32/64个), 且无法支持具有超过4个操作数的专用扩展指令。 发明内容 0004 本发明要解决的技术问题就在于: 针对现有技术存在的技术问题, 本发明提供一 种易实现、 能够提高专用指令集处理器扩展性的可扩。
15、展的ASIP结构平台及指令处理方法。 0005 为解决上述技术问题, 本发明采用以下技术方案: 0006 一种可扩展的ASIP结构平台, 具有指令执行逻辑的流水线, 所述指令执行逻辑包 括n个簇, 其中簇0-(n2)为常规簇, 用来实现常规指令, 每个簇包含2个算数逻辑单元ALU和 一个4读2写的分布式寄存器文件RF; 簇n1为扩展簇, 用来实现专用扩展指令, 包含一个具 有6个读2个写端口最多32个通用寄存器的扩展寄存器文件ERF、 一个具有6输入和2输出扩 展功能单元EFU和一个算数逻辑单元ALU, 所述算数逻辑单元ALU负责为扩展功能单元EFU提 供操作数, 只执行存储器读/写指令; 0。
16、007 所述簇之间包括流出控制网络单元ICN和操作数传递网络单元OPN; 0008 与每个ALU或EFU耦合的执行管理单元EMU、 与每个RF或ERF耦合的寄存器管理单元 RMU构成指令执行控制机制的硬件。 0009 作为本发明的进一步改进: 在所述簇内, 簇0-(n1)的每个簇中均包含: 一簇指令 缓冲单元CIB、 一个或多个执行管理单元EMU、 一个寄存器管理单元RMU。 所述簇指令缓冲单 元CIB用来负责接收来自指令流出逻辑的指令包, 可容纳一或多个指令包; 所述执行管理单 元EMU中包含指令缓冲、 输出缓冲、 数据相关表DDT、 操作数管理逻辑; 所述寄存器管理单元 RMU中包含寄存器。
17、访问表RAT和执行管理单元EMU请求处理逻辑。 0010 作为本发明的进一步改进: 在指令执行过程的流出阶段, 若指令的某个源操作数 说明书 1/7 页 4 CN 111061510 A 4 由其它簇中已经流出的某个指令包中的指令产生, 则通过流出控制网络单元ICN通知该簇 更新其寄存器访问表RAT; 流出控制网络单元ICN上传递的信息包括: 簇编号、 寄存器索引、 源操作数的生产者在簇指令包中的位置或索引。 0011 在指令执行过程的取数阶段, 若指令有寄存器型源操作数未就绪, 且操作数位于 其它簇的寄存器文件, 执行管理单元EMU操作数传递网络OPN发出取数请求; 若数据已就绪, 操作数传。
18、递网络OPN返回EMU请求的数据; 若数据未就绪, EMU一直等待直到OPN返回数据; 操 作数传递网络OPN上传递的信息包括: 簇编号、 寄存器索引、 源操作数的生产者在簇指令包 中的位置或索引、 OPN返回的操作数数据。 0012 作为本发明的进一步改进: 若处理器中有m个簇, m个簇内共有k个已流出但尚未提 交的指令; 设每个寄存器访问表RF或扩展寄存器文件ERF中包含r个局部寄存器, 每个执行 管理单元EMU的指令缓冲中有l项, 即每个功能单元最多有l条正在执行或尚未执行的指令; 同时, 设一条指令最多有s个输入操作数和d个输出操作数。 0013 作为本发明的进一步改进: RAT有r项。
19、, 每项对应于本地寄存器文件中的一个寄存 器; 每个RAT项中包含k个(0-k-1)读标志域和k个(0-k-1)写标志域; 读标志域的顺序和写标 志域的顺序表示m个簇内共k个已流出但尚未提交的指令对该寄存器的读、 写访问顺序; 每 个读标志域和写标志域都包括簇编号、 簇内指令编号, 对应于EMU中的指令缓冲中指令的位 置。 0014 作为本发明的进一步改进: DDT有l项, 每项对应于EMU的指令缓冲中的一条正在执 行或尚未执行的指令; 每个DDT项包含s个输入等待位和d个输出等待位, 输入/输出等待位 为1时表示对应的输入/输出操作数尚未获取/写回; 同时每个DDT项包含s个输入相关域和d 。
20、个输出相关域; 输入相关域、 输出相关域表示该指令的输入操作数的生产者是某个簇的某 个指令, 输出操作数的消费者是某个簇的某个指令; 每个输入相关域和输出相关域都包括 簇编号、 簇内指令编号, 对应于EMU中的指令缓冲中指令的位置。 0015 作为本发明的进一步改进: 所述ASIP结构平台的指令集包括4种类型: 0016 l.alu指OR1200原有的指令, l.extd指CASIP在OR1200增加的专用扩展指令, 包含 最多6个输入操作数、 2个输出操作数; l.pkgh为指令包的包头指令, 包含指令包中的指令所 需要的公共信息, 在程序地址上要求4字节对齐; l.oprd是为操作数大于3。
21、的l.extd类指令 提供额外的操作数的服务指令, l.oprd在程序地址上紧随其所服务的l.extd指令之后。 0017 作为本发明的进一步改进: 所述ASIP结构平台中取指单元的并行度取决于取指逻 辑与存储系统接口的位宽; 指令译码单元的并行度根据指令包允许的最大长度灵活设置; 指令流出单元是以指令包为单位进行的, 指令流出单元没有固定的流出宽度。 0018 作为本发明的进一步改进: 所述ASIP结构平台将单核处理器中的集中控制的一级 指令流出方式转换为2级分布式控制的指令流出, 将集中的执行控制转换为分布到每个簇 中由每个簇中的专门部件单独控制; 其中, 2级指令流出包括: 第一级指令包。
22、流出, 即一次性 将一个指令包流出到一个簇中的指令缓冲中, 不检查指令的相关性, 第二级指令流出, 即每 个簇根据簇内的指令执行情况流出各自缓冲的指令包中的指令。 0019 本发明进一步提供一种基于可扩展的ASIP结构平台的指令处理方法, 其包括: 0020 步骤S1:取指; 取指管理部件从指令cache中一次性取出一个指令包, 缓冲在取指 管理中的指令包缓冲中; 说明书 2/7 页 5 CN 111061510 A 5 0021 步骤S2:译码; 为指令包译码, 即对指令包抽取出包头指令中簇编号CI; 指令流出 时, 根据簇编号CI确定指令包派发到哪个簇执行; 0022 步骤S3:流出; 分。
23、2个阶段: a)指令包流出; 指令包流出控制逻辑根据包头指令中簇 编号CI, 首先检查对应簇的簇指令缓冲CIB是否有空闲容纳一个完整的指令包; 若有, 则将 取指管理部件的指令包缓冲中的一个指令包抽取出来, 存入CIB中; b)指令流出; 首先检查 簇内计算资源是否可用; 若可用, 则按顺序将CIB中的指令尚未分配计算资源的指令流出到 该计算资源上, 更新簇内EMU、 RMU中的数据相关表DDT、 寄存器访问表RAT; 若指令的某个源 操作数由其它簇中已经流出的某个指令包中的指令产生, 则通过流出控制网络ICN通知该 簇更新其寄存器访问表RAT; 流出后的指令会被备份到EMU的指令缓冲中; 0。
24、023 步骤S4:取数; 经流出的指令已分配了计算资源(ALU或EFU); 0024 步骤S5:执行; 0025 步骤S6:写回。 0026 与现有技术相比, 本发明的优点在于: 0027 本发明的可扩展的ASIP结构平台及指令处理方法, 原理简单、 易实现, 可在不显著 增加处理器的软件和硬件开销的情况下: 0028 1)在单处理器的易于编程的环境下提高处理器的可扩展性。 CASIP结构可以灵活 扩展到最多32个簇, 整个系统中最多可以包含1024个通用寄存器。 0029 2)为面向应用的专用扩展指令提供软、 硬件方面的支持。 CASIP的指令集结构可以 在32位固定长指令字中为面向应用的专。
25、用扩展指令表示最多6个输入操作数和2个输出操 作数。 附图说明 0030 图1是本发明CASIP结构的流水线结构示意图。 0031 图2是本发明在具体应用实例中RAT和DDT的结构及其位分配示意图。 0032 图3是本发明在具体应用实例中CASIP的指令类型及指令编码示意图。 0033 图4是本发明在具体应用实例中一条指令在其执行周期内的状态转换示意图。 0034 图5是本发明在具体应用实例中一条指令的执行流程示意图。 具体实施方式 0035 以下将结合说明书附图和具体实施例对本发明做进一步详细说明。 0036 本发明可扩展的ASIP结构平台CASIP(Clustered Applicatio。
26、n Specific Instruction-set Processor),该CASIP结构是基于OR1200构建的分簇式处理器。 如图1所 示, 示出了CASIP结构的结构图。 本发明的CASIP具有6级整数流水线, 即取指单元、 译码单 元、 流出单元、 取数单元、 执行单元和写回单元。 取指单元的并行度取决于取指逻辑与存储 系统接口的位宽。 指令译码单元的并行度可以根据指令包允许的最大长度灵活设置。 由于 指令流出单元是以指令包为单位进行的, 因此指令流出单元没有固定的流出宽度。 本发明 的CASIP具有顺序取指、 顺序译码、 并行流出(簇间)、 并行执行和并行写回的特点。 0037 本。
27、发明所提出的可扩展的ASIP结构平台CASIP, CASIP包括2个关键机制: 0038 1)改变指令的执行资源分配方式、 固定字长(如32位)指令字的编码方式, 以支持 说明书 3/7 页 6 CN 111061510 A 6 多操作数(寄存器型)的专用扩展指令; 0039 2)改变指令流出、 执行控制机制, 将单核处理器中的集中控制的一级指令流出方 式转换为2级分布式控制的指令流出, 将集中的执行控制转换为分布到每个簇中由每个簇 中的专门部件单独控制, 以消除或弱化指令流出、 执行控制对处理器可扩展性的限制。 其 中, 2级指令流出包括: 第一级指令包流出, 即一次性将一个指令包流出到一个。
28、簇中的指令 缓冲中(不检查指令的相关性), 第二级指令流出, 即每个簇根据簇内的指令执行情况流出 各自缓冲的指令包中的指令。 0040 为此, 本发明的CASIP可在不显著增加处理器的软件和硬件开销的情况下: 0041 1)在单处理器的易于编程的环境下提高处理器的可扩展性。 CASIP结构可以灵活 扩展到最多32个簇, 整个系统中最多可以包含1024个通用寄存器。 0042 2)为面向应用的专用扩展指令提供软、 硬件方面的支持。 CASIP的指令集结构可以 在32位固定长指令字中为面向应用的专用扩展指令表示最多6个输入操作数和2个输出操 作数。 0043 在具体应用实例中, CASIP的指令执。
29、行逻辑由n个簇组成。 其中簇0-n2为常规簇, 实现加/减/乘/移位/等常规指令, 每个簇包含2个算数逻辑单元(ALU)和一个4读2写的分布 式寄存器文件(Register File, RF); 簇n1为扩展簇, 可实现专用扩展指令, 包含一个具有6 个读2个写端口最多32个通用寄存器的扩展寄存器文件(Extended Register File, ERF)、 一个具有6输入和2输出扩展功能单元(Extended Functional Unit, EFU)和一个ALU(负责 为EFU提供操作数, 只执行存储器读/写指令)。 0044 在具体应用实例中, 从簇内资源来讲, 簇0-n1的每个簇中均。
30、包含: 一簇指令缓冲 单元(Cluster Instruction Buffer, CIB)、 一个或多个执行管理单元(Execution Management Unit, EMU)、 一个寄存器管理单元(Register Management Unit, RMU)。 簇指令 缓冲单元CIB用来负责接收来自指令流出逻辑的指令包, 可容纳一或多个指令包; 执行管理 单元EMU中包含指令缓冲、 输出缓冲、 数据相关表(Data Dependency Table, DDT)、 操作数管 理逻辑; 寄存器管理单元RMU中包含寄存器访问表(Register Access Table, RAT)和执行管 。
31、理单元EMU请求处理逻辑。 0045 在具体应用实例中, 从簇间资源来讲, 包括: 流出控制网络单元(Issuing Control Network,ICN)、 操作数传递网络单元(Operand Passing Network, OPN)。 0046 在指令执行过程的流出阶段(参见图5), 若指令的某个源操作数(Src0-Src5)由其 它簇中已经流出的某个指令包中的指令产生, 则通过流出控制网络单元ICN通知该簇更新 其寄存器访问表RAT。 流出控制网络单元ICN上传递的信息包括: 簇编号、 寄存器索引、 源操 作数的生产者在簇指令包中的位置或索引。 0047 在指令执行过程的取数阶段(参。
32、见图5), 若指令有寄存器型源操作数未就绪(即该 指令对应的DDT项中的输入等待位有非0值), 且操作数位于其它簇的寄存器文件, 执行管理 单元EMU操作数传递网络OPN发出取数请求。 若数据已就绪, 操作数传递网络OPN返回EMU请 求的数据; 若数据未就绪, EMU一直等待直到OPN返回数据。 操作数传递网络OPN上传递的信 息包括: 簇编号、 寄存器索引、 源操作数的生产者在簇指令包中的位置或索引、 OPN返回的操 作数数据。 0048 在具体应用实例中, 从指令操作数管理来讲, 与每个ALU或EFU耦合的执行管理单 说明书 4/7 页 7 CN 111061510 A 7 元EMU、 。
33、与每个RF或ERF耦合的寄存器管理单元RMU构成CASIP的指令执行控制机制的硬件支 撑。 1)EMU中的DDT用以保存派发到该功能单元的指令与其它指令之间的数据相关性。 EMU中 的操作数管理逻辑根据DDT中保存的信息, 为指令缓冲中已流出但尚未执行的指令在指令 执行开始时向存储器或寄存器文件发出读请求以获取数据, 并在指令执行结束时为输出缓 冲中的数据发出寄存器或存储器写请求以写回数据。 2)每个RMU中的寄存器访问表RAT为该 RF或ERF中的寄存器记录映射到不同功能单元的指令对该寄存器的访问顺序。 RMU根据RAT 中的信息决定是否响应来自某个EMU的读、 写请求。 3)对于每个簇, 。
34、EMU中的DDT和RMU中的 RAT在每条指令流出之后和数据写回之后均需要更新。 0049 在具体应用实例中, RAT和DDT的结构如图2所示。 设处理器中有m个簇, m个簇内共 有k个已流出但尚未提交的指令。 设每个RF或ERF中包含r个局部寄存器, 每个EMU的指令缓 冲中有l项, 即每个功能单元最多有l条正在执行或尚未执行的指令。 同时, 设一条指令最多 有s个输入操作数和d个输出操作数。 0050 图2中, RAT有r项, 每项对应于本地寄存器文件中的一个寄存器。 每个RAT项中包含 k个(0-k-1)读标志域和k个(0-k-1)写标志域。 读标志域的顺序和写标志域的顺序表示m个 簇内。
35、共k个已流出但尚未提交的指令对该寄存器的读、 写访问顺序。 每个读标志域和写标志 域都包括簇编号、 簇内指令编号(对应于EMU中的指令缓冲中指令的位置)。 0051 图2中, DDT有l项, 每项对应于EMU的指令缓冲中的一条正在执行或尚未执行的指 令。 每个DDT项包含s个输入等待位和d个输出等待位, 输入/输出等待位为1时表示对应的输 入/输出操作数尚未获取/写回。 同时每个DDT项包含s个输入相关域和d个输出相关域。 输入 相关域、 输出相关域表示该指令的输入操作数的生产者是某个簇的某个指令, 输出操作数 的消费者是某个簇的某个指令。 每个输入相关域和输出相关域都包括簇编号、 簇内指令编。
36、 号(对应于EMU中的指令缓冲中指令的位置)。 0052 在具体应用实例中, CASIP的指令集是基于OR1200的指令集。 CASIP指令集包括4种 类型(参见图3): l.alu泛指OR1200原有的指令, l.extd泛指CASIP在OR1200增加的专用扩展 指令, 可包含最多6个输入操作数、 2个输出操作数; l.pkgh为指令包的包头指令, 包含指令 包中的指令所需要的公共信息, 在程序地址上要求4字节对齐; l.oprd是为操作数大于3的 l.extd类指令提供额外的操作数的服务指令, l.oprd在程序地址上紧随其所服务的l.extd 指令之后。 0053 指令包是指一次性分配。
37、到一个簇中执行的一组指令结合, 由一条包头指令 l.pkgh, 一条或多条其它指令组成。 本发明中的指令包满足如下约束: 1)一个指令包中, 最 多允许有3条指令的输入操作数来自其它簇中的寄存器; 2)一条指令, 最多允许有一个输入 操作数来自其它簇中的寄存器; 3)指令包的长度(一个指令包中包含的指令数)最大为16。 0054 l.pkgh指令定义其所分配的簇编号(Cluster Index, CI), 指令包长度(Package Length,PL), 与包内指令存在数据相关的其它簇指令包中的指令其指令包中的位置或索引 (Dependent Instruction Index, DII)。。
38、 DCI(Dependent Cluster Index)表示来自簇外寄 存器的操作数所在的簇索引, DOI(Dependent Operand Index)表示本指令的哪个操作数需 要从簇外获得。 DOI、 DCI、 DII包含了从簇外获取操作数时的所有信息。 DII可以是Src0-Src5 的复制。 R为保留位。 0055 在具体应用实例中, 指令执行控制机制为: 在CASIP处理器中, 指令的执行过程经 说明书 5/7 页 8 CN 111061510 A 8 过了6个步骤, 即取指、 译码、 流出、 取数、 执行和写回。 其中, 取指、 译码、 流出状态为指令执 行过程中的集中控制过程。
39、; 取数、 执行、 写回状态为指令执行过程中的分布式控制过程。 为 简化起见, 图中的状态转换条件中省略了一些默认的条件。 0056 在具体应用实例中, 参见图5, 本发明进一步提供一种基于可扩展的ASIP结构平台 的指令处理方法, 在具体应用实例中一条指令的执行流程为: 0057 步骤S1:取指。 0058 图1中的取指管理部件从指令cache中一次性取出一个指令包, 缓冲在取指管理中 的指令包缓冲中。 本发明中, 指令包缓冲个数为4(0-3), 即最多缓冲4个指令包(包含包头指 令l.pkgh), 每个指令包缓冲中存储的第一条指令为包头指令l.pkgh。 取指的并行度取决于 取指管理部件与。
40、指令Cache的接口宽度(本发明中为128位)。 本发明中, 取指管理部件与指 令Cache的接口宽度为128位, 每个时钟周期最多可以取出4条32位指令。 0059 步骤S2:译码。 0060 该步骤为指令包译码, 即针对图1中的取指管理部件中的指令包缓冲0-3中的指令 包, 抽取出包头指令l.pkgh中簇编号CI。 指令流出时, 根据簇编号CI确定指令包派发到哪个 簇执行。 0061 步骤S3:流出。 0062 指令流出过程分2个阶段: a)指令包流出。 指令包流出控制逻辑根据包头指令 l.pkgh中簇编号CI, 首先检查对应簇的簇指令缓冲CIB是否有空闲容纳一个完整的指令包。 若有, 则。
41、将取指管理部件的指令包缓冲中的一个指令包抽取出来, 存入CIB中。 b)指令流出。 图1中的指令流出逻辑首先检查簇内计算资源(ALU或EFU)是否可用。 若可用, 则按顺序将 CIB中的指令尚未分配计算资源的指令流出(或派发)到该计算资源上, 更新簇内EMU、 RMU中 的数据相关表DDT、 寄存器访问表RAT。 若指令的某个源操作数(Src0-Src5)由其它簇中已经 流出的某个指令包中的指令产生, 则通过流出控制网络ICN通知该簇更新其寄存器访问表 RAT。 流出后的指令会被备份到EMU的指令缓冲中。 0063 步骤S4:取数。 0064 经流出的指令已分配了计算资源(ALU或EFU)。 。
42、该计算资源对应的执行管理单元 EMU负责获取指令的源操作数。 若指令有源操作数未就绪(即该指令对应的DDT项中的输入 等待位有非0值), a)操作数为寄存器型。 EMU向RMU(若数据位于本簇的寄存器文件)或操作 数传递网络OPN(若数据位于其它簇的寄存器文件)发出取数请求。 若数据已就绪, RMU或OPN 返回EMU请求的数据; 若数据未就绪, EMU一直等待直到RMU或OPN返回数据。 EMU可向RMU或 OPN产生多个请求以同时获取多个操作数。 b)操作数为存储器型。 取数过程与传统RISC处理 器的写回过程相同。 0065 步骤S5:执行。 0066 CASIP的指令执行与传统RISC。
43、处理器的指令执行类似。 当指令的所有源操作数就 绪时EMU通知计算资源(ALU或EFU)启动指令执行。 对于算数逻辑指令, 执行过程对源操作数 进行算数逻辑操作; 对于分支指令, 执行过程计算分支的目标地址并保存在分支目标寄存 器中; 对于存储指令, 执行过程计算访问存储器的有效地址, 并向存储器发出存储器读写请 求。 指令的执行时间视具体指令的类型而定。 分支指令和除乘法指令外的算数逻辑指令的 执行时间均为1个时钟周期。 专用扩展指令的执行时间为1-3个周期不等。 存储器写指令的 说明书 6/7 页 9 CN 111061510 A 9 执行时间也是1个时钟周期; 存储器读指令的执行时间不定。
44、。 指令执行周期结束时, 执行结 果写入EMU中的输出缓冲。 0067 步骤S6:写回。 0068 若输出缓冲中存在未写回的执行结果, EMU首先检查DDT, 以确定写回操作被允许, 即在该写回操作之前针对目的操作数Dest0/Dest1所进行的读写操作均已完成), 然后向存 储器或RF/ERF产生写请求。 RMU根据RAT中保存的对寄存器访问顺序决定是否响应来自EMU 的写请求。 对于存储器写指令, 写回过程与传统RISC处理器的写回过程相同。 写回阶段有一 个重要任务, 即清除已写回的指令在流水线中的记录, 包括: a)清除指令在EMU中的记录; b) 清除指令在簇指令缓冲CIB的记录; c)清除指令在RMU中的相关信息。 0069 以上仅是本发明的优选实施方式, 本发明的保护范围并不仅局限于上述实施例, 凡属于本发明思路下的技术方案均属于本发明的保护范围。 应当指出, 对于本技术领域的 普通技术人员来说, 在不脱离本发明原理前提下的若干改进和润饰, 应视为本发明的保护 范围。 说明书 7/7 页 10 CN 111061510 A 10 图1 图2 图3 说明书附图 1/2 页 11 CN 111061510 A 11 图4 图5 说明书附图 2/2 页 12 CN 111061510 A 12 。
- 内容关键字: 扩展 ASIP 结构 平台 指令 处理 方法
农用无人机喷施效率现场检测装置.pdf
双线全自动冷轧管机生产线.pdf
汽车双色透光按钮.pdf
便于残渣分离的活性氧化锌制备装置.pdf
五金件CNC加工车床.pdf
拖拉机翻转连接架.pdf
物流箱投送物流架.pdf
对虾无节幼体流水养殖装置.pdf
烧结网管状过滤元件对接拼焊结构.pdf
车辆顶舱盖机构及车辆.pdf
节能型有机废气高效吸附脱附装置.pdf
新型储能电源.pdf
方便运输的可折叠储物罐.pdf
镜头易拆卸安装的玩具显微镜.pdf
预拌砂浆筛砂机.pdf
用于农药残留检测的样品破碎装置.pdf
方便维修的地坪研磨机齿轮箱.pdf
协作机器人侧装升降机构.pdf
TBM隧道施工注浆装置.pdf
便携式毫米波接力机.pdf
中频炉金属硅粉快速下料装置.pdf
即时传输及显示方法、装置、设备及存储介质.pdf
佩戴牢固的蓝牙耳机.pdf
基于3D激光雷达的移动机器人位姿跟踪方法及装置.pdf
基于模型协作的数据加权学习方法.pdf
蓝牙耳机信号传输测试装置.pdf
异常报价监控方法、系统、计算机及存储介质.pdf
混凝土布料任务动态控制方法及系统.pdf
转载溜槽及包括其的带式输送机系统.pdf
基于大数据的计算手术后目标血红蛋白的方法及系统.pdf
中频炉换炉开关.pdf
患者数据可视化管理系统及方法.pdf