KR940015852A - 긴 명령 워드를 갖는 처리기 - Google Patents

긴 명령 워드를 갖는 처리기 Download PDF

Info

Publication number
KR940015852A
KR940015852A KR1019930030204A KR930030204A KR940015852A KR 940015852 A KR940015852 A KR 940015852A KR 1019930030204 A KR1019930030204 A KR 1019930030204A KR 930030204 A KR930030204 A KR 930030204A KR 940015852 A KR940015852 A KR 940015852A
Authority
KR
South Korea
Prior art keywords
port
functional units
write
processor
read
Prior art date
Application number
KR1019930030204A
Other languages
English (en)
Other versions
KR100290325B1 (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 KR940015852A publication Critical patent/KR940015852A/ko
Application granted granted Critical
Publication of KR100290325B1 publication Critical patent/KR100290325B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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
    • G06F9/3818Decoding for concurrent execution
    • G06F9/382Pipelined decoding, e.g. using predecoding
    • 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
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • 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
    • 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
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3853Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
    • 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
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

VLIW의 코스트/수행은 명령 이슈 래지스터에서 슬롯수와 래지스터 파일에 대한 포트 수를 감소시키므로서 개선된다.
감소된 명령수는 기능 유닛의 각 명령의 의도되는 것을 확인하는 명령으로 코드에 따라 선택된 기능 유닛에 기인한다. 상기 명령은 또한 판독 포트가 활성 기능 유닛에 할당하는 것을 확인한다.

Description

긴 명령 워드를 갖는 처리기
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제3도는 본 발명에 따른 VLIW CPU의 도시도, 제4도는 본 발명에 따른 VLIW명령 포맷의 도시도.

Claims (12)

  1. a)서로 병렬로 각각의 동작을 실행하는 적어도 3개인 제1수의 기능 유닛과, b)적어도 2개이면서 제1수보다는 적은 제2수의 명령을 홀딩하고 명령을 기능 유닛에 대해 지정하기 위한 코드를 홀딩하는 명령 래지스터와, c)명령 래지스터내의 명령을 병렬로 실행키 위해 기능 유닛중 적당한 하나를 실행하는 실행 제어 수단을 구비하는 처리기에 있어서, 상기 처리기는 명령 래지스터의 명령에 관계하여 오퍼랜드를 기억하기 위한 멀티포트 래지스터 파일을 구비하며, 상기 멀티포트 레지스터 파일은, 상기 오퍼랜드에 병렬 억세스를 제공하기 위해, 제2수의 기능 유닛으로 이루어지는 기능 유닛중 임의 서브셋에 의해 래지스터 파일로부터 요구된 최대수의 오퍼랜드와 적어도 동일하며, 상기 기능 유닛과 함께 요구된 총수의 오퍼랜드 보다 작은 제3수의 판독 포트를 포함하며, e)판독 포트에 병렬 억세스로 명령을 실행키 위해 기능 유닛중 몇개를 선택적으로 제공하는 판독 억세스 제공수단을 구비하는 처리기.
  2. 제1항에 있어서, 판독 포트는 판독 포트 그룹으로 이루어지며, 적어도 하나의 특별한 그룹은 적어도 2개의 판독 포트를 포함하며, 상기 판독 억세스 제공 수단은 그룹마다 기능 유닛에 제공된 판독 포트를 선택하게 배열되며, 기능 유닛중 적어도 하나는 각각의 오퍼랜드를 순간적으로 수신하기 위해 적어도 2개의 입력을 가지며, 상기 입력은 특별한 그룹이 상기 기능 유닛중 하나에 대해 선택될 때 매번 특별한 그룹으로부터 각각 소정의 판독 포트에 연결되어 있는 것을 특징으로 하는 처리기.
  3. 제1항 또는 제2항에 있어서, 상기 명령 래지스터는 상기 명령을 이슈하는 제2수의 각각의 이슈 슬롯으로 이루어지며, 각 이슈 슬롯은 판독 포트중 적어도 하나의 각 그룹에 대응하며, 특별한 기능 유닛은 특별한 이슈 슬롯으로부터 명령을 실행할 때 매번 특별한 이슈 슬롯에 대응하는 그룹으로부터 판독포트 또는 포트에 억세스를 제공하는 것을 특징으로 하는 처리기.
  4. 제2항 또는 제3항에 있어서, 각각의 특별한 그룹은 상기 기능 유닛중 임의 하나에 의해 요구된 최대수의 오퍼랜드와 동일한 제4수의 소정의 포트를 포함하는 것을 특징으로 하는 처리기.
  5. 제3항 또는 제4항에 있어서, 각각의 특별한 이슈 슬롯은 상기 특별한 이슈 슬롯에 대응하는 그룹의 판독 포트의 각 어드레스 입력에 연결되어 상기 판독 포트에서 어드레스된 오퍼랜드에 억세스를 제공하는 같은 수의 어드레스 필드를 포함하며, 상기 특별한 이슈 슬롯으로 부터 명령을 실행하는 기능 유닛은 어드레스된 오퍼랜드에 무관한 것을 특징으로 하는 처리기.
  6. 제5항에 있어서, 상기 기능 유닛중 적어도 하나는 상기 명령중 하나를 실행할때, 상기 명령중 하나를 이슈하는 이슈 슬롯에서 어드레스 필드로부터 정보를 수신하도록 배열되어 있으며, 상기 기능 유닛중 적어도 하나는 실행동안 오퍼랜드로서 정보를 사용하는 것을 특징으로 하는 처리기.
  7. 제1항 내지 제6항중 한 항에 있어서, 상기 멀티포트 래지스터 파일은 적어도 하나의 기록 포트를 구비하며, 상기 처리기는 명령을 병렬로 실행하고 그로부터의 결과를 형성하는 기능 유닛중 몇개에 대해 기록 포트 또는 포트에 억세스를 선택적으로 제공하는 기록 억세스 제공수단을 구비하는 것을 특징으로 하는 처리기.
  8. 제7항에 있어서, 상기 명령 래지스터는 명령을 이슈하기 위한 제2수의 각 이슈 슬롯으로 이루어지며, 여기서, 각 이슈 슬롯은 같은 수의 각각의 결과 어드레스 필드를 포함하며, 상기 기록 억세스 제공 수단은 어드레스 입력 또는 기록 포트나 포트에 어드레스 필드 내용을 루팅하기 위해 배열되어 있는 것을 특징으로 하는 처리기.
  9. 제8항에 있어서, 상기 기록 억세스 제공 수단은 상기 기능 유닛이 명령을 실행한 후 잠복주기를 기록 포트에 대해 상기 결과 어드레스 필드의 내용과 조합하며, 상기 기능 유닛중 하나의 출력을 결합하기 위해 배열되어 있는 것을 특징으로 하는 처리기.
  10. 제9항에 있어서, 상기 래지스터 파일은 적어도 2개의 기록 포트를 가지며, 상기 기록 선택 수단은 재 할당후에 클럭 싸이클 동안 기능 유닛중 하나에 특별한 기록 포트를 재할당하기 위해 배열되어 있으며, 여기서, 클럭 싸이클 동안 상기 기능 유닛중 하나의 실행 결과를 이용할수 있으며, 상기 특별한 기록 포트에 기능 유닛중 하나의 출력을 결합하고 클럭 싸이클 동안 특별한 기록 포트에 결과 어드레스 필드 내용을 전달하게 배열되어 있는 것을 특징으로 하는 처리기.
  11. 제10항에 있어서, 상기 재-할당 수단은 특별한 기록 포트가 클럭 사이클동안 기능 유닛중 하나에 이전에 할당되지 않은 억제하에 기록 포트로부터 특별한 기록 포트를 선택하도록 배열되어 있는 것을 특징으로 하는 처리기.
  12. 제11항에 있어서, 상기 재할당 수단은 래지스터 매트릭스를 포함하는 것을 특징으로 하는 처리기.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019930030204A 1992-12-29 1993-12-28 긴명령워드를갖는처리기 KR100290325B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US99808092A 1992-12-29 1992-12-29
US998,080 1992-12-29

Publications (2)

Publication Number Publication Date
KR940015852A true KR940015852A (ko) 1994-07-21
KR100290325B1 KR100290325B1 (ko) 2001-11-26

Family

ID=25544720

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930030204A KR100290325B1 (ko) 1992-12-29 1993-12-28 긴명령워드를갖는처리기

Country Status (5)

Country Link
US (1) US6044451A (ko)
EP (1) EP0605927B1 (ko)
JP (1) JP3916680B2 (ko)
KR (1) KR100290325B1 (ko)
DE (1) DE69325785T2 (ko)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370623B1 (en) * 1988-12-28 2002-04-09 Philips Electronics North America Corporation Multiport register file to accommodate data of differing lengths
SG44642A1 (en) * 1994-01-10 1997-12-19 Dow Chemical Co A massively multiplexed superscalar harvard architecture computer
US5761475A (en) * 1994-12-15 1998-06-02 Sun Microsystems, Inc. Computer processor having a register file with reduced read and/or write port bandwidth
US5924128A (en) * 1996-06-20 1999-07-13 International Business Machines Corporation Pseudo zero cycle address generator and fast memory access
US5931939A (en) * 1996-09-25 1999-08-03 Philips Electronics North America Corporation Read crossbar elimination in a VLIW processor
US6105051A (en) * 1997-10-23 2000-08-15 International Business Machines Corporation Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor
US6212544B1 (en) 1997-10-23 2001-04-03 International Business Machines Corporation Altering thread priorities in a multithreaded processor
US6567839B1 (en) 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
US6076157A (en) * 1997-10-23 2000-06-13 International Business Machines Corporation Method and apparatus to force a thread switch in a multithreaded processor
US6697935B1 (en) 1997-10-23 2004-02-24 International Business Machines Corporation Method and apparatus for selecting thread switch events in a multithreaded 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
US6076154A (en) * 1998-01-16 2000-06-13 U.S. Philips Corporation VLIW processor has different functional units operating on commands of different widths
US6314493B1 (en) 1998-02-03 2001-11-06 International Business Machines Corporation Branch history cache
JP2000305781A (ja) * 1999-04-21 2000-11-02 Mitsubishi Electric Corp Vliw方式プロセッサ、コード圧縮装置、コード圧縮方法およびコード圧縮プログラムを記録した媒体
US6351802B1 (en) * 1999-12-03 2002-02-26 Intel Corporation Method and apparatus for constructing a pre-scheduled instruction cache
GB2370380B (en) 2000-12-19 2003-12-31 Picochip Designs Ltd Processor architecture
JP4542722B2 (ja) 2001-04-25 2010-09-15 富士通株式会社 命令処理方法
US7249255B2 (en) * 2001-06-13 2007-07-24 Corrent Corporation Apparatus and method for a hash processing system using multiple hash storage areas
US7266703B2 (en) 2001-06-13 2007-09-04 Itt Manufacturing Enterprises, Inc. Single-pass cryptographic processor and method
US7213148B2 (en) * 2001-06-13 2007-05-01 Corrent Corporation Apparatus and method for a hash processing system using integrated message digest and secure hash architectures
US7360076B2 (en) * 2001-06-13 2008-04-15 Itt Manufacturing Enterprises, Inc. Security association data cache and structure
EP1546869B1 (en) * 2002-09-24 2013-04-03 Silicon Hive B.V. Apparatus, method, and compiler enabling processing of load immediate isntructions in a very long instruction word processor
JP4283131B2 (ja) 2004-02-12 2009-06-24 パナソニック株式会社 プロセッサ及びコンパイル方法
GB2420884B (en) * 2004-12-03 2009-04-15 Picochip Designs Ltd Processor architecture
US8713286B2 (en) * 2005-04-26 2014-04-29 Qualcomm Incorporated Register files for a digital signal processor operating in an interleaved multi-threaded environment
GB2454865B (en) * 2007-11-05 2012-06-13 Picochip Designs Ltd Power control
GB2466661B (en) * 2009-01-05 2014-11-26 Intel Corp Rake receiver
GB2470037B (en) 2009-05-07 2013-07-10 Picochip Designs Ltd Methods and devices for reducing interference in an uplink
GB2470771B (en) 2009-06-05 2012-07-18 Picochip Designs Ltd A method and device in a communication network
GB2470891B (en) 2009-06-05 2013-11-27 Picochip Designs Ltd A method and device in a communication network
GB2474071B (en) 2009-10-05 2013-08-07 Picochip Designs Ltd Femtocell base station
GB2482869B (en) 2010-08-16 2013-11-06 Picochip Designs Ltd Femtocell access control
JP5625903B2 (ja) * 2010-12-29 2014-11-19 富士通株式会社 演算処理装置および演算処理方法
GB2489919B (en) 2011-04-05 2018-02-14 Intel Corp Filter
GB2489716B (en) 2011-04-05 2015-06-24 Intel Corp Multimode base system
GB2491098B (en) 2011-05-16 2015-05-20 Intel Corp Accessing a base station
KR102251241B1 (ko) * 2013-11-29 2021-05-12 삼성전자주식회사 재구성 가능 프로세서의 레지스터를 제어하는 방법 및 장치와 재구성 가능 프로세서의 레지스터를 제어하는 명령어를 생성하는 방법 및 장치
JP6237241B2 (ja) * 2014-01-07 2017-11-29 富士通株式会社 処理装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63131230A (ja) * 1986-11-21 1988-06-03 Hitachi Ltd 情報処理装置
NL8800071A (nl) * 1988-01-13 1989-08-01 Philips Nv Dataprocessorsysteem en videoprocessorsysteem, voorzien van een dergelijk dataprocessorsysteem.
JP2553200B2 (ja) * 1989-08-19 1996-11-13 富士通株式会社 情報処理装置
US5179702A (en) * 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
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
US5161226A (en) * 1991-05-10 1992-11-03 Jmi Software Consultants Inc. Microprocessor inverse processor state usage
US5530866A (en) * 1991-07-30 1996-06-25 Tera Computer Company Register allocation methods having upward pass for determining and propagating variable usage information and downward pass for binding; both passes utilizing interference graphs via coloring
US5628013A (en) * 1992-09-30 1997-05-06 Apple Computer, Inc. Apparatus and method for allocating processing time in a frame-based computer system
US5619408A (en) * 1995-02-10 1997-04-08 International Business Machines Corporation Method and system for recoding noneffective instructions within a data processing system

Also Published As

Publication number Publication date
JP3916680B2 (ja) 2007-05-16
KR100290325B1 (ko) 2001-11-26
DE69325785T2 (de) 2000-02-17
JPH06230969A (ja) 1994-08-19
DE69325785D1 (de) 1999-09-02
EP0605927B1 (en) 1999-07-28
EP0605927A1 (en) 1994-07-13
US6044451A (en) 2000-03-28

Similar Documents

Publication Publication Date Title
KR940015852A (ko) 긴 명령 워드를 갖는 처리기
RU2212049C2 (ru) Смешанный файл векторных/скалярных регистров
US5832290A (en) Apparatus, systems and method for improving memory bandwidth utilization in vector processing systems
EP0011442B1 (en) Data processing system having an integrated stack and register machine architecture
EP0087978A2 (en) Information processing unit
US5027272A (en) Method and apparatus for performing double precision vector operations on a coprocessor
KR930018378A (ko) 캐쉬 메모리 시스템의 성능최적화 방법 및 장치
KR960035259A (ko) 감소된 판독 및/또는 기록 포트 대역폭을 갖는 레지스터 파일을 포함하는 컴퓨터 프로세서
JP2004234642A (ja) 命令実行ユニットのための統合化構造のレイアウト
JPH04299436A (ja) メモリ回路および機能ユニットのグループを備えた処理装置
KR100288170B1 (ko) 레지스터 화일군을 공유하는 연산 유닛을 갖춘 데이타 처리기
US6292845B1 (en) Processing unit having independent execution units for parallel execution of instructions of different category with instructions having specific bits indicating instruction size and category respectively
KR970059922A (ko) 전용 레지스터의 내용 상에서 동작하는 명령을 제공함으로써 에뮬레이션 성능을 향상시키기 위한 방법 및 시스템
KR20230034386A (ko) 레지스터 데이터 소거
KR900005296A (ko) 버퍼 기억장치 시스템
JP4465081B2 (ja) Vliwプロセッサにおける効率的なサブ命令エミュレーション
Kawano et al. Fine-grain multi-thread processor architecture for massively parallel processing
JPH1091593A (ja) マイクロプロセッサと付加的計算ユニットとを含むデータ処理装置
US6321319B2 (en) Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction
EP0224691A2 (en) A multiple read/write access memory system
US6711655B1 (en) Finding available memory space by finding its associated memory transfer controller
KR100246465B1 (ko) 마이크로프로세서 스택 명령어의 수행사이클을 줄이기 위한 장치 및 그 방법
JP2883488B2 (ja) 命令処理装置
JP3532026B2 (ja) 演算装置
JP2000029508A (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: 20120228

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20130227

Year of fee payment: 13

EXPY Expiration of term