KR910000364B1 - 이뮬레이션 시스템 및 그 방법 - Google Patents

이뮬레이션 시스템 및 그 방법 Download PDF

Info

Publication number
KR910000364B1
KR910000364B1 KR1019870010400A KR870010400A KR910000364B1 KR 910000364 B1 KR910000364 B1 KR 910000364B1 KR 1019870010400 A KR1019870010400 A KR 1019870010400A KR 870010400 A KR870010400 A KR 870010400A KR 910000364 B1 KR910000364 B1 KR 910000364B1
Authority
KR
South Korea
Prior art keywords
instruction
target
operator
source
register
Prior art date
Application number
KR1019870010400A
Other languages
English (en)
Other versions
KR880005516A (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 KR880005516A publication Critical patent/KR880005516A/ko
Application granted granted Critical
Publication of KR910000364B1 publication Critical patent/KR910000364B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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/3017Runtime instruction translation, e.g. macros
    • G06F9/30174Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
    • 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)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

내용 없음.

Description

이뮬레이션 시스템 및 그 방법
제1도는 IBM 370형 소스 CPU에 의해 제공된 프로그램을 이뮬레이팅하기 위한 시스템 구조장치도.
제2도는 타겟 이동 소숫점 연산 동작 완료 이전에 이동 소숫점 유닛(FUP)에 의해 제공된 가속화된 완료 표시에 응답하여 변환 및 발생 기능을 가속화하는 이뮬레이터 지원 프로세서(EAP) 및 명령 처리 유닛(IPU)의 기능 소자에 대한 상세도.
제3도는 RR형 이동 소숫점 타겟 명령에 의해 RX형 이동 소숫점 소스 명령의 이뮬레이션을 지원하는 IPU 및 FPU에 표함된 기능 소자도.
제4도는 PX 쇼트 소스 명령을 이뮬레이팅함에 있어서 제3도의 장치에 의해 실행된 동작 순서를 도시한 흐름도.
제5도는 확장된 RX형 이동 소숫점 소스 명령을 이뮬레이팅함에 있어서 제3도의 장치에 의해 실행된 동작 순서를 도시한 흐름도.
* 도면의 주요부분에 대한 부호의 설명
50 : 레지스터 54,56 : 멀티플렉싱 수단
66 : 데이터 인터페이스 수단
본 발명은 머신 이뮬레이션의 분야에 관한 것으로, 특히 타겟 CPU에 의해 발생 및 실행을 하기 위해 소스 CPU 명령을 타겟 CPU 명령으로 변환함으로써 소스 CPU의 동작을 이율레이션하는 소스에 관한 것이다.
특히 본 발명은 소스 이동 소숫점 연산 명령이 이뮬레이션될 때 변환 및 발생 기능을 가속시키기 위한 수단 제공을 통하여 타겟 레지스터-레지스터 이동 소숫점 연산 명령 실행에 의해 소스 이동 소숫점 RX형 실행을 이뮬레이션하는 시스템의 이물레이션 능력 확장에 관한 것이다.
이뮬레이션은 제2("타겟")CPU가 제1("소스")CPU의 동작을 모방하는 것이다. 타겟 CPU는 소스 CPU용으로 입력된 프로그램을 실행할 수 있도록 특별히 프로그램 및 구성된다. 소스 CPU용으로 기록된 프로그램은 타겟 CPU에 하나씩 제공되는 일련의 소스 명령을 포함한다. 타겟 CPU는 하나 이상의 타겟 명령을 실행하여 소스 명령 각각에 응답한다.
본 양수인에게 양도되고 여기서 참조로서 기술된 퍼스크 등의 미합중국 특허 제4,587,612호에서, 이뮬레이션 지원 프로세서(EAP)는 소스 명령 스트림을 수신하여 각 소스 명령을 하나 이상의 타겟 명령에 매핑하며, 타겟 명령은 타겟 CPU의 명령 처리 유닛(IPU)에 전달된다. 상기 특허에서 EAP는 멀티 필드 소스 명령을 멀티 필드 타겟 명령으로 변환하여 처리 및 발생을 하기 위해 타겟 명령을 IPU로 전달한다.
공지된 바와 같이 소스 CPU가 IBM 370 상위 컴퓨터와 같은 머신을 구비하면 (본 발명의 양수인에게 양도 여기서 참조로서 기재된 미합중국 특허 제3,400,371호에서 기술됨) 소스 명령 셋트는 주로 RX형인 멀티 필드 이동 소숫점 연산 명령을 포함한다. IBM 370 명령 셋트를 사용하는 소스 명령 프로그램은 이동 소숫점 연산 명령인 것중에서 특정 명령의 결과에 따라 셋트되는 표시기와 콘디션 코드(CC)의 상태에 의해 조절된다. IBM 370 이동 소숫점 명령이(결과치가 모두 0와 같은) 비정상적을 결과를 발생하거나 비정상 연산(0으로 나눔)을 시도할 때, 특정 인터럽트 처리를 위해 실행 프로그램으로부터 감시 루틴으로 제어를 전달하는 인터럽트 표시기가 셋트된다.
IBM 370 소스 프로그램의 인터럽트 특징 및 브랜칭의 이뮬레이션에서는 프로그램 브랜치 및 인터럽트를 효과적으로 매핑하기 위하여 타겟 프로그램이 콘디션 코드 및 인터럽트 표시기를 유지하는 것이 필요로 된다.
소스 프로그램과 타겟 프로그램사이의 브랜칭 및 인터럽트 대응이 유지되어지는 것으로 인정되므로 이동 소숫점 연산 동작 실행 완료전에 콘디션 코드의 상태 및 인터럽트 표시기를 확실하게 예측할 수 있는 능력에 의해 이뮬레이션 속도가 향상되는 것을 알 수 있다. 그러나 상기 이러한 향상은 소스 명령에서 타켓 명령으로의 변한을 책임져야할 뿐 아니라 변환된 타겟 명령의 발생도 고려해야 한다.
미합중국 특허 제4,587,612호 EAP의 잠재적인 연산 환경의 하나에는 타겟 이동 소숫점 명령의 실행을 위해 일정한 병목 구조가 부과된다. 이러한 점에서, 타겟 CPU의 명령 유닛 및 이동 소숫점 유닛은 32비트의 와이드 데이터 버스에 의해 상호 연결된다. 소스 RX형 이동 소숫점 명령이 이뮬레이션될 때 소스 명령의 X 필드에 의해 표시된 연산자는 FPU에 제공하기 위해 메모리로부터 페칭된다. 메모리로부터 X 필드 연산자를 얻기 위한 책임의 경과는 명령 실행 시간을 길게 한다. 타겟 이동 소숫점 명령의 실행은 32비트 데이터 버스로 64비트 연산자를 얻기 위해 2개의 연속적 메모리 엑세스를 필요로 하는 확장된 RX형일 때 더 길게 된다.
본 발명은 소스 CPU 명령의 실행을 이뮬레이션하기 위한 시스템에 적용되며, 상기 시스템은 메모리를 포함하는 타겟 CPU와, 다수의 기능 유닛과 타겟 기능 유닛에 의해 실행하기 위해 변환된 타겟 명령을 쳐리 및 발생하는 타겟 명령 유닛을 포함한다. 이뮬레이션 시스템은 또한 소스 명령을 수신하여 타겟 명령으로 변환하는 명령 변환 유닛(변환기)을 포함한다. 본 발명은 시스템을 향상시키며 이동 소숫점 명령 변환 및 실행을 가속화하는 메카니즘형을 가진다. 이러한 점에서, 본 발명은 소스 이동 소숫점 명령 변환에 응답하여 이동 소숫점 대기 토큰(token)신호를 발생하는 토큰 발생기를 변환기에 포함한다. 타겟 CPU의 이동 소숫점 기능 유닛의 결과 발생기는 발생된 명령의 실행 완료전에 발생된 타겟 이동 소숫점 명령의 결과를 표시하는 완료 신호를 발생한다.
상기 시스템은 토큰 신호에 응답하여 명령의 변환 및 발생을 금지시키는 시스템 수단을 포함한다. 마직막으로 변환기내에 위치되고 시스템 수단에 연결된 다단의 대기 큐는 대기 토큰 신호가 발생되었을 때 이것을 수신 및 보유하며 소스 이동 소숫점 명령에서 변환된 타겟 이동 소숫점 명령의 결과를 표시하는 완료 신호에 응담하여 토큰 신호를 소멸시킨다.
본 발명은 다수의 고려하지 않은 관찰로 발생되었다. 본 발명자는 다음과 같은 것을 관찰했다. 만일 명령 변환 및 타겟 명령 발생의 타겟 이동 소숫점 명령 실행 결과의 가속화된 표시에 응답하면, 변환 및 발생 그리고 이뮬레이션이 가속화될 수 있으며, 만일 소스 RX형 명령 X 필드 연산자가 변환된 타겟 명령 발생 이전에 얻어지면, 소스 RX형 이동 소숫점 명령은 타겟 RR은 명령 실행에 의해 이뮬레이션되어 명령 발생후 메모리 억세스 사이클을 제거할 수 있으며, 만일 확장된 이동 소숫점 소스 명령의 X 필드 연산자의 절반 2개가 연속적 메모리 억세스 사이클상에서 얻어지면 소스 명령의 이뮬레이션은 연산자가 전달하여 소스 명령을 이뮬레이션하는데 필요한 수의 사이클을 감소시키는 RR 타겟 명령 순차 실행을 개시시키는 타겟 이동 소숫점 명령 셋트로 이뮬레이션될 수 있다.
따라서 본 발명의 주목적은 소스 명령에서 타겟 명령으로의 변환가 변환된 타겟 명령 발생을 가속화시킴으로써 RX형 이동 소숫점 연산 명령을 포함하는 소스 CPU 프로그램 성능을 이뮬레이션하는 시스템 동작을 향상시키는 것이다.
본 발명의 다른 목적은 소스 RX형 이동 소숫점 연산 명령 실행을 이뮬레이션하는 타겟 CPU 동작에 필요한 시간을 감소시킴으로써 상기 이뮬레이션 시스템 동작을 향상시키는 것이다.
본 발명의 다른 목적과 장점은 도면을 참조하면서 이하에서 기술될 설명으로부터 명백해진다.
제1도는 본 발명의 응용 환경을 도시한 것이다. 이러한 환경은 타겟 CPU를 형성하는 감소된 명령 셋트 컴퓨터(RISC)를 포함한다. 1983년 5월 볼륨 27 NO. 3, PP 237-246, 조사 및 개발의 잡지에서 IBM 발행된 "801 마이크로 컴퓨터"에서 라딘씨에 의해 기술된 바와같이, 상기 컴퓨터는 각각의 캐시에 의해 소스된 데이터 스트림 및 돌깁 명령을 포함한다. 이 컴퓨터에서, 명령은 명령 캐시에서 데이터는 독립된 데이터 캐시에서 얻어지고, 이들 모두 명령 처리 유닛(IPU)(10)에 위치되고 관리된다.
캐시의 내용은 메모리(12)의 IPU 억세스에 의해 보급된다. IPU(10)는 캐시된 명령을 처리하여 하나 이상의 처리 유닛(PU,14) 및 이동 소숫점 처리 유닛(EPU,16)에 의한 실행을 위해 이들을 발생시킨다. 유닛(10,12,14,16)은 타겟 CPU를 형성하므로 IPU(10)에 의해 발생된 명령은 타겟 명령으로 명명되며 타겟 명령 버스(19)를 통해 처리 유닛에 발생된다. 연산자 및 결과(O/R) 데이터는 O/R 데이터 버스(18)에 의해 IPU(10)와 처리 유닛(14,16)사이에서 교환된다.
가정된 환경에서, 실시예인 801 컴퓨터는 데이터 및 명령 버스(18,19)를 위한 대응하는 폭으로 반영되는 32비트 구조를 갖는다. 또한, 데이터 캐시 이외에, 801 컴퓨터의 IPU(10)는 범용 레지스터 뱅크를 포함한다.
이뮬레이터로서 사용될 때, 타겟 CPU는 이뮬레이터 지원 프로세서(EAP,20)와 결합되어 동작한다. EPU(16)는 간략화하기 위해 제1도에서는 생략된 다수의 라인에 의해 EAP(20)에 사실상 접속되어 있다. 상기 이들 라인은 제2도에서 라인(35 및 38)으로서 도시되어 있다. 이뮬레이션 모드에서, 소스 CPU로부터의 명령으로 구성된 프로그램은 데이터 경로(21,10,22)에 의해 IPU(10)내에 있는 데이터 캐시의 일부를 통하여 EAP(20)로 스트림된다. EAP(20)에서, 소스 명령은 타겟 명령으로 변환되어 IPU(10)에 의해 실행된 정상 타겟 CPU 명령 실행 순차를 방해하지 않는 타겟 CPU 명령 스트립에 삽입된다. 변환된 명령 스트림은 데이터 경로(23)를 통해 IPU(10)에 제공된다. 명령 변환을 수행하고 타겟 명령 스트림을 발생하는데 있어서 IPU(10) 및 EAP(20)의 상호 동작은 상기 피스크 특허에서 잘 기술되며 여기서는 반복하지 않을 것이다. 그러나 명령 변환에 관련된 특정 구조 및 기능은 본 발명을 적합하게 설명하기 위해 설명하고자 한다.
제2도를 참조하면, EAP(20), IPU(10) 및 FPU(16)가 도시된다. IPU는 단지 다음의 기술을 용이하게 하기 위해 2개의 기능부(10a,10b)로 도시되었지만, 사실상 IPU(10)는 단일 유닛으로 구성된다. 제2도에서, (21)을 통해 소스 명령 스트림을 수신하는 IPU(10)의 부(10a)는 소스 스트림을 종단시키는 데이터 캐시(24) 및 마이크로 명령을 포함하고 있는 명령 캐시를 포함한다. 소스 명령 스트림은 신호 라인(22)을 통해 데이터 캐시로부터 EAP(20)에 제공되며, 명령 매핑 회로(27)가 동작할 수 있는 플랫폼을 제공하는 소스 명령 레지스터(SIR,26)을 통해 명령별로 스테이지된다.
피스크 특허에서 기술된 바와 같이, 명령 매핑회로(27)는 IPU(10)에 있는 명령 캐시(25)에 제공되어 명령 캐시로부터 마이크로 명령을 제공하는 다음 명령 어드레스를 발생시키며, 마이크로 명령은 신호 라인(30)을 통해 EAP에 제공된다. 신호 라인(30)상의 마이크로 명령은 마이크로 명령 레지스터(MIR,31)의 EAP로 스테이지된다. 상기 피스크 특허에서와 같이, 레지스터(31)내에 보유된 마이크로 명령은 라인(29)상에 다음 명령 어드레스를 발생할 수 있는 다음 명령 필드를 포함한다. 따라서 레지스터(26)의 소스 명령은 신호 라인(30)을 통해 EAP로 입력되는 하나 또는 연속의 마이크로 명령을 발생할 수 있다. 소스 명령 이뮬레이션은 명령 캐시로부터 마이크로 명령 순차의 검색과 타겟 프로세서에 의해 나타내는 타겟 명령 순차 실행을 포함한다. 레지스터(31)에 제공된 마이크로 명령은 제어부와 스켈리톤(skeliton) 타겟 명령으로 구성된다.
스켈리톤 타겟 명령은 신호 라인(23a)을 통해 IPU(10)의 명령 머지 레지스터(32)에 제공된다. 피스크 특허와 같이, 스켈리톤 명령은 OP 코드 필드와, 레지스터 및 변위 필드로 구성된다. 레지스터(31)의 마이크로 명령 제어부와 레지스터(26)의 소스 명령 연산자 필드는 0으로 된 연산자 및 C도는 IPU(10)의 명령 머지 레지스터(32)에 있는 스켈리톤 명령의 제어 필드를 채우기 위해 매핑 회로(27)에 의해 사용된다. 상기 채움 정보는 신호 라인(23b)을 통해 매핑 회로로부터 제공된다. 따라서, 신호 라인(23a,23b)은 타겟 명령 스트림을 IPU(10)에 제공시키는 제1도의 신호 라인(23)을 형성한다. 명령이 IPU(10)에 의해 발생될때는 명령 머지 레지스터(32)로부터 명령 레지스터(I REG,33)로 전달된다. 타겟 명령이 I 레지스터(33)에 존재할 때, IPU(10)는 아래서 요약된 명령 발생 동작 과정을 거친다.
본 발명의 동작 내용은 IBM 370 CPU 명령 셋트에 포함된 것처럼 멀티 필드 명령을 포함하는 소스 명령 스트림을 취한다. 상기 셋트에서 적어도 하나 이상의 명확한 포맷은 RX(레지스터/인덱스) 포맷으로 명명된다.
RX 포맷은 다음의 형을 갖는다.
OP R1 X2 B2 D2
RX 명령에서, 동작은 OP 코드 필드에 의해 표시된다. 제1연산자는 레지스터(R1)에 위치하며, 제2연산자는 어드레스 X2+B2+D2를 갖는 주 메모리 영역에 있다.
X2 및 B2는 명령 목적상 인덱스 및 베이스 레기스터로서 기능을 하는 범용 레지스터이며, D2는 변위이다. 명령이 실행될 때, 그 결과를 레지스터 R1에 위치시킨다. 일반적으로, X2,B2 및 D2는 전체적으로 X 필드로 명명된다.
공지된 바와 같이 RX형 명령은 이동 소숫점 연산자로 수행되는 연산 동작을 수반하는 서브 셋트 명령을 포함한다. 이동 소숫점 연산은 쉽게 이해된다. 이동 소숫점 데이터 포맷, 용어 및 동작은 앤더슨 등의 논문 "IBM 시스템/360 모델 91 : 이동 소숫점 실행 유닛" 제목의 IBM 잡지 1967년 1월 PP 34-53과 관련 특허 원에서 충분히 기술되어 있다.
RX형 이동 소숫점 연산 소스 명령은 IPU(10)에 의한 발생 및 FPU(16)에 의한 실행을 위해 EAP(20)에 의해 이동 소숫점 연산 타겟 명령으로 변환된다.
RX형 이동 소숫점 연산 명령은 콘디션 코드(CC)를 바꾸거나 또는 프로그램 인터럽트 요청(IR)을 야기시키는 결과를 발생한다. 콘디션 코드는 적어도 3상태 즉 00,10 및 10을 갖는다. 이동 소숫점 연산 동작이 완료되면, 코드는 결과치가 0이면 0로 셋트되고, 결과치가 네가티브티면 01로 셋트되고 결과치가 포지티브이면 10로 셋트된다. 공지와 같이, CC 로디션 상태는 실행 소스 프로그램에서 브랜치를 확실히 해준다. 인터럽트 요청은 다수의 예외중 하나가 나타날때 발생된다.예외는 지수 오버플로우, 지수 언더플로우 0분할 등등을 포함한다. 인터럽트 요청은 실행 프로그램으로부터 프로그램 제어를 전달한다. 따라서 상기 표시기는 소스 명령 스트림의 이뮬레이션에 대해 책임을 져야 한다. EAP(20)에서, CC 및 IR의 현재 상태는 상태 레지스터(34)에서 보유된다. 명령 매핑 회로(27)는 필요시 브랜칭 및 인터럽트 동작을 수행하기 위한 상태 레지스터(34)의 내용을 검사한다.
CC 및 IR이 다른 소스중에서 표시기에 영향을 주는 이동 소숫점 명령이 수행되는 FPU(16)에 의해 제공된다. CC 및 IR은 신호 라인(35,36)에 의해 각각 제공된다. FPU(16)에 의해 제공되는 것은 신호 라인(38)을 통해 가속화된 정당 응답(AVR)신호이다. AVR은 CC 및 IR이 FPU(16)에 의해 현재 실행되는 이동 소숫점 연산 명령의 결과를 정당하게 반영할 때 동시에 FPU(16)에 의해 상승된다. 상기 미국 특허원에서와 같이, FPU(16)는 결과가 그들의 상태를 결정하는 이동 소숫점 연산 명령의 완료 이전에 CC 및 IR을 셋트시킬 수 있다. CC 및 IR이 발생되었을 때, FPU(16)은 AVR을 상승시켜 EAP(20)에 레지스터(34) 내용이 검사될 수 있음을 시그날링한다. AVR 발생 시간은 이동 소숫점 연산 명령 개시후 바로로부터 명령 완료 시간까지의 영역이며, CC 및 IR이 종래식으로 샘플링되는 시간이다. 상술하자면, FPU(16)는 명령을 검사하여 이동 소숫점 연산 명령의 결과를 예기하며 명령의 완료 실행 이전에 예기된 결과를 표시하는 결과 신호로서 AVR, CC 및 IR 신호를 공급할 수 있는(결과 수단으로서 참조된) 수단을 포함한다.
FPU(16)에 의한 CC 및 IR의 가속회된 발생의 장점을 이용하기 위해, 본 발명은 이동 소숫점 연산 타겟 명령이 변환 및 발생되었을 EAP(20) 및 IPU(10)에 통고하는 대기 토큰 회로를 EAP(20)에 제공하며, 발생된 이동 소숫점 연산 타겟 명령 실행에 응답하여 CC 및 IR이 만들어질때까지 타겟 명령의 다른 변환 및 발생을 금지하며, CC 및 IR이 발생되었을 때 명령 변환 및 발생의 조속한 재개시를 허용하는 것을 EAP(20) 및 IPU(10)에게 통고한다.
소스 이동 소숫점 연산 명령이 레지스터(26)에 포함될 때, 명령 매핑 회로(27)는 소스 명령을변환시키는데 적합한 마이크로 명령 순차의 제1어드레스를 발생시킨다. 이동 소숫점 연산 명령 결과로서 발생된 모든 마이크로 명령 순차는 WAIT 마이크로 명령으로 종결된다. WAIT 마이크로 명령은 대기 토큰 발생을 시작하기 위한 본 발명의 신호이다. 이러한 점에서, 소스 이동 소숫점 연산 명령(26)에 기록될 때 OP 코드 필드는 제1토큰 전조 신호를 동작시키는 종래의 디코더(D,40)에 제공된다. 자극된 순차 종단에서 WAIT 마이크로 명령이 (31)에 기록될 때, 마이크로 명령의 OP 코드는 제2토큰 전조 신호를 발생하는 디코드(40)에 제공된다. 일치 검출기(CD,42)는 신호 라인(43)을 통해 WAIT TOKEN 신호를 동작하여 2개의 토큰 전조 신호에 응답한다.
WAIT TOKEN 신호는 래치(46,47)를 포함하는 다단 래치 순차로 구성된 대기 토큰 큐(45)에 제공된다. WAIT 마이크로 명령이 마이크로 명령 레지스터(31)에 있을 때, 스켈리톤 타겟 이동 소숫점 명령은 신호 라인(23a)을 통해 명령 머지 레지스터(32)에 입력되며, 명령을 위한 연산자 필드 데이터는 신호 락인(23a)을 통해 명령 머지 레지스터(32)에 입력되며, 명령을 위한 연산자 필드 데이터는 신호 라인(23b)을 통해 명령 매핑 회로(27)에 의해 제공된다. WAIT TOKEN 신호는 다중 위상 파이프 라인 클럭의 한 위상(CLK A)에 의해 래치(46)에서 래치(47)로 클럭된다. WAIT TOKEN 신호가 래치(7)로 들어갈 때, 래치는 명령 매핑 회로(27), 명령 머지 및 명령 레지스터(32,33), 그리고 상태 레지스터(34)에 제공되는 HOLD 신호를 작동시킨다. HOLD 신호는 HOLD 신호가 작동중인한 레지스터(32,33,34)내의 데이터 변경을 금지시킨다. 또한 HOLD 신호는 명령 매핑 회로(27) 동작을 중지시킨다.
제2다중 위상 클럭(CLK B)에 응답하여 래치(47)내로의 WAIT TOKEN 신호의 전단과 동시에, 타겟 이동 소숫점 명령은 명령 머지에서 IPU(10)에 있는 명령 레지스터(33)로 시프트된다. 명령 레지스터(33)에서, 명령이 발생되어 FPU(16)에 공급된다. FPU(16)는 발생된 명령을 실행하기 위한 동작을 수행하고 또한 실행된 명령 결과를 반영하는 상태로 CC 및 IR이 셋트되도록 동작한다. CC 및 IR이 FPU(16)에 의해 생성될 때, AVR이 상승되어 래치(47)를 클리어시켜 HOLD 신호를 비동작되게 한다.
HOLD 신호가 비활성되었을 때, 현재의 CC와 IR은 FPU(16)로부터 상태 레지스터(34)내로 입력된다. 엔트리가 행해졌을 때, 명령 매핑 회로(27)는 임의 필요한 브렌칭 또는 인터럽트 동작을 수행하기 위하여 상태 레지스터(34)의 내용을 검사한다. HOLD 신호의 비활성 및 다음 스켈리톤 명령의 발생 다음에 머지된 명령이 레지스터(32)에 제공되고, 명령 레지스터(33)에 공급되도록 전송된다.
WAIT TOKEN 회로(45)가 AVR의 가속화에 응답하고, 타겟 명령 변환 및 발생이 실행 타겟 이동 소숫점 연산 동작 완료보다 먼저 실행되도록 허용하는 것은 본 기술에 숙련된 자에게는 명백할 것이다. 본 기술에 숙련된 자는 상기 가속화 동작이 제1도의 이뮬레이터에서 동작의 동시 발생만을 향상시켜 그것의 동작의 전체 속도를 증가시키는 것을 인지할 것이다.
제3도는 소스 RX-형 이동 소숫점 연산 명령의 실행을 이뮬레이션하는 타겟 며신 동작을 실행하는데 필요한 시간을 감소시키는 상기 제2의 목적을 어떻게 행하는지 이해시키는 도면이다. 제3도에서, IPU(10)는 명령 레지스터(33) 이외에 범용 레지스터(GPR)(50)의 뱅크, 디코드/제어 회로(52) 및 한쌍의 멀티플렉서(MUX)(54,56)를 포함한다. 범용 레지스터는 IPU(10)내에서 명령 처리 동작을 행하는데 사용된다.
디코드/제어 회로는 레지스터(33)내의 타겟 명령의 OP 필드로부터의 OP 코드 정보와 명령의 D 필드 내의 정보를 수신한다. D 필드는 실행되어질 제어 동작을 상세화하여 실행에 책임있는 제어기를 식별한다. 지겅되었을 때, 디코드/제어 회로(52)는 멀티플렉서(54),(56) 및 GPR(50)가 OP 코드 표시 명령을 실행하도록 제어 신호를 발생한다. 명령 처리 동작이 필요할 때, D 필드는 디코드/제어 회로(52)를 식별하며, 특정 동작을 행하도록 회로를 인에이블시킨다. 이러한 동작은 메모리로부터 페치된 데이터를 포함하여 MUX(54)의 동작은 지정된 GPR로 페치된 데이터를 전달한다. 데이터가 O/R 데이터 버스(18)로 교환되어질 때, 회로(52)는 데이터를 전달하도록 MUX(56)를 동작시키며, 또한 데이터를 소스시키거나 싱크시키도록 GPR을 동작시킨다. 디코드/제어 회로(52)에 의해 실행된 동작의 보충은 또한 LOAD IMMEDIATE 명령을 포함하며, 레지스터(33)내의 타겟 명령의 레지스터 필드(RT,RA 또는 RB)중 한 값이 GPR 레지스터중 소정의 것으로 입력된다.
제3도는 보다 상세하게 FPU(16)를 도시한 것이다. FPU(16)는 발생된 타겟 명령의 D 필드에 의해 지정될 수 있고, 발생된 타겟 명령의 OP 및 D 필드에서 특정된 명령의 실행을 행하도록 FPU 자원의 동작을 제어하고 동기화시킬 수 있는 제어 유닛(60)을 포함한다. FPU는 이동 소숫점 레지스터(FPR)(62)의 뱅크를 포함하는 내부 자원을 갖는다. FPR(62)은 FPU(16)에 의해 실행된 이동 소숫점의 연산자 및 결과를 일시적 기억시키기 위한 다수의 범용 64비트 레지스터를 구비한다. FPU 연산 및 논리 동작은 실행 유닛(X : 64,65)에 의해 실행된다. 공지와 같이, 상기 유닛은 예를 들어 곱셈/나눗셈 실행 유닛, 가산/감산/시프트 유닛 및 근계산 동작을 수행하는 유닛을 포함한다. IPU 및 다른 관련된 기능 유닛이 32비트 데이터 및 명령 구조로 어셈블되므로 FPU(16)데이터 인터페이스는 32비트 인터페이스 레지스터(IR,66)이며, 이 레지스터는 데이터를 32비트 데이터 버스(18)로 데이터를 교환한다.
제3 및 4도를 참조하면 "쇼트(shprt)" RX형 이동 소숫점 연산 소스 명령을 이뮬레이션하는 본 발명의 동작이 이해된다. "쇼트"란 말은 RX형 명령의 연산자가 32비트 길이임을 표시하는 것이다. 따라서 IPU(10)와 FPU(16)사이의 데이터 버스(18)는 단일 사이클로 전체 연산자 결과를 전달할 수 있다. 제4도의 스텝(S1)에서, 쇼트 소스 RX형 명령이 EAP(20)에 입력될 때, LOAD IMMEDIATE 명령을 IPU(10)에 제공하여 IPU를 실행 유닛으로서 지정하는 마이크로 명령 순차를 취한다. 명령은 레지스터 필드중 하나에 RX형 명령의 X2,B2,D2 필드 합에 대응하는 메모리 어드레스를 포함한다. 어드레스는 GPRi로 로드된다. 다음에 마이크로 명령 순차동안 IPU로의 LOAD 명령으로 GPRi에 보유된 어드레스에 기억된 연산자가 GPRj로 로드된다. 이것이 제4도의 스텝(S2)이다. 이제 마이크로 명령 순차의 최종 명령으로 타겟 이동 소숫점, 연산 명령이 발생을 위해 레지스터(33)로 로드된다. 발생된 명령은 확장된 RX(ERX) 쇼트형 타겟 명령으로서 참조된다, 이러한 명령으로 IPU 제어 회로(52)는 데이터 버스(18)상에 GPRj의 내용을 위치시키며, 이것은 소스 RX 명령의 X-필드 연산자이다. FPU는 발생된 명령을 수신하여 레지스터-레지스터(RR) 이동 소숫점 연산 명령으로서 디코드하며, 여기서 제1연산자는 명령의 RA 필드로 지정된 FPR에 위치되며, 제2연산자는 발생된 명령의 RB 필드로 지정된 인터페이스 레지스터(66)내에 위치된다. 타겟 명령 실행의 결과는 상기 명령의 RT 필드로 표시된 FPR에 위치된다.
제4도의 처리는 타겟 레지스터-레지스터 이동 소숫점 명령을 실행함으로써 소스 RX형 이동 소숫점 연산 명령을 이뮬레이팅하는데 효과적이다. 제4의 RX 향상 없이는, GPRj에서 보유된 연산자를 이동 소숫점 레지스터로 전송하여 이동 소숫점 레지스터-레지스터 이동 소숫점 명령을 실행시키는 부가 단계를 삽입시키는 것이 필요하다.
여분의 단계는 제4도의 단계 S2와 S3사이에 삽입된다.
제3도 및 제5도를 참조하면, 어떻게 하여 본 발명의 긴(64-비트) 연산자를 표시하는 소스 RX 이동 소숫점 연산 명령을 이뮬레이션하도록 동작하는가를 알 수 있다. 확장된 RX형 명령에 응답하여 EAP에 의해 취해진 마이크로 명령 순차에서 제4도의 순차는 처음에 단계 S10에서 RX 명령의 X 필드 어드레스를 GPR로 위치시키는 IPU에 의해 실행하기 위해 LOAD IMMEDIATE 타겟 명령 제공이 수반된다. GPRi내의 어드레스는 64비트를 구비하는 이중-워드 연산자를 규정한다. 그리하여, 단계 S11 및 S12에서, LOAD IMMEDIATE 명령 다음에, 두 개의 LOAD 명령이 순서대로 전송되어 IPU는 먼저 4바이트인 X-필드 연산자의 상위(HO) 4바이트를 GPRj에 로드시키며 연산자의 하위(LO) 4바이트를 GPRk에 로드시킨다. 단계 S13에서, EAP에 의해 취해진 마이크로 명령 순차의 결과로서 IPU 제공된 퍼널티메이트(penultimate) 명령은 FPU에 발생될 확장된 RX(ERX)장형 이동 소숫점 명령으로 구성된다. 본질적으로, 상기 명령은 한쌍의 64비트 연사자를 포함하는 확장된 레지스터-레지스터 명령으로서 FPU에 의해 인지되며, 상기 쌍중 하나는 상기 명령의 RA 필드로 지정된 FPR에 기억된다. FPU은 인터페이스 레지스터(66)로부터 제2연산자를 얻는다. 제2연산자는 단계 S13에서 명령 발생과 동시에 GPRj에 상위 4바이트를 먼저 전송하고나서, 단계 S14에서 마이크로 명령 순차로부터 나온 결과인 최종 타겟 명령에 응답하여 하위 4바이트를 전송함으로써 인터페이스 레지스터(66)를 통해 FPU로 스테이지된다. 최종 명령은 FINRX로 표시되며, IPU에 의해서만 실행된다. 명령 실행은 GPRk로부터 하위 4바이트를 인터페이스 레지스터(66)로의 전송으로 구성된다. 이와 같이, 제5도의 실행 순서는 확장된 타겟 레지스터-레지스터 이동 소숫점 동작의 수단으로 확장된 소스 RX 이동 소숫점 명령을 효과적으로 이뮬레이션한다. 상기 RINRX 더미 명령은 타겟 머신의 32비트 구조에 이뮬레이션 순서를 적합시킨다.
명백하게, 본 발명의 여러 변형 및 변화는 이러한 기술을 비추어 가능하게, 첨부된 특허청구의 범위는 본 발명의 기술된 것과는 다르게 실행할 수 있다는 것을 알 수 있다.

Claims (5)

  1. 외부의 컴퓨터로부터 수신된 소스 CPU 명령 실행을 이뮬렐이티하기 위해, 메모리(12)와, 상기 소스 CPU 명령을 수신하여 타겟 명령으로 변환시키는 변환기(20)와, 상기 타겟 명령을 처리 및 발생하는 타겟 명령 유닛(10)과, 상기 타겟 명령을 실행하기 위해 이동 소숫점 유닛(16)을 포함하는 타겟 기능 유닛(14,16)을 구비하는 이뮬레이션 스시템에서, 상기 변환 및 발생을 가속화시키기 위한 수단으로서, 상기 변환기내에서 소스 이동 소숫점 연산 명령의 변환에 응답하여 이동 소숫점 토큰 신호를 발생하기 위한 신호 수단(40,42)과, 상기 이동 소숫점 유닛내에서 상기 변환에 응답하여 발생된 타겟 이동 소숫점 연산 명령의 결과를 나타내는 완료 신호를 발생하기 위한 결과 수단과, 상기 완료 신호는 상기 발생된 타겟 이동 소숫점 연산 명령의 실행 완료 이전에 발생됨, 상기 변환기내에서 대기단(47)을 포함하는 다단 대기큐(45)를 구비하며, 상기 다단 대기큐는 상기 신호 수단 및 상기 출력 수단에 연결되어, 상기 변환에 응답하여 상기 토큰 신호를 수신하여 상기 대기단으로 전달시키고 상기 완료 신호에 응답하여 상기 대기단으로부터 상기 토큰 신호를 제거시키며, 상기 대기단은 상기 토큰 신호가 상기 대기단으로부터 제거될때까지는 상기 변환기 및 상기 타겟 명령 유닛에 의한 명령의 변환 및 발생을 금지시키는 기능을 갖는 이뮬레이션 시스템.
  2. 제1항에 있어서, 상기 소스 이동 소숫점 연산 명령은 레지스터 영역에서 제1연산자를 표시하며 메모리 영역에서 제2연산자를 표시하는 X 필드를 포함한 RX형 명령이며, 상기 타겟 명령은 상기 타겟 명령은 레지스터 영역에서 제1연산자 및 제2연산자를 표시하는 RR형 명령이며, 상기 타겟 명령은 상기 RX형 명령의 연산자에 대해 실행 가능하며, 상기 타겟 명령 유닛에서 상기 소스 이동 소숫점 연산 명령의 X 필드에 의해 표시된 이동 소숫점 연산자를 수신하기 위한 레지스터(50)와, 상기 이동 소숫점 유닛에서 상기 레지스터에 선택적으로 접속 가능하여 상기 이동 소숫점 유닛에 상기 연산자를 버퍼하기 위한 데이터 인터페이스 수단(66)과, 상기 타겟 명령 유닛에서 상기 레지스터, 상기 메모리 및 상기 데이터 인터페이스 수단에 접속되어, 상기 X 필드에 의해 표시된 상기 메모리 영역으로부터 나온 상기 연산자를 상기 타겟 명령 발생보다 먼저 상기 레지스터로 전달하며, 발생된 타겟 명령과 동시에 상기 연산자를 전달하기 위해 상기 데이터 인터페이스 수단을 상기 레지스터에 접속시키는 멀티플렉싱 수단(54,56)을 또한 구비하는 이뮬레이션 시스템.
  3. 상기 소스 명령은 레지스터 영역에서 제1연산자를 표시하며 메모리 영역에서 제2연산자를 표시하는 X 필드를 포함한 확장된 RX형 명령이며, 상기 타겟 명령은 레지스터 영역에서 제1 및 제2연산자를 표시하는 RR형 명령이며, 상기 타겟 명령은 상기 RX형 명령의 연산자에 대해 실행 가능하며, 상기 타겟 명령 유닛에서 상기 소스 명령의 X 필드에 의해 표시된 확장된 이동 소숫점 연산자의 제1 및 제2절반을 각각으로 접속 가능하여 상기 이동 소숫점 유닛에 상기 연산자의 상기 제1 및 제2절반을 순차식으로 버퍼하기 위한 데이터 인터페이스 수단(66)과, 상기 타겟 명령 유닛에서 상기 제1 및 제2절반을 순차식으로 버퍼하기 위한 데이터 인터페이스 수단에 접속되어, 상기 X 필드에 의해 표시된 상기 메모리 영역으로부터 나온 상기 연산자의 상기 제1 및 제2절반을 상기 타겟 명령 발생보다 먼저 상기 제1 및 제2레지스터로 가각 전달하며, 상기 타겟 명령의 발생과 동시에 상기 연산자의 상기 제1 및 제2절반을 전달하기 위해 상기 데이터 인터페이스 수단을 상기 제1 및 제2레지스터에 연속 접속시키는 멀티플렉싱 수단(54,56)을 또한 구비하는 이뮬레이션 시스템.
  4. RX형 소스 이동 소숫점 명령의 실행을 이뮬레이팅하기 위하여, 연산자를 기억하는 메모리(12)와, 상기 소스 명령을 RR형 타겟 이동 소숫점 명령으로 변환시키는 변환기(20)와, 상기 타겟 명령을 발생시키는 타겟 시스템 명령 유닛(10)과, 상기 타겟 명령을 실행하는 타겟 시스템 이동 소숫점 유닛(16)을 포함하는 이뮬레이션 시스템으로 실행 가능한 방법으로서, 명령 소스로부터 RX형 이동 소숫점 명령형으로 소스 명령을 제공하는 단계와, 상기 RX형 이동 소숫점 명령은 연산자를 포함한 메모리 영역을 표시하는 X 필드를 포함함, 상기 소스 명령의 상기 X 필드에 의해 표시된 연산자를 상기 명령 유닛에 위치된 레지스터(50)로 전달하는 단계와, 상기 소스 명령에 응답하여, 상기 소스 명령의 연산자를 이용하여 실행하기 위해 타겟 명령을 어셈블링하여 상기 이동 소숫점 유닛에 발생하는 단계와, 상기 타겟 명령의 상기 발생과 동시에, 상기 연산자를 상기 레지스터에서 상기 이동 소숫점 유닛으로 전달하는 단계와, 상기 이동 소숫점 유닛에 포함된 연산자와 상기 연산자를 조합시켜 상기 타겟 명령을 실행하는 단계를 구비하는 이뮬레이션 방법.
  5. RX형 소스 이동 소숫점 명령의 실행을 이뮬레이팅하기 위하여, 연산자를 기억하는 메모리(12)와, 상기 소스 명령을 RR형 타겟 이동 소숫점 명령으로 변환시키는 변환기(20)와, 상기 타겟 명령을 발생시키는 타겟 시스템 명령 유닛(10)과, 상기 타겟 명령을 실행하는 타겟 시스템 이동 소숫점 유닛(16)을 포함하는 이뮬레이션 시스템으로 실행 가능한 방법로서, 명령 소스로부터 RX형 이동 소숫점 명령형으로 소스 명령을 제공하는 단계와, 상기 RX형 이동 소숫점 명령은 제1 및 제2절반으로 이루어진 연산자를 포함한 메모리 영역을 표시하는 X 필드를 포함함, 상기 소스 명령의 상기 X 필드에 의해 표시된 연산자의 상기 제1절반을 상기 유닛에 위치된 제1레지스터(50)로 전달하는 단계와, 상기 연산자의 상기 제2절반을 상기 명령 유닛에 위치된 제2레지스터(50)로 전달하는 단계와, 상기 소스 명령에 응답하여, 상기 소스 명령의 연산자를 이용하여 실행하기 위해 타겟 명령을 어셈블리하여 상기 이동 소숫점 유닛에 발생하는 단계와, 상기 타겟 명령의 상기 발생과 동시에, 상기 연산자의 상기 제2절반을 상기 제2레지스터에서 상기 이동 소숫점 유닛으로 전달하는 단계와, 상기 이동 소숫점 유닛에 포함된 다른 연산자와 상기 제1 및 제2절반의 연산자를 조합시켜 상기 타겟 명령을 실행하는 단계를 구비하는 이뮬레이션 방법.
KR1019870010400A 1986-10-06 1987-09-19 이뮬레이션 시스템 및 그 방법 KR910000364B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US915423 1986-10-06
US06/915,423 US4841476A (en) 1986-10-06 1986-10-06 Extended floating point operations supporting emulation of source instruction execution

Publications (2)

Publication Number Publication Date
KR880005516A KR880005516A (ko) 1988-06-29
KR910000364B1 true KR910000364B1 (ko) 1991-01-24

Family

ID=25435704

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019870010400A KR910000364B1 (ko) 1986-10-06 1987-09-19 이뮬레이션 시스템 및 그 방법

Country Status (11)

Country Link
US (1) US4841476A (ko)
EP (1) EP0263288B1 (ko)
JP (1) JPH0758466B2 (ko)
KR (1) KR910000364B1 (ko)
AR (1) AR240723A1 (ko)
AT (1) ATE103085T1 (ko)
BR (1) BR8704431A (ko)
CA (1) CA1269756A (ko)
DE (1) DE3789345T2 (ko)
HK (1) HK79994A (ko)
MY (1) MY102468A (ko)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093784A (en) * 1987-02-27 1992-03-03 Nec Corporation Data processor with efficient transfer between subroutines and main program
CA1327080C (en) * 1987-05-26 1994-02-15 Yoshiko Yamaguchi Reduced instruction set computer (risc) type microprocessor
US5167023A (en) * 1988-02-01 1992-11-24 International Business Machines Translating a dynamic transfer control instruction address in a simulated CPU processor
JPH0628036B2 (ja) * 1988-02-01 1994-04-13 インターナショナル・ビジネス・マシーンズ・コーポレーシヨン シミュレーシヨン方法
US4951195A (en) * 1988-02-01 1990-08-21 International Business Machines Corporation Condition code graph analysis for simulating a CPU processor
CA2002201C (en) * 1988-12-06 1999-04-27 John Charles Goettelmann Translation technique
US5430862A (en) * 1990-06-29 1995-07-04 Bull Hn Information Systems Inc. Emulation of CISC instructions by RISC instructions using two pipelined stages for overlapped CISC decoding and RISC execution
US5588152A (en) * 1990-11-13 1996-12-24 International Business Machines Corporation Advanced parallel processor including advanced support hardware
US5765015A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Slide network for an array processor
US5966528A (en) * 1990-11-13 1999-10-12 International Business Machines Corporation SIMD/MIMD array processor with vector processing
US5809292A (en) * 1990-11-13 1998-09-15 International Business Machines Corporation Floating point for simid array machine
US5734921A (en) * 1990-11-13 1998-03-31 International Business Machines Corporation Advanced parallel array processor computer package
US5794059A (en) * 1990-11-13 1998-08-11 International Business Machines Corporation N-dimensional modified hypercube
US5963746A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation Fully distributed processing memory element
US5828894A (en) * 1990-11-13 1998-10-27 International Business Machines Corporation Array processor having grouping of SIMD pickets
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5708836A (en) * 1990-11-13 1998-01-13 International Business Machines Corporation SIMD/MIMD inter-processor communication
US5765011A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
EP0485690B1 (en) * 1990-11-13 1999-05-26 International Business Machines Corporation Parallel associative processor system
US5625836A (en) * 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
US5630162A (en) * 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
US5617577A (en) * 1990-11-13 1997-04-01 International Business Machines Corporation Advanced parallel array processor I/O connection
US5815723A (en) * 1990-11-13 1998-09-29 International Business Machines Corporation Picket autonomy on a SIMD machine
US5963745A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation APAP I/O programmable router
US5765012A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library
CA2082066C (en) * 1991-03-07 1998-04-21 James A. Wooldridge Software debugging system and method especially adapted for code debugging within a multi-architecture environment
US5652869A (en) * 1991-03-07 1997-07-29 Digital Equipment Corporation System for executing and debugging multiple codes in a multi-architecture environment using jacketing means for jacketing the cross-domain calls
US5594918A (en) * 1991-05-13 1997-01-14 International Business Machines Corporation Parallel computer system providing multi-ported intelligent memory
JPH079632B2 (ja) * 1991-06-18 1995-02-01 インターナショナル・ビジネス・マシーンズ・コーポレイション アドレス変換装置および方法
FR2678401A1 (fr) * 1991-06-28 1992-12-31 Philips Electronique Lab Dispositif de traitement de l'information plus particulierement adapte a un langage chaine, du type forth notamment.
US5438668A (en) 1992-03-31 1995-08-01 Seiko Epson Corporation System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer
JP2642039B2 (ja) * 1992-05-22 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション アレイ・プロセッサ
JPH0773046A (ja) * 1992-12-07 1995-03-17 Intel Corp コンピュータシステムで回路をエミュレートする 方法及び装置
WO1994027214A1 (en) * 1993-05-07 1994-11-24 Apple Computer, Inc. Method for decoding sequences of guest instructions for a host computer
US5392408A (en) * 1993-09-20 1995-02-21 Apple Computer, Inc. Address selective emulation routine pointer address mapping system
US5408622A (en) * 1993-09-23 1995-04-18 Apple Computer, Inc. Apparatus and method for emulation routine control transfer via host jump instruction creation and insertion
US5481684A (en) * 1994-01-11 1996-01-02 Exponential Technology, Inc. Emulating operating system calls in an alternate instruction set using a modified code segment descriptor
US5542059A (en) * 1994-01-11 1996-07-30 Exponential Technology, Inc. Dual instruction set processor having a pipeline with a pipestage functional unit that is relocatable in time and sequence order
US5781750A (en) * 1994-01-11 1998-07-14 Exponential Technology, Inc. Dual-instruction-set architecture CPU with hidden software emulation mode
US5481693A (en) * 1994-07-20 1996-01-02 Exponential Technology, Inc. Shared register architecture for a dual-instruction-set CPU
US5685009A (en) * 1994-07-20 1997-11-04 Exponential Technology, Inc. Shared floating-point registers and register port-pairing in a dual-architecture CPU
JPH08339298A (ja) * 1995-02-02 1996-12-24 Ricoh Co Ltd マイクロプロセッサにおける命令追加方法及びそれを用いたマイクロプロセッサ
US5619665A (en) * 1995-04-13 1997-04-08 Intrnational Business Machines Corporation Method and apparatus for the transparent emulation of an existing instruction-set architecture by an arbitrary underlying instruction-set architecture
US5819063A (en) * 1995-09-11 1998-10-06 International Business Machines Corporation Method and data processing system for emulating a program
US5812823A (en) * 1996-01-02 1998-09-22 International Business Machines Corporation Method and system for performing an emulation context save and restore that is transparent to the operating system
US5758140A (en) * 1996-01-25 1998-05-26 International Business Machines Corporation Method and system for emulating instructions by performing an operation directly using special-purpose register contents
US6711667B1 (en) * 1996-06-28 2004-03-23 Legerity, Inc. Microprocessor configured to translate instructions from one instruction set to another, and to store the translated instructions
JPH113225A (ja) * 1997-06-13 1999-01-06 Nec Corp 情報処理装置
US5864690A (en) * 1997-07-30 1999-01-26 Integrated Device Technology, Inc. Apparatus and method for register specific fill-in of register generic micro instructions within an instruction queue
EP1359501A3 (en) * 1997-10-02 2007-11-21 Koninklijke Philips Electronics N.V. A processing device for executing virtual machine instructions
EP0997815A3 (en) * 1998-10-29 2004-05-26 Texas Instruments Incorporated Interactive translation system and method
US7149883B1 (en) * 2000-03-30 2006-12-12 Intel Corporation Method and apparatus selectively to advance a write pointer for a queue based on the indicated validity or invalidity of an instruction stored within the queue
US6862565B1 (en) * 2000-04-13 2005-03-01 Hewlett-Packard Development Company, L.P. Method and apparatus for validating cross-architecture ISA emulation
US7243217B1 (en) * 2002-09-24 2007-07-10 Advanced Micro Devices, Inc. Floating point unit with variable speed execution pipeline and method of operation
US7293159B2 (en) * 2004-01-15 2007-11-06 International Business Machines Corporation Coupling GP processor with reserved instruction interface via coprocessor port with operation data flow to application specific ISA processor with translation pre-decoder
GB2447968B (en) * 2007-03-30 2010-07-07 Transitive Ltd Improvements in and relating to floating point operations
JP4849273B2 (ja) * 2008-03-26 2012-01-11 株式会社日立プラントテクノロジー 乾式電気集塵装置の放電極用h型プロテクタ

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3881173A (en) * 1973-05-14 1975-04-29 Amdahl Corp Condition code determination and data processing
JPS57150039A (en) * 1981-03-11 1982-09-16 Hitachi Ltd Data processor
US4587612A (en) * 1982-10-22 1986-05-06 International Business Machines Corporation Accelerated instruction mapping external to source and target instruction streams for near realtime injection into the latter

Also Published As

Publication number Publication date
DE3789345D1 (de) 1994-04-21
DE3789345T2 (de) 1994-09-29
MY102468A (en) 1992-06-30
EP0263288A2 (en) 1988-04-13
CA1269756A (en) 1990-05-29
KR880005516A (ko) 1988-06-29
JPH0758466B2 (ja) 1995-06-21
JPS6398739A (ja) 1988-04-30
HK79994A (en) 1994-08-19
BR8704431A (pt) 1988-05-24
EP0263288B1 (en) 1994-03-16
ATE103085T1 (de) 1994-04-15
US4841476A (en) 1989-06-20
AR240723A1 (es) 1990-09-28
EP0263288A3 (en) 1991-06-12

Similar Documents

Publication Publication Date Title
KR910000364B1 (ko) 이뮬레이션 시스템 및 그 방법
US5341482A (en) Method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions
US7293159B2 (en) Coupling GP processor with reserved instruction interface via coprocessor port with operation data flow to application specific ISA processor with translation pre-decoder
US4415969A (en) Macroinstruction translator unit for use in a microprocessor
EP0087978B1 (en) Information processing unit
US6327647B1 (en) Method and apparatus for interfacing a processor to a coprocessor
US20020069375A1 (en) System, method, and article of manufacture for data transfer across clock domains
JP2001195250A (ja) 命令トランスレータ、トランスレータ付命令メモリおよびそれらを用いたデータ処理装置
US9513908B2 (en) Streaming memory transpose operations
KR20140018353A (ko) 결합 퍼실리티에서 운영자 메시지 버퍼 관리
KR100440361B1 (ko) 자동정렬스택포인터를구비한데이타처리시스템및그방법
US6012138A (en) Dynamically variable length CPU pipeline for efficiently executing two instruction sets
EP0378816B1 (en) Production line method and apparatus for instruction execution
JP4465081B2 (ja) Vliwプロセッサにおける効率的なサブ命令エミュレーション
JPH025138A (ja) シミユレーシヨン方法
US5446909A (en) Binary multiplication implemented by existing hardware with minor modifications to sequentially designate bits of the operand
JP2778717B2 (ja) データ処理ユニット
EP0374598B1 (en) Control store addressing from multiple sources
EP0301707B1 (en) Apparatus and method for providing an extended processing environment on nonmicrocoded data processing system
KR19980018071A (ko) 멀티미디어 신호 프로세서의 단일 명령 다중 데이터 처리
EP0015276B1 (en) A digital pipelined computer
JP3102399B2 (ja) データ処理装置及び方法
JP2583614B2 (ja) ベクトル演算装置
Sylvain et al. The design and evaluation of the array machine: a high-level language processor
Nyssens Input/output microprogram handling within the unidata 7.720

Legal Events

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

Payment date: 19951228

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee