CN101971498B - 具有多端口存储器超元与数据路径开关电路的集成电路 - Google Patents

具有多端口存储器超元与数据路径开关电路的集成电路 Download PDF

Info

Publication number
CN101971498B
CN101971498B CN201080001246.0A CN201080001246A CN101971498B CN 101971498 B CN101971498 B CN 101971498B CN 201080001246 A CN201080001246 A CN 201080001246A CN 101971498 B CN101971498 B CN 101971498B
Authority
CN
China
Prior art keywords
memory
cohort
data
requestors
super
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.)
Active
Application number
CN201080001246.0A
Other languages
English (en)
Other versions
CN101971498A (zh
Inventor
S·希尤
B·P·莉莉
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.)
Apple Inc
Original Assignee
Apple Computer Inc
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 Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN101971498A publication Critical patent/CN101971498A/zh
Application granted granted Critical
Publication of CN101971498B publication Critical patent/CN101971498B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/025Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1012Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1048Data bus control circuits, e.g. precharging, presetting, equalising
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/108Wide data ports
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Multimedia (AREA)
  • Static Random-Access Memory (AREA)
  • Electronic Switches (AREA)
  • Dram (AREA)

Abstract

本发明提供了一种集成电路。该集成电路包括多个存储器请求器和一个存储器超元。该存储器超元包括多个存储器组,每个存储器组形成对应范围的可单独寻址的存储位置,其中,所述存储器超元被组织成多个组群。所述多个组群中的每一个都包括所述多个存储器组的子集和对应的专用访问端口。该集成电路还包括耦接在所述多个存储器请求器和所述存储器超元之间的开关。该开关被配置为,响应于所述多个存储器请求器中的一个给定存储器请求器的存储器请求,连接该给定存储器请求器与所述多个组群中由所述存储器请求寻址的一个特定组群的专用访问端口之间的数据路径。

Description

具有多端口存储器超元与数据路径开关电路的集成电路
技术领域
本发明涉及集成电路,尤其是涉及集成电路中存储器与所关联访问路径的布置。
背景技术
计算机与其它类型的电子系统常常包括具有若干个不同层的存储器层次结构。在这些层中,可以包括非易失性存储设备(例如,硬盘存储设备)、随机存取存储器(RAM)及一级或多级高速缓冲存储器。基于处理器的系统可以包括具有一个或多个核的处理器,其中这一个或多个核中的每一个都包括一个或多个高速缓冲存储器。例如,许多处理器包括至少一个具有可以位于存储器层次结构的顶部的指令高速缓存和数据高速缓存的处理器核。位于存储器层次结构顶部的高速缓冲存储器可以被称为第一级(或者L1)高速缓存。许多处理器还包括第二级(或者L2)高速缓存,其可以由处理器核的数据和指令高速缓存共享,此外,还可以由多核处理器中的多个处理器共享。
当在集成电路(IC)上提供时,这些类型存储器中的一些(例如,L2高速缓存)可以被组织成称为存储器超元(memory supercell)的结构。存储器超元是共享公共接口(有时候称为“分接点”)的存储器组(memory bank)的2维阵列(例如,多行和多列的存储器组)。特别地,当设计IC时,每个存储器组可以是如下单元的形式,即该单元在IC管芯(die)上的位置和与其它定义的单元(cell)和/或其它功能性单元(functional unit)的互连可以通过IC设计工具操纵。存储器超元仅是互连以形成更大、统一的、可以类似地通过设计工具定位到IC上的存储器单元的这种存储器组单元的集合。
在这种存储器超元中,给定的地址映射到超元的一个组。在写操作过程中传输到超元的信息可以被接口接收,然后路由到存储器组中由映射到该组的地址所指示的位置。类似地,当执行读操作时,信息可以从超元的一个存储器组中寻址到的位置路由到接口,并由此路由到请求设备。
发明内容
公开了一种集成电路。在一种实施方式中,该集成电路包括多个存储器请求器和一个存储器超元。该存储器超元包括多个存储器组,其中每个存储器组形成对应范围的可单独寻址的存储位置,其中所述存储器超元被组织成多个组群。所述多个组群中的每一个都包括所述多个存储器组的子集和一个对应的专用访问端口。该集成电路还包括耦接在所述多个存储器请求器和所述存储器超元之间的开关。该开关被配置成,响应于所述多个存储器请求器中的一个给定存储器请求器的存储器请求,连接该给定存储器请求器与所述多个组群中由该存储器请求寻址到的一个特定组群的专用访问端口之间的数据路径。
附图说明
在阅读了以下具体描述并参考附图的情况下,本发明的其它方面将变得显而易见,附图中:
图1是一种实施例的集成电路的框图;
图2是一种实施例的存储器超元的框图;
图3是另一种实施例的存储器超元的框图;
图4是集成电路的框图,该框图更详细地例示了一种实施例的开关单元;
图5是例示了一种实施例的集成电路的更多细节的框图;
图6是例示了一种实施例的包括多个处理器核和一对存储器超元的集成电路的框图;及
图7是例示了另一种实施例的包括多个处理器核和一对存储器超元的集成电路的框图。
尽管本发明容许各种修改和可选形式,但其特定的实施例作为例子在附图中示出,并将在此详细描述。然而,应当理解,附图及对其的描述不是要将本发明限定到所公开的特定形式,相反,本发明是要覆盖落入由所附权利要求定义的本发明主旨与范围内的所有修改、等价物和可选方式。
具体实施方式
现在转向图1,示出了一种实施例的集成电路的框图。在所例示的实施例中,集成电路(IC)10包括请求器22、24、26和28,每个请求器都耦接到控制单元15和开关单元20。IC 10还包括耦接到开关单元20的存储器超元18。在有些实施例中,图1中所示的IC 10的各个部件可以在单个IC管芯上实现。在所示实施例中,开关单元20物理地位于存储器超元18和请求器22至28之间(并在它们的外部)。
请求器22至28中的每一个都代表需要访问位于其外部的存储器(例如,存储器超元18)的任何子系统或者设备。这种访问可以包括读访问、写访问或者二者兼有。在有些实施例中,请求器22至28中的每一个都可以是相同的功能单元(例如,包括例如指令高速缓存和数据高速缓存的对称多核处理器的核,等等)。在其它实施例中,请求器22至28中的至少一个可以与其它的请求器不同(例如,不对称多核处理器中的核)。请求器的特定数量可以依实施例而不同,并且可以大于或者小于在此所示出的。少至只有一个请求器的实施例也是可能的和预期的。
在所示实施例中,存储器超元18包括多个存储器组19。如以上所讨论的,在IC的设计阶段,每个存储器组可以定义为可由设计工具操纵的单元。以其概念,存储器超元18同样可以定义成允许其位置和到其它单元(cell)或功能性单元(functional unit)的互连由设计工具来操纵。在所示实施例中,存储器超元18包括存储器组19的二维阵列。该布置使得至少两个存储器组19在第一方向(例如,行)布置,而至少两个存储器组19在第二方向(例如,列)布置。二维阵列的每个方向中的存储器组19的特定数量可以依实施例而不同。每个存储器组19可以形成对应范围的可单独寻址的存储位置。存储器访问请求可以各自寻址到这些可单独寻址的存储位置中的一个或者多个。
图1中的存储器超元18通过端口21(有时候称为“分接点”)耦接到开关单元20,在本实施例中端口21被标记为端口0和端口1。如以下将要讨论的,图1中所示的多个存储器组19可以被组织成单独的存储器组群。数据(如在此所使用的,术语“数据”旨在包括指令)到或自给定组群中的组的传输可以排他地通过与该特定组群相关联的端口21发生,而数据到或自另一组群的传输通过另一个端口发生,下面将更详细地对其进行讨论。
所示实施例中的每一个请求器22至28都配置成向控制单元15提供指示访问存储器超元18的请求的信号。当提供访问存储器超元18的请求时,特定的请求器22至28可以向控制单元15提供指示要被访问的地址及指示请求是读请求还是写请求的信息。控制单元15被配置成响应性地确定用于在由请求所识别的存储器位置和对应请求器之间传送数据的路径。特别地,控制单元15可以被配置成确定开关单元20中用以在与所请求的存储器位置相关联的存储器超元18的端口和对应请求器之间形成路径的各个片段。响应于从控制单元15接收控制信号,开关单元20被配置成选择在请求器和与请求相关联的存储器超元18的端口之间形成路径的片段。
控制单元15还可以直接向组群提供包括所请求的存储器位置的某些控制信号。这种控制信号可以包括使能信号(例如,读使能,写使能)和选择信号(例如,用于选择与请求相关联的组和地址)。在接收到多个未完成的访问请求的情况下,控制单元15可以执行区分优先次序功能,以便确定执行请求的次序。
现在转向图2,示出了一种实施例的存储器超元18的框图。图2还例示了多个存储器组19中具有代表性的一个。在所示实施例中,存储器超元18包括被组织成四行两列的八个存储器组19。存储器超元18进一步组织成四个存储器单元,在这里称为组群0、组群1、组群2和组群3。这些组群中的每一个都包括耦接到对应的I/F单元185的对应端口21,例如,组群0包括端口0,而端口0耦接到I/F 0,依此类推。给定存储器群的每个端口21专用于该群的存储器组19。类似地,给定存储器群的每个I/F单元185专用于该群的存储器组19。例如,到或自组群0的任何存储器组的数据传输是通过端口0和I/F 0发生的,而到或自存储器组群3的任何存储器组的数据传输是通过端口3和I/F 3发生的。每个I/F单元185都提供了用于在该特定组群的存储器组和该特定存储器群的对应端口21之间传送数据的接口。每个I/F单元185可以包括配置成在访问该组的位置过程中在给定存储器组19和对应端口21之间路由数据的开关电路(例如,复用器、解复用器,等等)。在有些实施例中,每个I/F单元185还可以向其特定的组群的存储器组19提供地址信息和/或其它控制信号。然而,其中地址信息和控制信号由其它功能性单元提供(例如,直接来自图1的控制单元15)的实施例也是可能的和预期的。
在所示实施例中,相比于到与其它组群相关联的那些端口21,给定组群中的每个存储器组19物理上更靠近其关联的端口21。例如,相比于到与组群1-3中任何一个相关联的那些端口,组群0的存储器组19物理上更靠近端口0。与其中单个端口可能以别的方式提供用于存储器超元(并由此用于单个端口接口单元)的实施例相对比,图2中所示出的布置可以使得将数据从外部位置驱动至存储器超元18中给定存储器组19/将数据从存储器超元18中给定存储器组19驱动至外部位置的距离最小化。还应当指出,形成每个I/F单元185的电路可以物理地在给定组群的存储器组19之间的中央位置提供。
当在诸如IC 10的集成电路中实现时,存储器超元18的每个端口21可以耦接为通过第一路径从开关单元20接收数据,并耦接为通过第二路径向开关单元提供数据(即,在其中单向路径用于写数据和读数据的实施例中)。因此,如以下将进一步讨论的,这种布置可以允许同时的读和写操作,其中,信息写到第一组群中的存储器位置,并从第二组群中的存储器位置读取。
如以上所指出的,图2还例示了一种实施例的代表性的存储器组19。对于在存储器超元18中的实现,其它类型的存储器组也是可能的和预期的。在所示实施例中,存储器组19包括按照行和列的阵列布置的多个存储器位单元。给定行中的存储器位单元通过字线彼此耦接,而给定列中的存储器位单元通过位线彼此耦接。在所示实施例中,每个存储器位单元耦接到单个位线,尽管其中存储器位单元耦接到两个位线(例如,为了传送真的和补充的数据)的实施例也是可能的和预期的。
所示实施例中的存储器组19包括地址解码器191和I/O单元192。地址解码器191耦接成从外部源(例如,从I/F单元185或者从以上所讨论实施例的控制单元15)接收地址,并配置成解码所接收到的地址。I/O单元192可以包括用于从存储器单元读取信息和/或将信息写到存储器单元的各种电路。例如,在一种实施例中,I/O单元192包括多个感测放大器,其中每个感测放大器都耦接到对应的位线。I/O单元192还可以包括多个驱动器电路,其中每个驱动器电路都耦接到对应的位线。
在所示实施例中,地址解码器191被配置成解码地址,以便激活对应于其的字线。当被激活时,给定的字线可以使耦接到其的存储器单元对其对应的位线成为透明的(即,选择被解码地址的存储器单元)。在读操作过程中,存储在所选存储器单元中的数据可以被I/O单元192的感测放大器感测并从存储器组19驱动到对应的I/F单元185(因此也驱动到对应的端口21)。在写操作过程中,数据可以被I/O单元192中的驱动器电路接收,并由此写到所选的存储器单元中。当读或写操作完成时,所选存储器单元的字线被去激活,因此存储最近写到存储器单元中的数据。
图3是另一种实施例的存储器超元18的框图。在这种特定的实施例中,存储器超元18包括两个存储器组群,而不是图2的实施例中所示的四个组群。因此,图3的存储器超元18包括两个端口21和两个I/F单元185。这种特定实施例中的每个组群包括四个存储器组19。
总的来说,根据本公开内容,存储器超元18可以按照广泛多种配置来实现。每个存储器超元可以包括多个组群,其中每个组群包括多个存储器组。每个组群可以包括各自专用于该特定组群的一个端口和一个I/F单元(即,给定端口专用于传送写到或者读自对应组群的数据(即,不向/从其它组群传送数据))。而且,相比于到与其它组群相关联的端口,特定组群的存储器组可以物理上更靠近与该组群相关联的端口。这可以减小其中数据在组群中的特定存储器组和该组群的端口之间驱动的距离,并由此减小到给定存储器请求器的总距离。减小数据被驱动的总距离量可以使得功耗相对较低,还可以减小与数据传输相关联的等待时间。
图4是更详细地例示了一种实施例的开关单元20的IC 10的图。为了简化,图4中与以上所讨论的附图中的元件对应的元件标以相同的标号。应当指出,其中,如图4中所示的存储器超元18可以根据图2的配置或者图3的配置来实现。
在所示实施例中,开关单元20包括多个选择电路202,而且还包括多个片段205和210。为了简化,只标记出了代表性片段。片段205形成多个片段中的第一个子集,而且可用于从请求器22至28向存储器超元18的选定组群传送信息(写数据)。片段210形成多个片段中的另一个子集,而且可用于从存储器超元18的选定组群向一个请求器22至28传送信息(读数据)。因此,片段205在第一方向是单向的,而片段210在第二方向是单向的。每个片段可以包括多个信号线(例如,导体),其中信息位在信号线上传送,以便在存储器超元18和一个请求器22至28之间传输数据。
这种实施例中的每个选择电路202被配置成将多个片段中特定的一些片段电耦接到这多个片段中至少其他一个片段。在所示实施例中,每个选择电路202被配置成执行复用功能。更特别地,这种实施例中的每个选择电路202被配置成选择两个片段中的一个片段以电耦接到其他一个片段。通常,开关单元20的各种实施例可以利用执行复用功能、解复用功能、选通功能或者其各种组合的选择电路202来实现。执行复用功能的选择电路202可以将两个或更多个输入片段耦接到第三个(输出)片段。执行解复用功能的选择电路202可以将输入片段耦接到两个或更多个输出片段中的一个。执行选通功能的选择电路202可以在启用时将输入片段耦接到输出片段。
尽管本文没有明确地示出,但所示实施例中的每个选择电路202都耦接成从控制单元15接收一个或多个控制信号。更特别地,这种实施例中的每个选择电路202都耦接成至少接收指示两个对应输入片段中的哪一个电耦接到对应输出片段的选择信号。在有些实施例中,每个选择电路202还可以耦接成接收使能信号。当选择电路202用于在一个请求器22至28和存储器超元18的一个组群0至3之间形成路径时,使能信号可以断言为启用选择电路202。当选择电路202未使用时,提供给该选择电路202的使能信号可以被去断言(de-assert)。当禁用时,选择电路202可以使输出片段的信号线置为高阻抗状态。
由于所示实施例将多个片段划分成单独的第一子集和第二子集(即,分成包括片段205的第一子集和包括片段210的第二子集),因此可以支持同时的读和写。例如,数据可以从请求器22写到组群0的一个位置,同时由请求器28从组群3读取数据。在有些实施例中也可以支持涉及单个组群和/或单个请求器的同时读和写。例如,在这种实施例中,请求器24可以将数据写到组群1中的一个位置,同时从组群2中的一个位置读取数据。在另一个例子中,一种这样的实施例可以支持请求器26将数据写到组群2的第一个位置中,而请求器24同时从组群2的第二个位置读取数据。如以上所指出的,控制单元15可以被配置成执行区分优先顺序功能,而且因此可以在支持这些同时访问的实施例中调度同时的读和写访问。控制单元15还可以被配置成在某些情况下(例如,如果存在从相同存储器位置的读和写请求)阻止同时的读和写。
图5是例示了对请求器和存储器组群之间的路径的选择的例子的框图。文本所示出的例子是基于图4的实施例,因此图5中所示的元件与图4中对应的元件标以相同的标号。在这个例子中所示出的路径包括由虚线指示的片段和对应的参考标记。不具有对应参考标记的、示为实线的其它片段不是这个例子中所指示路径的一部分。
在图5所示的例子中,请求器22通过由片段205D和205E形成的第一路径耦接到组群0。相应地,请求器22被耦接成将信息写到位于组群0中的存储器位置。在这同一个例子中,请求器26通过由片段210E、210F和210G形成的第二路径被耦接到组群2。相应地,这个例子中的请求器26被耦接成从组群2读取数据。这些路径可以如图所示配置成使得,请求器22将数据写到组群0中的一个位置,而请求器26同时从组群2中的一个位置读取数据。从存储器超元18的第一位置读取数据而同时向其另一个位置写数据的能力可以使得能够进行有效的整体操作。然而,这个例子中所示的路径可以配置成使得能够在不同的、非同时的时间进行以上所提到的读和写操作。
图5所示的例子使得,当将数据从请求器22驱动到组群0的端口0时,数据只在将请求器22电连接到端口0的那些片段205上驱动。类似地,所示的例子使得,当将数据从组群2驱动到请求器26时,数据只在将端口2电连接到请求器26的那些片段210上驱动。通常,在所示实施例中,当给定的请求器要将数据写到存储器超元18中的一个位置时,数据只在发起请求器和与数据要写到的存储器位置相对应的端口之间电连接的那些片段205上驱动。类似地,在所示实施例中,当给定的请求器要从存储器超元18的一个位置读取数据时,数据只在与要读取数据的存储器位置相关联的端口和发起请求器的输入之间电连接的那些片段210上驱动。因此,可以提供相对短的数据路径,由此使得对应于数据的信号被驱动的距离更短。这继而又可能使得功耗相对较低。
通常,开关电路20被配置成使得特定的选择电路202选择多个片段205来使得能够进行从任何一个请求器22至28到任何一个组群0至3的写操作。类似地,开关电路20被配置成使得特定的选择电路202选择多个片段210来使得能够由任何一个请求器22至28进行从任何一个组群0至3的读操作。根据请求的类型(读或者写)和请求的位置,可以在控制单元15的指示下执行对特定片段的选择。当不存在冲突(例如,不试图同时从相同的地址读和写)时,可以执行同时的读和写操作。
现在转向图6,示出了一种实施例的在集成电路上实现的处理器系统的框图,该集成电路具有多个处理器核和存储器超元。在所示实施例中,处理器100包括第一处理器核101和第二处理器核102。处理器核101和102中的每一个都耦接到开关单元20。开关单元20继而又耦接到由存储器超元181和182一同形成的L2高速缓存180。形成开关单元20的电路可以物理地位于图中所示的L2高速缓存180和处理器核对之间。尽管在这里为了简化没有示出,但处理器100还可以包括类似于以上所述实施例中的控制单元15的控制单元。
处理器核101包括指令高速缓存111、数据高速缓存112和核接口113。类似地,处理器核102包括指令高速缓存121、数据高速缓存122和核接口123。在这种实施例中,处理器核101和102的指令和数据高速缓存形成第一级(L1)高速缓存。在这种实施例中,核接口113和123是配置成从对应的L1高速缓存向L2高速缓存180写信息的高速缓存回写单元。核接口113和123还可以包括附加的接口功能,使得它们对应的处理器核和其它功能性单元之间能够通信。
在这种特定的实施例中,处理器核101和102执行如上讨论的请求器的角色。在它们作为请求器的角色中,处理器核101和102可以通过到其对应的指令或数据高速缓存的输入来从存储器超元181和182接收数据。在这种实施例中,信息可以通过其对应的核接口从处理器核101和102输出。然而,应当指出,其中图中所示的每个指令高速缓存、数据高速缓存和核接口本身能够执行请求器角色的实施例也是可能的和预期的。因此,当这些单元执行作为请求器的角色时,它们可以发起导致数据向L2高速缓存180传输和/或从L2高速缓存180接收数据的访问请求。
如上所述,在图6中所示的实施例中,L2高速缓存180包括第一存储器超元181和第二存储器超元182。图6中所示的每个存储器超元181和182都是类似于图2所示的存储器超元18的实施例来配置的。即,每个存储器超元181和182各自包括具有两个存储器组的四个组群,每个组群包括其自己的存储器端口21和其自己的I/F单元185。
在这种实施例中,所示实施例中的高速缓存线可以跨两个存储器超元181和182存储(例如,对于64字节的高速缓存线,给定高速缓存线的32个字节可以在存储器超元181的对应存储器组中存储,而剩余的32个字节可以在存储器超元182的对应存储器组中存储)。因此,存储器系统100可以支持到存储器超元181中的组群的存储器位置的写,同时到存储器超元182中的组群的存储器位置的写。类似地,存储器100还可以执行从存储器超元181的组群中的存储器位置的读,同时从存储器超元182的组群中的存储器位置的读。在各种实施例中,处理器系统100可以允许对不同高速缓存线的同时读和写。因此,该实施例的处理器100可以支持与两个写操作(对于第二高速缓存线,一个是到存储器超元181的而另一个是到存储器超元182的)同时执行的两个读操作(对于第一高速缓存线,一个是从存储器超元181而另一个是从存储器超元182)。
图7是例示了另一实施例的处理器系统的框图。在这种特定的实施例中,L2高速缓存180的存储器超元181和182各自是根据以上所讨论的图3的配置来实现的。每个组群包括对应的端口21和对应的I/F单元185。就象关于以上所讨论的实施例,高速缓存线的传输可以包括同时从两个存储器超元181和182读取,或者写到存储器超元181和182。
尽管已经参考特定实施例对本发明进行了描述,但是应当理解,实施例是例示性的,而且本发明的范围不受限于此。对所述实施例的任何变化、修改、添加和改进都是可能的。这些变化、修改、添加和改进落入如以下权利要求中详述的本发明的范围内。

Claims (19)

1.一种集成电路,包括:
多个存储器请求器;
存储器超元,该存储器超元包括多个存储器组,所述多个存储器组布置成二维存储器组阵列,每个存储器组形成对应范围的可单独寻址的存储位置,其中,所述存储器超元被组织成多个组群,其中所述多个组群中的每一个都包括所述多个存储器组的子集和与专用于该组群的公共接口耦合的对应的专用访问端口,其中,专用于该组群的公共接口用于在该组群的存储器组和对应的专用访问端口之间传送数据,并且其中,所述公共接口物理地在该组群的存储器组之间的中央位置提供;以及
开关单元,该开关单元耦接在所述多个存储器请求器和所述存储器超元之间,其中该开关单元被配置成,响应于所述多个存储器请求器中的一个给定存储器请求器的存储器请求,连接该给定存储器请求器与所述多个组群中由所述存储器请求寻址到的一个特定组群的专用访问端口之间的数据路径。
2.如权利要求1所述的集成电路,其中,所述多个存储器组中的每个存储器组都包括地址解码器。
3.如权利要求1或2所述的集成电路,其中,所述开关单元包括多个片段和多个选择电路,其中所述多个选择电路中的每一个都被配置成将所述多个片段中的一些特定片段电连接到所述多个片段中的另一个片段,以便在所述多个存储器请求器中的一个特定请求器和所述多个组群中的一个特定组群的专用访问端口之间形成路径,其中所述多个片段的第一子集被配置成向所述存储器超元传送数据,而且其中所述多个片段的第二子集被配置成从所述存储器超元传送数据。
4.如权利要求3所述的集成电路,其中,在由所述多个存储器请求器中的一个特定请求器发起的、向所述多个组群中的第一组群的存储位置写数据的写请求过程中,来自所述特定请求器的数据在到达与所述多个存储器组的第一子集相对应的第一访问端口的路径上被驱动,而不在连接到与所述多个存储器组的第二子集相对应的第二访问端口的片段上驱动数据。
5.如权利要求3所述的集成电路,其中,在由所述多个存储器请求器中的一个特定请求器发起的、从所述多个组群中的第一组群的存储位置读数据的读请求过程中,数据在从所述多个存储器组的第一子集相对应的第一访问端口到所述特定请求器的路径上被驱动,而不在连接到所述多个存储器请求器中的其它存储器请求器的片段上驱动数据。
6.如权利要求1所述的集成电路,其中,所述存储器超元被配置成,使得与寻址到所述多个存储器组的第一子集的存储位置的请求相对应的数据排他地通过第一访问端口提供,并且使得与寻址到所述多个存储器组的第二子集的存储位置的请求相对应的数据排他地通过第二访问端口提供,而且其中所述开关单元被配置成,响应于所述多个存储器请求器中的一个给定存储器请求器的存储器请求,在所述存储器请求寻址到所述多个存储器组的第一子集的存储位置的情况下,连接所述给定存储器请求器和所述第一访问端口之间的第一对应数据路径,而在所述存储器请求寻址到所述多个存储器组的第二子集的存储位置的情况下,连接所述给定存储器请求器和所述第二访问端口之间的第二数据路径。
7.如权利要求6所述的集成电路,其中,所述多个存储器组被组织成所述存储器超元内的二维阵列,其中该二维阵列包括布置在第一方向上的至少两个存储器组和布置在第二方向上的至少两个存储器组。
8.如权利要求7所述的集成电路,其中,所述多个存储器组的第一子集是由二维阵列的第一行中的第一对相邻存储器组形成的,而且其中所述多个存储器组的第二子集是由二维阵列的第二行中的第二对相邻存储器组形成的。
9.如权利要求8所述的集成电路,其中,所述存储器超元包括多个附加相邻存储器组对,其中所述存储器超元被配置成使得与寻址到每个附加相邻存储器组对的存储位置的请求相对应的数据排他地通过附加的对应访问端口提供。
10.如权利要求6至9中任何一项所述的集成电路,其中,相比于到所述第二访问端口,所述多个存储器组的第一子集物理上更靠近所述第一访问端口,而且其中,相比于到所述第一访问端口,所述多个存储器组的第二子集更靠近所述第二访问端口。
11.如前面权利要求1或2所述的集成电路,其中,所述开关单元包括多个片段和多个选择电路,每个选择电路被配置成将所述多个片段中的一些特定片段耦接到所述多个片段中的另一个片段,而且其中所述多个存储器组被组织成所述存储器超元内的二维阵列,其中,所述存储器超元内的所述多个组群中的每一个组群都独立于所述存储器超元内的所述多个组群中的其它组群而耦接到所述开关单元,而且该集成电路还包括耦接到所述开关单元和所述多个存储器请求器中每一个的控制器,其中,响应于来自所述多个存储器请求器中的一个存储器请求器的存储器超元访问请求,该控制器被配置为使得所述开关单元配置所述多个选择电路以选择与所述一个存储器请求器和对应于该请求所关联的存储位置的组群之间的路径相对应的片段。
12.如权利要求11所述的集成电路,其中,所述多个存储器请求器中的每一个是包括数据高速缓存和指令高速缓存的处理器核,其中每个处理器核的数据高速缓存和指令高速缓存耦接到所述开关单元。
13.如权利要求12所述的集成电路,其中,所述存储器超元形成第二级高速缓存的至少一部分。
14.如权利要求11所述的集成电路,其中,所述多个片段的第一子集被配置成将数据传送到所述存储器超元,而且其中,所述多个片段的一个不同子集被配置成从所述存储器超元传送数据。
15.一种在集成电路中的方法,该集成电路包括:
多个存储器请求器;
存储器超元,该存储器超元包括多个存储器组,所述多个存储器组布置成二维存储器组阵列,每个存储器组形成对应范围的可单独寻址的存储位置,其中,所述存储器超元被组织成多个组群,其中所述多个组群中的每一个都包括所述多个存储器组的子集和与专用于该组群的公共接口耦合的对应的专用访问端口,其中,专用于该组群的公共接口用于在该组群的存储器组和对应的专用访问端口之间传送数据,并且其中,所述公共接口物理地在该组群的存储器组之间的中央位置提供;以及
开关单元,该开关单元耦接在所述多个存储器请求器和所述存储器超元之间;
该方法包括:
响应于所述多个存储器请求器中的一个给定存储器请求器的存储器请求,采用所述开关单元连接该给定存储器请求器与所述多个组群中由所述存储器请求寻址到的一个特定组群的专用访问端口之间的数据路径。
16.如权利要求15所述的方法,其中,所述开关单元包括多个片段和多个选择电路,并且所述连接数据路径包括将所述多个片段中的一些特定片段电连接到所述多个片段中的另一个片段,以便在所述多个存储器请求器中的一个特定请求器和所述多个组群中的一个特定组群的专用访问端口之间形成路径,其中所述多个片段的第一子集被配置成向所述存储器超元传送数据,而且其中所述多个片段的第二子集被配置成从所述存储器超元传送数据。
17.如权利要求16所述的方法,还包括:在由所述多个存储器请求器中的一个特定请求器发起的、向所述多个组群中的第一组群的存储位置写数据的写请求过程中,在到达与所述多个存储器组的第一子集相对应的第一访问端口的路径上驱动来自所述特定请求器的数据,而不在连接到与所述多个存储器组的第二子集相对应的第二访问端口的片段上驱动数据。
18.如权利要求16所述的方法,还包括:在由所述多个存储器请求器中的一个特定请求器发起的、从所述多个组群中的第一组群的存储位置读数据的读请求过程中,在从与所述多个存储器组的第一子集相对应的第一访问端口到所述特定请求器的路径上驱动数据,而不在连接到所述多个存储器请求器中的其它存储器请求器的片段上驱动数据。
19.如权利要求15所述的方法,还包括:
排他地通过第一访问端口提供与寻址到所述多个存储器组的第一子集的存储位置的请求相对应的数据;及
排他地通过第二访问端口提供与寻址到所述多个存储器组的第二子集的存储位置的请求相对应的数据。
CN201080001246.0A 2009-02-13 2010-02-12 具有多端口存储器超元与数据路径开关电路的集成电路 Active CN101971498B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/371,363 US8036061B2 (en) 2009-02-13 2009-02-13 Integrated circuit with multiported memory supercell and data path switching circuitry
US12/371,363 2009-02-13
PCT/US2010/024021 WO2010093868A1 (en) 2009-02-13 2010-02-12 Integrated circuit with multiported memory supercell and data path switching circuitry

Publications (2)

Publication Number Publication Date
CN101971498A CN101971498A (zh) 2011-02-09
CN101971498B true CN101971498B (zh) 2014-05-07

Family

ID=42559800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080001246.0A Active CN101971498B (zh) 2009-02-13 2010-02-12 具有多端口存储器超元与数据路径开关电路的集成电路

Country Status (9)

Country Link
US (1) US8036061B2 (zh)
EP (1) EP2396886A4 (zh)
JP (1) JP5162024B2 (zh)
KR (1) KR101183739B1 (zh)
CN (1) CN101971498B (zh)
BR (1) BRPI1008499B1 (zh)
HK (1) HK1152807A1 (zh)
RU (1) RU2481652C1 (zh)
WO (1) WO2010093868A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012061048A1 (en) * 2010-11-04 2012-05-10 Rambus Inc. Techniques for storing data and tags in different memory arrays
US9514069B1 (en) * 2012-05-24 2016-12-06 Schwegman, Lundberg & Woessner, P.A. Enhanced computer processor and memory management architecture
TWI550403B (zh) * 2013-04-02 2016-09-21 晨星半導體股份有限公司 記憶體控制器及其記憶體位址產生方法
KR101533685B1 (ko) 2013-11-29 2015-07-03 숭실대학교산학협력단 다중 프로세서용 메모리 장치 및 이를 포함하는 메모리 시스템
US10949546B2 (en) * 2017-08-02 2021-03-16 Samsung Electronics Co., Ltd. Security devices, electronic devices and methods of operating electronic devices
US11921637B2 (en) 2019-05-24 2024-03-05 Texas Instruments Incorporated Write streaming with cache write acknowledgment in a processor
KR20210122461A (ko) * 2020-04-01 2021-10-12 에스케이하이닉스 주식회사 메모리 시스템의 입출력 성능을 향상시키는 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1497704A (zh) * 2002-09-26 2004-05-19 因芬尼昂技术股份公司 半导体记忆组件的设计及制造方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06202949A (ja) * 1993-01-06 1994-07-22 Yokogawa Electric Corp マルチプロセッサ・キャッシュ制御装置
JP3560266B2 (ja) * 1995-08-31 2004-09-02 株式会社ルネサステクノロジ 半導体装置及び半導体データ装置
JP2002523901A (ja) * 1998-08-18 2002-07-30 インフィネオン テクノロジース アクチエンゲゼルシャフト 表面被覆部を有する半導体チップ
US6108233A (en) * 1999-08-27 2000-08-22 Lucent Technologies Inc. Ultra low voltage static RAM memory cell
GB2373595B (en) * 2001-03-15 2005-09-07 Italtel Spa A system of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative common bus protocol
US6789155B2 (en) * 2001-08-29 2004-09-07 Micron Technology, Inc. System and method for controlling multi-bank embedded DRAM
US6769050B1 (en) * 2001-09-10 2004-07-27 Rambus Inc. Techniques for increasing bandwidth in port-per-module memory systems having mismatched memory modules
US6621752B2 (en) * 2001-10-03 2003-09-16 Infineon Technologies Aktiengesellschaft Refreshing scheme for memory cells a memory array to increase performance of integrated circuits
US7571287B2 (en) * 2003-03-13 2009-08-04 Marvell World Trade Ltd. Multiport memory architecture, devices and systems including the same, and methods of using the same
JP2004355271A (ja) * 2003-05-28 2004-12-16 Toshiba Corp データ転送システム
JP4336848B2 (ja) * 2004-11-10 2009-09-30 日本電気株式会社 マルチポートキャッシュメモリ及びマルチポートキャッシュメモリのアクセス制御方式
JP4989872B2 (ja) * 2005-10-13 2012-08-01 ルネサスエレクトロニクス株式会社 半導体記憶装置および演算処理装置
KR100655081B1 (ko) * 2005-12-22 2006-12-08 삼성전자주식회사 가변적 액세스 경로를 가지는 멀티 포트 반도체 메모리장치 및 그에 따른 방법
US7600081B2 (en) * 2006-01-18 2009-10-06 Marvell World Trade Ltd. Processor architecture having multi-ported memory
US7817470B2 (en) * 2006-11-27 2010-10-19 Mosaid Technologies Incorporated Non-volatile memory serial core architecture

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1497704A (zh) * 2002-09-26 2004-05-19 因芬尼昂技术股份公司 半导体记忆组件的设计及制造方法

Also Published As

Publication number Publication date
RU2011137523A (ru) 2013-04-10
EP2396886A1 (en) 2011-12-21
EP2396886A4 (en) 2015-09-02
JP5162024B2 (ja) 2013-03-13
JP2011517219A (ja) 2011-05-26
RU2481652C1 (ru) 2013-05-10
CN101971498A (zh) 2011-02-09
KR20100127317A (ko) 2010-12-03
BRPI1008499B1 (pt) 2020-10-06
BRPI1008499A2 (pt) 2016-03-08
US20100208540A1 (en) 2010-08-19
US8036061B2 (en) 2011-10-11
HK1152807A1 (zh) 2012-03-09
KR101183739B1 (ko) 2012-09-17
WO2010093868A1 (en) 2010-08-19

Similar Documents

Publication Publication Date Title
CN101971498B (zh) 具有多端口存储器超元与数据路径开关电路的集成电路
CN100580643C (zh) 包括多个存储器集线器模块的多处理器系统和方法
CN101401166B (zh) 具有多个地址、数据及命令总线的存储器装置及方法
KR100855587B1 (ko) 메일박스 영역을 가지는 멀티 패스 액세스블 반도체 메모리장치 및 그에 따른 메일박스 액세스 제어방법
US7558941B2 (en) Automatic detection of micro-tile enabled memory
JP5052842B2 (ja) ポイントツーポイントリンクを有するメモリシステム及び方法
CN109416918A (zh) 库到库数据传送
CN111694514A (zh) 用于处理运算的存储器设备及操作该存储器设备的方法
US8209497B2 (en) Multi-port memory and system using the same
KR20110059712A (ko) 메모리 모듈 및 메모리 모듈 제어 방법
CN100419901C (zh) 具有用于读写操作的不同突发顺序寻址的存储器件
KR102548599B1 (ko) 버퍼메모리를 포함하는 메모리 장치 및 이를 포함하는 메모리 모듈
US11355181B2 (en) High bandwidth memory and system having the same
KR100582821B1 (ko) 멀티-포트 메모리 소자
CN105408875A (zh) 在存储器接口上的分布式过程执行和文件系统
KR101533685B1 (ko) 다중 프로세서용 메모리 장치 및 이를 포함하는 메모리 시스템
US20200194046A1 (en) Low power memory device with column and row line switches for specific memory cells
US11755220B2 (en) Adjustable access energy and access latency memory system and devices
KR20090005786A (ko) 메모리 사용확장 기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치 및 그에 따른 메모리 사용확장 방법
EP3452912A1 (en) Memory component with efficient write operations
KR20080063531A (ko) 융통성있는 dram 아키텍처를 위한 시스템, 장치 및방법
CN107845401B (zh) 阻变存储装置
KR20110041613A (ko) Dram 인터페이스와 공유 메모리 영역을 통한 비휘발성 메모리 장치와 자기 기록 매체에 접근할 수 있는 장치
CN115933967A (zh) 具有多个输入/输出接口的存储器装置
JP2005235248A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1152807

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1152807

Country of ref document: HK