KR20040016829A - 파이프라인식 프로세서에서의 예외 취급 방법, 장치 및시스템 - Google Patents
파이프라인식 프로세서에서의 예외 취급 방법, 장치 및시스템 Download PDFInfo
- Publication number
- KR20040016829A KR20040016829A KR10-2003-7007849A KR20037007849A KR20040016829A KR 20040016829 A KR20040016829 A KR 20040016829A KR 20037007849 A KR20037007849 A KR 20037007849A KR 20040016829 A KR20040016829 A KR 20040016829A
- Authority
- KR
- South Korea
- Prior art keywords
- exception
- pipeline
- stage
- execution
- instruction
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 12
- 230000001902 propagating effect Effects 0.000 claims description 12
- 230000000644 propagated effect Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 8
- 238000012797 qualification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3865—Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
본 발명의 일 실시예에 있어서, 프로그램 가능한 처리기는 실행 파이프라인 및 예외 파이프라인을 포함한다. 실행 파이프라인은 명령어를 처리하는 다중 스테이지의 실행 파이프라인일 수 있다. 예외 파이프라인은 상기 명령어 실행의 결과로부터 발생하는 예외를 전파하는 다중 스테이지의 예외 파이프라인일 수 있다. 제1 예외 파이프라인은 동일수의 스테이지를 가질 수 있고, 동일한 클록 사이클로 작동할 수 있다. 명령어가 실행 파이프라인의 스테이지로부터 실행 파이프라인의 최종 스테이지로 전송되는 경우, 예외도 이와 유사하게 예외 파이프라인의 대응 스테이지로부터 예외 파이프라인의 대응 최종 스테이지로 전송된다.
Description
본 발명은 프로세서에서의 예외 처리(exception handling)에 관한 것이다.
프로그램 가능한 마이크로프로세서, 예컨대 디지털 신호 처리기는 통상적으로 명령어를 처리하는 중에 겪게 될 수 있는 오류를 처리하기 위한 예외 처리 하드웨어를 포함한다. 예를 들면, 디지털 신호 처리기는 위법(違法: illegal) 명령어(지지받지 못하는 opcode), 오정렬 명령어, 메모리의 보호 영역에 액세스하는 명령어, 위법 메모리 어드레스, 버스 오류 등을 겪을 수 있다.
이러한 오류가 검출된 경우, 예외 핸들러 하드웨어는 통상적으로 오류 상태에 응답하기 위한 대응 소프트웨어 루틴[흔히 오류 핸들러(error handler)라고 칭함]을 호출한다.
도 1은 본 발명의 일 실시예에 따라 구성된 프로그램 가능한 처리기의 일례를 도시하는 블록도.
도 2는 프로그램 가능한 처리기의 일례의 실행 파이프라인을 도시하는 블록도.
도 3은 본 발명의 일 실시예에 따른 예외 파이프라인의 회로도.
도 4는 본 발명의 일 실시예에 따른 실행 파이프라인의 다른 회로도.
도 1은 본 발명의 일 실시예에 따른, 예외 신호를 처리하도록 적응된 프로그램 가능한 처리기의 일례를 도시하는 블록도이다. 처리기(2)는 실행 파이프라인(4), 예외 파이프라인(5) 및 제어 유닛(6)을 포함한다.
실행 파이프라인(4)은 하나 이상의 명령어를 동시에 처리하기 위한 복수의 파이프라인 스테이지를 갖는다. 명령어는 실행 파이프라인(4)의 제1 스테이지에 로드되고 후속 스테이지를 통하여 처리된다. 데이터는 시스템의 한 사이클중에 실행 파이프라인(4)의 스테이지들간에 전송한다. 명령어의 결과는 실행 파이프라인(4)의 끝에서 연속해서 빠르게 발현된다.
제어 유닛(6)은 시스템 클록에 따라 실행 파이프라인(4)을 통하여 명령어 및/또는 데이터의 흐름을 제어한다. 예를 들면, 제어 유닛(6)은 명령어를 처리하는 중에 명령어를 디코드하고 대응 연산, 예를 들어 그 결과를 메모리에 재기록하는 연산을 정확히 수행하도록 실행 파이프라인(4)의 각종 구성 요소에 지시한다.
실행 파이프라인(4)의 여러 스테이지는 오류 상태인 경우에 하나 또는 그 이상의 예외 신호(17)를 발생하며, 예외 신호(17)는 특정 오류 상태를 나타내는 예외 부호의 형태이다. 예외 파이프라인(5)은 실행 파이프라인(4)으로부터 예외 신호를 수신하고 오류 상태를 야기시키는데 책임이 있는 명령어와 동조하여 예외 신호를 전파하기 위한 복수의 파이프라인 스테이지를 갖는다. 이하에 상세히 설명되는 바와 같이, 예외 파이프라인(5)은 실행 파이프라인(4)과 "인터로크(interlock)"되어,예외 파이프라인(5)을 통과하는 예외 신호가 실행 파이프라인(4)을 통과하는 명령어와의 동조를 유지하는 것을 보장한다. 예를 들면, 실행 파이프라인(4)에서 스톨(stall) 상태가 발생한 경우, 예외 파이프라인(5)은 동수의 사이클에서 스톨링한다.
도 2는 본 발명의 일 실시예에 따른 프로그램 가능한 처리기에서의 실행 파이프라인을 도시하는 블록도이다. 제어 유닛(6)은 실행 파이프라인(4)를 통하여 명령어 및 데이터의 흐름을 제어하기 위해 제어 신호(18)를 제공한다.
실행 파이프라인(4)은, 예를 들어 5 개의 스테이지, 즉 명령어 인출(IF), 명령어 디코드(DEC), 어드레스 계산(AC), 실행(EX) 및 재기록(WB)을 가질 수 있다. 명령어는 제1 스테이지(IF)중에 인출 유닛(11)에 의해, 예를 들어 메인 메모리(8)와 같은 메모리 장치 또는 명령어 캐시로부터 인출되고, 제2 스테이지(DEC)중에 명령어 디코드 유닛(12)에 의해 디코드된다. 다음의 클록 사이클에서, 그 결과가 제3 스테이지(AC)로 전송되며, 여기서 데이터 어드레스 생성기(13)는 소정의 메모리 어드레스를 계산하여 연산을 수행한다.
실행 스테이지(EX)중에, 실행 유닛(15)은, 예를 들어 두 개의 수를 가산 또는 승산하는 것과 같은, 명령어에 의해 지정된 하나 또는 그 이상의 연산을 수행한다. 실행 유닛(15)은 예를 들어 하나 또는 그 이상의 산술 논리 연산 장치(ALU), 부동 소수점 처리 장치(FPU) 및 배럴 시프터(barrel shifter)를 포함하는, 연산 수행용 전용 하드웨어를 포함하여도 좋다. 여러 가지 데이터, 예컨대 데이터 어드레스 생성기(13)에 의해 생성된 어드레스, 메모리로부터 검색된 데이터 또는 데이터레지스터(14)로부터 검색된 데이터가 실행 유닛(15)에 공급된다. 최종 스테이지(WB)중에, 재기록 유닛(16)은 소정의 결과를 데이터 메모리 또는 데이터 레지스터(14)에 재기록한다.
실행 파이프라인(4)의 스테이지는 현(現) 스테이지의 소정의 결과를 저장하기 위한 기억 회로, 예컨대 파이프라인 레지스터(19)를 포함한다. 스테이지 레지스터(19)는 통상적으로 시스템 클록에 따라 그 결과를 래치한다. 스테이지 레지스터(19)는 하나 또는 그 이상의 스톨 신호를 포함하는 제어 신호(18)를 수신하고, 이 스톨 신호는, 스테이지 레지스터(19)가 이전(以前)의 스테이지로부터의 결과를 래치할 것인지 여부를 제어한다. 이와 같이 하여, 제어 유닛(6)은 실행 파이프라인(4)의 하나 또는 그 이상의 스테이지를 동기적으로 스톨링한다. 이하에 상세히 설명되는 바와 같이, 예외 파이프라인(5)(도 1 참조)도 제어 신호(18)를 수신하여 실행 파이프라인(4)과 동기적으로 스톨링한다.
실행 파이프라인(4)의 여러 스테이지는, 오류 상태가 대응 스테이지 내에서 검출되었음을 지시하는 하나 또는 그 이상의 예외 신호(EXPS)를 발생한다. 예를 들면, 인출 유닛(11)은 오정렬 명령어를 겪는 경우 예외 신호(17) 중 하나의 예외 신호를 제공한다. 명령어 디코드 유닛(12)은 지지받지 못하는(위법의) 명령어 opcode를 디코드하는 경우 예외 신호(17)를 제공한다. 데이터 어드레스 생성기(13)는 위법 메모리 어드레스를 컴퓨팅(computing)하는 경우 예외 신호(17)를 제공한다. 실행 유닛(15)은 연산의 결과로서 오류 상태, 예컨대 오버플로우(overflow) 상태가 발생하는 경우 예외 신호(17)를 제공한다. 재기록 유닛(16)은 명령어가 결과를 메모리의 보호 영역에 기록하려고 시도하는 경우 예외 신호(17)를 제공한다. 이들 오류들은 예시적인 용도로만 열거되고 명령어를 실행하는 동안 발생할 수 있는 하위세트의 오류만을 나타낸다.
도 3은 복수의 스테이지를 갖는 일례의 예외 파이프라인(5)을 도시하는 블록도이다. 예외 파이프라인(5)은, 예를 들어 명령어 인출(IF) 스테이지, 디코드(DEC) 스테이지, 어드레스 계산(AC) 스테이지, 실행(EX) 스테이지 및 재기록(WB) 스테이지를 가질 수 있다. 예외 파이프라인(5)의 각 스테이지는 실행 파이프라인(4)의 대응 스테이지로부터 하나 또는 그 이상의 예외 신호(17)를 수신하다. 예를 들면, 예외 파이프라인(5)의 IF 스테이지는 M 개의 예외 신호(17A) 중 하나 또는 그 이상의 예외 신호를 수신한다. 각 예외 신호(17)는 N 비트의 예외 부호로 나타내어진다. 따라서, 파이프라인 레지스터(32)는 N 비트를 병렬로 저장할 수 있다.
예외 파이프라인(5)의 각 스테이지는 후속 스테이지로 전송될 최상위 우선권의 예외 신호를 선택하기 위한 예외 선택 유닛(31)을 포함한다. 예를 들면, 명령어 인출 선택 유닛(31A)은 예외 파이프라인(5)의 IF 스테이지에서 발생하는 M 개의 예외 신호 중 하나의 예외 신호를 선택한다. 선택된 IF 예외 신호는 다음의 클록 사이클에서 스테이지 레지스터(32A)에 저장된다.
디코드 선택 유닛(31B)은 여러 예외 신호의 우선권에 따라서 (1) 실행 파이프라인(4)의 디코드 스테이지중에 발생하는 M 개의 예외 신호(17B) 중 하나의 예외 신호, 또는 (2) 예외 파이프라인(5)의 IF 스테이지로부터 전파되는 스테이지 레지스터(32A)에 저장되어 있는 예외 신호 중 어느 하나의 예외 신호를 선택한다. 디코드 선택 유닛(31B)은 선택된 예외 신호를 파이프라인 스테이지 레지스터(32B)에 저장한다.
이와 같이 하여, 예외 신호는 실행 파이프라인(4)을 통하여 전파되는 여러 가지 명령어에 동기하여 예외 파이프라인(5)의 여러 스테이지를 통하여 전파된다. 명령어가 실행 파이프라인(4)의 재기록 스테이지중에 행해지는 경우, 대응 예외 신호는, 대응 오류 취급 소프트웨어 루틴을 호출하는 제어 유닛(6) 및 예외 핸들러(8)가 사용하기 위해서 예외 파이프라인(5)으로부터 EXC_CODE 출력으로 발현한다. 일 실시예에 있어서, 예외 신호를 제공하는 처리는 몇 개의 스테이지를 개시한 후 예외 신호가 WB 스테이지로부터 발현되며, 적절한 제공 루틴이 호출된다.
도 4는 도 3에 도시된 여러 스테이지를 통하여 예외 신호의 흐름을 제어하기 위한 예외 파이프라인(5)의 회로(35)를 도시하는 블록도이다. 이하 상세히 설명되는 바와 같이, 회로(35)는 일련의 플립 플롭(36A∼36D)을 통하여 하나 또는 그 이상의 예외 요구를 전파하며, 이 예외 요구는 도 3의 예외 파이프라인(5) 내에서 전파되는 예외 부호에 상당한다.
예외 요구는 실행 파이프라인(4)을 통한 명령어의 흐름을 제어하는 동일한 제어 신호(18)에 의한 회로(35)를 통한 전파로서 자격을 취득한다. 예를 들면, 제1 인출 예외 신호는 두 개의 신호, 즉 (1) 대응 명령어가 명령어 흐름의 변경에 기인하여 WB 스테이지에서 행해지지 않을 것인지 여부를 지시하는 "킬(kill)" 신호와, (2) 대응 명령어가 실행 파이프라인(4)에 스톨링되었음을 지시하는 "스톨" 신호로서 자격을 취득한다. 이들 상태들이 존재하지 않는 경우, 플립 플롭(36A)이 인출예외 신호를 래치한다. 그러나, 스톨 상태의 경우, 플립 플롭(36A)의 출력은 피드백되고 멀티플렉서에 의해 선택되어 다음 클록 사이클에서 래치된다. 이와 같이 하여, 예외 요구는 실행 파이프라인(4)을 통한 명령어 흐름과 인터로크된다.
마찬가지로, 디코드 스테이지에서 발생한 예외 요구는 플립 플롭(36A)의 출력과 함께 OR 처리되어, 결합된 디코드 예외 요구를 생성하며, 이 결합된 디코드 예외 요구도 마찬가지로 킬 상태 신호 및 스톨 상태 신호로서 자격을 취득한다. 이와 같이 하여, 예외 요구 신호는 소정의 스테이지에서 회로(35)에 인입되고 대응 명령어가 실행 파이프라인(4) 내에서 종료(kill)되지 않으면 플립 플롭(36D)으로 전파된다. 이 경우, 예외 요구는 덮어쓰여져서 회로(35)로부터 제거된다.
플립 플롭(36D)의 출력은 다시 재기록 스테이지에 대해 스톨링되지 않고 종료되지 않았다고 자격을 취득한다. 회로(35)의 출력은 예외 핸들러(8)가 수신하는 EXCEPTION_REQ 신호(19)이다. 응답에 있어서, 예외 핸들러(8)는 도 3의 예외 파이프라인(5)이 공급하는 현 예외 부호에 기초하여 대응 예외 처리 소프트웨어 루틴을 호출한다.
도 4에 도시되어 있지 않지만, 입력 예외 신호는 명령어 유효 신호에 의해 미리 자격을 취득하여 예외 신호가 "유효" 명령어, 즉 처리기(2)의 명령어 세트에 의해 지지받는 명령어와 연계된다. 그러나, 다른 예외 신호와는 달리, 인출 예외 신호는 유효 명령어 신호에 의해 자격을 취득하지 못한다. 이것은 IF 스테이지중에 발생한 예외 신호가 유효 명령어가 인출되었는지 여부에 상관없이 정확히 제공된다. 그러나, 대응 명령어가 실행 파이프라인(4)을 통해 전파될 때의 대응 명령어는유효 명령어로서 표시된다.
본 발명의 여러 실시예에 관하여 설명하였다. 예를 들면, 예외 요구를 전파하기 위한 예외 파이프라인을 갖는 처리기에 관하여 설명하였다. 처리기는 범용 컴퓨팅 시스템, 디지털 처리 시스템, 랩탑 컴퓨터, 개인 휴대 정보 단말기(PDA) 및 휴대폰을 포함하는 여러 가지 시스템으로 구현될 수 있다. 이러한 시스템에 있어서, 처리기는 메모리 장치, 예컨대 플래시(Flash) 메모리 장치 또는 SRAM(Static Random Access Memory)에 연결될 수 있으며, 이 메모리 장치는 운영 체계 및 다른 소프트웨어 애플리케이션을 저장하고 있다. 이들 및 다른 실시예는 다음 특허 청구 범위의 범위 내에 포함된다.
Claims (26)
- 프로그램 가능한 처리기의 실행 파이프라인에서의 명령어를 처리하는 단계와;상기 처리기의 예외 파이프라인을 통하여 상기 명령어의 예외를 전파하는 단계를 포함하는 방법.
- 제1항에 있어서, 상기 실행 파이프라인에서의 명령어를 처리하는 상기 단계는 상기 실행 파이프라인의 N 개의 스테이지를 통하여 상기 명령어를 전파하는 것을 포함하고, 상기 예외 파이프라인에서의 상기 명령어의 상기 예외 상태를 전파하는 상기 단계는 상기 예외 파이프라인의 N 개의 스테이지를 통하여 상기 명령어의 상기 예외 상태를 전파하는 것을 포함하는 것인 방법.
- 제1항에 있어서, 상기 실행 파이프라인으로부터 상기 예외를 수신하여 상기 예외를 상기 예외 파이프라인 내에 저장하는 단계를 더 포함하는 방법.
- 제3항에 있어서, 상기 예외를 수신하는 상기 단계는 상기 실행 파이프라인의 복수의 스테이지 중 하나의 스테이지로부터 예외 부호를 수신하는 것을 포함하고, 상기 예외를 저장하는 상기 단계는 상기 예외 부호를 상기 예외 파이프라인의 대응스테이지 내에 저장하는 것을 포함하는 것인 방법.
- 제1항에 있어서, 상기 예외 파이프라인에서 예외 요구 비트를 전파하는 단계를 더 포함하고, 상기 예외 요구 비트는 상기 실행 파이프라인의 대응 스테이지 내의 명령어에 대한 오류 상태를 나타내는 것인 방법.
- 제1항에 있어서, 상기 실행 파이프라인이 스톨링(stall)된 경우 상기 예외 파이프라인을 스톨링하는 단계를 더 포함하는 방법.
- 제1항에 있어서, 상기 실행 파이프라인 내의 대응 명령어가 실행을 완료하지 않은 경우 상기 예외 파이프라인 내의 상기 예외를 소거하는 단계를 더 포함하는 방법.
- 제4항에 있어서, 상기 예외가 상기 예외 파이프라인의 최종 스테이지를 통하여 전파된 경우 상기 예외를 제공하는 단계를 더 포함하는 방법.
- 제1항에 있어서, 상기 예외 파이프라인을 통하여 상기 예외를 전파하는 상기 단계는 상기 예외와 관련된 우선권에 기초하여 상기 예외 파이프라인의 스테이지에서 복수의 예외 중 하나의 예외를 선택하는 단계를 포함하는 것인 방법.
- 제1항에 있어서, 상기 예외 파이프라인의 스테이지에서 상기 예외의 자격을 취득하여 대응 명령어가 종료하지 않았음을 보장하는 것인 방법.
- 제1항에 있어서, 명령어 인출 스테이지를 제외하고, 상기 예외 파이프라인의 스테이지에서의 상기 예외의 자격을 취득하여 상기 대응 명령어가 유효함을 보장하는 단계를 더 포함하는 방법.
- 하나 또는 그 이상의 명령어를 동시에 실행하기 위한 복수의 스테이지를 갖는 실행 파이프라인과;상기 명령어의 실행 결과로 발생하는 예외를 전파하기 위한 복수의 스테이지를 갖는 예외 파이프라인을 포함하는 장치.
- 제12항에 있어서, 상기 실행 파이프라인 및 상기 예외 파이프라인 각각은 N 개의 스테이지를 갖는 것인 장치.
- 제12항에 있어서, 상기 예외 파이프라인의 상기 스테이지는 예외 부호를 저장하기 위해 파이프라인 레지스터를 포함하는 것인 장치.
- 제12항에 있어서, 상기 예외 파이프라인은 예외 요구 비트를 전파하기 위해복수의 기억 회로를 포함하는 것인 장치.
- 제12항에 있어서, 상기 예외 파이프라인 및 상기 예외 파이프라인의 상기 스테이지는 하나 또는 그 이상의 스톨(stall) 신호에 의해 제어되는 것인 장치.
- 제15항에 있어서, 각 스테이지는 상기 예외 요구 비트를 리셋하기 위해 킬(kill) 신호를 수신하는 것인 장치.
- 제12항에 있어서, 상기 예외 파이프라인의 최종 스테이지로부터 상기 예외 요구 비트를 수신하는 예외 핸들러를 더 포함하는 장치.
- 제12항에 있어서, 상기 예외 파이프라인의 상기 스테이지는 상기 예외와 관련된 우선권에 기초하여 복수의 예외 중 하나의 예외를 선택하기 위해 선택 논리를 포함하는 것인 장치.
- 제12항에 있어서, 상기 예외 파이프라인의 상기 스테이지는 상기 예외 요구 비트에 자격을 부여하여 상기 명령어가 유효 명령어이고 종료되지 않았음을 보장하기 위한 논리를 포함하는 것인 장치.
- 플래시 메모리 장치와;상기 플래시 메모리 장치에 연결된 처리기를 포함하고,상기 처리기는 하나 또는 그 이상의 명령어를 동시에 실행하기 위한 복수의 스테이지를 갖는 실행 파이프라인, 및 상기 명령어 실행의 결과로부터 발생하는 예외를 전파하기 위한 복수의 스테이지를 갖는 예외 파이프라인을 구비하는 것인 시스템.
- 제21항에 있어서, 상기 실행 파이프라인 및 상기 예외 파이프라인 각각은 N 개의 스테이지를 갖는 것인 시스템.
- 제21항에 있어서, 상기 예외 파이프라인의 상기 스테이지는 예외 부호를 저장하기 위해 파이프라인 레지스터를 포함하는 것인 시스템.
- 제21항에 있어서, 상기 예외 파이프라인은 예외 요구 비트를 전파하기 위해 복수의 기억 회로를 포함하는 것인 시스템.
- 제21항에 있어서, 상기 예외 파이프라인 및 상기 예외 파이프라인의 상기 스테이지는 하나 또는 그 이상의 스톨(stall) 신호에 의해 제어되는 것인 시스템.
- 제21항에 있어서, 상기 처리기는 상기 예외 파이프라인의 최종 스테이지로부터 상기 예외 요구 비트를 수신하는 예외 핸들러를 더 포함하는 것인 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/738,081 | 2000-12-15 | ||
US09/738,081 US6823448B2 (en) | 2000-12-15 | 2000-12-15 | Exception handling using an exception pipeline in a pipelined processor |
PCT/US2001/047626 WO2002048873A2 (en) | 2000-12-15 | 2001-12-10 | Exception handling in a pipelined processor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040016829A true KR20040016829A (ko) | 2004-02-25 |
KR100571322B1 KR100571322B1 (ko) | 2006-04-17 |
Family
ID=24966484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020037007849A KR100571322B1 (ko) | 2000-12-15 | 2001-12-10 | 파이프라인식 프로세서에서의 예외 취급 방법, 장치 및시스템 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6823448B2 (ko) |
JP (1) | JP3781419B2 (ko) |
KR (1) | KR100571322B1 (ko) |
CN (1) | CN1269029C (ko) |
TW (1) | TWI223196B (ko) |
WO (1) | WO2002048873A2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100664922B1 (ko) * | 2004-08-21 | 2007-01-04 | 삼성전자주식회사 | 자바 보안 기능 개선 방법 |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7653710B2 (en) | 2002-06-25 | 2010-01-26 | Qst Holdings, Llc. | Hardware task manager |
US6836839B2 (en) | 2001-03-22 | 2004-12-28 | Quicksilver Technology, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US7752419B1 (en) | 2001-03-22 | 2010-07-06 | Qst Holdings, Llc | Method and system for managing hardware resources to implement system functions using an adaptive computing architecture |
US7962716B2 (en) | 2001-03-22 | 2011-06-14 | Qst Holdings, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US7249242B2 (en) | 2002-10-28 | 2007-07-24 | Nvidia Corporation | Input pipeline registers for a node in an adaptive computing engine |
US6577678B2 (en) | 2001-05-08 | 2003-06-10 | Quicksilver Technology | Method and system for reconfigurable channel coding |
US7046635B2 (en) | 2001-11-28 | 2006-05-16 | Quicksilver Technology, Inc. | System for authorizing functionality in adaptable hardware devices |
US6986021B2 (en) | 2001-11-30 | 2006-01-10 | Quick Silver Technology, Inc. | Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements |
US8412915B2 (en) | 2001-11-30 | 2013-04-02 | Altera Corporation | Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements |
US7215701B2 (en) | 2001-12-12 | 2007-05-08 | Sharad Sambhwani | Low I/O bandwidth method and system for implementing detection and identification of scrambling codes |
US7403981B2 (en) | 2002-01-04 | 2008-07-22 | Quicksilver Technology, Inc. | Apparatus and method for adaptive multimedia reception and transmission in communication environments |
US6981079B2 (en) * | 2002-03-21 | 2005-12-27 | International Business Machines Corporation | Critical datapath error handling in a multiprocessor architecture |
US7328414B1 (en) | 2003-05-13 | 2008-02-05 | Qst Holdings, Llc | Method and system for creating and programming an adaptive computing engine |
US7660984B1 (en) | 2003-05-13 | 2010-02-09 | Quicksilver Technology | Method and system for achieving individualized protected space in an operating system |
US8108656B2 (en) | 2002-08-29 | 2012-01-31 | Qst Holdings, Llc | Task definition for specifying resource requirements |
US7065665B2 (en) * | 2002-10-02 | 2006-06-20 | International Business Machines Corporation | Interlocked synchronous pipeline clock gating |
US7937591B1 (en) | 2002-10-25 | 2011-05-03 | Qst Holdings, Llc | Method and system for providing a device which can be adapted on an ongoing basis |
US8276135B2 (en) | 2002-11-07 | 2012-09-25 | Qst Holdings Llc | Profiling of software and circuit designs utilizing data operation analyses |
US7225301B2 (en) | 2002-11-22 | 2007-05-29 | Quicksilver Technologies | External memory controller node |
US6856270B1 (en) | 2004-01-29 | 2005-02-15 | International Business Machines Corporation | Pipeline array |
US7555703B2 (en) * | 2004-06-17 | 2009-06-30 | Intel Corporation | Method and apparatus for reducing false error detection in a microprocessor |
US7386756B2 (en) * | 2004-06-17 | 2008-06-10 | Intel Corporation | Reducing false error detection in a microprocessor by tracking instructions neutral to errors |
US7370243B1 (en) * | 2004-06-30 | 2008-05-06 | Sun Microsystems, Inc. | Precise error handling in a fine grain multithreaded multicore processor |
US20060168485A1 (en) * | 2005-01-26 | 2006-07-27 | Via Technologies, Inc | Updating instruction fault status register |
JP5245237B2 (ja) * | 2006-09-29 | 2013-07-24 | 富士通セミコンダクター株式会社 | エラー処理方法 |
US8359604B2 (en) * | 2009-01-22 | 2013-01-22 | Microsoft Corporation | Propagating unobserved exceptions in a parallel system |
US8688964B2 (en) * | 2009-07-20 | 2014-04-01 | Microchip Technology Incorporated | Programmable exception processing latency |
KR101814221B1 (ko) | 2010-01-21 | 2018-01-02 | 스비랄 인크 | 스트림 기반 계산을 구현하기 위한 범용 다중 코어 시스템을 위한 방법 및 장치 |
US8631279B2 (en) | 2011-06-07 | 2014-01-14 | Microsoft Corporation | Propagating unobserved exceptions in distributed execution environments |
CN103294567B (zh) * | 2013-05-31 | 2015-10-28 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种单发射五级流水处理器的精确异常处理方法 |
GB2595476B (en) * | 2020-05-27 | 2022-05-25 | Graphcore Ltd | Exception handling |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5297263A (en) * | 1987-07-17 | 1994-03-22 | Mitsubishi Denki Kabushiki Kaisha | Microprocessor with pipeline system having exception processing features |
US5325495A (en) * | 1991-06-28 | 1994-06-28 | Digital Equipment Corporation | Reducing stall delay in pipelined computer system using queue between pipeline stages |
JPH05265739A (ja) * | 1992-03-16 | 1993-10-15 | Sankyo Seiki Mfg Co Ltd | 磁気テープ装置のプログラム変更方法 |
DE69435278D1 (de) | 1993-12-15 | 2010-04-22 | Toshiba Kk | Superskalare microprozessor-befehls pipeline mit absendung von befehlen und freisetzung |
US5889982A (en) * | 1995-07-01 | 1999-03-30 | Intel Corporation | Method and apparatus for generating event handler vectors based on both operating mode and event type |
US5603047A (en) * | 1995-10-06 | 1997-02-11 | Lsi Logic Corporation | Superscalar microprocessor architecture |
JP3442225B2 (ja) * | 1996-07-11 | 2003-09-02 | 株式会社日立製作所 | 演算処理装置 |
TW436693B (en) * | 1998-08-18 | 2001-05-28 | Ind Tech Res Inst | Interrupt control device and method for pipeline processor |
-
2000
- 2000-12-15 US US09/738,081 patent/US6823448B2/en not_active Expired - Lifetime
-
2001
- 2001-12-10 WO PCT/US2001/047626 patent/WO2002048873A2/en active IP Right Grant
- 2001-12-10 JP JP2002550517A patent/JP3781419B2/ja not_active Expired - Lifetime
- 2001-12-10 CN CNB018207081A patent/CN1269029C/zh not_active Expired - Fee Related
- 2001-12-10 KR KR1020037007849A patent/KR100571322B1/ko not_active IP Right Cessation
- 2001-12-14 TW TW090131095A patent/TWI223196B/zh not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100664922B1 (ko) * | 2004-08-21 | 2007-01-04 | 삼성전자주식회사 | 자바 보안 기능 개선 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2002048873A2 (en) | 2002-06-20 |
JP2004516546A (ja) | 2004-06-03 |
CN1269029C (zh) | 2006-08-09 |
US6823448B2 (en) | 2004-11-23 |
KR100571322B1 (ko) | 2006-04-17 |
WO2002048873A3 (en) | 2002-12-05 |
US20020078334A1 (en) | 2002-06-20 |
JP3781419B2 (ja) | 2006-05-31 |
TWI223196B (en) | 2004-11-01 |
CN1481529A (zh) | 2004-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100571322B1 (ko) | 파이프라인식 프로세서에서의 예외 취급 방법, 장치 및시스템 | |
US6115808A (en) | Method and apparatus for performing predicate hazard detection | |
US5619664A (en) | Processor with architecture for improved pipelining of arithmetic instructions by forwarding redundant intermediate data forms | |
KR20030057570A (ko) | 프로세서 스톨 방법 및 장치 | |
US10664280B2 (en) | Fetch ahead branch target buffer | |
KR20100032441A (ko) | 조건부 명령을 비조건부 명령 및 선택 명령으로 확장하기 위한 방법 및 시스템 | |
US5574872A (en) | Method and apparatus for controlling the saving of pipelines in pipelined processors during trap handling | |
US20220365787A1 (en) | Event handling in pipeline execute stages | |
KR100986375B1 (ko) | 피연산자의 빠른 조건부 선택 | |
US20220035635A1 (en) | Processor with multiple execution pipelines | |
US6055628A (en) | Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks | |
KR20070004705A (ko) | 전자 회로와 그 동작 방법 | |
US7065636B2 (en) | Hardware loops and pipeline system using advanced generation of loop parameters | |
US7539847B2 (en) | Stalling processor pipeline for synchronization with coprocessor reconfigured to accommodate higher frequency operation resulting in additional number of pipeline stages | |
JP3822568B2 (ja) | イベント処理 | |
JPH0748187B2 (ja) | レジスタ間接モードを用いる汎用メモリ・アクセス方法およびコンピュータ・システム | |
KR100305487B1 (ko) | 특정유형의인스트럭션을동시에처리할수있는방법및데이터프로세싱시스템 | |
US11269649B2 (en) | Resuming beats of processing of a suspended vector instruction based on beat status information indicating completed beats | |
US6728870B1 (en) | Register move operations | |
US6920547B2 (en) | Register adjustment based on adjustment values determined at multiple stages within a pipeline of a processor | |
US6308262B1 (en) | System and method for efficient processing of instructions using control unit to select operations | |
JP3100705B2 (ja) | マイクロプロセッサ内の命令準備のための装置 | |
US9135006B1 (en) | Early execution of conditional branch instruction with pc operand at which point target is fetched | |
US7124285B2 (en) | Peak power reduction when updating future file | |
JP3325309B2 (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: 20130320 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140320 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160318 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |