CN1560729A - 将一个处理器与一个协处理器相接口的方法和装置 - Google Patents
将一个处理器与一个协处理器相接口的方法和装置 Download PDFInfo
- Publication number
- CN1560729A CN1560729A CNA2004100696118A CN200410069611A CN1560729A CN 1560729 A CN1560729 A CN 1560729A CN A2004100696118 A CNA2004100696118 A CN A2004100696118A CN 200410069611 A CN200410069611 A CN 200410069611A CN 1560729 A CN1560729 A CN 1560729A
- Authority
- CN
- China
- Prior art keywords
- coprocessor
- processor
- communication bus
- write
- registers
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000004891 communication Methods 0.000 claims description 76
- 230000004044 response Effects 0.000 claims description 6
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 2
- 238000011079 streamline operation Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 46
- 230000006870 function Effects 0.000 description 28
- 230000005540 biological transmission Effects 0.000 description 27
- 239000008186 active pharmaceutical agent Substances 0.000 description 9
- 230000002457 bidirectional effect Effects 0.000 description 8
- 238000012217 deletion Methods 0.000 description 8
- 230000037430 deletion Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 6
- 238000013502 data validation Methods 0.000 description 5
- 238000011068 loading method Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 101100396933 Pseudomonas aeruginosa (strain ATCC 15692 / DSM 22644 / CIP 104116 / JCM 14847 / LMG 12228 / 1C / PRS 101 / PAO1) imm2 gene Proteins 0.000 description 2
- 102100023116 Sodium/nucleoside cotransporter 1 Human genes 0.000 description 2
- 101710123675 Sodium/nucleoside cotransporter 1 Proteins 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000002834 transmittance Methods 0.000 description 1
Images
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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30116—Shadow registers, e.g. coupled registers, not forming part of the register space
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
- G06F9/3881—Arrangements for communication of instructions and data
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Microcomputers (AREA)
Abstract
本发明涉及一种将一个处理器与一个协处理器相接口的方法和装置。其中,一个处理器(12)向协处理器(14)的接口,它支持多个协处理器(14,16),用于使用编译器生成软件类型函数调用和返回,指令执行,以及可变加载和存储接口指令。在一个双向共享总线(28)上,或是通过寄存器窥探和广播显式地,或者通过函数调用和返回以及可变加载和存储接口指令隐式地,在处理器(12)和协处理器(14)之间移动数据。在断言一个执行信号之前,通过否定一个译码信号,指示已译码的指令删除来提供流水线操作。
Description
本发明申请为1998年9月4日提出的、发明名称为“将一个处理器与一个协处理器相接口的方法和装置”的第98118581.9号的分案申请。
技术领域
本发明涉及具有一个处理器和至少一个协处理器的一个数据处理系统,尤其涉及将一个处理器与一个协处理器相接口的一种方法和装置。
背景技术
通过专用的和专门的硬件功能元件,扩展一个基准体系结构处理器功能的能力是可测量的和可扩展的体系结构的一个重要方面。
用于扩展一个基准体系结构处理器功能的优选方式中的一种是通过使用协处理器。这些协处理器通常是在处理器的指引下运行的专用的单用途处理器。协处理器一个常用的用途是用作数学协处理器,有选择的为没有直接提供浮点能力的体系结构提供这个功能。这种数学协处理器的例子是Intel 8087和80287。协处理器的其它可能的用途或类型包括:乘-累加器,调制器/解调器(调制解调器),数字信号处理器(DSP),维特比计算器,加密处理器,图像处理器和向量处理器。
对于协处理器已经有两种不同的方法。一方面,对于数字设备公司(DEC)的PDP-11系列计算机,将浮点单元与它的主处理器紧密耦合。出现的一个问题是这种紧密耦合要求主处理器要知道协处理器计算的实际数量。这使电路设计复杂起来,这样,将一个新协处理器加到一个集成系统上的扩展是一个主要的工程问题。
可选的实现方法是将协处理器与主处理器松散耦合。这样做的益处是从主处理器中提取并分离出协处理器的操作,并且能够真正减少将一个新的协处理器与一个已存在的处理器相集成时所要做的工作。但是这也必然要花费代价。性能的损失是这种方法的一个问题。由这种松耦合所引起的这种类型的性能命中的一个问题是调用这样一个协处理器时无亏损点也相应地增加。这样,对于协处理器,许多其它的吸引人的应用的效能价格比并不合算。此外,这样一种方法经常要求使用一条总线,还有所有的相应的附加电路和芯片区域。
这样具有一个协处理器接口就是非常重要的,将接口紧密耦合,使得接口的使用足够快,甚至在调用相对简单的函数时也占有优势,同时将接口提取成这样一个扩展,从任何给定的协处理器的细节中将处理器的体系结构尽可能多的分离出来。后者中的一部分包括使接口程序设计器友好,目的是可以方便使用软件而不是硬件设计新的协处理器应用。
发明内容
本发明提供一种用于具有包括多个寄存器的寄存器文件的处理器经由协处理器通信总线广播所述寄存器文件中的所有事务的方法,所述方法包括步骤:接收将要写入所述寄存器文件的操作数;选择所述寄存器文件中所述多个寄存器中的一个;以及提供给所述寄存器文件并经由所述协处理器通信总线:所述将要写入所述寄存器文件的操作数、表明所述选择的所述寄存器文件中所述多个寄存器中的一个的第一控制信号、以及请求将所述操作数写入所述选择的所述多个寄存器中的一个的第二控制信号。
本发明提供一种用于第一处理器经由协处理器通信总线监控所有写入事务到第二处理器中的包括多个寄存器的寄存器文件中的方法,所述方法包括步骤:经由所述协处理器通信总线从所述第二处理器接收:将要写入所述寄存器文件的操作数、表明选择的所述寄存器文件中所述多个寄存器中的一个的第一控制信号、以及请求将所述操作数写入所述选择的所述多个寄存器中的一个的第二控制信号;以及响应收到的所述操作数、所述第一控制信号、以及所述第二控制信号,执行预定的操作。
本发明提供一种用于具有包括多个寄存器的寄存器文件的第一处理器经由协处理器通信总线广播由第二处理器监控的所述寄存器文件中的所有写入事务的方法,所述方法包括步骤:在所述第一处理器中:接收将要写入所述寄存器文件的操作数;选择所述寄存器文件中所述多个寄存器中的一个;以及提供给所述寄存器文件并经由所述协处理器通信总线:所述将要写入所述寄存器文件的操作数、表明所述选择的所述寄存器文件中所述多个寄存器中的一个的第一控制信号、以及请求将所述操作数写入所述选择的所述多个寄存器中的一个的第二控制信号;在所述第二处理器中:经由所述协处理器通信总线从所述第一处理器接收:将要写入所述寄存器文件的操作数、表明所述选择的所述寄存器文件中所述多个寄存器中的一个的第一控制信号、以及请求将所述操作数写入所述选择的所述多个寄存器中的一个的第二控制信号;以及响应收到的所述操作数、所述第一控制信号、以及所述第二控制信号,执行预定的操作。
本发明提供一种处理器,包括:多个寄存器;用于执行到多个寄存器中的一个的写入操作的电路;用于为到所述多个寄存器中的一个的写入操作提供操作数的导线;以及用于与协处理器通信总线进行通信的端口,所述端口包括:至少一个第一协处理器通信总线信号端,用于提供由所述处理器生成的至少一个第一协处理器通信总线信号,所述至少一个第一协处理器通信总线信号表示在所述写入操作期间写入多个寄存器中的哪一个;至少一个第二协处理器通信总线信号端,用于提供由所述处理器生成的至少一个第二协处理器通信总线信号,所述至少一个第二协处理器通信总线信号表示到所述多个寄存器中的一个的所述写入操作的发生;以及至少一个第三协处理器通信总线信号端,用于提供由所述处理器生成的至少一个第三协处理器通信总线信号,所述至少一个第三协处理器通信总线信号在所述写入操作期间提供将要写入所述多个寄存器中的一个的所述操作数。
本发明提供一种数据处理系统,包括通过协处理器通信总线耦合的处理器和协处理器,其中,所述处理器包括:多个寄存器;用于执行到多个寄存器中的一个的写入操作的电路;用于为到所述多个寄存器中的一个的写入操作提供操作数的导线;以及用于通过所述协处理器通信总线与所述协处理器进行通信的处理器端口,所述处理器端口包括:至少一个第一协处理器通信总线信号端,用于提供由所述处理器生成的至少一个第一协处理器通信总线信号,所述至少一个第一协处理器通信总线信号表示在所述写入操作期间写入多个寄存器中的哪一个;至少一个第二协处理器通信总线信号端,用于提供由所述处理器生成的至少一个第二协处理器通信总线信号,所述至少一个第二协处理器通信总线信号表示到所述多个寄存器中的一个的所述写入操作的发生;以及至少一个第三协处理器通信总线信号端,用于提供由所述处理器生成的至少一个第三协处理器通信总线信号,所述至少一个第三协处理器通信总线信号在所述写入操作期间提供将要写入所述多个寄存器中的一个的所述操作数;并且,其中所述协处理器包括:用于与所述协处理器通信总线进行通信的协处理器端口,所述协处理器端口包括:至少一个第四协处理器通信总线信号端,用于接收由所述处理器生成的所述至少一个第一协处理器通信总线信号,所述至少一个第一协处理器通信总线信号表示在所述写入操作期间写入多个寄存器中的哪一个;至少一个第五协处理器通信总线信号端,用于接收由所述处理器生成的至少一个第二协处理器通信总线信号,所述至少一个第二协处理器通信总线信号表示到所述多个寄存器中的一个的所述写入操作的发生;以及至少一个第六协处理器通信总线信号端,用于接收由所述处理器生成的至少一个第三协处理器通信总线信号,所述至少一个第三协处理器通信总线信号在所述写入操作期间提供将要写入所述多个寄存器中的一个的所述操作数。
附图说明
通过下面的详细描述和附图能够更清晰的理解本发明的特点和益处,其中相同的数字用来表示相同和相对应的部分,其中:
图1是依据本发明的一个数据处理系统的一种实施方式的框图;
图2是图1中处理器的一部分的框图;
图3是图1中协处理器的一部分的一种实施方式的框图;
图4是依据本发明的一个寄存器窥探操作的时序图;
图5是用于指令信号交换的基本指令接口操作的时序图;
图6是在使用H-BUSY*信号控制协处理器接口指令执行时,指令接口操作的时序图;
图7是指令删除的时序图;
图8是指令流水线停顿的一个例子的时序图;
图9是一个没有停顿的背对背操作的一个例子的时序图;
图10是具有内部流水线停顿的背对背操作的时序图;
图11是具有H-BUSY*停顿的背对背协处理器接口30的时序图;
图12是图解响应协处理器接口操作码的译码和测试操作由一个协处理器断言的H-EXCP*信号的一个例子的时序图。
图13是图解响应协处理器接口操作码的译码和测试操作当删除协处理器接口指令时,由一个协处理器断言的H-EXCP*信号的一个例子的时序图。
图14是图解一个已经断言了H-BUSY*以延迟一个协处理器接口操作码运行的例子的时序图。
图15是图解与H-CALL原语相关的寄存器传送的一个例子的时序图。
图16是图解与H-LD原语相关的寄存器传送的一个例子的时序图。
图17是图解协处理器接口的一个H-LD的传送顺序的时序图。
图18是图解在一个存储器存取造成一个存取异常的时候协议的时序图。
图19是图解与H-ST原语相关联的传送的一个例子的时序图;
图20是图解延迟的存储数据的传送的一个例子的时序图;
图21是图解在存储造成一个存取错误的时候协议信号的时序图;
图22图解依据本发明的H-CALL原语的一个指令格式;
图23图解依据本发明的H-RET原语的一个指令格式;
图24图解依据本发明的H-EXEC原语的一个指令格式;
图25图解依据本发明的H-LD原语的一个指令格式;
图26图解依据本发明的H-ST原语的一个指令格式。
具体实施方式
在下面的描述中,采用了大量的具体的细节,例如特定的字或字节长度,等等,以提供对本发明的一个透彻的理解。然而对本技术领域中的熟练技术人员来说,可能无须这些特定细节就能够实现本发明。在另外的例子中,以框图的形式来表示电路,目的是不在不必要的细节中混淆本发明。对于大部分,已经省略了有关时序的考虑和相类似的细节,因为对于完整理解本发明这些细节并不是必需的,而且它们也在相关领域的技术人员的技术范围之内。
术语“总线”用来指多个信号或导线,可以使用它们来传送一个或多个不同类型的信息,例如数据,地址,控制或状态。术语“断言(assert)”和“否定(negate)”是用来将一个信号,状态为或相类似设备的描述相应的引用为它的逻辑真或逻辑假状态。如果逻辑真状态是一个逻辑电平1,那么逻辑假状态将是一个逻辑电平0。并且如果逻辑真状态是一个逻辑电平0,那么逻辑假状态将是一个逻辑电平1。
图1是一个图解数据处理系统10的一种实施方式的框图,该数据处理系统包括一个处理器12,一个协处理器14,一个协处理器16,一个存储器18,其它模块20和外部总线接口22,它们都是通过总线28双向耦合的。本发明的可选实施方式可能仅仅包括一个协处理器14,两个协处理器14和16,或更多的协处理器(没有表示)。外部总线接口22通过集成电路终端35与外部总线26双向耦合。存储器24与外部总线26双向耦合。可以选择通过集成电路终端31将处理器12与数据处理系统10外部耦合。可以选择通过集成电路终端32将协处理器14与数据处理系统10外部耦合。可以选择通过集成电路终端32将存储器18与数据处理系统10外部耦合。可以选择通过集成电路终端34将其它模块20与数据处理系统10外部耦合。通过协处理器接口30将处理器12与协处理器14和协处理器16双向耦合。
图2是一个图解图1中处理器12的一部分的框图。在一种实施方式中,处理器12包括控制电路40,指令译码电路42,指令管道44,寄存器46,算术逻辑单元(ALU)48,锁存多路转换器(MUX)50,锁存多路转换器(MUX)52,和多路转换器(MUX)54。在本发明的一种实施方式中,协处理器接口30包括信号60-71。时钟信号是由控制电路40生成的。协处理器运行信号61是由控制电路40生成的,并将该信号提供给协处理器14和16。
管理状态信号62是由控制电路40生成的,并将该信号提供给协处理器14和16。译码信号63是由控制电路40生成的,并将该信号提供给协处理器14和16。协处理器忙信号64是由控制电路40从协处理器14或16中接收到的。执行信号65是由控制电路40生成的,并将该信号提供给协处理器14和16。异常信号66是由控制电路40从协处理器14或协处理器16中接收到的。寄存器写(REGWR*)信号67是由控制电路40生成的,并将该信号提供给协处理器14和16。寄存器信号(REG{4:0})68是由控制电路40生成的,并将该信号提供给协处理器14和16。出错信号(H-ERR*)69是由控制电路40生成的,并将该信号提供给协处理器14和16。数据选通信号(H-DS*)70是由控制电路40生成的,并将该信号提供给协处理器14和16。数据确认信号(H-DA*)是由控制电路40从协处理器14或协处理器16中接收到的。硬件数据端口信号(HDP{31:0})72也被认为是协处理器接口30的一部分,在协处理器14和16与处理器12的内部电路之间它们是双向的。
在本发明的一种实施方式中,从/或向总线28提供多个信号,目的是在存储器18和/或存储器24中加载或存储数据。在一种实施方式中,这些信号包括一个传输请求信号(TREQ*)73,它是由控制电路40生成的并将该信号提供给总线28。通过总线28将传输出错确认信号(TEA*)74提供给控制电路40。通过总线28将传输确认信号(TA*)75提供给控制电路40。从总线28通过导线76将指令提供给指令管道44。通过导线76将数据提供给MUX54。驱动数据信号79能够使三态缓冲器95通过导线88和76提供来自锁存MUX52的数据。地址选择信号78使锁存MUX50能够通过导线77向总线28提供地址。MUX50的另外一个输入是由HDP信号(HDP{31:0})72提供的。MUX54的另外一个输入是通过ALU结果导线86提供的。将MUX54的输出,结果信号83提供给寄存器46和三态缓冲器96的输入。驱动HDP信号82能够使三态缓冲器96在HDP信号72之上驱动结果信号83。三态缓冲器96的输出也与锁存MUX52的输入相耦合。在本发明的可选实施方式中,寄存器46中可能包括任何数量的寄存器。提供结果信号83,作为锁存MUX50的一个输入。通过MUX54将结果信号83提供给寄存器46。结果选择信号(RESULT-SELECT)81选择在结果导线83之上驱动MUX54的哪一个输入。将源选择信号(SOURCE-SELECT)80提供给锁存MUX52,以选择在导线88上将哪一个信号驱动到三态缓冲器95。控制电路40提供控制信息,并通过导线91从寄存器46接收状态信息。控制电路40提供控制信号,并通过导线92从算术逻辑单元48接收状态信号。控制电路40提供控制信号并通过导线93从指令管道44和指令译码电路42接收状态信号。耦合指令管道44以通过导线89向指令译码电路42提供指令。指令译码电路42通过导线90向控制电路40提供译码后的指令信息。寄存器46通过导线84向算术逻辑单元48提供源操作数。寄存器46通过导线84,锁存MUX52,三态缓冲器95和导线76提供数据,将该数据存储在存储器18或存储器24中。寄存器46通过导线84,锁存MUX50,和地址导线77向存储器18或存储器24提供地址信息。寄存器46通过导线85向算术逻辑单元48提供一个第二源操作数。
图3是一个图解协处理器14的一部分的一种实施方式的框图。在一种实施方式中,协处理器14包括控制电路100,计算电路102,和可选的存储电路104。控制电路100通过协处理器接口30与处理器12双向耦合,其中协处理器接口30包括信号60-72。在本发明的一种实施方式中,控制电路100包括译码电路106,该译码电路106从处理器12接收运行信号61和译码信号63。控制电路100提供控制信息,并通过导线108从可选的存储电路104中接收状态信息。控制电路100提供控制信息,并通过导线109从计算电路102中接收状态信息。计算电路102和可选的存储电路104通过导线110双向耦合。向或从总线28或集成的电路终端32提供一个或多个信号110。控制电路100通过导线112从或向总线28或集成的电路终端32接收或提供信息。信号72可以与计算电路102和可选的存储电路104双向耦合。此外,信号72可以与总线28或集成的电路终端32双向耦合。在本发明的一种可选实施方式中,可能并没有实现的可选的存储电路104。在本发明的一种实现了可选的存储电路104的实施方式中,这可以是使用寄存器,任何类型的存储器,包括锁存或可编程的逻辑阵列等等的任何类型的存储电路来实现。在本发明的可选实施方式中,计算电路102可以执行任何类型的逻辑或计算功能。
该系统通过一个外协处理器14(或硬件加速器)提供对任务加速的支持,对于与特定应用相关的操作将外协处理器14(或硬件加速器)最优化。对于执行一个人口数计算,或更复杂的功能例如一个DSP加速协处理器14或能够进行高速乘/累加操作的协处理器14,这些外协处理器14,16可能就象一个协处理器14那么简单。
对于一个特定实现,由若干个机制中的一个或几个,在处理器12和协处理器14之间传送数据。这可被分为向协处理器14的传送,和从协处理器14的传送。
向协处理器14传送数据的的机制中的一个是寄存器窥探机制,它不涉及指令原语,但却是正常的处理器12操作的副产品。这包括在接口中反映对于处理器的12个通用寄存器(“GPR”)46的更新,这样一个协处理器14能够监视对一个或多个处理器12寄存器的更新。对于一个内部寄存器或功能,如果一个协处理器14“覆盖”了一个GPR46,那么这可能是适合的。在这种情况下,不要求从处理器12向一个协处理器14显式的传递参数。
也在基处理器12中提供指令原语以在外协处理器14,16和处理器12之间显式传送操作数和指令。此外还提供了一个信号交换机制,以允许控制指令和数据传送的速率。
注意到协处理器14的功能被设计为是特定实现的单元,这样在不同的实现中,可以自由改变一个给定单元的精确功能,即使可能存在相同的指令映射。
图4是一个图解一个寄存器窥探操作的时序图。为了避免向协处理器14或外监视器额外的传递参数,提供了一个寄存器窥探机制。这允许一个协处理器14实现处理器的12个通用寄存器46中的一个或多个的阴影拷贝(shadow copy)。这个能力是通过传送被写入到处理器GPR46中的值,和一个指示对于每一个GPR寄存器46也正被更新的指示值来实现的。对于每一个GPR更新,断言一个选通信号REGWR*67。在32位的双向数据路径HDP[31:0]72中传送该值,并且一个5位的寄存器数字总线提供了一个指向正在被更新的(REG[4:0])68的实际的处理器寄存器46的指针。在一个正常的文件或一个可选的文件中寄存器编码可能是一个寄存器46。在优选的实施方式中,通过REG[4]==1来指示可选的文件寄存器,由REG[4]==0来指示正常的文件寄存器。但是,要注意本发明不以任何方式依赖于寄存器组实际的分区。
一个协处理器14可能在内部将该值与一个目的寄存器46序号的指示一起锁存,以避免后面的显式移动。也可能由一个调试协处理器14来使用这个功能,以跟踪寄存器46或它的一个子集的状态。
一个专用的12位指令总线(H-OP[11:0])61提供被发布给外协处理器14的协处理器接口30操作码。这条总线反映了该处理器的操作码的低位的12位。没有反映高位的4位,因为它们总是0b0100。也提供了一个管理状态指示器(H-SUP)62来指示PSR(S)位的当前状态,指示处理器是运行在管理状态还是用户状态。这对于将某一协处理器功能限定到管理状态是有用的。使用处理器12和外协处理器14,16之间信号交换的一个集合来协调协处理器接口30指令的执行。
由处理器12生成的控制信号是处理器12内部流水线结构的一个反映。处理器流水线44包括取指令,指令译码42,执行,和结果写回阶段。它包括一个或多个指令寄存器(IR)。处理器12也包括一个指令预取缓冲器以允许在译码阶段42之前缓冲一条指令。通过进入指令译码寄存器IR,指令从这个缓冲器继续到指令译码阶段42。
指令译码器42从IR接收输入,并且在IR中所保存的值的基础上生成输出。这些译码42输出不总是有效的,有可能要依据指令流中的异常条件或变化删除某些输出。即使在有效时,也可能在IR中保存指令,直到它们能够继续进行到指令流水线中的执行阶段。由于这个只有在已经完成了前面的指令时才能发生(这可采取多时钟),译码器将继续译码IR中所包括的值,直到IR被更新。
图5是一个图解用于指令信号交换的基本指令接口操作的时序图。提供一个指令译码选通(H-DEC*)信号63,以由处理器12来指示协处理器接口30操作码的译码。当一个协处理器接口30操作码驻留在IR中时,将断言这个信号,即使可能并不执行该指令而将其删除。对于多时钟,同一指令,可能保持对H-DEC*63信号的断言,直到实际发布或删除该指令。
由处理器12来监测一个忙信号(H-BUSY*)64,以确定一个外协处理器14是否能够接收协处理器接口30指令,并且部分控制指令的发布何时发生。如果H-BUSY*64信号被否定,而断言了H-DEC*63,接口将不能停顿指令的执行,并且一旦继续执行指令就能够断言H-EXEC*65。在处理器12译码一个协处理器接口30操作码的时候(由H-DEC*963的断言来指示),如果断言了信号H-BUSY*64,那么将强迫执行延迟的协处理器接口30操作码。一旦H-BUSY*64信号被否定,处理器12能够通过断言H-EXEC*65来发布指令。如果协处理器14能够缓冲指令,H-BUSY*64信号就能够被用来填充缓冲器。
图6是一个图解当使用H-BUSY*64控制协处理器接口30指令执行的时候指令接口操作的时序图。一旦已经分解了任何内部停顿条件,并已经否定了H-BUSY*64信号,处理器能够断言H-EXEC*65以指示协处理器接口30指令已经进入了流水线的执行阶段。一个外协处理器14应该监视H-EXEC*65信号以控制指令的实际执行,因为对于处理器有可能在某种条件下执行之前就删除了该指令。如果一个较早的指令执行导致了一个异常,那么将不会断言H-EXEC*65信号,并且将否定H-DEC*63输出。如果在IR中将该指令删除,作为程序流中一个改变的结果,那么有可能进行一个相似的处理。
图7是一个图解指令删除的时序图。如果删除了一条指令,那么在将另一个协处理器接口30操作码放在H-OP[11:0]61总线上之前,否定H-DEC*63信号。
图8是一个图解指令流水线停顿的一个例子的时序图。会存在这样的情况,即便断言了H-DEC*63并否定了H-BUSY*64,处理器12也可能延迟H-EXEC*65的断言。在等待完成一条较早的指令的时候,可能会发生这种情况。
图9是一个图解没有停顿的背对背操作的一个例子的时序图。对于背对背协处理器接口30指令,能够保持对H-DEC*63信号的断言,而不是将其否定,即使在新指令进入IR时更新了H-OP[11:0]61总线。总之,H-EXEC*65的断言对应于在前一个时钟被译码的指令的执行。
图10是一个图解具有内部流水线停顿的背对背操作的时序图。在这种情况下,否定了H-BUSY*64,但是,直到内部停顿条件消失,处理器才为第二个协处理器接口30指令断言H-EXEC*65。
图11是一个图解具有H-BUSY*64停顿的背对背协处理器接口30指令的时序图。在这个例子中,外协处理器14为忙,不能立即接收第二条指令。断言H-BUSY*64以阻止处理器12发布第二条指令。一旦协处理器14空闲,则否定H-BUSY*64,并且将下一个第二个协处理器接口30指令提前到执行阶段。
与译码协处理器接口30操作码相关的异常可能是由外协处理器14使用H-EXEC*66信号进行通知的。在断言H-DEC*63并否定H-BUSY*64的时钟周期中,采样处理器12的这个输入,并且如果没有象以前描述的那样删除协处理器接口30操作码,将会引起一个硬件协处理器14异常的异常处理。下面将会描述这个异常处理的细节。
图12是一个图解H-EXCP*66信号的一个例子的时序图,该信号是由协处理器14断言的以响应协处理器接口30操作码的译码和测试操作。在断言H-DEC*63并否定H-BUSY*64的时钟中,处理器12采样H-EXCP*66信号。断言H-EXEC*65信号,无论是否由该接口以信号形式通知一个异常;这个断言将异常时所采取的情况与指令删除情况区别开。
应注意到该异常对应于在前一个时钟周期被译码的指令,并且不应该采取实际的执行。一个协处理器14必须在它所能识别的处理器流水线的执行阶段之前接收一条不好的指令并且发出一个异常信号。对于所有否定H-DEC*63或断言H-BUSY*64的时钟周期,都忽略H-EXCP*66信号。
图13是一个图解H-EXCP*66信号的一个例子的时序图,该信号是由协处理器14所断言的以响应协处理器接口30操作码的解码和测试操作。对比这个与图14中的时序图,在这个例子中,删除了协处理器接口30指令,这样就没有断言H-EXEC*65信号,并且否定了H-DEC*63。
图14是一个图解一个例子的时序图,在该例子中已经断言了H-BUSY*64以延迟一个将会引起一个异常的协处理器接口30操作码的执行
所有的协处理器14,16都能共享H-BUSY*64和H-EXCP*66信号,这样就必须以一种协调的方式来驱动它们。应该由对应于H-OP[11:10]61的协处理器14,16在确定H-DEC*63的时钟周期来驱动这些信号(或高或低,无论哪一个都适合)。通过只在时钟的低部分驱动输出,多个协处理器14,16可以无争用的共享这些信号。在这个输入上提供处理器12内部的一个保持锁存,对于时钟的高阶段将它保持在一个有效的状态,同时没有单元在驱动它。
协处理器接口30指令原语中的一些也隐含着在处理器12和外协处理器14之间传送数据项。可以在协处理器接口30中传送操作码,作为被执行的特定原语的一个函数。在一个32位双向数据通路之中,提供向或是从协处理器14传送处理器12个GPR中的一个或多个。此外,也提供从/向具有数据汇/源,即协处理器接口30的存储器18加载或存储一个信号数据项。处理器12将通过HDP[31:0]72总线在CLK60的高部分将参数传送到外协处理器14,并且由处理器12在时钟的低阶段从协处理器接收操作码,并将其锁定。在驱动发生之前提供一个延迟做为时钟转移,以允许总线跨区转接的一个小的阶段。一个协处理器14接口必须在时钟的下降沿提供相同的小的延迟。由数据选通(H-DS*70)输出,数据确认(H-DA*71)输入和数据出错(H-ERR*69)输出信号来支持数据项的信号交换。
处理器12提供向协处理器接口30传送一个调用或返回参数表的能力,这与调用或返回软件例程的方式相同。在H-CALL或H-RET原语中指示变元的数量,以控制所通过的参数的数量。以处理器12寄存器R4的内容开始的寄存器值被传送到(出)外协处理器14,作为H-CALL(H-RET)原语的操作的一部分,总共可能通过七个寄存器参数。这个约定与软件例程调用的约定相类似。
操作数传输的信号交换由数据选通(H-DS*70)输出和数据确认(H-DA*71)输入信号控制。在传输期间处理器12断言数据选通,并且以一种覆盖的方式进行传输,这与处理器12接口操作相同。数据确认(H-DA*)71用来指示一个协处理器14已经接受或驱动了一个数据单元。
图15是一个图解与H-CALL原语相关的寄存器46传输的一个例子的时序图。提供指令原语以传输多处理器寄存器,并且在理想的情况下,在每个时钟都能进行传输。对于向一个外协处理器14的传输,处理器自动在确认当前项之前(或同时)开始驱动下一个操作数(如果需要的话)。外部逻辑必须具有一级缓冲的能力以确保数据不会丢失。这张图表示了向协处理器接口30的H-CALL传输的顺序,其中传送了两个寄存器。根据一个否定的数据确认(H-DA*)71,重复第二次传输。
对于从一个外协处理器14向处理器寄存器46的传输,处理器12能够在已经断言了H-DS*70之后,在每个时钟周期中都从一个外协处理器14中接受值,并且按接收时的情况将这些值写入寄存器文件46,因此不需要缓冲。
图16是一个图解与H-RET原语相关的寄存器46传输的一个例子的时序图。在这个例子中,传输两个寄存器46值。协处理器14可以在断言H-EXEC*65信号之后的时钟的开始处驱动数据,因为这是第一次断言H-DS*70时的时钟。H-DS*70输出随CLK60的上升沿转换,而在时钟CLK60的低阶段采样H-DA*71输入。
处理器12提供了使用H-LD或H-ST指令原语向或从协处理器接口30传输一个单存储器操作数的功能。
H-LD原语被用来从存储器18向一个协处理器14传输数据。向协处理器14的操作数传输的信号交换是由数据选通信号(H-DS*)70信号控制的。由处理器12来断言数据选通,以指示已经将一个有效操作数放在了HDP[31:0]72总线上。对于这一传输,忽略了数据确认(H-DA*)71输入。
图17是一个图解向协处理器接口30的H-LD传输的顺序的时序图。在这种情况中,存在一个立即状态的存储器18存取。对于n个等待状态的存储器18存取,将在n个时钟之后驱动操作数和H-DS*70。如果选择用加载的有效地址更新基寄存器46的选项,则在计算之后的第一个时钟中(H-EXEC*65确认之后的时钟),在HDP[31:0]72上驱动更新值。
图18是一个图解当一个存储器18存取导致一个存取异常时协议的时序图。在这种情况中,断言H-ERR*69信号返回给外协处理器14。
H-ST原语能够被用来从一个协处理器14向存储器18传输数据。如果选择了用存储的有效地址更新基寄存器46的选项,则在被计算之后的第一个时钟(紧接在H-EXEC*65之后的时钟),在HDP[31:0]72上驱动更新值。
图19是一个图解与H-ST原语相关的传输的一个例子的时序图。与H-ST原语相关的信号交换由两部分组成,一个是来自协处理器14的初始信号交换,它必须提供要存储的数据,另一个是一旦完成存储器18的存储,来自处理器12的一个完成信号交换。
初始信号交换使用向处理器12的H-DA*71输入来表明协处理器14已经向处理器12驱动了存储数据。在与协处理器14将数据驱动到HDP[31:0]72总线上的相同的时钟中,断言H-DA*71信号。在总线的下半部分取出存储数据,用于进行半个字长的存储,而不将高区的16位写入到存储器18中。在断言H-EXEC*65信号的时钟的开始处采样H-DA*71信号。在识别出H-DA*71的时钟中,请求存储周期,并且在下一个时钟将存储数据驱动到存储器18。一旦完成了该存储,处理器12将断言H-DS*70信号。
图20是一个图解具有延迟存储数据的传输的一个例子的时序图。
图21是一个图解当存储导致一个存取错误时的协议信号的时序图。应注意断言了H-ERR*69信号。如果硬件单元是通过在断言H-EXCP*65的时钟中断言H-EXCP*66,来异常终止指令,则不应该断言H-DA*71信号。
图22到26是图解做为指令集的一部分所提供的指令,以接口一个硬件加速器(或协处理器)14。处理器12解释原语中字段的一部分,其它字段则由协处理器14单独解释。
图22图解用于H-CALL原语的一个指令格式。这一指令用来调用由协处理器14执行的一个函数。该范例与一个标准的软件调用约定相类似,但是是以一种硬件的前后关系出现的。H-CALL原语是由处理器12和协处理器14共同解释的,以传输一个来自处理器12的“调用参数”或变元表,并且在协处理器14中初始化一个特定函数。
指令字的UU和CODE字段不是由处理器12解释的,它们被用来指定一个协处理器14特定功能。UU字段可以指定一个特定的协处理器14,16,CODE字段可以指定一个特殊操作。CNT字段是由处理器12和协处理器14一起解释,并指定传送到协处理器14的寄存器变元的数目。
从通用寄存器46传送变元,从R4开始并且继续通过R(4+CNT-1)。在一个单独的H-CALL调用中可以通过多达七个参数或寄存器46。
H-CALL指令能够被用来实现模块功能块的调用。人们早就知道这种类型接口的使用会使软件系统具有更高的可靠性和较少的错误。通常最好由值来传递函数参数。这样会显著地降低副作用。在许多情况下,分程序结构语言的现代编译器,例如C和C++,在寄存器46中向调用函数或子例程传送参数或变元的短序列。这种技术可以由H-CALL指令来实现。可以将一个编译器配置成向以R4开始的累次寄存器46加载多达七个参数或变元,接着生成H-CALL指令,该指令替代了生成子例程连接指令的标准编译器。
图23图解用于H-RET原语的一个指令格式。这一指令被用来从一个由协处理器14所实现的函数“返回”。该范例与处理器12使用的软件调用约定相类似,但是以硬件的前后关系出现的。该H-RET原语由处理器12和协处理器14共同解释,以从一个协处理器14向处理器12传输一个“返回参数”或值的列表。
指令字的UU和CODE字段不是由处理器12解释的,它们被用来指定一个协处理器14特定功能。UU字段可以指定一个硬件单元,CODE字段可以指定协处理器14中寄存器46的一个特殊操作或集合以返回。CNT字段是由处理器12和协处理器14一起解释的,并且指定从协处理器14向处理器12传送的寄存器46变元的数目。
变元被传递到处理器12通用寄存器46,以R4开始,并继续通过R(4+CNT-1)。可以返回多达七个参数(或寄存器内容)。
至于H-CALL指令,H-RET指令也可以被用来实现模块化编程。结构化编程要求最好通过值将函数返回值返回到一个调用例程。对于一个子例程或函数返回,这经常可以由编译器在寄存器中放置一个或多个返回值来高效地完成。应该注意到传统的结构化编程希望在调用子例程或函数之后能立即返回。在使用协处理器14的情况下,执行通常与调用引用处理器12的执行相同步。H-RET指令可以被用来使处理器12和协处理器14重新同步。这样,处理器12可以加载一个或多个寄存器46,用一个或多个H-CALL指令激活协处理器14,执行不相关指令,并且接下来通过发布H-RET指令,在从一个协处理器14接收一个结果值或多个值时,与协处理器14重新同步。
图24图解用于H-EXEC原语的一个指令格式。这一指令被用来初始化一个函数或进入一个由加速器实现的运行方式。H-EXEC指令可以被用来控制在一个特定协处理器14,16中由一个UU字段指定的一个函数。代码字段不是由处理器12解释的,但是为指定的协处理器14,16所保留。指令字的UU和CODE字段不是由处理器12解释的,它们被用来指定一个协处理器14的特定函数。UU字段可以指定一个特定协处理器14,16,CODE字段可以指定一个特殊操作。
图25图解用于H-LD指令的一个指令格式。使用这一指令来从存储器18向一个协处理器14传送一个值,传递过程中没有在一个通用寄存器(GPR)46中临时存储存储器操作数。使用一个基指针和一个偏移来寻址该存储器操作数。
H-LD指令执行在存储器18中加载一个值的操作,并且向协处理器14传送存储器操作数,而不是将其存储在一个寄存器46中。H-LD操作有三个选项,w-字,H-半字以及u-更新。通过加载的大小以及零延伸来换算IMM2字段,以来获取Disp。将这个值加到寄存器RX的值上,并且从这个地址执行一个指定大小的加载,将加载的结果传送到硬件接口28。对于半字加载,所取的数据是从零延伸到32位。如果指定u选项,则在计算之后,将加载的有效地址放入寄存器RX46中。
指令字的UU字段不是由处理器12解释的,这个字段可以指定一个特定协处理器14,16。Sz字段指定操作数的大小(只限于半字或字)。Disp字段指定一个要加到由Rbase字段所指定的寄存器中内容的无符号偏移值,以形成加载的有效地址。Disp字段的值是通过要传输的操作数的大小来换算的。Up字段指定在计算之后是否要用加载的有效地址来更新Rbase寄存器46。这个选项允许一个“自动更新”寻址模式。
图26图解用于H-ST指令的一个指令格式。这个指令被用来从一个协处理器14向存储器18传送一个值,而不在处理器12寄存器46中临时存储该存储器操作数。使用一个基指针和一个偏移来寻址该存储器操作数。
指令字的UU字段不是由处理器12解释的。但这个字段可以指定一个特定的协处理器14,16。Sz字段指定操作数的大小(只限于半字或字)。Disp字段指定一个要加到由Rbase字段所指定的寄存器46中内容的无符号偏移值,以形成要存储的有效地址。通过要传输的操作数的大小来换算Disp字段的值。Up字段指定在计算之后,是否要用有效地址来更新Rbase寄存器46。这个选项允许一个“自动更新”寻址模式。
H-ST指令执行从一个协处理器14向存储器18中存储一个操作数,而不在寄存器46中存储该操作数。H-ST操作有三个选项,w-字,H-半字以及u-更新。通过存储的大小以及零延伸来换算IMM2字段以获取Disp。这个值被加到寄存器RX的值上,并且用从硬件接口获得的用于存储的数据对这个地址进行一个指定大小的存储。如果指定u选项,则在计算之后将所加载的有效地址,放入寄存器RX中。
H-LD指令和H-ST指令提供了一种从存储器18向一个协处理器14以及从一个协处理器14向存储器18移动操作数,而不是通过寄存器46进行数据移动的有效机制。偏移和索引设备提供了一种通过阵列进行步进的有效机制。这样,这些指令在循环中非常有用。应该注意对于操作数的每次加载或存储,两条指令都使处理器12与协处理器14相同步。如果这并不是必须的或者是优选的,则可以选择通过重复向一个指定寄存器或多个寄存器46加载来自存储器18的数据,来将数据注入到协处理器14中,并且由于协处理器接口总线30也被用于寄存器窥探,所以也可以让协处理器14检测这些加载。
熟悉本技术的人员会发现可以在不脱离本发明精神的情况下进行修改和变化。因此,本发明包含了所附权利要求书范围内的所有变化和修改。
Claims (5)
1.一种用于具有包括多个寄存器的寄存器文件的处理器经由协处理器通信总线广播所述寄存器文件中的所有事务的方法,所述方法包括步骤:
接收将要写入所述寄存器文件的操作数;
选择所述寄存器文件中所述多个寄存器中的一个;以及
提供给所述寄存器文件并经由所述协处理器通信总线:所述将要写入所述寄存器文件的操作数、表明所述选择的所述寄存器文件中所述多个寄存器中的一个的第一控制信号、以及请求将所述操作数写入所述选择的所述多个寄存器中的一个的第二控制信号。
2.一种用于第一处理器经由协处理器通信总线监控所有写入事务到第二处理器中的包括多个寄存器的寄存器文件中的方法,所述方法包括步骤:
经由所述协处理器通信总线从所述第二处理器接收:将要写入所述寄存器文件的操作数、表明选择的所述寄存器文件中所述多个寄存器中的一个的第一控制信号、以及请求将所述操作数写入所述选择的所述多个寄存器中的一个的第二控制信号;以及
响应收到的所述操作数、所述第一控制信号、以及所述第二控制信号,执行预定的操作。
3.一种用于具有包括多个寄存器的寄存器文件的第一处理器经由协处理器通信总线广播由第二处理器监控的所述寄存器文件中的所有写入事务的方法,所述方法包括步骤:
在所述第一处理器中:
接收将要写入所述寄存器文件的操作数;
选择所述寄存器文件中所述多个寄存器中的一个;以及
提供给所述寄存器文件并经由所述协处理器通信总线:所述将要写入所述寄存器文件的操作数、表明所述选择的所述寄存器文件中所述多个寄存器中的一个的第一控制信号、以及请求将所述操作数写入所述选择的所述多个寄存器中的一个的第二控制信号;
在所述第二处理器中:
经由所述协处理器通信总线从所述第一处理器接收:将要写入所述寄存器文件的操作数、表明所述选择的所述寄存器文件中所述多个寄存器中的一个的第一控制信号、以及请求将所述操作数写入所述选择的所述多个寄存器中的一个的第二控制信号;以及
响应收到的所述操作数、所述第一控制信号、以及所述第二控制信号,执行预定的操作。
4.一种处理器,包括:
多个寄存器;
用于执行到多个寄存器中的一个的写入操作的电路;
用于为到所述多个寄存器中的一个的写入操作提供操作数的导线;以及
用于与协处理器通信总线进行通信的端口,所述端口包括:
至少一个第一协处理器通信总线信号端,用于提供由所述处理器生成的至少一个第一协处理器通信总线信号,所述至少一个第一协处理器通信总线信号表示在所述写入操作期间写入多个寄存器中的哪一个;
至少一个第二协处理器通信总线信号端,用于提供由所述处理器生成的至少一个第二协处理器通信总线信号,所述至少一个第二协处理器通信总线信号表示到所述多个寄存器中的一个的所述写入操作的发生;以及
至少一个第三协处理器通信总线信号端,用于提供由所述处理器生成的至少一个第三协处理器通信总线信号,所述至少一个第三协处理器通信总线信号在所述写入操作期间提供将要写入所述多个寄存器中的一个的所述操作数。
5.一种数据处理系统,包括通过协处理器通信总线耦合的处理器和协处理器,
其中,所述处理器包括:
多个寄存器;
用于执行到多个寄存器中的一个的写入操作的电路;
用于为到所述多个寄存器中的一个的写入操作提供操作数的导线;以及
用于通过所述协处理器通信总线与所述协处理器进行通信的处理器端口,所述处理器端口包括:
至少一个第一协处理器通信总线信号端,用于提供由所述处理器生成的至少一个第一协处理器通信总线信号,所述至少一个第一协处理器通信总线信号表示在所述写入操作期间写入多个寄存器中的哪一个;
至少一个第二协处理器通信总线信号端,用于提供由所述处理器生成的至少一个第二协处理器通信总线信号,所述至少一个第二协处理器通信总线信号表示到所述多个寄存器中的一个的所述写入操作的发生;以及
至少一个第三协处理器通信总线信号端,用于提供由所述处理器生成的至少一个第三协处理器通信总线信号,所述至少一个第三协处理器通信总线信号在所述写入操作期间提供将要写入所述多个寄存器中的一个的所述操作数;
并且,其中所述协处理器包括:
用于与所述协处理器通信总线进行通信的协处理器端口,所述协处理器端口包括:
至少一个第四协处理器通信总线信号端,用于接收由所述处理器生成的所述至少一个第一协处理器通信总线信号,所述至少一个第一协处理器通信总线信号表示在所述写入操作期间写入多个寄存器中的哪一个;
至少一个第五协处理器通信总线信号端,用于接收由所述处理器生成的至少一个第二协处理器通信总线信号,所述至少一个第二协处理器通信总线信号表示到所述多个寄存器中的一个的所述写入操作的发生;以及
至少一个第六协处理器通信总线信号端,用于接收由所述处理器生成的至少一个第三协处理器通信总线信号,所述至少一个第三协处理器通信总线信号在所述写入操作期间提供将要写入所述多个寄存器中的一个的所述操作数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/924,518 | 1997-09-05 | ||
US08/924,518 US6505290B1 (en) | 1997-09-05 | 1997-09-05 | Method and apparatus for interfacing a processor to a coprocessor |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB981185819A Division CN1299218C (zh) | 1997-09-05 | 1998-09-04 | 执行指令的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1560729A true CN1560729A (zh) | 2005-01-05 |
CN1307536C CN1307536C (zh) | 2007-03-28 |
Family
ID=25450311
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007100016673A Expired - Lifetime CN100573445C (zh) | 1997-09-05 | 1998-09-04 | 将一个处理器与一个协处理器相接口的方法 |
CNB981185819A Expired - Lifetime CN1299218C (zh) | 1997-09-05 | 1998-09-04 | 执行指令的方法 |
CNB2004100696118A Expired - Lifetime CN1307536C (zh) | 1997-09-05 | 1998-09-04 | 将一个处理器与一个协处理器相接口的方法和装置 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007100016673A Expired - Lifetime CN100573445C (zh) | 1997-09-05 | 1998-09-04 | 将一个处理器与一个协处理器相接口的方法 |
CNB981185819A Expired - Lifetime CN1299218C (zh) | 1997-09-05 | 1998-09-04 | 执行指令的方法 |
Country Status (8)
Country | Link |
---|---|
US (3) | US6505290B1 (zh) |
EP (2) | EP1282035A1 (zh) |
JP (1) | JP3920994B2 (zh) |
KR (1) | KR100563012B1 (zh) |
CN (3) | CN100573445C (zh) |
DE (1) | DE69814268T2 (zh) |
SG (2) | SG102528A1 (zh) |
TW (1) | TW385410B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012136037A1 (zh) * | 2011-04-07 | 2012-10-11 | 中兴通讯股份有限公司 | 一种实现寄存器文件间的数据传输方法及装置 |
CN101300545B (zh) * | 2005-11-08 | 2012-11-14 | 国际商业机器公司 | 数据系统中运行的方法及装置 |
CN104750474A (zh) * | 2013-12-31 | 2015-07-01 | 联想(北京)有限公司 | 一种处理单元及一种信息处理的方法 |
CN106648400A (zh) * | 2015-11-03 | 2017-05-10 | 华为终端(东莞)有限公司 | 一种触摸数据上报的方法及电子设备 |
CN108076476A (zh) * | 2016-11-18 | 2018-05-25 | 华为技术有限公司 | 用于传输数据的方法和装置 |
CN104750474B (zh) * | 2013-12-31 | 2018-08-31 | 联想(北京)有限公司 | 一种处理单元及一种信息处理的方法 |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001092663A (ja) * | 1999-09-17 | 2001-04-06 | Sanyo Electric Co Ltd | データ処理装置 |
EP2804106A1 (en) * | 2000-09-06 | 2014-11-19 | Ericsson Modems SA | Inter-processor communication system |
US6829697B1 (en) * | 2000-09-06 | 2004-12-07 | International Business Machines Corporation | Multiple logical interfaces to a shared coprocessor resource |
JP2002149402A (ja) * | 2000-11-14 | 2002-05-24 | Pacific Design Kk | データ処理装置およびその制御方法 |
JP2002169724A (ja) * | 2000-12-01 | 2002-06-14 | Oki Electric Ind Co Ltd | キャッシュメモリにおける部分無効化装置 |
US6754804B1 (en) * | 2000-12-29 | 2004-06-22 | Mips Technologies, Inc. | Coprocessor interface transferring multiple instructions simultaneously along with issue path designation and/or issue order designation for the instructions |
US7287147B1 (en) * | 2000-12-29 | 2007-10-23 | Mips Technologies, Inc. | Configurable co-processor interface |
US7237090B1 (en) | 2000-12-29 | 2007-06-26 | Mips Technologies, Inc. | Configurable out-of-order data transfer in a coprocessor interface |
US7168066B1 (en) | 2001-04-30 | 2007-01-23 | Mips Technologies, Inc. | Tracing out-of order load data |
US7240203B2 (en) * | 2001-07-24 | 2007-07-03 | Cavium Networks, Inc. | Method and apparatus for establishing secure sessions |
GB2378271B (en) * | 2001-07-30 | 2004-12-29 | Advanced Risc Mach Ltd | Handling of coprocessor instructions in a data processing apparatus |
US7228401B2 (en) | 2001-11-13 | 2007-06-05 | Freescale Semiconductor, Inc. | Interfacing a processor to a coprocessor in which the processor selectively broadcasts to or selectively alters an execution mode of the coprocessor |
US6886092B1 (en) * | 2001-11-19 | 2005-04-26 | Xilinx, Inc. | Custom code processing in PGA by providing instructions from fixed logic processor portion to programmable dedicated processor portion |
US6795877B2 (en) * | 2001-11-29 | 2004-09-21 | Intel Corporation | Configurable serial bus to couple baseband and application processors |
FR2834154B1 (fr) * | 2001-12-21 | 2005-03-11 | Oberthur Card Syst Sa | Unite electronique incluant des moyens de cryptographie capables de traiter des informations a haut debit |
US7305567B1 (en) | 2002-03-01 | 2007-12-04 | Cavium Networks, In. | Decoupled architecture for data ciphering operations |
US7154941B2 (en) * | 2002-06-28 | 2006-12-26 | Nokia Corporation | Modem having a vector-architecture processor, and associated methodology therefor |
EP1387259B1 (en) * | 2002-07-31 | 2017-09-20 | Texas Instruments Incorporated | Inter-processor control |
JP4182801B2 (ja) * | 2003-04-24 | 2008-11-19 | 日本電気株式会社 | マルチプロセサシステム |
KR100849296B1 (ko) * | 2003-06-13 | 2008-07-29 | 삼성전자주식회사 | 주제어부와 보조제어부를 구비하는 시스템에서의보조제어부의 초기화 장치 및 방법 |
JP4224430B2 (ja) * | 2003-07-07 | 2009-02-12 | 株式会社ルネサステクノロジ | 情報処理装置 |
US7441106B2 (en) | 2004-07-02 | 2008-10-21 | Seagate Technology Llc | Distributed processing in a multiple processing unit environment |
ATE463786T1 (de) * | 2004-07-09 | 2010-04-15 | Michael Colin George Chapman | Hochleistungsfähiger benutzer-konfigurierbarer prozessor |
JP3768516B1 (ja) * | 2004-12-03 | 2006-04-19 | 株式会社ソニー・コンピュータエンタテインメント | マルチプロセッサシステムとそのシステムにおけるプログラム実行方法 |
US20060155974A1 (en) * | 2005-01-07 | 2006-07-13 | Moyer William C | Data processing system having flexible instruction capability and selection mechanism |
JP3867804B2 (ja) * | 2005-03-22 | 2007-01-17 | セイコーエプソン株式会社 | 集積回路装置 |
KR100781340B1 (ko) * | 2006-09-18 | 2007-11-30 | 삼성전자주식회사 | 사용자 정의 확장 연산을 처리하는 연산 시스템 및 방법 |
US8095699B2 (en) * | 2006-09-29 | 2012-01-10 | Mediatek Inc. | Methods and apparatus for interfacing between a host processor and a coprocessor |
WO2008045341A1 (en) * | 2006-10-05 | 2008-04-17 | Arc International | Inter-processor communication method |
US20080147357A1 (en) * | 2006-12-15 | 2008-06-19 | Iintrinisyc Software International | System and method of assessing performance of a processor |
FR2942556B1 (fr) * | 2009-02-24 | 2011-03-25 | Commissariat Energie Atomique | Unite d'allocation et de controle |
CN102804136B (zh) | 2009-06-23 | 2015-03-11 | 精工爱普生株式会社 | 副处理器、集成电路装置及电子设备 |
EP2278452A1 (en) * | 2009-07-15 | 2011-01-26 | Nxp B.V. | Coprocessor programming |
JP5632651B2 (ja) * | 2010-05-19 | 2014-11-26 | スパンション エルエルシー | 半導体回路及び設計装置 |
US20130305020A1 (en) * | 2011-04-01 | 2013-11-14 | Robert C. Valentine | Vector friendly instruction format and execution thereof |
EP2525286A1 (en) * | 2011-05-17 | 2012-11-21 | Nxp B.V. | Co-processor interface |
JP2012252374A (ja) * | 2011-05-31 | 2012-12-20 | Renesas Electronics Corp | 情報処理装置 |
JP5653865B2 (ja) * | 2011-08-23 | 2015-01-14 | 日本電信電話株式会社 | データ処理システム |
CN104011670B (zh) | 2011-12-22 | 2016-12-28 | 英特尔公司 | 用于基于向量写掩码的内容而在通用寄存器中存储两个标量常数之一的指令 |
US9329870B2 (en) | 2013-02-13 | 2016-05-03 | International Business Machines Corporation | Extensible execution unit interface architecture with multiple decode logic and multiple execution units |
US9203835B2 (en) | 2013-03-01 | 2015-12-01 | Paypal, Inc. | Systems and methods for authenticating a user based on a biometric model associated with the user |
US20150261535A1 (en) * | 2014-03-11 | 2015-09-17 | Cavium, Inc. | Method and apparatus for low latency exchange of data between a processor and coprocessor |
CN105988773B (zh) * | 2015-02-10 | 2021-03-09 | 恩智浦美国有限公司 | 硬件接口组件和用于硬件接口组件的方法 |
US11263014B2 (en) * | 2019-08-05 | 2022-03-01 | Arm Limited | Sharing instruction encoding space between a coprocessor and auxiliary execution circuitry |
CN110532040A (zh) * | 2019-08-29 | 2019-12-03 | 北京地平线机器人技术研发有限公司 | 固件程序的加载方法及装置、存储介质和电子设备 |
CN111917471B (zh) * | 2020-09-09 | 2021-09-28 | 西安工程大学 | 一种自由空间可见光通信系统及其通信性能优化算法 |
Family Cites Families (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4270167A (en) | 1978-06-30 | 1981-05-26 | Intel Corporation | Apparatus and method for cooperative and concurrent coprocessing of digital information |
US4547849A (en) | 1981-12-09 | 1985-10-15 | Glenn Louie | Interface between a microprocessor and a coprocessor |
US4509116A (en) | 1982-04-21 | 1985-04-02 | Digital Equipment Corporation | Special instruction processing unit for data processing system |
US4729094A (en) | 1983-04-18 | 1988-03-01 | Motorola, Inc. | Method and apparatus for coordinating execution of an instruction by a coprocessor |
US4715013A (en) | 1983-04-18 | 1987-12-22 | Motorola, Inc. | Coprocessor instruction format |
US4731736A (en) | 1983-04-18 | 1988-03-15 | Motorola, Inc. | Method and apparatus for coordinating execution of an instruction by a selected coprocessor |
US4763242A (en) * | 1985-10-23 | 1988-08-09 | Hewlett-Packard Company | Computer providing flexible processor extension, flexible instruction set extension, and implicit emulation for upward software compatibility |
JPH079643B2 (ja) | 1986-09-24 | 1995-02-01 | 株式会社日立マイコンシステム | コプロセツサデ−タ転送制御方式 |
US5001624A (en) | 1987-02-13 | 1991-03-19 | Harrell Hoffman | Processor controlled DMA controller for transferring instruction and data from memory to coprocessor |
US5091845A (en) * | 1987-02-24 | 1992-02-25 | Digital Equipment Corporation | System for controlling the storage of information in a cache memory |
IN171198B (zh) | 1987-02-24 | 1992-08-15 | Digital Equipment Corp | |
US5226170A (en) * | 1987-02-24 | 1993-07-06 | Digital Equipment Corporation | Interface between processor and special instruction processor in digital data processing system |
US5341482A (en) * | 1987-03-20 | 1994-08-23 | Digital Equipment Corporation | Method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions |
JPS63259727A (ja) | 1987-04-17 | 1988-10-26 | Hitachi Ltd | コプロセツサのインタ−フエイス方式 |
US4991078A (en) | 1987-09-29 | 1991-02-05 | Digital Equipment Corporation | Apparatus and method for a pipelined central processing unit in a data processing system |
JPH0679307B2 (ja) | 1987-10-22 | 1994-10-05 | 日本電気株式会社 | コプロセッサの並行動作制御方式 |
JPH01147656A (ja) | 1987-12-03 | 1989-06-09 | Nec Corp | マイクロプロセッサ |
JPH01277934A (ja) * | 1988-04-29 | 1989-11-08 | Nec Corp | パラメータリスト参照方法の切換え方式 |
JP2741867B2 (ja) * | 1988-05-27 | 1998-04-22 | 株式会社日立製作所 | 情報処理システムおよびプロセツサ |
US5109514A (en) * | 1988-07-28 | 1992-04-28 | Sun Microsystems, Inc. | Method and apparatus for executing concurrent CO processor operations and precisely handling related exceptions |
JP2754825B2 (ja) | 1989-02-03 | 1998-05-20 | 日本電気株式会社 | マイクロプロセッサ |
US5093908A (en) | 1989-04-17 | 1992-03-03 | International Business Machines Corporation | Method and apparatus for executing instructions in a single sequential instruction stream in a main processor and a coprocessor |
US5218711A (en) | 1989-05-15 | 1993-06-08 | Mitsubishi Denki Kabushiki Kaisha | Microprocessor having program counter registers for its coprocessors |
US5247650A (en) * | 1989-08-30 | 1993-09-21 | Industrial Technology Institute | System for combining originally software incompatible control, kinematic, and discrete event simulation systems into a single integrated simulation system |
WO1991011765A1 (en) | 1990-01-29 | 1991-08-08 | Teraplex, Inc. | Architecture for minimal instruction set computing system |
DE69127936T2 (de) | 1990-06-29 | 1998-05-07 | Digital Equipment Corp | Busprotokoll für Prozessor mit write-back cache |
US5305446A (en) | 1990-09-28 | 1994-04-19 | Texas Instruments Incorporated | Processing devices with improved addressing capabilities, systems and methods |
US5826101A (en) | 1990-09-28 | 1998-10-20 | Texas Instruments Incorporated | Data processing device having split-mode DMA channel |
US5283881A (en) * | 1991-01-22 | 1994-02-01 | Westinghouse Electric Corp. | Microcoprocessor, memory management unit interface to support one or more coprocessors |
JP3206006B2 (ja) * | 1991-01-25 | 2001-09-04 | 株式会社日立製作所 | 二重化バス制御方法及び装置 |
US5488729A (en) | 1991-05-15 | 1996-01-30 | Ross Technology, Inc. | Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution |
US5430850A (en) | 1991-07-22 | 1995-07-04 | Massachusetts Institute Of Technology | Data processing system with synchronization coprocessor for multiple threads |
US5767939A (en) | 1991-10-09 | 1998-06-16 | Seiko Epson Corporation | Eyeglass lens |
US5708784A (en) * | 1991-11-27 | 1998-01-13 | Emc Corporation | Dual bus computer architecture utilizing distributed arbitrators and method of using same |
WO1993016437A1 (en) | 1992-02-18 | 1993-08-19 | Apple Computer, Inc. | A programming model for a coprocessor on a computer system |
US5481743A (en) | 1993-09-30 | 1996-01-02 | Apple Computer, Inc. | Minimal instruction set computer architecture and multiple instruction issue method |
US5706478A (en) * | 1994-05-23 | 1998-01-06 | Cirrus Logic, Inc. | Display list processor for operating in processor and coprocessor modes |
JP2987308B2 (ja) * | 1995-04-28 | 1999-12-06 | 松下電器産業株式会社 | 情報処理装置 |
US5603047A (en) | 1995-10-06 | 1997-02-11 | Lsi Logic Corporation | Superscalar microprocessor architecture |
US5898897A (en) * | 1996-10-18 | 1999-04-27 | Samsung Electronics Company, Ltd. | Bit stream signal feature detection in a signal processing system |
US5953741A (en) * | 1996-11-27 | 1999-09-14 | Vlsi Technology, Inc. | Stack cache for stack-based processor and method thereof |
US5715439A (en) * | 1996-12-09 | 1998-02-03 | Allen-Bradley Company, Inc. | Bi-directional co-processor interface |
GB2326253A (en) | 1997-06-10 | 1998-12-16 | Advanced Risc Mach Ltd | Coprocessor data access control |
US6760833B1 (en) | 1997-08-01 | 2004-07-06 | Micron Technology, Inc. | Split embedded DRAM processor |
US6226738B1 (en) | 1997-08-01 | 2001-05-01 | Micron Technology, Inc. | Split embedded DRAM processor |
US6163836A (en) | 1997-08-01 | 2000-12-19 | Micron Technology, Inc. | Processor with programmable addressing modes |
US6216222B1 (en) | 1998-05-14 | 2001-04-10 | Arm Limited | Handling exceptions in a pipelined data processing apparatus |
US6247113B1 (en) | 1998-05-27 | 2001-06-12 | Arm Limited | Coprocessor opcode division by data type |
US6434689B2 (en) | 1998-11-09 | 2002-08-13 | Infineon Technologies North America Corp. | Data processing unit with interface for sharing registers by a processor and a coprocessor |
KR100308618B1 (ko) | 1999-02-27 | 2001-09-26 | 윤종용 | 단일 칩 상의 마이크로프로세서-코프로세서 시스템을 구비한 파이프라인 데이터 처리 시스템 및 호스트 마이크로프로세서와 코프로세서 사이의 인터페이스 방법 |
US6446221B1 (en) | 1999-05-19 | 2002-09-03 | Arm Limited | Debug mechanism for data processing systems |
US6513091B1 (en) | 1999-11-12 | 2003-01-28 | International Business Machines Corporation | Data routing using status-response signals |
US6557069B1 (en) | 1999-11-12 | 2003-04-29 | International Business Machines Corporation | Processor-memory bus architecture for supporting multiple processors |
US6526469B1 (en) | 1999-11-12 | 2003-02-25 | International Business Machines Corporation | Bus architecture employing varying width uni-directional command bus |
US6658545B1 (en) | 2000-02-16 | 2003-12-02 | Lucent Technologies Inc. | Passing internal bus data external to a completed system |
US6626489B2 (en) * | 2001-07-18 | 2003-09-30 | Evenflo Company, Inc. | Infant seat providing a cushioned carry |
-
1997
- 1997-09-05 US US08/924,518 patent/US6505290B1/en not_active Expired - Fee Related
-
1998
- 1998-08-24 EP EP02024180A patent/EP1282035A1/en not_active Withdrawn
- 1998-08-24 DE DE69814268T patent/DE69814268T2/de not_active Expired - Fee Related
- 1998-08-24 EP EP98115908A patent/EP0901071B1/en not_active Expired - Lifetime
- 1998-08-28 SG SG9803351A patent/SG102528A1/en unknown
- 1998-08-28 KR KR1019980035079A patent/KR100563012B1/ko not_active IP Right Cessation
- 1998-08-28 TW TW087114309A patent/TW385410B/zh not_active IP Right Cessation
- 1998-08-28 JP JP25936498A patent/JP3920994B2/ja not_active Expired - Fee Related
- 1998-08-28 SG SG200102164A patent/SG103282A1/en unknown
- 1998-09-04 CN CNB2007100016673A patent/CN100573445C/zh not_active Expired - Lifetime
- 1998-09-04 CN CNB981185819A patent/CN1299218C/zh not_active Expired - Lifetime
- 1998-09-04 CN CNB2004100696118A patent/CN1307536C/zh not_active Expired - Lifetime
-
2000
- 2000-06-30 US US09/609,260 patent/US6327647B1/en not_active Expired - Lifetime
-
2001
- 2001-11-05 US US10/007,836 patent/US7007154B2/en not_active Expired - Lifetime
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101300545B (zh) * | 2005-11-08 | 2012-11-14 | 国际商业机器公司 | 数据系统中运行的方法及装置 |
WO2012136037A1 (zh) * | 2011-04-07 | 2012-10-11 | 中兴通讯股份有限公司 | 一种实现寄存器文件间的数据传输方法及装置 |
CN102736895A (zh) * | 2011-04-07 | 2012-10-17 | 中兴通讯股份有限公司 | 一种实现寄存器文件间的数据传输方法及装置 |
CN102736895B (zh) * | 2011-04-07 | 2015-06-10 | 中兴通讯股份有限公司 | 一种实现寄存器文件间的数据传输方法及装置 |
US9501278B2 (en) | 2011-04-07 | 2016-11-22 | Zte Corporation | Method and device for data transmission between register files |
CN104750474A (zh) * | 2013-12-31 | 2015-07-01 | 联想(北京)有限公司 | 一种处理单元及一种信息处理的方法 |
CN104750474B (zh) * | 2013-12-31 | 2018-08-31 | 联想(北京)有限公司 | 一种处理单元及一种信息处理的方法 |
CN106648400A (zh) * | 2015-11-03 | 2017-05-10 | 华为终端(东莞)有限公司 | 一种触摸数据上报的方法及电子设备 |
CN106648400B (zh) * | 2015-11-03 | 2020-04-03 | 华为终端有限公司 | 一种触摸数据上报的方法及电子设备 |
CN108076476A (zh) * | 2016-11-18 | 2018-05-25 | 华为技术有限公司 | 用于传输数据的方法和装置 |
CN108076476B (zh) * | 2016-11-18 | 2020-11-06 | 华为技术有限公司 | 用于传输数据的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP0901071A3 (en) | 1999-10-13 |
EP0901071A2 (en) | 1999-03-10 |
US6505290B1 (en) | 2003-01-07 |
SG102528A1 (en) | 2004-03-26 |
CN1211012A (zh) | 1999-03-17 |
US7007154B2 (en) | 2006-02-28 |
KR100563012B1 (ko) | 2007-04-10 |
CN1983167A (zh) | 2007-06-20 |
KR19990029361A (ko) | 1999-04-26 |
CN100573445C (zh) | 2009-12-23 |
DE69814268D1 (de) | 2003-06-12 |
EP1282035A1 (en) | 2003-02-05 |
US20020049894A1 (en) | 2002-04-25 |
SG103282A1 (en) | 2004-04-29 |
JPH11154144A (ja) | 1999-06-08 |
EP0901071B1 (en) | 2003-05-07 |
US6327647B1 (en) | 2001-12-04 |
TW385410B (en) | 2000-03-21 |
JP3920994B2 (ja) | 2007-05-30 |
CN1307536C (zh) | 2007-03-28 |
CN1299218C (zh) | 2007-02-07 |
DE69814268T2 (de) | 2004-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1299218C (zh) | 执行指令的方法 | |
US9158547B2 (en) | Methods and apparatus for scalable array processor interrupt detection and response | |
US5923893A (en) | Method and apparatus for interfacing a processor to a coprocessor | |
US4922414A (en) | Symbolic language data processing system | |
US5440747A (en) | Data processor with control logic for storing operation mode status and associated method | |
JP4098241B2 (ja) | プロセッサをコプロセッサに接続する方法及び装置 | |
EP0776504A2 (en) | Integrated circuit with multiple functions sharing multiple internal signal buses according to distributed bus access and control arbitration | |
KR19980018072A (ko) | 벡터 레지스터의 복수 뱅크를 사용한 단일 명령 복수 데이터 처리 | |
JPH10134036A (ja) | マルチメディア信号プロセッサの単一命令多重データ処理 | |
WO2002077800A2 (en) | Scoreboard for scheduling of instructions in a microprocessor that provides out of order execution | |
EP0601715A1 (en) | Bus of CPU core optimized for accessing on-chip memory devices | |
US7058790B2 (en) | Cascaded event detection modules for generating combined events interrupt for processor action | |
US5983338A (en) | Method and apparatus for interfacing a processor to a coprocessor for communicating register write information | |
US7409670B1 (en) | Scheduling logic on a programmable device implemented using a high-level language | |
US7346863B1 (en) | Hardware acceleration of high-level language code sequences on programmable devices | |
US7051146B2 (en) | Data processing systems including high performance buses and interfaces, and associated communication methods | |
US7305586B2 (en) | Accessing and manipulating microprocessor state | |
EP0113460A2 (en) | Symbolic language data processing system | |
KR19980018071A (ko) | 멀티미디어 신호 프로세서의 단일 명령 다중 데이터 처리 | |
US20060095723A1 (en) | Method and apparatus for interfacing a processor to a coprocessor | |
JP2006515446A (ja) | 関連アプリケーションを相互参照するカルテシアンコントローラを有するデータ処理システム | |
WO2000079400A1 (en) | Methods and apparatus for generalized event detection and action specification in a processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20070328 |