CN101243415A - 用于在具有至少两个处理单元和用于数据和/或指令的至少一个第一存储器或存储器区域的计算机系统中存储数据和/或指令的方法和设备 - Google Patents

用于在具有至少两个处理单元和用于数据和/或指令的至少一个第一存储器或存储器区域的计算机系统中存储数据和/或指令的方法和设备 Download PDF

Info

Publication number
CN101243415A
CN101243415A CNA2006800294013A CN200680029401A CN101243415A CN 101243415 A CN101243415 A CN 101243415A CN A2006800294013 A CNA2006800294013 A CN A2006800294013A CN 200680029401 A CN200680029401 A CN 200680029401A CN 101243415 A CN101243415 A CN 101243415A
Authority
CN
China
Prior art keywords
memory
data
access
signal
cache
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.)
Pending
Application number
CNA2006800294013A
Other languages
English (en)
Inventor
R·韦伯尔
B·米勒
E·博尔
Y·科拉尼
R·格默利克
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN101243415A publication Critical patent/CN101243415A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • 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
    • 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/0853Cache with multiport tag or data arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

用于在具有至少两个处理单元和用于数据和/或指令的至少一个第一存储器或存储器区域的计算机系统中存储数据和/或指令的方法和设备,其中设有切换装置,并且在至少两种工作模式之间进行切换,其中设有比较装置,并且第一工作模式相应于比较模式,第二工作模式相应于性能模式,其特征在于,在设备中含有第二存储器或存储器区域,其中该设备被构造为Cache存储器系统并配备有至少两个分开的端口,并且至少两个处理单元通过所述端口对第二存储器或存储器区域的相同的或不同的存储器单元进行存取,其中来自第一存储器系统的数据和/或指令以块的方式并且在切换时被缓存。

Description

用于在具有至少两个处理单元和用于数据和/或指令的至少一个第一存储器或存储器区域的计算机系统中存储数据和/或指令的方法和设备
本发明涉及具有高速缓冲存储器(Cache)的微处理器系统,并在本上下文中说明一种双端口Cache。
现有技术
由现有技术中已公知带有至少两个集成核(CPU)的微控制器。这些微控制器也称为双核或多核系统。在此至少两个核冗余地并且时钟同步地执行相同的程序、程序段或指令,对两个核的结果进行比较,然后在比较时将根据一致性识别误差。下面将多核系统的这种配置称为比较模式。
双核或多核结构在其它应用中也用于提高性能。两个核执行不同的程序、程序段和指令,由此可以实现效率提高,因此多核系统的这种配置被称为效率模式或性能模式。该系统也称为对称多处理器系统(SMP)。
可以通过切换来实现所述系统的扩展,也就是说,可以根据多处理器系统的应用目的使该系统在比较模式或性能模式下工作。在比较模式下对核的输出信号进行相互比较。在不同时输出误差信号。在性能模式下两个核作为一个对称多处理器系统(SMP)来工作,并执行不同的程序、程序段或指令。比较单元在该模式下是未激活的。该扩展所基于的假设在于,并非所有的程序段都是安全临界的,并且对于这些程序段来说,已有的部件不能被用于发现误差,而是用于提高性能。
在具有至少两个执行单元的这种多处理器系统的所述两种模式之间可以以通过软件控制的方式在运行中动态地进行切换。
多处理器从确定的时钟频率起配备有高速缓冲存储器(Cache),以便加速对指令和数据的存取。这一方面对于持续增加的数据量而言、另一方面对于利用越来越快工作的处理器的数据处理的日益增加的复杂性而言是必要的。以这种存储器技术来实现Cache,所述Cache能够实现对存储器内容的高速存取并且在空间上安装在处理器的附近。在Cache中缓存有来自主存储器的数据和/或指令的部分量。通过使用Cache存储器部分地避免或减少对大的(主)存储器的缓慢存取,并且于是处理器不必等待数据由主存储器延迟地准备就绪。不仅仅用于指令的Cache、而且仅用于数据的Cache都是公知的,但“统一的Cache”也是公知的,在所述“统一的Cache”中,不仅数据、而且指令都被存放在同一Cache中。带有多等级(层级)Cache的系统也是公知的。这种多级Cache用于利用分级的存储器大小和Cache在不同等级上的不同类型的编址策略对处理器和(主)存储器之间的速度进行最佳匹配。
在由现有技术公知的多处理器系统中常见的是,给每个处理器配备Cache,或者在多等级Cache的情况下配备相应多个按等级划分的Cache。如果处理器分别具有固定分配的Cache,并且此外这些处理器可在处理器系统的不同工作模式下切换,其中这些处理器或者执行不同的程序、程序段或指令(性能模式)、或者执行相同的程序、程序段或指令并对结果进行比较(比较模式),因此在工作模式之间切换时在每个控制器的并行Cache中的数据或指令或者必须被清除,或者所述数据或指令在对Cache加载时必须被配备相应工作模式的相应信息,该信息优选地与数据一起被存储。
本发明的任务是,提供装置和方法,用于优化Cache的大小和加速在性能模式与比较模式之间的切换过程。
发明优点
在运行期间可在不同工作模式之间切换的多处理器系统中,如果只有一个公共的(必要时按等级划分的)Cache,则是特别有利的。每个数据或每个指令只被存放于其中一次且可同时存取该Cache。
在具有多种工作模式的多处理器系统中,通过使用双端口Cache得到如下优点:
数据/指令不必为了不同的执行单元和/或不同的工作模式而多次被取到Cache中和必要时被维护。
每数据/指令只须按硬件提供一个存储器位置,即使该数据或该指令由多个执行单元和/或在多种工作模式下被使用。
不必对Cache中的数据/指令进行如下区分,即所述数据/指令是否在多处理器系统的不同工作模式下被使用。
不必对Cache中的数据/指令进行如下区分,即所述数据/指令在多处理器系统的哪种工作模式下被处理,和/或所述数据/指令在哪种工作模式下被加载或写到Cache中,和/或所述数据/指令由哪个核请求或写。
在转变工作模式时不必清除Cache,由此必须更不经常地加载Cache内容并减少对主存储器的存取。由此可以比在具有多个Cache的系统中更快地进行切换。
两个处理器可同时以读的方式存取Cache中的相同数据/指令。
代替“直写(write through)”模式也可以采用“回写(write back)”模式用于Cache,所述“回写”模式特别是在写时是更时间有利的,因为不必持续更新(主)存储器,而是只有重写Cache中的数据时才更新;不存在相容性问题,因为用于两个处理器的Cache从相同的源提供数据。
有利地说明一种用于在具有至少两个处理单元和用于数据和/或指令的至少一个第一存储器或存储器区域的计算机系统中存储数据和/或指令的方法,其中设有切换装置,并在至少两种工作模式之间切换,其中设有比较装置,并且第一工作模式相应于比较模式,第二工作模式相应于性能模式,其特征在于,在设备中含有第二存储器或存储器区域,其中该设备被构造为Cache存储器系统并配备有至少两个分开的端口,并且至少两个处理单元通过所述端口对第二存储器或存储器区域的相同的或不同的存储器单元进行存取,其中来自第一存储器系统的数据和/或指令以块的方式被缓存。
有利地说明一种方法,其特征在于,第二存储器或存储器区域被划分成至少两个地址区域,所述至少两个地址区域可以相互独立地被读或写。
有利地说明一种方法,其特征在于,存在地址解码器,所述地址解码器产生使能信号,所述使能信号在通过多个端口对一个地址区域同时存取时仅允许一个端口存取并且特别是通过等待信号来禁止或延迟至少一个其它端口的存取。
有利地说明一种方法,其特征在于,设有多于两个的端口,其中存在选择装置,并且通过所述选择装置以多个级对相互独立的地址区域进行存取,并且为此通过所述级传输使能信号。
有利地说明一种方法,其特征在于,存在至少一个模式信号,该模式信号对不同端口的存取可能性进行切换。
有利地说明一种方法,其特征在于,存在至少一个配置信号,该配置信号对不同端口的存取可能性进行切换。
有利地说明一种方法,其特征在于,两个处理单元预先规定读存取。
有利地说明一种方法,其特征在于,在预先规定通过两个处理单元读存取时对分配给数据和/或指令的标识或存取地址进行比较,且只有在一致时才接通对Cache的读存取。
有利地说明一种方法,其特征在于,在规定读存取时两个处理单元对Cache存储器系统进行存取。
有利地说明一种方法,其特征在于,对在读存取时由两个处理单元所读的数据和/或指令进行比较,并且在偏差时产生信号、特别是误差信号。
有利地说明一种方法,其特征在于,在对第二存储器或存储器区域写存取时,对待写的数据和/或指令进行比较,并且只有当其一致时才写入。
有利地说明一种方法,其特征在于,在写存取时直至数据和/或指令被比较为止,所述处理单元被中止。
有利地说明一种方法,其特征在于,数据和/或指令被写入缓冲存储器或缓冲存储器区域中,并且只有在成功的比较之后才被接收到第二存储器或存储器区域中。
有利地说明一种方法,其特征在于,在对第二存储器或存储器区域写存取时,待写的数据和/或指令只由一个处理单元写,并且根据在区分时并行进行的比较,已写入的数据和/或指令被禁止或被宣告无效。
有利地说明一种方法,其特征在于,禁止或无效宣告通过对至少一个位的置位或复位来进行。
有利地说明一种方法,其特征在于,禁止或无效宣告通过利用其它的、特别是旧的数据和/或指令重写来进行。
有利地说明一种方法,其特征在于,禁止或无效宣告通过删除第二存储器或存储器区域的内容表格的相应项来进行。
有利的是一种用于在具有至少两个处理单元和用于数据和/或指令的至少一个第一存储器或存储器区域的计算机系统中存储数据和/或指令的设备,其中含有切换装置,并且在至少两种工作模式之间切换,其中含有比较装置,并且第一工作模式相应于比较模式,第二工作模式相应于性能模式,其特征在于,在该设备中含有第二存储器或存储器区域,其中该设备被构造为Cache存储器系统并配备有至少两个分开的端口,并且至少两个处理单元通过所述端口对第二存储器或存储器区域的相同的或不同的存储器单元进行存取,其中来自第一存储器系统的数据和/或指令以块的方式被缓存。
此外有利的是一种设备,其特征在于,在Cache存储器系统中以分开的方式存储数据和指令,并因此设有数据存储器或数据存储器区域和指令存储器或指令存储器区域。
此外有利的是一种设备,其特征在于,第二存储器或存储器区域被划分成至少两个可相互独立地被读或写的地址区域。
此外有利的是一种设备,其特征在于,存在地址解码器,所述地址解码器产生使能信号,所述使能信号在通过多个端口对一个地址区域同时存取时仅允许一个端口存取并且特别是通过等待信号来禁止或延迟至少一个其它端口的存取。
此外有利的是一种设备,其特征在于,设有多于两个的端口,其中存在选择装置,并且通过所述选择装置以多个级对相互独立的地址区域进行存取,并且为此通过所述级传输使能信号。
其它优点和有利的扩展方案由权利要求的特征以及说明书得到。
附图和表格
图1示出具有两个执行单元的多处理器系统,具有用于对执行单元的数据进行比较的装置和用于在多处理器系统的至少两种工作模式之间切换的装置;
图2示出用于数据和/或指令的双端口Cache存储器,其具有内部双端口存储器、用于分别连接执行单元的两个端口、和通向多处理器系统的数据/地址总线的接口;
图3进一步详细地示出双端口Cache;
图4示出用于在双端口Cache中变换地址的设备和方法;
图5示出内部双端口存储器被划分成两个部分区域,这两个部分区域可相互独立地被运行,并且利用每个端口的每两个单独的使能信号在存取中被控制;
图6示出通过单端口存储器借助端口切换来实现双端口存储器区域;
图7示出具有p个端口的多端口存储器被划分成可并行处理的多个部分地址区域1...q;
图7a示出通过单端口存储器借助端口切换来实现多端口存储器区域;
图8示出根据系统状态或配置划分用于端口的RAM区域;
图9示出根据系统状态或配置通过产生相应的使能信号来将多端口RAM划分成区域;
图10示出利用多重联合存取将多端口RAM划分成区域;
图11/11a示出具有两个执行单元和双端口Cache的多处理器系统,其优选地以对称的方式被构造;
图12示出切换和比较单元的通常情况,也适用于多于两个的执行单元;
图13示出用于在性能模式下对Cache存储器进行写和读存取的切换和比较单元的内部切换状态;
图14示出用于在比较模式的第一实施方案中对Cache存储器进行读存取的切换和比较单元的内部切换状态;
图15示出用于在比较模式的第二实施方案中对Cache存储器进行读存取的切换和比较单元的内部切换状态;
图16示出用于在比较模式下对Cache存储器进行写存取的具有中断装置的切换和比较单元的配置;
图17示出用于在比较模式下对Cache存储器进行写存取的具有缓冲装置的切换和比较单元的配置;
图18示出具有两个执行单元和用于指令和数据的分开的双端口存储器的多处理器系统。
对实施例的说明
下面,不仅处理器、核、CPU、而且FPU(浮点单元)、DSP(数字信号处理器)、协处理器或ALU(算术逻辑单元)都可称为执行单元。
本发明涉及一种在图1中所示的多处理器系统(W100),具有至少两个执行单元(W110a、W110b)、比较单元(W120)和切换单元(W150)。执行单元分别通过信号线或总线(W112a、W112b)与比较单元(W120)和切换单元(W150)连接。切换单元(W150)具有通向两个系统接口(W130a、W130b)的至少两个输出端。通过这些接口可以控制存储器或外围设备,例如数字输出端、D/A器、通信控制器。在此,执行单元既可以实现为处理器/核/CPU,又可以实现为FPU(浮点单元)、DSP(数字信号处理器)、协处理器、ALU(算术逻辑单元)。
该多处理器系统可以在至少两种工作模式下工作:比较模式VM和性能模式PM。
在性能模式PM下,在不同的执行单元中并行执行不同的指令、程序段或程序。在该工作模式下,比较单元被去活。在该工作模式下如此配置切换单元(W150),使得每个执行单元都专有地与系统接口(W130a、W130b)之一连接。通过系统接口可以将执行单元的结果写入到存储器(W170)中或者输出到外围设备部件(W180、W190)上。外围设备部件例如可以是模拟数字转换器或通信系统(例如SPI、LIN、CAN、FlexRay)的通信控制器。
为了使比较单元去活,有多种可能性。一方面,可以(例如通过连接W125)将信号引到比较器上,利用该信号将所述比较器激活或去活。为此在比较器中可以嵌入能实现这一点的附加逻辑电路。另一可能性是:不向比较器输送待比较的数据。第三可能性是:在系统层面上忽略比较器的误差信号。此外也可以中断误差信号本身。所有可能性的共同之处在于,在系统内产生一种状态,其中如果可能要比较的两个或多个数据是不同的,那么该状态不起作用。如果通过措施在比较器中或者其输入或输出信号中实现所述状态,那么比较器被标明为被动的或去活的。
在比较模式VM下,在两个执行单元(W110a、W110b)中执行相同的或同样的指令、程序段或程序。通过信号线或总线(W112a、W112b),执行单元的输出信号被引导到比较单元(W120)和切换单元(W150)。在比较单元中对两个数据的一致性进行检验。在进行比较之后,切换单元通过状态信号(W125)被告知:该切换单元是否可以将一致的结果之一输出给系统接口之一,或者该切换单元是否基于所识别出的结果不一致性而必须禁止信号。在这种情况下,可以由比较单元输出可选择的误差信号(W155)。代替比较单元,也可以由切换单元输出该误差信号(W156)。比较单元(W120)和切换单元(W150)也可以被组成组合式切换和比较单元(W520)。
在图12中示出切换和比较组件的通常情况,也用于使用多于两个的执行单元。n个信号N140、...、N14n从n个待考虑的执行单元输出至切换和比较组件W520。该切换和比较组件可以从这些输入信号产生高达n个输出信号N160、...、N16n。在最简单的情况、即“纯性能模式”下,所有的信号N14i都被引导到相应的输出信号N16i上。在相反的极端情况、即“纯比较模式”下,所有的信号N140、...、N14n都只被引导到输出信号N16i中的恰好一个上。
在具有n个执行单元的系统中,其中n>2,可以设想多于仅两种的工作模式。借助于图2可以说明如何能够产生不同的可设想的模式。为此在该图中含有开关逻辑N110的逻辑组件。该开关逻辑首先确定究竟有多少输出信号。之后,开关逻辑N110确定,输入信号中的哪些贡献于输出信号中的哪个。在此,一个输入信号贡献于恰好一个输出信号。因此,在数学形式上以不同的表述方式通过开关逻辑来限定函数,该函数给集合{N140、...、N14n}的每个元素分配集合{N160、...、N16n}的元素。
于是,处理逻辑N120针对每个输出N16i确定,这些输入以何种形式贡献于该输出信号。为了示范性地说明各种不同的变型可能性,在不限制一般性的情况下假设,输出N160通过信号N141、...、N14m来产生。如果m=1,则这简单地相应于信号的接通,如果m=2,那么对信号N141、N142进行比较。可以同步地或异步地进行这种比较,可以逐位地、或者只对有效位、或者也以公差带进行这种比较。
根据系统组件的优先权,切换和比较单元(W520)的配置取决于多处理器系统的工作模式或者定义所述工作模式。为了在系统之内确保关于工作模式的相容(konsistent)信息并在必要时将该工作模式告知外部单元,有利的是,标识关于系统部件之一中的工作模式的信息并在一个或多个信号中提供。
在一种优选的实施方案中,该信号可以在切换和比较单元中被产生,并作为模式信号N150被提供给系统的其它部分。此外在该图中示出误差信号N170。可选的误差信号由收集误差信号的误差电路逻辑N130产生,并且或者是对单误差信号的直接转发,或者是对其中所含有的误差信息的聚束(Bündelung)。模式信号N150是可选的,但其在这些部件外的应用也可有利地用于很多位置。开关逻辑N110(也即上述函数)和处理逻辑(也即每输出信号、即每函数值对比较操作的确定)的信息的组合是模式信息,并且该模式信息确定多处理器系统的工作模式或反映该工作模式。该信息通常情况下当然是多值的,也就是说不只是通过一个逻辑位来表示。并非所有理论上可设想的模式在给定的实施中都有意义,优选地限制所允许的模式的数量。于是模式信号向外产生相关模式信息。优选地如此来说明HW实施,即可以配置外部可见的模式信号。同样优选地以可配置的方式设计处理逻辑和开关逻辑。优选地,使这些配置相互协调。作为替代方案,也可以仅仅或补充地向外给出模式信号的变化。这特别是在两种配置中具有优点。
根据权利要求1的所表征的特征,在本发明中建议,在具有至少两个执行单元的多处理器系统中使用双端口Cache存储器。如果该多处理器系统可在至少两种工作模式、例如上述比较模式和性能模式之间切换,那么这种配置是特别有利的。
在图2中示出双端口Cache 200,其对于重要部分由双端口RAM(dpRAM,230)、总线存取控制装置240和其中含有地址解码装置的单元250构成。该dpRAM 230优选地配备有两个相互独立的地址解码器、两个数据写/读级、并且不同于简单的存储器单元矩阵,还配备有加倍的字和位线,使得至少对dpRAM的任意存储器单元的读过程可由两个端口同时进行。  (如果并非所有的存取元件都被加倍并且dpRAM因此只是有条件地可以同时通过两个端口被存取,但从意义上该布置也适用。)因此双端口RAM是每个具有两个端口231和232的RAM,所述两个端口可相互独立地被使用,而无需考虑需要多少时间用于执行由该端口读或写的请求,即直至所请求的读或写过程(必要时还与另一端口的请求相互影响)结束要持续多久。dpRAM的两个端口通过信号201或202与装置210或220连接,所述装置对独立执行单元215和225的到达的地址、数据和控制信号211或221进行检验并可选地变换地址。在一种优选的实施例中,执行单元215和225在此相应于图1的执行单元W110a和W110b。数据在读时从Cache存储器按照端口经由201通过210被输出到211上,或经由202通过220被输出到221上,或者在分别相反的方向上从执行单元被写入到Cache存储器中。dpRAM的两个端口通过信号201或202与总线存取控制装置240连接,该总线存取控制装置与信号214连接,所述信号214建立至这里未示出的(主)存储器或至下一级的Cache的连接。
在图3中更详细地示出单元210、220和250。在存取双端口Cache时,处理单元215和225的在信号211和221中所含有的地址212和222在装置250的地址比较器251中被相互比较,并且与同样在211和221中所传输的控制信号一起被检验兼容性。在冲突的情况下,借助信号213或223中所含有的控制信号来阻止对双端口RAM 230的存取。这种冲突情况可能是,两个执行单元要对相同的地址写,或者一个执行单元写而另一处理单元将要从相同的地址读。
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的存取地址。以图4所示的编址方式,为此根据Cache的块大小将表格的有效地址位(索引地址)用作地址,而内容是dpRAM的存取地址。在此,将字节的数量称为块,其中如果从该区域以读的方式存取地址,所述字节在Cache未命中(Cache Miss)(Cache中的所需数据丢失)的情况下共同从主存储器被取到Cache中。
为了按字节或字存取Cache,利用表格来变换对块有效的地址位,而不变地采用余下的(低值的)地址位。
对于写过程,例如为两个端口中的一个设立较高的优先权,也就是说,阻止由两个端口同时写。该优先权也可以例如由多处理器系统的切换和比较单元或者根据所编址的存储器区域以动态的方式实现。只有当优先端口已经执行了写操作时,另一端口才允许写;而且必要时只有一个处理器具有对相应所分配的存储器区域的写权限。同样可以在对存储器单元任意写操作时阻止相同的存储器单元由分别另一端口读,或者可以通过使具有读愿望的处理器中止直至写操作结束为止来延迟读操作。为此,给所有地址位的在图3中所示的地址比较器(251)设有相应的判优器252,该判优器还对处理器的控制信号进行分析并形成控制所述流程的输出信号213和223。在一种有利的实施方案中,输出信号213和223可以分别采取三种信号状态:使能(enable)、等待(wait)、相等(equal)。对于纯命令cache来说,无需写存取;在这种情况下,信号状态“相等”对于输出信号213和223来说就足够了。
在Cache未命中的情况下,数据或指令必须经由总线系统从程序或数据存储器中被取出。到达的数据被转发至已请求了所述数据的执行单元,并与标识和控制位一起并行地被写入Cache中。如果不存在命中却由地址比较器显示信号“相等”(213和223的组成部分或状态),则地址比较器这里也阻止再次从存储器取数据。在通过两个端口读的情况下,信号“相等”只由有效(signifikant)地址位构成,因为整个块始终从存储器中被取得。只有在块被存储在Cache中时,等待的执行单元才可以存取Cache。
在另一有利的实施方案中,为数据和指令/命令设置两个分开的双端口Cache,其中在命令cache中通常可以不设置写过程。在这种情况下,地址比较器始终只对有效地址位的相等性进行检验,并在信号213或223中提供相应的控制信号“相等”。
在另一实施例中,只有在所请求的数据存在于可实现同时存取的不同地址区域中时,两个端口对内部存储器的同时读存取才不受限制地起作用。由此可以在硬件实现时节省支出,因为并非存储器中的所有存取机制都必须被加倍。例如可以在可相互独立运行的多个部分存储器区域中实现Cache。每个部分存储器都可以通过使能信号仅实现一个端口的执行。在图5中示出包含两个部分存储器区域235和236的这种存储器230。在此处所示的实施例中,两个使能信号E0和E1如此由地址位Ai构成,使得E0=1且E1=0适用于情况Ai=0和E0=0且E1=1适用于情况Ai=1。在该情况下,在信号233和234中含有两个使能信号和低值的地址位Ai-1...A0
对于具有四个部分存储器的另一实施例来说,可由两个地址位产生4个使能信号,因为每个部分存储器都明确地服务于确定的地址区域。因此可以利用2个地址位Ai+1和Ai来起动四个部分存储器区域,其方式为,根据表格1的二进制值产生四个使能信号E0至E3
在图6中为图5所示的部分存储器235和236示出实施例。在那里用260表示的部分存储器在该特殊的实施方案中被实施为单端口RAM280,该单端口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(图7)。
在图7中示出了这种多端口RAM 290。在那里,端口输入信号261、262、...、267在解码装置331、332、...、337中被解码成信号291、292、...、297。该解码产生用于存取281、282和288中的各个RAM的使能信号。在图7a中更详细地示出了部分存储器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 280连接。
与图6的多路复用器275相反,图7a的多路复用器375除了地址信号、数据信号和控制信号外还连接在381、382、...、388中所含有的下级使能信号。此外在375中可以含有比较装置,所述比较装置在多重联合的编址方式情况下确定从部分区域所读出的数据的有效性。
在双端口Cache存储器的另一有利实施例中,可以使RAM区域对不同执行单元的分配与一种或者多种系统状态或配置相关。为此在图8中示出了可配置的双端口Cache的实例。为此,模式或配置信号1000在对输入信号解码时用于两个端口中的每一个。该配置信号可以相应于图12的模式信号N150,或者包含模式信号N150的信息的部分或者可以由N150与多处理器系统的其他信息的组合构成。表2示出根据该信号1000来改变解码的可能性,所述信号这里用M表示。如果M=0,那么例如存在比较模式,在所述比较模式中两个端口对整个Cache进行存取。但如果M=1(例如性能模式),那么每个端口只还对Cache的一半进行存取,但每个端口可以不受限制地(不受其它端口上的活动影响)存取该区域。在这种模式下,地址位Ai不被用于(在直接映射模式下)对Cache编址,而是在编址中区别仅在于该位的数据在相同的位置被存放在Cache中。于是只有在读Cache内容时才能根据标识查明是否是所搜索的数据并相应地产生Cache命中信号。根据相应的比较器布置在何处,可以将包括标识和控制位在内的数据经由信号291、292、...、297输出给端口331、332、...、337并且继续输出信号261、262、...、267。同样可以在性能模式(M=1)下只允许端口1存取整个Cache。在表3中示出了这种另外的实施方案。用户也可以通过多个配置信号对Cache进行任意的其它划分。一方面,在较大的Cache区域情况下,这允许较高的命中率,并由此减少从主存储器中取数据的必要性。另一方面,如果通过不同的端口尽可能只对相互独立的Cache区域进行存取,则不妨碍不同的执行单元。因为这些条件取决于为应用所设置的程序,所以如果根据应用存在其它配置的可能性,则是有利的。另一方面,可以直接在系统状态(比较模式/性能模式)转变时自动地通过模式信号1000来切换Cache。
根据模式或配置信号来切换端口的这种可能性在图9中被扩展为多端口Cache 290。在此,331、332、...、337是端口,所述端口借助于该模式或配置信号来控制不同的部分RAM区域281、282、...、288的接通。这种控制通过相应地在端口中所产生的选择信号得以保证,其中所述选择信号包含在信号291、292、...、297中。
如果多于两种的对Cache存储器的配置在具有多于两种工作模式的多处理器系统中根据这些工作模式应该是可能的,那么两值模式信号1000就不够了。在这种情况下,有利的是将模式信号实施成多值的或者引入在图8-10中未示出的另一模式信号2000。
如果存在多重联合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存储器,双端口Cache存储器的本发明布置也可以用诸如MRAM、FERAM等其它存储器技术来表示。
在图11中示出一种多处理器系统(W500),其具有两个执行单元(W510a、W510b)、切换和比较单元(W520)和双端口Cache存储器(W550)。如果在比较模式下出现误差,那么比较单元(W520)通过信号路径W518发信号。执行单元分别通过信号线或总线(W512a、W512b)与切换和比较单元(W520)连接,切换和比较单元(W520)在其侧具有通向双端口Cache存储器的两个连接(W513a、W513b)和通向两个系统接口(W535、W545)的两个连金额(W514a、W514b)。信号(W512a、W512b)在此相应于图2的信号211和221,具有相同的或类似的数据范围。双端口Cache存储器(W550)通过连接241和可选的存储器接口(W530)与(主)存储器系统(W570)连接。通过系统接口(W535、W545)可以控制处理器系统(W580)的其它单元、例如协处理器或计时器单元和外围设备(W590)、如数字输出端、D/A转换器和通信控制器。在此,执行单元既可以实现为处理器/核/CPU,又可以实现为FPU(浮点单元)、DSP(数字信号处理器)、协处理器、ALU(算术逻辑单元)。
图11a概括示出图11的多处理器系统(W500),并且为了更好的一目了然性,未示出系统接口(W535、W545)、连接(W514a、W514b)和单元W580与W590。
该多处理器系统可以以至少两种工作模式工作:比较模式VM和性能模式PM。
在性能模式PM下,在不同的执行单元中并行执行不同的指令、程序段或程序。在图13中示出用于在性能模式下对Cache存储器读和写存取的切换和比较单元(W520)的内部切换状态。在该工作模式下,切换和比较单元(W520)的比较器(W522)被去活,也就是说,没有数据被比较。为了将比较单元去活,有多种可能性。一方面,可以将一信号引向比较器,利用该信号将所述比较器激活或去活。为此在比较器中可以嵌入能实施这一点的附加逻辑。另一可能性是,不向比较器输送待比较的数据,如这在图13中所示的实施例中示意示出的那样。第三可能性是:在系统层面上忽略比较器的状态或误差信号(W518,在图14中所示)。此外也可以中断误差信号本身。所有可能性的共同之处在于,所有可能性在系统内产生一种状态,其中如果可能被比较的两个或多个数据是不同的,那么该状态不起作用。如果通过措施在比较器中或者其输入或输出信号中实现所述状态,那么比较器被标明为被动的或去活的。
在性能模式下,每个执行单元都与双端口Cache存储器(W550)的端口连接。这在图13所示的实施例中以如下方式得以实现,即对切换和比较装置(W520)的切换器(W525)如此被配置,使得信号512a直接与信号513a连接并且信号512b直接与信号513b连接。由此两个执行单元可以同时进行双端口Cache的任意存储器单元的读过程、特别是也还有对恰好相同的存储器单元的读存取。
对双端口Cache存储器的相同存储器单元(或者在对Cache存储器以块的方式写时对相同的存储器块)的同时写过程是不可能的。对于写过程来说,例如给双端口Cache存储器的两个端口之一并由此给一个执行单元设立较高的优先权,也就是说,阻止由两个执行单元同时对相同的存储器单元或相同的存储器块写。该优选权也可以例如由多处理器系统的切换和比较单元或者根据被编址的存储器区域以动态的方式来确定。只有当优先端口已经执行了写操作时,另一端口才允许写。
存取冲突、例如两个执行单元对相同的存储器单元或相同的存储器块的同时写存取,可以如下被识别和触发:在存取双端口Cache时,根据图3,处理单元215和225的在信号211和221(相应于图11中的信号512a和512b)中所含有的地址212和222在装置250的地址比较器251中被相互比较,并且与同样在211和221中所传输的控制信号一起被检验兼容性。如果这些地址相同,并且应该对这些地址中的至少一个以写的方式存取,那么存在冲突。在冲突的情况下,借助在信号213或223中所含有的控制信号来阻止至少一个端口对双端口RAM 230的存取。
在Cache未命中的情况下、即如果在第一执行单元对Cache存储器读存取时在Cache存储器中不包含所请求的数据或指令,那么该数据或指令必须通过总线系统从程序或数据存储器中、例如从主存储器(图11的W570)中被取出。到达的数据被转发至已请求这些数据的执行单元,并且与标识和控制位一起并行地被写入到Cache中。如果在将存储器块从主存储器传输到Cache存储器中期间,来自相同存储器块的地址例如被第二执行单元编址,那么这由地址比较器识别并且该地址比较器阻止将该存储器块再次从主存储器传输。
如在图11和11a中所示,切换和比较单元(W520)有利地被布置在执行单元(W510a、W510b)和双端口Cache存储器W550之间。这能够在比较模式下实现执行单元对双端口Cache的多种有利的存取方式,这在下面予以说明。
在比较模式下,每个执行单元都通过信号连接W512a和W512b与切换和比较单元(W520)连接,并且由此根据图15和16也与在那里所包含的比较器(W522)连接。
在图14和图15中示出在比较模式下读存取的两种实施方案用的切换和比较单元的内部布线。在根据图14的第一种实施方案中,切换器(W525)处于与在性能模式下相同的位置、即执行单元(W510a、W510b)中的每一个都与双端口Cache存储器(W550)的一个端口连接。因为两个执行单元在比较模式下执行相同的程序、程序段或指令,所以所述执行单元也存取相同的存储器地址。首先,地址可以被比较器(W522)检验,并且只有在一致时才进行地址转交。此外可替代地或附加地,可以在比较器(W522)中对存储器单元的通过Cache存储器的不同端口所读出的信息进行检验。因此也可以发现在双端口Cache存储器的编址逻辑中和在Cache与比较器之间的传输中的误差。比较器可以通过比较/误差信号(W518)将代表比较结果的信息发信号给执行单元。然而对于该实施形式来说,无需例如根据图3的双端口Cache存储器的实施,其中可同时通过两个端口以读的方式存取相同的存储器单元。
在根据图15的比较模式的第二种实施方案中,这里用W526表示的切换器处于另一开关位置。在该实施方案中,只通过连接W513a对双端口Cache存储器进行存取。然而只有当通过信号连接W512a和W512b引导到比较器的存取地址相同时才进行这种存取。如果由比较器识别出地址的不一致,那么可以通过信号W517以及延迟和中断装置W519来阻止存储器存取。
在图16中示出切换和比较单元(W520)的配置,用于在比较模式下对双端口Cache存储器写存取。在此,对通过信号连接W512a和W512b引导到比较器的存取地址和待写的数据进行比较。在一致时,只有执行单元的数据(在所示实施例中,通过连接W512a所得到的数据)通过连接(W513a)和端口被写入到双端口Cache存储器中。在第一实施例中,在通过连接W512a和W512b所得到的地址和/或数据不一致时,通过信号W517以及延迟和中断装置W519阻止对Cache存储器的存取。这具有以下优点,即只有有效的或正确的数据才被写到Cache中,但具有以下缺点,即只有在比较结束之后才能执行对Cache的写存取并必要时由此延迟执行单元。开关W527的位置使信号连接W512b只通向比较器W522。
在根据图17的第二实施例中,对通过信号连接W512a和W512b引导到比较器的存储地址和待写的数据进行比较,并且同时将通过连接(例如W512a)所得到的数据写入到缓冲存储器W529中。通过信号W517向缓冲存储器W529输送代表比较结果的信息。在通过连接W512a和W512b所得到的地址和/或数据一致时,存储在缓冲存储器中的信息通过连接(例如W513a)和端口被写入到双端口Cache存储器中。相反,如果比较器识别出不一致,那么缓冲存储器中的数据不被释放用于写存取,并且有利地被清除。由此得到如下优点:只有有效的或正确的数据才被写入到Cache中,但不延迟执行单元。
在比较模式下写存取的另一实施例中,两个执行单元中的一个将数据写入到Cache存储器中。与写并行地或在将数据写入到Cache中之后对两个执行单元的通过连接W512a和W512b所得到的地址和/或数据进行比较。如果比较器识别出不一致,那么Cache中所写的数据必须随后被宣告无效。为此由切换和比较单元通过比较/误差信号(图11a和图14-17的W518或图12的N170)向Cache存储器提供代表比较结果的信息。于是已写的数据通过在Cache存储器的状态或控制寄存器中置位或者通过从命中表格中清除信息来被标明为无效,或者通过旧的数据代替,如果该数据还存在于Cache存储器或系统中的话。该实施例的优点在于,执行单元不因对地址和/或数据的比较而被延迟,且在切换和比较单元中无需缓冲存储器。
在多处理器系统的另一有利的实施方案中,为数据和指令/命令设有两个分开的双端口Cache,其中在命令Cache中通常不设置写过程。在图18中示出具有两个分开的双端口Cache存储器W550c和W550d的多处理器系统(W501)。在此,例如W550c是命令Cache,其中由执行单元(W510a、W510b)通过W513ac或W513bc仅仅以读的方式存取所述命令Cache,而W550d是数据Cache,其中执行单元可以通过W513ad或W513bd以读和写的方式存取所述数据Cache。每个Cache都分别通过信号连接214c和存储器存取单元W530c或信号连接214d和存储器存取单元W530d对(主)存储器进行存取。如已在图11a中所示,为更好的一目了然性,在图18中概括示出多处理器系统(W501)。在图11中所示的系统接口(W535、W545)、连接(W514a、W514b)、单元W580与W590和存储器系统W570可以全部或部分地包含在根据图18的多处理器系统(W501)中。
在前述实施例中,分别对具有两个执行单元、两种工作模式和双端口Cache存储器的多处理器系统进行了说明。本发明的所表征的特征也可应用于具有多于两个的执行单元的多处理器系统。在此首先在切换和比较单元中需要改变。在此,双端口Cache可以被扩展为多端口Cache,如在图9和图10中所示的实施例中所说明的那样。在此,多处理器系统的执行单元的数量和多端口Cache的端口数量和Cache存储器的部分存储器区域的数量不必相同。

Claims (22)

1.用于在具有至少两个处理单元和用于数据和/或指令的至少一个第一存储器或存储器区域的计算机系统中存储数据和/或指令的方法,其中设有切换装置,并且在至少两种工作模式之间进行切换,其中设有比较装置,并且第一工作模式相应于比较模式,和第二工作模式相应于性能模式,其特征在于,在设备中含有第二存储器或存储器区域,其中该设备被构造为Cache存储器系统并配备有至少两个分开的端口,并且至少两个处理单元通过所述端口对第二存储器或存储器区域的相同的或不同的存储器单元进行存取,其中来自第一存储器系统的数据和/或指令以块的方式并且在切换时被缓存。
2.如权利要求1所述的方法,其特征在于,所述第二存储器或存储器区域被划分成至少两个地址区域,所述至少两个地址区域可以相互独立地被读或写。
3.如权利要求2所述的方法,其特征在于,存在地址解码器,所述地址解码器产生使能信号,所述使能信号在通过多个端口对一个地址区域同时存取时仅允许一个端口存取并且特别是通过等待信号来禁止或延迟至少一个其它端口的存取。
4.如权利要求1所述的方法,其特征在于,设有多于两个的端口,其中存在选择装置,并且通过所述选择装置以多级方式对相互独立的地址区域进行存取,并且为此通过所述级转发所述使能信号。
5.如权利要求2、3或4所述的方法,其特征在于,存在至少一个模式信号,该模式信号对不同端口的存取可能性进行切换。
6.如权利要求2、3或4所述的方法,其特征在于,存在至少一个配置信号,该配置信号对不同端口的存取可能性进行切换。
7.如权利要求1所述的方法,其特征在于,两个处理单元预先规定读存取。
8.如权利要求7所述的方法,其特征在于,在预先规定通过两个处理单元读存取时对分配给数据和/或指令的标识或存取地址进行比较,并且只有在一致时才接通对Cache的读存取。
9.如权利要求1所述的方法,其特征在于,在预先规定读存取的情况下,两个处理单元对Cache存储器系统进行存取。
10.如权利要求9所述的方法,其特征在于,对在读存取时由两个处理单元所读取的数据和/或指令进行比较,并且在偏差时产生信号、特别是误差信号。
11.如权利要求1所述的方法,其特征在于,在对第二存储器或存储器区域写存取时,待写的数据和/或指令被比较,并且只有在其一致时才被写入。
12.如权利要求11所述的方法,其特征在于,在写存取时直至对数据和/或指令进行比较为止,所述处理单元被中止。
13.如权利要求11所述的方法,其特征在于,所述数据和/或指令被写入到缓冲存储器或缓冲存储器区域中,并且只有当成功的比较之后才被接收到第二存储器或存储器区域中。
14.如权利要求1所述的方法,其特征在于,在对所述第二存储器或存储器区域写存取时,待写的数据和/或指令只由一个处理单元写,并且根据并行进行的比较在不同时,已写入的数据和/或指令被禁止或被宣告无效。
15.如权利要求14所述的方法,其特征在于,禁止或无效宣告通过对至少一个位的置位或复位来进行。
16.如权利要求14所述的方法,其特征在于,禁止或无效宣告通过利用其它的、特别是旧的数据和/或指令重写来进行。
17.如权利要求14所述的方法,其特征在于,禁止或无效宣告通过删除第二存储器或存储器区域的内容表格的相应项来进行。
18.用于在具有至少两个处理单元和用于数据和/或指令的至少一个第一存储器或存储器区域的计算机系统中存储数据和/或指令的设备,其中含有切换装置,并且在至少两种工作模式之间进行切换,其中含有比较装置,并且第一工作模式相应于比较模式,第二工作模式相应于性能模式,其特征在于,在设备中含有第二存储器或存储器区域,其中该设备被构造为Cache存储器系统并配备有至少两个分开的端口,并且至少两个处理单元通过所述端口对第二存储器或存储器区域的相同的或不同的存储器单元进行存取,其中来自第一存储器系统的数据和/或指令以块的方式被缓存。
19.如权利要求18所述的设备,其特征在于,在Cache存储器系统中分开地存储数据和指令,并且因此设有数据存储器或数据存储器区域和指令存储器或指令存储器区域。
20.如权利要求18所述的设备,其特征在于,第二存储器或存储器区域被划分成至少两个可相互独立地被读或写的地址区域。
21.如权利要求18所述的设备,其特征在于,存在地址解码器,所述地址解码器产生使能信号,所述使能信号在通过多个端口对一个地址区域同时存取时仅允许一个端口存取并且特别是通过等待信号来禁止或延迟至少一个其它端口的存取。
22.如权利要求18所述的设备,其特征在于,设有多于两个的端口,其中存在选择装置,并且通过所述选择装置以多级方式对相互独立的地址区域进行存取,并且为此通过所述级转发所述使能信号。
CNA2006800294013A 2005-08-08 2006-07-26 用于在具有至少两个处理单元和用于数据和/或指令的至少一个第一存储器或存储器区域的计算机系统中存储数据和/或指令的方法和设备 Pending CN101243415A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005037215.5 2005-08-08
DE102005037215A DE102005037215A1 (de) 2005-08-08 2005-08-08 Verfahren zur Speicherung von Daten und/oder Befehlen in einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten und wenigstens einem ersten Speicher oder Speicherbereich für Daten und/oder Befehle

Publications (1)

Publication Number Publication Date
CN101243415A true CN101243415A (zh) 2008-08-13

Family

ID=37192655

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800294013A Pending CN101243415A (zh) 2005-08-08 2006-07-26 用于在具有至少两个处理单元和用于数据和/或指令的至少一个第一存储器或存储器区域的计算机系统中存储数据和/或指令的方法和设备

Country Status (5)

Country Link
EP (1) EP1915695A1 (zh)
JP (1) JP2009505181A (zh)
CN (1) CN101243415A (zh)
DE (1) DE102005037215A1 (zh)
WO (1) WO2007017376A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345910A (zh) * 2013-06-09 2013-10-09 苏州国芯科技有限公司 单端口调色板sram控制器及其控制方法
CN114207569A (zh) * 2019-09-25 2022-03-18 脸谱科技有限责任公司 用于高效数据缓冲的系统和方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247649A (en) * 1988-05-06 1993-09-21 Hitachi, Ltd. Multi-processor system having a multi-port cache memory
JPH01280860A (ja) * 1988-05-06 1989-11-13 Hitachi Ltd マルチポートキヤツシユメモリを有するマルチプロセツサシステム
JPH0973436A (ja) * 1995-09-05 1997-03-18 Mitsubishi Electric Corp 多重化計算機における動作モード切替方式
US6101589A (en) * 1998-04-01 2000-08-08 International Business Machines Corporation High performance shared cache
DE10332700A1 (de) 2003-06-24 2005-01-13 Robert Bosch Gmbh Verfahren zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit sowie entsprechende Prozessoreinheit
KR20060026884A (ko) * 2003-06-24 2006-03-24 로베르트 보쉬 게엠베하 프로세서 유닛의 적어도 2개의 작동 모드 사이의 전환 방법및 상응하는 프로세서 유닛

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345910A (zh) * 2013-06-09 2013-10-09 苏州国芯科技有限公司 单端口调色板sram控制器及其控制方法
CN103345910B (zh) * 2013-06-09 2015-11-18 苏州国芯科技有限公司 单端口调色板sram控制器及其控制方法
CN114207569A (zh) * 2019-09-25 2022-03-18 脸谱科技有限责任公司 用于高效数据缓冲的系统和方法

Also Published As

Publication number Publication date
EP1915695A1 (de) 2008-04-30
JP2009505181A (ja) 2009-02-05
WO2007017376A1 (de) 2007-02-15
DE102005037215A1 (de) 2007-02-15

Similar Documents

Publication Publication Date Title
US5966734A (en) Resizable and relocatable memory scratch pad as a cache slice
US6105051A (en) Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor
US5274790A (en) Cache memory apparatus having a plurality of accessibility ports
US6076157A (en) Method and apparatus to force a thread switch in a multithreaded processor
US20050289299A1 (en) Digital data processing apparatus having multi-level register file
US7836253B2 (en) Cache memory having pipeline structure and method for controlling the same
US6963962B2 (en) Memory system for supporting multiple parallel accesses at very high frequencies
US11372648B2 (en) Extended tags for speculative and normal executions
IL134823A (en) Method and device for selecting an event in a multi-process processor
US11403226B2 (en) Cache with set associativity having data defined cache sets
US10915326B1 (en) Cache systems and circuits for syncing caches or cache sets
US11860786B2 (en) Data defined caches for speculative and normal executions
US11010288B2 (en) Spare cache set to accelerate speculative execution, wherein the spare cache set, allocated when transitioning from non-speculative execution to speculative execution, is reserved during previous transitioning from the non-speculative execution to the speculative execution
CN101243416A (zh) 在具有至少两个处理单元和用于数据和/或指令的至少一个第一存储器或存储器区域的计算机系统中存储数据和/或指令的设备和方法
US20220083341A1 (en) Cache systems for main and speculative threads of processors
US20030236947A1 (en) Prevention of conflicting cache hits without an attendant increase in hardware
CN101243415A (zh) 用于在具有至少两个处理单元和用于数据和/或指令的至少一个第一存储器或存储器区域的计算机系统中存储数据和/或指令的方法和设备
US20020078309A1 (en) Apparatus for associating cache memories with processors within a multiprocessor data processing system
JPH0756808A (ja) データキャッシュバッファ及び記憶方法
KR20080033338A (ko) 데이터 및/또는 명령을 위한 적어도 2개의 실행 유닛들과적어도 하나의 제1 메모리 또는 메모리 영역을 갖는 컴퓨터시스템에 데이터 및/또는 명령을 저장하기 위한 장치 및방법
JP3077807B2 (ja) マイクロコンピュータシステム
JPH09179781A (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080813