CN1227932A - 通过流水线控制访问的高速缓冲存储器系统及其访问方法 - Google Patents
通过流水线控制访问的高速缓冲存储器系统及其访问方法 Download PDFInfo
- Publication number
- CN1227932A CN1227932A CN98126911A CN98126911A CN1227932A CN 1227932 A CN1227932 A CN 1227932A CN 98126911 A CN98126911 A CN 98126911A CN 98126911 A CN98126911 A CN 98126911A CN 1227932 A CN1227932 A CN 1227932A
- Authority
- CN
- China
- Prior art keywords
- cache memory
- address
- level
- instruction
- control
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 173
- 238000000034 method Methods 0.000 title claims description 30
- 230000001360 synchronised effect Effects 0.000 title description 2
- 239000003550 marker Substances 0.000 claims description 11
- 230000000295 complement effect Effects 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 5
- 230000001934 delay Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Abstract
一个高速缓冲存储器系统包括一个高速缓冲存储器(30),在其中根据一个来自地址总线的地址,使相应的一致部分变为有效并从其中提供一个一致信号;一个地址锁存器(10),一个选择器(20)和一个数据锁存器(40),用于延迟对给定指令中的一个或更多个级的操作;以及控制电路(50),用于在多个指令于同一时刻请求在各自相应的级中访问高速缓冲存储器(30)时,控制所述延迟装置以便于延迟多个同时访问所述高速缓冲存储器(30)的指令之一的级操作。
Description
本发明涉及一种高速缓冲存储器系统和对高速缓冲存储器进行访问的方法,特别涉及由流水线控制逻辑进行访问的高速缓冲存储器系统和对高速缓冲存储器进行访问的方法。
在一个MPU(微处理器单元)以及诸如此类中,为了加快处理速度,采用所谓的流水线控制逻辑。而且,为了提高数据交换的速度,还利用一个高速缓冲存储器。流水线控制逻辑是用于通过将多个指令分成更小的处理单元(级),以便于并行处理相应指令的各级而提高处理速度的控制逻辑。高速缓冲存储器是能够以高速度进行访问的存储器。下面将参照图5描述高速缓冲存储器的大概结构。
参照图5,一个高速缓冲存储器500由一个标记段501和一个数据段502组成。标记段501存储一个已被使用的地址的标记字段,数据段502存储相应于存在标记段501中的标记字段的数据。当从一条地址总线510将一个地址输入到一个高速缓冲存储器500中时,将该地址与存在标记段501中的每个标记字段进行比较以发现一次匹配。当输入的地址具有一个匹配的标记字段时,标记段501提供一个一致信号520。而且,一致部分503变为有效,并且该数据被写入数据段502中,并通过一条数据总线530从数据段502读出该数据。
一般利用一个所谓的相联存储器(CAM:可按内容寻址的存储器)作为一个高速缓冲存储器。当一个地址与标记段501中的一个标记字段相匹配时,如上所述,使相应的数据段502为有效,从而将该数据识别为一致部分503。
下面将参照图6A和图6B来说明现有的流水线控制逻辑的操作。图6A是现有的流水线控制逻辑的操作简图。图6B示出了在流水线控制逻辑控制下,高速缓冲存储器中发生了冲突的情况下的操作。
图6A所示的流水线控制逻辑由五个指令:第一指令至第五指令构成。流水线控制逻辑中的指令数目并不仅限于五个,而是可以使用任意个指令。
图6A所示的形成每个指令的级包括IF级,RF级,EX级,TC级以及WB级。当然,在实际应用中,可以根据需要利用任何其他级。IF级意味着取指令级,用于从外部读出一个指令。RF级意味着取寄存器级,主要用于对一个指令进行译码。EX级意味着执行级,主要用于执行计算。TC级意味着检查标记级,用于检查标记段是否具有一个与提供给高速缓冲存储器的地址相匹配的标记字段。WB级意味着回写级,用于将数据写入高速缓冲存储器。
下面说明在上述现有的流水线控制逻辑控制下的操作。如图6A所示,第一指令的操作过程从执行IF级开始,接着是RF级,然后执行EX级。再顺序执行对一个在流水线控制逻辑控制下的高速缓冲存储器的写操作(TC级和WB级)。
在对流水线控制下的高速缓冲存储器的写操作过程中,在TC级将一个地址提供给高速缓冲存储器,以检查在标记段501中是否存在一个与该地址相匹配的标记字段。当存在与该地址相匹配的标记字段时,以相应的一致部分的一种选定模式,在下一个WB级(st5)将该数据写入高速缓冲存储器的数据段中。从而,利用两个级来完成将数据写入一个高速缓冲存储器的操作。反之,由于数据在TC级中检查一个标记字段与一个地址之间是否匹配的同时从数据段中被读出,所以只需一个级就完成了从高速缓冲存储器中读取数据的操作。
上述现有的高速缓冲存储器在流水线控制下的并行处理的同一时刻,多个指令的写(WB级)或读(TC级)彼此一致时,不能确保正常的操作。在图6A所示的操作示例中,第一指令的WB级(st5)与第二指令的TC级(st6)被同时处理。在这种状态下不能确保高速缓冲存储器的正常操作。
为了确保一个高速缓冲存储器的正常操作,现有的高速缓冲存储器采用了这样一种控制方法:延迟第二指令TC级的操作和每一个经过一流水线滑动(slip)操作的级之后的操作。下面参照图6B说明流水线滑动操作。
当第一指令的WB级(st5)和第二指令的TC级(st6)如上所述在同一时刻被执行时,同时提供对高速缓冲存储器的访问。为了避免这种情况的发生,如图6B所示,在图6A所示的第二指令到第五指令中,通过向后滑动第二指令及其之后的指令中与第二指令的TC级处于同一时刻的所有级,取消相应级的操作。这能在处理第一指令的WB级的同一时刻,禁止除第一指令的WB级以外的其他级的存在,从而避免了对高速缓冲存储器的同步访问。
在执行了第一指令的WB级之后,从第二指令到第五指令中的每一个被滑动的级将被按照顺序重试。对于一个重试的级来说,如果发生了对高速缓冲存储器的同步访问,就依据上述过程来避免对一个高速缓冲存储器的同步访问。
依据上述现有的高速缓冲存储器或对一个高速缓冲存储器的访问方法,通过流水线滑动操作确实能够避免对高速缓冲存储器的同步访问。但是,一次流水线滑动就将每个指令的执行中止了一个级(一个时钟),它同样多地破坏了高速缓冲存储器或MPU的性能。
从图6B显然可知,一次流水线滑动操作就将整个处理时间延长了一级。图6B示出了在处理第一指令时只执行一次流水线滑动操作的例子。如果还要执行与第二指令及其其后的指令相关的流水线滑动操作,那么自然就使整个处理时间变得更长,并且使性能显著恶化。
作为在由流水线控制地址生成和输出的微型计算机系统中,以在不破坏系统性能的条件下减少硬件数量为目标的现有技术,在日本专利公开号为昭和63-116237,名称为“流水线地址锁存电路”的专利申请中公开了这样一种技术。该公开文本公开了一个电路,包括用于产生由一个地址锁存信号形成的地址锁存设置信号、一个机器时钟以及一个从微处理器提供的地址选通信号的第一门电路,用于产生由上述地址锁存信号形成的地址锁存复位信号以及一个与将微处理器设置成可用的信号具有相同的时刻的定时信号(timing signal)的第二门电路,用于接收第一门电路的输出和第二门电路的输出以有选择地输出其中之一的第三门电路,一个用于在接收第三门电路的输出的同时生成一个同步于时钟信号的地址锁存信号的触发器,以及一个用于利用从触发器输出的地址锁存信号,对微处理器产生的地址进行锁存的锁存电路,从而省略了用于在一个锁存地址和一个用于判断是否为高速缓冲存储器命中或误命中的地址之间进行转换的转换电路。
但是,这种包括了一个用于锁存地址的锁存电路并根据微处理器的输出信号,在锁存电路中对用于锁存地址的地址锁存信号进行控制的现有技术使取消地址输出的转换电路成为可能。这能避免减小时钟频率,从而实现了在不破坏系统性能的条件下减少硬件数量。但是,这种技术并没有解决使一个高速缓冲存储器的同步访问中的处理时间延长的问题,而仍存在现有的高速缓冲存储器和对高速缓冲存储器的访问方法中所存在的上述缺陷。
为了克服上述缺陷,本发明的一个目的是提供一种能够在多个指令试图同时对高速缓冲存储器进行访问时确保对高速缓冲存储器的同步访问过程中的正常操作而不增加处理时间的高速缓冲存储器系统和对高速缓冲存储器的访问方法。
依据本发明的一个方面,提供一种高速缓冲存储器系统,用于由流水线控制逻辑控制对一个高速缓冲存储器的访问,该流水线控制逻辑用于以级为单位并行执行多个由多级构成的指令,所述系统包括:
一个高速缓冲存储器,在其中根据一个来自地址总线的地址,使相应的一致部分变为有效并从其中提供一个一致信号,
延迟装置,用于延迟对给定指令中的一个或更多个级的操作,以及
控制装置,用于在多个指令在同一时刻请求在各自相应的级中访问高速缓冲存储器时,控制延迟装置以便于延迟多个同时访问高速缓冲存储器的指令之一的级操作。
在最佳结构中,延迟装置还包括位于高速缓冲存储器和一条数据总线之间的数据锁有装置,用于在控制装置的控制下,锁存将要写入高速缓冲存储器的一个数据段中的数据。
在另一种最佳结构中,延迟装置还包括位于高速缓冲存储器和一条地址总线之间的地址锁存装置,用于在控制装置的控制下,锁存将要输入高速缓冲存储器中的一个地址,以及位于高速缓冲存储器和一条地址总线之间的选择装置,用于直接接收来自地址总线的一个地址和由地址锁存装置锁存的地址并在控制装置的控制之下将其中一个地址提供给高速缓冲存储器。
在另一种最佳结构中,延迟装置还包括位于高速缓冲存储器和一条地址总线之间的地址锁存装置,用于在控制装置的控制下,锁存将要输入高速缓冲存储器中的一个地址,位于高速缓冲存储器和一条地址总线之间的选择装置,用于直接接收来自地址总线的一个地址和由地址锁存装置锁存的地址并在控制装置的控制之下将其中一个地址提供给高速缓冲存储器,以及位于高速缓冲存储器和一条数据总线之间的数据锁存装置,用于在控制装置的控制下,锁存将要写入高速缓冲存储器的一个数据段中的数据。
在另一种最佳结构中,延迟装置还包括与高速缓冲存储器的一条字线相连接的信息锁存装置,用于在控制装置的控制下,锁存高速缓冲存储器的一致部分上的信息。
而且,延迟装置还可以包括与高速缓冲存储器的一条字线相连接的信息锁存装置,用于在控制装置的控制下,锁存高速缓冲存储器的一致部分上的信息,以及位于高速缓冲存储器和一条数据总线之间的数据锁存装置,用于在控制装置的控制下,锁存将要写入高速缓冲存储器的一个数据段中的数据。
依据本发明的另一方面,提供一种访问高速缓冲存储器的方法,用于由流水线控制逻用于由流水线控制逻辑控制对一个高速缓冲存储器的访问操作,该流水线控制逻辑用于以级为单位并行执行多个由多级构成的指令,所述方法包括步骤:
当多个指令在同一时刻请求访问高速缓冲存储器时,在这些指令的每一级中监视对高速缓冲存储器的访问状态,同时只暂时中止这些同时访问高速缓冲存储器的指令中的一个指令的访问操作,以及
在执行了其他指令中的访问操作之后,执行被暂时中止的访问操作。
在最佳结构中,当在执行另一个指令的级的同一时刻执行延迟级中对高速缓冲存储器的访问操作时,通过滑动另一个指令及其其后的指令的相应级而避免了一次访问冲突。
在另一种最佳结构中,在访问操作中止步骤中:
当用于检查高速缓冲存储器的标记段是否具有与一个输入的地址相匹配的标记字段的标记检查级与另一个对高速缓冲存储器进行访问操作的预定级同时存在时,暂时中止其中一级的访问操作。
在另一种最佳结构中,在访问操作中止步骤中:
当用于将数据写入高速缓冲存储器中的回写级与另一个对高速缓冲存储器进行访问操作的预定级同时存在时,暂时中止其中一级的访问操作。
依据下面的详细说明,本发明的其他目的、特征和有益效果将显而易见。
依据下面的详细说明和相应的实施例附图,能够更清楚地理解本发明,但是本发明并不仅限于这些说明和附图,它们只是用于解释和理解本发明。
图1是依据本发明的一个实施例的高速缓冲存储器系统的结构方框图;
图2A是对依据该实施例的高速缓冲存储器进行正常的流水线控制的操作简图;
图2B是在流水线控制逻辑的控制之下,避免对依据该实施例的高速缓冲存储器的同步访问的操作简图;
图3是依据本发明的另一个实施例的高速缓冲存储器系统的结构方框图;
图4A是对依据该实施例的高速缓冲存储器进行正常的流水线控制的操作简图;
图4B是在流水线控制逻辑的控制之下,避免对依据该实施例的高速缓冲存储器的同步访问的操作简图;
图5是现有的高速缓冲存储器的结构简图;
图6A是进行正常的流水线控制的操作简图;
图6B是在现有的流水线控制逻辑的控制之下,避免对高速缓冲存储器的同步访问的操作简图;
下面将参照附图详细讨论本发明的最佳实施例。在下面的描述中,对许多具体细节进行了描述以提供对本发明的详尽理解。但是,对于本发明所属技术领域的技术人员来说,没有这些具体的描述显然也是可以实施本发明的。换言之,在下面的详细说明中没有对公知的结构进行描述,以免不必要地使本发明范围不清楚。
图1是依据本发明的一个实施例的高速缓冲存储器系统的结构方框图。参照图1,该实施例的高速缓冲存储器系统包括一个相应于图5所示的高速缓冲存储器500的高速缓冲存储器30,一个地址锁存器10和一个选择器20,用于执行通过地址总线110而输入到高速缓冲存储器30的地址的输入控制,一个用于保持将被写入高速缓冲存储器30的数据的数据锁存器40,以及一个用于控制地址锁存器10、选择器20和数据锁存器40的操作的控制电路50。图1只示出了本实施例的各组件的特性而省略了对其他通用组件的描述。
上述组件中的地址锁存器10位于高速缓冲存储器30与地址总线110之间,用以接收由地址总线110提供的两个分支地址中的一个地址并在后述的控制电路50的控制下锁存输入的地址。
位于高速缓冲存储器30和地址总线110之间的选择器20直接由接收地址总线110提供的一个地址,也可以接收一个通过地址锁存器10的地址,并在直接接收的地址或由地址锁存器10提供的地址中进行选择以便于向高速缓冲存储器30提供其中的一个地址。
高速缓冲存储器30相应于上述图5所示的高速缓冲存储器500,由一个标记段31和一个数据段32构成。当选择器20所提供的一个地址被输入到高速缓冲存储器30中时,将该地址与存在标记段31中的每个标记字段进行比较。当输入的地址与标记字段一致时,高速缓冲存储器30中的一个一致部分33变为有效并输出一个一致信号120。
位于高速缓冲存储器30与数据总线130之间的数据锁存器40接收由数据总线130提供的两个分支数据中的一个数据并在后述的控制电路50的控制下锁存输入的数据。此处,数据总线130所提供的数据是将被写入高速缓冲存储器30中的数据。
控制电路50接收高速缓冲存储器30提供的一致信号120并控制地址锁存器10、选择器20和数据锁存器40的操作。如后所述,在控制电路50的控制下,数据写操作被适当地延迟,使得不会有多个指令同时访问高速缓冲存储器30(访问冲突)。
下面参照图2A和2B说明实施例中的流水线控制逻辑的操作。图2A示出了正常的流水线控制操作的简图。图2B示出了在流水线控制之下的高速缓冲存储器中出现访问冲突时的操作简图。
图2A所示的流水线控制逻辑由五个指令构成:第一指令至第五指令。流水线控制逻辑中的指令数目并不仅限于五个,可以利用任意数目的指令。假设图2A所示的每个指令与图6A所示的每个指令相似,也包括IF级、RF级、EX级、TC级以及WB级。
此处,括号中的级,如第二指令的WB级、第三指令的TC级和WB级以及第四指令的TC级等,只是为了便于说明起见,而实际上并没有执行对高速缓冲存储器的访问操作。此后,在每个显示流水线控制操作的简图中,都将只是为了说明而实际上未执行对高速缓冲存储器的访问操作的级置于括号中。
在图2A所示的各指令中,例如第一指令是用于将数据写到高速缓冲存储器(st1,st2)中的指令,第二指令是无须对高速缓冲存储器进行写操作(st3)的指令,而第三指令是无须进行高速缓冲存储器访问操作(写,读)的指令。
由于每个指令已在其RF级被译码,所以在控制电路50中能够通过监测来自高速缓冲存储器30的一致信号120和来自流水线控制电路的通知来预先检测每个指令中对高速缓冲存储器的上述访问状态。
在流水线控制逻辑的控制下对高速缓冲存储器进行写操作的过程中,首先在TC级(st1)将一个地址提供给高速缓冲存储器并检查标记段31中是否具有一个与该地址相匹配的标记字段。当具有该匹配标记字段时,该数据在紧接其后的WB级(st2)以相应的一致部分的可选模式被写入高速缓冲存储器的数据段中。为了将数据写入高速缓冲存储器而利用两个级。反之,由于TC级(st3)在检查与一个地址相匹配的标记字段的存在的同时,从数据段中读出了数据,所以高速缓冲存储器的读操作在一个级中即可完成,如第二指令。
如图2A所示,当多个指令在同一时刻请求访问高速缓冲存储器时,即在检测了高速缓冲存储器访问状态之后出现访问冲突时,如第一指令的WB级(st2)和第二指令的TC级(st3),控制电路50将在第一指令的TC级中提供的写地址保存在地址锁存器10中,并将在WB级提供的数据保存在数据锁存器40中。简而言之,第一指令的TC级(st1)和WB级(st2)被暂时保留(reserve)。
如图2B所示,在完成第二指令的TC级之后,再执行第一指令的TC级(st1’)和WB级(st2’)。这能够避免由第一指令和第二指令引起的高速缓冲存储器30中的访问冲突。
如图2B所示,调换上述两个指令之间的访问顺序能够避免由第一指令和第二指令同时请求访问高速缓冲存储器30而引起的访问冲突,并且无须在流水线内进行滑动操作。
当第三或第四指令包括一个对高速缓冲存储器30的访问操作并且由指令在第一指令的延迟后的TC级(st1’)和WB级(st2’)的同时请求该访问时,按照与现有方法相同的方式滑动第三指令及其后指令中的相应级,从而避免访问冲突。
当几个指令同时请求访问高速缓冲存储器30并且只调换两个指令之间的访问顺序并不能完全避免访问冲突时,就以同于现有技术的方式来滑动这些级,从而避免访问冲突。滑动级操作延长了整个处理时间,因此与现有技术一样破坏了系统性能。
当如图2B所示只需调换两个指令之间的访问顺序就能够避免访问冲突时,在流水线控制的执行过程中就不必滑动指令级了,并且大大提高了整个系统性能。
图3是依据本发明另一个实施例的高速缓冲存储器系统的方框图。参照图3,依据该实施例的高速缓冲存储器系统包括一个高速缓冲存储器30,一个用于保存位于高速缓冲存储器30中的一致部分33上的信息的地址锁存器60,一个用于保存将被写入高速缓冲存储器30中的数据的数据锁存器40,以及一个用于控制地址锁存器10、选择器20和数据锁存器40的操作的控制电路70。图3只示出了该实施例的特征元件而省略了对其他通用元件的描述。
在上述元件中,高速缓冲存储器30和数据锁存器40分别具有与图1所示的第一实施例相同的结构,从而采用与之相同的附图标记而省略对其的说明。
地址锁存器60与高速缓冲存储器30的一条字线相连接。它接收一致部分33上的信息,所述一致部分33已在访问高速缓冲存储器30并锁存了输入信息之后,在后述的控制电路70的控制之下被激活。与图1所示的第一实施例不同的是地址锁存器60已被连接到高速缓冲存储器30的字线上;从而在地址锁存器60锁存该信息(地址)时,已在TC级选择了该字线。因此,在延迟的WB级的写操作过程中,如果在一个时钟周期内只执行WB级而保存TC级,就会这样做。不必由第四指令检查高速缓冲存储器访问的存在。
控制电路70接收高速缓冲存储器30提供的一致信号120并控制地址锁存器70和数据锁存器40的操作。如后所述,在控制电路70的控制下,适当延迟数据写操作,使得多个指令不会同时请求访问高速缓冲存储器30(访问冲突)。
下面参照图4A和4B说明依据本实施例的流水线控制逻辑的操作。图4A是正常的流水线控制逻辑的操作简图。图4B是在流水线控制逻辑的控制下,在高速缓冲存储器中发生了访问冲突时的操作简图。
图4A所示的流水线控制逻辑由五个指令构成:第一指令至第五指令。流水线控制逻辑中的指令数目并不仅限于五个,可以利用任意数目的指令。假设构成图4A所示的每个指令的级与构成图6A和图2A所示的每个指令的级相似,也包括IF级、RF级、EX级、TC级以及WB级。参照图4A,第一指令包括高速缓冲存储器写操作,第二指令包括高速缓冲存储器读操作,以及第三指令包括对高速缓冲存储器的非访问操作(写,读)。
在流水线控制逻辑的控制下对高速缓冲存储器进行写操作的过程中,首先在TC级将一个地址提供给高速缓冲存储器并检查标记段31中是否具有一个与该地址相匹配的标记字段。当具有该地址匹配标记字段时,该数据在紧接其后的WB级(st4)以相应的一致部分的可选模式被写入高速缓冲存储器的数据段中。为了将数据写入高速缓冲存储器而利用两个级。反之,由于TC级(st3)在检查与一个地址相匹配的标记字段的存在的同时,从数据段中读出了数据,所以高速缓冲存储器的读操作在一个级中即可完成,如第二指令。
如图4A所示,当多个指令在同一时刻请求访问高速缓冲存储器时,即在检测了高速缓冲存储器访问状态之后出现访问冲突时,如第一指令的WB级(st4)和第二指令的TC级,控制电路70将一致部分上的信息保存在地址锁存器60中,其中由于第一指令的TC级中所提供的写地址而在高速缓冲存储器30中激活所述一致部分,并将在WB级提供的数据保存在数据锁存器40中。简而言之,第一指令的WB级(st4)的操作被暂时保留。
如图4B所示,在完成第二指令的TC级之后,再执行第一指令的WB级(st4’)。这能够避免由第一指令和第二指令引起的高速缓冲存储器30中的访问冲突。
如图4B所示,调换上述两个指令之间的访问顺序能够避免由第一指令和第二指令同时请求访问高速缓冲存储器30而引起的访问冲突,并且无须在流水线内进行滑动操作。
当第三指令包括一个对高速缓冲存储器30的访问操作并且由指令在第一指令的延迟后的WB级(st4’)的同时请求该访问时,按照与现有方法相同的方式滑动第三指令及其后指令中的相应级,从而避免访问冲突。
当几个指令同时请求访问高速缓冲存储器30并且只调换两个指令之间的访问顺序并不能完全避免访问冲突时,就以同于现有技术的方式来滑动这些级,从而避免访问冲突。滑动级操作延长了整个处理时间,因此与现有技术一样破坏了系统性能。
当如图4B所示只需调换两个指令之间的访问顺序就能够避免访问冲突时,在流水线控制的执行过程中就不必滑动指令级了,并且大大提高了整个系统性能。
如上所述,在本实施例中,与第一实施例不同的是只有WB级被再次执行。因此,与第一实施例相比,很少发生仅以图4B所示的操作不能避免由多次对高速缓冲存储器30的访问的一致性而引起的访问冲突这样的情形。从而能够希望在整个系统性能上的更大改进。
如上所述,在同一时刻请求多次高速缓冲存储器访问时,依据本发明的高速缓冲存储器系统和对一个高速缓冲存储器进行访问的方法利用一个数据锁存器和一个地址锁存器保存被输入到高速缓冲存储器的一个地址和写数据,从而保留了一次访问操作。这能够避免对高速缓冲存储器的同步访问而无须在流水线中进行滑动操作,从而确保了高速缓冲存储器和MPU的正常操作。
如上所述,本发明不能在流水线中完全消除滑动操作。但是能够避免对高速缓冲存储器的一部分同步访问,从而通过减少流水线中的滑动操作而消除了增加整个处理时间的可能性。
尽管已根据实施例对本发明进行了说明和描述,但所属技术领域的技术人员应当理解在不偏离本发明构思和范围的前提下,可以对上述内容进行不同的修改、删减和增加。因此,应当理解本发明不受上述具体实施例的限制而应包括所有由后面权利要求的特征所限定的范围内可能实施例。
Claims (10)
1.一种高速缓冲存储器系统,用于由流水线控制逻辑控制对一个高速缓冲存储器的访问,该流水线控制逻辑用于以级为单位并行执行多个由多级构成的指令,所述系统包括:
一个高速缓冲存储器(30),在其中根据一个来自地址总线的地址,使相应的一致部分变为有效并从其中提供一个一致信号;
延迟装置,用于延迟对给定指令中的一个或更多个级的操作;以及
控制装置(50),用于在多个指令于同一时刻请求在各自相应的级中访问高速缓冲存储器(30)时,控制所述延迟装置以便于延迟多个同时访问所述高速缓冲存储器(30)的指令之一的级操作。
2.如权利要求1所述的高速缓冲存储器系统,其特征在于:
所述延迟装置还包括
位于所述高速缓冲存储器(30)和一条数据总线之间的数据锁存装置(40),用于在所述控制装置(50)的控制下,锁存将要写入所述高速缓冲存储器(30)的一个数据段中的数据。
3.如权利要求1所述的高速缓冲存储器系统,其特征在于:
所述延迟装置还包括
位于高速缓冲存储器(30)和一条地址总线之间的地址锁存装置(10),用于在所述控制装置(50)的控制下,锁存将要输入高速缓冲存储器(30)中的一个地址,以及
位于高速缓冲存储器(30)和一条地址总线之间的选择装置(20),用于直接接收来自地址总线的一个地址和由地址锁存装置(10)锁存的地址并在所述控制装置(50)的控制之下将其中一个地址提供给高速缓冲存储器(50)。
4.如权利要求1所述的高速缓冲存储器系统,其特征在于:
所述延迟装置还包括:
位于高速缓冲存储器(30)和一条地址总线之间的地址锁存装置(10),用于在所述控制装置(50)的控制下,锁存将要输入高速缓冲存储器(30)中的一个地址,
位于高速缓冲存储器(30)和一条地址总线之间的选择装置(20),用于直接接改来自地址总线的一个地址和由地址锁存装置(10)锁存的地址并在控制装置(50)的控制之下将其中一个地址提供给高速缓冲存储器(30),以及
位于高速缓冲存储器(30)和一条数据总线之间的数据锁存装置(40),用于在控制装置(50)的控制下,锁存将要写入高速缓冲存储器(30)的一个数据段中的数据。
5.如权利要求1所述的高速缓冲存储器系统,其特征在于:
所述延迟装置还包括
与高速缓冲存储器(30)的一条字线相连接的信息锁存装置(60),用于在控制装置(50)的控制下,锁存高速缓冲存储器(30)的一致部分上的信息。
6.如权利要求1所述的高速缓冲存储器系统,其特征在于:
所述延迟装置还包括
与高速缓冲存储器(30)的一条字线相连接的信息锁存装置(60),用于在控制装置(50)的控制下,锁存高速缓冲存储器(30)的一致部分上的信息,以及
位于高速缓冲存储器(30)和一条数据总线之间的数据锁存装置(40),用于在控制装置(50)的控制下,锁存将要写入高速缓冲存储器(30)的一个数据段中的数据。
7.一种访问高速缓冲存储器的方法,用于由流水线控制逻用于由流水线控制逻辑控制对一个高速缓冲存储器的访问操作,该流水线控制逻辑用于以级为单位并行执行多个由多级构成的指令,所述方法包括步骤:
当多个指令在同一时刻请求访问高速缓冲存储器(30)时,在这些指令的每一级中监视对高速缓冲存储器(30)的访问状态,同时只暂时中止这些同时访问高速缓冲存储器(30)的指令中的一个指令的访问操作;以及
在执行了其他指令中的访问操作之后,执行被暂时中止的访问操作。
8.如权利要求7所述的访问高速缓冲存储器的方法,其特征在于
当在执行另一个指令的级的同一时刻执行延迟级中对高速缓冲存储器(30)的访问操作时,通过滑动另一个指令及其其后的指令的相应级而避免了一次访问冲突。
9.如权利要求7所述的访问高速缓冲存储器的方法,其特征在于:
在所述访问操作中止步骤中:
当用于检查高速缓冲存储器的标记段是否具有与一个输入的地址相匹配的标记字段的标记检查级与另一个对高速缓冲存储器(30)进行访问操作的预定级同时存在时,暂时中止其中一级的访问操作。
10.如权利要求7所述的访问高速缓冲存储器的方法,其特征在于:
在所述访问操作中止步骤中:
当用于将数据写入高速缓冲存储器(30)中的回写级与另一个对高速缓冲存储器(30)进行访问操作的预定级同时存在时,暂时中止其中一级的访问操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP350887/1997 | 1997-12-19 | ||
JP9350887A JPH11184695A (ja) | 1997-12-19 | 1997-12-19 | キャッシュメモリ及びキャッシュメモリへのアクセス方法 |
JP350887/97 | 1997-12-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1227932A true CN1227932A (zh) | 1999-09-08 |
CN1135476C CN1135476C (zh) | 2004-01-21 |
Family
ID=18413577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB981269117A Expired - Fee Related CN1135476C (zh) | 1997-12-19 | 1998-12-19 | 通过流水线控制访问的高速缓冲存储器系统及其访问方法 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JPH11184695A (zh) |
KR (1) | KR19990063248A (zh) |
CN (1) | CN1135476C (zh) |
TW (1) | TW459201B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1304956C (zh) * | 2003-11-20 | 2007-03-14 | 国际商业机器公司 | 使用并行访问卷控制对逻辑卷的访问的装置和方法 |
CN1308841C (zh) * | 1999-12-30 | 2007-04-04 | 英特尔公司 | 进行循环和锁存高速缓冲存储器替换方案的方法和设备 |
CN100362839C (zh) * | 2003-12-29 | 2008-01-16 | 中兴通讯股份有限公司 | 基于流水线的多队列顺序化缓冲管理电路及方法 |
CN102053819A (zh) * | 2009-10-26 | 2011-05-11 | 索尼公司 | 信息处理设备和信息处理设备的指令解码器 |
US8200900B2 (en) | 2008-05-28 | 2012-06-12 | Fujitsu Limited | Method and apparatus for controlling cache memory |
WO2013097246A1 (zh) * | 2011-12-31 | 2013-07-04 | 华为技术有限公司 | 高速缓冲存储器控制方法、装置和系统 |
CN104516685A (zh) * | 2013-10-04 | 2015-04-15 | 国际商业机器公司 | 网络附加存储系统和用于其中的请求处理的对应方法 |
CN110993005A (zh) * | 2019-12-11 | 2020-04-10 | 海光信息技术有限公司 | 电路结构、芯片、训练方法及训练装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4667092B2 (ja) * | 2005-03-17 | 2011-04-06 | 富士通株式会社 | 情報処理装置、情報処理装置におけるデータ制御方法 |
US8108621B2 (en) * | 2009-05-27 | 2012-01-31 | Via Technologies, Inc. | Data cache with modified bit array |
-
1997
- 1997-12-19 JP JP9350887A patent/JPH11184695A/ja active Pending
-
1998
- 1998-12-18 TW TW087121234A patent/TW459201B/zh not_active IP Right Cessation
- 1998-12-19 KR KR1019980056471A patent/KR19990063248A/ko not_active Application Discontinuation
- 1998-12-19 CN CNB981269117A patent/CN1135476C/zh not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1308841C (zh) * | 1999-12-30 | 2007-04-04 | 英特尔公司 | 进行循环和锁存高速缓冲存储器替换方案的方法和设备 |
CN1304956C (zh) * | 2003-11-20 | 2007-03-14 | 国际商业机器公司 | 使用并行访问卷控制对逻辑卷的访问的装置和方法 |
CN100362839C (zh) * | 2003-12-29 | 2008-01-16 | 中兴通讯股份有限公司 | 基于流水线的多队列顺序化缓冲管理电路及方法 |
US8200900B2 (en) | 2008-05-28 | 2012-06-12 | Fujitsu Limited | Method and apparatus for controlling cache memory |
CN101593158B (zh) * | 2008-05-28 | 2012-07-25 | 富士通株式会社 | 控制高速缓冲存储器的方法和装置 |
CN102053819A (zh) * | 2009-10-26 | 2011-05-11 | 索尼公司 | 信息处理设备和信息处理设备的指令解码器 |
WO2013097246A1 (zh) * | 2011-12-31 | 2013-07-04 | 华为技术有限公司 | 高速缓冲存储器控制方法、装置和系统 |
CN104516685A (zh) * | 2013-10-04 | 2015-04-15 | 国际商业机器公司 | 网络附加存储系统和用于其中的请求处理的对应方法 |
CN110993005A (zh) * | 2019-12-11 | 2020-04-10 | 海光信息技术有限公司 | 电路结构、芯片、训练方法及训练装置 |
CN110993005B (zh) * | 2019-12-11 | 2021-03-26 | 海光信息技术股份有限公司 | 电路结构、芯片、训练方法及训练装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1135476C (zh) | 2004-01-21 |
TW459201B (en) | 2001-10-11 |
JPH11184695A (ja) | 1999-07-09 |
KR19990063248A (ko) | 1999-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1199117C (zh) | 信源同步及公共时钟协议中的数据传输 | |
CN1135476C (zh) | 通过流水线控制访问的高速缓冲存储器系统及其访问方法 | |
TWI294573B (en) | Apparatus and method for controlling establishing command order in an out of order dma command queue, and computer readable medium recording with related instructions | |
CN1142503C (zh) | 多处理机数据处理系统中同级到同级的超高速缓存移动 | |
TWI317482B (en) | Wide-port context cache apparatus, systems and methods, and machine-accessible medium having associated information | |
US6529416B2 (en) | Parallel erase operations in memory systems | |
US6381678B2 (en) | Processing ordered data requests to a memory | |
CN1180430A (zh) | 不按顺序执行读写指令的存储器控制器 | |
CN1746867A (zh) | 使用核心指示符的高速缓存过滤 | |
JP2009528584A5 (zh) | ||
EP0019358A1 (en) | Hierarchical data storage system | |
CN1287296C (zh) | 减少快取储存器标签阵列存取动作的系统及其方法 | |
CN1760847A (zh) | 总线桥和数据传输方法 | |
US20110022802A1 (en) | Controlling data accesses to hierarchical data stores to retain access order | |
US8688890B2 (en) | Bit ordering for communicating an address on a serial fabric | |
EP2722763A1 (en) | Arithmetic processing unit, information processing device, and arithmetic processing unit control method | |
US7120764B2 (en) | Method and related apparatus for controlling data transmission in a memory | |
CN111158753A (zh) | 具有数据预取功能的Flash控制器结构及其实现方法 | |
CN1650288A (zh) | 用于从集成电路的非易失性存储器中取数据的方法和相应的集成电路 | |
US7424556B1 (en) | Method and system for sharing a receive buffer RAM with a single DMA engine among multiple context engines | |
US5812815A (en) | Address tenure control for cache management wherein bus master addresses are internally latched in a cache controller | |
US8127082B2 (en) | Method and apparatus for allowing uninterrupted address translations while performing address translation cache invalidates and other cache operations | |
CN1441566A (zh) | 使用三步通信缓存的通信设备 | |
US5781916A (en) | Cache control circuitry and method therefor | |
CN1107272C (zh) | 微处理器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
ASS | Succession or assignment of patent right |
Owner name: NEC ELECTRONICS TAIWAN LTD. Free format text: FORMER OWNER: NIPPON ELECTRIC CO., LTD. Effective date: 20030328 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20030328 Address after: Kawasaki, Kanagawa, Japan Applicant after: NEC Corp. Address before: Tokyo, Japan Applicant before: NEC Corp. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |