KR0175115B1 - 프로세서 시스템 및 디버그모드 실현방법 - Google Patents

프로세서 시스템 및 디버그모드 실현방법 Download PDF

Info

Publication number
KR0175115B1
KR0175115B1 KR1019950703428A KR19950703428A KR0175115B1 KR 0175115 B1 KR0175115 B1 KR 0175115B1 KR 1019950703428 A KR1019950703428 A KR 1019950703428A KR 19950703428 A KR19950703428 A KR 19950703428A KR 0175115 B1 KR0175115 B1 KR 0175115B1
Authority
KR
South Korea
Prior art keywords
instruction
exception
floating point
floating
integer
Prior art date
Application number
KR1019950703428A
Other languages
English (en)
Other versions
KR960701398A (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 KR960701398A publication Critical patent/KR960701398A/ko
Application granted granted Critical
Publication of KR0175115B1 publication Critical patent/KR0175115B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • 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
    • 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/3838Dependency mechanisms, e.g. register scoreboarding
    • 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/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • 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/3861Recovery, e.g. branch miss-prediction, exception handling
    • 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Advance Control (AREA)

Abstract

정규부동소수점예외 없는 통상동작모드와 정규부동소수점예외 있는 디버그모드로 전환할 수 있는 프로세서 시스템. 이 프로세서 시스템은 정수와 부동소수점명령을 디스패치하는 수단과, 정수명령을 실행하는 멀티스테이지 정수 파이프라인을 갖춘 정수유닛과, 부동소수점명령을 실행하는 멀티스테이지 부동소수점 파이프라인을 갖춘 부동소수점유닛과, 시스템을 통상동작모드와 디버그동작모드로 전환하는 수단을 갖춘다. 시스템이 디버그모드에 있을 때 부동소수점명령이 디스패치되고나서부터 시스템이 상기 부동소수점명령이 예외를 일으키는가의 여부를 판정할 때까지 명령이 처리되지 않도록 하고, 통상모드에 있지 않을 때 시스템이 정규예외를 송신할 수 있도록 한다.

Description

[발명의 명칭]
프로세서 시스템 및 디버그모드 실현방법
[기술분야]
본 발명은 일반적으로 컴퓨터의 분야에 관한 것이며, 더욱 자세히는 통상의 동작모드에서는 정규부동소수점예외를 지지하지 않는 슈퍼컬러 축소명령세트 컴퓨터(RISC)에서 디버그모드를 실현하는 시스템 및 방법에 관한 것이다.
[배경기술]
슈퍼컬러 축소명령세트 컴퓨터(RISC)(RISC 프로세서라 불리운다)는급속히 싱글 프로세서의 워크스테이션으로부터 멀티 프로세서의 슈퍼 컴퓨터에 이르기까지의 새로운 컴퓨터 아키텍처가 되어가고 있다. MIPS RISC 아키텍처는 R2000, R4000, R6000(일괄해서 R시리즈라 불리운다) 프로세서로 실현되는 특정한 아키텍처이다. G. Kane과 J. Heinrich저 MIPS RISC아키텍처라는 책(Prentice Hall, Englewoo Cliffs, New Jersey, USA, 1992)이 MIPS RISC 아키텍처에 관한 중요한 참고 매뉴얼이며, 여기서도 인용하고 있다.
아래의 3종의 텍스터북은 RISC아키텍처를 더욱 자세히 해설하고 있다. John L. Hennessy와 David A. Patterson의 컴퓨터 아키텍처 적량적 어프로치(Morgan Kaufmann Publisher, Inc., San Mateo California, USA, 1990), Mike Johnson의 슈퍼컬러 마이크로프로세서 디자인(Prentice Hall, Englewood Cliffs, New Jersey, USA, 1991), Stephen B Furber 의 VLSI RISC 아키텍처와 오거나이제이션(Marcel Decker Inc., New York, New York, USA, 1989). 모두를 참고를 위해 인용하고 있다.
지금까지의 MIPS머신에는 정규예외가 있었다. 정규예외에는 2개의 필요조건이 있다. (1) 프로세서 또는 유저에 예외를 일으킨 명령(예외명령)의 번지(address)를 이용할 수 있을 것, (2) 프로세서는 예외를 일으켜 명령의 실행 직전에 있었던 상태로 상태를 복귀할 수 있을 것이 그것이다. 즉 예를 들어 명령으로 이상이 생겼을 경우에 이전의 MIPS 프로세서는, 모두 프로세서의 상태를, 그 명령을 실행하기 직전의 상태로 회복하고, 그 후에 프로그램의 흐름을 그 명령과 그에 계속되는 명령 스트림을 어떻게 취급할 것인가를 결정할 수 있는 소프트웨어 핸들러에 전송한다.
정규예외가 있음에 따른 문제로는 상태를 예외명령이 실행되기 직전으로 복귀하기 위하여 프로세서에 대량의 하드웨어를 요하는 일이다. 구체적으로는 프로세서가 보다 많은 패러렐리즘(동시에 많은 작업을 하는 것)을 갖추도록 설계되므로 정규예외를 취급하는데 보다 많은 하드웨어가 필요하게 된다.
예외의 종류에 따라서는 정규일 필요는 없다. 예를 들어 부동소수점 제로 나눗셈의 에러가 생기면 태반의 프로그램이 종료하든가, 예외없이 진행한다. 어느 경우이건 프로그램의 올바른 작동에는 부동소수점 제로 나눗셈예외가 정규일 필요는 없다. 한편, 변환색인 버퍼(TLB)보급예외가 부정규이 면 대부분의 프로그램은 올바르게 진행하지 않는다.
이때문에 정규이어야 할 정수예외와 정규가 아니어도 되는 부동소수점 예외와는 구별할 수가 있다.
소망스러운 것은 비 정규부동소수점예외에 의해 가능해지는 패럴렐리즘을 제공하고, 또한 정규예외 없이는 진행하지 않는 오래 된 소수파의 프로그램에 정규예외를 제공하는 프로그램이다.
[발명의 개시]
본 발명은 정규부동소수점예외를 생략함으로써 보다 큰 패러렐리즘을 달성하여 우수한 성능을 얻는 장치와 방법을 지향함과 동시에 정규소수점예외를 필요로 하는 프로그램을 진행시키기 위한 디버그모드를 제공한다.
프로세서 시스템은 정규부동소수점예외가 없는 통상동작모드와 디버그모드로 전환할 수가 있다. 시스템에서 진행하는 소프트웨어의 프로그래머가 디버그보드와 비디버그모드의 전환을 프로그래밍 하든가, 시스템의 오퍼레이팅 시스템이 전환을 실시할 수가 있다.
시스템이 일단 디버그모드로 전환하고 부동소수점명령이 실행되면 명령이 예외를 일으키는가의 여부를 시스템이 판정할 때까지 이후의 명령은 정지되고, 이 때문에 시스템은 디버그모드가 아닐 때 정규예외를 발신할 수가 있다. 이와 같이 명령으로 예외가 생기면 시스템은 프로세서의 상태를 후퇴시킬 필요가 있다. 부동소수점 파이프라인설계에 의해 부동소수점 명령이 예외를 일으켰는가의 여부를 시스템이 판정하여 수 사이클전에 새로운 명령을 송출할 수가 있게 된다. 이와 같이 하여 부동소수점 명령에 의해 예외가 발생하지 않으면, 시스템은 새로운 명령을 풀 슈퍼컬러 대역폭으로 처리할 수가 있다.
본 발명에 의한 디버그모드에서는 개발중의 새로운 프로그램에서도(그와 같은 새로운 프로그램은 정규부동소수점예외 없이도 진행하도록 설계되어 있을 것이지만) 디버그 할 수가 있다.
본 발명의 상술한, 그리고 그것 이외의 특징과 장점은 첨부한 도면에 도해되어 있는 바와 같이 발명의 바람직한 실시예의 상세한 설명에 의해 명백해진다.
[도면의 간단한 설명]
발명은 첨부한 도면을 참조하면 보다 잘 이해할 수가 있다.
제1도는 본 발명에 의한 프로세서 시스템(100)의 고레벨 대표 브록도이다.
제2도는 본 발명에 의한 제1도의 정수유닛(102)의 정수 파이프라인(200)을 표시한다.
제3도는 본 발명에 의한 제2도의 정수 파이프라인(200)과 부동소수점 파이프라인(300)을 표시한다.
제4도는 본 발명에 의한 전환동작의 대표 플로차트이다.
[발명을 실시하기 위한 최량의 형태]
본 발명의 바람직한 실시예는 이하에 상세하게 설명한다. 특정한 수단, 구조, 배치를 논하고 있으나, 이는 예시하는 목적만을 위한 것임을 이해하여야 한다. 관련기술의 당업자는 발명의 정신과 범위로부터 벗어나지 않고, 다른 수단,구조,배치를 사용할 수 있음을 이해할 수 있을 것이다.
여기서 발명의 바람직한 실시예는 도면에 의거해서 설명하거니와, 유사한 번호는 같은 부품이거나, 기능적으로 유사한 부품을 가르키고 있다. 또 도면에서 각 참조번호의 왼쪽 끝 숫자는 그 참조번호를 최초로 사용하고 있는 도면을 지시하고 있다.
[시스템의 개관]
디버그모드동작을 이해하기 위해서는 본 발명의 프로세서 시스템에 대한 것과, 통상 어떻게 동작하는가를 이해할 필요가 있다. 제1도는 프로세서 시스템(100)의 고레벨 대표블록도이다. 프로세서 시스템(100)의 아래 설명은 예를 들어 설명한다. 본 발명의 디버그 시스템과 방법은 당업자에게는 명백한 바와 같이 다양한 아키텍처 스키머(architecture schemer)를 갖춘 프로세서 시스템에서 사용할 수가 있다. 프로세서 시스템(100)은 역시 당업자에게는 명백한 바와 같이 단일 또는 복수의 칩에 짜 넣을 수가 있다. 또한 프로세서 시스템(100)은 멀티프로세서 컴퓨터 시스템의 일부로 할 수도 있다. 제1도의 기능 엘리먼트와 블록에 대한 바람직한 실시예의 대표적인 파라미터와 값은 아래의 설명과 제1도에 나타낸다. 이들 파라미터와 수치는 프로세서 시스템(100)에 개시된 실시예로서는 바람직 하나, 본 발명은 이들 파라미터와 수치에 한정하지 않고, 의도하는 기능과 그 등가물을 산출하는 임의의 파라미터와 수치에도 적용된다.
프로세서 시스템(100)은 2개의 주요 칩, 정수유닛 칩(IU)(112)과 부동소수점 칩유닛(FPU)(104)를 갖춘다. 또한 시스템은 2개의 대역 택 랜덤접근메모리(RAM) 칩(GTAG)(106)과, 외부 대역 캐시(GCACHE)(108)를 구성하는 2뱅크의 스태틱 RAM 칩을 갖추고 있다.
명령은 온 칩의 16KB(킬로바이트) 명령캐시(ICACHE)(110)로부터 꺼낸다. 이 ICACHE(110)는 32B(바이트)라인으로 직접 맵되어 있다. 버스(111)에 의해 개략적인 것을 나타낸 바와 같이 사이클당 4개의 명령(128총합비트)을 꺼낸다.
ICACHE(110)는 가상적으로 인덱스와 택을 붙이고 있다. 소프트웨어는 일관성을 유지할 책임이 있다. ICACHE(110)는 GCACHE(108)로부터 한쌍의 버스(109)를 거쳐 11사이클로 보급된다. ICACHE(110)의 내용은 GCACHE(108)의 섭세트(sub-set)일 필요는 없다. 제어신호와 분기명령을 버스(113)경유로 ICACHE(110)에 보내는 ICACHE(110)와 연휴하고 있는 분기예측 CACHE(BCACHE)(112)가 있다. BCACHE(112)도 직접 맵되어 있으며, 1K엔트리를 갖춘다.
ICACHE(110)로부터의 명령은 명령버퍼(IBUF)(114)로 버퍼되어, 버퍼(115) 경유로 디스패치 로직(수단)(116)으로 가기 전에 재편된다. 2개의 정수, 2개의 메모리, 4개의 부동소수점 명령 타입으로부터 사이클당 4개까지의 명령을 골라서 디스패치할 수가 있다. 부동소수점 명령은 버스(117)를 거쳐 부동소수점큐(FPQ)(118)에 디스패치된다. 여기서는 정수명령의 디스패치를 보류함이 없이 자원경합과 데이터의존이 클리어하는 것을 기다릴 수가 있다. 특히 FPQ(118)는 FPU(102)를 IU(102)로부터 떨어지게 하여 GCACHE(108)의 대기시간을 숨긴다. 아래에 상세히 설명한다.
정수 및 메모리명령은(13포트정수등록(IREG) 파일(120)로부터 그 피연산자(operand)를 취득한다. 복수의 정수기능유닛(122)은 2개의 정수(ALU), 1개의 시프터, 1개의 곱셈나눗셈유닛을 갖추고, 버스(121)에서 IREG파일(120)에 연결되어 있다. ALU와 시프터는 1사이클로 동작한다. 곱셈나눗셈유닛은 반복한다. 즉 32b/64b(비트) 정수곱셈에서는 4/6사이클, 정수나눗셈에서는 결과의 값에 따라서 21∼73사이클이다. 반복동작은 간이프로그램 때문에 완전히 인터록된다.
각 사이클에서 2개까지의 정수동작이 개시된다.
메모리명령은 버스(125)를 거쳐, 번지생성유닛(AGEN)(124)를 통과하고, 버스(127)를 거쳐 변환색인버퍼(TLB)(126)로 이동한다. TLB(126)는 384의 엔트리를 갖춘 3로세트결합캐시이다. TLB(126)는 2중포트이기 때문에 1사이클당 독립메모리 명령 2개를 지지할 수 있다. TLB(126)를 보아넘길 때는 소프트웨어 핸들러(도시하지 않음)에 의해 보수된다.
정수의 로드와 스토어는 버스(129)로부터 온 칩 데이터캐시(DCACHE)(128)로 이동한다. 이것도 사이클당 로드 2회, 또는 로드 1회와 스토어 1회를 지지하도록 2중포트로 되어 있다. DCACHE(128)는 32B라인으로 직접 맵된 16KB이며, 외부의 캐시로부터 7사이클로 보급된다. 이것은 가상번지와 물리 택이 붙여진다. DCACHE(128)는 GCACHE(108)의 적절한 섭세트이며, 하드웨어(도시하지 않음)가 일관성을 유지한다. DCACHE(128)와 GCACHE(108)는 스플릿 레벨의 캐시를 갖추며, DCACHE(128)는 제1레벨캐시가 되고, GCACHE(108)는 제2레벨캐시가 된다.
GCACHE(108)는 사이클당 2개의 64b로드 또는 스토어를 지지하도록 2로에 인터리브되어 있다. GCACHE(108)는 크기를 1∼16MB까지 구축할 수 있다. GCACHE(108)는 4로 세트결합이며, 각 캐시라인은 각각의 상태비트를 갖춘 4개의 섹터 또는 섭블록을 내장한다. 라인의 크기는 각각 섹터 사이즈 32B, 64B, 128B에 상당하는 125B, 265B, 512B로 구성할 수 있다. 외부캐시는 한쌍의 커스텀 택 RAM(GTAG(106))과, 8∼36까지의 커모더티동기스태틱 RAM(GCACHE(108))을 사용하여 실현된다. 캐시보급시간등의 부품 고유의 타이밍은 시스템의 장착에 의존한다(즉 응용(application)에 고유이다). GCACHE(108)와 GTAG(106)는 버스(119) 경유로 TLB(126)에 의해 번지가 붙여진다. 스플릿레벨캐시의 상세한 설명은 상기한 상호참조 특허응용, 표제 스플릿레벨캐시에서 볼 수가 있다. 참고로 여기에 기재한다.
부동소수점 판독은 버스(109)에 결합하는 로드데이터큐(LDQ)(120)에 의해 이루어진다. 부동소수점 스토어는 FPU칩(104)을 떠나서 버스(131)를 거쳐 스토어데이터큐(570)(130)으로 이동하고, TLB(126)에 의해 물리번지로 변환된 후에 버스(133)를 거쳐 GCACHE(108)으로 이동하여, 온 칩 DCACHE(128)를 바이패스한다.
FPU(104)은 2개의 실행 데이터버스(버스(109))에 연결되나, 각각은 2배 정밀도 융합 곱셈 덧셈, 단순곱셈, 덧셈, 나눗셈, 평방근계산, 변환의 능력이 있다. 12포트의 부동소수점 등록(FREG) 파일(134)은 버스(135)에 의해 실행데이터버스에 보내어진다(이 데이터버스자체는 완전히 바이패스되어 있다). 부동소수점 기능유닛의 과반수는 136에 표시된다.
부동소수점 기능유닛은 많은 종류가 있다. 비교, 이동등으로 된 짧은 작업은 1사이클을 요한다. 덧셈, 곱셈, 융합 곱셈덧셈등으로 된 중간 정도의 작업은 4사이클을 요하고, 완전히 파이프라인전송된다. 나눗셈, 평방근계산등은 반복이다. 나눗셈은 1배 정밀도로 14사이클, 2배 정밀도로 20사이클을 요한다. 2개의 데이터 버스는 완전히 대칭이며, 소프트웨어로는 구별할 수 없다. 컴파일러는 단순히 사이클당 2개의 부동소수점작업을 스케줄할 수 있음을 알 수 있다.
[정수/부동소수점 파이프라인]
IU(102)의 정수 파이프라인(200)을 제2도에 나타낸다. d인출(F) 스테이지(202)는 ICACHE(110)와 BCACHE(112)에 접근한다. 디코드(D)스테이지(204)는 등록 스코어 보딩과 자원확보에 의거해서 디스패치를 결정하고, IREG 등록파일(120)의 판독도 한다. 번지(A)스테이지(206)는 로드와 스토어의 유효번지를 산출한다. 실행(E)스테이지(208)는 ALU(122)를 평가하고, DCACHE(128)와 TLB(126)에 접근하여 분기를 해결하고, 보든 예외를 취급한다. 최후로 재기입(W(write-back))스테이지(210)가 IREG 등록파일(122)을 갱신한다.
이 파이프라인(200)은 종래의 RISC 파이프라인과는 2가지 점에서 다르다. 실제로는 4개의 파이프라인, 2개의 정수 ALU 파이프라인과, 2개의 로드/스토어 파이 프라인이 있으며 , ALU동작은 데이터 캐시 접근과 평행해서 발생한다.
종래의 RISC 파이프라인에는 로드새도가 있으며, 로드 직후의 명령사이클은 로드의 결과를 사용할 수 없다. 이는 컴파일러가 로드후에 몇가지 독립명령을 빈번히 낼 수가 있으므로 스칼러 파이프라인에서는 용인되는 것을 알았다. 그러나 별로 생기지 않는 일이지만 컴파일러가 이 슈퍼컬러 파이프라인에서 같은 새도를 커버하는 4개의 독립명령을 발견하여야 한다.
ALU를 지연시킴으로써 로드새도는 ALU동작에 대한 로드작업의 경우에 제거되나, 로드번지에 ALU새도를 만들어낸다. ALU명령으로 계산된 번지를 다음의 로드나 스토어명령으로 기본번지로서 사용할 경우에는 다시 여분으로 지연의 사이클이 있다. 로드사용 의존은 계산로드/스토어 의존보다 빈번히, 특히 슈퍼컬러의 속도중진(speed-up)의 영향을 받지 않는 분기정수코드로 발생하므로 발명자는 이 트레이드오프는 유리하다고 이해 하였다. 또한 부동소수점로드와 스토어의 새로운 등록+등록번지부 모드는 사전계산번지의 필요성을 줄이는 데 유용하다. ALU를 파이프라인보다 더욱 낮춘다는 것은 분기해결을 늦추는 결함이 있다. 이는 분기예측을 하고, 또 분기의 지연슬롯을 분기자체와 평행으로 실행시킴으로써 완화되었다.
시스템(100)이 어떻게 부동소수점과 정수명령을 디스패치하는가에 대해서는 제3도를 참고로 하여 설명한다. 제3도는 정수 파이프라인(200)과 스테이지 S∼V로 된 부동소수점 파이프라인을 나타낸다.
F스테이지에서는 사이클당 4명령을 ICACHE로부터 판독하여IBUF(114)에 수납한다. D스테이지는 다음 사이클로 어떤 명령을 다음 스테이지에 실제로 디스패치할 수 있는가를 결정한다. 예를 들어 시스템은 1사이클로 4종의 판독을 할 수는 없다. 따라서 4종의 로드가 있어도 2개밖에 디스패치 할 수 없다.
상술한 바와 같이 A스테이지에서는 모든 메모리동작, 로드, 스토어의 번지가 생성된다. 다음에 E스테이지 동안에 ALU동작이 이루어지고, DCACHE(128)에서 정수스토어상태의 변화가 이루어진다.
스테이지 W에서 명령이 처리되며, 어떤 명령을 처리하는가의 결정은 스테이지 E에서 이루어진다. 부동소수점(FP)명령은 후에 실행하기 위하여 FPQ(118)에 기입해 둠으로써 처리된다. 정수로드와 ALU동작은 그 결과를 IREG파일(120)에 기입해 둠으로써 처리된다. 정수스토어는 E스테이지에서 그 데이터를 DCACHE(128)에 기입하나, 스토어데이터를 FPQ(118)에 기입하는 것과, 이미 유효하다고 기입된 DCACHE위치를 마크함으로써 처리된다. 처리되지 않은 정수저장 (이전의 명령이 예외를 취하였기 때문에)은 이미 무효라고 마크되었다고 지입된 DCACHE 엔트리를 갖는다. 상태의 변화가 스플릿 레벨의 캐시에 어떻게 반영하는가에 대해서는 자세히는 상기한 참조 특허 신청, 표제 스플릿 레벨 캐시에서 볼 수 있다.
FPQ(118)는 처리되는 명령만을 가질 것이 보증되어 있다. 프로세서는 명령이 FPQ(118)의 최후로부터 판독되었을 때, FP기능유닛(136)에 의해 실행할 수가 있으며, 명령이 무엇을 요구하는가에 따라 그 결과가 FREG파일(134)에 재기입된다거나, GCACHE(108)에 스토어 됨을 알 수 있다.
파이프라인(200, 300)의 통상 동작중에 FP명령에 관해서는 정수명령이 질서를 벗어나서 실행할 가능성이 있다.
그러나 정수명령의 결과는 W스테이지에서 프로세서의 상태를 실제로 변화시킬 수가 있다.
예를 들어 정수와 FP명령을 갖춘 명령 스트림에서는 정수명령은 W스테이지에서 프로세서의 상태를 변화시킨다.
FP명령은 그 시점에서 FFQ에 들어간다. 그 후에 FPQ명령은 S스테이지에서 FPQ로부터 인출되어 FPU에 보내어지고, 부동소수점 파이프라인(300)의 나머지 T스테이지, R스테이지, X, Y, Z, U스테이지, 최후로 V스테이지를 드레인한다.
드레인이라 함은 처리된 명령이 순차적으로 FPU에 보내어져서, FP파이프라인을 완전히 통과하는 것을 말한다. 그때 V스테이지에서는 명령은 최종적으로 그 상태를 프로세서의 상태의 변경에 맡긴다. 프로세서의 상태의실제의 변경은 FP명령에서는 정수명령에서 일어나는 것보다 훨씬 더디게 일어난다.
스테이지 T에서는 FP명령은 IU칩(102)으로부터 FPU칩(104)에 전송된다. 이 스테이지에서는 전송되는 FP명령의 데이터는 LDQ(130)로부터 FREG파일(134)로 판독된다. 다음 스테이지 R에서는 FP명령의 오페란드는 FREG파일(134)로 부터 판독되어, FP유닛(136)에 전송된다. FP로드데이터는 이 스테이지에서도 FREG파일(134)에 기입된다.
FP명령의 실행은 스테이지 X에서 시작되어 스테이지 U의 최후에서 완료한다. 실행스테이지는 X로부터 U까지(스테이지 1로부터 스테이지4까지 ), 전부 4개 있다. 모든 명령이 실행을 끝마치는데 4스테이지를 요하는 것은 아니다. 짧은 FP명령은 실행되고, 부동소수점 조건코드(FP CC) 비트도 X스테이지동안에 생성된다. 예를들어 부동소수점 비교작업을 하면 비교의 결과를 표시하는 조건코드가 생성된다. 비교코드 비트(CC)의 2개의 카피가 사용된다. CC비트의 1개의 카피는 FPU(104)에 남고, 다른 것은 다음 스테이지 Y에서 IU칩(102)에 전송된다.
스테이지 R, X, U에 있는 바이패스 마크는 스테이지 X와 U의 최후의 결과를, 스테이지 R의 최후의, 같은 또는 다른 FP부동소수점유닛의 입력에 되보내는 것을 표시하고 있다. 바이패스작업은 파선(302, 304)로 표시한다. 이와 같이 FREG파일로부터 나오는 새로운 결과를 판독할 여분의 시간을 갖지 않아도 실행결과가 다음 명령에 곧바로 이용할 수 있다.
(디버그모드의 동작)
FP명령이 예외를 발생시키는가의 여부는 U스테이지까지 알 수 없다. 그때문에 FP가 U스테이지에서 예외를 취하면 타이밍과 제어의 문제가 생긴다. 유저가 그 예외를 정규로 하고자 하면, 그 FP명령이 W스테이지로 되돌리고나서 생긴 정수동작 모두를 어떵게 해서든 취소할 필요가 있다.
많은 정수명령은 그로부터 실행된다. 프로세서 시스템(100)은 명령 모두를 취소하는 기구를 갖추지 않는다.
본 발명에 의하면 정규부동소수점예외는 명령이 파이프라인을 내려가는 방법을 변화시킴으로써 지지된다. 처리된 FP명령이 예외를 발생시키지 않음이 판정될 때까지 그 후의 명령은 처리되지 않게 된다.
본 발명을 예를 들어 더 설명한다. 정수명령 스트림이었던 것의 중앙에 있는 FP명령과 프로세서는 본 발명에 의하면 제어 로직(도시하지 않음)를 거쳐서 전환되고, 디버그모드로 진행한다.
그 FP명령은 최초로 인출되어 스테이지(202, 204)에서 디코드되어, 다음 사이클로 A스테이지에 디스패치된다. 디버그모드의 이 시점에서는 그 FP명령이 FPQ를 다 통과하고, 부동소수점 파이프라인(300)의 태반을 다 통과할 때까지 그 후의 명령을 디스패치하는 것을 막는다.
상기와 같이 모든 정수예외는 E스테이지에서 해결된다.
이렇게 하여 정수명령은 그 명령이 예외를 발생시켰는가의 여부가 판단되기 전에 E스테이지까지 도달한다. 프로세서의 상태는 기타의 많은명령(스테이지당 4개)이 선행하는 A, D, F스테이지에서 보류되어 있어도, 그 시점에서는 완전히 정확하다. 또한 예를 들어 만일 E스테이지에서 예외를 취하고 있는 명령이 그 스테이지의 최초의 명령이라면 다시 3개의 명령이 E스테이지로 들어갈 수가 있다. 이렇게 하여 FP명령의 예외정보가 정수유닛에 전송되기까지에 FP명령의 직후의 정수명령은 E스테이지까지밖에 도달할 수 없다.
U스테이지동안에 프로세서는 FP명령이 예외를 갖는가의 여부를 판정한다. V스테이지에서는 그 예외정보가 정수유닛에 전송된다. 그 시점에서 정수유닛은 E스테이지에 있는 정수명령을 어떻게 취급하는가를 결정할 수 있다.
그 결과, FP명령이 일단 U스테이지에 도달하면 다른 명령은 프로세서의 상태를 위험에 노출시킴이 없이 디스패치할 수 있다. 비록 FP명령이 예외를 일으키드라도 새로이 디스패치된 명령은 FP예외가 인식될 때까지는 E스테이지까지 밖에 도달하지 않는다. FP명령이 예외를 취하지 않으면 프로세서는 풀(full)의 슈퍼컬러대역폭으로 새로운 명령의 처리를 시작할 수가 있다. FP명령이 예외를 일으키면, 그 예외는 E스테이지에서 신호로 되돌려진다. FP명령후의 모든 명령은 어떠한 상태에 관여하는 것도 금지되며, 그 FP명령의 예외가 정규예외가 된다. 정규예외에서 프로세서의 상태가 예외 명령 의 직전의 지점으로 되돌아갈 수 있다는 아이디어가 실제로 실행되었다.
상기와 같이 본 발명은 정규부동소수점 예외를 갖는 프로세서 시스템(100)상에서 진행하는 코드(즉 프로그램 )에 대해 디버그모드와 비디버그모드를 전환할 수가 있다. 이 선택(option)에 의해 프로세서 상의 낡은 프로그램을 진행시킨다거나, 새로운 코드의 디버그를 하는 것이 용이해진다.
제4도는 본 발명의 전환동작의 전형적인 플로차트이다.
프로세서 시스템(100)은 스텝402에 나타낸 바와 같이 통상 모드에서 정규예외없이 상승되어(즉 전원이 투입되어) 동작을 개시한다. 스텝404에 나타낸 바와 같이 프로세서는 현재의 프로그램(자동적, 또는 유저에 의해 진행된다)이 정규예외를 가지고 동작하는 디버그모드를 필요로 하는가의 여부를 결정한다. 스텝404의 결과가 NO이면 스텝406에 나타낸 바와 같이 프로세서는 디버그모드로의 전환명령을 받았는가의 여부를 판정한다. 스텝406의 결과가 NO이면 루프(408)로 도시하는 바와 같이 프로세서는 통상모드로 동작을 계속한다. 스텝404의 결과가 YES이면 프로세서는 스텝 412로 비약하여(분기410으로 도시한다), 정규예외를 가진 디버그모드동작으로 전환된다.
스텝414에서는 프로세서는 통상모드로의 전환명령을 받았는가의 여부를 판정한다. 스텝414의 결과가 YES이면 스텝415으로 나타낸 바와 같이 정규예외 없는 통상동작모드로 프로세서가 전환된다. 스텝414의 결과가 NO이면 루프(418)로 도시한 바와 같이 프로세서는 디버그모드로 동작을 계속한다. 다음에 프로세서는 분기 420으로 도시한 바와 같이 스텝406으로 비약하고, 또한 디버그모드로의 전환명령을 받았는가의 여부를 모니터한다.
바람직한 실시예에서는 디버그보드로의 출입을 전환하는 제어로직(도시하지 않음)은 마이크로코드로 취급되기보다는 하드웨어에 짜넣어져 있다. 디버그모드의 파이프라인을 일시 정지시킬 필요가 있는 로직의 설계는 본 발명의 상술한 동작 설명을 보면 당업자는 명백해 질 것이다. 역시 관련기술의 당업자에게는 명백한 바와 같이 프로세서 시스템(100)의 제어는 IU와 FPU칩상, 및 GTAG와 GCACHE RAM상의 시스템 전체에 배분된 상태 머신등의 단독 컨트롤러 또는 복수의 컨트롤러에 의해 취급된다.
[산업상의 이용가능성]
본 발명의 다양한 실시예를 상술하였으나, 이들은 예로서 든 것이며 한정하는 것은 아니다. 본 발명의 정신과 범위로부터 벗어남이 없이, 형태나 세부를 여러가지로 변경할 수 있음은 당업자로서는 자명할 것이다. 본 발명은 상술한 전형적인 실시예의 어느 것인가에 한정되는 것이 아니라, 다음의 청구범위와 그 동등물에 따라 정해진다.

Claims (4)

  1. 정규부동소수점예외 없는 통상동작모드와, 디버그동작모드로 전환할 수 있는 프로세서 시스템으로서, 정수 및 부동소수점명령을 디스패치하는 수단과, 상기 정수명령을 실행하는 멀티스테이지 정수파이프라인을 갖춘, 상기 디스패치수단에 연결된 정수유닛과, 상기 부동소수점명령을 실행하는 멀티스테이지 부동소수점 파이프라인을 갖춘, 상기 디스패치수단과 상기 정수유닛에 연결된 부동소수점유닛과, 시스템을 통상동작모드와 디버그동작모드 사이에서 전환하여, 시스템이 디버그모드에 있을 때는 부동소수점명령이 디스패치되고나서부터 시스템이 상기 부동소수점명령이 예외를 일으키는가의 여부를 판정할 때까지 명령이 처리되는 것을 방지하고, 통상모드에 있지 않을 때 시스템이 정규예외를 송신할 수 있도록 하는 상기 디스패치수단에 연결된 수단을 갖춘 프로세서 시스템.
  2. 제1항에 있어서, 상기 디스패치수단이 상기 부동소수점명령이 예외를 일으키는가의 여부를 시스템이 판정하는 것보다, 1개 이상앞의 부동소수점 파이프라인 스테이지에서 다시 명령을 디스패치하기 시작하는 프로세서 시스템.
  3. 디버그모드로 프로세서 시스템을 작동시키는 방법으로서, 정규부동소수점 예외 없는 통상모드와 디버그모드 사이에서 시스템을 전환할 수 있는 방법에 있어서, 시스템이 디버그모드로 전환했는가의 여부를 판정하는 단계와, 부동소수점명령을 디스패치하는 단계와, 시스템을 통상동작모드와 디버그동작보드 사이에서 전환하여, 시스템이 디버그모드에 있을 때는 부동소수점명령이 디스패치되고나서부터 시스템이 상기 부동소수점명령이 예외를 일으키는가의 여부를 판정할 때까지 명령이 처리되지 않도록 하고, 통상모드에 있지 않을 때 시스템이 정규예외를 송신할 수 있도록 하는 단계로 된 방법.
  4. 제3항에 있어서, 상기 부동소수점명령이 예외를 일으켰는가의 여부를 시스템이 판정하는 것보다, 1개 또는 복수 사이클전에 다시 명령을 디스패치하는 단계를 갖춘 방법.
KR1019950703428A 1993-12-15 1994-12-15 프로세서 시스템 및 디버그모드 실현방법 KR0175115B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/166,969 US5537538A (en) 1993-12-15 1993-12-15 Debug mode for a superscalar RISC processor
US08/166,969 1993-12-15
US8/166969 1993-12-15
PCT/JP1994/002110 WO1995016953A1 (fr) 1993-12-15 1994-12-15 Systeme informatique et modalites de passage en mode mise au point

Publications (2)

Publication Number Publication Date
KR960701398A KR960701398A (ko) 1996-02-24
KR0175115B1 true KR0175115B1 (ko) 1999-04-01

Family

ID=22605399

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950703428A KR0175115B1 (ko) 1993-12-15 1994-12-15 프로세서 시스템 및 디버그모드 실현방법

Country Status (9)

Country Link
US (1) US5537538A (ko)
EP (1) EP0684552B1 (ko)
JP (1) JP2843152B2 (ko)
KR (1) KR0175115B1 (ko)
CN (1) CN1084496C (ko)
DE (1) DE69428110T2 (ko)
HK (1) HK1018167A1 (ko)
TW (1) TW274595B (ko)
WO (1) WO1995016953A1 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748855A (en) * 1995-10-02 1998-05-05 Iinternational Business Machines Corporation Method and system for performance monitoring of misaligned memory accesses in a processing system
US6081885A (en) * 1996-12-20 2000-06-27 Texas Instruments Incorporated Method and apparatus for halting a processor and providing state visibility on a pipeline phase basis
US6112298A (en) * 1996-12-20 2000-08-29 Texas Instruments Incorporated Method for managing an instruction execution pipeline during debugging of a data processing system
US6065106A (en) * 1996-12-20 2000-05-16 Texas Instruments Incorporated Resuming normal execution by restoring without refetching instructions in multi-word instruction register interrupted by debug instructions loading and processing
US5878377A (en) * 1997-04-10 1999-03-02 International Business Machines Corporation Environmental and power error handling extension and analysis
US6425055B1 (en) 1999-02-24 2002-07-23 Intel Corporation Way-predicting cache memory
US6591361B1 (en) 1999-12-28 2003-07-08 International Business Machines Corporation Method and apparatus for converting data into different ordinal types
US6701424B1 (en) * 2000-04-07 2004-03-02 Nintendo Co., Ltd. Method and apparatus for efficient loading and storing of vectors
US6859862B1 (en) 2000-04-07 2005-02-22 Nintendo Co., Ltd. Method and apparatus for software management of on-chip cache
US6857061B1 (en) * 2000-04-07 2005-02-15 Nintendo Co., Ltd. Method and apparatus for obtaining a scalar value directly from a vector register
JP3855270B2 (ja) * 2003-05-29 2006-12-06 ソニー株式会社 アンテナ実装方法
US7703076B1 (en) 2003-07-30 2010-04-20 Lsi Corporation User interface software development tool and method for enhancing the sequencing of instructions within a superscalar microprocessor pipeline by displaying and manipulating instructions in the pipeline
US7200742B2 (en) 2005-02-10 2007-04-03 International Business Machines Corporation System and method for creating precise exceptions
US7711934B2 (en) * 2005-10-31 2010-05-04 Mips Technologies, Inc. Processor core and method for managing branch misprediction in an out-of-order processor pipeline
US7734901B2 (en) * 2005-10-31 2010-06-08 Mips Technologies, Inc. Processor core and method for managing program counter redirection in an out-of-order processor pipeline
US7721071B2 (en) * 2006-02-28 2010-05-18 Mips Technologies, Inc. System and method for propagating operand availability prediction bits with instructions through a pipeline in an out-of-order processor
US20070204139A1 (en) 2006-02-28 2007-08-30 Mips Technologies, Inc. Compact linked-list-based multi-threaded instruction graduation buffer
US20080016326A1 (en) 2006-07-14 2008-01-17 Mips Technologies, Inc. Latest producer tracking in an out-of-order processor, and applications thereof
US7370178B1 (en) * 2006-07-14 2008-05-06 Mips Technologies, Inc. Method for latest producer tracking in an out-of-order processor, and applications thereof
US7650465B2 (en) 2006-08-18 2010-01-19 Mips Technologies, Inc. Micro tag array having way selection bits for reducing data cache access power
US7657708B2 (en) * 2006-08-18 2010-02-02 Mips Technologies, Inc. Methods for reducing data cache access power in a processor using way selection bits
US7647475B2 (en) * 2006-09-06 2010-01-12 Mips Technologies, Inc. System for synchronizing an in-order co-processor with an out-of-order processor using a co-processor interface store data queue
US8032734B2 (en) * 2006-09-06 2011-10-04 Mips Technologies, Inc. Coprocessor load data queue for interfacing an out-of-order execution unit with an in-order coprocessor
US9946547B2 (en) 2006-09-29 2018-04-17 Arm Finance Overseas Limited Load/store unit for a processor, and applications thereof
US7594079B2 (en) 2006-09-29 2009-09-22 Mips Technologies, Inc. Data cache virtual hint way prediction, and applications thereof
US20080082793A1 (en) * 2006-09-29 2008-04-03 Mips Technologies, Inc. Detection and prevention of write-after-write hazards, and applications thereof
US8078846B2 (en) 2006-09-29 2011-12-13 Mips Technologies, Inc. Conditional move instruction formed into one decoded instruction to be graduated and another decoded instruction to be invalidated
US8555039B2 (en) * 2007-05-03 2013-10-08 Qualcomm Incorporated System and method for using a local condition code register for accelerating conditional instruction execution in a pipeline processor
CN101174200B (zh) * 2007-05-18 2010-09-08 清华大学 一种具有五级流水线结构的浮点乘加融合单元
US20100153693A1 (en) * 2008-12-17 2010-06-17 Microsoft Corporation Code execution with automated domain switching
CN104793987B (zh) * 2014-01-17 2018-08-03 中国移动通信集团公司 一种数据处理方法及装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4161026A (en) * 1977-11-22 1979-07-10 Honeywell Information Systems Inc. Hardware controlled transfers to microprogram control apparatus and return via microinstruction restart codes
US4879676A (en) * 1988-02-29 1989-11-07 Mips Computer Systems, Inc. Method and apparatus for precise floating point exceptions
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
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5150469A (en) * 1988-12-12 1992-09-22 Digital Equipment Corporation System and method for processor pipeline control by selective signal deassertion
JPH02181236A (ja) * 1989-01-05 1990-07-16 Nec Corp デバッグ装置
US5155816A (en) * 1989-02-10 1992-10-13 Intel Corporation Pipelined apparatus and method for controlled loading of floating point data in a microprocessor
JPH0314025A (ja) * 1989-06-13 1991-01-22 Nec Corp 命令実行制御方式
US5241636A (en) * 1990-02-14 1993-08-31 Intel Corporation Method for parallel instruction execution in a computer
JP2878792B2 (ja) * 1990-06-22 1999-04-05 株式会社東芝 電子計算機
US5261063A (en) * 1990-12-07 1993-11-09 Ibm Corp. Pipeline apparatus having pipeline mode eecuting instructions from plural programs and parallel mode executing instructions from one of the plural programs
USH1291H (en) * 1990-12-20 1994-02-01 Hinton Glenn J Microprocessor in which multiple instructions are executed in one clock cycle by providing separate machine bus access to a register file for different types of instructions
US5257214A (en) * 1992-06-16 1993-10-26 Hewlett-Packard Company Qualification of register file write enables using self-timed floating point exception flags
US5204829A (en) * 1992-07-10 1993-04-20 Lsi Logic Corporation Interleaving operations in a floating-point numeric processor
US5367703A (en) * 1993-01-08 1994-11-22 International Business Machines Corporation Method and system for enhanced branch history prediction accuracy in a superscalar processor system
US5305248A (en) * 1993-04-23 1994-04-19 International Business Machines Corporation Fast IEEE double precision reciprocals and square roots
US5386375A (en) * 1993-11-01 1995-01-31 Motorola, Inc. Floating point data processor and a method for performing a floating point square root operation within the data processor
US5392228A (en) * 1993-12-06 1995-02-21 Motorola, Inc. Result normalizer and method of operation

Also Published As

Publication number Publication date
CN1084496C (zh) 2002-05-08
US5537538A (en) 1996-07-16
KR960701398A (ko) 1996-02-24
TW274595B (ko) 1996-04-21
EP0684552A1 (en) 1995-11-29
HK1018167A1 (en) 1999-12-10
EP0684552A4 (en) 1996-12-04
CN1117764A (zh) 1996-02-28
DE69428110T2 (de) 2002-04-25
DE69428110D1 (de) 2001-10-04
JP2843152B2 (ja) 1999-01-06
EP0684552B1 (en) 2001-08-29
WO1995016953A1 (fr) 1995-06-22

Similar Documents

Publication Publication Date Title
KR0175115B1 (ko) 프로세서 시스템 및 디버그모드 실현방법
CA1256216A (en) Program switching with vector registers
US6499123B1 (en) Method and apparatus for debugging an integrated circuit
US5768575A (en) Semi-Autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for sepculative and out-of-order execution of complex instructions
EP0455345B1 (en) Programmable controller
US5416912A (en) System for handling exceptions occurring during parallel execution of microinstructions
US6356918B1 (en) Method and system for managing registers in a data processing system supports out-of-order and speculative instruction execution
EP0996057B1 (en) Data processor with an instruction unit having a cache and a ROM
JP6095670B2 (ja) コンピュータ・システム内のオペランド活性情報の維持
US9286072B2 (en) Using register last use infomation to perform decode-time computer instruction optimization
US4916652A (en) Dynamic multiple instruction stream multiple data multiple pipeline apparatus for floating-point single instruction stream single data architectures
US7237094B2 (en) Instruction group formation and mechanism for SMT dispatch
CA1324671C (en) Decoding multiple specifiers in a variable length instruction architecture
EP0779577B1 (en) Micoprocessor pipe control and register translation
EP0381469A2 (en) Method and data processing unit for pipeline processing of register and register modifying specifiers within the same instruction
KR20040005927A (ko) 데이터 처리장치에서의 소스 레지스터 록킹
US5768553A (en) Microprocessor using an instruction field to define DSP instructions
JPH06301535A (ja) データ処理装置
US5737562A (en) CPU pipeline having queuing stage to facilitate branch instructions
JP2710994B2 (ja) データ処理装置
US5784606A (en) Method and system in a superscalar data processing system for the efficient handling of exceptions
JP2532560B2 (ja) 高機能な例外処理を行うデ―タ処理装置
JP3547562B2 (ja) マイクロプロセッサ
JP2009181312A (ja) プロセッサ
JP2572821B2 (ja) 命令再実行による演算処理方式

Legal Events

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

Payment date: 20121023

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20131018

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20140930

Year of fee payment: 17

EXPY Expiration of term