KR100493126B1 - 데이터정밀도모드표시기를구비한다중파이프라인형마이크로프로세서 - Google Patents
데이터정밀도모드표시기를구비한다중파이프라인형마이크로프로세서 Download PDFInfo
- Publication number
- KR100493126B1 KR100493126B1 KR1019970006867A KR19970006867A KR100493126B1 KR 100493126 B1 KR100493126 B1 KR 100493126B1 KR 1019970006867 A KR1019970006867 A KR 1019970006867A KR 19970006867 A KR19970006867 A KR 19970006867A KR 100493126 B1 KR100493126 B1 KR 100493126B1
- Authority
- KR
- South Korea
- Prior art keywords
- precision
- functional devices
- group
- mode indicator
- instruction
- Prior art date
Links
- 238000000034 method Methods 0.000 claims 9
- 238000010586 diagram Methods 0.000 description 10
- 230000007704 transition Effects 0.000 description 8
- 239000000872 buffer Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000746 purification Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 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
- 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
-
- E—FIXED CONSTRUCTIONS
- E05—LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
- E05C—BOLTS OR FASTENING DEVICES FOR WINGS, SPECIALLY FOR DOORS OR WINDOWS
- E05C3/00—Fastening devices with bolts moving pivotally or rotatively
- E05C3/02—Fastening devices with bolts moving pivotally or rotatively without latching action
- E05C3/04—Fastening devices with bolts moving pivotally or rotatively without latching action with operating handle or equivalent member rigid with the bolt
- E05C3/047—Fastening devices with bolts moving pivotally or rotatively without latching action with operating handle or equivalent member rigid with the bolt rotating about an axis parallel to the surface on which the fastener is mounted
- E05C3/048—Fastening devices with bolts moving pivotally or rotatively without latching action with operating handle or equivalent member rigid with the bolt rotating about an axis parallel to the surface on which the fastener is mounted parallel to the wing edge
-
- E—FIXED CONSTRUCTIONS
- E05—LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
- E05B—LOCKS; ACCESSORIES THEREFOR; HANDCUFFS
- E05B65/00—Locks or fastenings for special use
- E05B65/0014—Locks or fastenings for special use to prevent opening by children
-
- E—FIXED CONSTRUCTIONS
- E05—LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
- E05C—BOLTS OR FASTENING DEVICES FOR WINGS, SPECIALLY FOR DOORS OR WINDOWS
- E05C19/00—Other devices specially designed for securing wings, e.g. with suction cups
- E05C19/18—Portable devices specially adapted for securing wings
- E05C19/188—Removably mounted securing devices, e.g. devices clamped to the wing or the frame
-
- E—FIXED CONSTRUCTIONS
- E06—DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
- E06B—FIXED OR MOVABLE CLOSURES FOR OPENINGS IN BUILDINGS, VEHICLES, FENCES OR LIKE ENCLOSURES IN GENERAL, e.g. DOORS, WINDOWS, BLINDS, GATES
- E06B9/00—Screening or protective devices for wall or similar openings, with or without operating or securing mechanisms; Closures of similar construction
- E06B9/02—Shutters, movable grilles, or other safety closing devices, e.g. against burglary
- E06B9/04—Shutters, movable grilles, or other safety closing devices, e.g. against burglary of wing type, e.g. revolving or sliding
-
- 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/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
- G06F9/30014—Arithmetic instructions with variable precision
-
- E—FIXED CONSTRUCTIONS
- E05—LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
- E05B—LOCKS; ACCESSORIES THEREFOR; HANDCUFFS
- E05B17/00—Accessories in connection with locks
- E05B17/20—Means independent of the locking mechanism for preventing unauthorised opening, e.g. for securing the bolt in the fastening position
- E05B17/2007—Securing, deadlocking or "dogging" the bolt in the fastening position
- E05B17/208—Securing, deadlocking or "dogging" the bolt in the fastening position by means of an additional dogging movement of a rotary bolt
-
- E—FIXED CONSTRUCTIONS
- E05—LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
- E05B—LOCKS; ACCESSORIES THEREFOR; HANDCUFFS
- E05B63/00—Locks or fastenings with special structural characteristics
- E05B63/0052—Locks mounted on the "frame" cooperating with means on the "wing"
-
- E—FIXED CONSTRUCTIONS
- E05—LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
- E05B—LOCKS; ACCESSORIES THEREFOR; HANDCUFFS
- E05B65/00—Locks or fastenings for special use
- E05B65/0007—Locks or fastenings for special use for gates
-
- E—FIXED CONSTRUCTIONS
- E06—DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
- E06B—FIXED OR MOVABLE CLOSURES FOR OPENINGS IN BUILDINGS, VEHICLES, FENCES OR LIKE ENCLOSURES IN GENERAL, e.g. DOORS, WINDOWS, BLINDS, GATES
- E06B9/00—Screening or protective devices for wall or similar openings, with or without operating or securing mechanisms; Closures of similar construction
- E06B2009/002—Safety guards or gates
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10T—TECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
- Y10T292/00—Closure fasteners
- Y10T292/08—Bolts
- Y10T292/0911—Hooked end
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Structural Engineering (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Civil Engineering (AREA)
- Architecture (AREA)
- Advance Control (AREA)
- Gates (AREA)
Abstract
본 발명은 대부분의 기능 장치의 경우에 파이프라인 내에서 단일 정밀도 연산 및 2배 정밀도 연산이 동시에 이루어지기가 어렵다는 점에서 비롯된다. 따라서, 본 발명은 레지스터 지정이 이러한 기능 장치에 대해 단일 정밀도 인지 또는 2배 정밀도인지의 여부를 검사하기 위한 논리부를 제거시킨다. 대신, 파이프라인 내의 미처리 명령이 단일 정밀도 인지 또는 2배 정밀도인지의 여부를 나타내도록 모드 표시기가 설정된다. 정밀도에 드문 변화가 발생하면, 그 명령은 파이프라인이 비워질때까지 디스패치되지 않을 것이다. 이와 같이, 데이터 종속성 검사 논리는 레지스터 지정이 단일 정밀도 인지 또는 2배 정밀도인지의 여부를 알지 못하더라도 레지스터 지정을 비교할 수 있다.
Description
본 발명은 복수의 기능 장치인 파이프라인형 마이크로프로세서에서의 데이터의 종속성(dependency)을 판정하는 구조에 관한 것으로, 특히 단일 정밀도 레지스터 및 2배 정밀도 레지스터가 동일한 레지스터 파일을 사용하는 구조에 관한 것이다.
마이크로프로세서는 정수 형식 또는 부동 소수점 형식의 연산과 산술 연산을 수행한다. 고정 부분과 지수를 포함하고 있는 부동 소수점 명령은 때로는 각각의 부동 소수점 보조 처리기에서 처리되기도 하고, 부동 소수점 연산이 마이크로프로세서 자체에서 그대로 실행될 수도 있다.
정수 연산자(operand) 또는 부동 소수점 연산자 중의 하나는 단일 정밀도, 2배 정밀도 또는 4배 정밀도가 될 수 있다. 예컨대, 단일 정밀도 형식은 32 비트이고, 2배 정밀도 형식은 64 비트이다. 단일 레지스터 파일은 흔히 64 비트 폭으로 사용된다. 단일 정밀도 데이터를 저장하는 경우, 각 라인에 2 개의 데이터를 저장할 수 있다. 한편, 2배 정밀도의 경우는 각 라인에 하나의 데이터가 저장된다. 그러므로, 사용되는 모드에 따라서 레지스터 지정이 중복될 수 있다.
복수의 기능 장치인 파이프라인형 프로세서에서 디스패치 장치는 명령을 적절한 기능 장치에 디스패치할 것이다. 그것을 실행하기 전에, 디스패치 장치는 데이터와 제어의 종속성을 검사하여 디스패치되는 새로운 명령이 미처리 명령 중의 하나의 명령에 의해 사용되는 것과 동일한 레지스터를 필요로 하는지를 결정한다. 이러한 검사는 레지스터 지정이 단일 정밀도 수치 또는 2배 정밀도 수치와 관련되는지의 여부에 따라 중복될 수도 있고 다른 것을 의미할 수도 있다는 사실로 인해 복잡해진다.
따라서, 성능을 저하시키지 않고 디스패치 논리 회로의 데이터 종속성 논리 회로를 간소화하는 것이 요망된다.
본 발명은 대부분의 기능 장치의 경우 파이프라인에서의 단일 정밀도 연산 및 2배 정밀도 연산이 동시에 이루어지기가 어렵다는 점에서 비롯된다. 따라서, 본 발명은 레지스터 지정이 이러한 기능 장치에 대해 단일 정밀도 또는 2배 정밀도인지의 여부를 검사하기 위한 논리를 제거시킨다. 그 대신, 모드 표시기가 파이프라인 내의 미처리 명령이 단일 정밀도 인지 또는 2배 정밀도인지의 여부를 나타내도록 설정된다. 정밀도에 드문 변화가 발생하면, 그 명령은 파이프라인이 비워질때까지 디스패치되지 않을 것이다. 이와 같이, 데이터 종속성 검사 논리는 단일 정밀도인지 또는 2배 정밀도인지의 여부를 알지 못하더라도 레지스터 지정을 비교할 수 있다.
일실시예에서, 단일 정밀도와 2배 정밀도간의 더욱 빈번한 변화를 갖는 기능 장치는 그 2 개를 구별하는 논리가 제공되며, 그 결과가 디스패치 장치 내의 데이터 종속성 검사 논리에 제공된다. 특히, 로드/저장 기능 장치를 사용하는 연산에는 단일 정밀도와 2배 정밀도 사이의 변화가 더욱 빈번히 발생하기 때문에, 로드/저장 기능 장치에는 이러한 논리가 제공된다.
본 발명의 추가의 실시예에서, 완성 장치(completion unit)는 각각의 레지스터 지정이 단일 정밀도 인지 또는 2배 정밀도인지의 여부를 검사하는 논리를 제공하지 않고서도, 바이패스될 수 있다. 이것은 모드 표시기가 제1 위치의 기능 장치 파이프라인 내의 단일 정밀도와 2배 정밀도의 혼재를 방지함으로써 가능하고, 이에 따라, 이러한 부가적인 논리가 불필요하게 된다. 그러나, 로드/저장 장치에는 이러한 논리가 제공된다.
바람직한 실시예에서, 상기 모드를 나타내는데 2 비트 레지스터가 사용된다. 제1 비트는 단일 정밀도 또는 2배 정밀도 중의 하나를 나타낸다. 제2 비트는 파이프라인이 비어있는지의 여부를 나타낸다. 일실시예에서, 단일 모드 표시기는 로드/저장 장치를 제외한 모든 기능 장치에 사용된다. 일실시예에서, 모드 표시기는 단일 정밀도와 2배 정밀도간 전환이 허용되기 전에 공상태(empty state)로 전이해야 한다. 이러한 제약은 전환시에 계산을 수행하는데 필요한 시간에 의해 싸이클을 제한하지 않음으로써 클록 속도를 향상시킬 수 있다. 단일 정밀도와 2배 정밀도간의 전환이 로드/저장 기능 장치 외에는 거의 발생하지 않기 때문에 불이익이 거의 없다.
첨부된 도면에 부합하는 다음의 설명을 참조함으로써 본 발명의 특징과 장점을 더 깊이 이해할 수 있을 것이다.
도 1은 본 발명을 구현한 UltraSparcTM 마이크로프로세서의 블록도이다. 명령 캐시(12)는 디코드 장치(14)에 명령을 제공한다. 이 명령 캐시는, 프리패치 장치(16)로부터 자신의 명령을 수신할 수 있고, 프리패치 장치(16)는 분기 장치(18)로부터 명령을 수신하거나 또는 명령 변환 색인 버퍼(TLB)(20)에 가상 어드레스를 제공하며, 상기 색인 버퍼 TLB(20)는 캐시 제어/시스템 인터페이스(22)를 통해 오프-칩 캐시로부터 명령이 인출되도록 한다. 오프-칩 캐시로부터의 명령은 프리디코드 장치(24)에 전송되어, 분기 명령인지 등의 특정 정보가 명령 캐시(12)에 제공된다.
디코드 장치(14)로부터의 명령은, 이러한 명령이 디스패치 장치(28)에 의해 액세스되는 명령 버퍼(26)(복수의 버퍼가 병렬로 사용 가능)에 제공된다. 디스패치 장치(28)는 한번에 디코드된 4 개의 명령을 버스(30)로 공급하여, 각각의 명령은 8개의 기능 장치(32∼46)중 하나의 장치에 공급된다. 디스패치 장치는 데이터와 제어의 종속성 및 구조적 방해물(적절한 기능 장치와 필요한 메모리 포트의 가용성 등)의 검사를 조건으로, 각 사이클에 그러한 4 개의 명령을 디스패치할 것이다.
처음 세 개의 기능 장치, 즉 로드/저장 장치(32)와 2 개의 정수 ALU 장치(34, 36)는 정수 레지스터(48)의 세트를 공유한다. 부동 소수점 레지스터(50)는 부동 소수점 장치(38, 40, 42)와 그래픽 장치(44, 46)에 의해 공유된다. 정수 기능 장치 그룹 및 부동 소수점 기능 장치 그룹은 각각의 대응하는 완성 장치(52, 54)를 갖는다. 마이크로프로세서는 온-칩 데이터 캐시(56)와 데이터 변환 색인 버퍼(TLB)(58)도 구비하고 있다.
도 2는 레지스터 파일(60)을 도시하고 있다. 제 1 라인(62)은 2배 정밀도 모드에서는 레지스터 F0으로 지정되는 한편, 단일 정밀도 모드에서는 2 개의 레지스터(F0, F1)로 지정된다. 이와 마찬가지로, 제2 엔트리(64)는 2배 정밀도 모드에서는 레지스터 F1으로 지정되는 한편, 단일 정밀도 모드에서는 2 개의 레지스터(F2, F3)로 지정된다. 이상으로 알 수 있는 바와같이, 정밀도가 단일 정밀도인지 또는 2배 정밀도인지를 모르고서도, 예컨대 레지스터 "F1" 에 대한 참조가 다른 두 위치에서 이루어질 수 있다.
도 3a 와 도 3b는 단일 정밀도 부동 소수점 수 및 2배 정밀도 부동 소수점 수의 형식을 예시하고 있다. 도면으로부터 알 수 있는 바와 같이, 도 3a에서 단일 정밀도는 32 비트를 필요로 하여 레지스터 파일(60) 내의 엔트리의 반을 차지할 것이고, 도 3b의 2배 정밀도 수는 64 비트를 차지하고 레지스터 파일(60)의 라인 전체를 필요로 한다.
도 4a는 명령 형식을 예시하고 있다. OP 코드(66)는 그것이 부동 소수점 ADD라는 것을 나타내고 맨 끝의 "S" 는 그것이 단일 정밀도임을 나타낸다. 명령에 의해 사용되는 연산자는 레지스터 F0과 F1을 지칭하는 레지스터 지정(68, 70)에 의해 나타낸다. 수신지 레지스터는 레지스터 F3를 지칭하는 지정(72)에 의해 나타낸다. 이것이 OP 코드에 의해 나타낸 바와 같이 단일 정밀도 연산자이므로, F0 지정은 도 2에서 단일 정밀도 F0 위치(74)를 지칭하고, F1 지정은 위치(76)를 지칭하며 F3 지정은 도 2의 레지스터 파일(60)에서 라인(64)의 후반부인 위치(78)를 지칭한다.
도 4b는 OP 코드(80)가 2배 정밀도인 정수 ADD를 나타내는 상이한 명령을 예시하고 있다. 그러므로, 연산자 레지스터용의 레지스터 지정 F0 및 F2과 수신지 레지스터의 레지스터 지정 F6은 2배 정밀도 지정이다. F0은 도 2의 레지스터 파일(60)에서 라인(62)을 지칭하며, 단일 정밀도 F0과 F1을 교차하고 있다. 이와 마찬가지로, F2는 도 2의 엔트리(64)를 지칭하고, F6은 엔트리(82)를 지칭하며, 이 모두는 2 개의 별도의 단일 정밀도 레지스터와 마주할 것이다.
데이터 종속성을 판정하기 위해 레지스터 지정이 단일 정밀도 OP 코드 또는 2배 정밀도 OP 코드에 대응하는지의 여부를 결정할 필요가 있음을 알 수 있다. 도 4b의 새로운 명령에 대한 데이터 종속성을 판정함에 있어서, 도 4a가 미처리되었다면, F3 로의 완료 결과의 기입은 도 4b의 명령이 레지스터 F1을 액세스할 수 있기 전에 발생해야만 하는데, 그 이유는 도 4a와 도 4b의 명령이 도 2에 도시된 바와 같이 동일한 엔트리 라인을 사용하기 때문이다.
도 5는 도 1의 마이크로프로세서의 일부를 더욱 상세히 도시한 것이다. 특히, 로드/저장 장치(32)와 기능 장치(36, 34)를 나타내었다.
도 6은 도 1의 부동 소수점 및 그래픽 기능 장치를 동일한 로드/저장 장치(88)와 함께 도시하고 있다.
도 7은 도 1의 디스패치 장치(28)를 더욱 상세히 도시하는 블록도이다. 제어 논리(90)는 기능 장치 및 다른 필요한 자원의 가용성에 따라, 각 명령이 어느 기능 장치로 디스패치되어야만 하는지를 판정한다. 2 개의 기능 장치, 즉 로드/저장 장치(32) 및 정수 ALU 기능 장치(36)는 예시 목적으로 도시된 것이다. 명령을 제1의 기능 장치(로드/저장 장치를 제외한 모든 기능 장치) 그룹에 디스패치하기 전에, 제어 논리(90)는 레지스터(92)의 정밀도 모드를 검사한다. 디스패치되는 명령이 레지스터(92) 내의 모드 비트에 의해 나타낸 바와 같이 파이프라인에서의 명령과 동일한 정밀도를 갖는다면 명령은 레지스터 지정이 모두 동일한 정밀도라고 가정하여 데이터 종속성을 검사하여 디스패치된다. 그렇지 않다면, 모드 레지스터(92) 내의 공비트로 나타낸 바와 같이, 파이프라인이 비워질때까지 명령이 정지될 것이다.
명령이 로드/저장 장치(32)에 대한 것이라면, 그 정밀도가 로드/저장 파이프라인 내의 선행 명령의 정밀도와 일치하는지의 여부에 관계없이 명령을 진행하는 것이 가능하다. 제어 논리는 로드/저장 장치(32) 내의 명령 또는 로드/저장 장치(32)에 공급된 명령을 기초로 하여 모드 비트를 변경하지 않을 것이며, 로드/저장 기능 장치에 명령을 공급하기 위한 데이터 종속성 검사시에 레지스터 지정의 정밀도를 검사한다.
상기 모드 비트는 OP 코드 디코드 논리 블록(94)에 의해 설정된다. 논리 블록(94)은 각 명령의 OP 코드를 디코드하여 명령이 단일 정밀도인지 2배 정밀도인지를 판정하고, 명령을 파이프라인 내로 디스패치 할 때에 따라 모드 비트(92)를 설정한다.
상기 예시도에서, 정수 ALU(36)는 실제 기능 논리를 포함하는 제1 블록(96)과 파이프라인을 통하여 운반된 레지스터 지정인 협폭의 블록(98)으로 도시되어 있다. 레지스터 지정은 데이터 종속성 논리(190) 및 기능 장치(28)로 다시 제공된다. 데이터 종속성 논리(100)는 제어 논리(90)에 의해 디스패치되는 새로운 명령에 의해 지정된 레지스터를, 논리(98)에 의해 지정된 바와 같은 파이프라인의 레지스터 지정과 비교한다. 이와 유사한 논리가 각각의 다른 기능 장치에 포함되고 데이터 종속성 논리(100)에 제공될 것이다. 상기 기능 장치의 파이프라인의 각 단계에 대해 OP 코드를 제공할 필요가 없으므로, 이러한 논리는 매우 간단함을 알 수 있다. 데이터 종속성 논리(100)는 새로운 명령 및 현재 명령의 레지스터 지정이 동일한 정밀도라고 추정한다.
한편, 로드/저장 기능 장치(32)는 블록(102)으로 도시한 실제의 기능 논리와, 레지스터 사용 논리(104)와, 추가의 OP 코드 논리(106)를 구비하고 있다. OP 코드 논리(106)는 데이터 종속성 논리(100)에 상기 로드/저장 기능 장치 파이프라인의 각 단계의 명령이 단일 정밀도 인지 또는 2배 정밀도인지의 여부를 나타낸다. 데이터 종속성 논리는 이 정보를 사용하여 제어 논리(90)에 의해 디스패치되는 새로운 명령에 대한 데이터 종속성을 판정하기 위해 추가의 논리 세트를 포함한다.
이와 같이, 본 발명에 의해, 각 기능 장치에 대한 논리(106)가 필요하지 않고, 또한 각 기능 장치에 대한 대응 논리 및 데이터 종속성 논리(100)가 필요하지 않은 이점이 있으며, 이 논리 회로는 로드/저장 기능 장치만을 필요로 한다는 것을 알 수 있다.
또한, 도 5와 도 6을 다시 참조하면, 도 5의 바이패스 정밀도 논리(52) 및 도 6의 바이패스 정밀도 논리(54)는 단일 정밀도 수와 2배 정밀도 수의 혼재가 있는 곳에 완성 장치의 바이패싱이 가능한지의 여부를 판정하기 위해 도 5의 로드/저장 장치(32)와 도 6의 로드/저장 장치(110)에 대해 사용된다. 다른 기능 장치는 이러한 논리를 제거하며, 바이패스 명령이 파이프라인 내의 다른 명령과 상이한 정밀도인지의 여부에 관계없이 바이패스할 수 있도록 한다. 파이프라인이 상이한 정밀도 명령을 가질 수 없기 때문에, 이러한 상태는 결코 발생하지 않을 것이며, 따라서 이런 추가의 검사 논리의 필요성이 배제된다.
도 8은 본 발명의 정밀도 표시기의 세 가지 상태를 도시하는 상태도이다. 제 1의 단일 정밀도 상태(112)에서는 단일 정밀도 연산자가 파이프라인에 제공된다. 제 2의 2배 정밀도 상태(114)에서는 2배 정밀도 연산자가 파이프라인에 제공된다. 공상태(empty state)(116)에서, 파이프라인은 액티브하고 유효한 명령이 존재하지 않는다.
공상태(116)에서 개시하여 단일 정밀도 명령이 디스패치될 때, 상기 장치의 상태는 라인(118)에 의해 표시된 바와 같이 단일 정밀도 상태(112)로 전이할 것이다. 최후의 단일 정밀도 명령이 파이프라인을 통해 유입되자 마자, 화살표(120)로 나타낸 바와 같이 공상태로 다시 전이될 것이다. 마찬가지로, 2배 정밀도의 경우에서, 디스패치되는 2배 정밀도 명령은 화살표(122)로 나타낸 바와 같이 공상태(116)로부터 2배 정밀도 상태(114)로 상태 전이할 것이다. 최후의 2배 정밀도 연산자가 상기 파이프라인을 빠져나올때, 화살표(124)로 표시된 바와 같이 공상태(116)로 다시 전이될 것이다.
이와달리, 화살표(126)로 나타낸 바와같이 단일 정밀도에서 2배 정밀도 상태로 또는 화살표(128)로 나타낸 바와 같이 그 반대로 전이될 수 있다. 이들은 점선으로 표시된 바와 같이 선택적이다. 직접 전이에는 파이프라인 내의 명령이 그 다음 사이클에 완료되는 것을 확인하여 간섭이 일어나지 않도록 하는 논리를 필요로 할 것이다. 이것은 추가의 논리와 추가의 시간이 소요되므로, 파이프라인이 비어있을 것을 필요로 하는 것보다 더욱 단순해진다. 단일 정밀도에서 2배 정밀도로의 전이가 거의 발생하지 않으므로, 즉 하나의 프로그램에서 다른 프로그램으로의 변경이 이러한 발생을 야기하므로, 시스템 효율(throughput)에 대한 영향은 무시할 수 있는 정도이다.
공상태를 나타냄에 있어서, 파이프라인은 실제로 명령이 없는 상태일 필요는 없다. 예컨대, 분기 예측이 어긋난 경우에, 예측이 어긋난 명령을 파이프라인으로부터 물리적으로 존재하지 않게 하고, 새롭게 정정된 명령 분기를 개시하는데 필요한 복수의 사이클을 대기하지 않고서, 파이프라인 내의 명령이 단순히 무효화될 수 있다.
로드 파이프라인은 단일 정밀도와 2배 정밀도가 거의 혼재하지 않는다는 일반적인 규칙에서 예외이다. 예컨대, 단일 정밀도 연산자를 레지스터 F0에 로드하고, 또 다른 단일 정밀도 연산자를 레지스터 F1에 로드함으로써, F0을 사용하여 F0과 F1의 조합인 2배 정밀도 연산을 수행하는 것이 가능하다. 로드/저장 파이프라인은 다른 파이프라인보다 더욱 짧아서, 더 단순한 논리로 연산자를 판정하고 그것이 단일 정밀도 인지 또는 2배 정밀도인지의 여부를 판정할 수 있다.
정밀도에 변화가 발생하는 경우, 파이프라인으로 명령을 디스패치하는 것은 파이프라인이 비워질때까지 정지된다. 예컨대, UltrasparcTM 마이크로프로세서에서는 예를 들어, 22 정도의 사이클을 소요할 수 있는 부동 소수점 제곱근 연산 또는 제산 연산이 없다면, 이것은 통상 7 사이클 이하가 될 것이다. 그러나, 22 사이클 연산이 처리되는 시간과 동시에 정밀도가 전환될 확률은 매우 낮아 단순히 22 사이클이 완료되기를 대기하는 것은 중요한 성능 요인이 될 수 없다.
전술된 설명이 단일 정밀도 및 2배 정밀도를 언급하고 있지만, 본 발명은 비트의 수를 변화하여 4배 정밀도 또는 그 외의 정밀도 레벨에도 적용될 수 있다. 일실시예에서, 4배 정밀도 연산에는 소프트웨어의 트랩(trap)이 필요 할 것이다. 바람직한 실시예에서, 소프트웨어에 대한 어떠한 트랩도 파이프라인이 비워지는 것을 대기하고, 이에 따라 파이프라인에서 한 번에 동일한 정밀도를 가질 필요성에 대처하고 있다. 따라서, 소프트웨어 트랩시에 파이프라인이 플러시되는 것을 대기하는 4배 정밀도 연산의 소프트웨어 에뮬레이션은 또한 본 발명에 의해 제거되는 논리가 필요없고 레지스터 지정은 동일 정밀도인 것으로 추정할 수 있다.
당업자에 의해 이해될 수 있는 바와같이, 본 발명은 기술적 사상 및 필수적인 특징을 벗어나지 않고서 다른 특정한 형태로 구현될 수 있다. 예컨대, 상이한 수의 기능 장치, 상이한 수의 파이프라인 단계 및 정밀도를 변화시키기 위한 상이한 수의 비트가 본 발명에 적용될 수 있다. 따라서, 상기 실시예는 단지 예시를 위한 것으로, 다음의 청구범위에 한정되는 본 발명의 기술적 범주를 제한하는 것은 아니다.
도 1은 본 발명을 적용한 마이크로프로세서의 일실시예의 블록도.
도 2는 단일 정밀도 데이터 및 2배 정밀도 데이터를 모두 유지하는 레지스터 파일의 도면.
도 3a 및 도 3b는 단일 정밀도 데이터 형식 및 2배 정밀도 데이터 형식을 도시하는 도면.
도 4a 및 도 4b는 단일 정밀도 명령 형식 및 2배 정밀도 데이터 명령 형식을 도시하는 도면.
도 5는 도 1의 정수 장치 및 실행 장치의 블록도.
도 6은 도 1의 부동 소수점 및 그래픽 장치의 블록도.
도 7은 도 1의 디스패치 장치의 블록도.
도 8은 정밀 모드 표시기 상태를 도시하는 상태도.
<도면의 주요 부분에 대한 부호의 설명>
10 : 다중 파이프라인형 마이크로프로세서
20 : 명령 변환 색인 버퍼(TLB)
28 : 디스패치 장치
30 : 데이터 버스
50 : 부동 소수점/그래픽 레지스터 파일
90 : 제어 논리 블록
100 : 데이터 종속성 논리 블록
Claims (19)
- 마이크로프로세서에 있어서,명령들을 처리하기 위한 복수의 파이프라인형 기능 장치들과;상기 기능 장치들에 명령들을 디스패치하도록 구성된 디스패치 장치와;상기 기능 장치들 중의 적어도 하나의 기능 장치의 제1 그룹과 관련된 정밀도 모드 표시기 메모리, 및단일 정밀도 명령이 상기 기능 장치들의 제1 그룹으로 디스패치되는 경우에는 상기 정밀도 모드 표시기 메모리를 단일 정밀도 표시로 설정하고, 다중 정밀도 명령이 상기 기능 장치들의 제1 그룹으로 디스패치되는 경우에는 상기 정밀도 모드 표시기 메모리를 다중 정밀도 표시로 설정하도록 구성된 설정 논리부를 포함하는 것을 특징으로 하는 마이크로프로세서.
- 제1항에 있어서, 상기 다중 정밀도 명령은 2배 정밀도 명령인 것인 마이크로프로세서.
- 제1항에 있어서, 상기 다중 정밀도 명령은 4배 정밀도 명령인 것인 마이크로프로세서.
- 제1항에 있어서, 디스패치되는 새로운 명령의 정밀도를 상기 정밀도 모드 표시기 메모리에 의해 표시되는 정밀도와 비교하도록 구성된 비교기와;상기 새로운 명령이 상기 정밀도 모드 표시기 메모리에 의해 표시된 정밀도와 일치하지 않는 정밀도를 갖는 경우에 상기 새로운 명령을 정지시키도록 구성된 정지 논리부를 더 포함하는 것인 마이크로프로세서.
- 제1항에 있어서, 상기 디스패치 장치는, 디스패치되는 새로운 명령의 레지스터 지정들을 상기 기능 장치들의 제1 그룹의 명령들의 레지스터 지정들과 비교함으로써, 상기 기능 장치들의 제 1 그룹의 명령들의 상기 레지스터 지정들이 단일 정밀도 데이터 인지 또는 다중 정밀도 데이터인지의 여부를 고려하지 않고서도 데이터 종속성을 검사하도록 구성된 검사 논리부를 더 포함하는 것인 마이크로프로세서.
- 제1항에 있어서, 복수의 엔트리들을 갖는 레지스터 파일을 더 포함하고, 상기 엔트리들의 각각은 다중 정밀도 연산자 또는 복수의 단일 정밀도 연산자들 중하나를 저장하는 것인 마이크로프로세서.
- 제1항에 있어서, 상기 정밀도 모드 표시기 메모리는 제1 비트가 단일 정밀도 또는 2배 정밀도를 나타내고, 제2 비트가 상기 기능 장치들의 제1 그룹이 액티브하고 유효한 명령들이 비어있음을 나타내는 2 비트 레지스터를 포함하는 것인 마이크로프로세서.
- 제1항에 있어서, 상기 기능 장치들 중의 적어도 하나의 기능 장치의 제2 그룹과;레지스터 지정들이 단일 정밀도 명령과 다중 정밀도 명령간에 중복하는지의 여부를 분석함으로써, 상기 기능 장치들의 제2 그룹으로 디스패치되는 명령들에 대한 데이터 종속성을 판정하도록 구성된 종속성 논리부를 더 포함하는 것인 마이크로프로세서.
- 제8항에 있어서, 상기 기능 장치들의 제2 그룹은 로드 및 저장 기능 장치를 포함하는 것인 마이크로프로세서.
- 제1항에 있어서, 상기 기능 장치들 중의 적어도 하나의 기능 장치의 최후에 있는 완성 장치와,상기 완성 장치에 제공되는 데이터의 정밀도를 검사하지 않고 상기 기능 장치들의 제1 그룹으로부터의 데이터를 사용하므로써 상기 완성 장치를 바이패스하도록 구성된 바이패스 논리부를 더 포함하는 것인 마이크로프로세서.
- 명령들을 처리하도록 구성된 복수의 파이프라인형 기능 장치들과,상기 기능 장치들에 명령들을 디스패치하도록 구성된 디스패치 장치와;상기 기능 장치들 중의 적어도 하나의 기능 장치의 제1 그룹과 관련된 정밀도 모드 표시기 메모리와;단일 정밀도 명령이 상기 기능 장치들의 제1 그룹으로 디스패치되는 경우에는 상기 정밀도 모드 표시기 메모리를 단일 정밀도 표시로 설정하고, 다중 정밀도 명령이 상기 기능 장치들의 제1 그룹으로 디스패치되는 경우에는 상기 정밀도 모드 표시기 메모리를 다중 정밀도 표시로 설정하도록 구성된 설정 논리부와;디스패치되는 새로운 명령의 정밀도를 상기 정밀도 모드 표시기 메모리에 의해 표시된 정밀도와 비교하도록 구성된 비교기와;상기 새로운 명령이 상기 정밀도 모드 표시기 메모리에 의해 표시된 정밀도와 일치하지 않는 정밀도를 갖는 경우에 상기 새로운 명령을 정지시키도록 구성된 정지 논리부와;각각의 엔트리가 다중 정밀도 연산자 또는 복수의 단일 정밀도 연산자들 중의 하나를 저장하는 복수의 엔트리들을 갖는 레지스터 파일과;레지스터 지정들이 단일 정밀도 데이터 인지 또는 다중 정밀도 데이터인지의 여부를 고려하지 않고서도, 디스패치되는 새로운 명령에 대한 상기 레지스터 파일내의 레지스터 지정들을 상기 기능 장치들의 제1 그룹 내의 명령의 레지스터 지정들과 비교함으로써 데이터 종속성을 검사하도록 구성된 검사 논리부를 포함하는 것을 특징으로 하는 마이크로프로세서.
- 제11항에 있어서, 상기 정밀도 모드 표시기 메모리는 제1 비트가 단일 정밀도 또는 2배 정밀도 중의 하나를 나타내고, 제2 비트가 상기 기능 장치들의 제1 그룹이 액티브하고 유효한 명령들이 비어있음을 나타내는 2 비트 레지스터를 포함하는 것인 마이크로프로세서.
- 명령들을 처리하도록 구성된 복수의 파이프라인형 기능 장치들과;상기 기능 장치들에 명령들을 디스패치하도록 구성된 디스패치 장치와;상기 기능 장치들 중의 적어도 하나의 기능 장치의 제1 그룹과 관련된 정밀도 모드 표시기 메모리와;단일 정밀도 명령이 상기 기능 장치들의 제1 그룹으로 디스패치되는 경우에는 상기 정밀도 모드 표시기 메모리를 단일 정밀도 표시로 설정하고, 다중 정밀도 명령이 상기 기능 장치들의 제1 그룹으로 디스패치되는 경우에는 상기 정밀도 모드 표시기 메모리를 다중 정밀도 표시로 설정하도록 구성된 설정 논리부와;디스패치되는 새로운 명령의 정밀도를 상기 정밀도 모드 표시기 메모리에 의해 표시된 정밀도와 비교하도록 구성된 비교기와;상기 새로운 명령이 상기 정밀도 모드 표시기 메모리에 의해 표시된 정밀도와 일치하지 않는 정밀도를 갖는 경우에 상기 새로운 명령을 정지시키도록 구성된 정지 논리부와;각각의 엔트리가 다중 정밀도 연산자 또는 복수의 단일 정밀도 연산자들 중 하나를 저장하는 복수의 엔트리를 갖는 레지스터 파일과;레지스터 지정들이 단일 정밀도 데이터 인지 또는 다중 정밀도 데이터인지의 여부를 고려하지 않고서도, 디스패치되는 새로운 명령의 상기 레지스터 파일 내의 레지스터 지정들과 상기 기능 장치들의 제1 그룹 내의 명령들의 레지스터 지정들과 비교함으로써 데이터 종속성을 검사하도록 구성된 검사 논리부와;상기 기능 장치들 중의 적어도 하나의 기능 장치의 제2 그룹과;레지스터 지정들이 단일 정밀도 명령과 다중 정밀도 명령간에 중복하는지의 여부를 분석함으로써, 상기 기능 장치들의 제2 그룹으로 디스패치되는 명령들에 대한 데이터 종속성을 결정하도록 구성된 종속성 논리부를 포함하는 것을 특징으로 하는 마이크로프로세서.
- 마이크로프로세서를 구동시키기 위한 방법에 있어서,복수의 파이프라인형 기능 장치들에서 명령들을 처리하는 단계와;상기 기능 장치들에 명령들을 디스패치하는 단계와,상기 기능 장치들 중의 적어도 하나의 기능 장치의 제1 그룹과 관련된 정밀도 모드 표시기 메모리를 설정하는 단계; 및단일 정밀도 명령이 상기 기능 장치들의 제1 그룹으로 디스패치되는 경우에는 상기 정밀도 모드 표시기 메모리를 단일 정밀도 표시로 설정하고, 다중 정밀도 명령이 상기 기능 장치들의 제1 그룹으로 디스패치되는 경우에는 상기 정밀도 모드 표시기 메모리를 다중 정밀도 표시로 설정하는 단계를 포함하는 것을 특징으로 하는 마이크로프로세서의 구동 방법.
- 제14항에 있어서, 상기 다중 정밀도 명령이 2배 정밀도 명령인 것인 마이크로프로세서의 구동 방법.
- 제14항에 있어서, 상기 다중 정밀도 명령이 4배 정밀도 명령인 것인 마이크로프로세서의 구동 방법.
- 제14항에 있어서, 디스패치되는 새로운 명령의 정밀도를 상기 정밀도 모드 표시기 메모리에 의해 표시되는 정밀도와 비교하는 단계와,상기 새로운 명령이 상기 정밀도 모드 표시기 메모리에 의해 표시된 정밀도와 일치하지 않는 정밀도를 갖는 경우에 상기 새로운 명령을 정지시키는 단계를 더 포함하는 것인 마이크로프로세서의 구동 방법.
- 제14항에 있어서, 상기 기능 장치들의 제 1 그룹의 명령들의 상기 레지스터 지정들이 단일 정밀도 데이터인지 또는 다중 정밀도 데이터인지의 여부를 고려하지 않고서도, 디스패치되는 새로운 명령의 레지스터 지정을 상기 기능 장치들의 제1 그룹 내의 명령의 레지스터 지정과 비교함으로써 데이터 종속성을 검사하는 단계를 더 포함하는 것인 마이크로프로세서의 구동 방법.
- 메모리와;상기 메모리에 접속된 마이크로프로세서를 포함하고,상기 마이크로프로세서는,명령들을 처리하도록 구성된 복수의 파이프라인형 기능 장치들과,상기 기능 장치들에 명령들을 디스패치하도록 구성된 디스패치 장치와,상기 기능 장치들 중의 적어도 하나의 기능 장치의 제1 그룹과 관련된 정밀도 모드 표시기 메모리와,단일 정밀도 명령이 상기 기능 장치들의 제1 그룹으로 디스패치되는 경우에는 상기 정밀도 모드 표시기 메모리를 단일 정밀도 표시로 설정하고, 다중 정밀도 명령이 상기 기능 장치들의 제1 그룹으로 디스패치되는 경우에는 상기 정밀도 모드 표시기 메모리를 다중 정밀도 표시로 설정하도록 구성된 설정 논리부를 포함하는, 컴퓨터 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/612,623 | 1996-03-06 | ||
US08/621,623 | 1996-03-06 | ||
US08/621,623 US5632514A (en) | 1996-03-26 | 1996-03-26 | Juvenile safety gate latch for swing gate |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970066861A KR970066861A (ko) | 1997-10-13 |
KR100493126B1 true KR100493126B1 (ko) | 2005-09-02 |
Family
ID=24490927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970006867A KR100493126B1 (ko) | 1996-03-06 | 1997-03-03 | 데이터정밀도모드표시기를구비한다중파이프라인형마이크로프로세서 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5632514A (ko) |
KR (1) | KR100493126B1 (ko) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6161334A (en) * | 1997-02-11 | 2000-12-19 | North States Industries, Inc. | Child and pet security gate |
US7065922B1 (en) * | 1999-07-29 | 2006-06-27 | Nubis B.V. | Locking mechanism for a gate |
US20060027798A1 (en) * | 2004-08-05 | 2006-02-09 | Clarence Winston | Gate latch |
US7322153B2 (en) * | 2004-08-27 | 2008-01-29 | Nitz Allen S | Baby gate |
US20060156966A1 (en) * | 2004-11-16 | 2006-07-20 | Stilson Daniel W | Confined space barrier |
US20060260195A1 (en) * | 2005-05-02 | 2006-11-23 | Witman Thomas J | Repositionable gate |
US20070080333A1 (en) * | 2005-10-06 | 2007-04-12 | Perry Lin C | Fence system |
US20070080334A1 (en) * | 2005-10-06 | 2007-04-12 | Perry Lin C | Engineered fence system |
WO2007147095A2 (en) * | 2006-06-15 | 2007-12-21 | Mann Paul E | Safety gate adapter especially adapted for facilitating the mounting of a safety gate |
US8136302B2 (en) * | 2006-08-25 | 2012-03-20 | James Trujillo | Safety gate |
US20080127556A1 (en) * | 2006-08-25 | 2008-06-05 | Trujillo James P | Sliding door gate |
US7594357B2 (en) * | 2007-02-06 | 2009-09-29 | Solid Rock Gate Supply, Inc. | Manual lift gate system |
US20090044450A1 (en) * | 2007-08-17 | 2009-02-19 | Hallman Marie A | Integrated safety gate |
US8713851B2 (en) | 2010-01-21 | 2014-05-06 | Mark A. Flannery | Gate having four pins and stairway post adapter |
US8607503B2 (en) * | 2012-03-22 | 2013-12-17 | Calvin L. Ivie | Adventure door |
FR2998601A1 (fr) * | 2012-11-27 | 2014-05-30 | Christophe Pages | Dispositif destine a ameliorer la fixation des barrieres de protection et securite sur menuiserie, chambranles de porte, en evitant toute degradation lors de la fixation |
CN203584288U (zh) * | 2013-10-10 | 2014-05-07 | 克斯克管理公司 | 可变宽度安全门装置 |
US10590680B2 (en) * | 2015-08-14 | 2020-03-17 | Nationwide Industries, Inc. | Gravity latch |
US10718134B1 (en) * | 2015-11-24 | 2020-07-21 | Kenneth S. Dory | Gate latch accessory aid |
US10662686B2 (en) | 2016-09-30 | 2020-05-26 | Barrette Outdoor Living, Inc. | Magnetic safety gate latch |
US10619408B2 (en) | 2017-12-22 | 2020-04-14 | Evenflo Company, Inc. | Latch for expandable gate |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0148478A2 (en) * | 1983-12-23 | 1985-07-17 | Hitachi, Ltd. | A data processor with control of the significant bit lenghts of general purpose registers |
US4612628A (en) * | 1983-02-14 | 1986-09-16 | Data General Corp. | Floating-point unit constructed of identical modules |
US4788655A (en) * | 1985-06-17 | 1988-11-29 | Panafacom Limited | Condition code producing system |
EP0483967A2 (en) * | 1990-10-29 | 1992-05-06 | Sun Microsystems, Inc. | Apparatus for increasing the number of registers available in a computer processor |
US5297281A (en) * | 1989-04-24 | 1994-03-22 | International Business Machines Corporation | Multiple sequence processor system |
EP0640912A1 (en) * | 1993-08-31 | 1995-03-01 | Sun Microsystems, Inc. | Memory addressing scheme for increasing the number of memory locations available in a computer for storing higher precision numbers |
EP0679991A1 (en) * | 1994-04-26 | 1995-11-02 | Advanced Micro Devices, Inc. | Data processor for variable width operands |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3704563A (en) * | 1971-01-11 | 1972-12-05 | Bull Dog Lock Co | Retaining clip assembly |
US4702036A (en) * | 1986-06-04 | 1987-10-27 | Johnson Stanley A | Doorway safety gate apparatus |
US5060421A (en) * | 1990-06-29 | 1991-10-29 | Castelli Dario D | Child and infant restraint and fastener |
US5272840A (en) * | 1991-09-04 | 1993-12-28 | Gerry Baby Products Company | Security gate with walk through feature |
US5367829A (en) * | 1993-06-23 | 1994-11-29 | Safety 1St, Inc. | Security gate |
US5437115A (en) * | 1994-05-05 | 1995-08-01 | Gerry Baby Products Company | Security gate apparatus |
US5457914A (en) * | 1994-11-21 | 1995-10-17 | Johnson, Jr.; Marvin B. | Safety gate for juveniles with security brackets |
-
1996
- 1996-03-26 US US08/621,623 patent/US5632514A/en not_active Expired - Lifetime
-
1997
- 1997-03-03 KR KR1019970006867A patent/KR100493126B1/ko not_active IP Right Cessation
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4612628A (en) * | 1983-02-14 | 1986-09-16 | Data General Corp. | Floating-point unit constructed of identical modules |
EP0148478A2 (en) * | 1983-12-23 | 1985-07-17 | Hitachi, Ltd. | A data processor with control of the significant bit lenghts of general purpose registers |
US4788655A (en) * | 1985-06-17 | 1988-11-29 | Panafacom Limited | Condition code producing system |
US5297281A (en) * | 1989-04-24 | 1994-03-22 | International Business Machines Corporation | Multiple sequence processor system |
EP0483967A2 (en) * | 1990-10-29 | 1992-05-06 | Sun Microsystems, Inc. | Apparatus for increasing the number of registers available in a computer processor |
EP0640912A1 (en) * | 1993-08-31 | 1995-03-01 | Sun Microsystems, Inc. | Memory addressing scheme for increasing the number of memory locations available in a computer for storing higher precision numbers |
EP0679991A1 (en) * | 1994-04-26 | 1995-11-02 | Advanced Micro Devices, Inc. | Data processor for variable width operands |
Also Published As
Publication number | Publication date |
---|---|
KR970066861A (ko) | 1997-10-13 |
US5632514A (en) | 1997-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100493126B1 (ko) | 데이터정밀도모드표시기를구비한다중파이프라인형마이크로프로세서 | |
US6260138B1 (en) | Method and apparatus for branch instruction processing in a processor | |
US6076156A (en) | Instruction redefinition using model specific registers | |
EP0399762B1 (en) | Multiple instruction issue computer architecture | |
US5611063A (en) | Method for executing speculative load instructions in high-performance processors | |
EP0399760B1 (en) | Paired instruction processor branch recovery mechanism | |
EP0638183B1 (en) | A system and method for retiring instructions in a superscalar microprocessor | |
US5742782A (en) | Processing apparatus for executing a plurality of VLIW threads in parallel | |
KR100234646B1 (ko) | 다중 인스트럭션 실행 방법 및 수퍼스칼라 마이크로프로세서 | |
US6728866B1 (en) | Partitioned issue queue and allocation strategy | |
KR100225244B1 (ko) | 프로세서내에서 자원 할당을 추적하는 방법 및 장치,수퍼스칼라프로세서및데이타프로세싱시스템 | |
US6119223A (en) | Map unit having rapid misprediction recovery | |
US6003126A (en) | Special instruction register including allocation field utilized for temporary designation of physical registers as general registers | |
US6266763B1 (en) | Physical rename register for efficiently storing floating point, integer, condition code, and multimedia values | |
JP3751402B2 (ja) | データ精度モード表示器を備えたマルチパイプライン・マイクロプロセッサ | |
EP1099158B1 (en) | Processor configured to selectively free physical registers upon retirement of instructions | |
KR100431975B1 (ko) | 분기에의한중단이없는파이프라인방식의마이크로프로세서를위한다중명령디스패치시스템 | |
US5784606A (en) | Method and system in a superscalar data processing system for the efficient handling of exceptions | |
US20020144091A1 (en) | Method and apparatus for dynamic register management in a processor | |
US7783692B1 (en) | Fast flag generation | |
US5799166A (en) | Window delta from current window for fast register file address dependency checking | |
US5828861A (en) | System and method for reducing the critical path in memory control unit and input/output control unit operations | |
US6289439B1 (en) | Method, device and microprocessor for performing an XOR clear without executing an XOR instruction | |
EP1235139A2 (en) | System and method for supporting precise exceptions in a data processor having a clustered architecture |
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: 20130502 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20140508 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20150430 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20160427 Year of fee payment: 12 |
|
EXPY | Expiration of term |