KR910001538A - 분기명령 실행장치 및 분기명령 트레이싱방법 - Google Patents

분기명령 실행장치 및 분기명령 트레이싱방법 Download PDF

Info

Publication number
KR910001538A
KR910001538A KR1019900009050A KR900009050A KR910001538A KR 910001538 A KR910001538 A KR 910001538A KR 1019900009050 A KR1019900009050 A KR 1019900009050A KR 900009050 A KR900009050 A KR 900009050A KR 910001538 A KR910001538 A KR 910001538A
Authority
KR
South Korea
Prior art keywords
branch
instruction
signal
conditional
execution
Prior art date
Application number
KR1019900009050A
Other languages
English (en)
Other versions
KR930009756B1 (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 KR910001538A publication Critical patent/KR910001538A/ko
Application granted granted Critical
Publication of KR930009756B1 publication Critical patent/KR930009756B1/ko

Links

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
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • 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/3842Speculative instruction execution
    • G06F9/3846Speculative instruction execution using static prediction, e.g. branch taken strategy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Landscapes

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

Abstract

내용 없음

Description

분기명령 실행장치 및 분기명령 트레이싱방법
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제 1도는 본 발명의 원리설명도,
제 2도는 본 발명의 일실시예의 구성도이며, 조건분기 명령의 분기 트레이스(branch trace)의 파이프라인 처리의 설명도,
제 3도는 본 발명의 명령실행부의 블록도.

Claims (21)

  1. 파이프라인 처리에 의해서 명령을 순차 실행하는 분기 명령실행 장치에 있어서, 조건부 분기 명령을 데코드하는 수단 ; 당해 조건의 판정결과를 기다리지 않고 조건성립을 추정하여 분기선 명령의 실행유무를 지시하는 분기선 실행 플래그를 제공하는 수단 ; 및 그후 실제의 판정결과가 얻어졌을때에 상기 분기선 실행 플래그의 내용을 수정하는 수단 ;을 포함하는 것을 특징으로 하는 분기 명령 실행장치.
  2. 제 1항에 있어서, 상기 분기선 실행플래그가 디버그 예외 발생 플래그이고, 상기 분기선이 디버그루틴인 것을 특징으로 하는 분기 명령 실행장치.
  3. 파이프라인 처리에 의한 각 명령의 실행중에 분기된 명령을 순차 실행하는 분기 명령 실행장치에 있어서, 조건부 분기 명령을 데코드하는 수단 ; 당해조건의 판정결과를 기다리지 않고 상기 조건의 성립을 추정하여 분기선 명령을 실행하는 수단 ; 및 그후 실제 판정결과가 얻어진 시점에서 분기 불성립일 경우에 상기 분기선명령의 실행을 불성립일 경우에 상기 분기선명령의 실행을 취소하는 수단 ;을 포함하는 것을 특징으로 하는 분기 명령 실행장치.
  4. 메인 메모리 유니트로부터의 명령을 페치하여 그것을 해독 연산하는 분기 명령 실행 장치에 있어서, 각 명령을 해독하고 해독된 명령이 무조건 분기인 경우 ; 분기될 확율이 높은 조건분기 명령의 경유 또는 분기될 확율이 낮은 조건분기 명령인 경우에 각각 무조건 분기신호, 조건 부분기 1신호, 조건부분기 2신호를 출력하는 명령 데코드 수단 ; 및 상기 조건부 분기명령의 조건이 성립하는 경우에는 조건 성립 신호를 활성하고 조건불성립의 경우에는 조건 불성립 신호를 활성화하는 판정수단 ; 상기 분기 불성립신호가 활성화되는 경우에 분기선 명령의 실행을 취소하고 또한 상기 데코드수단으로부터 조건분기 1신호가 활성화된 경우 분기조건 성립 또는 불성립의 결과를 기다리지 않고 조건분기를 행하는 제어수단 ;을 포함하는 것을 특징으로 하는 분기 명령 실행장치.
  5. 메인메모리 유니트로부터의 명령을 페치하여 그것을 해독 연산하는 명령 해독 실행장치 ; 해독된 명령이 무조건 분기인 경우에 활성화되는 무조건 분기신호, 분기될 확율이 높은 조건 분기 명령인 경우에 활성화되는 조건 분기 1신호 또는 분기될 확율이 낮은 조건 분기 명령인 경우에 활성화되는 조건분기 2신호를 출력하는 명령 데코드 수단 ; 상기 명령 데코드수단에 의해서 어드레스 제어되어 마이크로 프로그램을 기억하는 마이크로 명령기억수단 ; 상기 마이크로 명령 기억수단으로부터의 출력에 의해서 제어를 행하는 연산수단 ; 상기 연산수단으로부터의 상태 플래그와 상기 명령 데코더 수단에서 제공되는 분기 조건코드를 사용하여 상기 마이크로 기억수단으로부터의 마이크로 지시에 따라서 상기 조건분기 명령의 조건이 성립되는 경우에는 조건성립 신호를 활성화하고, 조건이 불성립의 경우에는 조건 불성립신호를 활성화하는 판정수단 ; 상기 명령 데코드 수단으로부터의 조건 분기1신호가 활성화되어 있는 경우에 상기 판정수단으로부터의 조건성립, 불성립의 결과를 기다리지 않고 조건 분기를 행하는 분기실행 비트를 설정하고, 상기 판정수단의 판정결과로서 분기 불성립신호가 활성화되는 경우에는 상기 분기선 실행비트의 수정을 행하는 제어수단 ;을 포함하고 있는 것을 특징으로 하는 분기 명령 실행장치.
  6. 제 5항에 있어서, 데코드 스테이지(DC), 어드레스 계산 스케이지(AC), 마이크로 명령독출 스테이지(MI), 실행 스테이지(DE) 및 실행결과 기입 스테이지(OW)로 되는 파이프라인 동작에 있어서, 상기 조건분기 2신호가 활성화되어 있는 경우에는 그 이전의 명령의 실행 스테이지에서 실행되는 연산부의 실행결과로서 생기는 상태 플래그의 생성을 보고 분기할 것인가 여부의 판정을 행하고, 분기하는 경우에는 조건 분기 2신호를 발생한 분기명령에 뒤이은 명령을 취소하고, 상기 조건분기 1신호가 활성화되어 있는 경우에는 조건분기 1명령의 분기선 어드레스 계산의 어드레스 계산 스테이지 직후에 분기선 명령을 선취하여 분기선 명령의 데코드 스테이지로 들어가고 실행 스테이지에 실행되는 연산부의 실행결과로서 생기는 상태플래그의 생성을 보고 분기 할 것인지 여부를 판정하고, 분기하는 경우에는 그대로 분기선 명령의 파이프라인 동작을 실행하고, 분기하지 않는 경우에는 분기선 명령을 취소하고 그 기입스테이지에 뒤이은 데코드 스테이지로부터 조건분기 1신호를 생성하는 조건분기 명령에 뒤이은 데코드 스테이지로 들어가는 것을 특징으로 하는 분기 명령 실행장치.
  7. 제 5항에 있어서, 상기 명령 데코드수단은 명령 선취 요구를 행하는 명령선취 요구회로 ; 조건분기 명령의 비분기측 명령열과 분기측 명령열을 각각 기억하는 2개의 영역을 갖고 있으며, 상기 설취 요구회로로부터의 명령선취 요구신호가 명령캐슈에 제공되고 그것에 대한 응답신호가 출력된 경우에 상기 명령캐슈에서 명령을 선취하여 기입하고 또 기입한 명령을 독출하는 동작을 실행하는 명령 선취 버퍼 ; 상기 명령 선취 버퍼로부터 독출되는 명령코드를 데코드하는 데코드수단 ; 상기 데코드수단으로부터 무조건 분기 명령인 경우에 활성화되는 모조건 분기명령 신호, 분기확율이 높은 경우에 활성화되는 조건분기 명령 1신호, 분기 확율이 낮은 경우에 활성화되는 조건분기 명령 2신호를 입력하고 상기 명령선취 버퍼의 라이트 포인터나 리드포인터의 값을 변화시키는 제어를 행하고 또 조건분기의 성립 불성립을 제어하는 판정회로로부터 보내오는 조건분기 성립신호와 조건분기 불성립신호의 입력에 의해서 상기 변화된 라이트 포인터 도는 리드포인의 값을 소정시간 후에 재차변화시키는 명령선취버퍼 제어수단 ; 상기 명령 선취버퍼의 제1 및 제2의 영역에 명령을 분배하기 위하여 가입어드레스를 생성 또는 세이브하는 라이트포인터 수단 ; 및 상기 명령 선취버퍼의 제1 및 제2의 영역으로부터 명령을 분배하는 독출어드레스를 생성 또는 세이브하는 리드포인트 수단을 포함하는 것을 특징으로 하는 분기 명령 실행장치.
  8. 제 7항에 있어서, 상기 명령 데코드수단이 무조건 분기를 데코드한 경우에는 라이트 포인터, 리드포인터의 기억용 레지스터의 엔트리번호부를 모두 영(0)으로 하여 WS=RS이 되도록 사이드 지정비트를 초기화 하는 수단과 리드포인터 기억용 레지스터의 엔트리내 옵세트부에 실행부에서 분기 어드레스 계산결과가 해당되는 하위부를 뽑아내어 세트하는 수단을 갖고 상기 명령 선취 버퍼의 한쪽 영역에 대해서 리드, 라이트를 행하는 것을 특징으로 하는 분기 명령 실행장치.
  9. 제 7항에 있어서, 상기 명령 데코드수단이 분기확율이 높은 명령인 조건분기신호를 데코드한 경우에는 라이트포인터, 리드포인터 기억용 레지스터의 엔트리번호부를 모두 영(0)으로 하여 WS/RS모두 반전(역 사이드)하는 수단과 리드 포인터의 엔트리내 옵세스부에 실행부로부터 분기어드레스 계산결과가 해당되는 하위부를 뽑아내어 세트하는 수단과 그 이전의 라이트 포인터, 리드포인터의 값을 각각 라이트 포인터와 리드포인터 기억용 레지스터에 세이브하는 수단과 이 상태에서 명령선취 버퍼의 역사이드에 분기선 명령을 선취하고 독출하여 실행하는 수단과 그후에 분기판정 결과에 의해서 분기조건 성립의 경우에는 그대로 계속하고 분기조건 불성립의 경우에는 명령실행을 취소하고 라이트 포인터, 리드포인터 기억용 레지스터에 각각 라이트포인터와 리드포인터 세이브용 레지스터에 세이브하고 있던 값을 되돌리고 또 WS/FS모두를 반전하고 명령 선취버퍼의 어드레스는 비분기측으로 되돌리는 수단을 갖는 것을 특징으로 하는 분기 명령 실행장치.
  10. 제 7항에 있어서, 상기 명령 데코드수단이 분기확율이 낮은 명령인 조건분기 2를 데코드한 경우에는 라이트포인터의 값을 라이트포인터 세이브용 레지스터에 세이브하고 라이트 포인터 기억용 레지스터의 엔트리번호부를 영(0)으로 하고 WS를 발전하는 수단과, 리드포인터는 그대로 하는 수단과 그후에 분기판정결과에 의해서 분기 조건성립의 경우에는 명령실행을 취소하고 리드포인터 기억용 레지스터의 엔트리부를 영(0)으로 하고 옵세트부에 분기어드레스의 하위측을 로드하고 RS를 반전하도록 제어하는 수단과 분기 조건 불성립의 경우에는 명령버퍼의 독출, 데코드실행은 그대로 계속하는 수단과 라이트포인터 기억용 레지스터에 라이트 포인터 2세이브용 레지스터에 세이브되어 있던 값을 되돌리고 WS를 반전하는 수단을 갖는 것을 특징으로 하는 분기 명령 실행장치.
  11. 제 7항에 있어서, 상기 명령 선취 버퍼 제어수단은 무조건 분기, 조건분기1, 조건분기2, 분기조건 불성립 분기조건 성립 신호들을 입력하고 무조건 분기신호가 활성화되는 경우에는 라이트포인터, 리드포인터 모두를 클레어하고 조건분기 1이 활성화된 경우에는 라이트 포인터를 세이브용 레지스터에 세트하는 인에이블신호 및 역사이드로 옮기는 제어신호를 형성하고 리드포인터 세이브용 레지스터에 세트하는 인에이블신호 및 역사이드로 옮기는 제어신호를 형성하고 조건분기 1신호가 데코드되고 나서 분기 조건성립, 불성립신호중 어느 것이 입력되도록까지 세트되어 있는 플립플롭에 의해서 조건 분기 1의 실행을 판단하고 분기조건 불성립의 경우에는 리드포인터 및 라이드 포인터를 세이브상태로부터 원래대로 되돌리고 분기 명령에 뒤이은 명령의 선취, 데코드를 재개하고 조건분기 신호2가 활성화되어 있는 경우에는 라이트포인터를 세이브용 레지스터에 세트하는 인에이블 신호 및 역사이드로 옮기는 제어신호를 형성하고 분기신호 불성립이 활성화된 경우에는 세이브 상태로부터 원래대로 라이트포인터를 되돌리고 원래의 분기명령에 뒤이은 명령의 라이트를 실행하는 제어신호를 발생하고 분기 조건 성립신호가 활성화된 경우에는 리드포인터를 역사이드로 옮기는 제어신호를 발생하는 것을 특징으로 하는 분기 명령 실행장치.
  12. 제 5항에 있어서, 상기 분기선 명령 실행비트로 구동되는 처리는 디버그루틴인 것을 특징으로 하는 분기 명령 실행장치.
  13. 제 12항에 있어서, 상기 분기명령으로서 디버그루틴으로 점프한 경우에 이 디버그루틴이 특권모드로 실행되는 것을 특징으로 하는 분기 명령 실행장치.
  14. 제 5항에 있어서, 상기 조건분기 1신호를 발생한 조건분기 명령은 DO LOOP인 것을 특징으로 하는 분기 명령 실행장치.
  15. 제 14항에 있어서, 상기 DO LOOP는 카운트 갱신과 동일 실행 스테이지에 DO LOOP로부터 벗어나기 위한 리미트치와의 비교를 행함으로써 실행되는 것을 특징으로 하는 분기 명령 실행장치.
  16. 제 14항에 있어서, 상기 DO LOOP는 DO LOOP의 카운트 갱신을 행하는 제 1실행 스테이지와 그 DL LOOP로부터 벗어나기 위한 리미트치와의 비교를 행하는 제 2실행 스테이즈로 실행하는 것을 특징으로 하는 분기 명령 실행장치.
  17. 제 5항에 있어서, 상기 판정수단이 연산부에서 출력되는 상태 플래그를 마이크로 지시에 의한 상태 플래그생성조건에 의해서 유효하게 하느냐 결정하는 수단과, 유효로 된 상태플래그를 조건분기명령의 분기조건코드에 의해서 상기 조건의 성립 또는 불성립을 결정하는 수단을 갖는 것을 특징으로 하는 분기 명령 실행장치.
  18. 제 5항에 있어서, 상기 명령 해독 실행 장치는 1칩의 CPU내에 설비되고 디버그루틴을 격납하는 메모리도 이 CPU내에 설비된 것을 특징으로 하는 분기 명령 실행장치.
  19. 제 5항에 있어서, 상기 명령 데코드수단을 과거에 분기조건이 성립된 분기명령의 명령어드레스를 등록하는 복수의 분기명령 어드레스 기억부와, 상기 분기 명령 어드레스에 대한 분기선 명령을 등록하는 분기선 명령 버퍼수단과, 현재의 프로그램 카운터치와 상기 분기 명령 어드레스 기억부에 기억되어 있는 복수의 분기명령 어드레스를 각각 비교하는 비교수단과, 상기 비교수단의 비교결과 프로그램 카운터의 값이 분기명령 어드레스중 어느것과 일치된 경우에는 일치된 분기명령 어드레스에 대응하는 분기선 명령을 상기 분기선 명령버퍼로부터 독출된 데코더에 제공하고 또 동시에 분기확율이 높은 명령을 나타내는 조건분기 1신호를 활성화하여 프로그램 카운터의 값이 상기 분기 명령 어드레스 기억부의 어느 어드레스에도 일치되지 않는 경우에는 명령선취의 버퍼의 명령을 상기 명령 데코더에 제공하고 분기확율이 낮은 명령을 나타낸 조건 분기 2신호를 활성화하는 제어를 행하는 분기 예측수단을 갖는 것을 특징으로 하는 분기 명령 실행장치.
  20. 파이프라인 처리에 의한 각 명령어의 실행중에 분기된 명령어를 순차 트레이스 하는 방법에 있어서 조건부 분기 명령이 데코드된 경우에 당해 조건의 판정결과를 기다리지 않고 즉시 조건성립을 추정하여 디버그 예의 발생비트를 설정하고 그 후에 실제의 판정 결과가 나온 시점에서 디버그 예외 발생비트의 내용을 수정하는 것을 특징으로 하는 분기명령 트레이스 방법.
  21. 파이프라인 처리에 의한 각 명령어의 실행중에 분기된 명령어를 순차 트레이스 하는 방법에 있어서, 조건부 분기 명령이 데코드된 경우에 당해 조건의 판정결과를 기다리지 않고 즉시 조건성립을 추정하여 분기선 명령을 실행하고 그 후에 실제의 판정 결과가 나온 시점에서 만약 분기불성립의 경우에는 상기 분기선 명령의 실행을 취소하는 것을 특징으로 하는 분기 명령 실행장치.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019900009050A 1989-06-20 1990-06-20 분기명령 실행장치 및 분기명령 트레이싱방법 KR930009756B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP15790489 1989-06-20
JP1-157904 1989-06-20

Publications (2)

Publication Number Publication Date
KR910001538A true KR910001538A (ko) 1991-01-31
KR930009756B1 KR930009756B1 (ko) 1993-10-09

Family

ID=15659980

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900009050A KR930009756B1 (ko) 1989-06-20 1990-06-20 분기명령 실행장치 및 분기명령 트레이싱방법

Country Status (4)

Country Link
US (1) US5715440A (ko)
EP (1) EP0404068A3 (ko)
JP (1) JPH0795271B2 (ko)
KR (1) KR930009756B1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0528002A (ja) * 1991-07-24 1993-02-05 Nec Corp マイクロプロセツサ
JP3494489B2 (ja) * 1994-11-30 2004-02-09 株式会社ルネサステクノロジ 命令処理装置
JP3699518B2 (ja) * 1995-01-26 2005-09-28 サン マイクロシステムズ インコーポレイテッド パイプライン・プロセッサ内において、誤って予測された実行分岐後にアネックス内のヤング・ビットを回復する方法及び装置
US6026236A (en) * 1995-03-08 2000-02-15 International Business Machines Corporation System and method for enabling software monitoring in a computer system
TW470915B (en) * 1996-03-12 2002-01-01 Matsushita Electric Ind Co Ltd Optimization apparatus which removes transfer instructions by a global analysis of equivalence relations
JP3203180B2 (ja) * 1996-03-27 2001-08-27 三菱電機株式会社 幾何学演算装置
US6119221A (en) * 1996-11-01 2000-09-12 Matsushita Electric Industrial Co., Ltd. Instruction prefetching apparatus and instruction prefetching method for processing in a processor
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
US6052753A (en) * 1997-01-21 2000-04-18 Alliedsignal Inc. Fault tolerant data bus
US5838962A (en) * 1997-04-09 1998-11-17 Hewlett-Packard Company Interrupt driven dynamic adjustment of branch predictions
US6122729A (en) * 1997-05-13 2000-09-19 Advanced Micro Devices, Inc. Prefetch buffer which stores a pointer indicating an initial predecode position
US6553564B1 (en) * 1997-12-12 2003-04-22 International Business Machines Corporation Process and system for merging trace data for primarily interpreted methods
EP0992907B1 (en) * 1998-10-06 2005-09-28 Texas Instruments Inc. Trace fifo management
US7206877B1 (en) 1998-12-22 2007-04-17 Honeywell International Inc. Fault tolerant data communication network
GB2365546B (en) 1999-12-23 2004-02-18 St Microelectronics Sa A computer system with two debug watch modes
GB2362968B (en) 1999-12-23 2003-12-10 St Microelectronics Sa Computer system with debug facility
GB2362730B (en) 1999-12-23 2004-02-11 St Microelectronics Sa Computer register watch
GB2366006B (en) * 1999-12-23 2004-06-30 St Microelectronics Sa A computer system with debug facility
GB2362729B (en) 1999-12-23 2004-02-11 St Microelectronics Sa Memory access debug facility
US6842811B2 (en) * 2000-02-24 2005-01-11 Pts Corporation Methods and apparatus for scalable array processor interrupt detection and response
US7350110B2 (en) * 2002-01-14 2008-03-25 International Business Machines Corporation Method and system using hardware assistance for continuance of trap mode during or after interruption sequences
US8959500B2 (en) * 2006-12-11 2015-02-17 Nytell Software LLC Pipelined processor and compiler/scheduler for variable number branch delay slots
JP5082716B2 (ja) * 2007-09-20 2012-11-28 富士通セミコンダクター株式会社 プログラム変換装置、プログラム変換方法およびプログラム変換プログラム
GB2481385B (en) * 2010-06-21 2018-08-15 Advanced Risc Mach Ltd Tracing speculatively executed instructions
GB2487355B (en) 2011-01-13 2020-03-25 Advanced Risc Mach Ltd Processing apparatus, trace unit and diagnostic apparatus
US9489284B2 (en) 2012-02-29 2016-11-08 Freescale Semiconductor, Inc. Debugging method and computer program product
US10802828B1 (en) 2018-09-27 2020-10-13 Amazon Technologies, Inc. Instruction memory

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS518841A (ja) * 1974-07-09 1976-01-24 Hitachi Ltd Bunkimeireiseigyohoshiki
US4200927A (en) * 1978-01-03 1980-04-29 International Business Machines Corporation Multi-instruction stream branch processing mechanism
US4338661A (en) * 1979-05-21 1982-07-06 Motorola, Inc. Conditional branch unit for microprogrammed data processor
JPS57153342A (en) * 1981-03-19 1982-09-21 Mitsubishi Electric Corp Pipeline computer
US4477872A (en) * 1982-01-15 1984-10-16 International Business Machines Corporation Decode history table for conditional branch instructions
EP0109655B1 (en) * 1982-11-17 1991-07-24 Nec Corporation Instruction prefetching device with prediction of a branch destination address
JPS59223850A (ja) * 1983-06-03 1984-12-15 Fuji Electric Co Ltd 命令先読み制御方式
JPH0752390B2 (ja) * 1985-05-07 1995-06-05 株式会社日立製作所 命令処理装置
US4777587A (en) * 1985-08-30 1988-10-11 Advanced Micro Devices, Inc. System for processing single-cycle branch instruction in a pipeline having relative, absolute, indirect and trap addresses
JPS6255738A (ja) * 1985-09-04 1987-03-11 Hitachi Ltd プログラムカウンタトレ−ス機構をもつデ−タ処理装置
EP0258453B1 (en) * 1986-02-28 1993-05-19 Nec Corporation Instruction prefetch control apparatus
JPS63245525A (ja) * 1987-03-31 1988-10-12 Toshiba Corp マイクロプログラム処理装置
JPH0195331A (ja) * 1987-10-08 1989-04-13 Fujitsu Ltd パイプライン処理システム
US4943908A (en) * 1987-12-02 1990-07-24 International Business Machines Corporation Multiple branch analyzer for prefetching cache lines
GB8728493D0 (en) * 1987-12-05 1988-01-13 Int Computers Ltd Jump prediction
US5129087A (en) * 1988-02-03 1992-07-07 International Business Machines, Corp. Computer system and a method of monitoring transient data structures in a computer system
US4974155A (en) * 1988-08-15 1990-11-27 Evans & Sutherland Computer Corp. Variable delay branch system
US5142634A (en) * 1989-02-03 1992-08-25 Digital Equipment Corporation Branch prediction
US5072364A (en) * 1989-05-24 1991-12-10 Tandem Computers Incorporated Method and apparatus for recovering from an incorrect branch prediction in a processor that executes a family of instructions in parallel
US5136697A (en) * 1989-06-06 1992-08-04 Advanced Micro Devices, Inc. System for reducing delay for execution subsequent to correctly predicted branch instruction using fetch information stored with each block of instructions in cache
US5265213A (en) * 1990-12-10 1993-11-23 Intel Corporation Pipeline system for executing predicted branch target instruction in a cycle concurrently with the execution of branch instruction

Also Published As

Publication number Publication date
US5715440A (en) 1998-02-03
JPH03129441A (ja) 1991-06-03
EP0404068A2 (en) 1990-12-27
JPH0795271B2 (ja) 1995-10-11
KR930009756B1 (ko) 1993-10-09
EP0404068A3 (en) 1991-12-27

Similar Documents

Publication Publication Date Title
KR910001538A (ko) 분기명령 실행장치 및 분기명령 트레이싱방법
US5692169A (en) Method and system for deferring exceptions generated during speculative execution
US4742466A (en) System for measuring path coverage represented by the degree of passage of execution paths in a program
US6611909B1 (en) Method and apparatus for dynamically translating program instructions to microcode instructions
KR870000643A (ko) 쌍방향성 분기 예상 및 최적화방법 및 장치
KR950007881B1 (ko) 데이터 처리장치
US5522084A (en) Method and system for invalidating instructions utilizing validity and write delay flags in parallel processing apparatus
US8250344B2 (en) Methods and apparatus for dynamic prediction by software
US5850551A (en) Compiler and processor for processing loops at high speed
US5469552A (en) Pipelined data processor having combined operand fetch and execution stage to reduce number of pipeline stages and penalty associated with branch instructions
KR880001418B1 (ko) 데이터 처리장치
US20030084272A1 (en) Handling problematic events in a data processing apparatus
JP2008299729A (ja) プロセッサ
JPH05216721A (ja) 電子計算機
KR900010552A (ko) 명령을 페치(fetch)하기 위한 제어 시스템
KR970011209B1 (ko) 실행된 명령 스트림을 추적하기 위해 사용되는 신호를 발생하기 위한 회로를 포함하는 마이크로프로세서
JP2581565B2 (ja) ガード付命令を実行するデータ処理装置
JP2503223B2 (ja) 先行制御方式
JP2835179B2 (ja) 並列処理計算機
JPH0774992B2 (ja) データ処理装置
KR100515039B1 (ko) 조건부 명령어를 고려한 파이프라인 상태 표시 회로
JPS6395539A (ja) パイプライン処理方式
JPH03164945A (ja) データ処理装置
JPH04359325A (ja) 集積回路マイクロプロセッサのレジスタ・トレース機構
JPH0769800B2 (ja) データ処理装置

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
LAPS Lapse due to unpaid annual fee