KR970701880A - 다른 길이의 데이터를 수용하는 복수의 멀티포트 레지스터 파일(Plural multiport register file to accommodate data of differing lengths) - Google Patents

다른 길이의 데이터를 수용하는 복수의 멀티포트 레지스터 파일(Plural multiport register file to accommodate data of differing lengths)

Info

Publication number
KR970701880A
KR970701880A KR1019960704892A KR19960704892A KR970701880A KR 970701880 A KR970701880 A KR 970701880A KR 1019960704892 A KR1019960704892 A KR 1019960704892A KR 19960704892 A KR19960704892 A KR 19960704892A KR 970701880 A KR970701880 A KR 970701880A
Authority
KR
South Korea
Prior art keywords
port
register
write
read
ports
Prior art date
Application number
KR1019960704892A
Other languages
English (en)
Other versions
KR100389220B1 (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 KR970701880A publication Critical patent/KR970701880A/ko
Application granted granted Critical
Publication of KR100389220B1 publication Critical patent/KR100389220B1/ko

Links

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/30003Arrangements for executing specific machine instructions
    • G06F9/30072Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
    • 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, look ahead
    • 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/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30112Register structure comprising data of variable length
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • 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/30098Register arrangements
    • G06F9/30141Implementation provisions of register files, e.g. ports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups

Abstract

멀티포트 레지스터 파일은 제1폭의 레지스터를 갖는 제1파일 유닛과 제2폭의 레지스터를 갖는 제2파일 유닛을 포함한다. 제2폭은 제1폭보다는 작다. 데이터는 하나의 기록 동작으로 제1 및 제2파일 유닛 모두에 기록되고, 독립적으로 제1 및 제2파일 유닛으로부터 개별적 판독이 가능하다. 제1파일 유닛은 VLIW 프로세서의 기능 유닛에 대한 피연산자가 되는 데이터, 또는 이들 기능 유닛으로부터의 결과 데이터를 수용한다. 제2파일 유닛은 이들 기능 유닛의 동작을 조건화하는 가드 비트를 수용한다.

Description

다른 길이의 데이터를 수용하는 복수의 멀티포트 레지스터 파일(Plural multiport register file to accommodate data of differing lengths)
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제2도는 본 발명에 따른 멀티 포트 레지스터 파일을 나타내는 도면.
제3도는 레지스터 파일의 플로 평면을 나타내는 도면.
제4도는 종래의 플로 평면에 이용하는데 적합되는 레지스터 셀을 나타내는 도면.

Claims (10)

  1. 다수의 기능 유닛과; 각각 제1의 수의 비트(a first number of bit)를 가지는 제1의 수의 어드레스 가능한 제1레지스터(a first number of addressable first registers)와, 각각 제1의 수의 비트 보다는 적은 수의 제2의 수를 비트를 가지는 제2의 수의 어드레스 가능한 제2레지스터와, 각각 관련 기록 어드레스 포트를 가지는 다수의 기록 포트로서, 기능 유닛이 각각 관련 판독 어드레스 포트를 가지는 다수의 기록 포트로서, 기능 유닛이 각각의 기록 포트 및 관련 기록 어드레스 포트에 연결되는, 상기 다수의 기록 포트, 및 각각 관련 판독 어드레스 포트를 가지는 다수의 판독 포트로서, 기능 유닛이 각각의 판독 포트 및 관련 판독 어드레스 포트에 연결되는, 상기 다수의 판독 포트를 포함하는 레지스터 파일을 구비하는 프로세서에 있어서, 상기 프로세서는 특정의 제1레지스터와 특정의 제2레지스터 모두에 어드레스하는 기록 어드레스를 기록 포트중 적어도 한 포트와 관련하는 기록 어드레스 포트에 공급하고, 레지스터 파일은, 관련하는 기록 어드레스 포트상에 상기 기록 어드레스를 수신할 때 특정의 제1레지스터와 특정의 제2레지스터 모두에 기록 포트중 적어도 한 포트상의 데이터를 기록하기 위해 배치되며, 특정의 제1레지스터와 특정의 제2레지스터는 판독 어드레스 포트를 통하여 독립적으로 어드레스 가능하게 되는 것을 특징으로 하는 프로세서.
  2. 제1항에 있어서, 상기 제1레지스터가 기록 포트, 기록 어드레스 포트, 판독 포트 및 판독 어드레스 포트의 관련 포트와 함께 제1파일 유닛에 위치되고, 제2레지스터가 기록 포트, 기록 어드레스 포트, 판독 포트 및 판독 어드레스 포트의 관련 포트와 함께 제2파일 유닛에 위치되는 것을 특징으로 하는 프로세서.
  3. 제1항 또는 제2항에 있어서, 상기 레지스터 파일은 멀티포트 레지스터 파일이며, 제1 및/또는 제2레지스터중 적어도 한 레지스토는 하나 이상의 판독 포트로부터 액세스될 수 있는 것을 특징으로 하는 프로세서.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 기능 유닛중 적어도 한 유닛이, 특정의 제2레지스터로부터 판독된 가드 비트에 따라 조건적으로 동작의 결과를 기록하기 위해 배치되는 것을 특징으로 하는 프로세서.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 제2의 수의 비트는 한 비트인 것을 특징으로 하는 프로세서.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 프로세서는, 단일의 머신 사이클에서 동시에 개시하는 기능 유닛에 의해 병렬로 실행하기 위한 복수 동작 코드를 수용하는 명령 레지스터를 포함하는 VLIW 프로세서인 것을 특징으로 하는 프로세서.
  7. 다수의 기능 유닛과; 각각 제1의 수의 비트(a first number of bit)를 가지는 제1의 수의 어드레스 가능한 제1레지스터(a first number of addressable first registers)와, 각각 제1의 수의 비트 보다는 적은 수의 제2의 수를 비트를 가지는 제2의 수의 어드레스 가능한 제2레지스터와, 각각 관련 기록 어드레스 포트를 가지는 다수의 기록 포트로서, 가능 유닛이 각각의 기록 포트 및 관련 기록 어드레스 포트에 연결되는, 상기 다수의 기록포트, 및 각각 관련 판독 어드레스 포트를 가지는 다수의 판독 프로로서, 기능 유닛이 각각의 판독 포트 및관련 판독 어드레스 포트에 연결되는, 상기 다수의 판독 포트를 포함하는 레지스터 파일을 구비하는 프로세서에 있어서, 상기 레지스터 파일은 멀티포트 레지스터 파일이며, 제1 및/또는 제2지스터중 적어도 한 레지스터는 하나 이상의 판독 포트로부터 액세스가능한 것을 특징으로 하는 프로세서.
  8. 제7항에 있어서, 상기 제1레지스터가 기록 포트, 기록 어드레스 포트, 판독 포트 및 판독 어드레스 포트의 관련 포트와 함께 제1파일 유닛에 위치되고, 제2레지스터가 기록 포트, 기록 어드레스 포트, 판독 포트 및 판독 어드레스 포트의 관련 포트와 함께 제2파일 유닛에 위치되는 것을 특징으로 하는 프로세서.
  9. 제1항 내지 제8항 중 어느 한 항에 따른 프로세서에 사용되기 적합한 멀티포트 레지스터 파일.
  10. 프로세서를 동작하는 방법에 있어서, 제1기능 유닛으로부터의 데이터 및 기록 어드레스를 각각을 레지스터 파일의 기록 포트 및 상응하는 기록 어드레스 포트에 공급하는 단계와, 상기 기록 어드레스에 의해 어드레스된 제1레지스터에 상기 데이터를 기억하고, 역시 상기 기록 어드레스에 의해 어드레스된 제2레지스터에 상기 테이터의 단지 일부만을 기억하는 단계과, 제1 및 제2액세스 동작중 한 동작 또는 양쪽 모두에 상기 데이터 및/또는 상기 데이터의 일부를 사용하는 단계를 구비하며, 상기 제1액세스 동작은, 제2레지스터의 판독 어드레스를 레지스터 파일의 판독 어드레스 포트에 공급하는 단계와, 제2레지스터로부터 상기 데이터의 일부를 제2기능 유닛으로 판독하는 단계와, 상기 일부의 값에 따라 상기 제2기능 유닛으로부터의 결과를 조건부 기록하는 단계를 구비하며, 상기 제2액세스 동작은, 제1레지스터의 판독 어드레스를 레지스터 파일의 판독 어드레스 포트에 공급하는 단계와, 제1레지스터로부터의 상기 데이터를 제3기능 유닛으로 판독하는 단계와, 상기 제3기능 유닛으로 상기 데이터를 동작하는 단계를 구비하는 것을 특징으로 하는 프로세서 동작 방법.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019960704892A 1994-12-30 1995-11-16 다른길이의데이터를수용하는복수의멀티포트레지스터파일 KR100389220B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US366,958 1994-12-30
US08/366,958 US6370623B1 (en) 1988-12-28 1994-12-30 Multiport register file to accommodate data of differing lengths

Publications (2)

Publication Number Publication Date
KR970701880A true KR970701880A (ko) 1997-04-12
KR100389220B1 KR100389220B1 (ko) 2003-10-11

Family

ID=23445347

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960704892A KR100389220B1 (ko) 1994-12-30 1995-11-16 다른길이의데이터를수용하는복수의멀티포트레지스터파일

Country Status (7)

Country Link
US (1) US6370623B1 (ko)
EP (1) EP0748477B1 (ko)
JP (1) JP3591842B2 (ko)
KR (1) KR100389220B1 (ko)
DE (1) DE69525527T2 (ko)
TW (1) TW296452B (ko)
WO (1) WO1996021186A2 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5931939A (en) * 1996-09-25 1999-08-03 Philips Electronics North America Corporation Read crossbar elimination in a VLIW processor
US5974537A (en) * 1997-12-29 1999-10-26 Philips Electronics North America Corporation Guard bits in a VLIW instruction control routing of operations to functional units allowing two issue slots to specify the same functional unit
WO2000079395A1 (en) * 1999-06-21 2000-12-28 Bops Incorporated Methods and apparatus for establishing port priority functions in a vliw processor
US6421744B1 (en) * 1999-10-25 2002-07-16 Motorola, Inc. Direct memory access controller and method therefor
US6851044B1 (en) 2000-02-16 2005-02-01 Koninklijke Philips Electronics N.V. System and method for eliminating write backs with buffer for exception processing
US6862677B1 (en) 2000-02-16 2005-03-01 Koninklijke Philips Electronics N.V. System and method for eliminating write back to register using dead field indicator
WO2002042897A2 (en) * 2000-11-27 2002-05-30 Koninklijke Philips Electronics N.V. Data processing apparatus
US6834024B2 (en) * 2001-10-23 2004-12-21 Ip-First, Llc Reduced size multi-port register cell
US20040128475A1 (en) * 2002-12-31 2004-07-01 Gad Sheaffer Widely accessible processor register file and method for use
US20050078693A1 (en) * 2003-10-10 2005-04-14 Landers Robert J. Time division multiplexed switch core using multiple write ports
EP1794672B1 (en) * 2004-09-22 2010-01-27 Koninklijke Philips Electronics N.V. Data processing circuit wherein functional units share read ports
TW200625097A (en) * 2004-11-17 2006-07-16 Sandbridge Technologies Inc Data file storing multiple date types with controlled data access
US7962731B2 (en) 2005-10-20 2011-06-14 Qualcomm Incorporated Backing store buffer for the register save engine of a stacked register file
US7844804B2 (en) * 2005-11-10 2010-11-30 Qualcomm Incorporated Expansion of a stacked register file using shadow registers
US7366032B1 (en) * 2005-11-21 2008-04-29 Advanced Micro Devices, Inc. Multi-ported register cell with randomly accessible history

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4491937A (en) * 1982-02-25 1985-01-01 Trw Inc. Multiport register file
US4737933A (en) * 1983-02-22 1988-04-12 Storage Technology Partners CMOS multiport general purpose register
US5021945A (en) 1985-10-31 1991-06-04 Mcc Development, Ltd. Parallel processor system for processing natural concurrencies and method therefor
US4811296A (en) * 1987-05-15 1989-03-07 Analog Devices, Inc. Multi-port register file with flow-through of data
US5168573A (en) 1987-08-31 1992-12-01 Digital Equipment Corporation Memory device for storing vector registers
US5455926A (en) * 1988-04-05 1995-10-03 Data/Ware Development, Inc. Virtual addressing of optical storage media as magnetic tape equivalents
US5438674A (en) * 1988-04-05 1995-08-01 Data/Ware Development, Inc. Optical disk system emulating magnetic tape units
US5313551A (en) * 1988-12-28 1994-05-17 North American Philips Corporation Multiport memory bypass under software control
US5146577A (en) * 1989-04-10 1992-09-08 Motorola, Inc. Serial data circuit with randomly-accessed registers of different bit length
US5175863A (en) 1989-10-23 1992-12-29 International Business Machines Corporation Signal data processing system having independently, simultaneously operable alu and macu
US5212777A (en) * 1989-11-17 1993-05-18 Texas Instruments Incorporated Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation
DE69129569T2 (de) * 1990-09-05 1999-02-04 Philips Electronics Nv Maschine mit sehr langem Befehlswort für leistungsfähige Durchführung von Programmen mit bedingten Verzweigungen
EP0479390B1 (en) 1990-10-05 1999-01-07 Koninklijke Philips Electronics N.V. Processing device including a memory circuit and a group of functional units
JP2959104B2 (ja) 1990-10-31 1999-10-06 日本電気株式会社 信号処理プロセッサ
US5301340A (en) 1990-10-31 1994-04-05 International Business Machines Corporation IC chips including ALUs and identical register files whereby a number of ALUs directly and concurrently write results to every register file per cycle
US5649029A (en) * 1991-03-15 1997-07-15 Galbi; David E. MPEG audio/video decoder
US5500650A (en) * 1992-12-15 1996-03-19 Micron Technology, Inc. Data communication method using identification protocol
WO1993023816A1 (en) * 1992-05-18 1993-11-25 Silicon Engines Inc. System and method for cross correlation with application to video motion vector estimation
EP0594240B1 (en) * 1992-10-19 2000-01-05 Koninklijke Philips Electronics N.V. Data processor with operation units sharing groups of register files
EP0605927B1 (en) * 1992-12-29 1999-07-28 Koninklijke Philips Electronics N.V. Improved very long instruction word processor architecture
EP0651321B1 (en) * 1993-10-29 2001-11-14 Advanced Micro Devices, Inc. Superscalar microprocessors
US5631859A (en) * 1994-10-27 1997-05-20 Hewlett-Packard Company Floating point arithmetic unit having logic for quad precision arithmetic

Also Published As

Publication number Publication date
DE69525527D1 (de) 2002-03-28
DE69525527T2 (de) 2002-08-22
TW296452B (ko) 1997-01-21
US6370623B1 (en) 2002-04-09
EP0748477A1 (en) 1996-12-18
EP0748477B1 (en) 2002-02-20
WO1996021186A3 (en) 1996-09-12
WO1996021186A2 (en) 1996-07-11
JP3591842B2 (ja) 2004-11-24
JPH09510038A (ja) 1997-10-07
KR100389220B1 (ko) 2003-10-11

Similar Documents

Publication Publication Date Title
KR970701880A (ko) 다른 길이의 데이터를 수용하는 복수의 멀티포트 레지스터 파일(Plural multiport register file to accommodate data of differing lengths)
US6430677B2 (en) Methods and apparatus for dynamic instruction controlled reconfigurable register file with extended precision
US5313551A (en) Multiport memory bypass under software control
US6510510B1 (en) Digital signal processor having distributed register file
JP3593346B2 (ja) マルチポートメモリ及びそれをアクセスするデータ処理装置
WO2000033184A1 (en) Shared instruction cache for multiple processors
KR940015852A (ko) 긴 명령 워드를 갖는 처리기
KR960029967A (ko) 디지탈 신호 처리 방법 및 장치, 및 메모리 셀 독출 방법
EP0031840A1 (en) Memory system
KR850004680A (ko) 집적 프로세서
KR840008849A (ko) 버퍼 기억장치 제어 시스템
US4085450A (en) Performance invarient execution unit for non-communicative instructions
GB1150236A (en) Improvements in Data Processing Systems.
KR19990013772A (ko) 레지스터 화일
KR900016881A (ko) 마이크로 프로세서 및 이를 사용한 도형처리장치 및 도형처리 방법
US6904510B1 (en) Data processor having a respective multiplexer for each particular field
Bishop et al. The design of a register renaming unit
US6442676B1 (en) Processor with different width functional units ignoring extra bits of bus wider than instruction width
US5465334A (en) Processor with a respective latch provided for each pipelined stage to transfer data to the pipeland stages
US6704858B1 (en) Information processor and method for switching those register files
JPS6042966B2 (ja) デ−タ処理システム
CA2026225C (en) Apparatus for accelerating store operations in a risc computer
US6836837B2 (en) Register addressing
CN100395700C (zh) 限制指令宽度处理器中增加寄存器寻址空间的系统与方法
JP3341662B2 (ja) 情報処理装置及び多ポートレジスタファイル

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090609

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee