CN1892629B - 存储器微分块 - Google Patents

存储器微分块 Download PDF

Info

Publication number
CN1892629B
CN1892629B CN200610100391XA CN200610100391A CN1892629B CN 1892629 B CN1892629 B CN 1892629B CN 200610100391X A CN200610100391X A CN 200610100391XA CN 200610100391 A CN200610100391 A CN 200610100391A CN 1892629 B CN1892629 B CN 1892629B
Authority
CN
China
Prior art keywords
request
subchannel
memory controller
memory
independently addressable
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
CN200610100391XA
Other languages
English (en)
Other versions
CN1892629A (zh
Inventor
J·阿基雅玛
R·奥斯勃尼
W·克理福德
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 Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1892629A publication Critical patent/CN1892629A/zh
Application granted granted Critical
Publication of CN1892629B publication Critical patent/CN1892629B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • 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
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/122Tiling
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/125Frame memory handling using unified memory architecture [UMA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Image Input (AREA)
  • Storage Device Security (AREA)

Abstract

根据一个实施例,公开了一种存储器控制器。该存储器控制器包括分配逻辑和事务组装器。分配逻辑接收访问存储器通道的请求。事务组装器将请求组合到访问通道内一个或多个可独立寻址的子通道的一个或多个其它请求中。

Description

存储器微分块
发明领域
本发明涉及计算机系统;本发明尤其涉及访问存储器控制。
背景
实现统一存储器体系结构(UMA)的计算机系统具有通过访问主存储器来访问视频存储器的图形控制器的特征。但是,由于CPU高速缓存线大小的要求,UMA图形系统的存储器效率可能受到限制。例如,理想的图形存储器访问大小可能是4到16字节,因为图形控制器一次可对一个或数个像素或是纹理像素(texel)进行操作。但是,存储器体系结构常常是为64字节的CPU高速缓存线大小优化的,目的是优化CPU存储器效率。结果是,平均而言,从存储器读取的相当大量的数据可能从未被图形控制器所使用。
分立图形控制器的制造商通过使用较窄的存储器通道来将此过度取出最小化。但是,这一解决方案对于基于UMA的集成图形控制器是不可用的。
附图简述
在附图中通过示例而非限制示出了本发明,其中相同的附图标记表示相似的元件,其中:
图1是计算机系统的一个实施例的框图;
图2示出了存储器控制器的一个实施例;
图3示出了逻辑虚拟地址的一个实施例;
图4示出了存储器控制器的另一个实施例;
图5A和5B示出了性能优势;
图6示出了相等子通道分配的一个实施例;
图7示出了相等子通道分配的另一个实施例;
图8示出了相等子通道分配的又一个实施例;
图9示出了存储器控制器的另一个实施例;
图10示出了不等子通道分配的一个实施例;以及
图11示出了计算机系统的另一个实施例。
详细描述
本文描述了一种存储器请求组合机制。在以下对本发明的详细描述中,阐述了许多特定细节以提供对本发明的详尽理解。但是,本领域技术人员可显见,无需这些特定实施例也可实施本发明。在其它实例中,以框图形式而不是详细地示出了公知的结构和装置,目的是避免使本发明模糊。
本说明书中对“一个实施例”或是“一实施例”的引用是指结合该实施例所描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在本说明书中各处所出现的短语“在一个实施例中”未必全部都是指同一个实施例。
图1是计算机系统100的一个实施例的框图。计算机系统100包括耦合到接口105的中央处理器单元(CPU)102。在一个实施例中,CPU 102是可从加利福尼亚州Santa Clara市的Intel公司购买的
Figure G200610100391XD00021
IV处理器的
Figure G200610100391XD00022
家族中的处理器。或者,也可使用其它CPU。例如,CPU 102可使用多个处理核心来实现。在另一个实施例中,计算机系统100可包括多个CPU 102。
在另一个实施例中,芯片组107也被耦合到接口105。芯片组107包括存储器控制组件110。存储器控制组件110可包括耦合到主系统存储器115的存储器控制器112。主系统存储器115存储数据以及由CPU 102或是系统100中所包括的任何其它装置执行的指令序列。在一个实施例中,主系统存储器115包括动态随机存取存储器(DRAM);但是,主系统存储器115可使用其它存储器类型来实现。其它装置也可被耦合到接口105,诸如多个CPU和/或多个系统存储器等。
存储器控制组件110可经由接口被耦合到输入/输出(I/O)控制组件140。I/O控制组件140向计算机系统100内的I/O设备提供接口。I/O控制组件140可支持诸如外围部件互连(PCI)Express总线、加速图形端口(AGP)、通用串行总线(USB)、低引脚数(LPC)总线或是任何其它类型的I/O总线(未示)等I/O总线上的标准I/O操作。
根据一个实施例,图形控制器160与芯片组107通信,并被实现为向耦合到计算机系统100的显示监视器(未示)提供视频图形。图形控制器160通过访问主存储器115来访问视频存储器。如以上所讨论的,既支持存储器又支持CPU的存储器设备的存储效率是受到限制的,因为图形的存储器访问大小通常理想为4到16字节,而存储器体系结构是为64字节的CPU线大小优化以优化CPU存储器效率的。
微分块(Micro-Tiling)
根据一个实施例,存储器控制组件110具有微分块的特征,目的是减少对图形设备的存储器请求大小,并且同时维持64字节的存储器事务。诸如基于DDRDRAM等技术的标准存储器通道具有m比特的某一物理宽度。存储器事务包括T次传递,总计逻辑宽度为M=m*T/8字节。每个事务内的字节被视为具有联贯的地址。在以下讨论中,术语宽度是指逻辑宽度。
微分块将M字节宽的通道分成S个子通道,每个都是N=M/S字节宽,并且其中每个子通道上传递N字节数据。可给每个子通道一个地址,其中若干个(I个)独立的地址位可与给其它子通道的地址中的对应位不同。在每个子通道上传递的数据可被视为代表着相连的地址范围。但是,每个子通道上的数据块未必来自相连的地址范围。每个子通道包括该通道的所有存储器位置的一个子集。
图2示出支持微分块的存储器控制组件110的一个实施例。在一个实施例中,多通道存储器子系统每个信道有一个微分块存储器控制器。由此,如图2中所示,存储器控制组件110包括两个存储器控制器112(存储器控制器1和2),对两个通道中的每一个有一个存储器控制器。每个通道包括S个子通道,每个子通道为N字节宽。由此,每个通道可以是M=N*S字节宽。
在此图中,读或写存储器的请求被描绘为2×2的正方形的阵列,它们可能表示2×2的像素或纹理像素阵列。图中示出了被分配给子通道之前的请求。在子通道分配之后,请求从0到S-1编号以表示子通道分配。在读事务的情形中,这N字节回到被耦合到存储器控制器组件110的请求器205。
存储器控制器组件110包括耦合到存储器控制器112的通道分配逻辑210。通道分配210经由存储器控制器112将从请求器204接收的每个请求分配给一个存储器通道240。此外,每个存储器控制器112包括子通道分配215、重排缓冲器220和事务组装器230。由此,请求被分配给图2中所示的存储器控制器1或是存储器控制器2。
子通道分配215将每个请求分配给存储器通道240内的一个子通道。重排缓冲器220收集请求以使事务组装器230能试图为每个存储器240子通道组装存储器访问。根据一个实施例,每个子通道具有相等的N字节的宽度。
在图2中所示的系统的工作期间,进入存储器控制器(1或2)的在地址A处读或写N字节的数据块的请求可被分配给一个子通道,并可被放在重排缓冲器220中。在一个实施例中,可通过以下过程来定义相等子通道分配s:将请求地址A右移P=log2(N)位,得到新的整数值(例如,
Figure G200610100391XD00042
);并且s是的最低Q=log2(S)位(例如,
Figure G200610100391XD00044
存储器控制器通过从重排缓冲器220选择S个读请求(对每个子通道一个请求)来构成存储器读事务。存储器控制器通过从重排缓冲器220选择S个写请求(对每个子通道一个请求)来构成存储器写事务。地址中由共享地址线表示的部分对于事务中的所有子通道请求可以是相同的。
图3示出诠释物理地址中的地址位的一个实施例。图3中所示的对共享和独立地址位、以及子通道选择位的选择是出于说明性目的,因为将高于P个子通道数据地址位的那些地址位分为共享和独立地址位,并且子通道选择位可以是任意的。独立地址位在诸子通道上是不同的,并且未必相连。发送到子通道的地址位是该子通道的共享地址位和独立地址位。
图4示出存储器控制组件110用四个16字节的请求来组装一个64字节的事务的实施例,其中仅示出了单个通道。图4示出了被实现为对应于每个子通道的重排序列的重排缓冲器220。但是,在其它实施例中,重排缓冲器220可经由其它机制来实现。
在此实施例中,事务组装器230用几个16字节的请求(对每个子通道一个请求)来组装一个64字节的存储器请求。构成该存储器请求的所有16字节请求都具有相同的共享地址位。由此,组装器230浏览队列以基于请求是否具有共有的共享地址来寻找可被组装为单个事务的请求。
注意,在图4中所示的实施例中,组装器230不能为子通道1c找到请求。当试图构成事务时,存储器控制器可能不能为每个子通道找到一个请求,以使所有请求都具有相同的共享地址段(例如,使得每个共享地址位的值在所有请求上可以是相同的)。
如果子通道不能被对应队列中的请求所填充,则结果是不会对该子通道执行来/往的传递。在一个实施例中,如果子通道不能被请求填充,则任意位置可被读取,并且结果被丢弃。在一个替换实施例中,每个子通道可包括一条附加控制线,当对该通道没有对应的请求时,可使用该附加控制线来切断子通道的电源。
微分块存储器子通道可访问由共享地址位和I个独立地址位所确定的某个地址范围内的不相连的存储器地址。在对照将I个地址信号复制到每个子通道的成本进行权衡的情况下,审慎选择的I可提高诸独立子通道的并发性和带宽效率。
图5A和5B示出了微分块的性能优势。每个图都示出了分块地址空间中三角形的栅格化,其中每个小正方形表示一个4字节的像素或纹理像素。图5A示出当每个请求为64字节时标准存储器系统中的过度取出。每个4×4的像素块表示一个64字节的对齐的存储块。三角形包围了57个像素。使用标准存储器子系统,那57个像素将位于11个存储块(64字节)中。由此,为了访问那57个像素,可能会访问相当于额外的119个像素的数据,而它们可能不会被使用(例如,导致32%的效率)。
图5B示出了每个请求是16字节并且所有此类请求都可被微分块组装器64用来构建64字节的存储器事务而没有任何未被使用的子通道情况下的过度取出。在此情形中,三角形触及23个2×2像素阵列,从而导致相当于额外的35个像素的数据被访问(例如,导致62%的效率)。微分块的有效性取决于组装器构造完全填充的存储器事务的能力。
微分块请求映射
如以上所讨论的,相等子通道分配s可如下来定义:将请求地址A右移P=log2(N)位,得到新的整数值
Figure G200610100391XD00051
(例如,
Figure G200610100391XD00052
);并且s是
Figure G200610100391XD00053
的最低Q=log2(S)位(例如,
Figure G200610100391XD00054
图6示出了线性地址空间的情形中相等子通道分配的一个实施例。在此实施例中,一个通道可包括四个子通道(S=4)。
图6示出了线性地址空间的一部分相对于某个地址A的子通道分配,其中每个小块表示N个字节。块0表示将被分配给子通道0的地址范围,块2表示将被分配给子通道2的地址范围,而块3表示将被分配给子通道3的地址范围。
图7示出了示例性2D分块空间的情形中同样是相对于某个地址A的相等子通道分配的另一个实施例。注意,存在着许多种可能的2D地址空间分块,并且更高维的分块也是可能的。
如果请求地址不是均匀分布在诸子通道上,则相等子通道分配的实现可能效果不佳。例如,图8示出了示例性分块地址空间(诸如在图形应用中可能使用的)上的相等子通道分配的一个实施例。
图8包括三角形的轮廓以表示在呈现三角形期间被访问的N字节的块。注意,沿着三角形的左边和底边访问各个块的请求在诸子通道中间不是均匀分布的。因此,事务组装器230可能无法组装包括对所有子通道的请求的完整的事务。
根据一个实施例,可向微分块体系结构提供不等子通道分配,以将请求地址在诸子通道上均匀分布的可能性最大化,并由此来增加微分块带宽(BW)减少。
图9示出了实现微分块的存储器控制器的另一个实施例。此实施例在每个存储器控制器中提供被耦合到子通道分配215的映射逻辑950。与前文中类似,图9示出了被实现为用于每个子通道的重排队列的重排缓冲器220。此配置具有两个通道,由此具有两个存储器控制器。每个通道包括四个子通道,每个为16字节宽。由此,每个通道可以是64字节宽。
在一个实施例中,映射逻辑950向子通道分配215发送指示如何将请求分配给诸子通道的输入信号以减少模式重复性。由此,可改变映射以使对象在诸子通道上被平均地绘制,从而来避免形成热点。在另一个实施例中,映射逻辑950向其地址空间的不同区域提供不同的映射。被应用于地址空间中的某个区域的映射可随时间推移在每当该区域内的数据不再受到关注时改变。
图10示出不等子通道映射的一个实施例,其中各个块具有与以上参考图8所描述的相同的意义。在此情形中,沿三角形左边和底边访问各个块的请求在诸子通道中间被更均匀地分布。这种子通道分配的效果是通过更高效地将微分块请求填充到存储器信道中来减少带宽。类似地,在线性地址空间的情形中,适当地选择的不等子通道分配映射可导致带宽减小,尤其是在存储器访问通常具有为M字节的倍数的跨距的情形中。
图11示出计算机系统100的另一个实施例。在此实施例中,芯片组107包括单个控制中心1120,这与单独的存储器控制组件和I/O控制组件形成对比。由此,存储器控制器112可被包括在CPU 102内,而存储器115被耦合到CPU 102。在这一实施例中,图形控制器160可被耦合到控制中心1120,并经由CPU 102来访问主存储器115。
尽管毫无疑问,本发明的许多变更和修改在本领域普通技术人员阅读了以上描述后将是显见的,但是应当理解,通过示例方式所示出和记载的任何特定实施例从任何意义上都不应被视为是限定性的。因此,对各个实施例的详细参考并不旨在限定所附权利要求的范围,权利要求书本身仅引用本发明的必要技术特征。

Claims (21)

1.一种存储器控制器,包括:
分配逻辑,用于接收第一请求和第二请求,所述第一请求和第二请求用于访问在存储装置中的存储器位置;以及
事务组装器,用于将所述第一请求和访问所述存储装置的通道内的可独立寻址的第一子通道的第一组其它请求进行组合,以及将所述第二请求和访问通道内的可独立寻址的第二子通道的第二组其它请求进行组合。
2.如权利要求1所述的存储器控制器,其特征在于,每个请求包括独立地址分量和共享地址分量。
3.如权利要求2所述的存储器控制器,其特征在于,每个请求的所述独立地址分量与一子通道相关联。
4.如权利要求1所述的存储器控制器,其特征在于,所述第一请求包括第一地址,所述第一地址与所述第二请求具有不同的独立地址位。
5.如权利要求1所述的存储器控制器,其特征在于,传递给每个可独立寻址的子通道的数据表示相连的数据块。
6.如权利要求5所述的存储器控制器,其特征在于,所述在每个可独立寻址的子通道处的数据块不是来自相连的地址范围。
7.如权利要求1所述的存储器控制器,其特征在于,还包括重排缓冲器,用于存储所述第一请求、第二请求、第一组其它请求,和第二组其它请求。
8.如权利要求7所述的存储器控制器,其特征在于,所述重排缓冲器包括与所述两个或多个可独立寻址的子通道中的每一个相关联的队列。
9.如权利要求8所述的存储器控制器,其特征在于,每个队列存储要被传递给相关联的子通道的请求。
10.如权利要求8所述的存储器控制器,其特征在于,所述事务组装器还用于组装存储在每个所述队列中的请求,并用于将组装后的请求转发到所述相关联的子通道。
11.如权利要求1所述的存储器控制器,其特征在于,还包括被耦合到所述分配逻辑的映射逻辑,用于提供对所述可独立寻址的子通道的不等分配。
12.如权利要求1所述的存储器控制器,其特征在于,还包括被耦合到每个所述可独立寻址的子通道的控制线,其中每根控制线在每当没有任何对相关联的子通道的对应请求时切断相关联的子通道的电源。
13.一种存储器请求组合方法,包括:
在存储器控制器处接收访问被耦合到所述存储器控制器的存储器通道的第一请求;
在存储器控制器处接收访问存储器通道的第二请求;
将所述第一请求分配给所述存储器通道内的一个可独立寻址的第一子通道;
将所述第二请求分配给一个可独立寻址的第二子通道;
用访问所述第一子通道的一个或多个其它请求来组合所述第一请求;以及
用访问所述第二子通道的一个或多个其它请求来组合所述第二请求。
14.如权利要求13所述的方法,其特征在于,还包括所述存储器控制器通过为每个子通道选择一个写子通道请求来构成写事务。
15.如权利要求13所述的方法,其特征在于,还包括所述存储器控制器通过为每个子通道选择一个读子通道请求来构成读事务。
16.如权利要求13所述的方法,其特征在于,还包括在将所述请求分配给子通道之后将所述请求存储在重排缓冲器中。
17.如权利要求16所述的方法,其特征在于,还包括:
组装存储在所述重排缓冲器中的请求;以及
将组装后的请求转发到相关联的子通道。
18.一种存储器请求组合系统,包括:
具有一个或多个通道的存储器装置;以及
被耦合到所述存储器装置的芯片组,所述芯片组具有存储器控制器,所述存储器控制器包含:
分配逻辑,用于接收访问在存储装置中的存储器位置的第一请求和第二请求;以及
事务组装器,用于将所述第一请求和访问所述存储装置的通道内的可独立寻址的第一子通道的第一组其它请求进行组合,以及将所述第二请求和访问所述存储装置的通道内的可独立寻址的第二子通道的第二组其它请求进行组合。
19.如权利要求18所述的系统,其特征在于,所述存储器控制器还包括:
重排缓冲器,用于存储所述第一请求、第二请求、第一组其它请求,和第二组其它请求。
20.如权利要求19所述的系统,其特征在于,所述事务组装器还用于基于共享地址来组合存储在所述重排缓冲器中的请求,并将组合后的请求转发到所述相关联的子通道。
21.如权利要求20所述的系统,其特征在于,所述存储器控制器还包括被耦合到所述分配逻辑的映射逻辑,用于提供对所述可独立寻址的子通道的不等分配。
CN200610100391XA 2005-06-23 2006-06-22 存储器微分块 Expired - Fee Related CN1892629B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/159,745 US7765366B2 (en) 2005-06-23 2005-06-23 Memory micro-tiling
US11/159,745 2005-06-23

Publications (2)

Publication Number Publication Date
CN1892629A CN1892629A (zh) 2007-01-10
CN1892629B true CN1892629B (zh) 2010-06-16

Family

ID=37545833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610100391XA Expired - Fee Related CN1892629B (zh) 2005-06-23 2006-06-22 存储器微分块

Country Status (7)

Country Link
US (2) US7765366B2 (zh)
EP (1) EP1894110B1 (zh)
JP (2) JP4981797B2 (zh)
KR (1) KR100973604B1 (zh)
CN (1) CN1892629B (zh)
TW (1) TWI350455B (zh)
WO (1) WO2007002551A2 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765366B2 (en) * 2005-06-23 2010-07-27 Intel Corporation Memory micro-tiling
US7558941B2 (en) * 2005-06-30 2009-07-07 Intel Corporation Automatic detection of micro-tile enabled memory
US8253751B2 (en) * 2005-06-30 2012-08-28 Intel Corporation Memory controller interface for micro-tiled memory access
US8032672B2 (en) 2006-04-14 2011-10-04 Apple Inc. Increased speed of processing of audio samples received over a serial communications link by use of channel map and steering table
US8878860B2 (en) * 2006-12-28 2014-11-04 Intel Corporation Accessing memory using multi-tiling
US20110320751A1 (en) * 2010-06-25 2011-12-29 Qualcomm Incorporated Dynamic Interleaving Of Multi-Channel Memory
US8892844B2 (en) 2011-03-07 2014-11-18 Micron Technology, Inc. Methods of accessing memory cells, methods of distributing memory requests, systems, and memory controllers
US10838886B2 (en) * 2011-04-19 2020-11-17 Micron Technology, Inc. Channel depth adjustment in memory systems
GB2525238B (en) * 2014-04-17 2021-06-16 Advanced Risc Mach Ltd Hazard checking control within interconnect circuitry
US10468093B2 (en) 2016-03-03 2019-11-05 Nvidia Corporation Systems and methods for dynamic random access memory (DRAM) sub-channels
GB2566469B (en) 2017-09-13 2021-03-24 Advanced Risc Mach Ltd Cache line statuses
GB2566470B (en) * 2017-09-13 2021-02-10 Advanced Risc Mach Ltd Cache storage

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5251310A (en) * 1990-06-29 1993-10-05 Digital Equipment Corporation Method and apparatus for exchanging blocks of information between a cache memory and a main memory
US6249851B1 (en) * 1998-08-25 2001-06-19 Stmicroelectronics, Inc. Computer system having non-blocking cache and pipelined bus interface unit
US6496193B1 (en) * 1999-12-30 2002-12-17 Intel Corporation Method and apparatus for fast loading of texture data into a tiled memory
CN1430769A (zh) * 2000-03-31 2003-07-16 英特尔公司 拼块式图形结构
US6708248B1 (en) * 1999-07-23 2004-03-16 Rambus Inc. Memory system with channel multiplexing of multiple memory devices
US6820181B2 (en) * 2002-08-29 2004-11-16 Micron Technology, Inc. Method and system for controlling memory accesses to memory modules having a memory hub architecture

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3323109A (en) 1963-12-30 1967-05-30 North American Aviation Inc Multiple computer-multiple memory system
JPS51127626A (en) 1975-04-30 1976-11-06 Hitachi Ltd Information processor
US3988717A (en) 1975-08-06 1976-10-26 Litton Systems, Inc. General purpose computer or logic chip and system
NL7510904A (nl) 1975-09-17 1977-03-21 Philips Nv Woordgroepsprioriteitsinrichting.
US4124891A (en) * 1976-11-18 1978-11-07 Honeywell Information Systems Inc. Memory access system
US4495570A (en) * 1981-01-14 1985-01-22 Hitachi, Ltd. Processing request allocator for assignment of loads in a distributed processing system
US4504902A (en) * 1982-03-25 1985-03-12 At&T Bell Laboratories Cache arrangement for direct memory access block transfer
JPH083805B2 (ja) 1985-06-28 1996-01-17 ヒューレット・パッカード・カンパニー Tlb制御方法
JPH0267622A (ja) * 1988-09-01 1990-03-07 Kansai Nippon Denki Software Kk ディスク入出力方式
US5325510A (en) * 1990-05-25 1994-06-28 Texas Instruments Incorporated Multiprocessor system and architecture with a computation system for minimizing duplicate read requests
US5526507A (en) * 1992-01-06 1996-06-11 Hill; Andrew J. W. Computer memory array control for accessing different memory banks simullaneously
US5459842A (en) 1992-06-26 1995-10-17 International Business Machines Corporation System for combining data from multiple CPU write requests via buffers and using read-modify-write operation to write the combined data to the memory
JPH0695959A (ja) * 1992-09-09 1994-04-08 Hitachi Ltd 情報処理装置
JP3240709B2 (ja) 1992-10-30 2001-12-25 株式会社アドバンテスト メモリ試験装置
US6804760B2 (en) 1994-12-23 2004-10-12 Micron Technology, Inc. Method for determining a type of memory present in a system
JPH08263367A (ja) * 1995-03-27 1996-10-11 Toshiba Microelectron Corp 集積回路
US5649157A (en) * 1995-03-30 1997-07-15 Hewlett-Packard Co. Memory controller with priority queues
WO1996041274A1 (en) 1995-06-07 1996-12-19 Advanced Micro Devices, Inc. Dynamically reconfigurable data bus
US5752045A (en) * 1995-07-14 1998-05-12 United Microelectronics Corporation Power conservation in synchronous SRAM cache memory blocks of a computer system
US5799209A (en) 1995-12-29 1998-08-25 Chatter; Mukesh Multi-port internally cached DRAM system utilizing independent serial interfaces and buffers arbitratively connected under a dynamic configuration
US6061773A (en) 1996-05-03 2000-05-09 Digital Equipment Corporation Virtual memory system with page table space separating a private space and a shared space in a virtual memory
US5761708A (en) * 1996-05-31 1998-06-02 Sun Microsystems, Inc. Apparatus and method to speculatively initiate primary memory accesses
US5905725A (en) 1996-12-16 1999-05-18 Juniper Networks High speed switching device
US5748554A (en) 1996-12-20 1998-05-05 Rambus, Inc. Memory and method for sensing sub-groups of memory elements
US6308248B1 (en) 1996-12-31 2001-10-23 Compaq Computer Corporation Method and system for allocating memory space using mapping controller, page table and frame numbers
US5790118A (en) 1997-03-07 1998-08-04 International Business Machines Corporation Mobile client programmed to hide empty table elements
US5913231A (en) 1997-03-31 1999-06-15 International Business Machines Corporation Method and system for high speed memory address forwarding mechanism
US6145065A (en) 1997-05-02 2000-11-07 Matsushita Electric Industrial Co., Ltd. Memory access buffer and reordering apparatus using priorities
US6118462A (en) * 1997-07-01 2000-09-12 Memtrax Llc Computer system controller having internal memory and external memory control
US6151641A (en) * 1997-09-30 2000-11-21 Lsi Logic Corporation DMA controller of a RAID storage controller with integrated XOR parity computation capability adapted to compute parity in parallel with the transfer of data segments
US6122709A (en) 1997-12-19 2000-09-19 Sun Microsystems, Inc. Cache with reduced tag information storage
US6643746B1 (en) 1997-12-24 2003-11-04 Creative Technology Ltd. Optimal multi-channel memory controller system
US6438675B1 (en) * 1998-03-23 2002-08-20 Ati Technologies, Inc. Variable format memory access device
US6405273B1 (en) 1998-11-13 2002-06-11 Infineon Technologies North America Corp. Data processing device with memory coupling unit
US6453380B1 (en) * 1999-01-23 2002-09-17 International Business Machines Corporation Address mapping for configurable memory system
US6389488B1 (en) 1999-01-28 2002-05-14 Advanced Micro Devices, Inc. Read ahead buffer for read accesses to system memory by input/output devices with buffer valid indication
JP3639464B2 (ja) * 1999-07-05 2005-04-20 株式会社ルネサステクノロジ 情報処理システム
JP2001060169A (ja) * 1999-08-24 2001-03-06 Hitachi Ltd キャッシュコントローラ及びコンピュータシステム
JP2001176282A (ja) * 1999-12-20 2001-06-29 Fujitsu Ltd 半導体記憶装置およびその制御方法
US6678810B1 (en) * 1999-12-30 2004-01-13 Intel Corporation MFENCE and LFENCE micro-architectural implementation method and system
US6430672B1 (en) * 2000-07-17 2002-08-06 International Business Machines Corporation Method for performing address mapping using two lookup tables
EP1182564A3 (en) 2000-08-21 2004-07-28 Texas Instruments France Local memory with indicator bits to support concurrent DMA and CPU access
US7006505B1 (en) 2000-10-23 2006-02-28 Bay Microsystems, Inc. Memory management system and algorithm for network processor architecture
US7006947B2 (en) * 2001-01-08 2006-02-28 Vextec Corporation Method and apparatus for predicting failure in a system
JP2002259327A (ja) * 2001-02-28 2002-09-13 Hitachi Ltd バス制御回路
US6745272B2 (en) * 2001-04-04 2004-06-01 Advanced Micro Devices, Inc. System and method of increasing bandwidth for issuing ordered transactions into a distributed communication system
US7200759B2 (en) * 2001-06-08 2007-04-03 Safenet B.V. Method and device for making information contents of a volatile semiconductor memory irretrievable
US6742097B2 (en) * 2001-07-30 2004-05-25 Rambus Inc. Consolidation of allocated memory to reduce power consumption
US20030056058A1 (en) 2001-09-17 2003-03-20 Alistair Veitch Logical volume data migration
US6812928B2 (en) * 2002-01-30 2004-11-02 Sun Microsystems, Inc. Performance texture mapping by combining requests for image data
US20030179598A1 (en) 2002-03-20 2003-09-25 Yu-Guang Chen Device for selectively providing read-only data
US7103730B2 (en) * 2002-04-09 2006-09-05 Intel Corporation Method, system, and apparatus for reducing power consumption of a memory
DE10216611A1 (de) 2002-04-15 2003-11-06 Infineon Technologies Ag Verfahren zum Ersetzen eines Inhalts einer Datenspeichereinheit
US6842828B2 (en) * 2002-04-30 2005-01-11 Intel Corporation Methods and arrangements to enhance an upbound path
US7028200B2 (en) * 2002-05-15 2006-04-11 Broadcom Corporation Method and apparatus for adaptive power management of memory subsystem
US6934804B2 (en) * 2002-05-28 2005-08-23 Sun Microsystems, Inc. Method and system for striping spares in a data storage system including an array of disk drives
US6851030B2 (en) 2002-10-16 2005-02-01 International Business Machines Corporation System and method for dynamically allocating associative resources
US7130229B2 (en) 2002-11-08 2006-10-31 Intel Corporation Interleaved mirrored memory systems
US6836434B2 (en) 2002-11-21 2004-12-28 Micron Technology, Inc. Mode selection in a flash memory device
US7255895B2 (en) 2003-01-21 2007-08-14 Bioarray Solutions, Ltd. Method for controlling solute loading of polymer microparticles
US7243172B2 (en) 2003-10-14 2007-07-10 Broadcom Corporation Fragment storage for data alignment and merger
JP4601305B2 (ja) 2004-02-27 2010-12-22 富士通セミコンダクター株式会社 半導体装置
US20060151641A1 (en) * 2004-12-30 2006-07-13 Li H C Water jet aerator with three-part body and with optional shaped nozzle
US8332598B2 (en) * 2005-06-23 2012-12-11 Intel Corporation Memory micro-tiling request reordering
US7765366B2 (en) * 2005-06-23 2010-07-27 Intel Corporation Memory micro-tiling
US7587521B2 (en) * 2005-06-23 2009-09-08 Intel Corporation Mechanism for assembling memory access requests while speculatively returning data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5251310A (en) * 1990-06-29 1993-10-05 Digital Equipment Corporation Method and apparatus for exchanging blocks of information between a cache memory and a main memory
US6249851B1 (en) * 1998-08-25 2001-06-19 Stmicroelectronics, Inc. Computer system having non-blocking cache and pipelined bus interface unit
US6708248B1 (en) * 1999-07-23 2004-03-16 Rambus Inc. Memory system with channel multiplexing of multiple memory devices
US6496193B1 (en) * 1999-12-30 2002-12-17 Intel Corporation Method and apparatus for fast loading of texture data into a tiled memory
CN1430769A (zh) * 2000-03-31 2003-07-16 英特尔公司 拼块式图形结构
US6820181B2 (en) * 2002-08-29 2004-11-16 Micron Technology, Inc. Method and system for controlling memory accesses to memory modules having a memory hub architecture

Also Published As

Publication number Publication date
KR100973604B1 (ko) 2010-08-02
US8010754B2 (en) 2011-08-30
US7765366B2 (en) 2010-07-27
EP1894110A2 (en) 2008-03-05
WO2007002551A2 (en) 2007-01-04
JP2008544414A (ja) 2008-12-04
US20100122046A1 (en) 2010-05-13
EP1894110B1 (en) 2012-12-19
US20060294325A1 (en) 2006-12-28
JP5603892B2 (ja) 2014-10-08
TWI350455B (en) 2011-10-11
TW200707454A (en) 2007-02-16
KR20080014066A (ko) 2008-02-13
JP4981797B2 (ja) 2012-07-25
JP2012104161A (ja) 2012-05-31
CN1892629A (zh) 2007-01-10
WO2007002551A3 (en) 2007-06-14

Similar Documents

Publication Publication Date Title
CN1892629B (zh) 存储器微分块
CN101208672B (zh) 存储器微块化推测性返回
JP4796627B2 (ja) メモリチャネル内の各メモリデバイスの識別およびアクセス
JP4838844B2 (ja) 方法、記憶媒体、システムおよびプログラム
CN101930412B (zh) 存储器微块化请求重排序
JP4511638B2 (ja) 内部メモリ及び外部メモリコントロールを具備したコンピュータシステムコントローラ
JP3810736B2 (ja) 共用変換アドレスのキャッシング
US20040111489A1 (en) Image processing apparatus and method thereof
US7884831B2 (en) Reconfigurable high-performance texture pipeline with advanced filtering
CN101150485A (zh) 一种零拷贝缓冲区队列网络数据发送的管理方法
CN101150486A (zh) 一种零拷贝缓冲区队列网络数据接收的管理方法
US8217954B2 (en) Reconfigurable dual texture pipeline with shared texture cache
US6873331B2 (en) System and method for passing messages among processing nodes in a distributed system
JPH02275581A (ja) 図形データ処理方式

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100616

Termination date: 20210622

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