KR100947446B1 - Vliw 프로세서 - Google Patents
Vliw 프로세서 Download PDFInfo
- Publication number
- KR100947446B1 KR100947446B1 KR1020047014984A KR20047014984A KR100947446B1 KR 100947446 B1 KR100947446 B1 KR 100947446B1 KR 1020047014984 A KR1020047014984 A KR 1020047014984A KR 20047014984 A KR20047014984 A KR 20047014984A KR 100947446 B1 KR100947446 B1 KR 100947446B1
- Authority
- KR
- South Korea
- Prior art keywords
- functional units
- register file
- communication
- functional
- processor
- Prior art date
Links
- 238000004891 communication Methods 0.000 claims abstract description 139
- 230000005540 biological transmission Effects 0.000 claims description 29
- 238000012546 transfer Methods 0.000 claims description 10
- 238000000034 method Methods 0.000 claims description 9
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 5
- 229910052710 silicon Inorganic materials 0.000 description 5
- 239000010703 silicon Substances 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000009790 rate-determining step (RDS) Methods 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
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
- G06F9/3891—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- 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/3824—Operand accessing
-
- 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/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
-
- 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/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
- G06F9/3828—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage with global bypass, e.g. between pipelines, between clusters
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
VLIW 처리의 한계점으로는 제한된 하드웨어 리소스, 제한된 병렬성 및 코드(code) 크기의 커다란 증가가 포함된다. 제한된 하드웨어 리소스는 기능성 유닛, 중앙 레지스터 파일 또는 통신 네트워크가 될 수 있다. 더 많은 리소스를 추가함으로써 이러한 제한을 방지하는 해결책은 몇몇 심각한 단점을 갖는다. 기능성 유닛의 개수를 증가시키면, 메모리 크기 및 레지스터 파일 대역폭도 또한 증가되어야 할 것이다. 또한, 레지스터 파일을 액세스하기 위해서는 많은 수의 판독 및 기록 포트가 필요하게 되어, 레지스터 파일의 크기를 대폭 증가시키고 클록 속도(clock speed)를 저하시키지 않고서는 대역폭을 지원하기 어렵게 된다. 레지스터 파일의 크기를 증가시키면 임계 타이밍 경로(critical timing paths)가 생성될 수 있고, 그에 따라 프로세서의 사이클 시간이 제한된다. 더욱이, 직접적으로 어드레스 가능한 레지스터의 개수가 증가될수록, 인스트럭션 내에서 다수의 레지스터를 지정하기 위한 비트의 개수도 증가된다.
프로세서는 기능성 유닛(1, 3, 5, 7)과 선택된 분산형 레지스터 파일 세그먼트(9, 11, 13, 15)를 접속시키는 부분 접속형 통신 네트워크(17)를 포함한다. 부분 접속형 통신 네트워크(17)는 멀티플렉서(19, 21, 23, 25, 27)를 포함한다.
Claims (8)
- VLIW(Very Long Instruction Word) 프로세서로서,복수의 기능성 유닛(functional units)(1, 3, 5, 7)과,상기 기능성 유닛(1, 3, 5, 7)에 의해 액세스 가능한 분산형 레지스터 파일(distributed register file)(9, 11, 13, 15)과,상기 기능성 유닛(1, 3, 5, 7)과 상기 분산형 레지스터 파일(9, 11, 13, 15)의 선택된 부분을 접속시키는 부분 접속형 통신 네트워크(partially connected communication network)(17)와,상기 기능성 유닛(1, 3, 5, 7)과 상기 분산형 레지스터 파일(9, 11, 13, 15)을 접속시키는 통신 수단(29)을 포함하는VLIW 프로세서.
- 제 1 항에 있어서,상기 통신 수단(29)은 멀티플렉서(multiplexer)(31) 및 버스(bus)(33)를 포함하되,상기 멀티플렉서(31)는 상기 기능성 유닛(1, 3, 5, 7)과 상기 버스(33)를 접속시키도록 구성되고,상기 버스(33)는 상기 멀티플렉서(31)와 상기 분산형 레지스터 파일(9, 11, 13, 15)을 접속시키도록 구성되는VLIW 프로세서.
- 제 1 항에 있어서,상기 통신 수단(29)은 제 1 전송 지연(latency)을 가지고 통신하도록 구성되고,상기 부분 접속형 통신 네트워크(17)는 제 2 전송 지연을 가지고 통신하도록 구성되며,상기 제 1 전송 지연은 상기 제 2 전송 지연을 초과하는VLIW 프로세서.
- 제 2 항에 있어서,상기 버스(33)는 적어도 하나의 파이프라인 레지스터(pipeline register)(35)를 포함하는VLIW 프로세서.
- 제 2 항에 있어서,상기 멀티플렉서(31)는 적어도 하나의 레지스터를 포함하는VLIW 프로세서.
- 제 1 항에 있어서,기능성 유닛(105, 107)으로 이루어진 제 1 복수의 기능성 유닛(101)과,기능성 유닛(109, 111, 113)으로 이루어진 제 2 복수의 기능성 유닛(103)과,상기 기능성 유닛(105, 107)으로 이루어진 상기 제 1 복수의 기능성 유닛(101)과 연결된 상기 분산형 레지스터 파일(115, 117, 119, 121) 중 하나의 분산형 레지스터 파일(121)로부터 상기 기능성 유닛(109, 111, 113)으로 이루어진 상기 제 2 복수의 기능성 유닛(103)과 연결된 상기 분산형 레지스터 파일(123, 125, 127, 129, 131, 133) 중 하나의 분산형 레지스터 파일로 데이터를 전달하도록 상기 제 1 복수의 기능성 유닛(101)의 상기 기능성 유닛(105, 107) 중 하나의 기능성 유닛(107)과 연결된 제 1 패스 유닛(pass unit)(171)과,상기 기능성 유닛(109, 111, 113)으로 이루어진 상기 제 2 복수의 기능성 유닛(103)과 연결된 상기 분산형 레지스터 파일(123, 125, 127, 129, 131, 133) 중 하나의 분산형 레지스터 파일(133)로부터 상기 기능성 유닛(105, 107)으로 이루어진 상기 제 1 복수의 기능성 유닛(101)과 연결된 상기 분산형 레지스터 파일(115, 117, 119, 121) 중 하나의 분산형 레지스터 파일로 데이터를 전달하도록 상기 제 2 복수의 기능성 유닛(103)의 상기 기능성 유닛(109, 111, 113) 중 하나의 기능성 유닛(113)과 연결된 제 2 패스 유닛(173)을 포함하는VLIW 프로세서.
- 제 6 항에 있어서,상기 패스 유닛(171, 173)은 각각 연결된 상기 기능성 유닛(107, 113)의 일부분인VLIW 프로세서.
- 제 1 항에 있어서,상기 통신 수단(29)은 상기 기능성 유닛(1, 3, 5, 7)과 상기 분산형 레지스터 파일(9, 11, 13, 15)의 모든 부분을 접속시키는VLIW 프로세서.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2002/000983 WO2003083649A1 (en) | 2002-03-28 | 2002-03-28 | Vliw processor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040101343A KR20040101343A (ko) | 2004-12-02 |
KR100947446B1 true KR100947446B1 (ko) | 2010-03-11 |
Family
ID=28460316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020047014984A KR100947446B1 (ko) | 2002-03-28 | 2002-03-28 | Vliw 프로세서 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7287151B2 (ko) |
JP (1) | JP3799041B2 (ko) |
KR (1) | KR100947446B1 (ko) |
WO (1) | WO2003083649A1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0215028D0 (en) * | 2002-06-28 | 2002-08-07 | Critical Blue Ltd | Microarchitecture description |
WO2005036384A2 (en) * | 2003-10-14 | 2005-04-21 | Koninklijke Philips Electronics N.V. | Instruction encoding for vliw processors |
US20070073999A1 (en) * | 2005-09-28 | 2007-03-29 | Verheyen Henry T | Hardware acceleration system for logic simulation using shift register as local cache with path for bypassing shift register |
US20080046689A1 (en) * | 2006-08-21 | 2008-02-21 | Tien-Fu Chen | Method and apparatus for cooperative multithreading |
US7669041B2 (en) * | 2006-10-06 | 2010-02-23 | Stream Processors, Inc. | Instruction-parallel processor with zero-performance-overhead operand copy |
US20100332798A1 (en) * | 2009-06-29 | 2010-12-30 | International Business Machines Corporation | Digital Processor and Method |
CN103955353B (zh) * | 2014-05-05 | 2017-01-18 | 中国人民解放军国防科学技术大学 | 具有面向全分布式超长指令字的高能效局部互连结构的装置 |
US20230409336A1 (en) * | 2022-06-17 | 2023-12-21 | Advanced Micro Devices, Inc. | VLIW Dynamic Communication |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100242619B1 (ko) * | 1990-10-05 | 2000-08-01 | 요트.게.아. 롤페즈 | 메모리 회로와 기능적 유니트 그룹을 포함하는 프로세싱 디바이스 |
KR20000075837A (ko) * | 1997-12-29 | 2000-12-26 | 하트그링 씨스 | 보호형의 매우 긴 명령어 아키텍처를 위한 향상된 명령 디스패치 메카니즘 |
KR20050119125A (ko) * | 2003-03-19 | 2005-12-20 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 프로세서 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6629232B1 (en) * | 1999-11-05 | 2003-09-30 | Intel Corporation | Copied register files for data processors having many execution units |
EP1161722A1 (en) * | 2000-01-14 | 2001-12-12 | Jean-Paul Theis | A data processing device with distributed register file |
EP1124181B8 (en) * | 2000-02-09 | 2012-03-21 | Texas Instruments Incorporated | Data processing apparatus |
WO2001067234A2 (en) * | 2000-03-08 | 2001-09-13 | Sun Microsystems, Inc. | Vliw computer processing architecture having a scalable number of register files |
EP1208423A2 (en) * | 2000-03-10 | 2002-05-29 | Koninklijke Philips Electronics N.V. | Method for compiling a program |
US6757807B1 (en) * | 2000-08-18 | 2004-06-29 | Sun Microsystems, Inc. | Explicitly clustered register file and execution unit architecture |
US20020120915A1 (en) * | 2000-10-13 | 2002-08-29 | Khan Shoab A. | Combined scheduling and mapping of digital signal processing algorithms on a VLIW processor |
-
2002
- 2002-03-28 US US10/509,562 patent/US7287151B2/en not_active Expired - Lifetime
- 2002-03-28 WO PCT/IB2002/000983 patent/WO2003083649A1/en active Application Filing
- 2002-03-28 KR KR1020047014984A patent/KR100947446B1/ko active IP Right Grant
- 2002-03-28 JP JP2003581007A patent/JP3799041B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100242619B1 (ko) * | 1990-10-05 | 2000-08-01 | 요트.게.아. 롤페즈 | 메모리 회로와 기능적 유니트 그룹을 포함하는 프로세싱 디바이스 |
KR20000075837A (ko) * | 1997-12-29 | 2000-12-26 | 하트그링 씨스 | 보호형의 매우 긴 명령어 아키텍처를 위한 향상된 명령 디스패치 메카니즘 |
KR20050119125A (ko) * | 2003-03-19 | 2005-12-20 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 프로세서 |
Also Published As
Publication number | Publication date |
---|---|
US20050210219A1 (en) | 2005-09-22 |
WO2003083649A1 (en) | 2003-10-09 |
JP2005521936A (ja) | 2005-07-21 |
US7287151B2 (en) | 2007-10-23 |
KR20040101343A (ko) | 2004-12-02 |
JP3799041B2 (ja) | 2006-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3400688B1 (en) | Massively parallel computer, accelerated computing clusters, and two dimensional router and interconnection network for field programmable gate arrays, and applications | |
US7373440B2 (en) | Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format | |
US7487302B2 (en) | Service layer architecture for memory access system and method | |
KR101012744B1 (ko) | 향상된 컴퓨팅 아키텍쳐를 위한 파이프라인 가속기 및 관련시스템 및 방법 | |
US20230042521A1 (en) | Highly Scalable Quantum Control | |
JP2009527829A (ja) | 複数のプロセッサコア用の共通アナログインターフェイス | |
US5586289A (en) | Method and apparatus for accessing local storage within a parallel processing computer | |
KR100947446B1 (ko) | Vliw 프로세서 | |
EP1083487A2 (en) | Configuration bus reconfigurable/reprogrammable interface for expanded direct memory access processor | |
US8171259B2 (en) | Multi-cluster dynamic reconfigurable circuit for context valid processing of data by clearing received data with added context change indicative signal | |
Beecroft et al. | QsNet-II: an interconnect for supercomputing applications | |
KR970029033A (ko) | 프로세서의 벡터 데이타 조정 장치 | |
US11275598B1 (en) | Dynamic one-bit multiplexing switch for emulation interconnect | |
JP2023533795A (ja) | レジスタデータの消去 | |
US7555630B2 (en) | Method and apparatus to provide efficient communication between multi-threaded processing elements in a processor unit | |
US9317475B2 (en) | Multiplexing auxiliary processing element and semiconductor integrated circuit | |
RU2686017C1 (ru) | Реконфигурируемый вычислительный модуль | |
KR20050119125A (ko) | 프로세서 | |
Jones | Throughput Expansion with FET Based Crossbar Switching | |
Panda et al. | Software Managed Distributed Memories in MPPAs | |
CN116361226A (zh) | 一种可重构计算访存架构及方法、电子设备 | |
WO2007092747A2 (en) | Multi-core architecture with hardware messaging | |
AU2002356010A1 (en) | Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format | |
JP2004126647A (ja) | 情報転送方法及び情報処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
J301 | Trial decision |
Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20081002 Effective date: 20100121 Free format text: TRIAL NUMBER: 2008101010235; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20081002 Effective date: 20100121 |
|
S901 | Examination by remand of revocation | ||
GRNO | Decision to grant (after opposition) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130227 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140227 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150227 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20151230 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20161229 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20171228 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20181227 Year of fee payment: 10 |