CN1320451C - 具有数据溢出装置的vliw处理器 - Google Patents

具有数据溢出装置的vliw处理器 Download PDF

Info

Publication number
CN1320451C
CN1320451C CNB038085011A CN03808501A CN1320451C CN 1320451 C CN1320451 C CN 1320451C CN B038085011 A CNB038085011 A CN B038085011A CN 03808501 A CN03808501 A CN 03808501A CN 1320451 C CN1320451 C CN 1320451C
Authority
CN
China
Prior art keywords
register file
functional unit
unit
vliw processor
overflow
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CNB038085011A
Other languages
English (en)
Other versions
CN1647031A (zh
Inventor
T·J·德维里斯
M·J·G·贝库伊
A·奥古斯泰恩
J·S·H·范加格多克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Benelux BV
Intel Corp
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1647031A publication Critical patent/CN1647031A/zh
Application granted granted Critical
Publication of CN1320451C publication Critical patent/CN1320451C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
    • G06F9/3828Bypassing 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

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)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
  • Image Processing (AREA)
  • Hardware Redundancy (AREA)

Abstract

一种VLIW处理器,其包括:多个功能单元(1,3);一个包含多个片段(5,7,9)的分布寄存器文件(4),该分布寄存器文件可由功能单元(1,3)存取;一个用于与一个存储器通信的通信单元(11);一个用于耦接功能单元(1,3)和分布寄存器文件(4)的通信网络(13);其特征在于:VLIW处理器还包括一个用于在分布寄存器文件(4)和通信装置(11)之间传输数据的溢出装置(15)。

Description

具有数据溢出装置的VLIW处理器
技术领域
本发明涉及一种VLIW处理器,其包括:多个功能单元;一个包含多个片段的分布寄存器文件,该分布寄存器文件可由功能单元存取;一个用于与一个存储器通信的通信装置;一个用于耦合功能单元和分布寄存器文件的通信网络。
背景技术
在WO 00/33178中公开了所提及的该种VLIW处理器的一个实施例。
一个超长指令字(VLIW)处理器允许在程序中采用指令-级的并行性,因此一次执行多于一个的指令。VLIW处理器使用多个独立的功能单元以并行地执行多个操作。VLIW处理器将多个功能单元操作封装在一个超长指令中。
VLIW处理的局限性包括受限的硬件资源,受限的并行性和增大的代码尺寸。受限的硬件资源可以是功能单元、寄存器文件或通信网络。通过增加更多的资源预先考虑这些局限性会产生一些严重的缺陷。例如,当增加功能单元的数目时,存储器的尺寸和寄存器文件的带宽也必须增加。另外,在强加一个难以支持的带宽而不增大寄存器文件的代价并且时钟速度不降级的情况下,为了存取寄存器文件就需要大量数目的读和写端口。
对于一些运行在VLIW处理器上的应用程序,有限的硬件资源可以是寄存器文件。大的寄存器文件可用于防止此种情况。然而,这样有几个缺陷。第一,具有多个寄存器的寄存器文件可产生多个关键时序路径(critical timing path),因此限制了处理器的循环时间。第二,随着直接寻址寄存器数量增加,指定指令中的多个寄存器的数据位的数目也增加了。第三,具有多个寄存器的寄存器文件可占用一个大硅面积。
发明内容
本发明的一个目的是提供一种VLIW处理器架构,其防止寄存器文件成为受限的硬件资源。
用一个所提及种类的VLIW处理器来实现此目的,其特征在于:VLIW处理器还包括用于在分布寄存器文件和通信装置之间传输数据的溢出装置。
应注意,溢出本身是已知的,但其来自于一完全不同的技术领域,即来自于编译器技术。其原理是当一个编译器产生机器代码且存在比机器所具有的寄存器多的活动变量时,一些变量被从寄存器传输到或溢出到存储器。
溢出装置具有通过功能单元将数值从寄存器文件传输到通信装置的能力。溢出装置也具有通过将数值从通信装置传输到寄存器文件恢复数值的能力。
本发明的一个实施例的特征在于:溢出装置包括一个溢出寄存器文件和一个溢出单元,溢出寄存器文件可由溢出装置存取。此实施例的一个优点是其防止了:由溢出装置将数值传输到通信装置的速度限制处理器的时钟频率。
本发明的一个实施例的特征在于:分布寄存器文件的多个片段中的至少一个与一个功能单元相关联,该功能单元不能将数据从分布寄存器文件的片断传送到溢出装置,一个传送单元与功能单元相关联,用于将数据从分布寄存器文件的片段传送到溢出装置。万一诸如ROM单元的功能单元不能传送必须从寄存器文件溢出的数值时,传送单元将能传递该数值。
本发明的一个实施例的特征在于:通信网络包括一个部分连接的通信网络。此实施例的一个优点是其减少了一个完全相连的网络的开销(overhead)。
本发明的一个实施例的特征在于:传送单元是与之关联的功能单元的一部分。此实施例的一个优点是不需要分离的传送单元,节省了另外的硅片面积和通信连接。
附图说明
下面将结合附图来进一步说明和描述已描述的实施例的特征:
此单幅图是根据本发明的一个实施例的VLIW处理器的示意图。
具体实施方式
参照附图,一个示意性框图示出了一个包括多个含有功能单元1和3的功能单元的VLIW处理器。该处理器具有一个含有寄存器文件片段5,7和9的分布寄存器文件4。功能单元1能从寄存器文件片段5中读取数据。功能单元3能从寄存器文件片段7和9中读取数据。
该处理器包括一个用于与一个存储器通信的通信单元11。该存储器没有在此图中示出。该处理器也包括一个通信网络13,例如,总线,其耦接功能单元1和3,以及寄存器文件片段5,7和9。
另外,该处理器包括一个溢出装置15。溢出装置15通过通信网络13与寄存器文件片段5,7,和9耦接。溢出装置15也通过通信网络13与功能单元1和3耦接。溢出装置15允许通过功能单元1和3将数值从寄存器文件片段5,7,和9传输到通信装置11。另外,溢出装置15可通过将数值从通信单元11传输到寄存器文件片段5,7,和9来恢复该数值。
优选地,溢出装置15包括一个溢出寄存器文件17和一个溢出单元19,溢出单元19能从溢出寄存器文件17读取数据。此实施例的一个优点是其防止了:溢出装置15将数值传输到通信单元11的速度限制了该处理器的时钟频率。在一些实施例中,数值可临时存储在溢出寄存器文件17中,而不用将它们传输到通信单元11。溢出单元19可将这些数值从溢出寄存器文件17传输到寄存器文件片段5,7,和9。此实施例的一个优点是其防止了将数值写到通信单元11和从其恢复数值的时间消耗行为。
在一个有益的实施例中,该处理器还具有一个传送单元21。传送单元21能从寄存器文件片段5读出数值,且传送单元21和溢出装置15通过通信网络13耦接在一起。万一功能单元1不能传送数值时,传送单元21允许传送必须从寄存器文件片段5溢出的数值。在一些实施例中,提供多个传送单元,而在其它实施例中,一个也没有提供。如果那个功能单元,例如ROM单元不能从寄存器文件片段传送数值,那么传送单元与功能单元相关联。
在此图示出的实施例中,传送单元21是一个与功能单元1相关联的分离单元。在一些实施例中,通过对此功能单元增加一项附加的操作,也就是允许从寄存器文件片段传送数值,传送单元21可成为与之关联的功能单元1的一部分。
该功能单元可耦接一个寄存器文件片段,如功能单元1的情况,也可耦接多个寄存器文件片段,如功能单元3的情况。寄存器文件片段可耦接至一个功能单元或多个功能单元。寄存器文件片段和功能单元之间的耦接程度可取决于功能单元必须执行的多个操作的类型。
通信网络13耦接功能单元1和3及寄存器文件片段5,7,和9。在此图中示出的实施例具有一个完全连接的通信网络,其意味着每个功能单元1和3都耦接到每个寄存器文件片段5,7,和9。在一些实施例中,通信网络13是部分连接的,也就是不是每个功能单元1和3都与每个寄存器文件片段5,7,和9耦接。部分连接的网络相比于完全连接的网络的一个优点是其消耗较少的硅面积,且其允许该处理器具有较高的时钟频率。
功能单元1和3及传送单元21被耦接至溢出装置15。在此图示出的实施例中,这些耦接是通信网络13的一部分。在一些实施例中,这些耦接中的一个或多个可以是分离的。
溢出装置15被耦接至寄存器文件片段5,7,和9。在此图示出的实施例中,这些耦接是通信网络13的一部分。在一些实施例中,这些耦接中的一个或多个可以是分离的。
应注意到,上述实施例解释了本发明,而非限制本发明,本领域普通技术人员在不脱离后附权利要求的范围的情况下可以设计很多可替换的实施例。在这些权利要求中,任何圆括号之间的参考标记不应解释为限制权利要求。词“包括”不排除列在权利要求中那些元件或步骤之外的元件或步骤的存在。元件前的词“一个”不排除多个这样元件的存在。在装置权利要求中列出了几个装置,这些装置中的若干个可由一个和相同的硬件来体现。在相互不同的从属权利要求中描述的某些措施的纯粹事实不表示这些措施的结合不能有益的使用。

Claims (4)

1.一种VLIW处理器,包括:
多个功能单元(1,3);
一个包含多个片段(5,7,9)的分布寄存器文件(4),该分布寄存器文件可由该功能单元存取;
用于与一个存储器通信的通信装置(11);
一个用于耦接功能单元和分布寄存器文件的通信网络(13);
其特征在于:VLIW处理器还包括一个用于通过功能单元在分布寄存器文件和通信装置之间传输数据的溢出装置(15),所述溢出装置包括一个溢出寄存器文件(19)和一个溢出单元(17),溢出寄存器文件可由溢出单元存取。
2.根据权利要求1所述的VLIW处理器,其中:
至少一个分布寄存器文件(4)的片段(5,7,9)与一个功能单元(1,3)相关联,该功能单元不能将数据从该分布寄存器文件的片段传送到该溢出装置(15),一个传送单元(21)与功能单元(1,3)相关联,用于将数据从分布寄存器文件的片段(5,7,9)传送到溢出装置。
3.根据权利要求1所述的VLIW处理器,其中:
该通信网络(13)包括一个部分连接的通信网络。
4.根据权利要求2所述的VLIW处理器,其中:
该传送单元(21)是与之关联的功能单元(1,3)的一部分。
CNB038085011A 2002-04-18 2003-04-01 具有数据溢出装置的vliw处理器 Expired - Fee Related CN1320451C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02076524.4 2002-04-18
EP02076524 2002-04-18

Publications (2)

Publication Number Publication Date
CN1647031A CN1647031A (zh) 2005-07-27
CN1320451C true CN1320451C (zh) 2007-06-06

Family

ID=29225683

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038085011A Expired - Fee Related CN1320451C (zh) 2002-04-18 2003-04-01 具有数据溢出装置的vliw处理器

Country Status (8)

Country Link
US (1) US7107432B2 (zh)
EP (1) EP1499959B1 (zh)
JP (1) JP3979998B2 (zh)
CN (1) CN1320451C (zh)
AT (1) ATE338976T1 (zh)
AU (1) AU2003214554A1 (zh)
DE (1) DE60308168T2 (zh)
WO (1) WO2003088037A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030105617A1 (en) * 2001-12-05 2003-06-05 Nec Usa, Inc. Hardware acceleration system for logic simulation
WO2007037935A2 (en) * 2005-09-28 2007-04-05 Liga Systems, Inc. Hardware acceleration system for logic simulation using shift register as local cache
US7444276B2 (en) * 2005-09-28 2008-10-28 Liga Systems, Inc. Hardware acceleration system for logic simulation using shift register as local cache
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
US20070074000A1 (en) * 2005-09-28 2007-03-29 Liga Systems, Inc. VLIW Acceleration System Using Multi-state Logic
CN101158891B (zh) * 2007-11-19 2010-07-21 中国科学院计算技术研究所 在非cisc处理器上进行浮点栈溢出检查的装置和方法
TWI401602B (zh) * 2009-07-06 2013-07-11 Nat Univ Tsing Hua 處理器之使用暫存器檔案的溢出方法
US9009692B2 (en) * 2009-12-26 2015-04-14 Oracle America, Inc. Minimizing register spills by using register moves

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000033178A1 (en) * 1998-12-03 2000-06-08 Sun Microsystems, Inc. Local and global register partitioning in a vliw processor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3745450B2 (ja) * 1996-05-13 2006-02-15 株式会社ルネサステクノロジ 並列処理プロセッサ
WO1998006042A1 (en) * 1996-08-07 1998-02-12 Sun Microsystems, Inc. Wide instruction unpack method and apparatus
US6487630B2 (en) * 1999-02-26 2002-11-26 Intel Corporation Processor with register stack engine that dynamically spills/fills physical registers to backing store
US6928645B2 (en) * 2001-03-30 2005-08-09 Intel Corporation Software-based speculative pre-computation and multithreading
US20030105617A1 (en) * 2001-12-05 2003-06-05 Nec Usa, Inc. Hardware acceleration system for logic simulation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000033178A1 (en) * 1998-12-03 2000-06-08 Sun Microsystems, Inc. Local and global register partitioning in a vliw processor

Also Published As

Publication number Publication date
CN1647031A (zh) 2005-07-27
JP3979998B2 (ja) 2007-09-19
ATE338976T1 (de) 2006-09-15
DE60308168T2 (de) 2007-08-23
WO2003088037A1 (en) 2003-10-23
JP2005523498A (ja) 2005-08-04
AU2003214554A1 (en) 2003-10-27
US20050144424A1 (en) 2005-06-30
DE60308168D1 (de) 2006-10-19
EP1499959A1 (en) 2005-01-26
EP1499959B1 (en) 2006-09-06
US7107432B2 (en) 2006-09-12

Similar Documents

Publication Publication Date Title
US8726295B2 (en) Network on chip with an I/O accelerator
KR100986006B1 (ko) 마이크로프로세서 서브시스템
US8040799B2 (en) Network on chip with minimum guaranteed bandwidth for virtual communications channels
US8020168B2 (en) Dynamic virtual software pipelining on a network on chip
US8898396B2 (en) Software pipelining on a network on chip
US8490110B2 (en) Network on chip with a low latency, high bandwidth application messaging interconnect
US7991978B2 (en) Network on chip with low latency, high bandwidth application messaging interconnects that abstract hardware inter-thread data communications into an architected state of a processor
US20090125703A1 (en) Context Switching on a Network On Chip
US7958340B2 (en) Monitoring software pipeline performance on a network on chip
US20090282419A1 (en) Ordered And Unordered Network-Addressed Message Control With Embedded DMA Commands For A Network On Chip
JP5363064B2 (ja) ネットワーク・オン・チップ(noc)上のソフトウェア・パイプライン化の方法、プログラムおよび装置
US8127112B2 (en) SIMD array operable to process different respective packet protocols simultaneously while executing a single common instruction stream
US8526422B2 (en) Network on chip with partitions
US20060136681A1 (en) Method and apparatus to support multiple memory banks with a memory block
US6526462B1 (en) Programmable multi-tasking memory management system
CN101194245B (zh) 具有宽寄存器组体系结构的分组处理器
US20090109996A1 (en) Network on Chip
CN1320451C (zh) 具有数据溢出装置的vliw处理器
CN101002444A (zh) 用于分组交换控制的集成电路和方法
US20070253410A1 (en) Integrated Circuit and Method for Packet Switching Control
CN1529256A (zh) 基于双环形队列、非中断式pci通信方法
CN1688968A (zh) 具有终止信号传播的机制的可编程流水线结构
US20020124038A1 (en) Processor for processing variable length data
Qiao et al. Design of DMA controller for multichannel PCI bus frame engine and data link manager
US20240244008A1 (en) Method and Apparatus for Efficient Packing of Flow Control Units

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SILICON CENTRAL CO., LTD.

Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20110322

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20110322

Address after: Holland Ian Deho Finn

Patentee after: Silicon intensive Corp.

Address before: Holland Ian Deho Finn

Patentee before: Koninklijke Philips Electronics N.V.

ASS Succession or assignment of patent right

Owner name: INTEL CORP .

Free format text: FORMER OWNER: INTEL BENELUX B. V.

Effective date: 20140312

Owner name: INTEL BENELUX B. V.

Free format text: FORMER OWNER: SILICON CENTRAL CO., LTD.

Effective date: 20140312

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20140312

Address after: California, USA

Patentee after: INTEL Corp.

Address before: Holland Ian Deho Finn

Patentee before: Intel Benelux Ltd.

Effective date of registration: 20140312

Address after: Holland Ian Deho Finn

Patentee after: Intel Benelux Ltd.

Address before: Holland Ian Deho Finn

Patentee before: Silicon intensive Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070606

Termination date: 20170401

CF01 Termination of patent right due to non-payment of annual fee