CN113590194B - 一种跨指令集的执行部件移植与剪裁方法 - Google Patents
一种跨指令集的执行部件移植与剪裁方法 Download PDFInfo
- Publication number
- CN113590194B CN113590194B CN202110831232.1A CN202110831232A CN113590194B CN 113590194 B CN113590194 B CN 113590194B CN 202110831232 A CN202110831232 A CN 202110831232A CN 113590194 B CN113590194 B CN 113590194B
- Authority
- CN
- China
- Prior art keywords
- instruction set
- design
- operator
- execution
- clipping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000005520 cutting process Methods 0.000 title abstract description 6
- 238000013461 design Methods 0.000 claims abstract description 91
- 238000013507 mapping Methods 0.000 claims abstract description 32
- 238000013508 migration Methods 0.000 claims abstract description 17
- 230000005012 migration Effects 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 4
- 230000009191 jumping Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 abstract description 3
- 230000002708 enhancing effect Effects 0.000 abstract description 2
- 238000004904 shortening Methods 0.000 abstract description 2
- 238000011161 development Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30196—Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本发明公开了一种跨指令集的执行部件移植与剪裁方法,包括分别针对原生指令集、目标指令集进行算子抽象,将支持的运算操作映射为算子;进行功能完备性检查;若原生指令集的功能完备性不合格,则对待转化设计进行执行部件RTL功能扩展;针对待转化设计建立算子与控制信号的映射,得到算子与控制信号的映射表;基于算子与控制信号的映射表完成执行部件RTL设计剪裁。本发明将执行部件控制信号形成的空间作为指令集与RTL设计的接口,从而实现跨指令集执行部件设计的自动移植,针对处理器敏捷设计和跨指令集知识迁移的需求,能够有效缩短设计周期,增强执行部件设计的可配置属性。
Description
技术领域
本发明设计微处理器设计技术领域的跨指令集的敏捷开发技术,具体涉及一种跨指令集的执行部件移植与剪裁方法,用于实现执行部件的跨指令集快速移植。
背景技术
指令集的发展处于由封闭社区转向开源社区的关键转型时间点,开源指令集的兴起和发展为微处理器带来了诸多机会与挑战。典型的开源指令集RISC-V不仅具有低成本的优势,而且也满足目前微处理器设计对指令集简洁和敏捷设计等的需求。目前,RISC-V指令集被广泛应用在嵌入式应用中,如MCU等。高性能微处理器围绕RISC-V也逐步展开,如玄铁910等。考虑到微处理器设计的时间成本和敏捷化发展趋势,如何将已有设计及技术积累转化成为支持开源指令集的设计成为开源指令集快速产品化过程中面临的重要挑战之一。
随着微处理器技术的发展,微处理器的应用场景覆盖了从服务器到嵌入式的各种领域。不同应用层级的微处理器之间存在指令集隔离,其他核心功能不完全相同,如高性能计算核心侧重于向量浮点操作,嵌入式控制器仅具备基础的数值运算能力。另一方面,不同指令集运算指令定义也存在区别,如ARM指令集中比较类指令是将操作数的大小关系写入到对应的NZCV控制寄存器以供后面指令使用,而RISC-V则直接在一条指令中实现基于操作数逻辑的操作。执行部件的设计与指令集和应用场景严格绑定。
与存储系统和系统寄存器等不同,执行部件的运算核心相对独立,且指令集发展出现了开源、模块化的趋势,如RISC-V指令集。考虑到微处理器设计的时间成本和敏捷化趋势,模块化的微处理器设计成为关键的一环。为降低设计成本加速微处理器设计流程,支持不同指令集的微处理器设计需要一种支持跨指令集的微处理器设计移植技术,利用已有微处理器体系结构和IP快速的转化成为支持不同指令集的微处理器设计。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种跨指令集的执行部件移植与剪裁方法,本发明将执行部件控制信号形成的空间作为指令集与RTL设计的接口,从而实现跨指令集执行部件设计的自动移植,针对处理器敏捷设计和跨指令集知识迁移的需求,能够有效缩短设计周期,增强执行部件设计的可配置属性。
为了解决上述技术问题,本发明采用的技术方案为:
一种跨指令集的执行部件移植与剪裁方法,包括:
1)分别针对原生指令集、目标指令集进行算子抽象,将支持的运算操作映射为算子;
2)基于算子抽象的结果进行功能完备性检查,以确定目标指令集在待转化设计中缺少的功能,以及原生指令集的功能完备性;
3)判断原生指令集的功能完备性是否合格,若合格,则保持待转化设计不变,直接跳转执行下一步;否则,针对待转化设计进行执行部件RTL功能扩展;
4)针对待转化设计建立算子与控制信号的映射,得到算子与控制信号的映射表;
5)基于算子与控制信号的映射表完成执行部件RTL设计剪裁。
可选地,步骤1)中分别针对原生指令集、目标指令集进行算子抽象时,包括将所有支持的运算操作映射为两输入的基础运算操作,使得算子为两输入的基础运算操作。
可选地,步骤1)中分别针对原生指令集、目标指令集进行算子抽象时,最终得到的结果为算子抽象表,所述算子抽象表中每一项的记录字段包括序号、基础操作以及基础操作的描述信息。
可选地,步骤3)中针对待转化设计进行执行部件RTL功能扩展包括修改局部数据通路、引入新的控制位以及增加对应执行部件的功能。
可选地,步骤4)中的控制信号为指令发射后进入执行阶段E1栈中执行部件内不依赖于操作数的控制信号。
可选地,步骤4)中得到算子与控制信号的映射表包括原生指令集中每一项算子的序号、算子名称、控制信号以及目标指令集中的是否支持该算子的结果。
可选地,步骤5)中基于算子与控制信号的映射表完成执行部件RTL设计剪裁包括:针对待转化设计,在执行部件设计保持原有的数据旁路结构、发射队列和结果总线结构的基础上,通过自动化工具对控制信号的空间自动进行剪裁,将目标指令集未触发的控制位置零。
可选地,所述自动化工具为expresso软件。
此外,本发明还提供一种跨指令集的执行部件移植与剪裁系统,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行所述跨指令集的执行部件移植与剪裁方法的步骤。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行所述跨指令集的执行部件移植与剪裁方法的计算机程序。
和现有技术相比,本发明具有下述优点:
1、本发明能减少跨指令集执行部件设计的时间成本,最大程度复用执行部件的设计,本发明提供了一种具体的跨指令集移植方案,并在保证功能完备性的前提下具有根据指令集轻量化设计的特点。
2、本发明可为有类似需要的集成电路前端设计提供指导和重要支撑。根据所提跨指令集移植过程,从前端设计到代码风格形成可配置的执行部件设计。
3、本发明不针对特定指令集体系结构,满足符合条件的所有指令集体系结构。本发明适用于任何跨指令集执行部件设计的知识和设计迁移工作,具有通用性好的优点。
附图说明
图1为本发明实施例的要素关系示意图。
图2为本发明实施例方法的基本流程示意图。
具体实施方式
下面通过具体实施案例和附图对本发明进行进一步详细阐述,此处描述的具体实施案例仅用于解释本发明而不用于限定本发明。
为规范用语,以下使用‘原生指令集’指代待转化设计中支持的指令集;‘待转换设计’指代支持原生指令集的执行部件设计;‘目标指令集’指代转化后所支持的指令集,例如本实施例中转化后所支持的指令集是指RISC-V指令集。但是,本实施例跨指令集的执行部件移植与剪裁方法并不依赖于特定的指令集。
如图1和图2所示,本实施例跨指令集的执行部件移植与剪裁方法包括:
1)分别针对原生指令集、目标指令集进行算子抽象,将支持的运算操作映射为算子;
2)基于算子抽象的结果进行功能完备性检查,以确定目标指令集在待转化设计中缺少的功能,以及原生指令集的功能完备性;
3)判断原生指令集的功能完备性是否合格,若合格,则保持待转化设计不变,直接跳转执行下一步;否则,针对待转化设计进行执行部件RTL功能扩展;
4)针对待转化设计建立算子与控制信号的映射,得到算子与控制信号的映射表;
5)基于算子与控制信号的映射表完成执行部件RTL设计剪裁。
下文将以附带由原生X指令集设计移植为T指令集设计的例子为例,对本实施例跨指令集的执行部件移植与剪裁方法进行进一步的详细说明。
本实施例中,步骤1)中分别针对原生指令集、目标指令集进行算子抽象时,包括将所有支持的运算操作映射为两输入的基础运算操作,使得算子为两输入的基础运算操作。
本实施例中,步骤1)中分别针对原生指令集、目标指令集进行算子抽象时,最终得到的结果为算子抽象表,所述算子抽象表中每一项的记录字段包括序号、基础操作以及基础操作的描述信息。
本实施例中,步骤1)为算子抽象的步骤。算子抽象的步骤用于根据输入的原生指令集和目标指令集,分别抽象出对应指令集支持的算子。以两输入的基础操作作为算子基础元素,形成的一串功能序列。根据待转化设计的指令集规范,抽象指定运算的基础算子。如乘法归类为乘法,乘累加操作归类为乘法+加法。考虑到两输入操作的潜在操作是有限的,所有潜在的算子可形成一个样表,待转化设计中包含的算子则记为1,否则为0。如果遇到运算种类在样表中,而后续运算需要系统寄存器的参与时,则对系统寄存器来源进行归类,如过往运算指令写入的数据、默认系统寄存器定义的数据、异常导致的系统寄存器数据更新等等。假定支持X指令集的部件设计支持AND、ORR、EOR和ADD指令;目标指令集为T指令集,包括SLT、AND、OR、XOR指令,则得到的算子抽象表如表1和表2所示。
表1支持X指令的算子抽象表。
序号 | 算子 | 描述 |
1 | AND | 逻辑与操作 |
2 | OR | 逻辑或操作 |
3 | XOR | 逻辑异或操作 |
4 | ADD | 整数加法操作 |
表2支持T指令的算子抽象表。
序号 | 算子 | 描述 |
1 | AND | 逻辑与操作 |
2 | OR | 逻辑或操作 |
3 | XOR | 逻辑异或操作 |
4 | SLT | 逻辑左移操作 |
步骤2)用于基于算子抽象的结果进行功能完备性检查,以确定目标指令集在待转化设计中缺少的功能,以及原生指令集的功能完备性;根据原生指令集和目标指令集抽象后的算子可以确定目标指令集在待转化设计中缺少的功能,以及原生指令集的功能完备性。本实施例的例子中,原生指令集与目标指令集算子不存在包含关系,其中原生指令集中不包含SLT指令,目标指令集不需要支持ADD指令。
步骤3)用于执行部件RTL功能扩展。步骤3)中针对待转化设计进行执行部件RTL功能扩展包括修改局部数据通路、引入新的控制位以及增加对应执行部件的功能。如原生指令集对应的RTL设计功能完备,则待转化设计保持不变。否则,后续需要补充基础的功能设计,如缺失算子与系统寄存器相关,RTL代码将保留原有数据通路的基础上,修改局部数据通路,并引入新的控制位,以便后续移植使用。本实施例的例子中,需根据目标指令集中SLT的定义在待转化设计中增加对应执行部件的功能。
步骤4)用于建立算子与控制信号的映射。本实施例中,步骤4)中的控制信号为指令发射后进入执行阶段E1栈中执行部件内不依赖于操作数的控制信号。建立算子与控制信号的映射可以理解为运算操作对执行部件的控制位译码。
本实施例中,步骤4)中得到算子与控制信号的映射表包括原生指令集中每一项算子的序号、算子名称、控制信号以及目标指令集中的是否支持该算子的结果。
本实施例中,该映射表根据功能模块分成多个子表。为了方便后续功能的剪裁,控制信号在e2栈栈入前与通过e2栈寄存器的信号进行逻辑与操作,以便后续后端工具自动剪裁。本实施例的例子中,目标设计的算子与控制信号映射如表3所示,目标设计中控制信号的后4位有效,根据具体功能进行译码,ctl[4]固定为零。
表3目标设计的算子与控制信号映射。
序号 | 算子 | 控制信号ctl[4:0] | 备注 |
1 | ADD | 5’b 10000 | 目标指令集不支持 |
2 | OR | 5’b 01001 | |
3 | XOR | 5’b 01010 | |
4 | AND | 5’b 01011 | |
5 | SLT | 5’b 01100 |
本实施例中,步骤5)中基于算子与控制信号的映射表完成执行部件RTL设计剪裁包括:针对待转化设计,在执行部件设计保持原有的数据旁路结构、发射队列和结果总线结构的基础上,通过自动化工具对控制信号的空间自动进行剪裁,将目标指令集未触发的控制位置零。执行部件剪裁主要依赖于后端工具对常零的控制信号进行的自动剪裁。设计过程中代码风格有助于提高工具的效率。为提高移植效率,推荐根据细分功能形成对应的rtl(寄存器传输级)模块。此处忽略了潜在的可以复用的功能,但我们认为用该部分面积开销换取跨指令集执行部件的设计时间是值得的。对于时序逻辑,推荐将可分离的前述控制信号直接用于后续关联信号的寄存器翻转控制信号,跨时钟信号根据控制信号进行分组。对于组合逻辑,推荐在寄存器栈入阶段引入控制信号。本实施例中,自动化工具为expresso软件,对功能增补后的控制信号,通过自动化工具如expresso对控制信号的空间进行剪裁,将目标指令集未触发的控制位置零。利用后端工具自动进行剪裁。执行部件设计保持原有的数据旁路结构、发射队列和结果总线结构。此外,也可以根据需要采用其他自动化工具。
此外,本实施例中步骤5)之后还包括适用于的推荐代码风格的处理,包括时序逻辑和组合逻辑的推荐组织形式。
综上所述,本发明跨指令集的执行部件移植与剪裁方法包括分别针对原生指令集、目标指令集进行算子抽象,将支持的运算操作映射为算子;进行功能完备性检查;若原生指令集的功能完备性不合格对待转化设计进行执行部件RTL功能扩展;针对待转化设计建立算子与控制信号的映射,得到算子与控制信号的映射表;基于算子与控制信号的映射表完成执行部件RTL设计剪裁。本发明将执行部件控制信号形成的空间作为指令集与RTL设计的接口,从而实现跨指令集执行部件设计的自动移植,针对处理器敏捷设计和跨指令集知识迁移的需求,能够有效缩短设计周期,增强执行部件设计的可配置属性。本实施例方法提出以控制编码为隐藏功能接口的方式进行跨指令集的功能模块设计移植。解耦执行部件和指令,指令功能实现通过对所提功能接口进行调用,最终形成目标指令集的执行部件设计。本实施例方法提出利用控制信号空间剪裁实现自动精简功能的RTL设计的指导。本发明给出了影响实现效率的RTL代码风格指导。
此外,本实施例还提供一种跨指令集的执行部件移植与剪裁系统,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行前述跨指令集的执行部件移植与剪裁方法的步骤。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行前述跨指令集的执行部件移植与剪裁方法的计算机程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/的处理器执行的指令产生用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种跨指令集的执行部件移植与剪裁方法,其特征在于,包括:
1)分别针对原生指令集、目标指令集进行算子抽象,将支持的运算操作映射为算子;
2)基于算子抽象的结果进行功能完备性检查,以确定目标指令集在待转化设计中缺少的功能,以及原生指令集的功能完备性;
3)判断原生指令集的功能完备性是否合格,若合格,则保持待转化设计不变,直接跳转执行下一步;否则,针对待转化设计进行执行部件RTL功能扩展;
4)针对待转化设计建立算子与控制信号的映射,得到算子与控制信号的映射表;
5)基于算子与控制信号的映射表完成执行部件RTL设计剪裁。
2.根据权利要求1所述的跨指令集的执行部件移植与剪裁方法,其特征在于,步骤1)中分别针对原生指令集、目标指令集进行算子抽象时,包括将所有支持的运算操作映射为两输入的基础运算操作,使得算子为两输入的基础运算操作。
3.根据权利要求2所述的跨指令集的执行部件移植与剪裁方法,其特征在于,步骤1)中分别针对原生指令集、目标指令集进行算子抽象时,最终得到的结果为算子抽象表,所述算子抽象表中每一项的记录字段包括序号、基础操作以及基础操作的描述信息。
4.根据权利要求3所述的跨指令集的执行部件移植与剪裁方法,其特征在于,步骤3)中针对待转化设计进行执行部件RTL功能扩展包括修改局部数据通路、引入新的控制位以及增加对应执行部件的功能。
5.根据权利要求4所述的跨指令集的执行部件移植与剪裁方法,其特征在于,步骤4)中的控制信号为指令发射后进入执行阶段E1栈中执行部件内不依赖于操作数的控制信号。
6.根据权利要求5所述的跨指令集的执行部件移植与剪裁方法,其特征在于,步骤4)中得到算子与控制信号的映射表包括原生指令集中每一项算子的序号、算子名称、控制信号以及目标指令集中的是否支持该算子的结果。
7.根据权利要求6所述的跨指令集的执行部件移植与剪裁方法,其特征在于,步骤5)中基于算子与控制信号的映射表完成执行部件RTL设计剪裁包括:针对待转化设计,在执行部件设计保持原有的数据旁路结构、发射队列和结果总线结构的基础上,通过自动化工具对控制信号的空间自动进行剪裁,将目标指令集未触发的控制位置零。
8.根据权利要求7所述的跨指令集的执行部件移植与剪裁方法,其特征在于,所述自动化工具为expresso软件。
9.一种跨指令集的执行部件移植与剪裁系统,包括相互连接的微处理器和存储器,其特征在于,该微处理器被编程或配置以执行权利要求1~8中任意一项所述跨指令集的执行部件移植与剪裁方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有被编程或配置以执行权利要求1~8中任意一项所述跨指令集的执行部件移植与剪裁方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110831232.1A CN113590194B (zh) | 2021-07-22 | 2021-07-22 | 一种跨指令集的执行部件移植与剪裁方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110831232.1A CN113590194B (zh) | 2021-07-22 | 2021-07-22 | 一种跨指令集的执行部件移植与剪裁方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113590194A CN113590194A (zh) | 2021-11-02 |
CN113590194B true CN113590194B (zh) | 2024-03-26 |
Family
ID=78249065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110831232.1A Active CN113590194B (zh) | 2021-07-22 | 2021-07-22 | 一种跨指令集的执行部件移植与剪裁方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113590194B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5826089A (en) * | 1996-01-04 | 1998-10-20 | Advanced Micro Devices, Inc. | Instruction translation unit configured to translate from a first instruction set to a second instruction set |
US7242414B1 (en) * | 1999-07-30 | 2007-07-10 | Mips Technologies, Inc. | Processor having a compare extension of an instruction set architecture |
CN111913745A (zh) * | 2020-08-28 | 2020-11-10 | 中国人民解放军国防科技大学 | 一种嵌入式多指令集处理器设计方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7318143B2 (en) * | 2004-10-20 | 2008-01-08 | Arm Limited | Reuseable configuration data |
US7769982B2 (en) * | 2005-06-22 | 2010-08-03 | Arm Limited | Data processing apparatus and method for accelerating execution of subgraphs |
US8601414B2 (en) * | 2009-11-12 | 2013-12-03 | The Regents Of The University Of Michigan | Automated scalable verification for hardware designs at the register transfer level |
US11243766B2 (en) * | 2019-09-25 | 2022-02-08 | Intel Corporation | Flexible instruction set disabling |
-
2021
- 2021-07-22 CN CN202110831232.1A patent/CN113590194B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5826089A (en) * | 1996-01-04 | 1998-10-20 | Advanced Micro Devices, Inc. | Instruction translation unit configured to translate from a first instruction set to a second instruction set |
US7242414B1 (en) * | 1999-07-30 | 2007-07-10 | Mips Technologies, Inc. | Processor having a compare extension of an instruction set architecture |
CN111913745A (zh) * | 2020-08-28 | 2020-11-10 | 中国人民解放军国防科技大学 | 一种嵌入式多指令集处理器设计方法 |
Non-Patent Citations (4)
Title |
---|
一种神经网络指令集扩展与代码映射机制;娄文启;王超;宫磊;周学海;;软件学报(第10期);全文 * |
基于算子的ASIP声码器设计与实现;荆涛;王沁;;北京交通大学学报(第05期);全文 * |
自定义指令集处理器及其工具链设计;杨庆庆;周晓方;杨鸿;;小型微型计算机系统(第02期);全文 * |
面向专用指令集处理器设计的软硬件协同验证;严迎建;杨志峰;任方;;计算机工程(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113590194A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11307873B2 (en) | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging | |
US6687810B2 (en) | Method and apparatus for staggering execution of a single packed data instruction using the same circuit | |
JP5717015B2 (ja) | アーキテクチャ・オプティマイザ | |
US7694112B2 (en) | Multiplexing output from second execution unit add/saturation processing portion of wider width intermediate result of first primitive execution unit for compound computation | |
CN100462922C (zh) | 利用中间指令集的二进制翻译方法 | |
US8046511B2 (en) | Implementing signal processing cores as application specific processors | |
JPH1027102A (ja) | 演算処理装置 | |
US7392489B1 (en) | Methods and apparatus for implementing application specific processors | |
CN112579159A (zh) | 用于矩阵操作加速器的指令的装置、方法和系统 | |
CN102184092A (zh) | 基于流水线结构的专用指令集处理器 | |
CN113703832B (zh) | 一种立即数转移指令的执行方法、装置及介质 | |
CN103793208B (zh) | 矢量dsp处理器和协处理器协同运作的数据处理系统 | |
KR20190022858A (ko) | 비동기 파이프라인의 스테이지의 연산 속도 제어 | |
Pham‐Quoc et al. | A high‐performance fpga‐based bwa‐mem dna sequence alignment | |
US8850371B2 (en) | Enhanced clock gating in retimed modules | |
US20110314265A1 (en) | Processors operable to allow flexible instruction alignment | |
US20090013289A1 (en) | Circuit design optimization of integrated circuit based clock gated memory elements | |
CN112527393A (zh) | 面向主从融合架构处理器的指令调度优化装置和方法 | |
CN113590194B (zh) | 一种跨指令集的执行部件移植与剪裁方法 | |
CN111414196B (zh) | 一种零值寄存器的实现方法及装置 | |
WO2004017232A2 (en) | Method and apparatus for translating to a hardware description language from an architecture description language | |
US20030154419A1 (en) | Register renaming in binary translation using rollback and recovery | |
CN110110463B (zh) | 可改善时序的集成电路逻辑连接优化方法、系统及介质 | |
US20210357232A1 (en) | Custom instruction implemented finite state machine engines for extensible processors | |
CN115328551A (zh) | 一种基于算子的微处理器架构设计方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |