CN1081359C - 具有交错式写端口的多端口寄存器堆 - Google Patents
具有交错式写端口的多端口寄存器堆 Download PDFInfo
- Publication number
- CN1081359C CN1081359C CN96106203A CN96106203A CN1081359C CN 1081359 C CN1081359 C CN 1081359C CN 96106203 A CN96106203 A CN 96106203A CN 96106203 A CN96106203 A CN 96106203A CN 1081359 C CN1081359 C CN 1081359C
- Authority
- CN
- China
- Prior art keywords
- copy
- register
- write
- port
- alu
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C19/00—Digital stores in which the information is moved stepwise, e.g. shift registers
-
- 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/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, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
Abstract
提供一种用于超长指令字(VLIW)和N路超标量处理器的改进的高速寄存器堆。此高速寄存器堆包含选定数目的通用寄存器(GPR)构件的拷贝。GPR构件至少包含两个交错式寄存器子片。每个子片包含N个数目的写端口和M个数目的读端口。子片的写端口是交错式的并且读端口是非交错式的。
Description
本发明涉及具有多个读写端口的随机读/写存取存储器(RAM)或多端口寄存器堆,更具体地涉及包含64个或更多端口的高速寄存器堆。
已知的多重或多端口寄存器堆不适用于超长指令字(VLIW)和N路超标量处理器。VLIW处理器由一系列能同时执行指令的各个部分的算术逻辑或功能单元组成。具有8个,16个或更多流水线功能单元的VLIW和N路超标量处理器需要一个中心寄存器堆用于通信,该寄存器堆必须给每个流水线提供三个或四个端口用于可能的64端口或更多的要求。当前的技术恰恰不允许构造有如此多端口的直接物理实现,特别是访问和写时间要求非常严格时。目前大多数物理上可连线的端口可能少于或等于二十(20)。
本发明的主要目的是提供一种用于超长指令字(VLIW)和N路超标量处理器的改进的多端口寄存器堆。
简言之,就是提供一种用于超长指令字(VLIW)和N路超标量处理器的高速寄存器堆。该高速寄存器堆包含选定数目的通用寄存器(GPR)构件的拷贝。GPR构件包含至少两个交错式寄存器子片。每个子片包含N个数目的写端口和M个数目的读端口。子片的写端口是交错式的并且读端口是非交错式的。
根据本发明的高速寄存器堆适用于超长指令字(VLIW)和N路超标量处理器。
从下面图示所说明的本发明最佳实施方式的详细描述中,可以更好地理解本发明的上述目的以及其它目的和优点,其中:
图1是一个框图,它说明了一对根据本发明的有二十个端口的通用寄存器堆(GPR)物理构件;
图2是一个框图,它说明了一个六十四端口寄存器堆,该寄存器堆包含图1中二十八端口逻辑GPR堆逻辑构件的四个拷贝;
图3是一个框图,它说明了利用图1中GPR堆构件所进行的一种写端口的划分方案;
图4是一个框图,它说明了利用图1中GPR堆构件所进行的本发明的一种替代的简化的写端口划分寄存器堆方案;
图5是一个框图,它说明了一个包含图4中六十四端口寄存器堆的超长指令字(VLIW)处理单元;
图6是一个框图,它说明了一个七十二端口寄存器堆。该寄存器堆包含图1中二十八端口寄存器堆构件的四个拷贝;
图7是一个说明了图1中寄存器堆构件中的一个单元以及一个地址解码和算术逻辑单元(ALU)加法器的示意图;
图8是一个说明了根据图1中本发明的GPR堆构件的一个可变性能读访问的示意图;
图9是图1中GPR堆构件位0的一个示例性的布局;
图10是图1中GPR堆构件位0的又一个示例性的布局。它说明了根据本发明的一种替代的读端口布局;
图11是一个说明了包含图1中GPR堆构件的处理单元的一个示例性的布局的示意图。
现在参考附图,图1说明了根据本发明的一个二十八端口通用寄存器(GPR)堆逻辑构件,一般由参考符50标识。根据本发明的特点,交错式写端口,可以看出写端口特别分成了奇数号和偶数号寄存器子片。位宽32的GPR寄存器堆构件50产生总共16个可用的写端口和12个可用的读端口。
GPR堆逻辑构件50包含一对二十端口的GPR堆物理构件52。该二十端口GPR堆物理构件52包含一个偶数号GPR子片52和一个奇数号GPR子片52的交错式写端口。这两个GPR子片52提供12个读端口,并且其中一个有32个偶数号寄存器的子片提供8个写端口,另一个有32个奇数号寄存器的子片提供8个写端口。该GPR寄存器堆构件50包含十六个物理写端口和十二个物理读端口,它们可用于构造一个64端口GPR逻辑寄存器堆,这在图2中总体由60标识,它具有极佳的性能特性。
现在参考图2,该六十四(64)端口通用寄存器堆包含图1中二十八端口寄存器堆逻辑构件50的四个拷贝。随着GPR堆逻辑构件50复制了4次,读端口4倍地增长可满足总共48个读端口的所需数目。对于64位宽的寄存器堆60,64个寄存器分成两组;一组32个偶数号的寄存器和一组32个奇数号的寄存器。实用时,此寄存器堆方案60允许编译器通过某些寄存器分配组合及重命名算法,来产生奇数号和偶数号目标寄存器操作数目大致相同的指令的基本块。在VLIW指令严格编码的情况下,每个指令包都固定地赋予或者一个奇数号(奇数包)或者一个偶数号目标操作数寄存器堆端口,从而省去了在指令中对寄存器地址的最后一位进行编码的需要。
由于在目标寄存器中执行写操作之前,与非交错式寄存器堆的16路写选择相比,交错式寄存器堆60只需8路写选择,因而其写性能提高了。然而复制不可能引起写端口的增加,这是由于所有拷贝接收所有的写以保持有效的拷贝。GPR 64端口寄存器堆60还提高了寄存器堆的实际读端口性能,这是由于它将拷贝1,2,3,4放在了最接近于它所驱动的流水线数据流处。这种复制策略的一个缺点是目标操作数必须物理上遍历图2寄存器堆60中GPR逻辑构件50的所有四个拷贝的整个区域。
图3是一个框图,它说明了利用这四个GPR构件50的拷贝而进行的一种写端口划分寄存器堆方案,一般标识为68。每个块70包含两个GPR构件52,带有进入每个单元的8个附加的写路径或端口。在寄存器堆68中,任何装载都能同时写所有的拷贝1,2,3和4,并且任何ALU都能同时写所有拷贝1、2、3和4。由于需要提供16个ALU写端口和8个负载写端口所需的8个附加的写端口,方案68是不现实的。
图4说明了一种包含四个块80的替代的、简化的写端口划分寄存器堆方案,一般标识为78。每个块80包含两个1/2块或子片52或一个块50。在拷贝1和2中,其中一个子片52用于ALU写管道0-7并且另一个子片52用于8个负载写端口。在拷贝3和4中,其中一个子片52用于ALU写管道8-15,并且另一个子片52用于8个负载写端口。图4的划分方案78提供了一种实用的解决方法,它总共需要十六个写端口,而不是图3中不实用的方案68总共所需要的24个写端口。一个复杂的编译器能在一个给定周期内把目标写只限定于4个拷贝80中的两个。对于产生必须写入寄存器堆78的目标结果的ALU操作,编译器设法使一个基本块的所有或大部分工作限于VLIW处理器的总共十六个流水线槽或管道中的第一组八条流水线0-7或第二组八条流水线8-15中。
寄存器堆78的两组拷贝80中的每一组只需从十六条管道中一半的管道中接收ALU目标结果:或者是八条管道0-7或者是八条管道8-15,这使得每个拷贝所需的总的写端口数减少8个。附加的读端口并不十分昂贵;但是,由于影响了具有额外输入端口的所有拷贝1,2,3,4,附加的全局写端口是十分昂贵的。当管道8-15需要查看管道0-7的结果或反之时,编译器适当地调度移动寄存器操作并适当地调度寄存器引用,使得由此引起的管道阻塞得以完全避免。
图5是一个框图,它说明了一个包含六十四端口GPR堆78的VLIW处理单元,一般标识为82。图5所示的ALU目标划分方案的另一个显著的优点是极大地减少了获得任何ALU结果到任何写端口所需的总线连线的总长度,并降低了负载需求,即从没有写端口划分时的4减少到2。标号84的连线代表划分寄存器堆78所需的最长的ALU写总线连线。标号86的连线代表未划分的寄存器堆60所需的最长的ALU写总线连线。在划分的ALU目标寄存器堆78中,最坏情况下,一个ALU只需驱动其自身和一个相邻的寄存器堆拷贝,与之相反,在非划分方案中则要驱动下一个与之相邻的拷贝。这也潜在地允许这些总线连线是双倍粗和双倍宽的连线。更粗和更宽的连线具有较低的电阻,并且还由于与非划分寄存器堆方案相比,总线连线可以只以大约一半的长度工作,从而提供了更好的性能。写端口目标划分显然不用于高速缓存数据负载写端口,其部分原因是由于在商用环境中,性能通常受到可用的负载管道数的限制,而不是ALU数的限制。这样ALU操作能够在每个ALU目标划分中重复而不会冲突,负载就不能。而且,存在许多负载相关的情况:例如链表,这使得延迟非常重要。对于高速缓存数据负载的情况,由于数据总线已经是带有高电流驱动源的长连线,几乎不存在周期时间/写连线延迟差别。驱动4个寄存器堆拷贝,而不仅仅是2个,使得总线延迟的改变不显著,特别是假定负载路径已经是2个周期的路径时。
图6说明了一个七十二端口寄存器堆,它包含图1中所示的二十八端口GPR堆逻辑构件50的四个拷贝,一般标识为90。图6中,整个寄存器堆的布局包含八个基本的20端口GPR子片52,所产生的逻辑寄存器堆能够对总共72个逻辑端口进行每周期最多48次读和24次写。这些逻辑端口具有非常快的读访问和写入性能能力。
图7是一个说明了图1中寄存器堆构件52的一个单元的示意图。一个DCACHE数据输入施加到一个8路字节校准器100上,而该8路字节对齐的输出端与一个4路多路选择器(MUX)102相连。MUX102与一个2路选择器(MUX)104相连。它们共同定义了单元106中的一个8路MUX操作。单元106包含一对锁存器,表示为L1和L2锁存器或一个移位寄存器锁存器。L1锁存器与一个8路MUX108相连,该MUX的输出端与8路MUX110相连。一般标识为112的GPR地址译码器包含一对地址缓冲器114,116,并且地址L1锁存器118,120将地址信号施加到MUX108和110上。C1时钟输出用于为L1和L2锁存器118和120设置地址缓冲器114和116。MUX110的输出施加到加法器122上,该加法器与相关联的算术逻辑单元(ALU)的L2*锁存器124相连。L2*锁存器124的输出施加到4路MUX126上,该MUX通过一个标号为128的全局网路线与2路MUX104相连。在具有6级金属喷镀的互补金属氧化物半导体(CMOS)集成电路实现中,全局网路线128可以是第5级金属并做得较厚,例如2倍于标准的线宽。L2锁存器106的单元输出施加到64路MUX130上,该MUX提供了一条恢复路径。
图8说明了本发明的一种可变读端口性能特性。对每个寄存器堆拷贝50,不是所有的12个读端口都有相同的性能要求。8个读端口要求尽可能快地写入。4个快速读端口馈给ALU的右输入端,这样对减法和其他功能必须具有求真和取补的功能。其它的4个快速读端口馈给其它的ALU输入端(不取补)和CACHE逻辑(机器关键路径)并且也要做得尽可能快。一个L1锁存器142提供2个锁存相-PHASE和+PHASE。L1锁存器相+PHASE用于驱动多个读端口选择器144和146以提供快速的L1写入端口。写入端口在同一个时钟周期内将数据从一个写端口传送到读端口。同样编译器能够保证在任意给定周期内没有2个以上的输出读选择器会访问相同的寄存器,从而限制了必须提供的电流,并进一步提高了性能。L1锁存器相-PHASE用于驱动缓冲器148,该缓冲器与一对选择器150,152相连,从而提供了4个慢速的L2读端口,这些读端口是非写入式的,并且没有严格的性能要求,这是由于当它们无论用于存储寄存器数据访问还是加载意外保存恢复寄存器时都没有严格的定时要求。这4个慢速读端口可以容忍较长,较细和较不规则的总线连线,这给了设计者额外的自由度。与写端口相连的旁路选择154给ALU管道提供了快速读端口。
图9提供了图1中GPR堆逻辑构件50位0的示例性布局。如布局中间附近所示,64个GPR寄存器单元分为32个奇数号单元106和32个偶数号单元106。与8∶1多路选择器相邻的列定义了4路和2路MUX 102,126,并且104通过多条写连线与偶数号和奇数号单元106相连,这些写连线由标号为160的示例性连线指示。八个L1读端口和四个L2读端口利用指示单元106到读端口的示例性连接的连线进行说明。
参考图10,图1中GPR堆逻辑构件50位0的另一个示例性布局说明了根据本发明的一种替代的读端口布局。根据图8中所说明和描述的,GPR堆逻辑构件50包含八个快速L1读端口和四个慢速L2读端口。在写译码,时钟,缓冲和测试以及第一组四个八路写MUX之间提供了四个快速L1读端口。在第二组四个八路写MUX和四个慢速L2读端口之间提供了四个快速L1读端口。在八个写端口输入端和第一组四个八路MUX之间,这些八路MUX和这些单元之间以及这些单元与四个慢速L2读端口的其中一个端口之间表示了示例性的连线。
图11是一个说明了一个包含GPR堆78的处理单元的示例性布局的示意图。在图11中,划分的GPR堆78通常表示在位于寄存器/寄存器(RR)管道0-7之上和寄存器/存储(RS)管道0-5及相关联的DCACHE目录(DDIR)及段旁顾缓冲器(SLBs)0-7之下的中心位置处。在偶数号和奇数号GPR1/2拷贝1(图1中的子片52)之间,以及一个解码器和控制区域之间表明了一条示例性的连线,该控制区域能设置有更粗的连线,例如,两倍于标准的宽度。
虽然参照图中所示的本发明的实施方式详细描述了本发明,但是这些详述并不是为了限制所附的权利要求中所要求的本发明的范围。
Claims (14)
1.一种用于和超长指令字和N路超标量处理器的高速寄存器堆,包括:
一个通用寄存器构件,所述通用寄存器构件包含至少两个交错式寄存器子片,每个所述的子片包含N个数目的写端口和M个数目的读端口,所述子片的写端口是交错式的而读端口是非交错式的;以及
所述通用寄存器构件的一个选定数目的拷贝。
2.根据权利要求1中所述的高速寄存器堆,其特征在于所述通用寄存器构件包含一个奇数号寄存器子片和一个偶数号寄存器子片,该奇数号寄存器子片包含所述N个数目的奇数号写端口,该偶数号寄存器子片包含所述N个数目的偶数号写端口。
3.根据权利要求1中所述的高速寄存器堆,其特征在于所述选定数目的拷贝被组合到预定的组中。
4.根据权利要求3中所述的高速寄存器堆,其特征在于超长指令字处理器包括十六个算术逻辑单元0-15,并且或者第一组八个算术逻辑单元0-7或者第二组八个算术逻辑单元8-15向所述预定组中的预定某组写。
5.根据权利要求4中所述的高速寄存器堆,其特征在于所述拷贝的所述的选定数目等于4并且所述的第一组八个算术逻辑单元0-7对所述拷贝中的两个进行写,所述第二组八个算术逻辑单元8-15对所述四个拷贝中的另外两个进行写。
6.根据权利要求1中所述的高速寄存器堆,其特征在于定义所述通用寄存器构件的所述寄存器的所述至少两个交错式子片的所述M个读端口相互进行“或”,从而为所述通用寄存器构件提供了M个读端口。
7.根据权利要求1中所述的高速寄存器堆,其特征在于所述通用寄存器构件包含所述的M个数目的读端口并且所述拷贝的所述选定数目等于四,从而提供了总共四倍于M的读端口。
8.根据权利要求7中所述的高速寄存器堆,其特征在于所述的读端口数目M等于12,从而提供了总共48个读端口。
9.根据权利要求1中所述的高速寄存器堆,其特征在于所述通用寄存器构件包含两倍于所述N个数目的写端口。
10.根据权利要求1中所述的高速寄存器堆,其特征在于所述选定数目的拷贝为四个,即拷贝1、拷贝2、拷贝3和拷贝4,并且超长指令字处理器包含十六个算术逻辑单元0-15,而且第一组八个算术逻辑单元0-7对拷贝1和拷贝2进行写,第二组八个算术逻辑单元8-15对拷贝3和拷贝4进行写。
11.根据权利要求10中所述的高速寄存器堆,其特征在于所述四个拷贝即拷贝1、拷贝2、拷贝3和拷贝4与一个高速缓冲存储器相连,用于对所有所述的四个拷贝提供高速缓存负载写。
12.根据权利要求1中所述的高速寄存器堆,其特征在于超长指令字处理器包含16个流水线0-15,并且选定数目的拷贝为四个,即拷贝1、拷贝2、拷贝3和拷贝4,所述拷贝1和拷贝2与所述流水线0-7相连,所述拷贝3和拷贝4与所述流水线8-15相连。
13.根据权利要求12中所述的高速寄存器堆,其特征在于所述拷贝通过八写端口与所述流水线相连。
14.根据权利要求1中所述的高速寄存器堆,其特征在于所述M个数目的所述读端口既包含写入端口也包含非写入端口。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US459,490 | 1995-06-02 | ||
US08/459,490 US5644780A (en) | 1995-06-02 | 1995-06-02 | Multiple port high speed register file with interleaved write ports for use with very long instruction word (vlin) and n-way superscaler processors |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1148207A CN1148207A (zh) | 1997-04-23 |
CN1081359C true CN1081359C (zh) | 2002-03-20 |
Family
ID=23824998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN96106203A Expired - Fee Related CN1081359C (zh) | 1995-06-02 | 1996-05-07 | 具有交错式写端口的多端口寄存器堆 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5644780A (zh) |
EP (1) | EP0745933A3 (zh) |
JP (1) | JP3177156B2 (zh) |
KR (1) | KR100195661B1 (zh) |
CN (1) | CN1081359C (zh) |
TW (1) | TW289103B (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5924117A (en) * | 1996-12-16 | 1999-07-13 | International Business Machines Corporation | Multi-ported and interleaved cache memory supporting multiple simultaneous accesses thereto |
JPH1131137A (ja) * | 1997-07-11 | 1999-02-02 | Nec Corp | レジスタファイル |
US6041387A (en) * | 1997-09-12 | 2000-03-21 | Siemens Aktiengesellschaft | Apparatus for read/write-access to registers having register file architecture in a central processing unit |
US6343356B1 (en) | 1998-10-09 | 2002-01-29 | Bops, Inc. | Methods and apparatus for dynamic instruction controlled reconfiguration register file with extended precision |
US6301653B1 (en) | 1998-10-14 | 2001-10-09 | Conexant Systems, Inc. | Processor containing data path units with forwarding paths between two data path units and a unique configuration or register blocks |
US6654870B1 (en) * | 1999-06-21 | 2003-11-25 | Pts Corporation | Methods and apparatus for establishing port priority functions in a VLIW processor |
US7401205B1 (en) * | 1999-08-13 | 2008-07-15 | Mips Technologies, Inc. | High performance RISC instruction set digital signal processor having circular buffer and looping controls |
US6668317B1 (en) | 1999-08-31 | 2003-12-23 | Intel Corporation | Microengine for parallel processor architecture |
US6983350B1 (en) | 1999-08-31 | 2006-01-03 | Intel Corporation | SDRAM controller for parallel processor architecture |
WO2001016702A1 (en) | 1999-09-01 | 2001-03-08 | Intel Corporation | Register set used in multithreaded parallel processor architecture |
US6629232B1 (en) * | 1999-11-05 | 2003-09-30 | Intel Corporation | Copied register files for data processors having many execution units |
US6532509B1 (en) * | 1999-12-22 | 2003-03-11 | Intel Corporation | Arbitrating command requests in a parallel multi-threaded processing system |
US6694380B1 (en) | 1999-12-27 | 2004-02-17 | Intel Corporation | Mapping requests from a processing unit that uses memory-mapped input-output space |
US6661794B1 (en) | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
US6704855B1 (en) | 2000-06-02 | 2004-03-09 | International Business Machines Corporation | Method and apparatus for reducing encoding needs and ports to shared resources in a processor |
US7681018B2 (en) | 2000-08-31 | 2010-03-16 | Intel Corporation | Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set |
WO2003036468A1 (en) | 2001-10-24 | 2003-05-01 | Telefonaktiebolaget Lm Ericsson (Publ) | An arrangement and a method in processor technology |
US7895239B2 (en) | 2002-01-04 | 2011-02-22 | Intel Corporation | Queue arrays in network devices |
US7120780B2 (en) * | 2002-03-04 | 2006-10-10 | International Business Machines Corporation | Method of renaming registers in register file and microprocessor thereof |
US6987686B2 (en) * | 2003-12-11 | 2006-01-17 | International Business Machines Corporation | Performance increase technique for use in a register file having dynamically boosted wordlines |
US7339592B2 (en) * | 2004-07-13 | 2008-03-04 | Nvidia Corporation | Simulating multiported memories using lower port count memories |
US8713286B2 (en) * | 2005-04-26 | 2014-04-29 | Qualcomm Incorporated | Register files for a digital signal processor operating in an interleaved multi-threaded environment |
US20060265555A1 (en) * | 2005-05-19 | 2006-11-23 | International Business Machines Corporation | Methods and apparatus for sharing processor resources |
US7366032B1 (en) * | 2005-11-21 | 2008-04-29 | Advanced Micro Devices, Inc. | Multi-ported register cell with randomly accessible history |
US20070239970A1 (en) * | 2006-04-06 | 2007-10-11 | I-Tao Liao | Apparatus For Cooperative Sharing Of Operand Access Port Of A Banked Register File |
WO2007138532A1 (en) * | 2006-05-25 | 2007-12-06 | Nxp B.V. | Unified multi-ported register-file with uniform read and selective write ports |
US7840783B1 (en) * | 2007-09-10 | 2010-11-23 | Netlogic Microsystems, Inc. | System and method for performing a register renaming operation utilizing hardware which is capable of operating in at least two modes utilizing registers of multiple widths |
WO2011007562A1 (ja) | 2009-07-16 | 2011-01-20 | コニカミノルタビジネステクノロジーズ株式会社 | 画像読取装置 |
US8533435B2 (en) * | 2009-09-24 | 2013-09-10 | Nvidia Corporation | Reordering operands assigned to each one of read request ports concurrently accessing multibank register file to avoid bank conflict |
US10514911B2 (en) * | 2014-11-26 | 2019-12-24 | International Business Machines Corporation | Structure for microprocessor including arithmetic logic units and an efficiency logic unit |
US11163568B2 (en) * | 2018-09-06 | 2021-11-02 | International Business Machines Corporation | Implementing write ports in register-file array cell |
CN110046105B (zh) * | 2019-04-26 | 2021-10-22 | 中国科学院微电子研究所 | 一种3D NAND Flash |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4128883A (en) * | 1977-09-30 | 1978-12-05 | Ncr Corporation | Shared busy means in a common bus environment |
US4652993A (en) * | 1984-04-02 | 1987-03-24 | Sperry Corporation | Multiple output port memory storage module |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4554645A (en) * | 1983-03-10 | 1985-11-19 | International Business Machines Corporation | Multi-port register implementation |
US4558433A (en) * | 1983-05-31 | 1985-12-10 | International Business Machines Corporation | Multi-port register implementations |
JPS618785A (ja) * | 1984-06-21 | 1986-01-16 | Fujitsu Ltd | 記憶装置アクセス制御方式 |
US4766535A (en) * | 1985-12-20 | 1988-08-23 | International Business Machines Corporation | High-performance multiple port memory |
US4811296A (en) * | 1987-05-15 | 1989-03-07 | Analog Devices, Inc. | Multi-port register file with flow-through of data |
NL8800053A (nl) * | 1988-01-11 | 1989-08-01 | Philips Nv | Videoprocessorsysteem, alsmede afbeeldingssysteem en beeldopslagsysteem, voorzien van een dergelijk videoprocessorsysteem. |
EP0348628A3 (en) * | 1988-06-28 | 1991-01-02 | International Business Machines Corporation | Cache storage system |
US5206944A (en) * | 1990-06-07 | 1993-04-27 | The United States Of America As Represented By The Secretary Of The Air Force | High speed analog to digital converter board for an IBM PC/AT |
US5204841A (en) * | 1990-07-27 | 1993-04-20 | International Business Machines Corporation | Virtual multi-port RAM |
US5111431A (en) * | 1990-11-02 | 1992-05-05 | Analog Devices, Inc. | Register forwarding multi-port register file |
JP2823767B2 (ja) * | 1992-02-03 | 1998-11-11 | 松下電器産業株式会社 | レジスタファイル |
JPH05233281A (ja) * | 1992-02-21 | 1993-09-10 | Toshiba Corp | 電子計算機 |
US5289427A (en) * | 1992-07-20 | 1994-02-22 | Motorola, Inc. | Multiport memory with write priority detector |
US5481736A (en) * | 1993-02-17 | 1996-01-02 | Hughes Aircraft Company | Computer processing element having first and second functional units accessing shared memory output port on prioritized basis |
US5481495A (en) * | 1994-04-11 | 1996-01-02 | International Business Machines Corporation | Cells and read-circuits for high-performance register files |
-
1995
- 1995-06-02 US US08/459,490 patent/US5644780A/en not_active Expired - Fee Related
- 1995-10-07 TW TW084110575A patent/TW289103B/zh active
-
1996
- 1996-05-07 CN CN96106203A patent/CN1081359C/zh not_active Expired - Fee Related
- 1996-05-07 EP EP96480056A patent/EP0745933A3/en not_active Withdrawn
- 1996-05-18 KR KR1019960016802A patent/KR100195661B1/ko not_active IP Right Cessation
- 1996-05-22 JP JP12669996A patent/JP3177156B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4128883A (en) * | 1977-09-30 | 1978-12-05 | Ncr Corporation | Shared busy means in a common bus environment |
US4652993A (en) * | 1984-04-02 | 1987-03-24 | Sperry Corporation | Multiple output port memory storage module |
Also Published As
Publication number | Publication date |
---|---|
US5644780A (en) | 1997-07-01 |
EP0745933A3 (en) | 2001-01-24 |
JPH08328858A (ja) | 1996-12-13 |
JP3177156B2 (ja) | 2001-06-18 |
CN1148207A (zh) | 1997-04-23 |
KR970003267A (ko) | 1997-01-28 |
KR100195661B1 (ko) | 1999-06-15 |
TW289103B (en) | 1996-10-21 |
EP0745933A2 (en) | 1996-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1081359C (zh) | 具有交错式写端口的多端口寄存器堆 | |
CN108713196B (zh) | 使用位向量运算装置进行的数据传送 | |
US20190189169A1 (en) | Modified decode for corner turn | |
CN1045024C (zh) | 在超标量处理机系统中提高指令调度效率的方法 | |
JP3841131B2 (ja) | 浮動小数点演算システム | |
US7568083B1 (en) | Memory mapped register file and method for accessing the same | |
WO2001035224A1 (en) | Bit-serial memory access with wide processing elements for simd arrays | |
WO2017139191A1 (en) | Data gathering in memory | |
US5499204A (en) | Memory cache with interlaced data and method of operation | |
WO2016036912A1 (en) | Comparison operations in memory | |
CN101482811B (zh) | 用于增强的计算能力的处理器体系结构 | |
JPH0160865B2 (zh) | ||
WO2004053718A1 (en) | Cellular engine for a data processing system | |
CN1224898C (zh) | 多端口寄存器堆的选择性旁路的方法和设备 | |
WO1997030395A1 (fr) | Memoire a acces multiples et processeur de donnees procurant l'acces a cette memoire | |
CN1534462A (zh) | 流水线处理一系列处理指令的方法和设备 | |
CN1220150C (zh) | 具有可配置的高速缓存/静态随机存取存储器的系统 | |
WO2004004191A2 (en) | Digital signal processor with cascaded simd organization | |
EP1535189A2 (en) | Programmable pipeline fabric utilizing partially global configuration buses | |
JPH06242953A (ja) | データ・プロセッサ | |
US6219777B1 (en) | Register file having shared and local data word parts | |
CN109582364B (zh) | 基于忆阻器的精简指令集处理器 | |
Abdelhadi et al. | Modular switched multiported SRAM-based memories | |
US6378065B1 (en) | Apparatus with context switching capability | |
US7093102B1 (en) | Code sequence for vector gather and scatter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20020320 Termination date: 20100507 |