KR20060063790A - 데이터 처리 시스템 내의 예측 명령 - Google Patents
데이터 처리 시스템 내의 예측 명령 Download PDFInfo
- Publication number
- KR20060063790A KR20060063790A KR1020057023079A KR20057023079A KR20060063790A KR 20060063790 A KR20060063790 A KR 20060063790A KR 1020057023079 A KR1020057023079 A KR 1020057023079A KR 20057023079 A KR20057023079 A KR 20057023079A KR 20060063790 A KR20060063790 A KR 20060063790A
- Authority
- KR
- South Korea
- Prior art keywords
- instruction
- condition
- program
- prediction
- command
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 62
- 238000000034 method Methods 0.000 claims description 52
- 238000004590 computer program Methods 0.000 claims description 7
- 230000000295 complement effect Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 238000003672 processing method Methods 0.000 claims description 2
- 230000006399 behavior Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 101100494729 Syncephalastrum racemosum SPSR gene Proteins 0.000 description 4
- 210000003813 thumb Anatomy 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30058—Conditional branch instructions
-
- 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/30181—Instruction operation extension or modification
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/323—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
P 4 | 1 | condbase | P 1 | P 2 | P 3 | 다음 4 명령은 (condbase,P1), (condbase,P2), (condbase,P3), (condbase,P4)의 조건으로 조건부로 실행됨 | ||
1 | 0 | condbase | P 1 | P 2 | P 3 | 다음 3 명령은 (condbase,P1), (condbase,P2), (condbase,P3)의 조건으로 조건부로 실행됨 | ||
0 | 0 | condbase | P 1 | P 2 | 1 | 다음 2 명령은 (condbase,P1), (condbase,P2)의 조건으로 조건부로 실행됨 | ||
0 | 0 | condbase | P 1 | 1 | 0 | 다음 명령은 (condbase,P1)의 조건으로 조건부로 실행됨 | ||
0 | 0 | N(비-제로) | 0 | 0 | 비예측 | |||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 정상 실행 |
Claims (50)
- 데이터 처리 장치로서:데이터 처리 연산의 수행을 실시할 수 있는 데이터 처리 로직과; 상기 데이터 처리 연산을 수행하는 상기 데이터 처리 로직의 제어를 위한 프로그램 명령의 디코딩을 실시할 수 있는 명령 디코더를 포함하고;상기 명령 디코더는 상기 데이터 처리 로직의 제어를 위한 예측 명령에 응답하여, 상기 예측 명령 이외의 하나 이상의 프로그램 명령 실행에 의해 설정된 데이터에 대한 상기 데이터 처리 장치의 하나 이상의 조건 상태에 따라, 하나 이상의 관련 프로그램 명령을 실행 또는 비실행하는 것을 특징으로 하는 데이터 처리 장치.
- 제1항에 있어서,상기 예측 명령은 복수의 관련 프로그램 명령을 제어하는 것을 특징으로 하는 데이터 처리 장치.
- 제1항에 있어서,상기 하나 이상의 관련 프로그램 명령은 비-조건부 프로그램 명령인 것을 특 징으로 하는 데이터 처리 장치.
- 제1항, 제2항 또는 제3항 중 어느 한 항에 있어서,상기 하나 이상의 조건 코드 상태는 하나 이상의 조건 코드 플래그의 값을 포함하는 것을 특징으로 하는 데이터 처리 장치.
- 선행하는 청구항 중 어느 한 항에 있어서,상기 하나 이상의 조건 상태는,(i) 상기 예측 명령의 한번 실행시 및(ii) 각 관련 프로그램 명령의 실행 이전중 한 시점에서 평가되는 것을 특징으로 하는 데이터 처리 장치.
- 선행하는 청구항 중 어느 한 항에 있어서,상기 하나 이상의 관련 명령은 상기 예측 명령에 즉시 후속하는 것을 특징으로 하는 데이터 처리 장치.
- 선행하는 청구항 중 어느 한 항에 있어서,상기 예측 명령은,(i) 상기 하나 이상의 조건 상태가 하나 이상의 선정된 조건에 일치하는 경우 실행되는 하나 이상의 프로그램 명령의 조건 일치 블록과;(ii) 상기 하나 이상의 조건 상태가 상기 하나 이상의 선정된 조건에 일치하지 않는 경우 실행되는 하나 이상의 프로그램 명령의 조건 불일치 블록에 관련된 것을 특징으로 하는 데이터 처리 장치.
- 제7항에 있어서,상기 예측 명령은,(i) 하나 이상의 프로그램 명령의 상기 조건 일치 블록의 길이와;(ii) 하나 이상의 프로그램 명령의 상기 조건 불일치 블록의 길이 중 하나 이상을 특정하는 것을 특징으로 하는 데이터 처리 장치.
- 제7항 또는 제8항에 있어서,상기 예측 명령은 상기 하나 이상의 선정된 조건을 특정하는 것을 특징으로 하는 데이터 처리 장치.
- 제1항 내지 제6항 중 어느 한 항에 있어서,상기 예측 명령은 상기 하나 이상의 조건 상태를 하나 이상의 선정된 상태와 비교하는 것에 따라 각 관련 프로그램 명령이 실행 또는 비실행되는지를 각각 특정하는 하나 이상의 필드를 포함하는 것을 특징으로 하는 데이터 처리 장치.
- 제10항에 있어서,상기 예측 명령은, 각 관련 프로그램 명령에 대해, 그 각각의 관련 프로그램 명령의 실행 여부를 결정하기 위해, 상기 하나 이상의 조건 상태 또는 상기 하나 이상의 조건 상태의 보완이 상기 하나 이상의 선정된 상태와 비교되는지 여부를 특정하는 필드를 포함하는 것을 특징으로 하는 데이터 처리 장치.
- 선행하는 청구항 중 어느 한 항에 있어서,실행될 프로그램 명령의 메모리 위치를 나타내는 어드레스를 저장할 수 있는 프로그램 카운터 레지스터를 포함하는 것을 특징으로 하는 데이터 처리 장치.
- 선행하는 청구항 중 어느 한 항에 있어서,상기 예측 명령의 적용을 받는 상기 하나 이상의 관련 프로그램 명령의 실행 횟수를 나타내는 카운터 값을 저장할 수 있는 예측 명령 카운터 레지스터를 포함하는 것을 특징으로 하는 데이터 처리 장치.
- 제12항 및 제13항에 있어서,상기 예측 명령의 적용을 받는 상기 하나 이상의 관련 프로그램 명령의 실행시, 상기 프로그램 카운터 레지스터는 상기 예측 명령에 대응하는 어드레스의 저장을 계속하는 것을 특징으로 하는 데이터 처리 장치.
- 제13항에 있어서,예외 발생시, 상기 카운터 값을 저장하고, 상기 예외 완료시, 상기 카운터 값에 의해 지시된 프로그램 명령에서 시작되는 실행을 재-개시하도록 실시 가능한 예외 취급 회로를 포함하는 것을 특징으로 하는 데이터 처리 장치.
- 선행하는 청구항 중 어느 한 항에 있어서,상기 하나 이상의 관련 명령은 상기 예측 명령의 적용을 받을 때 다른 데이터 처리 동작을 특정하는 것을 특징으로 하는 데이터 처리 장치.
- 제16항에 있어서,상기 예측 명령 내의 프로그램화 가능한 필드에 의존하여, 상기 하나 이상의 관련 명령은 상기 하나 이상의 조건 상태로의 어떤 변경도 차단되는 것을 특징으로 하는 데이터 처리 장치.
- 데이터 처리 방법으로서:데이터 처리 로직으로 데이터 처리 연산을 수행하는 단계와; 상기 데이터 처리 로직을 제어하여 상기 데이터 처리 연산을 수행하도록, 명령 디코더로 프로그램 명령을 디코딩하는 단계를 포함하며,예측 명령에 응답하여, 상기 명령 디코더는, 상기 예측 명령이 아닌 하나 이상의 프로그램 명령의 실행에 의해 설정된 데이터 처리 장치의 하나 이상의 조건 상태에 의존하여, 하나 이상의 관련 프로그램 명령을 실행 또는 미실행하도록 상기 데이터 처리 로직을 제어하는 것을 특징으로 하는 데이터 처리 방법.
- 제18항에 있어서,상기 예측 명령은 복수의 관련 프로그램 명령을 제어하는 것을 특징으로 하 는 데이터 처리 방법.
- 제18항에 있어서,상기 하나 이상의 관련 프로그램 명령은 비-조건부 프로그램 명령인 것을 특징으로 하는 데이터 처리 방법.
- 제18항, 제19항 또는 제20항 중 어느 한 항에 있어서,상기 하나 이상의 조건 코드 상태는 하나 이상의 조건 코드 플래그의 값을 포함하는 것을 특징으로 하는 데이터 처리 방법.
- 제18항 내지 제21항 중 어느 한 항에 있어서,상기 하나 이상의 조건 상태는,(i) 상기 예측 명령의 한번 실행시 및(ii) 각 관련 프로그램 명령의 실행 이전중 한 시점에서 평가되는 것을 특징으로 하는 데이터 처리 방법.
- 제18항 내지 제22항 중 어느 한 항에 있어서,상기 하나 이상의 관련 명령은 상기 예측 명령에 즉시 후속하는 것을 특징으로 하는 데이터 처리 방법.
- 제18항 내지 제23항 중 어느 한 항에 있어서,상기 예측 명령은,(i) 상기 하나 이상의 조건 상태가 하나 이상의 선정된 조건에 일치하는 경우 실행되는 하나 이상의 프로그램 명령의 조건 일치 블록과;(ii) 상기 하나 이상의 조건 상태가 상기 하나 이상의 선정된 조건에 일치하지 않는 경우 실행되는 하나 이상의 프로그램 명령의 조건 불일치 블록에 관련된 것을 특징으로 하는 데이터 처리 방법.
- 제24항에 있어서,상기 예측 명령은,(i) 하나 이상의 프로그램 명령의 상기 조건 일치 블록의 길이와;(ii) 하나 이상의 프로그램 명령의 상기 조건 불일치 블록의 길이중 하나 이상을 특정하는 것을 특징으로 하는 데이터 처리 방법.
- 제24항 또는 제25항에 있어서,상기 예측 명령은 상기 하나 이상의 선정된 조건을 특정하는 것을 특징으로 하는 데이터 처리 방법.
- 제18항 내지 제23항 중 어느 한 항에 있어서,상기 예측 명령은 상기 하나 이상의 조건 상태를 하나 이상의 선정된 상태와 비교하는 것에 따라 각 관련 프로그램 명령이 실행 또는 비실행되는지를 각각 특정하는 하나 이상의 필드를 포함하는 것을 특징으로 하는 데이터 처리 방법.
- 제27항에 있어서,상기 예측 명령은, 각 관련 프로그램 명령에 대해, 그 각각의 관련 프로그램 명령의 실행 여부를 결정하기 위해, 상기 하나 이상의 조건 상태 또는 상기 하나 이상의 조건 상태의 보완이 상기 하나 이상의 선정된 상태와 비교되는지 여부를 특정하는 필드를 포함하는 것을 특징으로 하는 데이터 처리 방법.
- 제18항 내지 제28항 중 어느 한 항에 있어서,실행될 프로그램 명령의 메모리 위치를 나타내는 어드레스를 저장할 수 있는 프로그램 카운터 레지스터를 포함하는 것을 특징으로 하는 데이터 처리 방법.
- 제18항 내지 제29항 중 어느 한 항에 있어서,상기 예측 명령의 적용을 받는 상기 하나 이상의 관련 프로그램 명령의 실행 횟수를 나타내는 카운터 값을 저장할 수 있는 예측 명령 카운터 레지스터를 포함하는 것을 특징으로 하는 데이터 처리 방법.
- 제29항 및 제30항에 있어서,상기 예측 명령의 적용을 받는 상기 하나 이상의 관련 프로그램 명령의 실행시, 상기 프로그램 카운터 레지스터는 상기 예측 명령에 대응하는 어드레스의 저장을 계속하는 것을 특징으로 하는 데이터 처리 방법.
- 제30항에 있어서,예외 발생시, 상기 카운터 값을 저장하고, 상기 예외 완료시, 상기 카운터 값에 의해 지시된 프로그램 명령에서 시작되는 실행을 재-개시하도록 실시 가능한 예외 취급 회로를 포함하는 것을 특징으로 하는 데이터 처리 방법.
- 제18항 내지 제32항 중 어느 한 항에 있어서,상기 하나 이상의 관련 명령은 상기 예측 명령의 적용을 받을 때 다른 데이터 처리 동작을 특정하는 것을 특징으로 하는 데이터 처리 방법.
- 제33항에 있어서,상기 예측 명령 내의 프로그램화 가능한 필드에 의존하여, 상기 하나 이상의 관련 명령은 상기 하나 이상의 조건 상태로의 어떤 변경도 차단되는 것을 특징으로 하는 데이터 처리 방법.
- 컴퓨터 프로그램 제품으로서, 데이터 처리 연산의 수행을 실시가능한 데이터 처리 로직과 이 데이터 처리 로직을 제어하여 상기 데이터 처리 연산을 수행하도록 프로그램 명령을 디코딩할 수 있는 명령 디코더를 갖는 데이터 처리 장치의 제어를 실시 가능한 컴퓨터 프로그램을 포함하며, 이 컴퓨터 프로그램은:자신을 제외한 하나 이상의 프로그램 명령의 실행에 의해 설정된 데이터 처리 장치의 하나 이상의 조건 상태에 의존하여, 하나 이상의 관련 프로그램 명령을 실행 또는 미실행하도록 상기 데이터 처리 로직의 제어를 실시 가능한 예측 명령을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제35항에 있어서,상기 예측 명령은 복수의 관련 프로그램 명령을 제어하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제35항에 있어서,상기 하나 이상의 관련 프로그램 명령은 비-조건부 프로그램 명령인 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제35항, 제36항 또는 제37항 중 어느 한 항에 있어서,상기 하나 이상의 조건 코드 상태는 하나 이상의 조건 코드 플래그의 값을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제35항 내지 제38항 중 어느 한 항에 있어서,상기 하나 이상의 조건 상태는,(i) 상기 예측 명령의 한번 실행시 및(ii) 각 관련 프로그램 명령의 실행 이전중 한 시점에서 평가되는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제35항 내지 제39항 중 어느 한 항에 있어서,상기 하나 이상의 관련 명령은 상기 예측 명령에 즉시 후속하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제35항 내지 제40항 중 어느 한 항에 있어서,상기 예측 명령은,(i) 상기 하나 이상의 조건 상태가 하나 이상의 선정된 조건에 일치하는 경우 실행되는 하나 이상의 프로그램 명령의 조건 일치 블록과;(ii) 상기 하나 이상의 조건 상태가 상기 하나 이상의 선정된 조건에 일치하지 않는 경우 실행되는 하나 이상의 프로그램 명령의 조건 불일치 블록에 관련된 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제41항에 있어서,상기 예측 명령은,(i) 하나 이상의 프로그램 명령의 상기 조건 일치 블록의 길이와;(ii) 하나 이상의 프로그램 명령의 상기 조건 불일치 블록의 길이중 하나 이상을 특정하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제41항 또는 제42항에 있어서,상기 예측 명령은 상기 하나 이상의 선정된 조건을 특정하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제35항 내지 제40항 중 어느 한 항에 있어서,상기 예측 명령은 상기 하나 이상의 조건 상태를 하나 이상의 선정된 상태와 비교하는 것에 따라 각 관련 프로그램 명령이 실행 또는 비실행되는지를 각각 특정하는 하나 이상의 필드를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제44항에 있어서,상기 예측 명령은, 각 관련 프로그램 명령에 대해, 그 각각의 관련 프로그램 명령의 실행 여부를 결정하기 위해, 상기 하나 이상의 조건 상태 또는 상기 하나 이상의 조건 상태의 보완이 상기 하나 이상의 선정된 상태와 비교되는지 여부를 특정하는 필드를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제35항 내지 제45항 중 어느 한 항에 있어서,실행될 프로그램 명령의 메모리 위치를 나타내는 어드레스를 저장할 수 있는 프로그램 카운터 레지스터를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제35항 내지 제46항 중 어느 한 항에 있어서,상기 예측 명령의 적용을 받는 상기 하나 이상의 관련 프로그램 명령의 실행 횟수를 나타내는 카운터 값을 저장할 수 있는 예측 명령 카운터 레지스터를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제46항 및 제47항에 있어서,상기 예측 명령의 적용을 받는 상기 하나 이상의 관련 프로그램 명령의 실행시, 상기 프로그램 카운터 레지스터는 상기 예측 명령에 대응하는 어드레스의 저장을 계속하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제47항에 있어서,예외 발생시, 상기 카운터 값을 저장하고, 상기 예외 완료시, 상기 카운터 값에 의해 지시된 프로그램 명령에서 시작되는 실행을 재-개시하도록 실시 가능한 예외 취급 회로를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
- 제35항 내지 제49항 중 어느 한 항에 있어서,상기 하나 이상의 관련 명령은 상기 예측 명령의 적용을 받을 때 다른 데이터 처리 동작을 특정하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0312977.2 | 2003-06-05 | ||
GB0312977A GB2402510A (en) | 2003-06-05 | 2003-06-05 | Predication instruction within a data processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060063790A true KR20060063790A (ko) | 2006-06-12 |
KR101016713B1 KR101016713B1 (ko) | 2011-02-25 |
Family
ID=9959411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057023079A KR101016713B1 (ko) | 2003-06-05 | 2003-12-30 | 데이터 처리 시스템 내의 예측 명령 |
Country Status (12)
Country | Link |
---|---|
US (1) | US7178011B2 (ko) |
EP (1) | EP1629375B1 (ko) |
JP (1) | JP3917635B2 (ko) |
KR (1) | KR101016713B1 (ko) |
CN (1) | CN100483336C (ko) |
AU (1) | AU2003290350A1 (ko) |
DE (1) | DE60323885D1 (ko) |
GB (1) | GB2402510A (ko) |
MY (1) | MY138874A (ko) |
RU (1) | RU2005137695A (ko) |
TW (1) | TWI314701B (ko) |
WO (1) | WO2004109499A2 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140064710A (ko) * | 2012-09-21 | 2014-05-28 | 인텔 코오퍼레이션 | 이진 번역을 수행하기 위한 방법 및 시스템 |
KR20230020282A (ko) * | 2021-08-03 | 2023-02-10 | 연세대학교 산학협력단 | 전자기 과도 상태 시뮬레이션 방법 및 기록 매체 |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7210024B2 (en) * | 2005-02-10 | 2007-04-24 | Qualcomm Incorporated | Conditional instruction execution via emissary instruction for condition evaluation |
US7234043B2 (en) * | 2005-03-07 | 2007-06-19 | Arm Limited | Decoding predication instructions within a superscaler data processing system |
DE102005050382B4 (de) * | 2005-10-20 | 2012-08-09 | Infineon Technologies Ag | Prozessor zum Prüfen einer Bedingung für eine bedingte Ausführung eines Programmbefehls |
JP4159586B2 (ja) * | 2006-08-03 | 2008-10-01 | エヌイーシーコンピュータテクノ株式会社 | 情報処理装置および情報処理の高速化方法 |
US7971104B2 (en) * | 2006-10-24 | 2011-06-28 | Shlomi Dolev | Apparatus and methods for stabilization of processors, operating systems and other hardware and/or software configurations |
US9946550B2 (en) * | 2007-09-17 | 2018-04-17 | International Business Machines Corporation | Techniques for predicated execution in an out-of-order processor |
US7818551B2 (en) * | 2007-12-31 | 2010-10-19 | Microsoft Corporation | Feedback mechanism for dynamic predication of indirect jumps |
US8332620B2 (en) * | 2008-07-25 | 2012-12-11 | Freescale Semiconductor, Inc. | System, method and computer program product for executing a high level programming language conditional statement |
CN101324838A (zh) * | 2008-07-31 | 2008-12-17 | 华为技术有限公司 | 一种指令执行方法和装置 |
US8819399B1 (en) * | 2009-07-31 | 2014-08-26 | Google Inc. | Predicated control flow and store instructions for native code module security |
US10175990B2 (en) * | 2009-12-22 | 2019-01-08 | Intel Corporation | Gathering and scattering multiple data elements |
US9378019B2 (en) | 2011-04-07 | 2016-06-28 | Via Technologies, Inc. | Conditional load instructions in an out-of-order execution microprocessor |
US9317288B2 (en) | 2011-04-07 | 2016-04-19 | Via Technologies, Inc. | Multi-core microprocessor that performs x86 ISA and ARM ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline |
US9043580B2 (en) | 2011-04-07 | 2015-05-26 | Via Technologies, Inc. | Accessing model specific registers (MSR) with different sets of distinct microinstructions for instructions of different instruction set architecture (ISA) |
US8880851B2 (en) | 2011-04-07 | 2014-11-04 | Via Technologies, Inc. | Microprocessor that performs X86 ISA and arm ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline |
US9032189B2 (en) | 2011-04-07 | 2015-05-12 | Via Technologies, Inc. | Efficient conditional ALU instruction in read-port limited register file microprocessor |
US8924695B2 (en) | 2011-04-07 | 2014-12-30 | Via Technologies, Inc. | Conditional ALU instruction condition satisfaction propagation between microinstructions in read-port limited register file microprocessor |
US9141389B2 (en) | 2011-04-07 | 2015-09-22 | Via Technologies, Inc. | Heterogeneous ISA microprocessor with shared hardware ISA registers |
US9146742B2 (en) | 2011-04-07 | 2015-09-29 | Via Technologies, Inc. | Heterogeneous ISA microprocessor that preserves non-ISA-specific configuration state when reset to different ISA |
US9292470B2 (en) | 2011-04-07 | 2016-03-22 | Via Technologies, Inc. | Microprocessor that enables ARM ISA program to access 64-bit general purpose registers written by x86 ISA program |
US9274795B2 (en) | 2011-04-07 | 2016-03-01 | Via Technologies, Inc. | Conditional non-branch instruction prediction |
US9645822B2 (en) | 2011-04-07 | 2017-05-09 | Via Technologies, Inc | Conditional store instructions in an out-of-order execution microprocessor |
US9898291B2 (en) | 2011-04-07 | 2018-02-20 | Via Technologies, Inc. | Microprocessor with arm and X86 instruction length decoders |
US9336180B2 (en) | 2011-04-07 | 2016-05-10 | Via Technologies, Inc. | Microprocessor that makes 64-bit general purpose registers available in MSR address space while operating in non-64-bit mode |
US9176733B2 (en) | 2011-04-07 | 2015-11-03 | Via Technologies, Inc. | Load multiple and store multiple instructions in a microprocessor that emulates banked registers |
US9244686B2 (en) | 2011-04-07 | 2016-01-26 | Via Technologies, Inc. | Microprocessor that translates conditional load/store instructions into variable number of microinstructions |
US8880857B2 (en) | 2011-04-07 | 2014-11-04 | Via Technologies, Inc. | Conditional ALU instruction pre-shift-generated carry flag propagation between microinstructions in read-port limited register file microprocessor |
US9128701B2 (en) | 2011-04-07 | 2015-09-08 | Via Technologies, Inc. | Generating constant for microinstructions from modified immediate field during instruction translation |
US10261793B2 (en) | 2011-12-16 | 2019-04-16 | International Business Machines Corporation | Instruction predication using instruction address pattern matching |
US9465613B2 (en) * | 2011-12-19 | 2016-10-11 | International Business Machines Corporation | Instruction predication using unused datapath facilities |
US9632779B2 (en) | 2011-12-19 | 2017-04-25 | International Business Machines Corporation | Instruction predication using instruction filtering |
US9632786B2 (en) * | 2011-12-20 | 2017-04-25 | International Business Machines Corporation | Instruction set architecture with extended register addressing using one or more primary opcode bits |
US9389868B2 (en) * | 2012-11-01 | 2016-07-12 | International Business Machines Corporation | Confidence-driven selective predication of processor instructions |
US9304771B2 (en) | 2013-02-13 | 2016-04-05 | International Business Machines Corporation | Indirect instruction predication |
US9626185B2 (en) | 2013-02-22 | 2017-04-18 | Apple Inc. | IT instruction pre-decode |
US9792121B2 (en) * | 2013-05-21 | 2017-10-17 | Via Technologies, Inc. | Microprocessor that fuses if-then instructions |
FR3021432B1 (fr) * | 2014-05-20 | 2017-11-10 | Bull Sas | Processeur a instructions conditionnelles |
US20170212763A1 (en) * | 2014-07-25 | 2017-07-27 | Hewlettt Packard Enterprise Development Lp | Exception handling predicate register |
US10607003B2 (en) * | 2017-06-29 | 2020-03-31 | International Business Machines Corporation | Mitigation of code reuse attacks by restricted indirect branch instruction |
US11275712B2 (en) | 2019-08-20 | 2022-03-15 | Northrop Grumman Systems Corporation | SIMD controller and SIMD predication scheme |
CN113254082B (zh) * | 2021-06-23 | 2021-10-08 | 北京智芯微电子科技有限公司 | 条件分支指令处理方法及系统、cpu、芯片 |
CN113254083B (zh) * | 2021-06-28 | 2021-11-02 | 北京智芯微电子科技有限公司 | 指令处理方法、指令处理系统及处理器、芯片 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62259140A (ja) | 1986-05-06 | 1987-11-11 | Oki Electric Ind Co Ltd | アドレス生成回路 |
DE4430195B4 (de) * | 1993-12-13 | 2004-09-23 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Verfahren zur Auswertung von Booleschen Ausdrücken |
US5659722A (en) * | 1994-04-28 | 1997-08-19 | International Business Machines Corporation | Multiple condition code branching system in a multi-processor environment |
JP3442225B2 (ja) | 1996-07-11 | 2003-09-02 | 株式会社日立製作所 | 演算処理装置 |
US6009512A (en) * | 1997-10-27 | 1999-12-28 | Advanced Micro Devices, Inc. | Mechanism for forwarding operands based on predicated instructions |
US6157996A (en) * | 1997-11-13 | 2000-12-05 | Advanced Micro Devices, Inc. | Processor programably configurable to execute enhanced variable byte length instructions including predicated execution, three operand addressing, and increased register space |
US6353883B1 (en) * | 1998-08-04 | 2002-03-05 | Intel Corporation | Method and apparatus for performing predicate prediction |
US6233676B1 (en) * | 1999-03-18 | 2001-05-15 | Ip-First, L.L.C. | Apparatus and method for fast forward branch |
US6640315B1 (en) * | 1999-06-26 | 2003-10-28 | Board Of Trustees Of The University Of Illinois | Method and apparatus for enhancing instruction level parallelism |
US6910123B1 (en) * | 2000-01-13 | 2005-06-21 | Texas Instruments Incorporated | Processor with conditional instruction execution based upon state of corresponding annul bit of annul code |
JP3532835B2 (ja) | 2000-07-04 | 2004-05-31 | 松下電器産業株式会社 | データ処理装置およびプログラム変換装置 |
US6886094B1 (en) * | 2000-09-28 | 2005-04-26 | International Business Machines Corporation | Apparatus and method for detecting and handling exceptions |
US6662294B1 (en) * | 2000-09-28 | 2003-12-09 | International Business Machines Corporation | Converting short branches to predicated instructions |
US7017032B2 (en) * | 2001-06-11 | 2006-03-21 | Broadcom Corporation | Setting execution conditions |
-
2003
- 2003-06-05 GB GB0312977A patent/GB2402510A/en not_active Withdrawn
- 2003-12-30 CN CNB2003801103310A patent/CN100483336C/zh not_active Expired - Lifetime
- 2003-12-30 WO PCT/GB2003/005674 patent/WO2004109499A2/en active IP Right Grant
- 2003-12-30 EP EP03782711A patent/EP1629375B1/en not_active Expired - Lifetime
- 2003-12-30 KR KR1020057023079A patent/KR101016713B1/ko active IP Right Grant
- 2003-12-30 AU AU2003290350A patent/AU2003290350A1/en not_active Abandoned
- 2003-12-30 RU RU2005137695/09A patent/RU2005137695A/ru not_active Application Discontinuation
- 2003-12-30 DE DE60323885T patent/DE60323885D1/de not_active Expired - Lifetime
- 2003-12-30 JP JP2005500494A patent/JP3917635B2/ja not_active Expired - Lifetime
-
2004
- 2004-01-29 US US10/765,867 patent/US7178011B2/en active Active
- 2004-02-09 TW TW093102967A patent/TWI314701B/zh not_active IP Right Cessation
- 2004-02-10 MY MYPI20040391A patent/MY138874A/en unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140064710A (ko) * | 2012-09-21 | 2014-05-28 | 인텔 코오퍼레이션 | 이진 번역을 수행하기 위한 방법 및 시스템 |
KR20230020282A (ko) * | 2021-08-03 | 2023-02-10 | 연세대학교 산학협력단 | 전자기 과도 상태 시뮬레이션 방법 및 기록 매체 |
Also Published As
Publication number | Publication date |
---|---|
RU2005137695A (ru) | 2006-06-27 |
TW200428276A (en) | 2004-12-16 |
KR101016713B1 (ko) | 2011-02-25 |
CN1788253A (zh) | 2006-06-14 |
EP1629375A2 (en) | 2006-03-01 |
DE60323885D1 (de) | 2008-11-13 |
MY138874A (en) | 2009-08-28 |
WO2004109499A2 (en) | 2004-12-16 |
GB2402510A (en) | 2004-12-08 |
CN100483336C (zh) | 2009-04-29 |
WO2004109499A3 (en) | 2005-10-13 |
AU2003290350A8 (en) | 2005-01-04 |
GB0312977D0 (en) | 2003-07-09 |
JP3917635B2 (ja) | 2007-05-23 |
AU2003290350A1 (en) | 2005-01-04 |
US7178011B2 (en) | 2007-02-13 |
US20040250051A1 (en) | 2004-12-09 |
TWI314701B (en) | 2009-09-11 |
EP1629375B1 (en) | 2008-10-01 |
JP2006526813A (ja) | 2006-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101016713B1 (ko) | 데이터 처리 시스템 내의 예측 명령 | |
CA1256216A (en) | Program switching with vector registers | |
US6301705B1 (en) | System and method for deferring exceptions generated during speculative execution | |
JP7002462B2 (ja) | ベクトル述語命令 | |
CN108780396A (zh) | 程序循环控制 | |
IL258035A (en) | Sliding prefix instruction | |
CN108780397B (zh) | 程序循环控制 | |
EP3433723B1 (en) | Branch instruction | |
US20120260061A1 (en) | Data processing apparatus and method for performing vector operations | |
US6950926B1 (en) | Use of a neutral instruction as a dependency indicator for a set of instructions | |
EP3449356A1 (en) | An apparatus and method for managing address collisions when performing vector operations | |
KR102307581B1 (ko) | 레지스터 복구 분기 명령 | |
JPH0769795B2 (ja) | コンピュータ | |
US5742801A (en) | Microprocessor to which additional instructions are added and instructions addition method thereof | |
JP2019510313A (ja) | ベクトル命令の処理 | |
KR20010050812A (ko) | 컴퓨터 시스템 명령들의 소스 연산수들을 선택하고사용하기 위한 방법 및 시스템 | |
US20120089817A1 (en) | Conditional selection of data elements | |
US20090119492A1 (en) | Data Processing Apparatus and Method for Handling Procedure Call Instructions | |
JP2000347858A (ja) | マイクロプロセッサ | |
JPH04167027A (ja) | 並列演算処理装置 | |
JPH04242432A (ja) | マイクロプロセッサ | |
JPH01319864A (ja) | ベクトルマスクの制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140121 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20150119 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160119 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170119 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180118 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190116 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20200115 Year of fee payment: 10 |