KR100705872B1 - 몇몇의 명령원으로부터의 명령 실행 프로세서 및 방법 - Google Patents

몇몇의 명령원으로부터의 명령 실행 프로세서 및 방법 Download PDF

Info

Publication number
KR100705872B1
KR100705872B1 KR1020017008841A KR20017008841A KR100705872B1 KR 100705872 B1 KR100705872 B1 KR 100705872B1 KR 1020017008841 A KR1020017008841 A KR 1020017008841A KR 20017008841 A KR20017008841 A KR 20017008841A KR 100705872 B1 KR100705872 B1 KR 100705872B1
Authority
KR
South Korea
Prior art keywords
processor
internal processor
instructions
external
instruction
Prior art date
Application number
KR1020017008841A
Other languages
English (en)
Other versions
KR20010101498A (ko
Inventor
산드스트롬스테판
룬드베르그스테판
Original Assignee
엑시스 에이비
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 엑시스 에이비 filed Critical 엑시스 에이비
Publication of KR20010101498A publication Critical patent/KR20010101498A/ko
Application granted granted Critical
Publication of KR100705872B1 publication Critical patent/KR100705872B1/ko

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)
  • Microcomputers (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

몇몇의 명령원(2; 6)으로부터의 명령을 실행하기 위한 내부 프로세서(1)가 있는데, 여기에서 인터페이스(11)는 적어도 외부 명령원(2)에 접속될 수 있고, 명령원(2; 6)으로부터의 명령을 인터리빙 방식으로 실행할 수 있고, 외부 명령원에 의해 제어된다.
내부 프로세서, 외부 프로세서, 인터리빙

Description

몇몇의 명령원으로부터의 명령 실행 프로세서 및 방법{PROCESSOR AND METHOD OF EXECUTING INSTRUCTIONS FROM SEVERAL INSTRUCTION SOURCES}
본 발명은 일반적으로 몇몇의 명령원(instruction sources)으로부터의 명령을 실행하는 프로세서 및 방법에 관한 것으로서, 특히 내부 프로세서의 실행은 외부 프로세서에 의해 제어되는 내부 프로세서에 관한 것이다.
통상적인 프로세서 또는 CPU는 보통 적어도 처리 유닛 및 제어 유닛을 포함하는데, 이는 각종 처리 및 제어 회로 뿐만 아니라, 명령, 메모리 어드레스 및 데이터를 임시 기억하기 위한 레지스터 세트를 포함한다. 제어 유닛 내의 제어 회로는 머신 또는 명령 주기를 수행시키는데, 이런 주기는 명령을 인출하는 단계, 연산 코드를 디코딩하는 단계, 정보를 예정된(intended) 엔티티로 경로 지정하는 단계 및, 모든 CPU 활동에 적절한 제어 신호를 제공하는 단계를 포함한다. 프로그램 명령 및 데이터는 주 메모리에서 인출된다.
그러나, 어떤 경우에는 범용 또는 전용 칩 상에 집적된 프로세서를 제어하는 것이 바람직하다. 예를 들어, 시험 단계 동안 또는 칩의 실연산(real operation) 동안, 실행을 완전 제어하여 프로세서의 내부 상태의 정보를 판독하는 것이 바람직하다.
US-A-5 410 544에는 내부 버스에 의해 레지스터에 결합된 내부 프로세서를 포함하는 유닛을 시험하기 위한 장치가 기술된다. 한 실시예에서, 장치는 내부 프로세서를 포함하는 플래시 메모리 유닛에 외부 제어부를 제공한다. 내부 프로세서는, 실행 시의 유닛에 의해 연산을 행하는 알고리즘을 실행할 수 있도록 프로그램된다. 내부 프로세서가 알고리즘을 수행할 때 내부 프로세서는 내부 버스를 이용하여 상태 데이터를 액세스시킨다. 장치는 유닛 외부에 배치되는 외부 프로세서 및, 유닛 상에 배치되는 인터페이스와 스위치를 포함한다. 인터페이스는 내부 및 외부 프로세서에 결합되어, 외부 프로세서로부터 다수의 명령어(command)를 수신하기 위한 것이다. 외부 프로세서에서 인터페이스 유닛으로 전송될 수 있는 명령어의 예는 판독 상태이거나 메모리를 판독한다. 이런 명령어내에는, 내부 프로세서 내에 저장된 알고리즘을 수행하도록 내부 프로세서에 지시하는 능력이 포함된다. 또 다른 명령어, "트랩 도어(trap door)" 명령어를 발행함으로써, 외부 프로세서는 일부 레지스터를 제어할 수 있고, 그로 인해 내부 프로세서에 의한 알고리즘 수행을 시뮬레이트한다.
본 발명에 따르면, 칩 상에 배치된 개선된 내부 프로세서가 제공되어 투명하고 효과적인 방식으로 외부 프로세서로부터의 제어를 허용한다.
이런 목적은, 본 발명에 따라 몇몇의 명령원으로부터의 명령을 실행할 수 있는 내부 프로세서에 의해 달성된다. 프로세서 내에 배치된 인터페이스는 적어도 외부 명령원에 접속될 수 있어 몇몇의 명령원으로부터의 명령을 인터리빙 방식으로 실행할 수 있게 하고, 이런 실행은 외부 명령원에 의해 제어된다.
본 발명의 이점은, 외부 프로세서가 효율적인 방법으로 내부 프로세서의 연산을 제어할 수 있어, 내부 프로세서와 동일한 방식으로 내부 프로세서의 내부 상태에 액세스한다는 것이다.
본 발명을 더욱 상세하게 설명하고 본 발명의 이점 및 특징을 설명하기 위하여, 이하에 바람직한 실시예의 상세한 기술은 첨부된 도면을 참조한다.
도 1은 외부 프로세서에 접속된 본 발명에 따른 내부 프로세서의 블록 다이아그램을 도시한다.
도 2는 도 1의 내부 프로세서에서 명령 주기의 순서도이다.
도 1을 참조로, 프로그램을 해석하고 실행할 수 있는 프로세서 또는 CPU(1)가 도시된다. 어떤 경우에, 프로세서는 범용 또는 전용 칩 상에 집적된다. 그러므로, 본 발명에 따른 프로세서를 내부 프로세서라 한다. 본 발명에 따른 내부 프로세서는 외부 프로세서(2)라고 불리는 또 다른 프로세서에 의해 제어되도록 설계된다.
범용 프로세서와 유사하게, 본 발명의 한 실시예는 데이터 처리 유닛(3) 및 프로그램 제어 유닛(4)을 포함한다. 또한, 처리 유닛(3)은 도면에 도시되지 않은 서로 다른 종류의 처리 회로를 포함하고, 제어 유닛(4)은 다양한 제어 회로(5)를 포함한다. 명령, 메모리 어드레스 및 데이터의 임시 기억 장치용인 프로세서(1)에 고속 레지스터도 포함된다. 제어 유닛(4)은 명령을 인출하고, 연산 코드를 디코드하고, 프로세서의 다른 부품용 신호를 발생시기고, 프로세서의 서로 다른 부품: 레지스터, 메모리 등을 통해 데이터 및 정보를 경로 지정한다. 서로 다른 부품을 동기화시키기 위하여, 도면에 도시되지 않은 클록 회로를 이용하여 타이밍 신호를 발생시킨다.
프로그램 및 데이터는 주 메모리에 저장되고, 실시예에서는 칩 주 메모리(6) 상에 저장된다. 메모리(6)와 데이터 레지스터(7) 사이에서 데이터가 전송되고, 이용된 메모리 어드레스는 어드레스 레지스터(8)에 저장된다. 디코드되어 실행되는 명렁의 연산 코드는 명령 레지스터(9)에 저장된다. 실행되는 다음 명령의 어드레스는 프로그램 카운터(10)라고 불리는 또 다른 레지스터에 저장된다.
프로세서의 명령 주기 동안, 활동 또는 동작 시퀀스가 발생하고, 이는 도 2의 순서도로 도시된다.
본 발명에 따라서, 외부 프로세서(2)가 명령을 제공하면 실행되는 다음 명령(연산 코드 및 오퍼랜드)은 인터페이스(11)로부터 인출되고 제어 유닛(4) 내의 명령 레지스터(9)로 로딩된다. 외부 프로세서는 명령 시퀀스, 즉 명령 스트림을 내부 프로세서(1)에 제공한다. 그러나, 외부 프로세서(2)가 명령을 제공하지 않으면, 다음 명령은 주 메모리(6), RAM 또는 캐시에서 인출된다. 명령은 제어 회로(5)에 의해 디코드되어 해석되며, 데이터 처리 유닛에 의해 실행된다. 그 결과는 데이터 처리 유닛(3) 또는 주 메모리(6) 내의 적절한 레지스테어 위치된다.
그러므로, 2개의 명령원: 주 메모리(6) 및 외부 프로세서(2)는 인터페이스(11)를 통해 2개의 서로 다른 명령 스트림을 제공한다. 이러한 2개의 명령 스트림은 거의 완벽하게 독립적이다. 프로그램 카운터(10)는 2개의 명령 스트림 사이에서 이용 가능한 전용 직접 상호작용이다.
외부 프로세서가 명령을 제공하고, 명령은 인터페이스(11)를 통해 내부 프로세서에 의해 인출된 후 실행된다. 외부 프로세서(2)가 또 다른 명령을 제공하지 않으면, 내부 프로세서(1)의 프로그램 카운터에 다음 명령의 어드레스를 제공하고, 내부 프로세서(1)의 정상 동작이 처리된다. 다음 명령이 인출된 후 프로그램 카운터(10)는 자동으로 증분된다. 그러므로, 외부 프로세서(2)는 효율적인 방식으로 내부 프로세서의 연산을 제어할 수 있지만, 역은 성립되지 않는다.
적절한 방식으로 연산하기 위하여, 어떤 경우에 외부 프로세서는 인터페이스(11)로부터의 피드백 정보가 필요할 수 있다.
본 발명이 특정 실시예로 기술되었지만, 본 발명은 전술된 목적 및 이점을 완전히 만족시킬 수 있는 프로세서를 제공하고, 대안적으로 본 발명의 숙련자는 변형 및 변화가 있을 수 있다는 것을 알 수 있다.
전술된 프로세서는 본 발명의 다른 실시예에서 범용 또는 전용 칩의 일부분일 수 있다. 그러므로, 어떤 경우에는 프로세서는 완전히 다르게 설계되고, 분기 제어를 용이하게 하는 전용 레지스터와 같은 추가 레지스터, 하나 이상의 명령의 동시 처리를 제공하는 편의 및, 서로 다른 종류의 데이터 처리 기능 등을 포함한다. 그러나, 프로세서는 인터페이스를 포함하고, 프로세서는 2개 이상의 소스에서 명령을 인출시켜, 상기 소스 중 하나는 내부 프로세서의 실행을 제어할 수 있다.

Claims (7)

  1. 몇몇의 명령원(2; 6)으로부터의 명령을 실행하기 위한 내부 프로세서(1)에 있어서,
    적어도 외부 명령원(2)에 접속가능하고, 상기 명령원(2; 6)으로부터의 명령을 인터리빙 방식으로 실행할 수 있게 하며, 상기 외부 명령원에 의해 제어되는 인터페이스 수단(11)을 포함하는 것을 특징으로 하는 몇몇의 명령원으로부터의 명령을 실행하는 내부 프로세서.
  2. 제 1 항에 있어서,
    상기 인터페이스(11)는 상기 외부 명령원(2)에 의한 상기 내부 프로세서(1)의 실행 시퀀스 제어를 위해 상기 내부 프로세서(1)의 프로그램 카운터(10)에 접속되는 것을 특징으로 하는 몇몇의 명령원으로부터의 명령을 실행하는 내부 프로세서.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 인터페이스(11)는 상기 외부 명령원(2)에 의한 상기 내부 프로세서(1)의 실행 시퀀스 제어를 위해 상기 내부 프로세서(1)의 명령 레지스터(9)에 접속되는 것을 특징으로 하는 몇몇의 명령원으로부터의 명령을 실행하는 내부 프로세서.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 프로세서가 명령을 인출하는 주 기억 수단(6)을 포함하는 것을 특징으로 하는 몇몇의 명령원으로부터의 명령을 실행하는 내부 프로세서.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 인터페이스(11)에 접속되고, 상기 내부 프로세서(1)에 명령을 제공하는 외부 프로세서를 더 포함하는 것을 특징으로 하는 몇몇의 명령원으로부터의 명령을 실행하는 내부 프로세서.
  6. 내부 프로세서(1)에서 몇몇의 명령원(2; 6)으로부터의 명령을 실행하는 방법에 있어서,
    외부 명령원(2)에 의해 제공되는 각각의 명령을 디코딩하고 실행하는 단계 및,
    다른 명령원(6)으로부터의 명령을 인출하고, 디코딩하여 실행하는 단계를 포함하는 것을 특징으로 하는 내부 프로세서에서의 몇몇의 명령원으로부터의 명령 실행 방법.
  7. 제 6 항에 있어서,
    상기 외부 명령원(2)에 의해 결정된 상기 다른 명령원(6)의 위치에서 명령을 인출하는 단계를 포함하는 것을 특징으로 하는 내부 프로세서에서의 몇몇의 명령원 으로부터의 명령 실행 방법.
KR1020017008841A 1999-01-18 2000-01-13 몇몇의 명령원으로부터의 명령 실행 프로세서 및 방법 KR100705872B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
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
KR20010101498A KR20010101498A (ko) 2001-11-14
KR100705872B1 true KR100705872B1 (ko) 2007-04-09

Family

ID=20414117

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017008841A KR100705872B1 (ko) 1999-01-18 2000-01-13 몇몇의 명령원으로부터의 명령 실행 프로세서 및 방법

Country Status (10)

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

Families Citing this family (6)

* 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
KR20090003217A (ko) * 2006-02-16 2009-01-09 브이엔에스 포트폴리오 엘엘씨 컴퓨터들의 어레이 간의 자원들의 할당
EP1821211A3 (en) * 2006-02-16 2008-06-18 Technology Properties Limited Cooperative multitasking method in a multiprocessor system
JP2007272895A (ja) 2006-03-31 2007-10-18 Technology Properties Ltd コンピュータプロセッサアレイの操作方法および装置
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
CN102033736A (zh) * 2010-12-31 2011-04-27 清华大学 一种指令集可扩展处理器的控制方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0334526A2 (en) * 1988-03-23 1989-09-27 Du Pont Pixel Systems Limited Condition connection for a parallel component processor and method
US5410544A (en) * 1993-06-30 1995-04-25 Intel Corporation External tester control for flash memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0334526A2 (en) * 1988-03-23 1989-09-27 Du Pont Pixel Systems Limited Condition connection for a parallel component processor and method
US5410544A (en) * 1993-06-30 1995-04-25 Intel Corporation External tester control for flash memory

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI541658B (zh) 資料處理裝置及半導體積體電路裝置
US6289445B2 (en) Circuit and method for initiating exception routines using implicit exception checking
US4926312A (en) Program skip operation control system
KR20020073233A (ko) 코프로세서 명령 실행 장치 및 방법
US6145075A (en) Apparatus and method for executing a single-cycle exchange instruction to exchange contents of two locations in a register file
JPH03158928A (ja) データ処理装置
KR100210205B1 (ko) 스톨캐쉬를 제공하기 위한 장치 및 방법
KR100705872B1 (ko) 몇몇의 명령원으로부터의 명령 실행 프로세서 및 방법
US6161171A (en) Apparatus for pipelining sequential instructions in synchronism with an operation clock
US6601160B2 (en) Dynamically reconfigurable data space
US7020788B2 (en) Reduced power option
US4677545A (en) Microprocessor having macro-rom and main program queues
US6985986B2 (en) Variable cycle interrupt disabling
US5187782A (en) Data processing system
JP2001014161A (ja) プログラマブルコントローラ
JP3414579B2 (ja) プログラマブルコントローラ
JP3097602B2 (ja) データ処理装置
JPH04311225A (ja) マイクロプロセッサ命令実行方式
JP2004062427A (ja) マイクロプロセッサ
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
KR100515039B1 (ko) 조건부 명령어를 고려한 파이프라인 상태 표시 회로
JPH036758A (ja) マイクロプロセッサ
JPH0259829A (ja) マイクロコンピュータ
JP2002063030A (ja) マイクロコントローラ
JPS58114250A (ja) 共有マイクロプロセツサ

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130326

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140326

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160324

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170327

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180323

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190326

Year of fee payment: 13