CN1250910A - 指令控制拼装方法及其装置 - Google Patents

指令控制拼装方法及其装置 Download PDF

Info

Publication number
CN1250910A
CN1250910A CN 98120944 CN98120944A CN1250910A CN 1250910 A CN1250910 A CN 1250910A CN 98120944 CN98120944 CN 98120944 CN 98120944 A CN98120944 A CN 98120944A CN 1250910 A CN1250910 A CN 1250910A
Authority
CN
China
Prior art keywords
domain
assembly unit
coding
instruction
control
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.)
Granted
Application number
CN 98120944
Other languages
English (en)
Other versions
CN1100293C (zh
Inventor
王沁
刘大力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Duosi technical services Co. Ltd.
Original Assignee
Duosi Science & Technology Industry Field Co Ltd Beijing
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Duosi Science & Technology Industry Field Co Ltd Beijing filed Critical Duosi Science & Technology Industry Field Co Ltd Beijing
Priority to CN 98120944 priority Critical patent/CN1100293C/zh
Publication of CN1250910A publication Critical patent/CN1250910A/zh
Application granted granted Critical
Publication of CN1100293C publication Critical patent/CN1100293C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Advance Control (AREA)
  • Steering Controls (AREA)

Abstract

一种指令控制拼装方法及其装置,该装置包括操作拼装控制指令接收部件、格式译码部件、内部编码标识部件、拼装重组部件和输出部件。通过该指令控制拼装方法及装置,可将数据相关的串行操作过程相关的操作拼装在一条指令中,从而减少程序的空间开销,简化程序设计,可在不增加机器总线宽度、不增加每条指令的执行时间和译码控制电路延时的前提下、增加操作的吞吐量,减少实现程序的指令数,从而提高执行效率。

Description

指令控制拼装方法及其装置
本发明涉及计算机体系结构、计算机指令***及其译码控制领域,特别涉及指令串并行编码控制方法、以及一种实现指令控制操作串并行的方法及其装置。
计算机面向的实际问题求解过程中存在着串并行两种操作模式,所谓串行操作模式是指由于资源相关或数据相关而顺序执行若干操作的模式;所谓并行操作模式是指资源不相关、数据不相关的若干操作同时执行的模式。由于当前软件开发基于串行的抽象模型进行,因此在现有程序设计环境下不能用算法语言表达问题求解过程所固有的串并行特征,致使软件开销增大、解题效率降低。
当前RISC/CISC体系结构提供了大量可并行使用的资源,为了充分利用这些资源,提高指令级的并行性,RISC/CISC采用的方法包括软硬两个方面:
在软件方面采用了优化编译器的方法,即针对高级语言描述串行程序进行分析,发现操作过程的串并行特征,重排操作的执行顺序,以支持硬件对于并行操作模式的处理。但是,串行程序本身已经掩盖了原问题求解过程中的串并行特征,而优化编译器又不清楚处理对象的语义信息,因此很难全面发掘求解过程所固有的串并行特征。
在硬件方面RISC/CISC采取了预测技术、乱序技术和微码技术等控制程序流中的串并行操作过程。由此产生现有的硬件***中必须增加高速缓存及其控制电路或增加程序规模、译码技术复杂、控制电路规模增大、译码延时时间长等诸多问题。如《POWER PC概念、体系结构于设计》第20页(周长春等译 电子工业出版社)所描述的那样,RSIC体系译码电路占总规模的10%,CISC体系译码电路占总电路规模的50%以上。RISC与CISC的译码周期均至少为一个指令周期,且必须使用一级和二级高速缓存存贮技术。
还有一种方法是超长指令字(VLIW方法)。该方法利用优化编译器发现串行程序中的串并行特征,将串行操作和并行操作按照操作执行的先后顺序排列在超长指令字中,串行执行的操作被顺序排列在一个指令字序列中,并行执行的操作,被并行排列在一条指令字中。这种方法的问题是:在执行串行操作的指令流中,因串行操作的多变性、相关性造成指令的顺序排列的约束,由此使得超长指令字序列中有很多指令段空闲;而在执行并行操作的指令字中,因数据和资源的不相关性,使得超长指令字中的指令段非常饱满,有时实际问题求解过程中存在有更大的并行性,但最终由于机器总线宽度的限制,很多可并行的操作不能排列在一条指令中,结果是增加了实现一个程序的指令条数,使***的效率降低。另外这种方法对优化编译器有更大的依赖性,致使优化编译器目前存在的技术问题显得更为突出。
可见,有效地反映解题过程中固有的串并行模式、充分利用资源的并行特征以实现高效问题求解的思想受到了传统的计算机体系结构及其设计方法的约束,由此传统的计算机***结构要么花费软件的代价,开发复杂的优化编译器的设计环境,以提高***执行效率,要么花费大量的硬件代价,以复杂的和成倍增长的硬件规模来支持计算机***基本操作类型的需求。即便如此,现有的计算机***中在执行基本操作类型的程序流中也很难做到将串行操作和并行操作有机组合成,在一个时刻执行更多个并行操作的效果。
因此将数据或资源相关的串行操作和数据、资源不相关的并行操作有效组合问题、这种组合与重复操作、分支操作并行组合的问题、以及在执行中动态增加指令宽度以同时执行更多个并行操作的问题等,已成为当前体系结构设计要解决的关键问题,也是硬件译码控制电路日趋复杂、规模日趋增大的原因之一。
本发明的目的是
1.提供一种指令控制拼装方法及其装置,并利用指令控制拼装方法及其装置实现一种指令宽度动态可变的操作拼装控制指令。利用该操作拼装控制指令达到如下目的:
[1]利用该操作拼装控制指令及其译码控制装置可将数据相关的串行操作过程相关的操作拼装在一条指令中,通过标识保证操作语义不变,从而减少程序的空间开销、简化程序设计、减少取指瓶颈的压力的目的;
[2]利用该操作拼装控制指令及其译码控制装置,通过编码的方法,在不增加机器总线宽度、不增加每条指令的执行时间和译码控制电路延时的前提下,增加操作的吞吐量,减少实现一个程序的指令数,从而提高机器执行效率。
[3]利用该操作拼装控制指令及其译码控制装置可将资源、数据相关或无关的重复串行操作或重复并行操作过程,以基本操作形式拼装到指令字序列中,通过内部标识存贮、并与后续取入的串并行操作编码动态拼装执行,从而达到了执行过程中的重复操作控制被独立出来执行,在不增加指令宽度、不增加取指周期的前提下实现重复操作和其他操作的重组并行控制的目的。从而提高机器的并行控制能力,提高程序的执行效率。
2.揭示一种以简单的硬件电路直接支持操作拼装控制指令对数据和资源相关或无关的操作进行指令拼装控制和内外操作拼装控制的执行方法,即将并行执行的操作编码、或串行执行的操作编码、或重复执行的编码拼装在操作拼装控制指令中,或并行执行、或装载到内部标识寄存器中,在内外操作标识控制下,使外部操作拼装控制指令和内部标识中的操作编码在资源、数据允许时被串行、或并行、或重复执行。从而减少程序的时空间代价,减少取指瓶颈的压力,提高机器的执行效率。
一种指令控制拼装的方法,其特征在于,该方法包括以下步骤:一个指令编码步骤,用于设计操作拼装控制指令的指令编码,所述操作拼装控制指令包括一个或一个以上的顺序指令字,每个指令字包括:指令格式控制域编码、指令段格式控制域编码、指令段执行方式控制域编码和多个指令段编码;每个所述指令段编码是在所述指令格式控制域编码和所述指令段格式控制域编码约束下对应于功能部件的操作域编码;一个操作拼装控制指令接收步骤,用于顺序接收所述操作拼装控制指令的一个或若干个指令字编码;一个格式译码步骤,用于顺序对所述操作拼装控制指令的每个指令字中的所述指令格式控制域编码、所述指令段格式控制域编码译码,并从指令字中剥离出各个操作域编码、及所述指令段执行方式控制域编码;一个内部操作标识步骤,用于根据所述指令段执行方式控制域编码将要求不立即执行的操作域编码存贮在操作域内部编码寄存器组中、设置并维护操作域内部编码控制标识;一个拼装重组步骤,用于针对各个操作域将存贮在操作域内部编码寄存器组中的各个编码与从外部输入的同一操作域的编码实行拼装重组,产生各个操作域的当周期执行编码及其使能信号;以及,一个输出步骤,用于输出经拼装重组的各个操作域的编码及其使能信号。
一种指令控制拼装装置,可响应多位操作拼装控制指令外部存贮方式,可响应多位内部操作拼装控制指令寄存器存贮方式,使该操作拼装控制指令作用于拼装控制装置,实现串并行操作、重复操作的各种拼装执行模式,其特征在于,包括以下部件:配合该装置的多位操作拼装控制指令存贮器、寄存器的指令和数据输入方式,一个用于接收操作拼装控制指令的操作拼装控制指令接收部件;配合所述操作拼装控制指令接收部件的一个格式译码部件,用于对操作拼装控制指令中的所述指令格式控制域编码、所述指令段格式控制域编码进行译码,并从操作拼装控制指令中剥离操作域编码、所述指令段拼装方式控制域的编码;配合所述格式译码部件的用于实现不立即执行的操作编码存贮、操作域执行方式存贮、内部编码执行控制信号生成的一个内部编码标识部件;配合所述内部操作标识部件的一个拼装重组部件,用于将各个操作域的存贮在所述内部编码标识部件中的各个操作编码与外来指令中的同一操作域的操作编码进行重组,产生该操作域的当周期执行的操作编码及该操作域的使能信号;以及,一个用于输出各个操作域编码及其使能信号的输出部件。
本发明的一个优点是指令控制拼装的方法及其装置可以减少程序的时空开销,提高程序的执行效率。具体而言,可以将一个长度超过指令宽度的、控制多个执行部件并行操作的编码,分解后通过先行操作拼装控制指令的指令字装载到芯片内部的内部操作标识中,在执行条件满足时执行,从而增加并行操作的吞吐量,减少了指令空间的占用,减少了取指时间,提高了机器的并行操作能力;也可将多个串行相关操作的编码,分解后压缩到一条操作拼装控制指令的指令字中,同时装载到芯片内部操作标识中,通过执行时刻的控制保证操作语义不变,从而精减了指令字序列,减少了指令空间的占用。
本发明的另一个优点是操作拼装控制指令在其指令编码中包含了用于拼装控制的格式控制编码、指令执行方式控制编码等,在这些控制编码作用下,操作编码可以在指定时间直接实现对执行部件的控制,从而减少了译码延时。
本发明的另一个优点是操作拼装控制指令外部输入的编码序列与内部预先装载的编码可以拼装、并可直接作用于执行部件中,由此使译码电路减少到整体电路规模的5%以下,同时降低了译码电路的复杂程度,从而缩短设计周期。
本发明的另一个优点是经操作拼装控制指令的拼装控制,使外部操作拼装控制指令的指令字序列与内部预先装载的编码并行执行或重组执行。这种内部外部指令的拼装使得操作编码序列通过分解和重组构成的操作拼装控制指令具有高层语义关系,能够有效地化简编译器的设计,精简程序规模,为应用人员提供了灵活的语法、语用环境,同时提高了整个***程序执行效率。
图1是本发明的实现拼装的4个指令段的操作拼装控制指令格式示意图;
图2是本发明的实现拼装的指令控制拼装装置的总体结构图;
图3是本发明的实现拼装的操作拼装控制指令接收部件结构图;
图4a是本发明的实现拼装的格式译码部件结构图;
图4b是本发明的实现拼装的指令段格式控制域译码部件结构图;
图4c是本发明的实现拼装的操作域剥离部件结构图;
图4d是本发明的实现拼装的操作域使能部件结构图;
图4e是本发明的实现拼装的执行方式控制域剥离部件结构图;
图5a是本发明的实现拼装的内部操作标识部件结构图;
图5b是本发明的实现拼装的操作域内部编码寄存器组结构图;
图5c是本发明的实现拼装的操作域内部编码控制标识部件结构图;
图5d是本发明的实现拼装的内部执行状态标识部件结构图;
图6a是本发明的实现拼装的拼装重组部件结构图;
图6b是本发明的实现拼装的拼装重组控制部件结构图;
图6c是本发明的实现拼装的拼装重组选通部件结构图;
图7是本发明的实现拼装的流程图;
图8a是本发明的一个程序实例的操作流图;
图8b是本发明的实现所述程序实例的操作拼装控制指令字中的操作域编码图;以及
图8c是本发明的实现所述程序实例的操作拼装控制指令执行时序图;
本发明的实现基于一种操作拼装控制指令。图1表示的操作拼装控制指令格式包括:
1)指令格式控制域11:每个指令格式中只有一个指令格式控制域11,用于定义操作拼装控制指令的构成,即所包含的指令段数、每个指令段、及其指令段格式控制域、指令段执行方式控制域的宽度与位置;
2)指令段格式控制域12:每个指令格式中有若干个指令段格式控制域12,用于标识对应的指令段的编码所作用的功能部件,指令段格式控制域12的宽度决定了对应的指令段可以替换控制的功能部件的个数;
3)指令段13:每个指令格式中有若干个指令段13,其数目与指令段格式控制域12的个数相同,用于实现对功能部件的控制。配合指令段格式控制域12的编码,指令段13对应于不同的功能部件,即成为实现不同操作的操作域。
4)指令段执行方式控制域14:每个指令格式中有若干个指令段执行方式控制域14,其数目与指令段格式控制域12的个数相同,用于标识对应指令段13配合指令段格式控制域12编码的操作域的执行方式、或开始执行的时刻、或开始执行的条件,指令段执行方式控制域14可以缺省,缺省时对应指令段13配合指令段格式控制域12编码的操作域在当周期无条件执行。
操作拼装控制指令由若干符合图1所示操作拼装控制指令格式的指令字顺序组成,运用图1所述的操作拼装控制指令格式设计一个拼装操作控制指令编码的步骤如下:
1)根据操作拼装控制指令所要实现的功能,设计操作流程,选择功能部件,并以控制这些功能部件的操作域作为实现该操作拼装控制指令的操作域集合。
2)根据操作拼装控制指令所要实现的功能,对所述选定的操作域,在其编码表中选择对应于该操作拼装控制指令功能所需操作的编码作为该操作拼装控制指令中该操作域的编码。
3)按照所要实现的操作拼装控制指令的功能,将所述操作域集合中的各个操作域按照执行的先后顺序和串并行关系排列成为若干并行操作域组成的行的序列,每一个并行操作域组成的行表示在同一时刻并行执行的操作域。
4)进行操作域拼装处理,操作域拼装处理依赖于指令段执行方式控制域14编码。
假设指令段执行方式控制域14编码有以下形式:
指令段执行方式控制域编码 执行方式
00-000 当周期无条件执行
00-xxx 在xxx条件编码对应的状态位为真时执行
01-000 在本指令字中取入后当周期执行
01-xxx 在本指令字中第xxx个操作域编码执行结束时执行
10-xxx 延时xxx个周期执行
11-xxx 每隔xxx个周期执行1次
其中xxx为3位任意二进制编码。另外,还可以有其它的指令段执行方式控制域14的编码和定义方式来表示相应操作域的执行方式。
对于并行操作域组成的行宽度没有超过机器总线宽度的情况:
1)以在指令段13中可替换出现的所有操作域的编码宽度的最大值作为指令段13宽度,以所述选定的各个操作域的编码作为指令段13的编码;
2)指令段执行方式控制域14设置为“当周期无条件执行”对应的编码。
3)对指令段13中可以拼装出现的操作域的个数进行编码,并以该编码宽度作为指令段格式控制域12的宽度;
4)对于所述指令段13任意给出可以拼装出现的操作域的顺序,并以所述选定操作域的顺序号作为指令段格式控制域12编码;
5)对整个指令***允许的指令段划分方式的数量进行编码,并以该编码宽度作为指令格式控制域11的宽度;
6)任意给出所述整个指令***允许的指令段划分方式的排列顺序,并以实现该操作拼装控制指令的该指令字的指令段划分方式对应的编码作为指令格式控制域11编码。
对于并行操作域组成的行宽度超过机器总线宽度的情况:
1)在机器总线宽度约束下,在并行操作域组成的行的操作域集合中选择若干个操作域排列在一个指令字中;
2)以在指令段13中可替换出现的所有操作域的编码宽度的最大值作为指令段13宽度,以所述选定的各个操作域的编码作为指令段13的编码;
3)指令段执行方式控制域14设置为“当周期无条件执行”对应的编码。
4)对指令段13中可以拼装出现的操作域的个数进行编码,并以该编码宽度作为指令段格式控制域12的宽度;
5)对于所述指令段13任意给出可以拼装出现的操作域的顺序,并以所述选定操作域的顺序号作为指令段格式控制域12编码;
6)对整个指令***允许的指令段划分方式的数量进行编码,并以该编码宽度作为指令格式控制域11的宽度;
7)任意给出所述整个指令***允许的指令段划分方式的排列顺序,并以实现该操作拼装控制指令的该指令字的指令段划分方式对应的编码作为指令格式控制域11编码;
8)在机器总线宽度约束下,在并行操作域组成的行的操作域集合剩余的操作域中选择一个操作域排列在前面某个指令字的空闲指令段13中,并将该指令段13对应的指令段执行方式控制域14设置为10-xxx,表示指令段13中操作域延时xxx个周期执行,从而保证该指令段13中的这个操作域与它原来所在的并行操作域组成的行同时执行;或将该指令段13对应的指令段执行方式控制域14设置为00-xxx,xxx表示该操作域被激活执行的条件,以此实现操作拼装控制指令规定的各个操作域执行的顺序关系;
9)重复步骤8),直到所述并行操作域组成的行操作域集合变为空。
对于重复操作域进行:
1)在重复操作开始时刻对应的指令字中,将重复操作域排列在宽度满足要求的空闲指令段13上,并将该指令段13对应的指令段执行方式控制域14设置为11-xxx,xxx为指令段13中操作域重复执行的间隔周期数,从而保证该指令段13中的这个操作域每隔xxx个周期重复执行一次;
2)在重复操作结束时刻对应的操作拼装控制指令的指令字中,将重复操作域排列在空闲指令段13上,并将该指令段13对应的指令段执行方式控制域14设置为11-000,表示该指令段13中的这个操作域重复执行结束。
对于没有充满的指令字进行压缩,进行:在机器总线宽度约束下,将相邻的若干指令字中的操作域排列在一个指令字中,按照操作执行的先后顺序将各个指令段13对应的指令段执行方式控制域设置为01-xxx,xxx表示指令段13中的操作域执行的顺序号。
实现拼装的操作拼装控制指令格式中可以包含任意多个指令段。图1只示出了包含4个指令段的操作拼装控制指令格式。其他段数的操作拼装控制指令格式及其指令编码方法类似。
图2是指令控制拼装装置的总体结构图。包括:操作拼装控制指令接收部件21,格式译码部件22,内部操作标识部件23,拼装重组部件24,输出部件25。其中,操作拼装控制指令接收部件21以存贮方式接收来自存贮器的操作拼装控制指令,或以寄存器方式接收来自于内部寄存器堆的操作拼装控制指令,并形成可供译码执行的满足所述操作拼装控制指令格式的指令编码;格式译码部件22接收来自操作拼装控制指令接收部件21的操作拼装控制指令编码,经过与上述操作拼装控制指令格式配合的格式译码,剥离出指令中包含的操作域、执行方式控制域,并形成所有操作域的使能信号;内部操作标识部件23接收来自格式译码部件22的操作域、其使能信号、所有执行方式控制域、以及指令格式控制域译码结果和指令段格式控制域译码结果,将不立即执行的操作域编码写入操作域内部编码寄存器组,初始化设置操作域内部编码控制标识,并随时更新操作域内部编码控制标识;拼装重组部件24从内部操作标识部件23接收内部编码、内部编码控制标识,形成该操作域的编码及其拼装执行使能信号;输出部件25从拼装重组部件24接收操作域的编码及其拼装执行使能信号作为指令控制拼装装置的最终输出。
图3是指令控制拼装装置的操作拼装控制指令接收部件21的结构图。包括:指令拼装标识寄存器30、指令拼装部件31和指令寄存器32。指令拼装标识寄存器是一个可设置的状态寄存器,表示操作拼装控制指令的来源。指令拼装部件31是一个选通器,它以存贮方式从一个外部存贮器接收操作拼装控制指令,或以寄存器方式从一个内部寄存器堆接收操作拼装控制指令,在预先设定的内部指令拼装标识寄存器状态的控制下选择其中一路构成实际执行的操作拼装控制指令的指令字,装载到指令寄存器32中。
图4a是配合图1所述操作拼装控制指令格式的格式译码部件22结构图。格式译码部件22接收操作拼装控制指令接收部件21输出的操作拼装控制指令的指令字,剥离出操作域、指令段执行方式控制域,并产生所有操作域的使能信号。包括:指令格式控制域译码部件41,指令段格式控制域译码部件42,操作域剥离部件43,执行方式控制域剥离部件44,操作域使能部件45。指令格式控制域译码部件41是一个译码器,接收操作拼装控制指令的指令字中的指令格式控制域11,产生指令格式控制域的译码信号,指令格式控制域译码部件41的结构由指令格式控制域的宽度确定(如:2-4译码器、3-8译码器等);指令段格式控制域译码部件42接收操作拼装控制指令的指令字中的各个指令段格式控制域12,产生指令段格式控制域的译码信号;操作域剥离部件43在指令格式控制域译码部件41、指令段格式控制域译码部件42的译码结果控制下,从操作拼装控制指令的指令字中剥离各个操作域;执行方式控制域剥离部件44在指令格式控制域译码部件41、指令段格式控制域译码部件42的译码结果控制下,从操作拼装控制指令的指令字中剥离各个指令段执行方式控制域14;操作域使能部件45接收指令格式控制域译码部件41、指令段格式控制域译码部件42输出的结果,产生各个操作域在所接收的操作拼装控制指令的指令字中是否使能的信号。
图4b是配合所述各种操作拼装控制指令格式的指令段格式控制域译码部件42结构图。指令段格式控制域译码部件42由配合操作拼装控制指令中指令段格式控制域12的一组指令段格式控制域译码器46组成,每个指令段格式控制域译码器46接收一个指令段格式控制域12,产生该指令段格式控制域12译码信号,每个指令段格式控制域译码器46的的结构由其接收的指令段格式控制域12的宽度确定(如:2-4译码器、3-8译码器)。
图4c是配合所述操作拼装控制指令格式的操作域剥离部件43。操作域剥离部件43由配合各个指令段所有可替换控制的功能部件的操作域的一组操作域剥离选通器47组成,每个操作域剥离选通器47连接一个操作域在各种操作拼装控制指令格式中的能够替换出现的所有指令段13,在指令格式控制域译码部件41和指令段格式控制域译码部件42输出结果的编码组合控制下,从所接收的操作拼装控制指令的指令字中剥离出该操作域。
图4d是配合所述操作拼装控制指令格式的操作域使能部件45。操作域使能部件45由配合操作拼装控制指令中允许出现的操作域的一组操作域使能逻辑48组成,每个操作域使能逻辑48接收指令格式控制域译码部件41和指令段格式控制域译码部件42的该操作域对应的译码结果,通过逻辑组合,产生该操作域配合所接收的操作拼装控制指令的指令字的操作域使能信号。
图4e是配合操作拼装控制指令格式的执行方式控制域剥离部件44。执行方式控制域剥离部件44由配合操作拼装控制指令格式中各个指令段执行方式控制域14的一组执行方式控制域选通器49组成,每个执行方式控制域选通器49接收一个指令段执行方式控制域14在各种操作拼装控制指令格式中的所有可能的出现,在指令格式控制域译码部件41输出结果的控制下,从所接收的操作拼装控制指令的指令字中剥离指令段执行方式控制域14。
图5a是配合所述操作拼装控制指令格式的内部操作标识部件23结构图。内部操作标识部件23接收来自格式译码部件22的各个操作域及其使能信号、指令段执行方式控制域14、并接收来自格式译码部件22的指令格式控制域11译码结果和指令段格式控制域12译码结果,产生各个操作域的内部编码组、内部编码控制标识。内部操作标识部件23包括:一组操作域内部编码寄存器组51,一组操作域内部编码控制标识52。一个操作域内部编码寄存器组51从格式译码部件22接收一个操作域及其使能信号,在来自格式译码部件22的指令格式控制域11译码结果和指令段格式控制域12译码结果控制下,从格式译码部件22接收该操作域所在指令段13的指令段执行方式控制域14编码,当该指令段执行方式控制域14编码表示所接收的操作域不在当周期执行时,该操作域编码被设置到该操作域内部编码寄存器组51的一个寄存器中;一个操作域的操作域内部编码控制标识52从格式译码部件22接收一个操作域的使能信号,同时在来自格式译码部件22的指令格式控制域11译码结果和指令段格式控制域12译码结果控制下,从格式译码部件22接收该操作域所在指令段13的指令段执行方式控制域14编码,当该指令段执行方式控制域14编码表示所接收的操作域不在当周期执行时,该指令段执行方式控制域14编码被设置到该操作域内部编码控制标识52中的与在内部编码寄存器组51中选定的寄存器对应的执行方式寄存器54和内部执行状态标识57中。
图5b是一个操作域的操作域内部编码寄存器组51结构图。一个操作域内部编码寄存器组51由一组可以控制的内部编码寄存器53组成,与操作域内部编码控制标识52中的执行方式寄存器54一一对应,用于存贮该操作域在后续周期中拼装执行的编码。对于一个使能的操作域,操作域内部编码寄存器51的一个内部编码寄存器53的控制方法是:当前面的内部编码寄存器53对应的执行方式寄存器54均表示对应的内部编码不是当周期执行,而本内部编码寄存器53对应的执行方式寄存器54表示对应的内部编码是当周期执行,则本内部编码寄存器53接收所述的操作域编码。
图5c是一个操作域内部编码控制标识52结构图。一个操作域内部编码控制标识52包括:一个内部执行状态标识57,和一组对应于内部编码寄存器53的执行方式寄存器54、及其控制下的内部编码控制生成部件55、内部编码控制寄存器56。内部执行状态标识57是操作域的各种执行方式相关的状态或状态位,它接收来自格式译码部件22的该操作域编码所在指令段13的执行段执行方式控制域14,若指令段执行方式控制域14的编码表示该操作域编码的执行方式与时间有关,如:延时若干周期执行,或按照一定的时间间隔重复执行等,则指令段执行方式控制域14被用来初始化内部执行状态标识57中对应于操作编码存入的内部编码寄存器53的执行状态;执行方式寄存器54用于接收来自格式译码部件22的该操作域编码所在指令段13的指令段执行方式控制域14编码,并控制内部编码控制生成部件55生成该内部编码在每一时刻的执行控制信号;内部编码控制生成部件55是一个选通器,在执行方式寄存器54的控制下从内部执行状态标识57中选通一个状态位作为内部编码的执行控制信号;内部编码控制寄存器56用于存贮内部编码控制生成部件55产生的内部编码执行控制信号。
图5d是一个内部执行状态标识57的结构图。内部执行状态标识57包括:对应于操作域内部编码寄存器组51中的每一个内部编码寄存器53的一组由周期计数器58、判0逻辑59、状态位寄存器510组成的内部编码执行时间状态,其中周期计数器58接收来自格式译码部件的该操作域所在指令段13的指令段执行方式控制域14编码,假若其中包含了周期数编码(如图1说明中的延时执行周期数编码,重复执行间隔周期数编码等),则初始化对应于该操作域编码存入的内部编码寄存器53的周期计数器58,周期计数器58每周期递减,当作为延时周期计数器时,递减到0为止,当作为重复间隔数计数器时循环递减,判0逻辑59产生周期计数器58值是否为0的信号,连接判0逻辑59的状态位寄存器510寄存周期计数器判0信号;另外一组状态位寄存器510直接接收来自被控的功能部件产生的信号,用于支持在功能部件运行的某种状态下进行操作编码拼装的指令控制拼装机制。
图6a是配合操作拼装控制指令的拼装重组部件24的结构图。拼装重组部件24接收来自格式译码部件22的各个操作域编码及其使能信号,接收来自内部操作标识部件23的各个操作域的由先行指令取入并装载在内部的操作域内部编码、配合所接收的操作拼装控制指令的指令字的各个操作域的执行方式,产生各个操作域的操作编码及其使能信号。拼装重组部件24包括一个拼装重组控制部件61、一个拼装重组选通部件62、和一个拼装重组操作使能部件63。其中,拼装重组控制部件61用于接收各个操作域的来自格式译码部件22的使能信号和来自内部操作标识部件23的操作域内部编码控制标识52的内部编码执行控制信号,产生控制拼装重组选通部件62的选通控制信号;拼装重组选通部件62用于接收各个操作域的来自格式译码部件22的操作域编码和来自内部操作标识部件23的操作域内部编码寄存器组51中的操作域内部编码,在拼装重组控制部件61产生的选通控制信号的控制下产生各个操作域的当周期执行的编码;拼装重组操作使能部件63接收拼装重组控制部件61产生的选通控制信号,分别对每个操作域选通控制信号的各位进行逻辑组合,产生各个操作域的使能信号,操作域使能信号的产生逻辑为:对于一个操作域,当拼装重组控制部件61产生的该操作域的选通控制信号中有1位有效时,操作域使能信号有效。
图6b是拼装重组控制部件61的结构图。拼装重组控制部件61由一组拼装选通控制信号生成逻辑64组成,一个拼装选通控制信号生成逻辑64用于接收一个操作域的来自格式译码部件22的该操作域使能信号和来自内部操作标识部件23的操作域内部编码控制标识52的所有内部编码执行控制信号,产生拼装重组的选通控制信号。拼装重组选通控制信号的产生逻辑为:对于任意一个操作域,若所接收的操作拼装控制指令的指令字中该操作域使能、且其所在指令段13的指令段执行方式控制域14表示该操作域编码当周期执行,则选通来自格式译码部件22的该操作域编码的选通信号有效;否则,若来自该操作域的一个内部编码寄存器53对应的执行方式寄存器54控制产生的内部编码执行控制信号有效,则选通来自该操作域内部编码寄存器值的选通信号有效;若来自操作域的若干内部编码寄存器53对应的执行方式寄存器54控制产生的内部编码执行控制信号有效,则选通来自其中排列在前的操作域内部编码寄存器值的选通信号有效;其余情况下,选通信号均无效。
图6c是拼装重组选通部件62的结构图。拼装重组选通部件62由一组操作域拼装重组选通器65组成,一个操作域拼装重组选通器65用于接收一个操作域的来自格式译码部件22的该操作域编码和来自内部操作标识部件23的该操作域的所有内部编码寄存器值,在拼装重组控制部件61控制下选通产生该操作域的当周期执行的操作编码。
图7是配合所述操作拼装控制指令格式和拼装控制装置的指令控制拼装的流程图。
步骤71,接收操作拼装控制指令编码。该步骤之前的步骤包括将所述格式的操作拼装控制指令编码装载到外部存贮器或内部寄存器步骤、和装载指令拼装标识步骤;步骤71以存贮方式接收来自存贮器的操作拼装控制指令的指令字编码,或以寄存器方式接收来自内部寄存器的操作拼装控制指令的指令字编码,并根据指令拼装标识选取其中一路指令构成控制拼装装置的包括格式控制域编码、执行方式控制域编码、操作域编码的操作拼装控制指令的指令字;
步骤72,实现操作拼装控制指令的格式译码,完成操作拼装控制指令的指令字的指令格式控制域11和各个指令段格式控制域12的译码,在格式译码结果控制下剥离各个操作域的编码、生成各个操作域的使能信号,并剥离指令段执行方式控制域14编码;
对每个操作域进行以下的步骤;
步骤74,依据步骤72产生的该操作域所在指令段的指令段执行方式控制域14编码、和该操作域的使能信号,判断该操作域编码是否需要立即执行,若不需立即执行,则转步骤75处理,否则转步骤76处理;
步骤75,接收不立即执行的操作域编码和该操作域所在指令段13的指令段执行方式控制域14编码,配合内部操作标识部件的状态,将操作域的不立即执行的编码存贮到该操作域的操作域内部编码寄存器组51,并用指令段执行方式控制域14编码初始化对应的执行方式寄存器54和内部执行状态标识57,步骤75还在每周期完成对所有操作域的所有内部编码寄存器53对应的执行控制信号更新;
步骤76,接收指令中需要立即执行的操作域编码和操作域内部编码寄存器组51中的各个操作域的所有内部编码,根据格式译码步骤产生的该操作域的使能信号、执行方式控制域编码,和该操作域的各个内部编码执行控制信号,从该操作域的各个编码中选择其一作为配合步骤71接收的操作拼装控制指令的指令字和内部操作标识状态的该操作域的编码,并形成该操作域的使能信号,实现操作域的内部编码与接收的指令字中该操作域编码的拼装重组。
步骤77,输出所有操作域的编码及其使能信号。
图8a是一个程序实例的操作流图;
其中,每一个格子中是一个操作域的助记符和编码。所述程序实例功能为①取4个数到堆栈中、②同时计算int(x1*x2)+int(y1-y2)/2。INC为地址增量操作域,单周期执行;LD为取数操作域,双周期流水执行;STACK为堆栈操作域,单周期执行;FMUL为浮点乘法运算操作域,3周期流水执行;FAU为浮点加法操作域,3周期流水执行;FPAI为浮点转数转整数操作域,单周期执行;DSFT右移操作域,单周期执行;DAU为定点加法运算操作域,单周期执行。图8a表现了实现所述程序的操作序列,每一行中的操作域编码在同一个周期内并行执行。由图8a可见,每个周期执行的操作域及操作域个数各异,而LD、INC、STACK三个操作域的一个串并行操作域序列被重复执行,其余操作域按照一定的串并行顺序执行,且其中有些指令字并不饱满,造成代码的空间代价较大。假设机器总线宽度约束每个指令字中最多只能放置4个操作域,则需采用指令控制拼装方法,将LD、INC、STACK操作域“每隔xxx个周期执行1次”方式处理,其它操作域按照排序或延时“在xxx条件编码对应的状态位为真时执行”“延时xxx个周期执行”等方式处理。图8b是实现所述程序功能的各个指令字中操作域编码图,LD、INC、STACK操作域在指令段执行方式控制域14为11-000的控制下重复执行;FAU、FMUL操作在指令段执行方式控制域14为00-000控制下当周期执行;FPAI操作域在指令段执行方式控制域14为10-xxx的控制下延时xxx个周期执行;DSFT操作域在指令段执行方式控制域14为01-100控制下在本指令字中第四操作域执行结束时执行;DAU操作域在指令段执行方式控制域14为00-011控制下在上一条指令字中的操作域均执行结束时执行。
图8c是实现所述程序功能的操作拼装控制指令序列的执行时序。其中,PC+i(i=1、2、3、4、5、6)为指令地址,INSi(i=0、1、2、3、4、5、6)为输入的操作拼装控制指令。
指令段执行方式控制编码定义举例如下:
指令段执行方式控制域编码 执行方式
00-000 当周期无条件执行
00-xxx 在xxx条件编码对应的状态位为真时执行
01-000 在本指令字中取入后当周期执行
01-xxx 在本指令字中第xxx个操作域编码执行结束时执行
10-xxx 延时xxx个周期执行
11-xxx 每隔xxx个周期执行1次
其中xxx为3位任意二进制编码。
图中指令根据所述各个操作的时序特征以及操作相关关系,在每个指令字最多能够排列4个操作域的约束下实现了所述功能。
INS0中各个指令段编码及其执行方式定义如下:
指令段  操作域 编码功能 编码 执行时刻
1  LD 取数 101-0100 每隔0周期执行1次
1  INC 取数地址加1 10100 每隔0周期执行1次
2  FMUL x1*x2 01-00101-10101 当周期执行
4  FAU y1-y2 00-00100-10100 当周期执行
INS1中各个指令段编码及其执行方式定义如下:
指令段 操作域 编码功能 编码 执行时刻
1. NOP
2. DSFT 右移1位 00-0001-10100 本指令第4操作域执行结束时执行
3. FPAI x1*x2结果转整数 00-10101 延时3周期执行
4. FPAI y1-y2结果转整数 00-10100 延时2周期执行
INS2中各个指令段编码及其执行方式定义如下:
指令段 操作域 编码功能 编码 执行时刻
1. STACK 存贮器端口上的数据进栈 01-10100 每隔0周期执行1次
2. NOP
3. DAU Int(y1-y2)加上int(x1*x2)/2 1010-01100-11000 上一条指令执行结束时执行
4. NOP
基于所述指令编码,执行过程如下:
周期T0:
当所述操作拼装控制指令接收部件21接收INS0后,格式译码部件22对指令格式控制域11和各个指令段格式控制域12进行译码,并根据译码结果从该指令字中剥离出LD(101-0100)INC(10100)FMUL(01-00101-10101)FAU(00-00100-10100)操作域编码,并产生这4个操作域使能信号,之后,格式译码部件22产生的操作域编码和使能信号由内部操作标识部件23接收,在各个指令段执行方式控制域14编码控制下,将其中的LD(101-0100)INC(10100)编码分别存入这些操作域的操作域内部编码寄存器51中,同时设置它们对应的操作域内部编码控制标识52;另外,执行FMUL(01-00101-10101)计算(x1*x2),执行FAU编码(00-00100-10100)计算y1-y2;
周期T1:
当所述操作拼装控制指令接收部件21接收INS1后,格式译码部件22对指令格式控制域11和各个指令段格式控制域12进行译码,并根据译码结果从该指令字中剥离出DSFT(00-0001-10100)FPAI(00-10100)FPAI(00-10100)操作域编码,并产生这些操作域使能信号,之后,格式译码部件22产生的操作域编码和使能信号由内部操作标识部件23接收,在各个指令段执行方式控制域14编码控制下,将其中的DSFT(00-0001-10100)FPAI(00-10100)FPAI(00-10100)操作域编码分别存入这些操作域的操作域内部编码寄存器51中,同时设置它们对应的操作域内部编码控制标识52;另外,配合内部操作标识部件23的状态,执行LD(101-0100)取数、执行INC(10100)取数地址加1;
周期T2:
当所述操作拼装控制指令接收部件21接收INS2后,格式译码部件22对指令格式控制域11和各个指令段格式控制域12进行译码,并根据译码结果从该指令字中剥离出STACK(01-10100)DAU(1010-01100-11000)操作域编码,并产生这2个操作域使能信号,之后,格式译码部件22产生的操作域编码和使能信号由内部操作标识部件23接收,在各个指令段执行方式控制域14编码控制下,将STACK(01-10100)DAU(1010-01100-11000)编码存入相应操作域的操作域内部编码寄存器组51中,同时设置它们对应的操作域内部编码控制标识52;另外,配合内部操作标识部件23的状态,执行LD(101-0100)取数、执行INC(10100)取数地址加1;
周期T3:
译码执行新取入指令INS3,同时,配合内部操作标识部件23的状态,执行LD(101-0100)取数、执行INC(10100)取数地址加1,执行STACK(01-10100)将取入的数据进栈,并执行T1周期取入的FPAI(00-10100)将y1-y2的结果转换成浮点数;
周期T4:
译码执行新取入指令INS4,同时,配合内部操作标识部件23的状态,执行LD(101-0100)取数、执行INC(10100)取数地址加1,执行STACK(01-10100)将取入的数据进栈,并执行T1周期取入的FPAI(00-10101)将x1*x2的结果转换成浮点数,执行T1周期取入的DSFT(00-0001-10100)将y1-y2取整后的结果除以2;
周期T5:
译码执行新取入指令INS5,同时,配合内部操作标识部件23的状态,执行LD(101-0100)取数、执行INC(10100)取数地址加1,执行STACK(01-10100)将取入的数据进栈,并执行T2周期取入的DAU(1010-01100-11000)将x1*x2取整后的结果与y1-y2取整后除以2的结果相加。
尽管以上结合附图所示例子描述了本发明,但显然本发明并不局限于此,在后附权利要求书所提出的创新思想范围内,可以通过若干不同方式加以变换。

Claims (19)

1.一种指令控制拼装的方法,其特征在于,该方法包括以下步骤:
1)一个指令编码步骤,用于设计操作拼装控制指令的指令编码,所述操作拼装控制指令包括一个或一个以上的顺序指令字,每个指令字包括:指令格式控制域(11)编码、指令段格式控制域(12)编码、指令段执行方式控制域(14)编码和多个指令段(13)编码;每个所述指令段(13)编码是在所述指令格式控制域(11)编码和所述指令段格式控制域(12)编码约束下对应于功能部件的操作域编码;
2)一个操作拼装控制指令接收步骤,用于顺序接收所述操作拼装控制指令的一个或若干个指令字编码;
3)一个格式译码步骤,用于顺序对所述操作拼装控制指令的每个指令字中的所述指令格式控制域(11)编码、所述指令段格式控制域(12)编码译码,并从指令字中剥离出各个操作域编码、及所述指令段执行方式控制域(14)编码;
4)一个内部操作标识步骤,用于根据所述指令段执行方式控制域(14)编码将要求不立即执行的操作域编码存贮在操作域内部编码寄存器组中、设置并维护操作域内部编码控制标识;
5)一个拼装重组步骤,用于针对各个操作域将存贮在操作域内部编码寄存器组中的各个编码与从外部输入的同一操作域的编码实行拼装重组,产生各个操作域的当周期执行编码及其使能信号;以及
6)一个输出步骤,用于输出经拼装重组的各个操作域的编码及其使能信号。
2.如权利要求1所述的指令控制拼装方法,其特征在于,操作拼装控制指令的所述指令编码步骤包括以下步骤:
1)根据操作拼装控制指令所要实现的功能,设计操作流程,选择功能部件,并以控制这些功能部件的操作域作为实现该操作拼装控制指令的操作域集合;
2)根据操作拼装控制指令所要实现的功能,对所述选定的操作域,在其编码表中选择对应于该操作拼装控制指令功能所需操作的编码作为该操作拼装控制指令中该操作域的编码;
3)按照所要实现的操作拼装控制指令的功能,将所述操作域集合中的各个操作域按照执行的先后顺序和串并行关系排列成为若干并行操作域组成的行的序列,每一个并行操作域组成的行表示在同一时刻并行执行的操作域;以及
4)进行操作域拼装处理,操作域拼装处理依赖于指令段执行方式控制域(14)编码。
3.根据权利要求2的指令控制拼装方法,其特征在于所述指令段执行方式控制域(14)编码可以具有以下形式: 指令段执行方式控制域编码 执行方式 00-000 当周期无条件执行 00-xxx 在xxx条件编码对应的状态位为真时执行 01-000 在本指令字中取入后当周期执行 01-xxx 在本指令字中第xxx个操作域编码执行结束时执行 10-xxx 延时xxx个周期执行 11-xxx 每隔xxx个周期执行1次
其中xxx为3位任意二进制编码。
4.根据权利要求2所述的指令控制拼装方法,其特征在于,当并行操作域组成的行宽度没有超过机器总线宽度时:
1)以在所述指令段(13)中可替换出现的所有操作域的编码宽度的最大值作为所述指令段(13)宽度,以所述选定的各个操作域的编码作为所述指令段(13)的编码;
2)所述指令段执行方式控制域(14)设置为“当周期无条件执行”对应的编码;
3)对所述指令段(13)中可以拼装出现的操作域的个数进行编码,并以该编码宽度作为所述指令段格式控制域(12)的宽度;
4)对于所述指令段(13)任意给出可以拼装出现的操作域的顺序,并以所述选定操作域的顺序号作为所述指令段格式控制域(12)编码;
5)对整个指令***允许的指令段划分方式的数量进行编码,并以该编码宽度作为所述指令格式控制域(11)的宽度;以及
6)任意给出所述整个指令***允许的指令段划分方式的排列顺序,并以实现该操作拼装控制指令的该指令字的指令段划分方式对应的编码作为所述指令格式控制域(11)编码。
5.根据权利要求2所述的指令控制拼装方法,其特征在于,当并行操作域组成的行宽度超过机器总线宽度时:
1)在机器总线宽度约束下,在并行操作域组成的行的操作域集合中选择若干个操作域排列在一个指令字中;
2)以在所述指令段(13)中可替换出现的所有操作域的编码宽度的最大值作为所述指令段(13)宽度,以所述选定的各个操作域的编码作为所述指令段(13)的编码;
3)所述指令段执行方式控制域(14)设置为“当周期无条件执行”对应的编码;
4)对所述指令段(13)中可以拼装出现的操作域的个数进行编码,并以该编码宽度作为所述指令段格式控制域(12)的宽度;
5)对于所述指令段(13)任意给出可以拼装出现的操作域的顺序,并以所述选定操作域的顺序号作为所述指令段格式控制域(12)编码;
6)对整个指令***允许的指令段划分方式的数量进行编码,并以该编码宽度作为所述指令格式控制域(11)的宽度;
7)任意给出所述整个指令***允许的指令段划分方式的排列顺序,并以实现该操作拼装控制指令的该指令字的指令段划分方式对应的编码作为所述指令格式控制域(11)编码;
8)在机器总线宽度约束下,在并行操作域组成的行的操作域集合剩余的操作域中选择一个操作域排列在前面某个指令字的空闲的所述指令段(13)中,并将该所述指令段(13)对应的所述指令段执行方式控制域(14)设置为10-xxx,表示所述指令段(13)中操作域延时xxx个周期执行,从而保证所述指令段(13)中的这个操作域与它原来所在的并行操作域组成的行同时执行;或将所述指令段(13)对应的所述指令段执行方式控制域(14)设置为00-xxx,xxx表示该操作域被激活执行的条件,以此实现操作拼装控制指令规定的各个操作域执行的顺序关系;以及
9)重复所述步骤8),直到所述并行操作域组成的行的操作域集合变为空。
6.根据权利要求2所述的指令控制拼装方法,其特征在于,对于重复操作域:
1)在重复操作开始时刻对应的指令字中,将重复操作域排列在宽度满足要求的空闲的所述指令段(13)上,并将该所述指令段(13)对应的所述指令段执行方式控制域(14)设置为11-xxx,xxx为所述指令段(13)中操作域重复执行的间隔周期数,从而保证该所述指令段(13)中的这个操作域每隔xxx个周期重复执行一次;以及
2)在重复操作结束时刻对应的操作拼装控制指令字中,将重复操作域排列在空闲的所述指令段(13)上,并将该所述指令段(13)对应的所述指令段执行方式控制域(14)设置为11-000,表示该所述指令段(13)中的这个操作域重复执行结束。
7.根据权利要求2所述的指令控制拼装方法,其特征在于,没有充满的指令字进行压缩,在机器总线宽度约束下,将相邻的若干指令字中的操作域排列在一个指令字中,按照操作执行的先后顺序将各个所述指令段(13)对应的指令段执行方式控制域设置为01-xxx,xxx表示所述指令段(13)中的操作域执行的顺序号。
8.如权利要求2所述的操作域拼装方法,其特征在于,所述操作域拼装处理所依赖的所述指令段执行方式控制域(14)编码还可以有其它编码形式来表示所述指令段(13)上的操作域的执行方式。
9.如权利要求1所述的指令控制拼装方法,其特征在于,所述操作拼装控制指令的所述接收步骤之前的步骤包括以下步骤:
1)将所述格式的操作拼装控制指令装载到外部存贮器或内部寄存器;以及
2)将指令拼装标识编码装载到指令拼装标识寄存器。
10.如权利要求1所述的指令控制拼装方法,其特征在于,所述操作拼装控制指令的所述接收步骤是在指令拼装标识寄存器编码的控制下以多位存贮器操作方式从外部存贮器顺序接收多位操作拼装控制指令的各个指令字编码。
11.如权利要求1所述的指令控制拼装方法,其特征在于,所述操作拼装控制指令的所述接收步骤是在指令拼装标识寄存器编码的控制下以多位寄存器操作方式从内部寄存器顺序接收多位操作拼装控制指令的各个指令字编码。
12.如权利要求1所述的指令控制拼装方法,其特征在于,所述格式译码步骤包括以下步骤:
1)对所述接收步骤接收的操作拼装控制指令的指令字中的所述指令格式控制域(11)编码和所述指令段格式控制域(12)编码进行译码;
2)从所述接收步骤接收的操作拼装控制指令的指令字的各个所述指令段(13)中剥离出各个操作域编码;
3)从所述接收步骤接收的操作拼装控制指令的指令字中剥离出所述指令段执行方式控制域(14)编码;以及
4)产生各个功能部件对应的操作域的使能信号。
13.如权利要求1所述的指令控制拼装方法,其特征在于,所述内部操作标识步骤包括以下步骤:
1)将由所述指令段执行方式控制域(14)标识不立即执行的操作域编码存贮在该操作域的操作域内部编码寄存器组(51)中;
2)将所述指令段执行方式控制域(14)的编码存入该操作域对应的操作域内部编码控制标识(52)中;以及
3)由内部编码控制标识输出的内部编码执行控制信号每周期更新一次。
14.如权利要求1所述的指令控制拼装方法,其特征在于,所述拼装重组步骤包括以下步骤:
1)接收所述格式译码步骤产生的各个操作域使能信号、和所述内部编码标识步骤产生的同一操作域的所述操作域内部编码控制标识(52)的输出信号,按照操作拼装控制指令的指令字和所述操作域内部编码标识(52)给出的内部编码执行控制信号选择该操作域当周期执行的编码;以及
2)对于所有操作域,若在当周期动作,则将该操作域的使能信号置为有效。
15.一种指令控制拼装装置,可响应多位操作拼装控制指令外部存贮方式,可响应多位内部操作拼装控制指令寄存器存贮方式,使该操作拼装控制指令作用于拼装控制装置,实现串并行操作、重复操作的各种拼装执行模式,其特征在于,包括以下部件:
1)配合该装置的多位操作拼装控制指令存贮器、寄存器的指令和数据输入方式,一个用于接收操作拼装控制指令的操作拼装控制指令接收部件(21);
2)配合所述操作拼装控制指令接收部件(21)的一个格式译码部件(22),用于对操作拼装控制指令中的所述指令格式控制域(11)编码、所述指令段格式控制域(12)编码进行译码,并从操作拼装控制指令中剥离操作域编码、所述指令段拼装方式控制域(14)的编码;
3)配合所述格式译码部件(22)的用于实现不立即执行的操作编码存贮、操作域执行方式存贮、内部编码执行控制信号生成的一个内部编码标识部件(23);
4)配合所述内部操作标识部件(23)的一个拼装重组部件(24),用于将各个操作域的存贮在所述内部编码标识部件(23)中的各个操作编码与外来指令中的同一操作域的操作编码进行重组,产生该操作域的当周期执行的操作编码及该操作域的使能信号;以及
5)一个用于输出各个操作域编码及其使能信号的输出部件(25)。
16.如权利要求15所述的指令控制拼装装置,其特征在于,所述操作拼装控制指令接收部件(21)包括:
1)一个指令拼装标识寄存器(30),用于标识操作拼装控制指令来源;
2)一个指令拼装部件(31),在所述指令拼装标识寄存器(30)控制下选通指令来源,当所述指令拼装标识寄存器(30)标识操作拼装控制指令来源于存贮器时,以存贮器操作方式接收多位操作拼装控制指令的指令字,当所述指令拼装标识寄存器(30)标识操作拼装控制指令来源于寄存器时,以多位寄存器或锁存器操作方式接收多位操作拼装控制指令的指令字;以及
3)一个指令寄存器(32)用于存贮所述指令拼装部件(31)接收的操作拼装控制指令的指令字。
17.如权利要求15所述的指令控制拼装装置,其特征在于,所述格式译码部件(22)包括:
1)指令格式控制域译码部件(41),用于对所述操作拼装控制指令接收部件(21)接收的操作拼装控制指令的指令字中的所述指令格式控制域(11)编码进行译码;
2)指令段格式控制域译码部件(42),用于对所述操作拼装控制指令接收部件(21)接收的操作拼装控制指令的指令字中的所述指令段格式控制域(12)编码进行译码;
3)配合所述指令格式控制域译码部件(41)和所述指令段格式控制域译码部件(42)的操作域剥离部件(43),用于从所述操作拼装控制指令接收部件(21)接收的操作拼装控制指令的指令字中剥离出各个操作域编码;
4)配合所述指令格式控制域译码部件(41)的拼装方式控制域剥离部件(44),用于从所述操作拼装控制指令接收部件(21)接收的操作拼装控制指令的指令字中剥离出各个指令段的指令段拼装方式控制域(14)编码;以及
5)配合所述指令格式控制域译码部件(41)和所述指令段格式控制域译码部件(42)的操作域使能部件(45),用于产生各个操作域的使能信号。
18.如权利要求15所述的指令控制拼装装置,其特征在于,所述内部操作标识部件(23)包括:
1)一组配合所述格式译码部件(22)的对应于各个操作域的操作域内部编码寄存器组(51),用于存贮不被立即执行的操作域编码;以及
2)一组配合所述操作域内部编码寄存器组(51)和所述指令段执行方式控制域(14)的操作域内部编码控制标识(52),用于控制被装载在内部的操作域编码按照指令要求的时刻或执行方式执行。
19.如权利要求15所述的指令控制拼装装置,其特征在于,所述拼装重组部件(24)包括:
1)一个拼装重组控制部件(61),用于接收所述格式译码部件(22)产生的操作域使能信号,和所述内部操作标识部件(23)输出的同一操作域的各个内部编码执行控制信号,按照内部操作编码在外来操作拼装控制指令的指令字中不存在同一操作域使能、且该内部编码执行控制信号为真时被执行的原则产生拼装重组控制信号;
2)一个配合所述拼装重组控制部件(61)的拼装重组选通部件(62),用于接收所述格式译码部件(22)剥离出的各个操作域的操作编码和所述内部操作标识部件(23)输出的同一操作域的各个内部操作编码,在所述拼装重组控制部件(61)的输出的控制下选通该操作域的操作编码;以及
3)一个配合所述拼装重组控制部件(61)的拼装重组使能部件(63),用于配合所述拼装重组控制部件(61)产生各个操作域的使能信号。
CN 98120944 1998-10-12 1998-10-12 指令控制拼装方法及其装置 Expired - Lifetime CN1100293C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 98120944 CN1100293C (zh) 1998-10-12 1998-10-12 指令控制拼装方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 98120944 CN1100293C (zh) 1998-10-12 1998-10-12 指令控制拼装方法及其装置

Publications (2)

Publication Number Publication Date
CN1250910A true CN1250910A (zh) 2000-04-19
CN1100293C CN1100293C (zh) 2003-01-29

Family

ID=5226910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 98120944 Expired - Lifetime CN1100293C (zh) 1998-10-12 1998-10-12 指令控制拼装方法及其装置

Country Status (1)

Country Link
CN (1) CN1100293C (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102945148A (zh) * 2012-09-26 2013-02-27 中国航天科技集团公司第九研究院第七七一研究所 一种并行指令集的实现方法
CN103853526A (zh) * 2014-02-20 2014-06-11 清华大学 可重构处理器及可重构处理器的条件执行方法
WO2015123848A1 (zh) * 2014-02-20 2015-08-27 清华大学 可重构处理器及可重构处理器的条件执行方法
CN107179935A (zh) * 2016-03-11 2017-09-19 华为技术有限公司 一种指令执行方法及虚拟机

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102945148A (zh) * 2012-09-26 2013-02-27 中国航天科技集团公司第九研究院第七七一研究所 一种并行指令集的实现方法
CN103853526A (zh) * 2014-02-20 2014-06-11 清华大学 可重构处理器及可重构处理器的条件执行方法
WO2015123848A1 (zh) * 2014-02-20 2015-08-27 清华大学 可重构处理器及可重构处理器的条件执行方法
CN103853526B (zh) * 2014-02-20 2017-02-15 清华大学 可重构处理器及可重构处理器的条件执行方法
US10203960B2 (en) 2014-02-20 2019-02-12 Tsinghua University Reconfigurable processor and conditional execution method for the same
CN107179935A (zh) * 2016-03-11 2017-09-19 华为技术有限公司 一种指令执行方法及虚拟机
CN107179935B (zh) * 2016-03-11 2021-01-29 华为技术有限公司 一种指令执行方法及虚拟机

Also Published As

Publication number Publication date
CN1100293C (zh) 2003-01-29

Similar Documents

Publication Publication Date Title
CN1284080C (zh) 基于值特化来优化软件代码的方法和装置
Bastoul Code generation in the polyhedral model is easier than you think
Burger et al. Scaling to the End of Silicon with EDGE Architectures
CN1286002C (zh) 执行部分宽度压缩数据指令的装置和方法
CN103279327B (zh) 面向异构simd扩展部件的自动向量化方法
CN101044457A (zh) 用于依赖性链处理的***、方法和装置
CN1178134C (zh) 执行于板上***内的中间对象代码程序的数据压缩方法
CN1173262C (zh) 虚拟机指令的优化字节码解释器
CN1434380A (zh) 图像处理装置和方法以及用于该装置的编译程序
CN1672132A (zh) 源到源的分区编译
CN1111297C (zh) 指令控制排序方法及其装置
CN101000556A (zh) 编译装置
CN1853164A (zh) 用于开发dsp编译器构件块的组合方法
CN1142485C (zh) 流水线控制相关延迟消除方法
CN1100293C (zh) 指令控制拼装方法及其装置
CN1893282A (zh) 一跨序列排序涡轮码***和其操作方法
CN1278931A (zh) 特别适于译码数字音频信号的数字信号处理器
CN1100292C (zh) 指令控制替换方法及其装置
CN101075184A (zh) 对预处理微指令发生异常多层嵌套进行处理的设备及方法
CN102265257B (zh) 程序变换装置及程序变换方法
CN104025042B (zh) 指令处理方法和装置
CN1100290C (zh) 指令控制延时方法及其装置
CN1306401C (zh) 一种支持有向有环图的微调度方法
CN113608491B (zh) 一种编译延时逻辑原理图到字节码方法
CN101076780A (zh) 针对程序中循环的编译方法、编译设备和计算机***

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20100129

Address after: No. three, 189 floor, new complex building, maintenance group 3, red pass, Beijing, Haidian District: 100091

Co-patentee after: Beijing Duosi Technology Development Co., Ltd.

Patentee after: Limited by Share Ltd, Beijing tech Industrial Park, Limited by Share Ltd

Co-patentee after: Beijing tianhongyi Network Technology Co., Ltd.

Address before: Yi Fu science and Technology Museum, No. 30 Xueyuan Road, Beijing, Haidian District: 100083

Patentee before: Duosi Science & Technology Industry Field Co., Ltd., Beijing

PP01 Preservation of patent right

Effective date of registration: 20121018

Granted publication date: 20030129

RINS Preservation of patent right or utility model and its discharge
PD01 Discharge of preservation of patent

Date of cancellation: 20130418

Granted publication date: 20030129

RINS Preservation of patent right or utility model and its discharge
PP01 Preservation of patent right

Effective date of registration: 20130530

Granted publication date: 20030129

RINS Preservation of patent right or utility model and its discharge
PD01 Discharge of preservation of patent

Date of cancellation: 20131130

Granted publication date: 20030129

RINS Preservation of patent right or utility model and its discharge
ASS Succession or assignment of patent right

Owner name: NANSI SCIENCE AND TECHNOLOGY DEVELOPMENT CO LTD, B

Free format text: FORMER OWNER: DUOSI SCIENCE + TECHNOLOGY INDUSTRY FIELD CO., LTD., BEIJING

Effective date: 20141010

Owner name: DUOSI SCIENCE + TECHNOLOGY INDUSTRY FIELD CO., LTD

Free format text: FORMER OWNER: BEIJING WISDOM TECHNOLOGY DEVELOPMENT CO., LTD. BEIJING T-MACRO NETWORK TECHNOLOGY CO., LTD.

Effective date: 20141010

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20141010

Address after: 100091, Beijing Haidian District red mountain Yamaguchi 3 maintenance group new building 189, a layer

Patentee after: Nansi Science and Technology Development Co., Ltd., Beijing

Patentee after: Duosi Science & Technology Industry Field Co., Ltd., Beijing

Patentee after: Beijing tianhongyi Network Technology Co., Ltd.

Address before: 100091, No. three, building 189, new complex building, maintenance group 3, red pass, Haidian District, Beijing

Patentee before: Duosi Science & Technology Industry Field Co., Ltd., Beijing

Patentee before: Beijing Duosi Technology Development Co., Ltd.

Patentee before: Beijing tianhongyi Network Technology Co., Ltd.

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160225

Address after: 100095, room 108, building G, quiet core garden, No. 25, North Hollywood Road, Beijing, Haidian District

Patentee after: Beijing Duosi security chip technology Co. Ltd.

Address before: 100091, Beijing Haidian District red mountain Yamaguchi 3 maintenance group new building 189, a layer

Patentee before: Nansi Science and Technology Development Co., Ltd., Beijing

Patentee before: Duosi Science & Technology Industry Field Co., Ltd., Beijing

Patentee before: Beijing tianhongyi Network Technology Co., Ltd.

DD01 Delivery of document by public notice

Addressee: Zhou Yan

Document name: Notification of Passing Examination on Formalities

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160713

Address after: 100091, Beijing Haidian District red mountain Yamaguchi 3 maintenance group new building 189, a layer

Patentee after: Nansi Science and Technology Development Co., Ltd., Beijing

Address before: 100195, room 108, building G, quiet core garden, No. 25, North Hollywood Road, Beijing, Haidian District

Patentee before: Beijing Duosi security chip technology Co. Ltd.

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160720

Address after: 100195, room 109, block G, Beijing quiet garden, 25 North Road, North Hollywood village, Beijing, Haidian District

Patentee after: Beijing Duosi technical services Co. Ltd.

Address before: 100091, Beijing Haidian District red mountain Yamaguchi 3 maintenance group new building 189, a layer

Patentee before: Nansi Science and Technology Development Co., Ltd., Beijing

CX01 Expiry of patent term

Granted publication date: 20030129

CX01 Expiry of patent term