KR940015852A - 긴 명령 워드를 갖는 처리기 - Google Patents
긴 명령 워드를 갖는 처리기 Download PDFInfo
- 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
Links
- 239000011159 matrix material Substances 0.000 claims 1
- 230000001629 suppression Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 2
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- 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
- G06F9/3818—Decoding for concurrent execution
- G06F9/382—Pipelined decoding, e.g. using predecoding
-
- 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/30098—Register arrangements
- G06F9/30141—Implementation provisions of register files, e.g. ports
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- 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
-
- 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
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- 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
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
-
- G—PHYSICS
- G06—COMPUTING; 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
- G06F9/3885—Concurrent 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)
- a)서로 병렬로 각각의 동작을 실행하는 적어도 3개인 제1수의 기능 유닛과, b)적어도 2개이면서 제1수보다는 적은 제2수의 명령을 홀딩하고 명령을 기능 유닛에 대해 지정하기 위한 코드를 홀딩하는 명령 래지스터와, c)명령 래지스터내의 명령을 병렬로 실행키 위해 기능 유닛중 적당한 하나를 실행하는 실행 제어 수단을 구비하는 처리기에 있어서, 상기 처리기는 명령 래지스터의 명령에 관계하여 오퍼랜드를 기억하기 위한 멀티포트 래지스터 파일을 구비하며, 상기 멀티포트 레지스터 파일은, 상기 오퍼랜드에 병렬 억세스를 제공하기 위해, 제2수의 기능 유닛으로 이루어지는 기능 유닛중 임의 서브셋에 의해 래지스터 파일로부터 요구된 최대수의 오퍼랜드와 적어도 동일하며, 상기 기능 유닛과 함께 요구된 총수의 오퍼랜드 보다 작은 제3수의 판독 포트를 포함하며, e)판독 포트에 병렬 억세스로 명령을 실행키 위해 기능 유닛중 몇개를 선택적으로 제공하는 판독 억세스 제공수단을 구비하는 처리기.
- 제1항에 있어서, 판독 포트는 판독 포트 그룹으로 이루어지며, 적어도 하나의 특별한 그룹은 적어도 2개의 판독 포트를 포함하며, 상기 판독 억세스 제공 수단은 그룹마다 기능 유닛에 제공된 판독 포트를 선택하게 배열되며, 기능 유닛중 적어도 하나는 각각의 오퍼랜드를 순간적으로 수신하기 위해 적어도 2개의 입력을 가지며, 상기 입력은 특별한 그룹이 상기 기능 유닛중 하나에 대해 선택될 때 매번 특별한 그룹으로부터 각각 소정의 판독 포트에 연결되어 있는 것을 특징으로 하는 처리기.
- 제1항 또는 제2항에 있어서, 상기 명령 래지스터는 상기 명령을 이슈하는 제2수의 각각의 이슈 슬롯으로 이루어지며, 각 이슈 슬롯은 판독 포트중 적어도 하나의 각 그룹에 대응하며, 특별한 기능 유닛은 특별한 이슈 슬롯으로부터 명령을 실행할 때 매번 특별한 이슈 슬롯에 대응하는 그룹으로부터 판독포트 또는 포트에 억세스를 제공하는 것을 특징으로 하는 처리기.
- 제2항 또는 제3항에 있어서, 각각의 특별한 그룹은 상기 기능 유닛중 임의 하나에 의해 요구된 최대수의 오퍼랜드와 동일한 제4수의 소정의 포트를 포함하는 것을 특징으로 하는 처리기.
- 제3항 또는 제4항에 있어서, 각각의 특별한 이슈 슬롯은 상기 특별한 이슈 슬롯에 대응하는 그룹의 판독 포트의 각 어드레스 입력에 연결되어 상기 판독 포트에서 어드레스된 오퍼랜드에 억세스를 제공하는 같은 수의 어드레스 필드를 포함하며, 상기 특별한 이슈 슬롯으로 부터 명령을 실행하는 기능 유닛은 어드레스된 오퍼랜드에 무관한 것을 특징으로 하는 처리기.
- 제5항에 있어서, 상기 기능 유닛중 적어도 하나는 상기 명령중 하나를 실행할때, 상기 명령중 하나를 이슈하는 이슈 슬롯에서 어드레스 필드로부터 정보를 수신하도록 배열되어 있으며, 상기 기능 유닛중 적어도 하나는 실행동안 오퍼랜드로서 정보를 사용하는 것을 특징으로 하는 처리기.
- 제1항 내지 제6항중 한 항에 있어서, 상기 멀티포트 래지스터 파일은 적어도 하나의 기록 포트를 구비하며, 상기 처리기는 명령을 병렬로 실행하고 그로부터의 결과를 형성하는 기능 유닛중 몇개에 대해 기록 포트 또는 포트에 억세스를 선택적으로 제공하는 기록 억세스 제공수단을 구비하는 것을 특징으로 하는 처리기.
- 제7항에 있어서, 상기 명령 래지스터는 명령을 이슈하기 위한 제2수의 각 이슈 슬롯으로 이루어지며, 여기서, 각 이슈 슬롯은 같은 수의 각각의 결과 어드레스 필드를 포함하며, 상기 기록 억세스 제공 수단은 어드레스 입력 또는 기록 포트나 포트에 어드레스 필드 내용을 루팅하기 위해 배열되어 있는 것을 특징으로 하는 처리기.
- 제8항에 있어서, 상기 기록 억세스 제공 수단은 상기 기능 유닛이 명령을 실행한 후 잠복주기를 기록 포트에 대해 상기 결과 어드레스 필드의 내용과 조합하며, 상기 기능 유닛중 하나의 출력을 결합하기 위해 배열되어 있는 것을 특징으로 하는 처리기.
- 제9항에 있어서, 상기 래지스터 파일은 적어도 2개의 기록 포트를 가지며, 상기 기록 선택 수단은 재 할당후에 클럭 싸이클 동안 기능 유닛중 하나에 특별한 기록 포트를 재할당하기 위해 배열되어 있으며, 여기서, 클럭 싸이클 동안 상기 기능 유닛중 하나의 실행 결과를 이용할수 있으며, 상기 특별한 기록 포트에 기능 유닛중 하나의 출력을 결합하고 클럭 싸이클 동안 특별한 기록 포트에 결과 어드레스 필드 내용을 전달하게 배열되어 있는 것을 특징으로 하는 처리기.
- 제10항에 있어서, 상기 재-할당 수단은 특별한 기록 포트가 클럭 사이클동안 기능 유닛중 하나에 이전에 할당되지 않은 억제하에 기록 포트로부터 특별한 기록 포트를 선택하도록 배열되어 있는 것을 특징으로 하는 처리기.
- 제11항에 있어서, 상기 재할당 수단은 래지스터 매트릭스를 포함하는 것을 특징으로 하는 처리기.※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
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)
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)
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 |
-
1993
- 1993-12-24 DE DE69325785T patent/DE69325785T2/de not_active Expired - Lifetime
- 1993-12-24 EP EP93203688A patent/EP0605927B1/en not_active Expired - Lifetime
- 1993-12-28 JP JP33651093A patent/JP3916680B2/ja not_active Expired - Lifetime
- 1993-12-28 KR KR1019930030204A patent/KR100290325B1/ko not_active IP Right Cessation
-
1998
- 1998-06-10 US US09/090,038 patent/US6044451A/en not_active Expired - Fee Related
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 |