CN1100290C - 指令控制延时方法及其装置 - Google Patents

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

Info

Publication number
CN1100290C
CN1100290C CN 98120942 CN98120942A CN1100290C CN 1100290 C CN1100290 C CN 1100290C CN 98120942 CN98120942 CN 98120942 CN 98120942 A CN98120942 A CN 98120942A CN 1100290 C CN1100290 C CN 1100290C
Authority
CN
China
Prior art keywords
delay
domain
time
coding
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.)
Expired - Lifetime
Application number
CN 98120942
Other languages
English (en)
Other versions
CN1250908A (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 98120942 priority Critical patent/CN1100290C/zh
Publication of CN1250908A publication Critical patent/CN1250908A/zh
Application granted granted Critical
Publication of CN1100290C publication Critical patent/CN1100290C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Advance Control (AREA)

Abstract

一种指令控制延时方法及其装置,该装置包括操作延时控制指令接收部件,格式译码部件,延时标识部件,延时重组部件及输出部件。通过该指令控制排序方法及装置,利用表示串行操作的指令中的空闲指令编码段预先取入后续并行操作指令中由于机器总线宽度的来不能取入的操作编码,可在机器总线宽度不长的情况下,便得超过机器总线宽度的编码能够同时参与控制,从而增加了操作的吞吐量,增加了机器的并行控制能力,提高了效率。

Description

指令控制延时方法及其装置
本发明涉及计算机体系结构、计算机指令系统及其译码控制领域,特别涉及指令串并行编码控制方法、以及一种实现指令控制操作延时的方法及其装置。
当今的计算机系统在程序设计中使用指令编程时,对所有问题(包括存在相关关系的串行问题和不存在相关关系的并行问题)均采用程序流设计方法处理。这种方法本质是通过程序设计过程来实现各种功能,由此增加了系统的软件开销、降低了计算机硬件的执行效率。
另一种方法是在硬件系统中对存在相关关系的问题采取预测技术、乱序技术等加以控制和处理,对无相关关系的问题采用超标量技术或微码技术并行处理。由此产生电路规模增大,译码技术复杂,译码延时长等问题。如《POWER PC概念、体系结构于设计》(周长春等译电子工业出版社)第20页所描述的那样,RSIC体系译码电路占总规模的10%,CISC体系译码电路占总电路规模的50%以上。
还有一种方法是超长指令字(VLIW)方法。该方法将串行操作和并行操作按照操作执行的先后顺序排列在超长指令字中,串行执行的操作顺序排列在一个指令字序列中,并行执行的操作并行排列在一个指令字中。这种方法的问题是在执行串行操作的指令中,很多指令段空闲,而在执行并行操作的指令字中,指令段非常饱满,即使实际问题求解过程存在更大的并行性,但由于指令宽度的限制,有些并行操作也不能排在一条指令中,结果增加了实现一个程序的指令条数,使系统的效率降低。另外,由于超长指令字方法完全是通过优化编译器将一个不能反映问题求解过程的串并行特性的串行指令流转换成为一个试图实现并行控制的超长指令字流,因此硬件资源的利用率很大程度上依赖于优化编译器的好坏,这种对于优化编译器过强的依赖性束缚了VLIW体系的发展和应用。
本发明的目的是:针对实际问题求解过程的串并行模式(即:相关问题的串行求解与不相关问题的并行求解共存的问题求解模式),利用一种操作延时控制指令格式,通过编码的方法,在不增加机器总线宽度、不增加每条指令的执行时间和译码控制电路延时的前提下,增加操作的吞吐量,减少实现一个程序的指令数,从而提高机器执行效率。
本发明揭示了一种以简单的硬件电路直接支持操作延时控制指令体系对数据无关操作的并行进行重新标识的控制装置及其方法,利用该控制装置及其方法使硬件复杂度大大降低,从而达到减少电路规模、减少译码时间,提高执行效率的目的。
本发明还发现了一种将超过机器总线宽度的可并行操作经操作延时控制指令体系的标识、控制形成具有更高语义层次和简单语用语法关系的宏观并行操作关系方法,即利用操作延时控制指令来控制编码实现超过机器总线宽度的可并行操作的重组,直接为用户提供能够充分发挥硬件并行性的高层语义的编码,减少体系对于编译器的依赖程度,提高系统的可实用性。
一种指令控制延时的方法,其特征在于,该方法包括以下步骤:一个指令编码步骤,用于设计操作延时控制指令的指令编码,操作延时控制指令编码包括:指令格式控制域编码、指令段格式控制域编码、指令段计时延时控制域编码或指令段条件延时域控制编码、和多个指令段编码,每个指令段编码是在所述指令格式控制域编码和所述指令段格式控制域编码约束下对应于功能部件的操作域编码;一个操作延时控制指令接收步骤,接收所述操作延时控制指令编码;一个格式译码步骤,用于对所述操作延时控制指令中的所述指令格式控制域编码和所述指令段格式控制域编码进行译码,并从该操作延时控制指令中剥离出各个操作域编码、及所述指令段计时延时控制域编码或所述指令段条件延时控制域编码;一个延时编码标识步骤,用于根据所述指令段计时延时控制域编码或所述指令段条件延时控制域编码将被延时的操作域编码存贮在操作域延时编码队列中、并控制该操作域延时编码的计时延时标识或条件延时标识状态更新;一个延时重组步骤,用于针对各个操作域将存贮在操作域延时编码队列中的延时编码与从外部输入的同一操作域的编码实行延时重组,产生各个操作域的当周期执行的编码及其使能信号;以及,一个输出步骤,用于输出经延时重组的各个操作域的编码及其使能信号。
一种指令控制延时装置,可响应多位操作延时控制指令外部存贮方式,可响应多位内部操作延时控制指令寄存器存贮方式,使该操作延时控制指令作用于延时控制装置,对在机器总线宽度约束下不能同时取入但又需要并行执行的操作域进行延时和重组,通过把操作域放在先行指令中予取、并延时执行的方式实现更多操作域的并行控制,其特征在于,包括以下部件:配合该装置的多位操作延时控制指令存贮器、寄存器的指令和数据输入方式,一个用于接收操作延时控制指令的操作延时控制指令接收部件;配合所述操作延时控制指令接收部件的一个格式译码部件,用于对操作延时控制指令中的所述指令格式控制域编码、所述指令段格式控制域编码进行译码,并从操作延时控制指令中剥离操作域编码和所述指令段计时延时控制域或所述指令段条件延时控制域的编码;配合所述格式译码部件的用于实现被延时的操作编码暂存和延时执行的一个延时标识部件;配合所述延时标识部件的一个延时重组部件,用于将各个操作域的暂存在延时标识部件中的操作编码与外来指令中的同一操作域的操作编码进行重组,产生该操作域的当周期执行的操作编码及该操作域的使能信号;以及,一个用于输出各个操作域的操作编码及其使能信号的输出部件。
本发明的一个优点是利用表示串行操作的指令中的空闲指令编码段预先取入后续并行操作指令中由于机器总线宽度约束不能取入的操作编码,在机器总线宽度不变的情况下使得超过机器总线宽度的编码能够在需要的时刻同时参与控制,从而增加了操作的吞吐量、增加了机器的并行控制能力,提高了机器的执行效率。
本发明的又一个优点是对串行操作编码的压缩,使得因存在相关关系而被顺序排列在一个指令流中的操作编码,通过在先行指令中预先取入延时执行的方法压缩到较少的指令中,从而降低了指令空间的占用,一方面减少了对于指令高速缓存的需求量,另一方面减少了取指周期,提高了机器的执行效率。
本发明的另一个优点是操作延时控制指令体系在格式控制域和延时控制域的作用下操作编码可以直接实现对执行部件的控制,减少了译码延时。
本发明的另一个优点是使译码电路减少到整体电路规模的5%以下,同时降低了译码电路的复杂程度,从而缩短设计周期。
本发明的另一个优点是经操作延时控制指令体系的延时控制,使串并行操作被有效地排列在一段压缩的编码中形成高层语义功能,并在用户界面上可直接被引用,从而有效地简化优化编译器设计,精简程序规模,为应用人员提供了灵活的语法、语用环境,同时提高了整个系统程序执行效率。
图1a是本发明的实现延时的4个指令段的第一种操作延时控制指令格式示意图;
图1b是本发明的实现延时的4个指令段的第二种操作延时控制指令格式示意图;
图2是本发明的实现延时的指令控制延时装置的总体结构图;
图3是本发明的实现延时的操作延时控制指令接收部件结构图;
图4a是本发明的实现延时的配合图1a的第一种操作延时控制指令格式的格式译码部件结构图;
图4b是本发明的实现延时的配合图1b的第二种操作延时控制指令格式的格式译码部件结构图;
图4c是本发明的实现延时的指令段格式控制域译码部件结构图;
图4d是本发明的实现延时的操作域剥离部件结构图;
图4e是本发明的实现延时的操作域使能部件结构图;
图4f是本发明的实现延时的计时延时控制域剥离部件结构图;
图4g是本发明的实现延时的条件延时控制域剥离部件结构图;
图5a是本发明的实现延时的配合图1a的第一种操作延时控制指令格式的延时标识部件结构图;
图5b是本发明的实现延时的配合图1b的第二种操作延时控制指令格式的延时标识部件结构图;
图5c是本发明的实现延时的操作域延时编码队列结构图;
图5d是本发明的实现延时的操作域延时编码计时标识结构图;
图5e是本发明的实现延时的操作域延时编码条件标识结构图;
图6a是本发明的实现延时的配合图1a的第一种操作延时控制指令格式的延时重组部件结构图;
图6b是本发明的实现延时的配合图1b的第二种操作延时控制指令格式的延时重组部件结构图;
图6c是本发明的实现延时的计时延时重组控制部件结构图;
图6d是本发明的实现延时的条件延时重组控制部件结构图;
图6e是本发明的实现延时的延时重组选通部件结构图;
图7是本发明的实现延时的流程图;
图8a是本发明的实现一个程序实例的操作流图;
图8b是本发明的实现所述程序实例的指令字中操作域编码图;
图8c是本发明的实现所述程序实例的配合图1a的第一种指令格式的指令执行时序图;
图8d是本发明的实现延时的配合图1b的第二种指令格式的指令执行时序图;
本发明的实现基于操作延时控制指令。图1a、图1b给出了两种操作延时控制指令格式。图1a表示的操作延时控制指令格式包括:
1)指令格式控制域11:每个指令格式中只有一个指令格式控制域11,用于定义操作延时控制指令的构成,即所包含的指令段数、每个指令段、及其指令段格式控制域、指令段延时控制域的宽度与位置;
2)指令段格式控制域12:每个指令格式中有若干个指令段格式控制域12,用于标识对应的指令段的编码所作用的功能部件,指令段格式控制域12的宽度决定了对应的指令段可以替换控制的功能部件的个数;
3)指令段13:每个指令格式中有若干个指令段13,其数目与指令段格式控制域12的个数相同,用于实现对功能部件的控制。配合指令段格式控制域12的编码,指令段13对应于不同的功能部件,即成为实现不同操作的操作域。
4)指令段计时延时控制域14:每个指令格式中有若干个指令段计时延时控制域14,其数目与指令段格式控制域12的个数相同,用于标识对应指令段13配合指令段格式控制域12编码的操作域的执行时刻,指令段计时延时控制域14可以缺省,缺省时对应指令段13配合指令段格式控制域12编码的操作域在当周期执行。
运用图1a所述的操作延时控制指令格式设计一个延时操作控制指令编码的步骤如下:
1)根据操作延时控制指令所要实现的功能,设计操作流程,选择功能部件,并以控制这些功能部件的操作域作为实现该操作延时控制指令的操作域集合。
2)根据操作延时控制指令所要实现的功能,对所述选定的操作域,在其编码表中选择对应于该操作延时控制指令功能所需操作的编码作为该操作延时控制指令中该操作域的编码。
3)按照所要实现的操作延时控制指令的功能,将所述操作域集合中的各个操作域按照执行的先后顺序排列成为若干并行操作域组成的行的序列,每一个并行操作域组成的行表示在同一时刻并行执行的操作域。
对于操作域编码宽度没有超过机器总线宽度的并行操作域组成的行进行编码,具体步骤如下:
1)以在指令段13中可替换出现的所有操作域的编码宽度的最大值作为指令段13宽度,以所述选定的各个操作域的编码作为指令段13的编码;
2)缺省操作域所在指令段13的指令段计时延时控制域14。
3)对指令段13中可以替换出现的操作域的个数进行编码,并以该编码宽度作为指令段格式控制域12的宽度。
4)对于所述指令段13任意给出可以替换出现的操作域的顺序,并以所述选定操作域的顺序号作为指令段格式控制域12编码。
5)对整个指令系统允许的指令段划分方式的数量进行编码,并以该编码宽度作为指令格式控制域11的宽度。
6)任意给出所述整个指令系统允许的指令段划分方式的排列顺序,并以实现该操作延时控制指令的指令段划分方式对应的编码作为指令格式控制域11编码。
对于操作域编码宽度超过机器总线宽度的并行操作域组成的行进行操作延时编码处理,具体步骤如下:
1)在机器总线宽度约束下,在所述并行操作域组成的行的操作域集合中选择若干个操作域排列在一条指令中;
2)以在指令段13中可替换出现的所有操作域的编码宽度的最大值作为指令段13宽度,以所述选定的各个操作域的编码作为指令段13的编码;
3)缺省操作域所在指令段13的指令段计时延时控制域14。
4)对指令段13中可以替换出现的操作域的个数进行编码,并以该编码宽度作为指令段格式控制域12的宽度。
5)对于所述指令段13任意给出可以替换出现的操作域的顺序,并以所述选定操作域的顺序号作为指令段格式控制域12编码。
6)对整个指令系统允许的指令段划分方式的数量进行编码,并以该编码宽度作为指令格式控制域11的宽度。
7)任意给出所述整个指令系统允许的指令段划分方式的排列顺序,并以实现该操作延时控制指令的指令段划分方式对应的编码作为指令格式控制域11编码。
8)在机器总线宽度约束下,若在上一个指令中有宽度适合的空闲指令段13,则在所述操作域集合剩余的操作域中选择若干个操作域排列在该空闲指令段13中,并将该指令段13对应的指令段计时延时控制域14设置为1,表示该指令段13中的操作域延时1个周期执行;否则,继续向上查找宽度适合的空闲的指令段,相关联的指令段计时延时控制域14逐条递增1;直到找到为止;若始终没有找到,则在第一条指令之前增加一条包含该操作域的操作延时控制指令;
9)重复所述步骤8),直到操作域集合变为空。
图1b表示的是另一种实现操作延时控制指令的指令格式。图1b表示的操作延时控制指令格式包括:
1)指令格式控制域11;
2)指令段格式控制域12;
3)指令段13;
4)指令段条件延时控制域15:每个指令格式中有若干个指令段条件延时控制域15,其数目与指令段格式控制域12的个数相同,用于标识对应指令段13配合指令段格式控制域12编码的操作域的执行条件,指令段条件延时控制域15可以缺省,缺省时对应指令段13配合指令段格式控制域12编码的操作域在当周期执行。
运用图1b所述的操作延时控制指令格式设计一个延时操作控制指令编码的步骤如下:
1)根据操作延时控制指令所要实现的功能,设计操作流程,选择功能部件,并以控制这些功能部件的操作域作为实现该操作延时控制指令的操作域集合。
2)从所述操作流程中分析所述操作域集合中各个操作域的执行条件,以各个操作域执行条件的编码分别作为各个操作域的条件延时控制域编码。
3)根据操作延时控制指令所要实现的功能,对所述选定的操作域,在其编码表中选择对应于该操作延时控制指令功能所需操作的编码作为该操作延时控制指令中该操作域的编码。
4)在机器总线宽度约束下,将所述操作域集合中操作域排列在若干指令字的指令段13中。
5)以在指令段13中可替换出现的所有操作域的编码宽度的最大值作为指令段13宽度,以所述选定的各个操作域的编码作为指令段13的编码;
6)以所述操作域的条件延时控制编码作为该操作域所在指令段13的指令段条件延时控制域15。
7)对指令段13中可以替换出现的操作域的个数进行编码,并以该编码宽度作为指令段格式控制域12的宽度。
8)对于所述指令段13任意给出可以替换出现的操作域的顺序,并以所述选定操作域的顺序号作为指令段格式控制域12编码。
9)对整个指令系统允许的指令段划分方式的数量进行编码,并以该编码宽度作为指令格式控制域11的宽度。
10)任意给出所述整个指令系统允许的指令段划分方式的排列顺序,并以实现该操作延时控制指令的指令段划分方式对应的编码作为指令格式控制域11编码。
实现操作延时控制指令的指令格式中可以包含任意多个指令段13。图1a、图1b只是实现操作延时控制指令的指令格式的一个示例。
图2是指令控制延时装置的总体结构图。包括:操作延时控制指令接收部件21,格式译码部件22,延时标识部件23,延时重组部件24,输出部件25。其中,操作延时控制指令接收部件21以存贮方式接收来自存贮器的操作延时控制指令,或以寄存器方式接收来自于内部寄存器堆的操作延时控制指令,并形成可供译码执行的满足所述操作延时控制指令格式的指令编码;格式译码部件22接收来自操作延时控制指令接收部件21的操作延时控制指令编码,经过与上述操作延时控制指令格式配合的格式译码,剥离出指令中包含的操作域、延时控制域,并形成所有操作域的使能信号;延时标识部件23接收来自格式译码部件22的操作域、其使能信号、所有延时控制域、以及指令格式控制域11译码结果和指令段格式控制域12译码结果,形成延时操作编码队列、延时控制状态信号,以及配合所接收的操作延时控制指令的各个操作域的延时执行周期数、或延时执行条件;延时重组部件24从延时标识部件23接收延时编码、延时控制状态信号、以及配合所接收的操作延时控制指令的各个操作域的延时执行周期数、或延时执行条件,形成该操作域的编码及其延时执行使能信号;输出部件25从延时重组部件24接收操作域的编码及其使能信号作为指令控制延时装置的最终输出。
图3是指令控制延时装置的操作延时控制指令接收部件21的结构图。包括:指令拼装标识寄存器30、指令拼装部件31和指令寄存器32。指令拼装标识寄存器是一个可设置的状态寄存器,表示操作延时控制指令的来源。指令拼装部件31是一个选通器,它以存贮方式从一个外部存贮器接收操作延时控制指令,以寄存器方式从一个内部寄存器堆接收操作延时控制指令,在预先设定的内部指令拼装标识寄存器状态的控制下选择其中一路构成实际执行的操作延时控制指令,装载到指令寄存器32中。
图4a是配合图1a所述操作延时控制指令格式的格式译码部件22结构图。格式译码部件22接收操作延时控制指令接收部件21输出的操作延时控制指令,剥离出操作域、指令段计时延时控制域,并产生所有操作域的使能信号。包括:指令格式控制域译码部件41,指令段格式控制域译码部件42,操作域剥离部件43,计时延时控制域剥离部件44,操作域使能部件45。指令格式控制域译码部件41是一个译码器,接收操作延时控制指令中的指令格式控制域11,产生指令格式控制域的译码信号,指令格式控制域译码部件41的结构由指令格式控制域的宽度确定(如:2-4译码器、3-8译码器等);指令段格式控制域译码部件42接收操作延时控制指令中的各个指令段格式控制域12,产生指令段格式控制域的译码信号;操作域剥离部件43在指令格式控制域译码部件41的译码结果控制下,从操作延时控制指令中剥离各个操作域;计时延时控制域剥离部件44在指令格式控制域译码部件41、指令段格式控制域译码部件42的译码结果控制下,从操作延时控制指令中剥离各个指令段计时延时控制域14;操作域使能部件45接收指令格式控制域译码部件41、指令段格式控制域译码部件42输出的结果,产生各个操作域在所接收的操作延时控制指令中是否使能的信号。
图4b是配合图1b所述操作延时控制指令格式的格式译码部件22结构图。与图4a的不同之处在于没有计时延时控制域剥离部件44,而增加了条件延时控制域剥离部件46。条件延时控制域剥离部件46在指令格式控制域译码部件41的译码结果控制下,从操作延时控制指令中剥离各个指令段条件延时控制域15。
图4c是配合所述各种操作延时控制指令格式的指令段格式控制域译码部件42结构图。指令段格式控制域译码部件42由配合操作延时控制指令中指令段格式控制域12的一组指令段格式控制域译码器47组成,每个指令段格式控制域译码器47接收一个指令段格式控制域12,产生该指令段格式控制域12译码信号,每个指令段格式控制域译码器47的的结构由其接收的指令段格式控制域12的宽度确定(如:2-4译码器、3-8译码器)。
图4d是配合所述各种操作延时控制指令格式的操作域剥离部件43。操作域剥离部件43由配合各个指令段所有可替换控制的功能部件的操作域的一组操作域剥离选通器48组成,每个操作域剥离选通器48连接一个操作域在各种操作延时控制指令格式中的能够替换出现的所有指令段13,在指令格式控制域译码部件41和指令段格式控制域译码部件42输出结果的编码组合控制下,从所接收的操作延时控制指令中剥离出该操作域。
图4e是配合所述各种操作延时控制指令格式的操作域使能部件45。操作域使能部件45由配合操作延时控制指令中允许出现的操作域的一组操作域使能逻辑49组成,每个操作域使能逻辑49接收指令格式控制域译码部件41和指令段格式控制域译码部件42的该操作域对应的译码结果,通过逻辑组合,产生该操作域配合所接收的操作延时控制指令的操作域使能信号。
图4f是配合所述第一种操作延时控制指令格式的计时延时控制域剥离部件44。计时延时控制域剥离部件44由配合操作延时控制指令中各个指令段计时延时控制域14的一组计时延时控制域选通器410组成,每个计时延时控制域选通器410接收一个指令段计时延时控制域14在各种操作延时控制指令格式中的所有可能的出现,在指令格式控制域译码部件41输出结果的控制下,从所接收的操作延时控制指令中剥离指令段计时延时控制域14。
图4g是配合所述第二种操作延时控制指令格式的条件延时控制域剥离部件46。条件延时控制域剥离部件46由配合操作延时控制指令中各个指令段条件延时控制域15的一组条件延时控制域选通器411组成,每个条件延时控制域选通器411接收一个指令段条件延时控制域15在各种操作延时控制指令格式中的所有可能的出现,在指令格式控制域译码部件41输出结果的控制下,从所接收的操作延时控制指令中剥离指令段条件延时控制域15。
图5a是配合图1a所述操作延时控制指令格式的延时标识部件23结构图。配合图1a所述操作延时控制指令格式的延时标识部件23接收来自格式译码部件22的各个操作域及其使能信号、指令段计时延时控制域14、并接收来自格式译码部件22的指令格式控制域11译码结果和指令段格式控制域12译码结果,产生各个操作域的延时编码队列、延时编码时序控制信号、以及配合所接收的操作延时控制指令的各个操作域的延时执行周期数。配合图1a所述操作延时控制指令格式的延时标识部件23包括:一组操作域延时编码队列51,一组操作域延时编码计时标识52。一个操作域延时编码队列51从格式译码部件22接收一个操作域及其使能信号,在来自格式译码部件22的指令格式控制域11译码结果和指令段格式控制域12译码结果控制下,从格式译码部件22接收该操作域所在指令段13的指令段计时延时控制域14编码作为该操作域延时执行周期数,并从该操作域延时编码计时标识52中接收该操作域延时编码队列51中各个延时编码的延时执行周期数,按照执行时间的先后顺序将所接收的操作域编码插入在该操作域的延时编码队列51中的适当位置,即:在其之前的该操作域延时编码是需要先行执行的编码,而在其之后的该操作域延时编码是需要后置执行的编码;一个操作域的操作域延时编码计时标识52从格式译码部件22接收一个操作域的使能信号,同时从格式译码部件22接收该操作域所在指令段13的指令段计时延时控制域14编码作为该操作域延时执行周期数,按照执行时间的先后顺序将所接收的操作域的延时周期数作为延时执行周期数初始值存入该操作域的操作域延时编码计时标识52中的一个计数器中,该计数器是配合上述选定的在该操作域的延时编码队列51中的插入位置的延时计数器。
图5b是配合图1b所述操作延时控制指令格式的延时标识部件23结构图。配合图1b所述操作延时控制指令格式的延时标识部件23接收来自格式译码部件22的各个操作域及其使能信号、指令段条件延时控制域15、指令格式控制域11译码结果和各个指令段格式控制域12译码结果,产生各个操作域的延时编码队列、延时编码执行条件控制信号。配合图1b所述操作延时控制指令格式的延时标识部件23包括:一组操作域延时编码队列51,一组操作域延时编码条件标识53。一个操作域延时编码队列51从格式译码部件22接收一个操作域及其使能信号,在来自格式译码部件22的指令格式控制域11译码结果和指令段格式控制域12译码结果控制下,从格式译码部件22接收该操作域所在指令段13的指令段条件延时控制域15编码作为该操作域延时执行条件选通控制信号,若该操作域延时执行条件选通控制信号对应的条件尚未成立,则将所接收的操作域编码存贮到该操作域延时编码队列51的一个延时队列锁存器中;一个操作域的操作域延时编码条件标识53从格式译码部件22接收一个操作域的使能信号,同时从格式译码部件22接收该操作域所在指令段13的指令段条件延时控制域15编码作为该操作域延时执行条件选通控制信号,若该操作域延时执行条件选通控制信号对应的条件尚未成立,则将该操作延时执行条件选通控制信号存贮到该操作域的操作域延时编码条件标识53中对应于所述操作域编码在其操作域延时编码队列51中的位置的条件码寄存器56中。
图5c是一个操作域的操作域延时编码队列51结构图。一个操作域延时编码队列51由一组可以控制的延时队列锁存器54组成,与操作域延时编码计时标识52中的延时计数器55或操作域延时编码条件标识53中的条件编码寄存器56一一对应,用于存贮该操作域延时执行的编码。对于一个使能的操作域,对应于图1a所述第一操作延时控制指令格式,操作域延时编码队列51的延时队列锁存器54的控制方法是:当输入的延时执行编码的延时执行周期数大于等于本延时队列锁存器54对应的延时计数器55中的数值时,本锁存器保持;当输入的延时编码的延时执行周期数大于等于前一个延时队列锁存器54对应的延时计数器55中的数值、且小于本延时队列锁存器54对应的延时计数器55中的数值时,本延时队列锁存器54选择所述输入的延时编码设置;当输入的延时编码的延时执行周期数小于前一个延时队列锁存器54对应的延时计数器55中的数值、且小于本延时队列锁存器54对应的延时计数器55中的数值时,本锁存器选择前一个延时队列锁存器54编码设置。当操作域延时编码队列51中的第一个延时队列锁存器54中的操作域编码被执行时,该操作域的每个延时队列锁存器54选择后一个延时队列锁存器54的编码进行设置。一个操作域延时编码队列51中的各个延时队列锁存器54的设置同时进行。对应于图1b所述第二操作延时控制指令格式,操作域延时编码队列51的延时队列锁存器54的控制方法是:对应的条件编码寄存器56控制选通的条件成立的延时队列锁存器54中的第一个写入所述输入的延时编码。
图5d是一个操作域延时编码计时标识52结构图。一个操作域延时编码计时标识52由一组可以设置(SET)、减1(DEC)、和选通初始值的延时计数器55组成,用于记载该操作域的各个延时编码的延时执行周期数。对于一个使能的操作域,其操作域延时编码计时标识52中的延时计数器55的控制方法是:当输入的延时执行编码的延时执行周期数大于等于本延时计数器55中的数值,且计数器不为0时,计数器减1;当输入的延时编码的延时执行周期数大于等于前一个延时计数器55中的数值、且小于本延时计数器55中的数值时,本延时计数器55选择所述该操作域的输入延时执行周期数作为初始值设置本延时计数器55;当输入的延时编码的延时执行周期数小于前一个计数器55中的数值、且小于本延时计数器55中的数值时,本延时计数器55选择前一个延时计数器55的数值设置;其余情况计数器保持不变。当操作域延时编码队列51中的第一个延时队列锁存器54中的操作域编码被执行时,该操作域的每个延时计数器55选择后一个延时延时计数器55的值进行设置。一个操作域延时编码计时标识52中的各个延时计数器55的减1或设置操作的设置同时进行。
图5e是一个操作域延时编码条件标识53结构图。一个操作域延时编码条件标识53由一组由条件码寄存器56和延时队列锁存器条件选通部件57组成的部件对组成,用于确定在操作域延时编码队列51中对应位置上的延时队列锁存器54中的延时编码的执行条件是否成立。对于一个使能的操作域,其操作域延时编码条件标识53中的条件码寄存器的控制方法是:当前面的延时队列锁存器条件选通部件57结果均为0,而本延时队列锁存器条件选通部件57结果均为1时,本条件码寄存器56写入所述操作域所在指令段13对应的指令段条件延时控制域15编码。
图6a是配合图1a所述第一种操作延时控制指令的延时重组部件24结构图。延时重组部件24接收来自格式译码部件22的各个操作域编码及其使能信号,接收来自延时标识部件23的各个操作域的由先行指令取入并延时的编码队列、配合所接收的操作延时控制指令的各个操作域的延时执行周期数,产生各个操作域的当周期执行的操作编码及其使能信号。延时重组部件24包括一个计时延时重组控制部件61、一个延时重组选通部件62、和一个延时重组操作使能部件63。其中,计时延时重组控制部件61用于接收各个操作域的来自格式译码部件22的使能信号和来自延时标识部件23的操作域延时编码执行时序控制信号、以及配合所接收的操作延时控制指令的各个操作域的延时执行周期数,产生控制延时重组选通部件62的选通控制信号;延时重组选通部件62用于接收各个操作域的来自格式译码部件22的操作域编码和来自延时标识部件23的延时队列中的被延时执行的操作域编码,在计时延时重组控制部件61产生的选通控制信号的控制下产生各个操作域的当周期执行的编码;延时重组操作使能部件63接收计时延时重组控制部件61产生的选通控制信号,分别对每个操作域选通控制信号的各位进行逻辑组合,产生各个操作域的使能信号,操作域使能信号的产生逻辑为:对于一个操作域,当计时延时重组控制部件61产生的该操作域的选通控制信号中有1位有效时,操作域使能信号有效。
图6b是配合图1b所述第二中操作延时控制指令的延时重组部件24结构图。延时重组部件24接收来自格式译码部件22的各个操作域编码及其使能信号,接收来自延时标识部件23的各个操作域的由先行指令取入并延时的编码队列、配合所接收的操作延时控制指令的各个操作域的延时执行的条件,产生各个操作域的操作编码及其使能信号。延时重组部件24包括一个条件延时重组控制部件64、一个延时重组选通部件62、和一个延时重组操作使能部件63。其中,条件延时重组控制部件64用于接收各个操作域的来自格式译码部件22的使能信号和来自延时标识部件23的操作域延时编码执行条件信号,产生控制延时重组选通部件62的选通控制信号;延时重组选通部件62用于接收各个操作域的来自格式译码部件22的操作域编码和来自延时标识部件23的延时队列中的被延时执行的操作域编码,在条件延时重组控制部件64产生的选通控制信号的控制下产生各个操作域的当周期执行的编码;延时重组操作使能部件63接收条件延时重组控制部件64产生的选通控制信号,分别对每个操作域选通控制信号的各位进行逻辑组合,产生各个操作域的使能信号,操作域使能信号的产生逻辑为:对于一个操作域,当条件延时重组控制部件64产生的该操作域的选通控制信号中有1位有效时,操作域使能信号有效。
图6c是计时延时重组控制部件61结构图。计时延时重组控制部件61由一组计时延时选通控制信号生成逻辑65组成,一个计时延时选通控制信号生成逻辑65用于接收一个操作域的来自格式译码部件22的该操作域使能信号和来自延时标识部件23的该操作域的各个延时编码执行时序控制信号、以及配合所接收的操作延时控制指令的各个操作域的延时执行周期数,产生延时重组的选通控制信号。延时重组选通控制信号的产生逻辑为:对于任意一个操作域,若所接收的操作延时控制指令中该操作域使能、且其延时执行周期数为0,则选通来自格式译码部件22的该操作域编码的选通信号有效;否则,若来自该操作域的操作域延时编码时序标识52中第一个延时计数器55中的数值为0,则选通来自该操作域的操作域延时编码队列51的操作延时编码的选通信号有效;其余情况下,选通信号均无效。
图6d是条件延时重组控制部件64结构图。条件延时重组控制部件64由一组条件延时选通控制信号生成逻辑66成,一个条件延时选通控制信号生成逻辑66用于接收一个操作域的来自格式译码部件22的该操作域使能信号和来自延时标识部件23的该操作域的各个延时编码执行条件信号,产生延时重组的选通控制信号。延时重组选通控制信号的产生逻辑为:对于任意一个操作域,若所接收的操作延时控制指令中该操作域使能、且其延时执行条件码对应的条件成立,则选通来自格式译码部件22的该操作域编码的选通信号有效;否则,若来自该操作域的操作域延时编码条件标识53中一个延时队列锁存器条件选通部件57的输出为真,则选通来自该操作域的操作域延时编码队列51的相应延时队列锁存器值的选通信号有效;其余情况下,选通信号均无效。
图6e是延时重组选通部件62结构图。延时重组选通部件62由一组操作域延时重组选通器67组成,一个操作域延时重组选通器67用于接收一个操作域的来自格式译码部件22的该操作域编码和来自延时标识部件23的该操作域延时编码队列中的第一个延时编码,在计时延时重组控制部件61控制下选通产生该操作域的当周期执行的操作编码;或接收一个操作域的来自格式译码部件22的该操作域编码和来自延时标识部件23的该操作域延时编码队列中的所有延时编码,在条件延时重组控制部件64控制下选通产生该操作域的当周期执行的操作编码。
图7是配合所述操作延时控制指令格式和延时控制装置的指令控制延时的流程图。
步骤71接收操作延时控制指令编码。该步骤之前的步骤包括将所述格式的操作延时控制指令编码装载到外部存贮器或内部寄存器步骤、和装载指令拼装标识步骤;步骤71以存贮方式接收来自存贮器的操作延时控制指令编码,或以寄存器方式接收来自内部寄存器的操作延时控制指令编码,并根据指令拼装标识选取其中一路指令构成控制延时装置的包括格式控制域编码、延时控制域编码、操作域编码的操作延时控制指令;
步骤72实现操作延时控制指令的格式译码,完成操作延时控制指令的指令格式控制域11和各个指令段格式控制域12的译码,在格式译码结果控制下剥离各个操作域的编码、生成各个操作域的使能信号,并剥离指令段计时延时控制域14编码或指令段条件延时控制域15编码;
对每个操作域进行以下步骤:
步骤74依据步骤72产生的该操作域所在指令段的指令段计时延时控制域14编码或指令段条件延时控制域15编码、和该操作域的使能信号,判断该操作域编码是否需要立即执行,若不需立即执行,则转步骤75处理,否则转步骤76处理;
步骤75接收需延时执行的操作域编码和该操作域所在指令段的指令段计时延时控制域14编码或指令段条件延时控制域15编码,配合内部延时标识部件的状态,将操作域的延时执行的编码存贮到该操作域的操作域延时编码队列51,并用指令段计时延时控制域14编码作为初始值设置相应的延时计数器55,或用指令段条件延时控制域15编码设置相应的条件码寄存器56,步骤75还在每周期完成对所有操作域的延时计数器55的递减操作、和依据条件码寄存器56值的延时条件判别;
步骤76接收指令中需要立即执行的操作域编码和操作域延时编码队列51中的各个操作域的延时编码,根据格式译码步骤产生的该操作域的使能信号、该操作域的所在指令段13的指令段计时延时控制域14或指令段条件延时控制域15、和该操作域的操作域延时编码计时标识52、或操作域延时编码条件标识53的状态,从该操作域的各个编码中选择其一作为配合步骤71接收的操作延时控制指令和内部延时标识状态的该操作域的当周期执行的编码,并形成该操作域的使能信号,实现操作域的延时编码与接收的指令中该操作域编码的延时重组。
步骤77输出所有操作域的编码及其使能信号。
图8a是实现一个程序实例的操作流图。其中,每一个格子中是一个操作域的助记符和编码。所述程序实例功能为计算(X+Y)*Z、同时计算(X+Y)-Z、同时求数组A的4个数中的极大值及其累加和。DAU为定点加法运算操作域,单周期执行;DCOM为连续求极值操作域,单周期执行;TMS为循环控制操作域(=4),单周期执行;INC为地址增量操作域,单周期执行;LD为取数操作域,双周期流水执行;FMUL为浮点乘法运算操作域,3周期流水执行;FAU为浮点加法操作域,3周期流水执行。图8a表现了实现所述程序的操作序列,每一行中的操作域编码在同一个周期内并行执行。由图8a可见,在第4个周期需要执行6个操作域编码,假设机器总线宽度约束每个指令字中最多只能放置4个操作域,则需要采用延时控制指令格式,将第4个周期执行的操作域FAU、FMUL在第1个周期取入,并用计时延时控制域14编码控制这两个操作域延时到第4周期执行;并通过一个在第1周期取入并延时1周期执行的重复控制操作域TMS控制连续极值计算和累加和计算。图8b是实现所述程序功能的指令字中操作域编码图,标号dli(i=1,2,3…)标识操作域延时i个周期执行。
图8c是配合图1a第一种操作延时控制指令格式和所述程序功能的指令执行时序。其中,PC+i为指令地址(i=0、1、2、3等),A+i为数据地址(i=0、1、2、3等),INSi为输入的操作延时控制指令(i=1、2、3等);图中指令根据所述各个操作的时序特征,采用计时延时的操作延时控制指令格式,利用指令格式控制域11、和指令段格式控制域12的编码组合将各个操作域排列在两个指令字中,并通过各个指令段计时延时控制域14编码标识各个操作域的执行时刻;
第一个指令字中各个指令段编码及其执行时刻的定义如下:
指令段 操作域 编码功能 编码 执行时刻
1  FAU 两个浮点操作数X、Y相加 00-00100-10100 当周期执行
2  FMUL X+Y结果乘Z 10-00100-10000 延时3周期执行
3  FAU X+Y结果减Z 10-00100-10000 延时3周期执行
4  TMS 4次循环控制 0000-0000-0000-0100 延时1周期执行
第二个指令字中各个指令段编码及其执行时刻的定义如下:
指令段 操作域 编码功能 编码 执行时刻
1. LD 读入1个数 101-10101 当周期执行
2. INC 地址加1 10100 当周期执行
3. DAU A[i]累加 1010-01100-11000 延时2周期执行
4. DCOM 极值计算 0010-01100-11001 延时2周期执行
基于所述指令编码,两个指令字的执行过程如下:
在T1周期,当所述操作延时控制指令接收部件21接收第一指令字后,格式译码部件22对指令格式控制域11和各个指令段格式控制域12进行译码,并根据译码结果从该指令字中剥离出FAU(00-00100-10100)、FAU(10-00100-10000)、FMUL(10-00100-10000)、TMS(0000-0000-0000-0100)操作域编码,并产生这4个操作域使能信号,之后,格式译码部件22产生的操作域编码和使能信号由延时标识部件23接收,在各个指令段计时延时控制域14编码控制下,将其中的FMUL(10-00100-10000)、FAU(10-00100-10000)、TMS(0000-0000-0000-0100)编码分别存入这些操作域的延时编码队列51中,同时将它们对应的指令段计时延时控制域14的编码作为初始值设置这些操作域的操作域延时编码计时标识52,同时,执行FAU编码(00-00100-10100)进行X+Y;
T2周期,接收第二指令字,采用与T1时类似的方法处理各个操作域,根据第二指令字编码和各个操作域延时标识的状态,执行第二指令字输入的LD(101-10101)编码取A[0],执行INC(10100)操作域编码形成A[1]地址,同时执行第一个指令字延时下来的TMS(0000-0000-0000-0100)操作域编码使重复执行次数-1(TMS=3);
T3周期,根据所述两个指令字中各个操作域及其延时标识的状态,执行LD(101-10101)编码取A[1],执行INC(10100)操作域编码形成A[2]地址,同时执行TMS(0000-0000-0000-0011)操作域编码使重复执行次数-1(TMS=2);
T4周期,根据所述两个指令字中各个操作域及其延时标识的状态,执行LD(101-10101)编码取A[2],执行INC(10100)操作域编码形成A[3]地址,执行DAU(1010-01100-11000)操作域编码计算0+A[0],执行DCOM(0010-01100-11001)操作域编码求A[0]与内置极大值中的极大值,同时执行TMS(0000-0000-0000-0010)操作域编码使重复执行次数-1(TMS=1),同时,还执行FMUL(10-00100-10000)操作域计算(X+Y)的结果乘以Z,执行FAU(10-00100-10000)操作域计算(X+Y)的结果减Z;
T5周期,根据所述两个指令字中各个操作域及其延时标识的状态,执行LD(101-10101)编码取A[3],执行INC(10100)操作域编码形成A[4]地址,执行DAU(1010-01100-11000)操作域编码累加A[1],执行DCOM(0010-01100-11001)操作域编码求A[1]与内置极大值中的极大值,同时执行TMS(0000-0000-0000-0001)操作域编码使重复执行次数-1(TMS=0);
T6周期,根据所述两个指令字中各个操作域及其延时标识的状态,执行DAU(1010-01100-11000)操作域编码累加A[2],执行DCOM(0010-01100-11001)操作域编码求A[2]与内置极大值中的极大值,取入下一个指令字INS3并译码;
T7周期,根据所述两个指令字中各个操作域及其延时标识的状态,执行DAU(1010-01100-11000)操作域编码累加A[3],执行DCOM(0010-01100-11001)操作域编码求A[3]与内置极大值中的极大值,同时,执行指令字INS3。
图8d是配合图1b第二种操作延时控制指令格式的指令执行时序。其中,PC+i为指令地址(i=0、1等),INSi为输入的操作延时控制指令(i=1、2等);DCOM为连续求极值操作域、WAU-WSFT为加-移位操作域、MTNST为栈操作域、TMS为循环控制操作域(=6)。该指令字实现的功能是求堆栈中6个数中极大极小值的平均值。图中指令根据所述操作的串并行时间关系,采用操作的条件延时控制指令格式。利用指令格式控制控制域11、指令段格式控制域12的编码组合将DCOM、WAU-WSFT、MTNST、TMS排列在一条指令中,并通过指令段条件延时控制域15的编码标识各个操作域的开始执行条件,其中,000表示对应指令段13中的操作域无条件执行,111表示对应指令段13中的操作域在本条指令执行结束是执行;各个指令段编码如下:
指令段 操作域 编码功能 编码 执行时刻
1 DCOM 极值计算 1010-00000-11001 当周期执行
2 WAU-WSFT 求平均值 10-101-0101-0001 本指令字执行结束时执行
3 MTNST 出栈操作 10 当周期执行
4 TMS 重复控制 0000-0000-0000-0110 当周期执行
T1~T6周期,在循环操作域TMS控制下重复执行DCOM(1010-00000-11001)编码求极大极小值和MTNST(10)编码使操作数出栈;
T7周期WAU-WSFT操作域编码的条件延时控制域编码(111)标识的条件(本条指令执行结束)满足时,执行WAU-WSFT(10-101-0101-0001)操作域编码求极值的平均值。
本发明分别描述了计时延时控制和条件延时控制的实现方法和装置,在设计一个具体系统时两种延时控制的编码方法和控制装置可以结合在一起使用。
尽管以上结合附图所示例子描述了本发明,但显然本发明并不局限于此,在后附权利要求书所提出的创新思想范围内,可以通过若干不同方式加以变换。

Claims (22)

1.一种指令控制延时的方法,其特征在于,该方法包括以下步骤:
1)一个指令编码步骤,用于设计操作延时控制指令的指令编码,操作延时控制指令编码包括:指令格式控制域(11)编码、指令段格式控制域(12)编码、指令段计时延时控制域(14)编码或指令段条件延时域控制(15)编码、和多个指令段(13)编码,每个指令段(13)编码是在所述指令格式控制域(11)编码和所述指令段格式控制域(12)编码约束下对应于功能部件的操作域编码;
2)一个操作延时控制指令接收步骤,接收所述操作延时控制指令编码;
3)一个格式译码步骤,用于对所述操作延时控制指令中的所述指令格式控制域(11)编码和所述指令段格式控制域(12)编码进行译码,并从该操作延时控制指令中剥离出各个操作域编码、及所述指令段计时延时控制域(14)编码或所述指令段条件延时控制域(15)编码;
4)一个延时编码标识步骤,用于在延迟不为0情况下,根据所述指令段计时延时控制域(14)编码或所述指令段条件延时控制域(15)编码将被延时的操作域编码存贮在操作域延时编码队列中、并控制该操作域延时编码的计时延时标识或条件延时标识状态更新;
5)一个延时重组步骤,用于针对各个操作域将存贮在操作域延时编码队列中的延时编码与从外部输入的同一操作域的编码实行延时重组,产生各个操作域的当周期执行的编码及其使能信号;以及
6)一个输出步骤,用于输出经延时重组的各个操作域的编码及其使能信号。
2.如权利要求1所述的指令控制延时方法,其特征在于,操作延时控制指令的所述指令编码步骤包括以下步骤:
1)根据所述操作延时控制指令所要实现的功能,设计操作流程,选择功能部件,并以控制这些功能部件的操作域作为实现该操作延时控制指令的操作域集合;
2)根据所述操作延时控制指令所要实现的功能,对所述选定的操作域,在其编码表中选择对应于该操作延时控制指令功能所需操作的编码作为该操作延时控制指令中该操作域的编码;
3)按照所要实现的所述操作延时控制指令的功能,将所述操作域集合中的各个操作域按照执行的先后顺序排列成为若干并行操作域组成的行的序列,每一个并行操作域组成的行表示在同一时刻并行执行的操作域。
3.如权利要求2所述的指令控制延时方法,其特征在于,当操作域编码宽度之和没有超过机器总线宽度时,所述并行操作域组成的行的编码步骤为:
1)以在所述指令段(13)中可替换出现的所有操作域的编码宽度的最大值作为所述指令段(13)宽度,以所述选定的各个操作域的编码作为所述指令段(13)的编码;
2)缺省操作域所在的所述指令段(13)的所述指令段计时延时控制域(14);
3)对所述指令段(13)中可以替换出现的操作域的个数进行编码,并以该编码宽度作为所述指令段格式控制域(12)的宽度;
4)对于所述指令段(13)任意给出可以替换出现的操作域的顺序,并以所述选定操作域的顺序号作为所述指令段格式控制域(12)编码;
5)对整个指令系统允许的所述指令段(13)划分方式的数量进行编码,并以该编码宽度作为所述指令格式控制域(11)的宽度;以及
6)任意给出所述整个指令系统允许的所述指令段划分方式的排列顺序,并以实现该操作延时控制指令的指令段划分方式对应的编码作为所述指令格式控制域(11)编码。
4.如权利要求2所述的指令控制延时方法,其特征在于,当操作域编码宽度之和超过机器总线宽度时,所述并行操作域组成的行的编码步骤为:
1)在机器总线宽度约束下,在所述并行操作域组成的行的操作域集合中选择若干个操作域排列在一条指令中;
2)以在所述指令段(13)中可替换出现的所有操作域的编码宽度的最大值作为所述指令段(13)宽度,以所述选定的各个操作域的编码作为所述指令段(13)的编码;
3)缺省操作域所在的所述指令段(13)的所述指令段计时延时控制域(14);
4)对所述指令段(13)中可以替换出现的操作域的个数进行编码,并以该编码宽度作为所述指令段格式控制域(12)的宽度;
5)对于所述指令段(13)任意给出可以替换出现的操作域的顺序,并以所述选定操作域的顺序号作为所述指令段格式控制域(12)编码;
6)对整个指令系统允许的所述指令段(13)划分方式的数量进行编码,并以该编码宽度作为所述指令格式控制域(11)的宽度;
7)任意给出所述整个指令系统允许的所述指令段划分方式的排列顺序,并以实现该操作延时控制指令的指令段划分方式对应的编码作为所述指令格式控制域(11)编码;
8)对于余下的操作域,在机器总线宽度约束下,若在上一指令中有宽度适合的空闲的所述指令段(13),则在所述操作域集合剩余的操作域中选择若干个操作域排列在该空闲的指令段(13)中,并将该指令段(13)对应的所述指令段计时延时控制域(14)设置为1,表示该指令段(13)中的操作域延时1周期执行;否则继续向上查找宽度适合的空闲的指令段,相关联的所述指令段计时延时控制域(14)逐条递增1;直到找到为止;若始终没有找到,则在第一条指令之前增加一条包含该操作域的操作延时控制指令;以及
9)重复所述步骤8),直到所述操作域集合变为空。
5.如权利要求1所述的指令控制延时方法,其特征在于,操作延时控制指令的所述编码步骤包括以下步骤:
1)根据操作延时控制指令所要实现的功能,设计操作流程,选择功能部件,并以控制这些功能部件的操作域作为实现该操作延时控制指令的操作域集合;
2)从所述操作流程中分析所述操作域集合中各个操作域的执行条件,以各个操作域执行条件的编码分别作为各个操作域的条件延时控制域编码;
3)根据所述操作延时控制指令所要实现的功能,对所述选定的操作域,在其编码表中选择对应于该操作延时控制指令功能所需操作的编码作为该操作延时控制指令中该操作域的编码;
4)在机器总线宽度约束下,将所述操作域集合中操作域排列在若干指令字的所述指令段(13)中;
5)以在所述指令段(13)中可替换出现的所有操作域的编码宽度的最大值作为所述指令段(13)宽度,以所述选定的各个操作域的编码作为所述指令段(13)的编码;
6)以所述操作域的条件延时控制编码作为该操作域所在指令段(13)的所述指令段条件延时控制域(15)的编码;
7)对所述指令段(13)中可以替换出现的操作域的个数进行编码,并以该编码宽度作为所述指令段格式控制域(12)的宽度;
8)对于所述指令段(13)任意给出可以替换出现的操作域的顺序,并以所述选定操作域的顺序号作为所述指令段格式控制域(12)编码;
9)对整个指令系统允许的指令段(13)划分方式的数量进行编码,并以该编码宽度作为所述指令格式控制域(11)的宽度;以及
10)任意给出所述整个指令系统允许的指令段划分方式的排列顺序,并以实现该操作延时控制指令的指令段划分方式对应的编码作为所述指令格式控制域(11)编码。
6.如权利要求1所述的指令控制延时方法,其特征在于,操作延时控制指令的所述接收步骤之前的步骤包括以下步骤:
1)将所述格式的操作延时控制指令装载到外部存贮器或内部寄存器;以及
2)将指令拼装标识编码装载到指令拼装标识寄存器。
7.如权利要求1所述的指令控制延时方法,其特征在于,操作延时控制指令的所述接收步骤是在所述指令拼装标识寄存器编码的控制下以多位存贮器操作方式从外部存贮器接收多位操作延时控制指令编码。
8.如权利要求1所述的指令控制延时方法,其特征在于,操作延时控制指令的所述接收步骤是在所述指令拼装标识寄存器编码的控制下以多位寄存器操作方式从内部寄存器接收多位操作延时控制指令编码。
9.如权利要求1所述的指令控制延时方法,其特征在于,所述格式译码步骤包括以下步骤:
1)对所述接收步骤接收的所述操作延时控制指令中的所述指令格式控制域(11)编码和所述指令段格式控制域(12)编码进行译码;
2)从所述接收步骤接收的操作延时控制指令的各个所述指令段(13)中剥离出各个操作域编码;
3)从所述接收步骤接收的操作延时控制指令中剥离出所述指令段计时延时控制域(14)编码;以及
4)产生各个功能部件对应的操作域的使能信号。
10.如权利要求1所述的指令控制延时方法,其特征在于,所述格式译码步骤包括以下步骤:
1)对所述接收步骤接收的操作延时控制指令中的所述指令格式控制域(11)编码和所述指令段格式控制域(12)编码进行译码;
2)从所述接收步骤接收的操作延时控制指令的各个所述指令段(13)中剥离出各个操作域编码;
3)从所述接收步骤接收的操作延时控制指令中剥离出所述指令段条件延时控制域(15)编码;以及
4)产生各个功能部件对应的操作域的使能信号。
11.如权利要求1所述的指令控制延时方法,其特征在于,所述延时标识步骤包括以下步骤:
1)将由所述指令段计时延时控制域(14)标识在当周期不执行的操作域的编码存贮在该操作域的操作域延时编码队列(51)中;
2)将由所述指令段计时延时控制域(14)的编码作为初始值存入该操作域对应的操作域延时编码计时标识(52)中;以及
3)当所述操作域延时编码计时标识(52)中的延时计数器(55)不为0时,每周期将其衰减1。
12.如权利要求1所述的指令控制延时方法,其特征在于,所述延时标识步骤包括以下步骤:
1)将所述指令段条件延时控制域(15)标识在当周期不执行的操作域的编码存贮在该操作域的所述操作域延时编码队列(51)中;
2)将由所述指令段条件延时控制域(14)编码存入该操作域对应的操作域延时编码条件标识(53)中的条件码寄存器(56)中;以及
3)在条件码寄存器控制下,随时给出操作域延时编码执行条件是否满足的信号。
13.如权利要求9所述的指令控制延时方法,其特征在于,所述延时重组步骤包括以下步骤:
1)接收所述格式译码步骤产生的各个操作域使能信号、和所述延时标识步骤产生的同一操作域的所述操作域延时编码计时标识(52)信号,按照操作延时控制指令和所述操作域延时编码计时标识(52)规定该操作域的各个操作域编码的执行顺序选择该操作域当周期执行的编码;以及
2)对于所有操作域,若在当周期动作,则将该操作域的使能信号置为有效。
14.如权利要求9所述的指令控制延时方法,其特征在于,所述延时重组步骤包括以下步骤:
1)接收所述格式译码步骤产生的各个操作域使能信号、和所述延时标识步骤产生的同一操作域的所述操作域延时编码条件标识(53)信号,按照操作延时控制指令和所述操作域延时编码条件标识(53)规定该操作域的各个操作域编码的执行条件选择该操作域当周期执行的编码;以及
2)对于所有操作域,若在当周期动作,则将该操作域的使能信号置为有效。
15.一种指令控制延时装置,可响应多位操作延时控制指令外部存贮方式,可响应多位内部操作延时控制指令寄存器存贮方式,使该操作延时控制指令作用于延时控制装置,对在机器总线宽度约束下不能同时取入但又需要并行执行的操作域进行延时和重组,通过把操作域放在先行指令中予取、并延时执行的方式实现更多操作域的并行控制,其特征在于,包括以下部件:
1)配合该装置的多位操作延时控制指令存贮器、寄存器的指令和数据输入方式,一个用于接收操作延时控制指令的操作延时控制指令接收部件(21);
2)配合所述操作延时控制指令接收部件(21)的一个格式译码部件(22),用于对操作延时控制指令中的所述指令格式控制域(11)编码、所述指令段格式控制域(12)编码进行译码,并从操作延时控制指令中剥离操作域编码和所述指令段计时延时控制域(14)或所述指令段条件延时控制域(15)的编码;
3)配合所述格式译码部件(22)的用于在延迟不为0情况下,实现被延时的操作编码暂存和延时执行的一个延时标识部件(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)接收的操作延时控制指令中剥离出各个所述指令段(13)的所述指令段计时延时控制域(14)编码;以及
5)配合所述指令格式控制域译码部件(41)和所述指令段格式控制域译码部件(42)的操作域使能部件(45),用于产生各个操作域的使能信号。
18.如权利要求15所述的指令控制延时装置,其特征在于,所述格式译码部件(22)包括:
1)指令格式控制域译码部件(41),用于对所述操作延时控制指令接收部件(21)接收的操作延时控制指令中的所述指令格式控制域(11)编码进行译码;
2)指令段格式控制域译码部件(42),用于对所述操作延时控制指令接收部件(21)接收的操作延时控制指令中的所述指令段格式控制域(12)编码进行译码;
3)配合所述指令格式控制域译码部件(41)和所述指令段格式控制域译码部件(42)的操作域剥离部件(43),用于从所述操作延时控制指令接收部件(21)接收的操作延时控制指令中剥离出各个操作域编码;
4)配合所述指令格式控制域译码部件(41)的条件延时控制域剥离部件(46),用于从所述操作延时控制指令接收部件(21)接收的操作延时控制指令中剥离出各个所述指令段(13)的所述指令段条件延时控制域(15)编码;以及
5)配合所述指令格式控制域译码部件(41)和所述指令段格式控制域译码部件(42)的操作域使能部件(45),用于产生各个操作域的使能信号。
19.如权利要求15所述的指令控制延时装置,其特征在于,所述延时标识部件(23)包括:
1)一组配合所述格式译码部件(22)的对应于各个操作域的操作域延时编码队列(51),用于存贮被延时执行的操作域编码;以及
2)一组配合所述操作域延时编码队列(51)和所述指令段计时延时控制域(14)的操作域延时编码计时标识(52),用于控制被延时的操作域编码按照指令要求的顺序执行。
20.如权利要求15所述的指令控制延时装置,其特征在于,所述延时标识部件(23)包括:
1)一组配合所述格式译码部件(22)的对应于各个操作域的操作域延时编码队列(51),用于存贮被延时执行的操作域编码;以及
2)一组配合所述操作域延时编码队列(51)和所述指令段条件延时控制域(15)的操作域延时编码条件标识(53),用于控制被延时的操作域编码在指定条件满足时执行。
21.如权利要求15所述的指令控制延时装置,其特征在于,所述延时重组部件(24)包括:
1)一个计时延时重组控制部件(61),用于接收所述格式译码部件(22)产生的操作域使能信号,和所述延时标识部件(23)输出的同一操作域所述操作域延时编码计时标识(52)的信号,按照各个操作域编码的执行时间顺序产生选通当周期执行操作编码的控制信号;
2)一个配合所述计时延时重组控制部件(61)的延时重组选通部件(62),用于接收所述格式译码部件(22)剥离出的各个操作域的操作编码和所述延时标识部件(23)输出的同一操作域的操作编码,在所述计时延时重组控制部件(61)的输出的控制下选通该操作域的操作编码;以及
3)一个配合所述计时延时重组控制部件(61)的延时重组使能部件(63),用于配合所述计时延时重组控制部件(61)产生各个操作域的使能信号。
22.如权利要求15所述的指令控制延时装置,其特征在于,所述延时重组部件(24)包括:
1)一个条件延时重组控制部件(64),用于接收所述格式译码部件(22)产生的操作域使能信号,和所述延时标识部件(23)输出的同一操作域所述操作域延时编码条件标识(53)的信号,按照各个操作域编码执行条件的状态产生选通当周期执行操作编码的控制信号;
2)一个配合所述条件延时重组控制部件(64)的延时重组选通部件(62),用于接收所述格式译码部件(22)剥离出的各个操作域的操作编码和所述延时标识部件(23)输出的同一操作域的操作编码,在所述条件延时重组控制部件(64)的输出的控制下选通该操作域的操作编码;以及
3)一个配合所述条件延时重组控制部件(64)的延时重组使能部件(63),用于配合所述条件延时重组控制部件(64)产生各个操作域的使能信号。
CN 98120942 1998-10-12 1998-10-12 指令控制延时方法及其装置 Expired - Lifetime CN1100290C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 98120942 CN1100290C (zh) 1998-10-12 1998-10-12 指令控制延时方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 98120942 CN1100290C (zh) 1998-10-12 1998-10-12 指令控制延时方法及其装置

Publications (2)

Publication Number Publication Date
CN1250908A CN1250908A (zh) 2000-04-19
CN1100290C true CN1100290C (zh) 2003-01-29

Family

ID=5226908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 98120942 Expired - Lifetime CN1100290C (zh) 1998-10-12 1998-10-12 指令控制延时方法及其装置

Country Status (1)

Country Link
CN (1) CN1100290C (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873042B (zh) * 2012-12-17 2017-02-08 快捷半导体(苏州)有限公司 一种延时方法、电路和集成电路
CN117112025B (zh) * 2023-10-18 2023-12-22 北京开源芯片研究院 处理部件的指令执行方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN1250908A (zh) 2000-04-19

Similar Documents

Publication Publication Date Title
CN1284080C (zh) 基于值特化来优化软件代码的方法和装置
CN1286002C (zh) 执行部分宽度压缩数据指令的装置和方法
CN1178134C (zh) 执行于板上系统内的中间对象代码程序的数据压缩方法
CN1088214C (zh) 用多指令集处理数据的器件和方法
CN1222868C (zh) 多线程流水线指令解码器的方法和设备
CN1191524C (zh) 预取指令的执行方法和设备
CN1105138A (zh) 超标量计算机的寄存器结构
CN1725175A (zh) 分支目标缓冲器及其使用方法
CN1111297C (zh) 指令控制排序方法及其装置
CN1222985A (zh) 在多级流水线结构中处理条件跳转的方法
CN1324432C (zh) 降低处理器电力消耗的系统、方法及装置
CN1645516A (zh) 用于闪速存储器的数据恢复设备和方法
CN104615413A (zh) 一种流水线任务自适应并行方法
CN101000556A (zh) 编译装置
CN1278931A (zh) 特别适于译码数字音频信号的数字信号处理器
CN1893282A (zh) 一跨序列排序涡轮码系统和其操作方法
CN1435755A (zh) 指令变换装置和变换方法
CN1100290C (zh) 指令控制延时方法及其装置
CN1349160A (zh) 流水线控制相关延迟消除方法
CN1100292C (zh) 指令控制替换方法及其装置
CN1100293C (zh) 指令控制拼装方法及其装置
CN1149472C (zh) 更名装置及处理器
CN1959630A (zh) 微处理器
CN1503941A (zh) 硬件环路
CN1234066C (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
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: 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

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

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