CN1026633C - 操作处理器 - Google Patents
操作处理器 Download PDFInfo
- Publication number
- CN1026633C CN1026633C CN88100357A CN88100357A CN1026633C CN 1026633 C CN1026633 C CN 1026633C CN 88100357 A CN88100357 A CN 88100357A CN 88100357 A CN88100357 A CN 88100357A CN 1026633 C CN1026633 C CN 1026633C
- Authority
- CN
- China
- Prior art keywords
- data
- mentioned
- instruction
- memory
- signal
- 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 - Fee Related
Links
- 230000004044 response Effects 0.000 claims abstract description 9
- 238000000151 deposition Methods 0.000 claims 2
- 238000012423 maintenance Methods 0.000 claims 1
- 238000013500 data storage Methods 0.000 abstract 3
- 238000000034 method Methods 0.000 description 23
- 101000699844 Homo sapiens Retrotransposon Gag-like protein 9 Proteins 0.000 description 6
- 102100029440 Retrotransposon Gag-like protein 9 Human genes 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 101100268599 Arabidopsis thaliana ABCB7 gene Proteins 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 101150116566 odr-8 gene Proteins 0.000 description 3
- 241001269238 Data Species 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Image Generation (AREA)
- Memory System (AREA)
- Controls And Circuits For Display Device (AREA)
- Complex Calculations (AREA)
- Bus Control (AREA)
- Advance Control (AREA)
Abstract
一个操作处理器,包括一个存放数据的数据存储器,至少一个用于存放从数据存储器来的数据的输入数据存放寄存器,一个计算数据用的算术逻辑单元(ALU),以及一个位于输入数据存放寄存器和数据存储器之间的存储器数据存放寄存器,用于暂存从数据存储器来的数据。从宿主计算机或类似设备来的指令暂时存入指令寄存器中。一个控制电路根据暂存于指令寄存器中的指令控制各寄存器及ALU。指令的一部分字段用以指示把数据从存储器数据存放寄存器传送到输入数据存放寄存器。指令的一部分的一个字段用以指示要将数据转入至其中的一个输入数据存放寄存器。
Description
本发明是关于一种数字操作处理器,更确切地说,是关于一种具有多个存储器访问的数据操作处理设备,例如,在位映象显示中的作图操作的设备。
在位映象显示中的作图操作主要包括在位映象存储器中各矩形区之间的数据计算,这种数据计算被称作“光栅操作”。这种光栅操作可以通过对如图4A中流程图所示的过程进行编程来实现。在这个流程图中,Dest,Data是目的数据的简写。该流程中所示的过程的重复次数和一个或多个矩形面积的大小成正比,举例而言,可达105到106的数量级。对每个有重复步骤的过程中的五条指令来说,包括三条访问存储器的指令,光栅操作所需的时间由存储器访问时间所决定。
为了试图加快光栅操作的速度,每个具有重复步骤的过程都变成为可由三条指令来执行,如图4B所示,办法是通过把光栅操作硬件化而实现一个读出-修改-写入步骤,在这个过程中,重复判定指令(循环结束?)和访问存储器无关。因此,当存储器写入访问和重复判定指令并行执行时,如果存储器访问慢于指令执行,则判定指令被包含在访问存储器的时间之内。其结果是,流程图中的处理时间仅取决于访问存储器的时间,而执行判定指令的时间就可忽略不计,从而使光栅操作达到更高的速度。
为了达到存储器写入访问和操作过程的并行执行,可以发明一种方法,这个方法是把写入地址和写入数据锁存在寄存器中。处理器接着就执行下一条指令而不必等待写入访问的完成。使用这个想法的一示范系统是先进微器件公司(Advanced Micro Devive Corporation)的AM29116。
虽然上述的先有技术成功地实现了在存储器写入方式时并行执行数据操作,但在存储器读出方式时并行执行却没有得到正确的考虑,因此,更为复杂的数据处理如何加速的问题依然存在。
本发明的目标就是要提供一个改进的操作处理器,它能够在位映象显示中达到高速的作图操作。
本发明的另一个目标在于提供一个高速操作处理器,它能在存储器读出方式时,执行数据操作的并行工作。
为了实现上述目标,本发明具备这样的装置,它能在存储器读出访问时由程序控制读出数据输入的时标,以便单独地决定从存储器来的读出数据输入的时标,和由程序定的读出数据输入的时标,两者互相独立,从而在读出方式时也能够实现访问存储器和操作处理的并行执行。
在本发明中,至少提供一个输入数据存放寄存器。并且,在存储器读出访问方式中指定了用于数据输入的寄存器之后,向该指定的寄存器中输入数据的过程和另一个数据操作处理是并行执行的。用于数据输入的寄存器是在读出请求方式时指定的,在输入结束后,这个寄存器的内容可选定为操作数,这样,对存储器的访问是在响应读出请求时开始的,但处理器没有被置成等待状态而是去执行下一条指令。因为输入的数据可以在存储器访问完成后就被进行计算,所以,通过用存储器数据计算指令来取代与此无关的指令,就可以使所需的操作在访问存储器的时间内执行,从而可以因消除了相应的等待时间而得到更高的速度。
换句话说,在本发明中,在程序请求存储器读出访问后由程序控制读出数据的输入时标时,如果数据已经从存储器输入,这种数据就用于控制,而如果数据尚未从存储器输入,则处理器就被置成等待状态,一旦完成了从存储器输入数据,就用这个数据来恢复操作。
因此,按照本发明的操作处理器,在读出访问请求之后,通过把不需要读出数据的指令放在需要读出数据的指令之前,就可以实现存储器读出访问和操作处理的并行执行。而且,即使存储器访问是慢速的,也可以通过使需要读出数据的指令执行对读出数据的输入时标的控制而收到合适的数据。
图1是表示本发明的操作处理器的第一个实施例的方框图;
图2是表明图1中第一个实施例的动作时标的波形图;
图3表示第一个实施例的示范性指令格式的原理图;
图4A和4B是在程序控制下实现光栅操作的常规流程图;
图5是表示本发明的操作处理器的第二个实施例的方框图;
图6表示图5的第二个实施例的动作时标的波形图;
图7表示第二实施例所用的示范性指令格式的原理图;
图8A和8B表示本发明所用的程序的示范说明;
图9表明图5的第二个实施例中控制电路的特定电路结构。
以下将说明根据本发明所作的操作处理器的优选实施例,请参阅图1到图3。图1是构成本实施例的各主要部件的方框图。在图中,示出了一个指令寄存器(以后简称为IR)1,它被用作为指令接口装置;一个控制器(CNTL)2;一个操作数数据选择器(SEL)3;一个算术逻辑单元(ALU)4;一个通用寄存器(CR)5;一个输入数据寄存器(IDR)6;一个存储器数据寄存器(MDR)7,它被用作为存储器接口装置;一个输出寄存器(ODR)8;以及一个存储器地址寄存器(MAR)9。在本图中还示出了存储器读出信号M,取数信号F,等待信号W,将数据锁存于IDR6的数据锁存信号L,存储器地址信号A,存储器数据信号D,存储器确认信号AK,使装入到IR1的装入信号IL(IL=
W.CLK),以及到IR1的数据IRD。这里没有画出显示数据存储器,例如用于转移存储器数据信号D的位映象存储器,也没有画出输出数据IRD的宿主计算机。
图2表示图1中的CNTL2的动作时标波形图。CNTL2的详细线路结构将在以后说明。这个波形图包括处理器的时钟信号CLK;表明IRD是一个访问存储器的指令的信号MA(MA=M·CLK);表明数据IRD是一个取数指令的信号FA(FA=F·CLK);以及表示存储器访问持续期的存储器访问信号MM。图3表示图1的操作处理器所用的示范性指令格式。在图3中,还包括了一个MF字段(相应于信号M,表明一个访问存储器的指令);一个FF字段(相应于取数信号F);一个操作字段OP;以及一个操作数数据字段OPR。
下面将说明图1所示的处理器所执行的动作,请参阅图2和图3。在寄存器之间的操作时,从GR5来的数据通过SEL3而在ALU4中进行计算,然后存入GRS。SEL3的输出是这样形成的:它从三个输入端取得的数据中选择其中的二
个。在存储器写入方式时,从GR5来的地址数据通过MAR9而输出到地址总线。同时,从GR5来的写入数据通过SEL3和ALU4的转送,然后再通过ODR8而输出到数据总线。在本发明的操作处理器中,存储器的写入是在把数据存入MAR9和ODR8的结束时就告终止,随后,在存储器作实际的写入访问完成之前,过程就已进到执行下一条指令。
存储器读出分成存储器读出请求和读出数据的输入两部分。在响应存储器读出请求时,从GR5来的地址数据通过MAR9而输出到地址总线。存储器读出请求在把地址数据存入MAR9结束时即告终止。读出数据的输入是通过把图3中指令格式中的F字段置成1而执行的。由于除F字段以外的任何字段都是无关的,所以除F字段为0外,每个指令都可以执行。
下面将说明读出数据的输入的动作,请参阅图2。这里假定IRD的指令数据I1是存储器读出请求,I2是除访问存储器外的任何一个指令,而I3则是FF字段为1的一个指令。首先,指令数据I1通过指令寄存器装入信号IL输入到IR1,这样就开始了存储器读出。由下一个时钟CLK装入的指令I2被正常执行,因为它不访问存储器,然后在下一个时钟CLK时指令I3被装入。由于指令I3表明其F字段为1,等待信号W被存储器访问信号MM转变成1。当等待信号W转变成1时,装入信号IL被禁止,因此,指令地址的更新也被禁止,这样,操作处理器就被置于等待状态。
响应于表明存储器读出已经完成的信号AK的输入,存储器访问的信号MM转变成0,读出的数据存放在MDR7中。此后,由于存储器访问信号为0,等待信号W被下一个时钟CLK重新转变成0,然后数据锁存信号L(=F·
W·
CLK)被输出,从而使对应于存储器读出的数据的MDR7的输出存到IDR6中,这样就完成了读出数据的输入。由于等待信号W回到0,下一条指令被下一个时钟装入指令寄存器,并顺序执行。
在图2所示的CNTL2动作时标的波形图中,等待状态是由字段F置成1而引起的,很明显,如果存储器访问很快,则等待状态不受影响,因为等待信号为0。另外,由于读出数据在指令I3结束时存入IDR6,当指令I2和I3要使用IDR6的内容时,可以认为,所引用的是指令I1执行读请求之前的存储器数据。因此,IDR6中的内容究竟是以前的读出访问的数据,还是当前的数据,可以仅由程序控制字段F来决定,而不取决于存储器访问的时间。
在本实施例中,如上所述,访问存储器和操作处理可以很方便地由程序来使它们并行执行。另外,由于在对读出数据实际操作之前,读出已经完成,在读出数据中因出现任何差错而需要的纠正可以方便地实现。尽管在上述实施例中,对所有指令都形成字段F,但很明显,把这一字段仅仅限于某一特定指令中,或者采用另外的系统(这种系统根据多个字段的译码结果去执行控制)也可以得到同样的效果。此外,可以和上述实施例中只提供一个IDR6不同,用多个这样的寄存器,或用一个通用寄存器GR来替代,也可以得到同样的效果。
现在参考图5到图8,下面要说明另一个示范性的操作处理器作为本发明的第二个实施例,其中设有多个输入数据寄存器(IDRs)。图5是作为第二个实施例的这种操作处理器的方框图。在本图中包括第二个输入数据存放寄存器(IDRs)6-1和6-2,以及数据选择器(SELs)3-1和3-2。其余部件和图1中第一个实施例所用的相同。在所示的信号中,ID表示输入寄存器指定信号,L1和L2分别表示对第一个和第二个IDRs6-1和6-2的锁存信号,IDR′表示指令数据,其余信号都和第一个实施例中的信号相同。
图6表示CNTL2中动作时标的波形图。在此图中,IDD表示锁存的信号,而其余的都和图2中所示的信号相同。图7表示按照第二个实施例所用的操作处理器的指令格式,其中的IDF表示这一实施例所独有的输入寄存器指定信号所用的字段。
下面将给出本实施例中的操作处理器所执行的动作的说明。当处理器中的指令是执行寄存器之间的操作时,从GR5来的数据是通过第一个SEL3-1而送出的,而从第一个IDR6-1或第二个IDR6-2来的数据则通过第二个SEL3-2和第一个SEL3-1送出,然后在ALU4中计算的数据则存入GR5。当指令是存储器写入访问时,从GR5来的地址数据被锁存到MAR9中,而从GR5来的写入数据则通过ALU4而送出并被锁存到ODR8
中,这样就起动了存储器访问。由于写入存储器所需的数据已被锁存和保持,操作处理器就可以开始执行下一条指令而不必等待写入访问的完成。
如果指令是存储器读出访问,操作处理器仅仅指示执行读出访问的开始。这就是说,从GR5来的地址数据被锁存在MAR9中,在ID信号指定了输入数据寄存器之后,存储器读出访问就已开始。在指示访问开始之后,操作处理器就指示执行下一条指令,而不必处于等待状态。存储器读出数据的输入是通过在处理器中把F字段置1而执行的。
在图6的波形图中表明了动作时标,IRD′表示操作处理器用的指令数据,其中只有读出访问和取数两部分是需要的,其余指令由I1,I2等等所表示。首先,存储器读出信号MA(=M·CLK)由读出指令转变成1,存储器访问信号MM则与信号MA的下降沿同步地转变成1。于是起动了存储器读出访问,把和读出指令存放在一起的ID字段的值锁存起来,如图7所示。ID信号为0时指定IDR6-1,而为1时则指定IDR6-2。
操作处理器在图6所示的时标下执行下一条指令I1,然后执行读指令。在执行读指令时,从存储器来的确认信号AK还没有到达,所以处理器处于等待状态。指明这种等待状态的信号W是将存储器访问信号MM和取数信号FA(=F·CLK)锁存而产生的。在输入确认信号AK时,读出数据被锁存于MDR7中以便把处理器从锁存状态中释放出来,从而起动存储器访问。对IDR6-1的锁存信号L1在这条指令结束时被输出,这样,锁存在MR7中的存储器数据就被输入。在这条指令中,当信号ID为1时,信号IDD也变为1。
由于指令I3不是用于存储器访问,而是为取数信号为1的取数用的,所以对IDR6-2的锁存信号L2被输出。在指令I3中,和前面的读出指令一样,处理器由于存储器访问的持续期(MM=1)而被处于等待状态。但是,在执行类似于取数指令的指令I7时,不会因为要完成访问而引起等待状态。从图6可以明显看出,对IDRs6-1、6-2的锁存信号L1和L2不是由取数指令I3或I7所指定的,而决定于信号IDD,这个信号是由前面的读指令ID所置位的。
在本实施例中,就象上面所叙述的那样,用于数据输入的IDR是响应于存储器读出的请求而被指示的,而在数据输入时则只需要取数的指示。因此,就不再需要使用数据字段OPR来指示IDR,这样,取数指令也可以使得正常操作变得可能,从而消除了使用取数指令作为一个专用指令(exclusive instruction)的必要性。这样,存储器访问和操作处理就可以使用和通常的处理器中相同的指令而实现并行执行,以便最终达到更高的处理速度。另外,只要在对存储器读出的数据进行操作的指令之前指明取数,就可以使用和通常的操作处理器相同的编程,从而避免了在别的情况下由于存储器访问和操作处理并行执行而可能会发生的问题。
图8A和图8B示出了示范性程序的说明,在图8A中是普通处理器的例子,而图8B则是本实施例的例子,这里(RO)表示从寄存器RO输出的地址数据。在图8A和图8B中,除寄存器的名字部分地被读出数据的存放寄存器IDR1和IDR2所代替,以及F表示在某些指令加上取数之外,其余都彼此相同。因此,存储器访问的并行执行可以在指令描述基本上相同的情况下实现,最终可以方便地实现最高速度的处理。虽然在本实施例中,输入数据存放寄存器是另外提供的,但如在通用寄存器中利用某种装置(该装置在响应单条指令时既可存放操作结果又可存放存储器数据),同时用通用寄存器来代替输入数据存放寄存器,也可以得到同样的效果。
图9是图5的第二个实施例中CNTL2的一个特定的线路图。由于前面所说的图1中第一个实施例中的CNTL2的线路结构可以从图9中看清楚,以所重复的说明就省略了。在图9中示出了与门C1-C6,反相器I1-I3,触发器F1-F3,以及处理器用的时钟振荡器OSC。门G1、G2和触发器F1、F2产生信号MA,FA,MM和W;门G3、G5、G6和反相器I1,I3以及触发器F3产生信号L1和L2;反相器I2和门G4生产信号IL。本线路的动作时标已如前述示于图6中。在上述线路结构中,完成取数周期的时标和完成取指示指令的时标是重合的,这在图6的波形图中可以明显地看出。这意味着,当取指示指令要引用第一个和第二个读出数据存放寄存器IDR6-1和IDR6-2时,在执行取数之前就可以立即用到该
值。根据另一个示范性方法中的完成取数周期的时标,取数的执行和取指示指令的开始是同步的,并且在它完成后,该指令即被执行。在这种情况下,当第一和第二读出数据存放寄存器IDRs被取指示指令引用时,可以认为,所引用的值是取数以后更新了的值。虽然前一种情况在上述实施例中已经说明,很明显,后一种情况也包括在本发明的范围之内。
因此,根据本发明,存储器访问和操作处理可以在程序控制下并行执行,这样,在有多个存储器访问的情况下的数据处理就有可能缩短所需的时间,因为操作处理在有存储器访问的情况下也是可以执行的。
Claims (5)
1、一个用于操作在数据存储器中的数据的操作处理器,包括:数据操作装置:
操作数数据存放装置;
位于上述数据操作装置和上述数据存储器之间的数据接口装置;用于暂时存放一个指令的指令接口装置;以及
连接到上述指令接口装置的控制装置,用于在所存放的指令基础上控制上述的操作装置和上述的操作数数据存放装置;
其特征在于数据从上述数据接口装置传输到上述操作数数据存放装置是响应上述指令中部分字段中的数据而进行的。
2、按照权利要求1的一个操作处理器,其特征在于上述的数据接口装置包括用于存放上述数据存储器中读出数据的存储器数据寄存器装置。
3、按照权利要求1的一个操作处理器,其特征在于上述的操作数数据存放装置包括至少一个输入数据存放寄存器装置,上述存储器读出指令包括一个字段,它具有一个信号以指定上述至少一个输入数据存放寄存器装置中之一。
4、一个操作处理器,包括
指令保持装置,以便保持从宿主机送来的指令;
控制装置,以便响应于上述指令保持装置来的指令而产生各种控制信号;
一个数据存储器;
存储器数据存放装置,用于响应于从上述控制装置来的控制信号而保持从上述数据存储器读出的数据;
操作装置,用于响应于从上述控制装置来的控制信号去操作上述的读出数据,以及
至少一个输入数据存放装置,位于上述存储器数据存放装置和上述操作装置之间,以便保持上述读出数据;
其特征在于所述的指令具有一个字段,以指示上述的读出数据从上述存储器数据存放装置传送到上述的输入数据存放装置。
5、按照权利要求4的一个操作处理器,其特征在于所述的指令具有一个字段,以选择性地指示上述数据存放装置中的某一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5941/87 | 1987-01-16 | ||
JP62005941A JPH0782452B2 (ja) | 1987-01-16 | 1987-01-16 | 演算処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN88100357A CN88100357A (zh) | 1988-09-14 |
CN1026633C true CN1026633C (zh) | 1994-11-16 |
Family
ID=11624926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN88100357A Expired - Fee Related CN1026633C (zh) | 1987-01-16 | 1988-01-16 | 操作处理器 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JPH0782452B2 (zh) |
KR (1) | KR910003014B1 (zh) |
CN (1) | CN1026633C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19747275A1 (de) * | 1997-10-25 | 1999-04-29 | Philips Patentverwaltung | Mobilfunkgerät mit einem Steuersignalgenerator |
-
1987
- 1987-01-16 JP JP62005941A patent/JPH0782452B2/ja not_active Expired - Fee Related
-
1988
- 1988-01-14 KR KR1019880000203A patent/KR910003014B1/ko not_active IP Right Cessation
- 1988-01-16 CN CN88100357A patent/CN1026633C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0782452B2 (ja) | 1995-09-06 |
KR880009300A (ko) | 1988-09-14 |
KR910003014B1 (ko) | 1991-05-15 |
JPS63175952A (ja) | 1988-07-20 |
CN88100357A (zh) | 1988-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3983539A (en) | Polymorphic programmable units employing plural levels of sub-instruction sets | |
JPH04229355A (ja) | データアクセス方法及びデータ処理システム | |
JPH0425582B2 (zh) | ||
CN101861568B (zh) | 用于交换数据的方法和系统 | |
JPH04336378A (ja) | 情報処理装置 | |
JPH03286332A (ja) | デジタルデータ処理装置 | |
CN1026633C (zh) | 操作处理器 | |
WO1999015956A1 (en) | Autonomously cycling data processing architecture | |
AU589047B2 (en) | Method and device to execute two instruction sequences in an order determined in advance | |
EP0465847B1 (en) | Memory access control having commonly shared pipeline structure | |
JP2808548B2 (ja) | 現在状態から後続状態へのプロセッサ作動状態移行制御装置 | |
JP2892375B2 (ja) | パルス入力装置 | |
JP2566009B2 (ja) | データ処理装置 | |
US20240126709A1 (en) | Direct memory access controller | |
JP3151832B2 (ja) | Dmaコントローラ | |
JPS60134957A (ja) | 並列型演算処理装置 | |
SU1614030A1 (ru) | Устройство дл перезаписи цифровой информации на магнитных лентах | |
JPH0626305B2 (ja) | ダブルメモリ構成のパルスプログラマ− | |
JP2626831B2 (ja) | プログラム展開方式電子計算機 | |
SU1520533A1 (ru) | Электронна вычислительна машина | |
JPS6391756A (ja) | 記憶装置の部分書き込み命令処理方式 | |
JPS6267648A (ja) | 排他制御命令処理方式 | |
JPS6145359A (ja) | 情報処理装置 | |
JPH04175928A (ja) | マイクロプロセッサ | |
JPH09160777A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
C10 | Entry into substantive examination | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C15 | Extension of patent right duration from 15 to 20 years for appl. with date before 31.12.1992 and still valid on 11.12.2001 (patent law change 1993) | ||
OR01 | Other related matters | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |