在具有至少两个处理单元和用于数据和/或指令的至少一个第一存储器或存储器区域的...的制作方法

文档序号:6568542阅读:211来源:国知局
专利名称:在具有至少两个处理单元和用于数据和 /或指令的至少一个第一存储器或存储器区域的 ...的制作方法
在具有至少两个处理单元和用于数据和/或指令的至少一个第一存 储器或存储器区域的计算机系统中存储数据和/或指令的设备和方法本发明涉及一种具有高速緩冲存储器(Cache)的微处理器系统, 并在该上下文中说明一种双端口Cache。现有技术处理器配备有Cache,以便加速对指令和数据的存取。这一方面对 于持续增加的数据量而言、另一方面对于利用越来越快工作的处理器 的数据处理的日益增加的复杂性而言是必要的。通过Cache部分地避免 对大的(主)存储器的緩慢存取,并且于是处理器不必等待数据准备 就绪。无论是仅用于指令的Cache还是仅用于数据的Cache都是公知的, 但"统一的Cache,,也是公知的,在所述统一的Cache情况下,不仅数 据、而且命令都净皮存放在同一Cache中。带有多等级(层级)Cache的 系统也是公知的。使用这种多级Cache,用以利用分级的存储器大小和 Cache在不同等级上的不同类型的编址策略对处理器和(主)存储器之 间的速度进行最佳匹配。在多处理器系统中常见的是,给每个处理器配备一个Cache,或者 在多级Cache的情况下配备相应多个Cache。但存在多个Cache的系统也 是公知的,其中所述多个Cache可由不同的处理器来编址,如在美国专 利4345309中所记栽的那样。如果在具有对每个处理单元固定分配的Cache的多处理器系统中 至少部分地使用相同的指令、程序段、程序或数据,那么每个处理单 元都必须将上述相同的指令、程序段、程序或数据从主存储器加载到 分配给其的Cache中。在这种情况下,如果两个或多个处理器要存取主 存储器,则也许出现总线冲突。这导致多处理器系统的性能损耗。如 果存在多于一个的处理器分别所存取的多个公共Cache,并且两个处理 器需要来自这些Cache之一的相同或也不同的数据,那么由于存取沖突 而必须决定,哪一个处理器能首先存取,而另一处理器则必须不可避 免地等待。如果使用总线系统用于Cache,所述总线系统同时允许也对 不同的Cache的仅一次存取,则同样的甚至适用于不同的数据和指令。如果处理器分别具有固定分配的Cache并且此外所述处理器可在 处理器系统的不同工作模式下切换,其中所述处理器或者执行不同的 程序、程序段或指令(性能模式)、或者执行相同的程序、程序段或 指令并对结果进行比较或者表决(比较模式),那么当在工作模式之 间切换时在每个控制器的并行Cache中的数据或指令或者必须被清除, 或者所述数据或指令在对Cache加载时必须被配备相应工作模式的相 应信息,所述信息信息优选地与数据一起被存储。因此,在工作期间 可在不同的工作模式之间切换的多处理器系统中,如果只有一个公共 的(必要时按等级划分的)Cache并且每个数据或每个指令仅被存放到 其中一次且可同时存取该Cache,则是特别有利的。因此本发明的任务 是设计这种存储器。本发明的任务是提供装置和方法,用于优化Cache的大小。发明优点将Cache存储器实现为双端口 Cache由于提高的硬件耗费在具有一 个或多个执行单元(单核或多核)的公知处理器系统中是难以设想的。 在多个执行单元(核、处理器)以可变的方式、即在不同的工作模式 下相互协作(如在DE 103 32 700A1所记载的那样)的多处理器结构体 系中,可以有利地采用双端口Cache结构体系。相比于具有多个Cache 的多处理器系统,主要优点在于,在多处理器系统的工作模式之间切 换时Cache的内容不必被清除或者被宣告无效,因为数据只被存放一次 并因此即使在切换之后也保持相容(konsistent)。在具有多种工作模式的多处理器系统中的双端口Cache的优点在 于数据/指令不必多次被取到Cache中和必要时被维护,只需按硬件 提供每数据/指令一个存储器位置,即使该数据或该指令被多个执行单 元使用,在多处理器系统的不同工作模式时不必对数据进行如下区分, 即所述数据在哪种模式下被处理或取出,在变换工作模式时不必清除 Cache,两个处理器可同时以读的方式存取相同的数据/指令,代替"直 写(write through ),,模式也可以采用"回写(writeback)"模式用 于Cache,所述"回写,,模式特别是在写时是更时间有利的,因为不必 持续地更新(主)存储器,而是只有在重写Cache中的数据时才更新; 不存在相容性问题,因为用于两个处理器的Cache从相同的源提供数据。如果在用于在具有至少两个处理单元和用于数据和/或指令的至少一个第一存储器或存储器区域的计算机系统中存储数据和/或指令的设 备中包含第二存储器或存储器区域,则该设备是有利的,其中该设备被构造为Cache存储器系统并装备有至少两个分开的端口 ,并且所述至 少两个处理单元通过所述端口对第二存储器或存储器区域的相同或不 同的存储器单元进行存取,其中来自第一存储器系统的数据和/或指令 以块的方式被緩存。此外,如果存在装置,其中所述装置如此被设计,使得通过至少 两个端口同时对存储器单元进行读存取,则这种设备是有利的。此外,如果在该设备中存在装置,其中所述装置如此被设计,使 得通过至少两个端口同时对两个不同的存储器单元进行读存取,则是 有利的。此外,如果在该设备中存在装置,其中利用所述装置在通过至少 两个端口同时对同一或对两个不同的存储器单元读存取时, 一个端口 在存取中被延迟,直至另一端口已经结束存取为止,则是有利的。此外,如果在该设备中存在装置,其中利用所述装置可以对至少 两个端口上的存取地址进行比较,则是有利的。此外,如果在该设备中存在装置,其中所述装置识别通过第一端口对存储器单元或存储器区域的写存取,并且将通过第二端口对这些存储器单元和/或这些存储器区域的写和/或读存取阻碍或延迟,直至通 过第一端口的写存取结束为止,则是有利的。此外,如果在该设备中存在装置,其中所述装置在通过至少一个 端口读存取时检验,所希望的数据是否存在于第二存储器或存储器区域中,则是有利的。此外,如果在该设备中存在装置,用以对第一存储器或存储器区 域进行编址,并且如果通过第一端口所请求的数据不存在于第二存储 器或存储器区域中,则将存储器内容以块的方式从所述第一存储器或 存储器区域传输到笫二存储器或存储器区域中,则是有利的。此外,如果在该设备中存在地址比较器,则是有利的,其中所述 地址比较器确定,应该通过第二端口对由第一处理单元通过第一端口 所请求的存储器块中的至少一个存储器单元进行存取。此外,如果在该设备中存在装置,其中所述装置只有在第二存储 器或存储器区域中的数据被更新时才能够实现对存储器单元的存取, 则是有利的。此外,如果在该设备中第二存储器或存储器区域被划分成至少两 个可相互独立地被读或写的地址区域,则是有利的。此外,如果在该设备中存在地址解码器,则是有利的,所述地址 解码器产生选择信号,所述选择信号在通过多个端口对一个地址区域 同时存取时仅允许一个端口存取并且特别是通过等待信号来禁止或延 迟至少一个其它端口的存取。此外,如果在该设备中设有多于两个的端口,则是有利的,其中 存在选择装置,并且通过所述选择装置以多级的方式对相互独立的地 址区域进行存取,并且为此通过所述级转发选择信号。此外,如果在该设备中存在至少一个模式信号,该模式信号对不 同端口的存取进行切换,则是有利的。此外,如果在该设备中存在至少一个配置信号,该配置信号对不 同端口的存取进行切换,则是有利的。此外,如果在该设备中借助于n个不同的地址区域实现n重联合的 Cache,则是有利的。此外,如果在该设备中存在装置,所述装置在对第二存储器的存 储器单元或存储器区域写存取时将待写的数据同时写入第一存储器或 存储器区域中,则是有利的。此外,如果在该设备中存在装置,所述装置在对第二存储器的存 储器单元或存储器区域写存取时将待写的数据以延迟的方式写入第一 存储器或存储器区域中,则是有利的。有利的是,说明一种用于在具有至少两个处理单元和用于数据和/ 或指令的至少一个第一存储器或存储器区域的计算机系统中存储数据 和/或指令的方法,其特征在于,在设备中含有第二存储器或存储器区 域,其中该设备被构造为Cache存储器系统并配备有至少两个分开的端 口,并且至少两个处理单元通过所述端口对第二存储器或存储器区域 的相同的或不同的存储器单元进行存取,其中来自第一存储器系统的 数据和/或指令以块的方式被緩存。有利的是,说明一种方法,其特征在于,为了从第二存储器或存储器区域读数据和/或为了将数据写到第二存储器或存储器区域中,处 理单元通过两个端口对第二存储器或存储器区域的相同的或不同的存 储器单元进行并行存取,并同时通过两个端口对相同的存储器单元进 行读。有利的是,说明一种方法,其特征在于,对施加在两个端口上的 地址进行比较。有利的是,说明一种方法,其特征在于,识别通过第一端口对第 二存储器或存储器区域和/或第二存储器或存储器区域的存储器单元的 写存取,并且通过第二端口对所述第二存储器或存储器区域的写和读 存取被禁止和/或延迟直至通过第一端口的写存取结束为止。有利的是,说明一种方法,其特征在于,在通过至少一个端口读 存取时检验,所希望的数据和/或指令是否存在于第二存储器或存储器 区域中。有利的是,说明一种方法,其特征在于,借助于地址信息进行检验。有利的是,说明一种方法,在通过第一端口所请求的数据不存在 于第二存储器或存储器区域中的情况下,促使相应的存储器块从第一 存储器装置传输到第二存储器或存储器区域中。有利的是,说明一种方法, 一旦所请求的存储器块已被传输到第 二存储器或存储器区域中,关于数据和/或指令的存在的所有信息就被 更新。有利的是,说明一种方法,其特征在于,地址比较器确定,第二 处理单元要对由第一处理单元所请求的存储器块中的至少一个存储器 单元进行存取。有利的是,说明一种方法,其特征在于,只有在关于数据和/或指 令的存在的相关信息被更新时才能够实现对所述存储器单元的存取。有利的是,说明一种方法,其特征在于,第二存储器或存储器区 域被划分成至少两个地址区域,并且所述至少两个地址区域可以通过 第二存储器或存储器区域的至少两个端口相互独立地被读或写,其中 每个端口都可以对每个地址区域进^f亍存取。有利的是,说明一种方法,其特征在于,对地址区域的同时存取 被限制于恰好一个端口,并且在第一端口的存取期间,通过其它端口对该地址区域的所有其它存取请求特别是通过等待信号被禁止或延 迟。有利的是,说明一种方法,其特征在于,在对第二存储器的存储 器单元或存储器区域进行写存取时,待写的数据被同时写入第一存储 器或存储器区域中。有利的是,说明一种方法,其特征在于,在对第二存储器的存储 器单元或存储器区域进行写存取时,待写的数据以延迟的方式被写入 第一存储器或存储器区域中。其它优点和有利的扩展方案由权利要求的特征以及说明书得到。附图和表格图l示出用于数据和/或指令的双端口 Cache; 图2进一步详细地示出双端口 Cache; 图3示出用于地址变换的装置和方法;图4示出将双端口RAM划分成两个部分区域,所述两个部分区域可 相互独立地,皮运行,并且利用每个端口的每两个单独的选择信号在存 取中被控制;图5示出通过单端口RAM借助端口切换来实现双端口RAM区域; 图6示出具有p个端口的多端口 RAM被划分成可并4亍处理的多个部分地址区域l...q;图7示出通过单端口RAM借助端口切换来实现多端口RAM区域;图8示出根据系统状态或配置划分用于端口的RAM区域;图9示出根据系统状态或配置通过产生相应的选择信号来将多端口RAM划分成区域;

图10示出利用多重联合存取将多端口 RAM划分成区域;表1示出通过解码由2个地址位产生4个选择信号;表2示出在考虑系统状态或配置信号M的情况下由 一个地址位在每个端口上产生分别两个选择信号;表3在另一实施方案中示出在考虑系统状态或配置信号M的情况下由一个地址位在每个端口上产生分别两个选择信号。对实施例的说明下面,处理单元或执行单元不仅可以表示处理器/核/CPU、而且也 可以表示FPU (浮点单元)、DSP (数字信号处理器)、协处理器或 ALU (算术逻辑单元)。根据图1的双端口 Cache200对于重要部分由双端口 RAM( dpRAM , 230)组成。该dpRAM 230优选地配备有两个相互独立的地址解码器、 两个数据写/读级,并且不同于简单的存储器单元矩阵,还配备有加倍 的字和位线,使得至少对dpRAM的任意存储器单元的读过程可由两个 端口同时进行。(但如果并非所有的存取元件都被加倍并且dpRAM因 此只能有条件地同时通过两个端口来存取,那么从意义上说该布置也 适用)。因此双端口RAM是每个具有两个端口231和232的RAM,所述 两个端口可相互独立被使用,而无需考虑处理用于由该端口读或写的 请求需要多少时间、即直至所请求的读或写过程(必要时还与另一端 口的请求相互影响)结束要持续多久。dpRAM的两个端口通过信号201 或202与装置210或220连接,所述装置对来自独立处理单元215和225的 到达的地址、数据和控制信号211或221进行检验并可选地变换地址。 数据在读时按照端口经由201通过210被输出到211上,或经由202通过 220被输出到221上,或者在分别相反的方向上从执行单元被写入到 Cache存储器中。dpRAM的两个端口通过信号201或202与总线存取控 制装置240连接,所述总线存取控制装置与信号241连接,所述信号241 建立至这里未示出的(主)存储器或至下一级的Cache的连接。在图2中更详细地示出单元210、 220和250。在存取双端口Cache 时,处理单元215和225的在信号211和221中所含有的地址212和222在装 置250的地址比较器251中被相互比较,并且与同样在211和221中所传 输的控制信号一起被检验兼容性。在冲突的情况下,借助在信号213或 223中所含有的控制信号来防止对双端口RAM230的存取。这种冲突可 能是,两个处理单元要对相同的地址写,或者一个处理单元写而另一 个处理单元将要从相同的地址读。Cache可以以部分或完全联合的方式被实施,即数据可以被存放在 Cache的多个位置或者甚至任意位置上。为了能够实现对dpRAM的存 取,为此必须首先确定该地址,其中通过该地址可以存取所希望的数 据/指令。根据编址模式选出一个或多个块地址,借助所述块地址在 Cache中搜索数据。对所有这些块读,并且对与数据一起存储在Cache中的标识与索引地址(Index-Adresse )(原始地址的一部分)进行比 较。在一致的情况下并且在借助同样存储在每个块的Cache中的控制位 (例如有效位、页面重写标志位(Dirty-Bit)和过程(Prozess ) ID) 附加地检验有效性之后,产生显示有效性的Cache命中信号(Cache Hit Signal)。为了变换地址,优选地使用表格,该表格被布置在图2所示的存储 器单元214或224 (寄存器或RAM,也称为TAG-RAM)中并位于单元 210或220中。该表格是地址变换单元,该地址变换单元不仅将虚拟地 址变换成物理地址,而且在直接映射Cache情况下提供准确的(明确的) Cache存取地址;在多重联合的Cache组织情况下起动(ansprechen ) 多个块,而在完全联合的Cache情况下必须读且比较Cache的所有块。 例如美国专利4669043中记载了这种地址变换单元。例如,在块的每个地址或地址组的上述表格中存储dpRAM的存取 地址。以图3所示的编址方式,为此根据Cache的块大小将表格的有效 地址位(索引地址)用作地址,而内容是dpRAM的存取地址(图3)。 在此,将字节的数量称为块,其中如果从该区域以读的方式存取地址, 所述字节在Cache未命中(Cache Miss ) ( Cache中的所需数据丢失) 的情况下共同从存储器被取到Cache中。为了按字节或字存取Cache,利用表格来变换对块有效的地址位, 而不变地采用余下的(低值的)地址位。对于写过程,例如为两个端口中的一个设立较高的优先权,也就 是说,防止由两个端口同时写。只有当优先端口已经执行了写操作时, 另 一端口才允许写;而且必要时只有一个处理器具有对相应所分配的 存储器区域的写权限。同样可以在对存储器单元任意写操作时防止相 同的存储器单元由分别另一端口读,或者可以通过使具有读愿望的处 理器中止直至写操作结束为止来延迟读操作。为此,给所有地址位的 在图2中所示的地址比较器(251)设有相应的判优器252,该判优器还 对处理器的控制信号进行分析并形成控制所述流程的输出信号213和 223。在一种有利的实施方案中,输出信号213和223可以分别采取至少 三种信号状态使能(enable)、等待(wait)、相等(equal),其中 使能允许存取,等待将引起延迟,而相等则表明,由两个端口对同一 存储器区域进行存取。对于纯命令Cache来说,无需写存取;在这种情况下,信号状态"相等"对于输出信号213和223来说就足够了。在Cache未命中的情况下,数据或指令必须经由总线系统从程序或 数据存储器中被取出。到达的数据被转发至处理单元,并与标识和控 制位一起并行地被写入Cache中。如果不存在命中却由地址比较器显示 信号"相等,,(213和223的组成部分或状态),则地址比较器这里也 防止再次从存储器取数据。在双侧读的情况下,信号"相等,,只由有 效(signifikant)地址位构成,因为整个块始终从存储器中被取得。只 有在块被存储在Cache中时,等待的处理单元才可以存取Cache。在另一有利的实施方案中,为数据和指令设置两个分开的双端口 Cache,其中在后者情况下通常可以不设置写过程。在这种情况下,地 址比较器始终只对有效地址位的相等性进行检验,并在信号213或223 中提供相应的控制信号"相等"。此外可能的是,只有在所请求的数据存在于可实现同时存取的不 同地址区域中时,两个端口的同时读存取才不受限制地起作用。由此 可以在硬件实现时节省支出,因为并非存储器中的所有存取机制都必 须被加倍。例如可以在可相互独立运行的多个部分存储器区域中实现 Cache。每个部分存储器都可以通过选择信号仅实现一个端口的执行。 在图4中示出包含两个部分存储器区域235和236的这种存储器230。在 此处所示的实施例中,两个选择信号Eo和Ei如此由地址位Ai构成,4吏得 Efl且E产O适用于情况A产O和EtpO且E尸l适用于情况A产1。于是在信 号233和234中含有两个选择信号和低值的地址位Aw…Ao。对于具有四个部分存储器的另一实施例来说,可由两个地址位产生4个选择信号,因为每个部分存储器都明确地服务于确定的地址区 域。因此可以利用2个地址位Aw和Ai来起动四个部分存储器区域,其 方式为,根据表格l的二进制值产生四个选择信号En至E3。在图5中为图4所示的部分存储器235和236示出实施例。在那里用 260表示的部分存储器在该特殊的实施方案中被实施为单端口RAM 280,该单端口RAM的地址、数据控制信号根据请求被切换。该切换 通过控制电路270借助于多路复用器275根据选择信号和相应端口的其 它控制信号2901或2902 (例如读、写)来进行。这些信号与数据和地 址一起包含在信号233或234中并经由5281或5282被输送给多路复用器 275,该多路复用器视控制电路270的决定根据输出信号2701将5281或5282与信号2801连接。在该实例中,在不限制一般性的情况下,以Cache 的直接编址为出发点(直接映射)。如果存在多重联合的Cache组织, 则必须或者在单元275中还对有效性进行比较并将Cache命中信号转发 至端口 ,或者将所有数据都经由端口5331和信号233转发至231或经由 端口5332和信号234转发至232,在231或232中检验有效性。在此,控制电路可以将信号5281或5282转接到2801上并由此转接 至单端口RAM 280以及也可以从280在相反的方向上转发数据和其它 信号。这根据有效的选择信号和信号233和234和/或以下顺序来进行, 其中端口以所述顺序通过这些信号引起与存储器280的读或写操作。如 果在信号233和234中这些读或写信号同时被激活,那么先前定义的端 口首先被操作。即使没有读或写信号被激活,该优选端口也保持与2801 连接。作为替代方案,优选端口也可以动态地由处理器系统优选地根 据处理器系统的状态信息来确定。具有单端口 RAM的这种布置要比具有并行存取可能性的双端口 RAM成本低,但如果同时(也即以读的方式)存取一个部分存储器, 则会延迟至少一个处理单元的执行。根据应用现在可能的是,如此对 RAM部分区域进行不同的划分,使得与指令流程的设计和不同处理单 元的数据存取一起尽可能少地出现对相同的部分RAM区域的同时存 取。这种布置也可扩展为多于两个的处理器的存取如果通过多路复 用器分级地依次设置对地址、数据和控制信号的切换,也可以以相同 的方式实现多端口RAM (图6和7)。在图6中示出了这种多端口RAM290。在那里,端口输入信号261、262..... 267在解码装置331、 332..... 337中被解码成信号291、 292.....297。该解码产生用于存取281、 282和288中的各个RAM的选择信号。 在图7中更详细地示出了部分存储器28x ( 281、…、288 )的实施例。在那里,在控制装置370的第一级中,来自控制信号291、 292..... 298的选择信号和控制信号3901、3902.....3908被处理成输出信号3701、…、3707。这些输出信号分别控制一个多路复用器375,所述多路复用器根 据信号值建立总线381或382至387或388与信号481、…、488的连接。在 其它级中,类似的控制装置370和多路复用器375被相应地接入,直到 在最后一级中信号5901和5902被用于控制装置。于是输出信号5701使 581或者582与681连接,所述681与单端口 RAM连接。与图5的多路复用器275相反,图7的多路复用器375除了地址信号、 数据信号和控制信号外还连接在381、 382、…、388中所含有的下级选 择信号。此外在375中可以含有比较装置,所述比较装置在多重联合的 编址方式情况下确定从部分区域所读出的数据的有效性。在另一有利的实施方案中,可以使RAM区域对不同的处理单元的 接通与一种或多种系统状态或配置相关。为此在图8中示出了可配置的 双端口Cache的实例。为此,系统模式或配置信号IOOO在对输入信号解 码时用于两个端口中的每一个。表2示出才艮据该信号1000来改变解码的 可能性,所述信号这里用M表示。如果1\1=0,那么例如存在比较模式, 在所述比较模式中两个端口对整个Cache进行存取。但如果M-1 (例如 性能模式),那么每个端口只还对Cache的一半进行存取,但每个端口 可以不受限制地(不受其它端口上的活动影响)存取该区域。在这种 模式下,地址位Aj不被用于(在直接映射模式下)对Cache编址,而是 在编址中区别仅在于该位的数据在相同的位置被存放在Cache中。于是 只有在读Cache内容时才能根据标识查明是否是所搜索的数据并相应 地产生Cache命中信号。根据相应的比较器布置在何处,可以将包括标识和控制位在内的数据经由信号291、 292..... 297输出给端口331、332、…、337并且继续输出信号261、 262..... 267。同样可以在性能模式(M=l)下只允许端口l存取整个Cache。在表3中示出了这种实施 方案。用户也可以通过多个配置信号对Cache进行任意的其它划分。在 较大的Cache区域情况下,这将允许较高的命中率,并由此减少从主存 储器中取数据的必要性。另一方面,如果通过不同的端口尽可能只对 相互独立的Cache区域进行存取,则不妨碍不同的处理单元。因为这些 条件取决于为应用所设置的程序,所以如果根据应用存在其它配置的 可能性,则是有利的。另一方面,可以直接在系统状态(比较模式/性 能模式)转变时自动地通过模式信号1000来切换Cache。根据模式或配置信号来切换端口的这种可能性在图9中被扩展为多端口Cache290。在此,331、 332..... 337是端口 ,所述端口借助于该模式或配置信号来控制不同的部分RAM区域281、 282、…、288的接 通。这种控制通过相应地在端口中所产生的选择信号得以保证,其中 所述选择信号包含在信号291、 292..... 297中。如果存在多重联合Cache,则在图10中示出另 一实施方案,其中从每个部分存储器281、 282..... 288中与标识和控制位一起回读数据。然后在比较装置2811、 2812、…、2817、 2821、 2822、…、2827、…、 2881、 2882、…、2887中检验有效性并据此将数据与有效性信号一起 转发到信号2910、 2920、…、2970上。在此可选地与图9中已经示出和 描述的完全相同地能够利用模式或配置信号切换。在端口3310、 3320、…、3370中对有效性信号和必要时模式和配置信号1000进行分 析并将相应的有效数据与Cache命中信号或Cache未命中信号一起转发给信号2610、 2620..... 2670。代替RAM存储器,本发明的布置也可以采用诸如MRAM、FERAM 等其它存储器技术来示出。
权利要求
1.用于在具有至少两个处理单元和用于数据和/或指令的至少一个第一存储器或存储器区域的计算机系统中存储数据和/或指令的设备,其特征在于,在所述设备中含有第二存储器或存储器区域,其中所述设备被构造为Cache存储器系统并配备有至少两个分开的端口,至少两个处理单元通过这些端口对第二存储器或存储器区域的相同的或不同的存储器单元进行存取,其中来自第一存储器系统的数据和/或指令以块的方式被缓存。
2. 如权利要求l所述的设备,其特征在于,存在装置,所述装置如 此被设计,使得通过所述至少两个端口同时对存储器单元进行读存取。
3. 如权利要求l所述的设备,其特征在于,存在装置,所述装置如 此被设计,使得通过所述至少两个端口同时对两个不同的存储器单元 进行读存取。
4. 如权利要求l所述的设备,其特征在于,存在装置,利用所述装 置在通过所述至少两个端口同时对相同的或对两个不同的存储器单元 进行读存取时, 一个端口在存取中被延迟直至另一端口已结束存取为 止。
5. 如权利要求l所述的设备,其特征在于,存在装置,利用所述装 置可以对所述至少两个端口上的存取地址进行比较。
6. 如权利要求l所述的设备,其特征在于,存在装置,所述装置识 别通过第一端口对存储器单元或存储器区域的写存取,并且将通过第 二端口对所述存储器单元和/或所述存储器区域的写和/或读存取阻碍 或延迟直至通过所述第一端口的写存取结束为止。
7. 如权利要求l所述的设备,其特征在于,存在装置,所述装置在 通过至少一个端口读存取时检验,所希望的数据是否存在于所述第二 存储器或存储器区域中。
8. 如权利要求l所述的设备,其特征在于,存在装置,用以对所述 第一存储器或存储器区域进行编址,并且如果通过第一端口所请求的 数据不存在于第二存储器或存储器区域中,则将存储器内容以块的方 式从所述第一存储器或存储器区域传输到所述第二存储器或存储器区 域中。
9. 如权利要求8所述的设备,其特征在于,存在地址比较器,该地址比较器确定,应该通过第二端口对由第一处理单元通过所述笫一端 口所请求的存储器块中的至少一个存储器单元进行存取。
10. 如权利要求9所述的设备,其特征在于,存在装置,所述装置 只有在所述第二存储器或存储器区域中的数据被更新时才可以实现对 存储器单元的存取。
11. 如权利要求l所述的设备,其特征在于,所述第二存储器或存 储器区域被划分成至少两个可相互独立地被读或写的地址区域。
12. 如权利要求ll所述的设备,其特征在于,存在地址解码器,所 述地址解码器产生选择信号,所述选择信号在通过多个端口对一个地 址区域同时存取时仅允许一个端口存取并且特别是通过等待信号来禁 止或延迟至少一个其它端口的存取。
13. 如权利要求12所述的设备,其特征在于,设有多于两个的端口, 其中存在选择装置并且通过所述选择装置以多级的方式对相互独立的 地址区域进行存取,并且为此通过这些级转发选择信号。
14. 如权利要求ll、 12或13所述的设备,其特征在于,存在至少一 个模式信号,该模式信号对不同端口的存取可能性进行切换。
15. 如权利要求ll、 12或13所述的设备,其特征在于,存在至少一 个配置信号,该配置信号对不同端口的存取可能性进行切换。
16. 如权利要求ll、 12或13所述的设备,其特征在于,借助于n个 不同的地址区域实现n重联合的Cache。
17. 如权利要求l所述的设备,其特征在于,存在装置,所述装置 在对所述第二存储器的存储器单元或存储器区域进行写存取时将待写 的数据同时写入所述第一存储器或存储器区域中。
18. 如权利要求l所述的设备,其特征在于,存在装置,所述装置 在对所述第二存储器的存储器单元或存储器区域进行写存取时将待写 的数据以延迟的方式写入所述第一存储器或存储器区域中。
19. 用于在具有至少两个处理单元和用于数据和/或指令的至少一 个第一存储器或存储器区域的计算机系统中存储数据和/或指令的方 法,其特征在于,在设备中含有第二存储器或存储器区域,其中所述 设备被构造为Cache存储器系统并配备有至少两个分开的端口 ,并且至 少两个处理单元通过这些端口对第二存储器或存储器区域的相同的或 不同的存储器单元进行存取,其中来自所述第一存储器系统的数据和/或指令以块的方式被緩存。
20. 如权利要求19所述的方法,其特征在于,为了所述第二存储器 或存储器区域读数据和/或为了将数据写入所述第二存储器或存储器区 域中,处理单元通过所述两个端口对所述第二存储器或存储器区域的 相同的或不同的存储器单元进行并行存取,并同时通过两个端口对相 同的存储器单元进行读。
21. 如权利要求19或20所述的方法,其特征在于,对施加在所述两 个端口上的地址进行比较。
22. 如权利要求19或20所述的方法,其特征在于,识别通过第一端 口对所述第二存储器或存储器区域和/或所述第二存储器或存储器区域 的存储器单元的写存取,并且将通过第二端口对所述第二存储器或存储器区域的写和读存取阻碍和/或延迟直至通过所述第一端口的写存取 结束为止。
23. 如权利要求19或20所述的方法,其特征在于,在通过至少一个 端口读存取时检验,所希望的数据和/或指令是否存在于所述第二存储 器或存储器区域中。
24. 如权利要求23所述的方法,其特征在于,借助于地址信息进行 检验。
25. 如权利要求23所述的方法,其特征在于,在通过第一端口所请 求的数据不存在于第二存储器或存储器区域中的情况下,促使相应的 存储器块从第一存储器装置传输到所述第二存储器或存储器区域中。
26. 如权利要求23所述的方法,其特征在于, 一旦所请求的存储器 块被传输到所述第二存储器或存储器区域中,关于数据和/或指令的存 在的所有信息就被更新。
27. 如权利要求23所述的方法,其特征在于,地址比较器确定,第 二处理单元要对由笫一处理单元所请求的存储器块中的至少一个存储 器单元进行存取。
28. 如权利要求27所述的方法,其特征在于,只有在关于数据和/ 或指令的存在的相关信息已被更新时,才能够实现对所述存储器单元 的存取。
29. 如权利要求19或20所述的方法,其特征在于,所述第二存储器 或存储器区域被划分成至少两个地址区域,并且所述至少两个地址区域可以通过所述第二存储器或存储器区域的至少两个端口相互独立地 被读或写,其中每个端口都可以对每个地址区域存取。
30. 如权利要求29所述的方法,其特征在于,对地址区域的同时存 取被限制于恰好一个端口,在所述第一端口的存取期间,通过其它端 口对该地址区域的所有其它存取请求特别是通过等待信号被禁止或延 迟。
31. 如权利要求19或20所述的方法,其特征在于,在对所述第二存 储器的存储器单元或存储器区域进行写存取时,待写的数据被同时写 入所述第一存储器或存储器区域中。
32. 如权利要求19或20所述的方法,其特征在于,在对所述第二 存储器的存储器单元或存储器区域进行写存时,待写的数据以延迟的 方式被写入所述第一存储器或存储器区域中。
全文摘要
用于在具有至少两个处理单元和用于数据和/或指令的至少一个第一存储器或存储器区域的计算机系统中存储数据和/或指令的设备和方法,其特征在于,在所述设备中含有第二存储器或存储器区域,其中所述设备被构造为Cache存储器系统并配备有至少两个分开的端口,并且至少两个处理单元通过所述端口对第二存储器或存储器区域的相同的或不同的存储器单元进行存取,其中来自第一存储器系统的数据和/或指令以块的方式被缓存。
文档编号G06F12/08GK101243416SQ200680029539
公开日2008年8月13日 申请日期2006年7月25日 优先权日2005年8月8日
发明者B·米勒, E·博尔, R·格默利克, R·韦伯尔, Y·科拉尼 申请人:罗伯特·博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1