KR100493126B1 - 데이터정밀도모드표시기를구비한다중파이프라인형마이크로프로세서 - Google Patents

데이터정밀도모드표시기를구비한다중파이프라인형마이크로프로세서 Download PDF

Info

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
Application number
KR1019970006867A
Other languages
English (en)
Other versions
KR970066861A (ko
Inventor
트램블레이 마크
Original Assignee
선 마이크로시스템즈 인코퍼레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 선 마이크로시스템즈 인코퍼레이티드 filed Critical 선 마이크로시스템즈 인코퍼레이티드
Publication of KR970066861A publication Critical patent/KR970066861A/ko
Application granted granted Critical
Publication of KR100493126B1 publication Critical patent/KR100493126B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05CBOLTS OR FASTENING DEVICES FOR WINGS, SPECIALLY FOR DOORS OR WINDOWS
    • E05C3/00Fastening devices with bolts moving pivotally or rotatively
    • E05C3/02Fastening devices with bolts moving pivotally or rotatively without latching action
    • E05C3/04Fastening devices with bolts moving pivotally or rotatively without latching action with operating handle or equivalent member rigid with the bolt
    • E05C3/047Fastening 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/048Fastening 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
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B65/00Locks or fastenings for special use
    • E05B65/0014Locks or fastenings for special use to prevent opening by children
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05CBOLTS OR FASTENING DEVICES FOR WINGS, SPECIALLY FOR DOORS OR WINDOWS
    • E05C19/00Other devices specially designed for securing wings, e.g. with suction cups
    • E05C19/18Portable devices specially adapted for securing wings
    • E05C19/188Removably mounted securing devices, e.g. devices clamped to the wing or the frame
    • EFIXED CONSTRUCTIONS
    • E06DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
    • E06BFIXED OR MOVABLE CLOSURES FOR OPENINGS IN BUILDINGS, VEHICLES, FENCES OR LIKE ENCLOSURES IN GENERAL, e.g. DOORS, WINDOWS, BLINDS, GATES
    • E06B9/00Screening or protective devices for wall or similar openings, with or without operating or securing mechanisms; Closures of similar construction
    • E06B9/02Shutters, movable grilles, or other safety closing devices, e.g. against burglary
    • E06B9/04Shutters, movable grilles, or other safety closing devices, e.g. against burglary of wing type, e.g. revolving or sliding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B17/00Accessories in connection with locks
    • E05B17/20Means independent of the locking mechanism for preventing unauthorised opening, e.g. for securing the bolt in the fastening position
    • E05B17/2007Securing, deadlocking or "dogging" the bolt in the fastening position
    • E05B17/208Securing, deadlocking or "dogging" the bolt in the fastening position by means of an additional dogging movement of a rotary bolt
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B63/00Locks or fastenings with special structural characteristics
    • E05B63/0052Locks mounted on the "frame" cooperating with means on the "wing"
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B65/00Locks or fastenings for special use
    • E05B65/0007Locks or fastenings for special use for gates
    • EFIXED CONSTRUCTIONS
    • E06DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
    • E06BFIXED OR MOVABLE CLOSURES FOR OPENINGS IN BUILDINGS, VEHICLES, FENCES OR LIKE ENCLOSURES IN GENERAL, e.g. DOORS, WINDOWS, BLINDS, GATES
    • E06B9/00Screening or protective devices for wall or similar openings, with or without operating or securing mechanisms; Closures of similar construction
    • E06B2009/002Safety guards or gates
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T292/00Closure fasteners
    • Y10T292/08Bolts
    • Y10T292/0911Hooked 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

데이터 정밀도 모드 표시기를 구비한 다중 파이프라인형 마이크로프로세서{MULTI-PIPELINE MICROPROCESSOR WITH DATA PRECSION MODE INDICATOR}
본 발명은 복수의 기능 장치인 파이프라인형 마이크로프로세서에서의 데이터의 종속성(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항에 있어서, 상기 다중 정밀도 명령은 2배 정밀도 명령인 것인 마이크로프로세서.
  3. 제1항에 있어서, 상기 다중 정밀도 명령은 4배 정밀도 명령인 것인 마이크로프로세서.
  4. 제1항에 있어서, 디스패치되는 새로운 명령의 정밀도를 상기 정밀도 모드 표시기 메모리에 의해 표시되는 정밀도와 비교하도록 구성된 비교기와;
    상기 새로운 명령이 상기 정밀도 모드 표시기 메모리에 의해 표시된 정밀도와 일치하지 않는 정밀도를 갖는 경우에 상기 새로운 명령을 정지시키도록 구성된 정지 논리부를 더 포함하는 것인 마이크로프로세서.
  5. 제1항에 있어서, 상기 디스패치 장치는, 디스패치되는 새로운 명령의 레지스터 지정들을 상기 기능 장치들의 제1 그룹의 명령들의 레지스터 지정들과 비교함으로써, 상기 기능 장치들의 제 1 그룹의 명령들의 상기 레지스터 지정들이 단일 정밀도 데이터 인지 또는 다중 정밀도 데이터인지의 여부를 고려하지 않고서도 데이터 종속성을 검사하도록 구성된 검사 논리부를 더 포함하는 것인 마이크로프로세서.
  6. 제1항에 있어서, 복수의 엔트리들을 갖는 레지스터 파일을 더 포함하고, 상기 엔트리들의 각각은 다중 정밀도 연산자 또는 복수의 단일 정밀도 연산자들 중하나를 저장하는 것인 마이크로프로세서.
  7. 제1항에 있어서, 상기 정밀도 모드 표시기 메모리는 제1 비트가 단일 정밀도 또는 2배 정밀도를 나타내고, 제2 비트가 상기 기능 장치들의 제1 그룹이 액티브하고 유효한 명령들이 비어있음을 나타내는 2 비트 레지스터를 포함하는 것인 마이크로프로세서.
  8. 제1항에 있어서, 상기 기능 장치들 중의 적어도 하나의 기능 장치의 제2 그룹과;
    레지스터 지정들이 단일 정밀도 명령과 다중 정밀도 명령간에 중복하는지의 여부를 분석함으로써, 상기 기능 장치들의 제2 그룹으로 디스패치되는 명령들에 대한 데이터 종속성을 판정하도록 구성된 종속성 논리부를 더 포함하는 것인 마이크로프로세서.
  9. 제8항에 있어서, 상기 기능 장치들의 제2 그룹은 로드 및 저장 기능 장치를 포함하는 것인 마이크로프로세서.
  10. 제1항에 있어서, 상기 기능 장치들 중의 적어도 하나의 기능 장치의 최후에 있는 완성 장치와,
    상기 완성 장치에 제공되는 데이터의 정밀도를 검사하지 않고 상기 기능 장치들의 제1 그룹으로부터의 데이터를 사용하므로써 상기 완성 장치를 바이패스하도록 구성된 바이패스 논리부를 더 포함하는 것인 마이크로프로세서.
  11. 명령들을 처리하도록 구성된 복수의 파이프라인형 기능 장치들과,
    상기 기능 장치들에 명령들을 디스패치하도록 구성된 디스패치 장치와;
    상기 기능 장치들 중의 적어도 하나의 기능 장치의 제1 그룹과 관련된 정밀도 모드 표시기 메모리와;
    단일 정밀도 명령이 상기 기능 장치들의 제1 그룹으로 디스패치되는 경우에는 상기 정밀도 모드 표시기 메모리를 단일 정밀도 표시로 설정하고, 다중 정밀도 명령이 상기 기능 장치들의 제1 그룹으로 디스패치되는 경우에는 상기 정밀도 모드 표시기 메모리를 다중 정밀도 표시로 설정하도록 구성된 설정 논리부와;
    디스패치되는 새로운 명령의 정밀도를 상기 정밀도 모드 표시기 메모리에 의해 표시된 정밀도와 비교하도록 구성된 비교기와;
    상기 새로운 명령이 상기 정밀도 모드 표시기 메모리에 의해 표시된 정밀도와 일치하지 않는 정밀도를 갖는 경우에 상기 새로운 명령을 정지시키도록 구성된 정지 논리부와;
    각각의 엔트리가 다중 정밀도 연산자 또는 복수의 단일 정밀도 연산자들 중의 하나를 저장하는 복수의 엔트리들을 갖는 레지스터 파일과;
    레지스터 지정들이 단일 정밀도 데이터 인지 또는 다중 정밀도 데이터인지의 여부를 고려하지 않고서도, 디스패치되는 새로운 명령에 대한 상기 레지스터 파일내의 레지스터 지정들을 상기 기능 장치들의 제1 그룹 내의 명령의 레지스터 지정들과 비교함으로써 데이터 종속성을 검사하도록 구성된 검사 논리부를 포함하는 것을 특징으로 하는 마이크로프로세서.
  12. 제11항에 있어서, 상기 정밀도 모드 표시기 메모리는 제1 비트가 단일 정밀도 또는 2배 정밀도 중의 하나를 나타내고, 제2 비트가 상기 기능 장치들의 제1 그룹이 액티브하고 유효한 명령들이 비어있음을 나타내는 2 비트 레지스터를 포함하는 것인 마이크로프로세서.
  13. 명령들을 처리하도록 구성된 복수의 파이프라인형 기능 장치들과;
    상기 기능 장치들에 명령들을 디스패치하도록 구성된 디스패치 장치와;
    상기 기능 장치들 중의 적어도 하나의 기능 장치의 제1 그룹과 관련된 정밀도 모드 표시기 메모리와;
    단일 정밀도 명령이 상기 기능 장치들의 제1 그룹으로 디스패치되는 경우에는 상기 정밀도 모드 표시기 메모리를 단일 정밀도 표시로 설정하고, 다중 정밀도 명령이 상기 기능 장치들의 제1 그룹으로 디스패치되는 경우에는 상기 정밀도 모드 표시기 메모리를 다중 정밀도 표시로 설정하도록 구성된 설정 논리부와;
    디스패치되는 새로운 명령의 정밀도를 상기 정밀도 모드 표시기 메모리에 의해 표시된 정밀도와 비교하도록 구성된 비교기와;
    상기 새로운 명령이 상기 정밀도 모드 표시기 메모리에 의해 표시된 정밀도와 일치하지 않는 정밀도를 갖는 경우에 상기 새로운 명령을 정지시키도록 구성된 정지 논리부와;
    각각의 엔트리가 다중 정밀도 연산자 또는 복수의 단일 정밀도 연산자들 중 하나를 저장하는 복수의 엔트리를 갖는 레지스터 파일과;
    레지스터 지정들이 단일 정밀도 데이터 인지 또는 다중 정밀도 데이터인지의 여부를 고려하지 않고서도, 디스패치되는 새로운 명령의 상기 레지스터 파일 내의 레지스터 지정들과 상기 기능 장치들의 제1 그룹 내의 명령들의 레지스터 지정들과 비교함으로써 데이터 종속성을 검사하도록 구성된 검사 논리부와;
    상기 기능 장치들 중의 적어도 하나의 기능 장치의 제2 그룹과;
    레지스터 지정들이 단일 정밀도 명령과 다중 정밀도 명령간에 중복하는지의 여부를 분석함으로써, 상기 기능 장치들의 제2 그룹으로 디스패치되는 명령들에 대한 데이터 종속성을 결정하도록 구성된 종속성 논리부를 포함하는 것을 특징으로 하는 마이크로프로세서.
  14. 마이크로프로세서를 구동시키기 위한 방법에 있어서,
    복수의 파이프라인형 기능 장치들에서 명령들을 처리하는 단계와;
    상기 기능 장치들에 명령들을 디스패치하는 단계와,
    상기 기능 장치들 중의 적어도 하나의 기능 장치의 제1 그룹과 관련된 정밀도 모드 표시기 메모리를 설정하는 단계; 및
    단일 정밀도 명령이 상기 기능 장치들의 제1 그룹으로 디스패치되는 경우에는 상기 정밀도 모드 표시기 메모리를 단일 정밀도 표시로 설정하고, 다중 정밀도 명령이 상기 기능 장치들의 제1 그룹으로 디스패치되는 경우에는 상기 정밀도 모드 표시기 메모리를 다중 정밀도 표시로 설정하는 단계
    를 포함하는 것을 특징으로 하는 마이크로프로세서의 구동 방법.
  15. 제14항에 있어서, 상기 다중 정밀도 명령이 2배 정밀도 명령인 것인 마이크로프로세서의 구동 방법.
  16. 제14항에 있어서, 상기 다중 정밀도 명령이 4배 정밀도 명령인 것인 마이크로프로세서의 구동 방법.
  17. 제14항에 있어서, 디스패치되는 새로운 명령의 정밀도를 상기 정밀도 모드 표시기 메모리에 의해 표시되는 정밀도와 비교하는 단계와,
    상기 새로운 명령이 상기 정밀도 모드 표시기 메모리에 의해 표시된 정밀도와 일치하지 않는 정밀도를 갖는 경우에 상기 새로운 명령을 정지시키는 단계를 더 포함하는 것인 마이크로프로세서의 구동 방법.
  18. 제14항에 있어서, 상기 기능 장치들의 제 1 그룹의 명령들의 상기 레지스터 지정들이 단일 정밀도 데이터인지 또는 다중 정밀도 데이터인지의 여부를 고려하지 않고서도, 디스패치되는 새로운 명령의 레지스터 지정을 상기 기능 장치들의 제1 그룹 내의 명령의 레지스터 지정과 비교함으로써 데이터 종속성을 검사하는 단계를 더 포함하는 것인 마이크로프로세서의 구동 방법.
  19. 메모리와;
    상기 메모리에 접속된 마이크로프로세서를 포함하고,
    상기 마이크로프로세서는,
    명령들을 처리하도록 구성된 복수의 파이프라인형 기능 장치들과,
    상기 기능 장치들에 명령들을 디스패치하도록 구성된 디스패치 장치와,
    상기 기능 장치들 중의 적어도 하나의 기능 장치의 제1 그룹과 관련된 정밀도 모드 표시기 메모리와,
    단일 정밀도 명령이 상기 기능 장치들의 제1 그룹으로 디스패치되는 경우에는 상기 정밀도 모드 표시기 메모리를 단일 정밀도 표시로 설정하고, 다중 정밀도 명령이 상기 기능 장치들의 제1 그룹으로 디스패치되는 경우에는 상기 정밀도 모드 표시기 메모리를 다중 정밀도 표시로 설정하도록 구성된 설정 논리부를 포함하는, 컴퓨터 시스템.
KR1019970006867A 1996-03-06 1997-03-03 데이터정밀도모드표시기를구비한다중파이프라인형마이크로프로세서 KR100493126B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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