KR100230552B1 - 동적 명령어 포맷팅을 이용한 컴퓨터 처리 시스템 - Google Patents
동적 명령어 포맷팅을 이용한 컴퓨터 처리 시스템 Download PDFInfo
- Publication number
- KR100230552B1 KR100230552B1 KR1019960010200A KR19960010200A KR100230552B1 KR 100230552 B1 KR100230552 B1 KR 100230552B1 KR 1019960010200 A KR1019960010200 A KR 1019960010200A KR 19960010200 A KR19960010200 A KR 19960010200A KR 100230552 B1 KR100230552 B1 KR 100230552B1
- Authority
- KR
- South Korea
- Prior art keywords
- instruction
- execution
- instructions
- ldi
- group
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/22—Microcontrol or microprogram arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3802—Instruction prefetching
- G06F9/3808—Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3854—Instruction completion, e.g. retiring, committing or graduating
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
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)
- Hardware Redundancy (AREA)
- Communication Control (AREA)
Abstract
Description
Claims (50)
- 적어도 하나의 제1 실행 유니트에 의해 실행될 명령어들을 저장하기 위한 제 1 메모리 : 페치 제어 신호에 따라 상기 제1 메모리로부터 명령어 큐로 상기 명령어들을 페치하기 위한 명령어 페치 유니트 : 상기 적어도 하나의 제1 실행 유니트에 의한 실행을 위해 상기 명령어 큐에 저장된 명령어들을 디스패치하기 위한 디스패치 유니트 : 및상기 적어도 하나의 제1 실행 유니트에 의해 수행되는 명령어들의 실행에 따라 상기 페치 제어 신호를 갱신하기 위한 수단을 구비한 제1 처리 엔진 : 다수의 제2 실행 유니트를 포함하는 대체 엔코딩 실행 수단 : 상기 제1 처리 엔진에 의한 상기 명령어 시퀀스들의 실행과 동시에, 상기 디스패치 유니트에 의해 실행을 위해 디스패치된 명령어 시퀀스들의 대체 엔코딩(alternate encoding)-여기서, 상기 대체 엔코딩은 긴 디코드된 명령어(LDI)들의 셋트를 포함하고, 각각의 긴 디코드된 명령어(LDI)는 상기 다수의 제2 실행 유니트 중 하나에 각각 대응하는 op-필드의 셋트를 포함하고, 각각의 op-필드는 대응하는 제2 실행 유니트에 의해 실행가능함 - 을 생성하기 위한 그룹 포맷터 : 및 상기 그룹 포맷터에 의해 생성된 상기 대체 엔코딩을 저장하기 위한 제2 메모리를 포함하고, 상기 페치 제어 신호가 상기 제2 메모리에 저장된 상기 대체 엔코딩에 대응한다는 것을 검출할 때, 상기 다수의 제2 실행 유니트는 상기 제2 메모리에 저장된 상기 대체 엔코딩을 실행하는 컴퓨터 처리 장치.
- 제1항에 있어서, 상기 그룹 포맷터는 상기 제1 처리 엔진의 상기 실행 유니트에 의한 상기 명령어 시퀀스들의 실행 다음에 상기 대체 엔코딩을 생성하는 컴퓨터 처리 장치.
- 제1항에 있어서, 상기 그룹 포맷터에 의해 생성된 상기 대체 엔코딩은 병렬 실행에 적합한 컴퓨터 처리 장치.
- 원고누락
- 제1항에 있어서, 상기 대체 엔코딩 실행 수단의 상기 제2 실행 유니트 중 적어도 하나는 상기 제1 처리 엔진의 상기 제1 실행 유니트와 다른 컴퓨터 처리 장치.
- 제1항에 있어서, 상기 대체 엔코딩 실행 수단의 상기 다수의 제2 실행 유니트 중 하나는 상기 제1 처리 엔진의 상기 제1 실행 유니트를 포함하는 컴퓨터 처리 장치.
- 원고누락
- 제1항에 있어서, 각각의 op-필드는 단일 머신 사이클에서 상기 대체 엔코딩 실행 수단의 대응하는 제2실행 유니트에 의해 실행될 수 있는 컴퓨터 처리 장치.
- 제1항에 있어서, 상기 대체 엔코딩 실행 수단은 상기 op-필드가 사용/ 및/또는 정의할 수 있는 다수의 레지스터 자원들을 포함하고, 상기 그룹 포맷터는, 상기 디스패치 유니트에 의해 실행을 위해 디스패치된 상기 명령어 시퀀스들에 따라 상기 op-필드들을 생성하는 op-필드 엔코더 ; 상기 각각의 레지스터 자원과 관련된 타임 스탬프 식별자들 - 여기서, 상기 타임 스탬프 식별자들은 상기 긴 디코드된 명령어들의 셋트의 어떤 LDI 상에서 상기 관련된 레지스터 자원이 활용가능하게 될 것인지를 식별함 - 을 저장하기 위한 타임 스탬프 테이블 ; 및 상기 명령어 시퀀스 내의 명령어들 사이의 종속성과, 상기 타임 스탬프 테이프블에 저장된 상기 타임 스탬프 식별자, 및 상기 op-필드 엔코더에 의해 생성된 상기 op-필드들에 따라, 상기 긴 디코드된 명령어들의 셋트를 구축하는 할당기를 포함하는 컴퓨터 처리 장치.
- 제9항에 있어서, 상기 할당기는 상기 명령어 시퀀스 내의 명령어들의 대기시간(latency)에 따라 상기 긴 디코드된 명령어들의 셋트를 구축하는 컴퓨터 처리 장치.
- 제9항에 있어서, 상기 할당기는 상기 명령어 시퀀스 내의 하나의 명령어가 사전-정의된 정지 명령어와 대응하는 것을 검출할 때, 상기 긴 디코드된 명령어들의 셋트를 폐쇄하는 컴퓨터 처리 장치.
- 제9항에 있어서, 상기 명령어 시퀀스 중 하나의 명령어가 현재 그룹의 op-필드에 의해 이전에 정의된 자원을 정의하는 것을 검출할 때, 상기 할당기는 상기 자원을 자유(free)자원으로 재명명하는 컴퓨터 처리 장치.
- 제9항에 있어서, 상기 타임 스탬프 테이블은 로드 연산 및 저장 연산과 각각 관련된 상기 타임 스탬프 식별자들을 포함하고 : 상기 할당기는 상기 로드 연산 및 저장 연산의 순서를 유지하기 위해, 상기 로드 연산 및 저장 연산과 관련된 상기 타임 스탬프 식별자들을 이용하는 컴퓨터 처리 장치.
- 제1항에 있어서, 상기 제2메모리는, 상기 긴 디코드된 명령어들의 셋트를 각각 포함하는 엔트리들의 어레이 ; 상기 엔트리들의 어레이 중 하나의 엔트리가 상기 페치 제어 신호에 대응하는지를 판단하기 위한 수단 ; 및 상기 하나의 엔트리가 상기 페치 제어 신호에 대응한다고 판단할 때, 상기 하나의 엔트리의 상기 긴 디코드된 명령어들의 셋트를 판독하기 위한 수단을 포함하고, 상기 대체 엔코딩 실행 수단은, 상기 제2 메모리로부터 판독된 상기 긴 디코드된 명령어들의 셋트를 저장하기 위한 버퍼를 포함하고, 상기 다수의 제2 실행 유니트들은 상기 버퍼에 저장된 상기 긴 디코드된 명령어들의 셋트의 상기 op-필드들을 실행하는 컴퓨터 처리 장치.
- 제14항에 있어서, 상기 대체 엔코딩 실행 수단은 상기 op-필드들의 실행 결과에 따라, 상기 페치 제어 신호를 갱신하기 위한 수단을 더 포함하는 컴퓨터 처리 장치.
- 제14항에 있어서, 상기 다수의 제2 실행 유니트들은 각각의 LDI의 실행을 종료한 이후에, 각각의 LDI의 상기 op-필드의 실행 결과를 적절한 레지스터 자원들로 전달하는(put away) 컴퓨터처리 장치.
- 제14항에 있어서, 상기 다수의 제2 실행 유니트들은 상기 긴 디코드된 명령어들의 셋트의 실행을 종료한 이후에, 상기 긴 디코드된 명령어들의 셋트의 상기 op-필드들의 실행 결과를 전달하는 컴퓨터 처리 장치.
- 제14항에 있어서, 소정의 예외를 경함할 때, 상기 버퍼에 저장된 상기 긴 디코드된 명령어들의 셋트 내의 엔코딩된 제1 명령어에 대응하도록 상기 페치 제어 신호를 갱신하고 : 상기 제1 처리 엔진과 관련된 레지스터 자원들을 상기 제1 명령어 이전의 그 원래의 상태로 갱신하고 ; 상기 제1 처리 엔진으로 하여금 상기 제1 명령어의 처리를 시작할 수 있도록 하는 예외 제어기를 더 포함하는 컴퓨터 처리 장치.
- 제14항에 있어서, 상기 제2 메모리에 저장된 하나 또는 그 이상의 상기 긴 디코드된 명령어들은 압축되고 : 상기 대체 엔코딩 실행 수단은 실행 이전에 압축된 각각의 긴 디코드된 명령어를 확장하기 위한 수단을 포함하는 컴퓨터 처리 장치.
- 제14항에 있어서, 상기 버퍼에 저장된 상기 긴 디코드된 명령어들의 셋트의 상기 op-필드들 중 하나가 상기 버퍼에 저장된 상기 긴 디코드된 명령어들의 셋트로부터의 분기 명령어로서 해결된 것을 검출할 때, 후속 처리를 위해 상기 버퍼에 현재 저장된 상기 긴 디코드된 명령어들의 셋트를 상기 그룹 포맷터로 로드하기 위한 수단을 더 포함하는 컴퓨터 처리 장치.
- 명령어들이 제1메모리에 저장되어 있는 컴퓨터 처리 시스템에서, 상기 명령어들을 실행하는 방법에 있어서, 페치 제어 신호에 따라 상기 제1메모리로부터 명령어 큐로 명령어들을 페치하는 단계 : 적어도 하나의 제1실행 유니트에 의한 실행을 위해 상기 명령어 큐에 저장된 명령어를 디스패치하는 단계 : 상기 적어도 하나의 제1실행 유니트에 의해 수행되는 명령어 실행에 따라, 상기 페치 제어 신호를 갱신하는 단계 : 및 상기 적어도 하나의 제1실행 유니트에 의한 상기 명령어 시퀀스들의 실행과 동시에, 실행을 위해 디스패치된 명령어 시퀀스들의 대체 엔코딩-여기서, 상기 대체 엔코딩은 긴 디코드된 명령어(LDI)들의 셋트를 포함하고, 각각의 긴 디코드된 명령어(LDI)는 다수의 제2 실행 유니트 중 하나에 각각 대응하는 op-필드의 셋트를 포함하고, 각각의 op-필드는 대응하는 제2실행 유니트에 의해 실행가능함 -을 생성하는 단계 ; 그룹 포맷터에 의해 생성된 상기 대체 엔코딩을 제2메모리에 저장하는 단계 ; 및 상기 페치 제어 신호가 상기 제2메모리에 저장된 상기 대체 엔코딩에 대응한다는 것을 검출할 때, 상기 제2메모리에 저장된 상기 대체 엔코딩을 실행하도록 상기 다수의 제2실행 유니트들을 제어하는 단계를 포함하는 명령어 실행 방법.
- 제21항에 있어서, 상기 대체 엔코딩은 상기 실행 유니트에 의한 상기 명령어 시퀀스들의 실행 다음에 생성되는 명령어 실행 방법.
- 제21항에 있어서, 상기 대체 엔코딩은 상기 다수의 제2 실행 유니트들에 의한 병렬 실행에 적합한 명령어 실행 방법.
- 원고누락
- 원고누락
- 제21항에 있어서, 각각의 op-필드는 단일머신 사이클에서 상기 대체 엔코딩 실행 수단의 대응하는 제2실행 유니트에 의해 실행될 수 있는 명령어 실행 방법.
- 제21항에 있어서, 상기 컴퓨터 처리 시스템은, 상기 op-필드들이 사용 및/또는 정의할 수 있는 다수의 레지스터 자원 ; 실행을 위해 디스패치된 상기 명령어 시퀀스들에 따라 상기 op-필드를 생성하는 op-필드 엔코더 ; 및 상기 각각의 레지스터 자원과 관련된 타임 스탬프 식별자들 - 여기서, 상기 타임 스탬프 식별자들은 상기 긴 디코드된 명령어들의 셋트의 어떤 LDI 상에서 상기 관련된 레지스터 자원이 활용가능하게 될 것인지를 식별함 - 을 저장하기 위한 타임 스탬프 테이블을 포함하고, 상기 방법은, 상기 명령어 시퀀스 내의 명령어들 사이의 종속성과, 상기 타임 스탬프 테이블에 저장된 상기 타임 스탬프 식별자, 및 상기 op-필드 엔코더에 의해 생성된 상기 op-필드들에 따라, 상기 긴 디코드된 명령어들의 셋트를 구축하는 단계를 더 포함하는 명령어 실행 방법.
- 제27항에 있어서, 상기 긴 디코드된 명령어의 셋트는 상기 명령어 시퀀스 내의 명령어들의 대기시간에 따라 구축되는 명령어 실행 방법.
- 제27항에 있어서, 상기 명령어 시퀀스 내의 하나의 명령어가 사전-정의된 정지 명령에 대응한다는 것을 검출할 때, 상기 긴 디코드된 명령어들의 셋트를 폐쇄하는 단계를 더 포함하는 명령어 실행 방법.
- (2회정정) 제27항에 있어서, 상기 명령어 시퀀스 중 하나의 명령어가 상기 긴 디코드된 명령어들의 셋트내의 하나의 LDI의 op-필드에 의해 이전에 정의된 자원을 정의한다는 것을 검출할 때, 상기 자원을 자유 자원(free resource)으로 재명명하는 단계를 더 포함하는 명령어 실행 방법.
- 제27항에 있어서, 상기 타임 스탬프 테이블은 로드 연산 및 저장 연산과 각각 관련된 타임 스탬프 식별자들을 포함하고, 상기 방법은, 상기 로드 연산 및 저장 연산과 관련된 상기 타임 스탬프 식별자들에 따라 상기 로드 연산 및 저장 연산의 순서를 유지하는 단계를 더 포함하는 명령어 실행 방법.
- 제21항에 있어서, 상기 제2 메모리는 상기 긴 디코드된 명령어들의 셋트를 각각포함하는 엔트리들의 어레이를 포함하고, 상기 방법은, 상기 엔트리들의 어레이 중 하나의 엔트리가 상기 페치 제어 신호에 대응하는지를 판단하는 단계 ; 상기 하나의 엔트리가 상기 페치 제어 신호에 대응한다고 판단할 때, 상기 하나의 엔트리의 상기 긴 디코드된 명령어들의 셋트를 판독하는 단계 : 상기 제2 메모리로부터 판독된 상기 긴 디코드된 명령어들의 셋트를 저장하는 단계 : 및 상기 버퍼에 저장된 상기 긴 디코드된 명령어들의 셋트의 상기 op-필드들을 실행하는 단계를 더 포함하는 명령어 실행 방법.
- 제32항에 있어서, 상기 op-필드들의 실행 결과에 따라 상기 페치 제어 신호를 갱신하는 단계를 더 포함하는 명령어 실행 방법.
- 제32항에 있어서, 각각의 LDI의 실행을 종료한 후 상기 각각의 LDI의 상기 op-필드들의 실행 결과를 적절한 레지스터 자원으로 전달하는 단계를 더 포함하는 명령어 실행 방법.
- 제32항에 있어서, 상기 긴 디코드된 명령어들의 셋트의 실행을 종료한 후 상기 긴 디코드된 명령어들의 셋트이 상기 op-필드들의 실행 결과를 전달하는 단계를 더 포함하는 명령어 실행 방법.
- 제32항에 있어서, 소정의 예외를 경험할 때, 상기 버퍼에 저장된 상기 긴 엔코딩된 명령어들의 셋트 내의 엔코딩된 제1 명령어에 대응하도록 상기 페치 제어 신호를 갱신하는 단계 : 상기 적어도 하나의 실행 유니트와 관련된 레지스터 자원들을 상기 제1 명령어 이전의 그 원래의 상태로 갱신하는 단계 : 및 상기 적어도 하나의 실행 유니트에 의한 실행을 위해 상기 제1 명령어의 처리를 가능하게 하는 단계를 더 포함하는 명령어 실행 방법.
- 제32항에 있어서, 상기 제2 메모리에 상기 하나 또는 그 이상의 긴 디코드된 명령어들을 저장하기 전에, 상기 하나 또는 그 이상의 긴 디코드된 명령어들을 압축하는 단계 ; 및 상기 하나 또는 그 이상의 긴 디코드된 명령어들을 실행하기 전에, 압축된 각각의 긴 디코드된 명령어를 확장하는 단계 더 포함하는 명령어 실행 방법.
- 제32항에 있어서, 상기 버퍼에 저장된 상기 긴 디코드된 명령어들의 셋트의 상기 op-필드들 중 하나가 상기 버퍼에 저장된 상기 긴 디코드된 명령어들의 셋트로부터의 분기 명령어로서 해결된 것을 검출할 때, 상기 버퍼에 현재 저장된 상기 긴 디코드된 명령어들의 셋트를 갱신하는 단계를 더 포함하는 명령어 실행 방법.
- 제32항에 있어서, 상기 버퍼에 저장된 상기 긴 디코드된 명령어들의 셋트의 상기 갱신 단계는, 상기 명령어 시퀀스들 및 그 명령어 시퀀스들 내의 명령어들 사이의 종속성에 따라, 적어도 하나의 긴 디코드된 명령어를 상기 긴 디코드된 명령어들의 셋트에 추가하는 단계를 포함하는 명령어 실행 방법.
- 제39항에 있어서, 상기 적어도 하나의 긴 디코드된 명령어는 상기 명령어 시퀀스들 내에서의 상기 명령어의 대기시간에 따라, 상기 버퍼에 저장된 상기 긴 디코드된 명령어들의 셋트에 추가되는 명령어 실행 방법.
- 제1항에 있어서, 상기 명령어 시퀀스들 중 적어도 하나의 시퀀스 S는 분기 명령어 B, 상기 분기 명령어 B에 선행하는 명령어 PB, 및 상기 분기 명령어 B 다음에 오는 명령어 FB를 포함하고, 상기 시퀀스 S에 대응하는 상기 긴 디코드된 명령어들의 셋트는 상기 분기 명령어 B, 상기 명령어 PB, 및 상기 명령어 FB에 대응하는 op-필드들을 포함하는 컴퓨터 처리 장치.
- 제41항에 있어서, 상기 명령어 시퀀스에서 상기 명령어 PB와 상기 명령어 FB 중 하나의 위치는 상기 분기 명령어 B에 인접해 있지 않은 컴퓨터 처리 장치.'
- 제41항에 있어서, 상기 명령어 FB는 상기 분기 명령어 B의 실행 결과에 근거하여 결정되는 컴퓨터 처리 장치.
- 제41항에 있어서, 상기 시퀀스 S는 복수의 분기 명령어를 포함하고, 상기 상기 시퀀스 S에 대응하는 상기 긴 디코드된 명령어들의 셋트는 상기 복수의 분기 명령어 각각에 대응하는 op-필드들을 포함하는 컴퓨터 처리 장치.
- 제44항에 있어서, 상기 시퀀스 S는 상기 복수의 분기 명령어의 실행 결과에 근거하여 결정되는 컴퓨터 처리 장치.
- 제21항에 있어서, 상기 명령어 시퀀스들 중 적어도 하나의 시퀀스 S는 분기 명령어 B, 상기 분기 명령어에 선행하는 명령어 PB, 및 상기 분기 명령어 다음에 오는 명령어 FB를 포함하고, 상기 시퀀스 S에 대응하는 상기 긴 디코드된 명령어들의 셋트는 상기 분기 명령어 B, 상기 명령어 PB, 및 상기 명령어 FB에 대응하는 op-필드들을 포함하는 명령어 실행 방법.
- 제46항에 있어서, 상기 명령어 시퀀스에서 상기 명령어 PB와 상기 명령어 FB 중 하나의 위치는 상기 분기 명령어 B에 인접해 있지 않은 명령어 실행 방법.
- 제46항에 있어서, 상기 명령어 FB는 상기 분기 명령어 B의 실행 결과에 근거하여 결정되는 명령어 실행 방법.
- 제46항에 있어서, 상기 시퀀스 S는 복수의 분기 명령어를 포함하고, 상기 상기 시퀀스 S에 대응하는 상기 긴 디코드된 명령어들의 셋트는 상기 복수의 명령어 각각에 대응하는 op-필드들을 포함하는 명령어 실행 방법.
- 제49항에 있어서, 상기 시퀀스 S는 상기 복수의 분기 명령어의 실행 결과에 근거하여 결정되는 명령어 실행 방법.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US8/421,272 | 1995-04-13 | ||
| US08/421,272 | 1995-04-13 | ||
| US08/421,272 US5699536A (en) | 1995-04-13 | 1995-04-13 | Computer processing system employing dynamic instruction formatting |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR960038600A KR960038600A (ko) | 1996-11-21 |
| KR100230552B1 true KR100230552B1 (ko) | 1999-11-15 |
Family
ID=23669880
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1019960010200A Expired - Fee Related KR100230552B1 (ko) | 1995-04-13 | 1996-04-04 | 동적 명령어 포맷팅을 이용한 컴퓨터 처리 시스템 |
Country Status (10)
| Country | Link |
|---|---|
| US (1) | US5699536A (ko) |
| EP (1) | EP0737915B1 (ko) |
| JP (1) | JP3093629B2 (ko) |
| KR (1) | KR100230552B1 (ko) |
| CN (1) | CN1122227C (ko) |
| AT (1) | ATE210851T1 (ko) |
| CA (1) | CA2168896A1 (ko) |
| DE (1) | DE69524570T2 (ko) |
| ES (1) | ES2168329T3 (ko) |
| TW (1) | TW274600B (ko) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6708267B1 (en) | 2000-02-04 | 2004-03-16 | International Business Machines Corporation | System and method in a pipelined processor for generating a single cycle pipeline stall |
| KR100890243B1 (ko) | 2000-10-05 | 2009-03-24 | 에이알엠 리미티드 | 변환된 명령어의 재시작 |
| KR102865865B1 (ko) | 2025-06-23 | 2025-09-29 | (주)올포랜드 | 스테이트 머신을 이용한 계층적 명령 객체 기반의 동적 명령처리 방법 |
Families Citing this family (50)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6105124A (en) * | 1996-01-26 | 2000-08-15 | Intel Corporation | Method and apparatus for merging binary translated basic blocks of instructions |
| JP3623840B2 (ja) | 1996-01-31 | 2005-02-23 | 株式会社ルネサステクノロジ | データ処理装置及びマイクロプロセッサ |
| JPH09265397A (ja) * | 1996-03-29 | 1997-10-07 | Hitachi Ltd | Vliw命令用プロセッサ |
| US5913054A (en) * | 1996-12-16 | 1999-06-15 | International Business Machines Corporation | Method and system for processing a multiple-register instruction that permit multiple data words to be written in a single processor cycle |
| US5923862A (en) * | 1997-01-28 | 1999-07-13 | Samsung Electronics Co., Ltd. | Processor that decodes a multi-cycle instruction into single-cycle micro-instructions and schedules execution of the micro-instructions |
| US6009263A (en) * | 1997-07-28 | 1999-12-28 | Institute For The Development Of Emerging Architectures, L.L.C. | Emulating agent and method for reformatting computer instructions into a standard uniform format |
| US6237077B1 (en) * | 1997-10-13 | 2001-05-22 | Idea Corporation | Instruction template for efficient processing clustered branch instructions |
| US5913047A (en) * | 1997-10-29 | 1999-06-15 | Advanced Micro Devices, Inc. | Pairing floating point exchange instruction with another floating point instruction to reduce dispatch latency |
| US6249855B1 (en) * | 1998-06-02 | 2001-06-19 | Compaq Computer Corporation | Arbiter system for central processing unit having dual dominoed encoders for four instruction issue per machine cycle |
| US6240510B1 (en) | 1998-08-06 | 2001-05-29 | Intel Corporation | System for processing a cluster of instructions where the instructions are issued to the execution units having a priority order according to a template associated with the cluster of instructions |
| US6304960B1 (en) | 1998-08-06 | 2001-10-16 | Intel Corporation | Validating prediction for branches in a cluster via comparison of predicted and condition selected tentative target addresses and validation of branch conditions |
| US6385708B1 (en) * | 1998-11-16 | 2002-05-07 | Infineon Technologies Ag | Using a timing-look-up-table and page timers to determine the time between two consecutive memory accesses |
| US6247097B1 (en) | 1999-01-22 | 2001-06-12 | International Business Machines Corporation | Aligned instruction cache handling of instruction fetches across multiple predicted branch instructions |
| JP2001005675A (ja) * | 1999-06-21 | 2001-01-12 | Matsushita Electric Ind Co Ltd | プログラム変換装置及びプロセッサ |
| ATE464600T1 (de) | 2000-02-28 | 2010-04-15 | Nxp Bv | Datenprozessor mit meherern befehlen umfassende befehlswörtern |
| US6622269B1 (en) * | 2000-11-27 | 2003-09-16 | Intel Corporation | Memory fault isolation apparatus and methods |
| US6877089B2 (en) | 2000-12-27 | 2005-04-05 | International Business Machines Corporation | Branch prediction apparatus and process for restoring replaced branch history for use in future branch predictions for an executing program |
| US7072347B2 (en) * | 2001-02-23 | 2006-07-04 | International Business Machines Corporation | Assignment of packet descriptor field positions in a network processor |
| US7356673B2 (en) * | 2001-04-30 | 2008-04-08 | International Business Machines Corporation | System and method including distributed instruction buffers for storing frequently executed instructions in predecoded form |
| US7114058B1 (en) * | 2001-12-31 | 2006-09-26 | Apple Computer, Inc. | Method and apparatus for forming and dispatching instruction groups based on priority comparisons |
| US7761852B2 (en) * | 2003-11-26 | 2010-07-20 | International Business Machines Corporation | Fast detection of the origins of memory leaks when using pooled resources |
| US7665070B2 (en) * | 2004-04-23 | 2010-02-16 | International Business Machines Corporation | Method and apparatus for a computing system using meta program representation |
| US7730470B2 (en) * | 2006-02-27 | 2010-06-01 | Oracle America, Inc. | Binary code instrumentation to reduce effective memory latency |
| TWI348135B (en) | 2006-06-05 | 2011-09-01 | Chunghwa Picture Tubes Ltd | Image contrast correct system and method thereof |
| US8301870B2 (en) * | 2006-07-27 | 2012-10-30 | International Business Machines Corporation | Method and apparatus for fast synchronization and out-of-order execution of instructions in a meta-program based computing system |
| JP4996945B2 (ja) * | 2007-02-28 | 2012-08-08 | 公立大学法人広島市立大学 | データ処理装置、データ処理方法 |
| CN101290589B (zh) * | 2007-12-27 | 2010-06-16 | 华为技术有限公司 | 一种并发指令操作方法和装置 |
| US8281109B2 (en) * | 2007-12-27 | 2012-10-02 | Intel Corporation | Compressed instruction format |
| CN102063330B (zh) * | 2011-01-05 | 2013-04-24 | 北京航空航天大学 | 一种大规模并行程序性能数据采集方法 |
| US9395988B2 (en) * | 2013-03-08 | 2016-07-19 | Samsung Electronics Co., Ltd. | Micro-ops including packed source and destination fields |
| GB2514618B (en) * | 2013-05-31 | 2020-11-11 | Advanced Risc Mach Ltd | Data processing systems |
| US20150220343A1 (en) * | 2014-02-05 | 2015-08-06 | Mill Computing, Inc. | Computer Processor Employing Phases of Operations Contained in Wide Instructions |
| GB2539411B (en) * | 2015-06-15 | 2017-06-28 | Bluwireless Tech Ltd | Data processing |
| US11829767B2 (en) | 2022-01-30 | 2023-11-28 | Simplex Micro, Inc. | Register scoreboard for a microprocessor with a time counter for statically dispatching instructions |
| US11829762B2 (en) | 2022-01-30 | 2023-11-28 | Simplex Micro, Inc. | Time-resource matrix for a microprocessor with time counter for statically dispatching instructions |
| US12001848B2 (en) | 2022-01-30 | 2024-06-04 | Simplex Micro, Inc. | Microprocessor with time counter for statically dispatching instructions with phantom registers |
| US12443412B2 (en) | 2022-01-30 | 2025-10-14 | Simplex Micro, Inc. | Method and apparatus for a scalable microprocessor with time counter |
| US11954491B2 (en) | 2022-01-30 | 2024-04-09 | Simplex Micro, Inc. | Multi-threading microprocessor with a time counter for statically dispatching instructions |
| US11829187B2 (en) | 2022-01-30 | 2023-11-28 | Simplex Micro, Inc. | Microprocessor with time counter for statically dispatching instructions |
| US12190116B2 (en) * | 2022-04-05 | 2025-01-07 | Simplex Micro, Inc. | Microprocessor with time count based instruction execution and replay |
| US12141580B2 (en) | 2022-04-20 | 2024-11-12 | Simplex Micro, Inc. | Microprocessor with non-cacheable memory load prediction |
| US12169716B2 (en) | 2022-04-20 | 2024-12-17 | Simplex Micro, Inc. | Microprocessor with a time counter for statically dispatching extended instructions |
| US12106114B2 (en) | 2022-04-29 | 2024-10-01 | Simplex Micro, Inc. | Microprocessor with shared read and write buses and instruction issuance to multiple register sets in accordance with a time counter |
| US12288065B2 (en) | 2022-04-29 | 2025-04-29 | Simplex Micro, Inc. | Microprocessor with odd and even register sets |
| US12112172B2 (en) | 2022-06-01 | 2024-10-08 | Simplex Micro, Inc. | Vector coprocessor with time counter for statically dispatching instructions |
| US12147812B2 (en) | 2022-07-13 | 2024-11-19 | Simplex Micro, Inc. | Out-of-order execution of loop instructions in a microprocessor |
| US12541369B2 (en) | 2022-07-13 | 2026-02-03 | Simplex Micro, Inc. | Executing phantom loops in a microprocessor |
| US12282772B2 (en) | 2022-07-13 | 2025-04-22 | Simplex Micro, Inc. | Vector processor with vector data buffer |
| US12124849B2 (en) | 2022-07-13 | 2024-10-22 | Simplex Micro, Inc. | Vector processor with extended vector registers |
| US12393424B2 (en) * | 2024-01-25 | 2025-08-19 | Texas Instruments Incorporated | Systems and methods for monitoring an instruction bus |
Family Cites Families (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4295193A (en) * | 1979-06-29 | 1981-10-13 | International Business Machines Corporation | Machine for multiple instruction execution |
| US4466061A (en) * | 1982-06-08 | 1984-08-14 | Burroughs Corporation | Concurrent processing elements for using dependency free code |
| US4484272A (en) * | 1982-07-14 | 1984-11-20 | Burroughs Corporation | Digital computer for executing multiple instruction sets in a simultaneous-interleaved fashion |
| JPS5932045A (ja) * | 1982-08-16 | 1984-02-21 | Hitachi Ltd | 情報処理装置 |
| US4679141A (en) * | 1985-04-29 | 1987-07-07 | International Business Machines Corporation | Pageable branch history table |
| GB8521672D0 (en) * | 1985-08-30 | 1985-10-02 | Univ Southampton | Data processing device |
| US5021945A (en) * | 1985-10-31 | 1991-06-04 | Mcc Development, Ltd. | Parallel processor system for processing natural concurrencies and method therefor |
| US4903196A (en) * | 1986-05-02 | 1990-02-20 | International Business Machines Corporation | Method and apparatus for guaranteeing the logical integrity of data in the general purpose registers of a complex multi-execution unit uniprocessor |
| US4825360A (en) * | 1986-07-30 | 1989-04-25 | Symbolics, Inc. | System and method for parallel processing with mostly functional languages |
| US4811214A (en) * | 1986-11-14 | 1989-03-07 | Princeton University | Multinode reconfigurable pipeline computer |
| US5127104A (en) * | 1986-12-29 | 1992-06-30 | Dataflow Computer Corporation | Method and product involving translation and execution of programs by automatic partitioning and data structure allocation |
| US4992938A (en) * | 1987-07-01 | 1991-02-12 | International Business Machines Corporation | Instruction control mechanism for a computing system with register renaming, map table and queues indicating available registers |
| DE69030931T2 (de) * | 1989-04-24 | 1998-01-15 | Ibm | Mehrfachsequenzprozessorsystem |
| US5197137A (en) * | 1989-07-28 | 1993-03-23 | International Business Machines Corporation | Computer architecture for the concurrent execution of sequential programs |
| EP0454985B1 (en) * | 1990-05-04 | 1996-12-18 | International Business Machines Corporation | Scalable compound instruction set machine architecture |
| EP0474297B1 (en) * | 1990-09-05 | 1998-06-10 | Koninklijke Philips Electronics N.V. | Very long instruction word machine for efficient execution of programs with conditional branches |
| US5299321A (en) * | 1990-12-18 | 1994-03-29 | Oki Electric Industry Co., Ltd. | Parallel processing device to operate with parallel execute instructions |
| EP0586557A4 (en) * | 1991-05-24 | 1995-04-12 | British Tech Group Usa | COMPILER OPTIMIZATION FOR COMPUTERS. |
| US5347639A (en) * | 1991-07-15 | 1994-09-13 | International Business Machines Corporation | Self-parallelizing computer system and method |
| US5408658A (en) * | 1991-07-15 | 1995-04-18 | International Business Machines Corporation | Self-scheduling parallel computer system and method |
-
1995
- 1995-04-13 US US08/421,272 patent/US5699536A/en not_active Expired - Fee Related
- 1995-10-06 ES ES95115748T patent/ES2168329T3/es not_active Expired - Lifetime
- 1995-10-06 EP EP95115748A patent/EP0737915B1/en not_active Expired - Lifetime
- 1995-10-06 DE DE69524570T patent/DE69524570T2/de not_active Expired - Fee Related
- 1995-10-06 AT AT95115748T patent/ATE210851T1/de not_active IP Right Cessation
- 1995-10-07 TW TW084110576A patent/TW274600B/zh active
-
1996
- 1996-02-06 CA CA002168896A patent/CA2168896A1/en not_active Abandoned
- 1996-04-01 CN CN96104502A patent/CN1122227C/zh not_active Expired - Fee Related
- 1996-04-04 KR KR1019960010200A patent/KR100230552B1/ko not_active Expired - Fee Related
- 1996-04-09 JP JP08086944A patent/JP3093629B2/ja not_active Expired - Fee Related
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6708267B1 (en) | 2000-02-04 | 2004-03-16 | International Business Machines Corporation | System and method in a pipelined processor for generating a single cycle pipeline stall |
| KR100523706B1 (ko) * | 2000-02-04 | 2005-10-26 | 인터내셔널 비지네스 머신즈 코포레이션 | 단일 사이클 파이프라인 스톨을 발생하기 위한 파이프라인 프로세서 시스템 및 방법 |
| KR100890243B1 (ko) | 2000-10-05 | 2009-03-24 | 에이알엠 리미티드 | 변환된 명령어의 재시작 |
| KR102865865B1 (ko) | 2025-06-23 | 2025-09-29 | (주)올포랜드 | 스테이트 머신을 이용한 계층적 명령 객체 기반의 동적 명령처리 방법 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR960038600A (ko) | 1996-11-21 |
| DE69524570T2 (de) | 2002-08-22 |
| US5699536A (en) | 1997-12-16 |
| DE69524570D1 (de) | 2002-01-24 |
| CA2168896A1 (en) | 1996-10-14 |
| EP0737915A1 (en) | 1996-10-16 |
| CN1122227C (zh) | 2003-09-24 |
| CN1136184A (zh) | 1996-11-20 |
| JP3093629B2 (ja) | 2000-10-03 |
| EP0737915B1 (en) | 2001-12-12 |
| JPH0922354A (ja) | 1997-01-21 |
| ES2168329T3 (es) | 2002-06-16 |
| TW274600B (en) | 1996-04-21 |
| ATE210851T1 (de) | 2001-12-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100230552B1 (ko) | 동적 명령어 포맷팅을 이용한 컴퓨터 처리 시스템 | |
| US6988183B1 (en) | Methods for increasing instruction-level parallelism in microprocessors and digital system | |
| US7458069B2 (en) | System and method for fusing instructions | |
| US7363467B2 (en) | Dependence-chain processing using trace descriptors having dependency descriptors | |
| US5732234A (en) | System for obtaining parallel execution of existing instructions in a particulr data processing configuration by compounding rules based on instruction categories | |
| US5923863A (en) | Software mechanism for accurately handling exceptions generated by instructions scheduled speculatively due to branch elimination | |
| US8200987B2 (en) | Dynamic object-level code translation for improved performance of a computer processor | |
| KR100586058B1 (ko) | 재명명 태그들을 교환함으로써 이동이 이루어지는 레지스터 재명명 | |
| US5884060A (en) | Processor which performs dynamic instruction scheduling at time of execution within a single clock cycle | |
| US5867684A (en) | Method and processor that permit concurrent execution of a store multiple instruction and a dependent instruction | |
| US8966459B2 (en) | Processors and compiling methods for processors | |
| JPH0773036A (ja) | 命令シーケンスを識別してタグを付加する方法 | |
| KR102575938B1 (ko) | 블록 크기에 기초하여 명령어 블록을 명령어 윈도우에 맵핑하기 | |
| US20140075157A1 (en) | Methods and Apparatus for Adapting Pipeline Stage Latency Based on Instruction Type | |
| JP2004145903A (ja) | スーパースケーラマイクロプロセサ | |
| CN104040490A (zh) | 用于多引擎微处理器的加速的代码优化器 | |
| US6950926B1 (en) | Use of a neutral instruction as a dependency indicator for a set of instructions | |
| JP2001092657A (ja) | 中央演算装置、コンパイル方法、及びコンパイルプログラムを記録した記録媒体 | |
| US7836282B2 (en) | Method and apparatus for performing out of order instruction folding and retirement | |
| US7694110B1 (en) | System and method of implementing microcode operations as subroutines | |
| US5850563A (en) | Processor and method for out-of-order completion of floating-point operations during load/store multiple operations | |
| EP0924603A2 (en) | Compiler controlled dynamic scheduling of program instructions | |
| JP2828219B2 (ja) | オブジェクト・コード互換性を与える方法、オブジェクト・コード互換性並びにスカラ・プロセッサ及びスーパスカラ・プロセッサとの互換性を与える方法、ツリー命令を実行するための方法、データ処理システム | |
| JPH04506878A (ja) | データ処理装置 | |
| US20040128482A1 (en) | Eliminating register reads and writes in a scheduled instruction cache |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| LAPS | Lapse due to unpaid annual fee | ||
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20020824 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20020824 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |