CN1337023A - 执行来自多个指令源的指令的处理器和方法 - Google Patents

执行来自多个指令源的指令的处理器和方法 Download PDF

Info

Publication number
CN1337023A
CN1337023A CN00802820A CN00802820A CN1337023A CN 1337023 A CN1337023 A CN 1337023A CN 00802820 A CN00802820 A CN 00802820A CN 00802820 A CN00802820 A CN 00802820A CN 1337023 A CN1337023 A CN 1337023A
Authority
CN
China
Prior art keywords
instruction
internal processor
processor
command source
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN00802820A
Other languages
English (en)
Other versions
CN1153136C (zh
Inventor
S·桑德斯特伦
S·伦德贝里
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.)
Axis AB
Original Assignee
Axis AB
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 Axis AB filed Critical Axis AB
Publication of CN1337023A publication Critical patent/CN1337023A/zh
Application granted granted Critical
Publication of CN1153136C publication Critical patent/CN1153136C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

一种用于执行来自多个指令源(2;6)的指令的内部处理器(1),其中,接口装置(11)可连接到至少一个外部指令源(2),允许交错执行来自指令源(2;6)的指令,其执行过程由外部指令源进行控制。

Description

执行来自多个指令源的指令的处理器和方法
发明领域
本发明一般涉及执行来自多个指令源的指令的处理器和方法,更具体地说,它涉及内部处理器,其中内部处理器的执行过程由外部处理器来控制。
先有技术说明
传统处理器即CPU通常包括至少一个处理单元和一个控制单元,这些单元包括各种处理和控制电路,还包括一组寄存器,用于暂时存储指令、存储器地址以及数据等。控制单元中的控制电路负责包括如下步骤的机器或指令周期:取指令、对操作码进行解码以及将信息路由选择到预定的实体,并为CPU的全部操作提供适当的控制信号。程序指令和数据从主存储器中取出。
但是在某些情况下,却需要对集成在通用芯片或专用芯片上的处理器进行控制。例如,在芯片的测试阶段或者甚至在芯片的实操作中,需要完全控制处理器的执行过程并读取处理器的内部状态信息。
美国专利US-A-5410544公开了一种设备,它用于测试包含了经内部总线与寄存器相连接的内部处理器的装置。在一个实施例中,这种设备对带有内部处理器的快闪存储器单元提供外部控制。对内部处理器进行编程,使其能够执行一种算法,该算法在被执行时会对所述装置进行操作。当内部处理器执行算法时,内部总线被内部处理器用来访问状态数据。该设备包括设置在所述装置外部的外部处理器、设置在所述装置上的接口和开关。该接口与内部和外部处理器相连接,用于接收许多来自外部处理器的命令。可以从外部处理器发送到接口单元的指令的示例是读取状态或读取存储器。这些命令中包含了能够指示内部处理器去执行储存在内部处理器中的算法的能力。通过发出另一个命令,即“陷阱门”命令,外部处理器就可以控制某些寄存器,从而由内部处理器来模拟算法的执行。
发明概述
根据本发明,提供一种布置在芯片上的改进内部处理器,它允许以透明且有效的方式从外部处理器来进行控制。
这个目的可以由内部处理器来实现,使得可以按照本发明执行来自多个指令源的指令。布置在内部处理器中的接口可以与至少一个外部指令源相连接,使得可以交错执行来自多个指令源的指令,执行过程由外部指令源来控制。
本发明的一个优点在于外部处理器可以有效地控制内部处理器的操作,并可以用内部处理器同样的方式来访问内部处理器的内部状态。
附图简述
为了更详细地说明本发明及其优点和功能,下面将结合附图对最佳实施例进行详细说明,附图中:
图1是根据本发明的内部处理器框图,该处理器与外部处理器相连接;和
图2是图1中内部处理器中指令周期的流程图。
发明详细说明
参考图1,图1中说明了一个能够解释并执行程序的处理器或CPU1。在某些情况下,这种处理器集成在通用芯片或专用芯片上。因此,根据本发明的处理器就称作内部处理器。根据本发明的内部处理器被设计成由另一个称作外部处理器2的处理器来控制。
与通用处理器类似,本发明的一个实施例包括数据处理单元3和程序控制单元4。处理单元3又包括各种处理电路(图中未标出),控制单元4包括各种控制电路5。高速寄存器也包含在处理器1中,用于暂时储存指令、存储器地址以及数据。控制单元4取指令、对操作码进行解码以及生成用于处理器其它组件的控制信号并通过处理器各部分(寄存器、存储器等)来对数据和信息进行路由。为了使各元件保持同步,时钟电路(图中未示出)被用来产生定时信号。
在实施例中,程序和数据储存在主存储器和片上(on chip)主存储器6中。数据传送在存储器6和数据寄存器7之间进行,所用的存储器地址储存在地址寄存器8中。要解码及执行的指令的操作码储存在指令寄存器9中。要执行的下一条指令的地址储存在另一个称作程序计数器10的寄存器中。
在处理器的指令周期期间出现连续动作或操作,将在图2的流程图中进行说明。
根据本发明,如果指令已由外部处理器2提供,则要执行的下一条指令(操作码或操作数)则从接口11中取出,并加载到控制单元4的指令寄存器9中。外部处理器可以为内部处理器1提供连续指令,即指令流。但是,如果外部处理器2没有提供任何指令,则下一条指令则从主存储器6、RAM或高速缓冲存储器中取出。该指令由控制电路5来进行解码和解释,并由数据处理单元来执行。结果保存在数据处理单元3的适当寄存器中或主存储器6中。
这样,通过两种指令源,即主存储器6和经接口11连接的外部处理器2,提供了两种不同的指令流。这两种指令流几乎是完全独立的。程序计数器10是可用于两种指令流之间的唯一直接交互作用(theonly direct interaction)。
当指令由外部处理器提供时,这些指令由内部处理器经接口11取出并执行。如果外部处理器2没有再提供指令,则为内部处理器1的程序计数器提供下一条指令的地址,内部处理器1的正常操作继续进行。在取出下一条指令之后,程序计数器10自动递增。因此,外部处理器2可以有效地控制内部处理器的操作。但反过来却不行。
为了进行适当的操作,外部处理器在某些情况下可能需要接口11的反馈信息。
尽管通过本发明的具体实施例描述了本发明,然而显然本发明提供了一种完全能满足上述目标和优点的处理器,或者,对本领域的技术人员来说,显然可以进行修改和变化。
如上所述,在本发明的其它实施例中,处理器可以是通用或专用芯片的一部分。这样,在某些情况下的处理器具有完全不同的设计并例如包括:诸如专用寄存器的附加寄存器,以方便分支控制;提供对一个以上指令进行同时处理的装置;以及各种数据处理能力等。但是,处理器仍具有某种接口,使得所述处理器可以至少从两种不同源获取其指令,其中一种源控制内部处理器的执行过程。

Claims (7)

1.一种用于执行来自多个指令源(2;6)的指令的内部处理器,其特征在于:接口装置(11)可连接到至少一个外部指令源(2),允许交错执行来自所述指令源(2;6)的指令,其执行过程由所述外部指令源进行控制。
2.根据权利要求1的内部处理器,其特征在于:所述接口(11)连接到所述内部处理器(1)的程序寄存器(10),用于由所述外部指令源(2)对所述内部处理器(1)执行顺序控制。
3.根据权利要求1或2的内部处理器(1),其特征在于:所述接口(11)连接到所述内部处理器(1)的指令寄存器(9),用于由所述外部指令源(2)对所述内部处理器(1)执行顺序控制。
4.根据上述权利要求中任何一项的内部处理器(1),其特征在于所述处理器获取指令的主存储装置(6)。
5.根据上述权利要求中任何一项的内部处理器(1),其特征在于外部处理器连接到所述接口(11)并提供指令给所述内部处理器(1)。
6.一种在内部处理器(1)中执行来自多个指令源(2;6)的指令的方法,其特征在于所述方法包括以下步骤:
对于外部指令源(2)提供的每条指令,对所述指令进行解码并执行;不然
从另一个指令源(6)取指令,对所述指令进行解码并执行。
7.根据权利要求6的方法,其特征在于包括以下步骤:
从由所述外部指令源(2)确定的所述另一个指令源(6)的存储单元取指令。
CNB008028206A 1999-01-18 2000-01-13 执行来自多个指令源的指令的处理器和方法 Expired - Lifetime CN1153136C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE99001182 1999-01-18
SE9900118A SE514785C2 (sv) 1999-01-18 1999-01-18 Processor och metod för att exekvera instruktioner från flera instruktionskällor
SE9900118-2 1999-01-18

Publications (2)

Publication Number Publication Date
CN1337023A true CN1337023A (zh) 2002-02-20
CN1153136C CN1153136C (zh) 2004-06-09

Family

ID=20414117

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008028206A Expired - Lifetime CN1153136C (zh) 1999-01-18 2000-01-13 执行来自多个指令源的指令的处理器和方法

Country Status (10)

Country Link
EP (1) EP1177499B1 (zh)
JP (1) JP2002535749A (zh)
KR (1) KR100705872B1 (zh)
CN (1) CN1153136C (zh)
AT (1) ATE413645T1 (zh)
AU (1) AU2335700A (zh)
DE (1) DE60040733D1 (zh)
ES (1) ES2316347T3 (zh)
SE (1) SE514785C2 (zh)
WO (1) WO2000042506A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033736A (zh) * 2010-12-31 2011-04-27 清华大学 一种指令集可扩展处理器的控制方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617383B2 (en) 2006-02-16 2009-11-10 Vns Portfolio Llc Circular register arrays of a computer
EP1821211A3 (en) * 2006-02-16 2008-06-18 Technology Properties Limited Cooperative multitasking method in a multiprocessor system
WO2007098024A2 (en) 2006-02-16 2007-08-30 Vns Portfolio Llc Allocation of resources among an array of computers
TW200817925A (en) 2006-03-31 2008-04-16 Technology Properties Ltd Method and apparatus for operating a computer processor array
US7555637B2 (en) 2007-04-27 2009-06-30 Vns Portfolio Llc Multi-port read/write operations based on register bits set for indicating select ports and transfer directions

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2215873A (en) * 1988-03-23 1989-09-27 Benchmark Technologies Inter-processor status communication
US5410544A (en) * 1993-06-30 1995-04-25 Intel Corporation External tester control for flash memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033736A (zh) * 2010-12-31 2011-04-27 清华大学 一种指令集可扩展处理器的控制方法

Also Published As

Publication number Publication date
EP1177499A1 (en) 2002-02-06
JP2002535749A (ja) 2002-10-22
KR20010101498A (ko) 2001-11-14
CN1153136C (zh) 2004-06-09
ES2316347T3 (es) 2009-04-16
SE9900118L (sv) 2000-07-19
SE514785C2 (sv) 2001-04-23
ATE413645T1 (de) 2008-11-15
SE9900118D0 (sv) 1999-01-18
KR100705872B1 (ko) 2007-04-09
AU2335700A (en) 2000-08-01
WO2000042506A1 (en) 2000-07-20
DE60040733D1 (de) 2008-12-18
EP1177499B1 (en) 2008-11-05

Similar Documents

Publication Publication Date Title
EP1582980B1 (en) Context switching method, device, program, recording medium, and central processing unit
US6542985B1 (en) Event counter
DE69927456T2 (de) Verwaltung eines FIFO zur Abalufverfolgung
US6023757A (en) Data processor
US5893143A (en) Parallel processing unit with cache memories storing NO-OP mask bits for instructions
US5446849A (en) Electronic computer which executes squash branching
CN102150139A (zh) 数据处理装置及半导体集成电路装置
JPS6313215B2 (zh)
US5689694A (en) Data processing apparatus providing bus attribute information for system debugging
EP0507210A2 (en) A data processing system for performing square operations with improved speed and a method therefor
EP0138352B1 (en) Method of operating a data processing system via depictor-linked microcode and logic circuitry
KR100194850B1 (ko) 디지털 신호 처리 장치
CN1153136C (zh) 执行来自多个指令源的指令的处理器和方法
US4592010A (en) Memory-programmable controller
JPH0527971A (ja) 情報処理装置
US6327648B1 (en) Multiprocessor system for digital signal processing
KR20010070512A (ko) 데이터 처리 장치
EP0381600A2 (en) Robotic workcell control system with a binary accelerator providing enhanced binary calculations
CA1119307A (en) Microcomputer having separate bit and word accumulators and separate bit and word instruction sets
RU98102944A (ru) Вычислительная система
US5893928A (en) Data movement apparatus and method
KR100612193B1 (ko) 복수의 회로 블럭에 명령을 분배하기 위한 방법 및 장치
KR20010011683A (ko) 중앙연산처리장치
WO1989009962A1 (en) Method and apparatus for improved execution of instruction sequences
Houzet et al. GFLOPS: a general flexible linearly organized parallel structure for images

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
CX01 Expiry of patent term

Granted publication date: 20040609

CX01 Expiry of patent term