CN101142562A - 总线控制器 - Google Patents
总线控制器 Download PDFInfo
- Publication number
- CN101142562A CN101142562A CNA2006800082931A CN200680008293A CN101142562A CN 101142562 A CN101142562 A CN 101142562A CN A2006800082931 A CNA2006800082931 A CN A2006800082931A CN 200680008293 A CN200680008293 A CN 200680008293A CN 101142562 A CN101142562 A CN 101142562A
- Authority
- CN
- China
- Prior art keywords
- address
- data
- instruction
- flash memory
- processor
- 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 claims abstract description 156
- 238000003860 storage Methods 0.000 claims description 165
- 230000003139 buffering effect Effects 0.000 claims description 38
- 230000000694 effects Effects 0.000 claims description 20
- 230000006866 deterioration Effects 0.000 abstract description 2
- 238000004904 shortening Methods 0.000 abstract 1
- 238000012856 packing Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000000034 method Methods 0.000 description 6
- 230000014759 maintenance of location Effects 0.000 description 3
- 102100035589 Distal membrane-arm assembly complex protein 2 Human genes 0.000 description 2
- 101000930307 Homo sapiens Distal membrane-arm assembly complex protein 2 Proteins 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- ATTRMYMZQWIZOR-RRKCRQDMSA-N 4-amino-1-[(2r,4s,5r)-4-hydroxy-5-(hydroxymethyl)oxolan-2-yl]-6-methyl-1,3,5-triazin-2-one Chemical compound CC1=NC(N)=NC(=O)N1[C@@H]1O[C@H](CO)[C@@H](O)C1 ATTRMYMZQWIZOR-RRKCRQDMSA-N 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
- G06F13/4059—Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Bus Control (AREA)
Abstract
提供一种总线控制器,其缩短到闪存结束为止的时间,从而避免处理器的性能恶化。总线控制器(100)包括:FIFO(111),其以先进先出方式暂时保存从处理器向存储器存储的存储数据;闪存指针(112),其保存指向接受了触发信号时存储在FIFO(111)中末尾的数据的指针;存储控制部(113),其按照触发信号,把FIFO(111)保存的数据中的,从开头数据到闪存指针(112)指向的数据为止写入存储器,来对FIFO(111)进行部分闪存;等待电路(102),到存储控制部(113)的部分闪存结束为止,其对由处理器执行的特定存取指令发生等待信号。
Description
技术领域
本发明涉及具备了在处理器和存储器之间的缓冲部的总线控制器。
背景技术
有一种具备了缓冲部的结构以用于隐藏处理器和从属设备之间的存取延迟。该缓冲部中暂时存储从处理器向从属设备存储的存储数据。从缓冲部向从属设备传送存储数据不受处理器的控制,可独自执行。
为使处理器确认存储在缓冲部的存储数据已被写入从属设备,存在一种处理器读取从属设备的方法。即,由处理器执行特定的读取指令,从而将保存在缓冲部的存储数据进行一次性闪存(flash)。在此,所谓闪存是指将存储在缓冲部的数据全部写入从属设备。
图15示出以往技术中的总线控制器的结构,该总线控制器具备了在处理器和从属设备之间的缓冲部。该总线控制器76具备纵横开关77和缓冲部78,在主设备与从属设备之间进行总线控制,并控制向设备73的存储数据的缓冲,所述主设备是处理器71及DMAC(Direct MemoryAccess Controller:直接内存存取控制器)72,所述从属设备是存储器73、设备74及设备75。
该图中,处理器71和DMAC72是主设备,并且有三个从属设备。还有纵横开关77,该纵横开关77用于总线连接主设备和从属设备,总线控制器76控制该连接。处理器71向存储器73存储的数据在缓冲部78被缓冲。用于所述闪存的闪存触发信号根据装入指令被生成。处理器根据装入指令的结束来确认存储器73的数据的一致性受到保证,确认后把用于启动DMA(Direct Memory Access:直接内存存取)对DMAC的触发信号变成有效。
程序1示出程序的例子。
<程序1>
line1:mov r0,0x0
line2:mov a0,0x0
line3:st @a0,r0
line4:ld r15,@a0
在line3,处理器71向设备73存储数据。该数据暂时被保存在缓冲部78。在line4,处理器从设备73装入数据。由此缓冲部78开始闪存。到闪存结束为止,处理器71进行联锁(interlock),闪存结束后接受针对装入的应答。由此处理器71可以确认line3的写入动作结束,即一致性得到保证。
以往要保证一致性时,对总线设置高速的寄存器以使读取动作高速化(例如,参照专利文献1)。另外,也有的是把读取分为两次指令来执行,处理器可以从第一次指令到第二次指令为止执行指令(例如,参照专利文献2)。
专利文献1:日本国专利第2917659号公报
专利文献2:日本国特开平4-123241号公报
然而,根据上述以往的技术,虽然实现了确认闪存结束的高速化,但是存在闪存需要花费较长时间的问题。由于要花费闪存所需的时间以及用于确认闪存的读取的延迟时间,所以使处理器的性能恶化。
闪存所需的时间也取决于缓冲部的电容量,最长则需要将缓冲部的电容量的数据回写所花费的时间。
具体而言,为了保证一致性,在根据读取指令来一次性进行缓冲并闪存的期间,如果使处理器不执行后续的存储指令,则应该闪存的数据量减少,但是这会推迟执行后续的存储指令。如果要执行后续的存储指令,由于要闪存包括所执行的存储指令的数据,因此闪存所需时间变长。即,在需要迅速确认向从属设备的写入动作的情况下,则变得不能执行存储指令。例如,在确认了写入动作结束之后,开始以从属设备作为源的DMA传送的情况下,则以闪存所需的时间短为佳。
发明内容
本发明的目的在于提供一种总线控制器,以缩短从触发信号发生到闪存结束为止的时间,从而避免处理器的性能恶化。
本发明的总线控制器控制处理器和存储器之间的总线,该控制器包括:缓冲单元,其以先进先出方式暂时保存从处理器向存储器的存储数据;接受单元,其接受用于指示所述缓冲单元的部分闪存的触发信号;指针保存单元,其保存指针,该指针在所述触发信号被接受时指向保存在缓冲单元中末尾的数据;写入单元,其按照所述触发信号,把保存在所述缓冲单元的数据中、从开头数据到所述指针指向的数据为止写入存储器,从而向所述缓冲单元进行部分闪存;等待产生单元,直到由所述写入单元结束所述部分闪存为止,其对由处理器执行的特定存取指令产生等待信号。
根据这种构成,由于到缓冲单元成为空为止不闪存全部数据,而部分闪存应该闪存的数据(到接受触发信号时的数据为止),因此可以缩短从触发信号发生到闪存结束为止的时间。由此,能避免处理器的性能恶化。
并且,由于可以在所述指针指向的数据后段的缓冲区域中保存存储数据,因此可以在处理器执行部分闪存结束之前执行后续的存储指令。其结果为,能提高处理器的处理效率。
在此,所述接受单元也可以在执行存取所述存储器的指令以外的指令时,接受从处理器输出的所述触发信号。
根据这种结构,存取所述存储器的指令以外的指令,例如,存取其他设备的指令、发生触发信号的专用指令等,能够以更短的延迟时间输出触发信号。
在此,所述处理器执行带部分闪存的存储指令时,所述接受单元也可以接受处理器输出的所述触发信号。
根据这种结构,触发信号可以与所述存储指令同时被发行,以保证该存储指令的数据的一致性。
在此,所述特定的存取指令也可以是存取与所述存储器不同的设备的指令。
根据这种结构,与所述存储器不同的设备,例如,比存储器延迟时间短的设备、专用的设备等,处理器可以以更短的延迟时间来确认闪存的结束。
在此,所述特定的存取指令也可以是装入指令。
根据这种结构,可以兼用存取所述存储器的指令和闪存结束的确认。例如,可以是在处理器确认了装入指令结束之后,启动其他主设备(DMAC等)等方法。
所述缓冲单元也可以包括:数据缓冲部,其以先进先出方式暂时保存从处理器向存储器的存储数据;地址缓冲部,其保存与所述存储数据相对应的地址;以及比较单元,其对从处理器输出的装入地址和保存在地址缓冲部的地址进行比较,所述等待产生单元在由比较单元进行比较的结果为装入地址和保存在地址缓冲部的地址相一致的情况下,产生所述等待信号。
根据这种结构,可以限定为与后续的装入指令的地址相一致的存储数据,来产生等待信号。
所述地址缓冲部也可以保存地址,该地址分别与在接受了所述触发信号时保存在缓冲单元的、从开头数据到末尾数据为止的数据相对应,所述比较单元对分别与保存在地址缓冲部的、从开头数据到末尾数据为止的数据相对应的地址,和从处理器输出的装入地址进行比较。
根据这种结构,可以更可靠地保证在接受了所述触发信号时,保存在缓冲单元的从开头数据到末尾数据为止的数据的一致性。
所述地址缓冲部也可以保存地址,该地址分别与在所述触发信号被接受时保存在缓冲单元的、从开头数据到末尾数据为止的数据相对应,所述比较单元对分别与所述部分闪存的对象数据中写入存储器的数据相对应的地址和从处理器输出的装入地址不进行比较,而对分别与所述部分闪存的对象数据中未写入存储器的数据相对应的地址和从处理器输出的装入地址进行比较。
根据这种结构,由于能对部分闪存的对象数据中,未写入存储器的数据保证其一致性,因此在已经写入的情况下不让装入工作等待,因此不会使处理器的性能恶化。
所述比较单元也可以还对从处理器输出的存储地址和保存在地址缓冲部的地址进行比较,如果由比较单元进行比较的结果为所述存储地址和保存在地址缓冲部的任一个地址相一致时,并且处于所述部分闪存已结束的状态,则所述等待发生单元使下列动作产生等待,所述动作是与相一致的地址对应的数据从数据存储器向存储器的写入动作,之后由比较单元进行比较的结果为处理器输出的装入地址和保存在地址缓冲部的任一个地址相一致时,所述等待发生单元清除地址缓冲部。
根据这种结构,可以在检查从数据缓冲部向存储器的写入动作结束的装入指令(称为第二指令。)和发行了触发信号的存储指令(称为第一指令。)之间,设置向与部分闪存的对象数据相同地址的存储指令(称为第三指令。)。原因是使第三指令的闪存等待到部分闪存结束为止。由此,由于可以在第一指令和第二指令之间记述第三指令,因此能够高效率地记述程序。
所述比较单元也可以还对从处理器输出的存储地址和保存在地址缓冲部的地址进行比较,如果由比较单元进行比较的结果为所述存储地址和保存在地址缓冲部的任一个地址相一致时,且处于所述部分闪存已结束的状态,则所述等待发生单元使下列动作产生等待,所述动作是与相一致的地址对应的数据从数据存储器向存储器的写入动作,所述特定的存取指令结束时,所述等待发生单元清除地址缓冲部。
根据这种结构,由于可以在第一指令和第二指令之间记述第三指令,因此能够高效率地记述程序。并且,也可以把不保存在地址缓冲部的地址作为装入地址的装入指令当作第二指令,从而提高程序的自由度。
所述总线控制器也可以还包括:第二缓冲单元,其与所述缓冲单元结构相同,将所述缓冲单元作为第一缓冲单元;指示单元,其把第一缓冲单元及第二缓冲单元作为当前缓冲单元来指示;切换单元,其按照触发信号来切换指示单元的当前指示,所述写入单元及等待产生单元把不是当前缓冲的缓冲单元作为对象,当前的缓冲单元保存来自处理器的存储数据。
根据这种结构,即使是具备多个缓冲单元的总线控制器,也可以用触发信号来切换缓冲单元并进行部分闪存。另外,可以在触发信号发生之后,确保能缓冲存储数据的缓冲电容量至少为一个缓冲单元的电容量。
发明的效果:
本发明可以隐藏缓冲部的闪存(写入)和读取的延迟,从而提高处理器的工作性能。
并且,为了保证一致性,处理器可以在一次性进行缓冲并闪存的期间执行存储指令,同时,由于可以只对最低限度的数据执行闪存,因此能迅速确认向从属设备的写入动作结束。
附图说明
图1是示出实施例1的处理器、设备及总线控制器的结构方框图。
图2是示出执行了第一指令时缓冲部的状态图。
图3是示出正在进行部分闪存的缓冲部的状态图。
图4是示出正在进行部分闪存的缓冲部的状态图。
图5是示出部分闪存结束时,缓冲部的状态图。
图6是示出程序例2的图。
图7是示出实施例2的处理器、设备及总线控制器的结构方框图。
图8是示出FIFO(FIRST IN FIRST OUT:先进先出)及地址比较部的详细结构方框图。
图9是示出程序例3的图。
图10是示出实施例3的处理器、设备及总线控制器的结构方框图。
图11是示出FIFO及地址比较部的详细结构方框图。
图12是示出程序例4的图。
图13是示出实施例4的处理器、设备及总线控制器的结构方框图。
图14是说明缓冲部410a和410b的切换的图。
图15是示出以往技术中的处理器、设备及总线控制器的结构方框图。
符号说明
1 处理器
2 DMAC
3 存储器
4 设备
5 设备
100 总线控制器
101 纵横开关
102 等待电路
110 缓冲部
111 FIFO
112 闪存指针
113 存储控制部
202 等待电路
210 缓冲部
211 FIFO
112 写入指针
213 存储控制部
214 地址比较部
21d至24d 数据锁存器
21a至24a 地址锁存器
25至28 比较器
29 判断部
30 逻辑电路
31 D触发器
32 D触发器
302 等待电路
310 缓冲部
314 地址比较部
410a 缓冲部
410b 缓冲部
411 当前指针
412 选择器
具体实施方式
<实施例1>
实施例1的总线控制器不把缓冲部中所有的数据进行闪存,取而代之把应该闪存的数据(到接受了触发信号时的数据为止)进行部分闪存。由此,可以缩短从触发信号发生到闪存结束为止的时间。
图1是示出本发明的实施例1的处理器、设备及总线控制器的结构方框图。该图中,处理器1和DMAC2作为主设备,通过总线向作为从属设备的存储器3、设备4和5进行存取。总线控制器100包括纵横开关101、等待电路102及缓冲部110。并且,缓冲部110包括FIFO111、闪存指针112及存储控制部113。
处理器1在执行第一指令时,输出闪存触发信号,该闪存触发信号向缓冲部110指示进行部分闪存。在此,部分闪存是指,把保存在FIFO111的数据中的从开头到闪存触发被输出为止的数据,从FIFO111向存储器3进行写入。并且,第一指令也可以只是使闪存触发发生的操作指令,或带部分闪存的存储指令(带闪存触发的存储指令)等。
总线由纵横开关101与主设备及从属设备相连接,缓冲部110设置在处理器1和存储器3之间。数据传送由总线控制器100来控制。但是,由DMAC2进行的DMA传送,可不经由FIFO111而直接向存储器3存取。
FIFO111以先进先出方式暂时保存从处理器1向存储器3存储的存储数据。例如,FIFO111为四段结构,其包括以缓冲部4为输出端、以缓冲部1为输入端的四个缓冲部。
闪存指针(FP)112是保存指针的寄存器,该指针指向接受了触发信号时保存在FIFO111中末尾的数据。闪存指针112由来自处理器1的闪存触发来设定,到所设定的数据被写出为止,与该数据一起移动。所设定的数据一被写出,则闪存指针112取任何缓冲部都不指向的位置(为了方便起见,称其为“空”(NULL))。例如,在FIFO111为四段结构的情况下,如果缓冲部4作为输出端,缓冲部1作为输入端,则闪存指针112可取得从4至1为止的值。在向存储器3写入的同时该值被递减,闪存结束后成为0(空)。
存储控制部113通常(闪存指针112为“空”时)利用总线的空闲周期(即根据周期挪用)从FIFO111向存储器3写入数据。并且,存储器控制部113接受从处理器1输出的闪存触发信号,设定闪存指针112,并把保存在FIFO111的数据中从开头数据到闪存指针112指向的数据为止的数据写入存储器3,从而从FIFO111向存储器3进行部分闪存。此时,到闪存指针112成为“空”为止,即部分闪存结束为止,存储控制部113使等待指示信号W成为有效,该等待指示信号W用于指示等待电路102以发生等待信号。
在从存储控制部113输出的等待指示信号W是有效的情况下,等待电路102对由处理器1来执行的特定的存取指令发生等待信号。特定的存取指令是用于确认处理器1的部分闪存动作结束的指令(以下称为第二指令。),本实施例中是对设备4的读取存取指令。设备4可以是与存储器3不同的输入输出(I/O:in/out)或存储器,也可以是专用输入输出。
图2是示出执行了第一指令时FIFO111的状态图。
处理器1一执行第一指令,则闪存触发变为有效。该图中,由于FIFO111中已经保存有存储数据A、B和C,因此存储控制部113把闪存指针112设为指向末尾的存储数据C,并开始部分闪存,使等待指示信号W成为有效。
接着,若存储控制部113将存储数据A写入存储器3,则如图3所示,闪存指针112与存储数据C一起移动。图3中,处理器1进一步执行两个存储指令,并且存储数据D和E被存储在FIFO111中。该状态下,处理器1通过执行第二指令读取设备4时,等待电路102使读取动作的结束发生等待。
并且,若存储器控制部113将存储数据B写入存储器3,则如图4所示,闪存指针112与存储数据C一起移动。即使在图4所示的状态下,等待指示信号W也仍然有效。
接着,若存储控制部113将存储数据C写入存储器3,则如图5所示,闪存指针112为“空”。由此,等待指示信号W变为无效。据此,解除针对处理器1向设备4的读取动作的等待。再者,使读取动作结束进行等待的等待信号与存储在FIFO111的数据的写入地址没有关系。
图6是示出程序例2的图。该图中r0、r1、r2和r15是数据寄存器。a0、a1和a2是地址寄存器。mov是向寄存器传送数据的指令。st指令是从数据寄存器向地址寄存器所示的地址传送数据的指令。1d指令是向寄存器传送存储数据的指令,该存储数据是地址寄存器所示的地址的存储数据。
并且,stf指令是第一指令中的一个指令,其命令在向设备4存储数据的同时生成闪存触发,最后把闪存指针112设为指向存储在FIFO111的数据(末尾的数据)。ldf指令是第二指令中的一个指令,其命令从设备4进行装入数据,等待指示信号W有效时使读取动作结束等待。如果ldf指令结束,就可以保证stf指令之前所执行的写入指令已结束。
程序例2假设根据line1紧前的程序已经将存储数据(3)存储到FIFO111。以下,把工作例子分为情况1和情况2进行说明。
<情况1>
通过执行line3的stf指令,最终把闪存指针设为指向最后存储到FIFO111的存储数据(3)。
通过执行line6的st指令,存储数据(4)被存储到缓冲部。存储数据(5)被存储到缓冲部。
执行了line10的ldf指令时,存储数据(3)被存储到缓冲部1。由此,等待信号为有效,装入动作不结束。存储数据(3)从缓冲部0被写出后装入动作结束。可以在检查写入动作结束的装入指令与作为闪存触发的指令之间执行存储指令(line6和line9)。由于按照该存储指令所存储的存储数据(4)和存储数据(5)是部分闪存的对象之外,所以不会使处理器的性能恶化。
<情况2>
并且,如果执行了line10的ldf指令时,所掌握的数据已经全部被回写,则装入指令不等待。存储数据(4)和存储数据(5)也可以被回写。
下面进一步说明实施例1的变化实施例。
(1)即使stf指令是存取同一从属设备的指令也可以被实施。此时,按stf指令而存储的数据既可以作为非闪存对象来构成,也可以作为闪存对象来构成。
(2)第一指令(生成闪存触发的指令)为存储指令,但不限定为存储的操作。
(3)设在执行stf指令时闪存触发为有效,此外也可以设对特定的地址执行存储指令(st)时闪存触发为有效。例如可以设在存取设备4的特定地址时,闪存触发为有效。这种情况下,还设有对特定的地址进行解码的部件,在存取特定地址时,闪存触发为有效。ldf指令也同样,可以设存取特定地址时,进行等待控制。
(4)ldf指令设为命令对与缓冲后的数据的所写入的从属设备不同的从属设备进行存取,此外也可以是存取同一从属设备的指令。另外可以不限定从属设备,可设为延迟时间短的从属设备。
(5)第二指令设为装入指令,但不限定为装入的操作。只要具备可在等待信号有效期间通过联锁处理器来操作等待的部件即可。
<实施例2>
实施例2中,对作为缓冲对象的存储器3执行stf指令。并且,部分闪存过程中对存储器3执行了ld指令时,通过使其等待来保证一致性。
图7是示出实施例2的处理器、设备及总线控制器的结构方框图。该图的结构与实施例1说明的图1所示的结构相比不同点为:代替总线控制器100而具备总线控制器200,以及删除了等待电路102。因为与图1中符号相同的构成要素相同,所以省略其说明,以下以不同点为中心进行说明。
总线控制器200与总线控制器100相比不同点为:代替缓冲部110而具备缓冲部210。
缓冲部210包括:闪存指针112、FIFO211、地址比较部214及等待电路202。
FIFO211与FIFO111同样保存存储数据,除此之外还保存地址标记。FIFO211在接受了闪存触发时,把分别与保存在FIFO211的开头到末尾为止的存储数据相对应的地址作为地址标记进行保存,并持续保存到末尾的存储数据被写出到存储器3为止。即,地址标记从闪存触发发生到部分闪存结束为止持续被保存。例如,存储数据的写入处地址和以往一样保存在缓冲部内部,但闪存触发变成有效时,在FIFO211内写入处地址被复制为地址标记。
地址比较部214比较地址标记和装入地址,该地址标记分别与保存在FIFO211的开头到末尾为止的存储数据相对应,所述装入地址在执行装入指令时由处理器输出。
等待电路202与等待电路102不同,由地址比较部214进行比较的结果为地址标记中的任一个和装入地址相一致时,所述等待电路202对处理器1发生等待信号。
图8是示出FIFO211及地址比较部214的详细结构方框图。FIFO211包括数据锁存器21d至24d和地址锁存器21a至24a。
数据锁存器21d至24d构成数据缓冲电路,其以先进先出方式保存从处理器1向存储器3存储的存储数据。
地址锁存器21a至24a构成保存所述地址标记的锁存电路。
地址比较部214包括比较器25至28、判断部29、逻辑电路30及D触发器31。
比较器25将地址锁存器21a的地址标记和正在执行装入指令的处理器所输出的装入地址进行比较。比较器26至28除了分别对地址锁存器22a至24a的地址标记进行比较之外,其他工作与比较器25相同。但是,比较器25至28只在来自判断部29的允许(enable)信号为有效时进行比较工作。
判断部29把比较器25至28中与地址锁存器相对应的比较器变为允许,该地址锁存器与接受了闪存触发时的闪存指针112所指向的存储数据到开头的存储数据为止相对应。由判断部29把比较器变为允许并一直持续到部分闪存结束为止。例如,如果在接受了闪存触发时闪存指针112指向数据锁存器23d的存储数据,则到部分闪存结束为止,判断部29使比较器25至比较器27变为允许。
逻辑电路30取比较器25至比较器28的比较结果的“逻辑或”。即,如果比较器25至比较器28中与由判断部29变为允许的比较器中的一个相一致,则输出一致信号。
D触发器31在装入周期保存来自逻辑电路30的一致信号,并将其向等待电路202输出。等待电路202接受来自D触发器31的一致信号,并针对装入指令的执行向处理器1输出等待信号。
图9是示出程序例3的图。下面把该工作例分为情况1和情况2进行说明。
<情况1>
通过执行line6的stf指令,闪存指针被设为指向最后存储在缓冲部的存储数据(3)。同时,存储数据(1)、存储数据(2)和存储数据(3)的地址作为地址标记被保存。
通过执行line9的st指令,存储数据(4)被存储到缓冲部。
通过执行line12的st指令,存储数据(5)被存储到缓冲部。
由于执行了line13的ld指令时,地址标记和ld指令的源地址不一致,因此执行ld指令。
执行了line14的ld指令时,与存储数据(2)相对应的地址标记和ld指令的源地址一致。此时,等待信号为有效,装入动作不结束。存储数据(3)从缓冲部0被写出之后,地址标记被清除。随着地址被清除,等待信号被解除,则装入动作结束。如上所述,可以在检查写入动作结束的装入指令(第二指令)和成为闪存触发的指令(第一指令)之间执行存储指令。而且,由于其结构为使line13的ld指令执行,使line14的ld指令等待,因此可以只限定在后续的装入指令的装入地址和作为部分闪存对象的存储数据的存储地址相一致的情况下,产生等待信号。
<情况2>
执行line14的ld指令时,如果存储数据已经全部被回写,则装入指令不受等待。此时,存储数据(4)和存储数据(5)也可以被回写。
如此,实施例2中,stf指令作为触发,在该时刻根据地址标记掌握存储在缓冲部的数据和存取地址,所述地址和ld指令的存取地址相一致时通过使执行ld指令进行等待来保证一致性。
下面进一步说明实施例2的变化实施例。判断部29可以只把与地址锁存器相对应的比较器变为允许,该地址锁存器与从闪存指针112指示的存储数据到开头的存储数据为止相对应。此时,与应该部分闪存的几个存储数据中写入存储器的存储数据相对应的地址不成为比较对象。
根据这种结构,由于只对部分闪存对象数据中不写入存储器的数据能够保证一致性,因此可以避免已经写入却使存储工作等待而发生不必要的联锁,从而不使处理器的性能恶化。
并且,line14被设为ld指令,但也可以设为ldf指令。根据这种结构,可以判断部分闪存的对象数据是否全部被回写。
<实施例3>
实施例3中,总线控制器的结构为,可以在检查部分闪存结束的装入指令(第二指令)和成为闪存触发的指令(第一指令)之间,执行存储指令(称为第三指令),以向与存储地址群的相同的地址存储数据,所述存储地址群分别与部分闪存的对象数据相对应。由此,第三指令的写入动作一直等待到数据的写入动作结束为止,该数据是由于闪存触发的发行而成为检查对象的部分闪存的对象数据。由此能够在第一指令和第二指令之间记述第三指令,从而高效率地记述程序。
因此,与实施例2的不同点为:地址标记在部分闪存结束后也不被清除,一直被保存到之后的ldf指令执行结束为止,而通过ldf指令的执行结束被清除。另一个不同点为对存储地址也进行地址比较。
图10是示出实施例3中处理器、设备及总线控制器的结构方框图。该图的结构与实施例2中说明的图7所示的结构相比不同点为:代替总线控制器200而具备总线控制器300。总线控制器300与总线控制器200相比不同点为代替缓冲部210而具备缓冲部310。缓冲部310与缓冲部210相比不同点为:代替地址比较部214而具备地址比较部314;新增加了等待电路302;代替存储控制部213而具备存储控制部313。由于符号相同的构成要素相同,所以省略其说明,以下以不同点为中心进行说明。
地址比较部314与地址比较部214同样进行装入地址的比较,除此之外对正在执行存储指令的处理器1的存储地址,和分别与保存在FIFO211的从开头到末尾为止的存储数据相对应的地址标记进行比较。
地址比较部314所比较的结果为地址标记中的任一个与存储地址相一致时,等待电路302向存储控制部313发生等待信号。这是为了在第一指令结束后而第二指令未结束的情况下禁止第三指令,即禁止存储数据的写入动作。总之是为了在第一指令结束后且第二指令也结束后,才执行第三指令,即执行存储数据的写入。
存储控制部313与存储控制部213相比不同点为:即使部分闪存结束也不清除地址标记,而在之后的第二指令(ldf指令)的执行结束时进行;接受来自等待电路302的等待信号,以使从缓冲部310向存储器3的写入动作等待。
图11是示出FIFO211及地址比较部314的详细结构方框图。该图的结构与实施例2中说明的图8所示的结构相比,不同点为代替地址比较部214而具备地址比较部314。地址比较部314与地址比较部214相比不同点为,不仅只输入装入地址,且输入装入地址及存储地址;增加了D触发器32。由于符号相同的构成要素相同,所以省略其说明,以下以不同点为中心进行说明。
由于向地址比较部314输入装入地址及存储地址,因此在装入地址被输入的情况和存储地址被输入的情况下,比较器25至28都将其与地址标记进行比较。该比较到部分闪存结束之后也持续进行到第二指令结束为止。如果第二指令结束,地址标记被清除且比较结果为不一致时,则结束比较。
D触发器31保存处理器1执行装入指令时的一致信号。D触发器32保存处理器1执行存储指令时的一致信号,并将其向存储控制部313输出。
图12是示出程序例4的图。关于情况1和情况2来说明该工作例。
<情况1>
通过执行line6的stf指令,设闪存指针指向最后被存储到缓冲部的存储数据(3)。同时,存储数据(1)、存储数据(2)和存储数据(3)的地址作为地址标记被保存。
通过执行line9的st指令,存储数据(4)被存储到缓冲部。
通过执行line12的st指令,存储数据(5)被存储到缓冲部。另外,存储数据(6)不被存储到缓冲部。此时闪存指针不为“空”。
执行了line16的ldf指令时,地址标记和ldf指令的源地址相一致。因此,等待信号有效,装入动作不结束。从缓冲部向存储器3写出存储数据(3)时,地址标记的地址被清除,等待信号被解除后装入动作结束。如此,可以在检查写入动作结束的装入指令和作为闪存触发的指令之间执行存储指令。再者,结束执行ldf指令和清除地址标记被同时进行。
<情况2>
设到执行line16的ldf指令为止,存储数据(1)和存储数据(2)已经被回写。存储数据(3)将要被回写时,与存储在地址标记的地址相一致。此时,闪存指针指向缓冲部0。总线控制器回写存储数据(3),闪存指针为“空”。
接着,存储数据(4)和存储数据(5)被回写。存储数据(6)将要被回写时,与存储在地址标记的地址相一致。此时,写入指针指向“空”。总线控制器使存储数据(6)的回写动作等待。
并且,按照line16的ldf指令地址标记被清除。由此,与存储在地址标记的地址不一致,执行等待中的存储数据(6)的回写动作。即,按照line16的ldf指令,存储数据(2)0x0被装入,按照line17的ld指令,存储数据(6)0x4被装入。
如上所述,<情况1>中,把stf指令作为触发,掌握该时刻存储在缓冲部的数据以及存取地址群,在所述存取地址群和ldf指令的存取地址相一致时,由于闪存指针不指向“空”,所以使ldf指令的结束等待到所述数据被回写为止。并且,以在line15和line16之间增加设置了ld指令’的例子来进一步说明的话,可以在所述存取地址群与该ld指令’的存取地址相一致时,到所述数据被回写为止使ld指令’的结束等待。
另外,<情况2>中,第一指令之后发行的st指令的数据被存储在缓冲部,如果所述存取地址群与st指令的存取地址不一致则所述数据被回写,如果相一致且闪存指针不指向“空”则所述数据被回写,如果相一致且闪存指针指向“空”,则到ldf指令结束为止所述数据不被回写。
由此,可以在检查写入动作结束的装入指令和作为闪存触发的指令之间,在与作为回写对象的指令相同的地址设置存储指令,从而更有效地记述程序。
再者,实施例3中,把line16作为ldf指令,并设其装入地址与保存在地址缓冲部的地址相同。
作为变形例,也可以把line16作为ld指令,并设其装入地址与保存在地址缓冲部的地址相同。这种情况下,由于处理器输出的装入地址与保存在地址缓冲部中的任一个地址相一致,因此地址缓冲部被清除。
并且,也可以把line16作为ldf指令,并设其装入地址与保存在地址缓冲部的地址不同。这种情况下,按照如ldf指令这种特定的指令来清除地址缓冲部。如此,也可以把第二指令设为以保存在地址缓冲部的地址为对象的装入指令以外的指令,从而提高程序的自由度。
<实施例4>
实施例4的总线控制器包括多个缓冲部,其结构为,把stf指令作为触发,掌握那个时刻存储在缓冲部的数据并切换缓冲部,使ldf指令的结束等待到只是所述数据被写入从属设备为止,stf指令之后的st指令的数据被存储到切换后的缓冲部群,在ldf指令结束之前被写入到从属设备。
图13是示出实施例4的处理器、设备及总线控制器的结构方框图。该图的结构与实施例3中说明的图10所示的结构相比,不同点为代替总线控制器300而具备总线控制器400。总线控制器400与总线控制器300相比,不同点为代替缓冲部310而具备缓冲部410a及缓冲部410b,另外新增加当前指针411及选择器412。由于符号相同的构成要素相同,所以省略其说明,以下以不同点为中心进行说明。
为了方便起见,称缓冲部410a为缓冲A,缓冲部410b为缓冲B。
缓冲部410a和410b分别与缓冲部310的结构相同。
当前指针411保存指向缓冲部410a和410b中的一个的指针。当前指针指向的缓冲部保存来自处理器1的存储数据。闪存触发一发生,闪存指针则被设为当前指针所指向的缓冲部,之后当前指针被切换。
选择器412选择来自缓冲部410a和410b的输出数据中闪存指针不为“空”的一个输出数据,在双方的闪存指针都为“空”的情况下,选择当前指针411所指向的输出数据。
图14说明缓冲部410a和410b的工作及切换。总线控制器400如后述进行下列处理:(a)选择进行缓冲的缓冲部的处理,(b)闪存触发发生时的切换处理,(c)回写数据的选择处理,(d)闪存触发不发生的情况下的选择处理。具体如下:
(a)选择缓冲来自处理器1的存储数据的缓冲部的处理过程中,总线控制器400用当前指针411指向保存来自处理器1的存储数据的缓冲部。即,当前指针411所指向的缓冲部对来自处理器1的存储数据进行缓冲。
(b)闪存触发发生时,总线控制器400把闪存指针设为当前指针所指向的缓冲部的闪存指针,并切换当前指针。
(c)作为回写数据的选择处理,总线控制器400控制各存储控制部313和选择器412,以在闪存指针不为“空”的情况下,到闪存指针成为“空”为止,使前指针(其指向当前指针未指向的缓冲部)指向的缓冲部回写缓冲后的存储数据。
总线控制器400控制各存储控制部213和选择器412,以在闪存指针为“空”的情况下,使被当前指针所指向的缓冲部缓冲了的存储数据被回写。
(d)在闪存触发不发生的情况下,总线控制器400控制各存储控制部313和选择器412,以使存储数据被当前指针所指向的缓冲部缓冲,并从当前指针所指向的缓冲部被回写。
其次,用如图6所示的程序2来说明工作例子。设当前指针指向缓冲A。
通过执行line3的stf指令,最后设闪存指针指向存储在缓冲部的存储数据(3)。此时,缓冲A中存有存储数据(1)、存储数据(2)及存储数据(3)。
在这种状态下,当前指针切换为缓冲B。
通过执行line6的st指令,存储数据(4)被存储到缓冲B。
通过执行line9的st指令,存储数据(5)被存储到缓冲B。
执行了line10的ldf指令时,存储数据(3)被存储到缓冲A中从开头起的第二段。因为此时等待信号为有效,所以装入动作不结束。
存储数据(3)从缓冲A的开头一被写出,则按line10的ldf指令所进行的装入动作结束。
如此,可以在检查写入动作结束的装入指令(line10的ldf指令)和成为闪存触发的指令(line3的stf指令)之间执行存储指令(line6和line9)。按照该存储指令而存储的存储数据(4)和存储数据(5)被闪存触发切换后的现用缓冲B进行缓冲。
由此,即使是具备包括多个缓冲群的处理器的总线控制器,也可以用闪存触发来切换缓冲群,并限定要闪存的存储数据。闪存触发发生后,一个缓冲群一定能确保可以缓冲存储数据的电容量。
接着,说明实施例4的变形例。
该变形例中说明具备包括多个缓冲群的处理器的总线控制器,其结构为把stf指令作为触发,掌握该时刻存储在缓冲部的数据和存取地址,并切换缓冲群,使ldf指令的结束等待到所述数据写入从属设备为止,stf指令之后发行的st指令的数据被存储到切换后的缓冲群,如果所述地址和st指令的存取地址不一致,在ldf指令结束之前所述数据被写入从属设备,如果相一致且闪存指针没有指向“空”则所述数据被写入,如果相一致且闪存指针指向“空”则到ldf指令结束为止所述数据不被写入。
因此,在实施例4的前半部分说明的处理中,增加地址比较和地址标记的清除,该工作如下所述。
地址的比较是从前指针所指向的地址中比较、检索相一致的地址的处理。在此,通过指针的切换来设定前指针指向闪存指针所指向的缓冲部。
地址标记的清除是清除前指针所指向的地址标记。
接着,利用如图12所示的程序例4把工作例子分成情况1和情况2来说明。
<情况1>
现在,设当前指针指向缓冲A。
通过执行line6的stf指令,设闪存指针指向最后被存储到缓冲部的存储数据(3)。同时,存储数据(1)、存储数据(2)和存储数据(3)的地址被保存到地址标记。按照该stf指令,当前指针根据闪存触发切换到缓冲B。
通过执行line9的st指令,存储数据(4)被存储到缓冲B。
通过执行line12的st指令,存储数据(5)被存储到缓冲B。
另外,设存储数据(6)不被存到缓冲部。此时闪存指针不为“空”。
执行了line16的ldf指令时,地址标记和ldf指令的源地址相一致。由此,等待信号有效,装入动作不结束。并且,存储数据(3)从缓冲A的开头一被写出,则地址标记被清除,且等待信号被解除之后装入动作结束。如上所述,可以在检查写入动作结束的装入指令(第二指令)和作为闪存触发的指令(第一指令)之间执行存储指令。再者,结束执行ldf指令和清除地址标记被同时进行。
<情况2>
设到line16的ldf指令执行为止,存储数据(1)和存储数据(2)从缓冲A被回写。并且,从缓冲A将要回写存储数据(3)时,与存储在前指针所指向的缓冲A的地址标记中的地址相一致。此时,闪存指针指向缓冲部0。总线控制器回写存储数据(3)且闪存指针为“空”。到闪存指针成为“空”为止,发生从前指针所指向的缓冲A的回写动作。
接着,存储数据(4)和存储数据(5)从当前指针所指向的缓冲B被回写。存储数据(6)将要被回写时,与存储在前指针所指向的缓冲A的地址标记中的地址相一致。此时,闪存指针指向“空”。总线控制器使存储数据(6)的回写动作等待。
并且,按照line16的ldf指令,前指针所指向的缓冲A的地址标记被清除。与存储在地址标记的地址不一致,等待中的存储数据(6)的回写被执行。
由此,即使是具备包括多个缓冲群的处理器的总线控制器,也可以用闪存触发来切换缓冲群,并进行根据地址标记的地址比较处理。闪存触发发生后,一个缓冲群一定能确保可以缓冲存储数据的电容量。
再者,上述各实施例的总线控制器的结构可以为有选择性地执行部分闪存和全部闪存。在这种情况下,处理器1可以输出两种闪存触发,缓冲部按照闪存触发的种类有选择性地执行部分闪存和全部闪存。
产业上的可利用性
本发明所涉及的总线控制器具有缓冲部,可隐藏延迟以用于提高处理器的工作性能而有用。
Claims (11)
1.一种总线控制器,控制处理器和存储器之间的总线,其特征在于,该总线控制器包括:
缓冲单元,其以先进先出方式暂时保存从处理器向存储器存储的存储数据;
接受单元,其接受用于指示所述缓冲单元的部分闪存的触发信号;
指针保存单元,其保存指针,该指针在所述触发信号被接受时,指向保存在缓冲单元中末尾的数据;
写入单元,其按照所述触发信号,把保存在所述缓冲单元的数据中、从开头数据到所述指针指向的数据为止的数据写入存储器,从而向所述缓冲单元进行部分闪存;以及
等待产生单元,直到由所述写入单元结束所述部分闪存为止,其对处理器所执行的特定存取指令产生等待信号。
2.如权利要求1所述的总线控制器,其特征在于,所述接受单元在执行存取所述存储器的指令以外的指令时,接受从处理器输出的所述触发信号。
3.如权利要求1所述的总线控制器,其特征在于,所述处理器执行带部分闪存的存储指令时,所述接受单元接受从处理器输出的所述触发信号。
4.如权利要求1所述的总线控制器,其特征在于,所述特定的存取指令是存取与所述存储器不同的设备的指令。
5.如权利要求1所述的总线控制器,其特征在于,所述特定的存取指令是装入指令。
6.如权利要求1所述的总线控制器,其特征在于,所述缓冲单元包括:
数据缓冲部,其以先进先出方式暂时保存从处理器向存储器存储的存储数据;
地址缓冲部,其保存与所述存储数据相对应的地址;以及
比较单元,其对从处理器输出的装入地址和保存在地址缓冲部的地址进行比较,
所述等待产生单元在由比较单元进行比较的结果为装入地址和保存在地址缓冲部的地址相一致的情况下,产生所述等待信号。
7.如权利要求6所述的总线控制器,其特征在于,
所述地址缓冲部保存地址,该地址分别与在所述触发信号被接受时保存在缓冲单元的、从开头数据到末尾数据为止的数据相对应;
所述比较单元对分别与保存在地址缓冲部的、从开头数据到末尾数据为止的数据相对应的地址和从处理器输出的装入地址进行比较。
8.如权利要求6所述的总线控制器,其特征在于,
所述地址缓冲部保存地址,该地址分别与所述触发信号被接受时保存在缓冲单元的、从开头数据到末尾的数据为止的数据相对应;
所述比较单元对分别与所述部分闪存的对象数据中写入存储器的数据相对应的地址和从处理器输出的装入地址不进行比较,而对分别与所述部分闪存的对象数据中未写入存储器的数据相对应的地址和从处理器输出的装入地址进行比较。
9.如权利要求7所述的总线控制器,其特征在于,
所述比较单元还对从处理器输出的存储地址和保存在地址缓冲部的地址进行比较,
如果在由比较单元进行比较的结果为所述存储地址和保存在地址缓冲部的任一个地址相一致时,并且处于所述部分闪存已结束的状态,则所述等待发生单元还使下列动作产生等待,所述动作是与相一致的地址对应的数据从数据存储器向存储器的写入动作,
之后由比较单元进行比较的结果为从处理器输出的装入地址和保存在地址缓冲部的任一个地址相一致时,所述等待发生单元清除地址缓冲部。
10.如权利要求7所述的总线控制器,其特征在于,
所述比较单元还对从处理器输出的存储地址和保存在地址缓冲部的地址进行比较,
如果在由比较单元进行比较的结果为所述存储地址和保存在地址缓冲部的任一个地址相一致时,并且处于所述部分闪存已结束的状态,则所述等待发生单元还使下列动作产生等待,所述动作是与相一致的地址对应的数据从数据存储器向存储器的写入动作,
所述特定的存取指令结束时,所述等待发生单元清除地址缓冲部。
11.如权利要求1、7、8、9和10中任意一项所述的总线控制器,其特征在于,还包括:
第二缓冲单元,其与所述缓冲单元结构相同,将所述缓冲单元作为第一缓冲单元;
指示单元,其把第一缓冲单元及第二缓冲单元作为当前缓冲单元来指示;以及
切换单元,其按照触发信号来切换指示单元的当前指示,
所述写入单元及等待产生单元把不是当前缓冲的缓冲单元作为对象,
当前的缓冲单元保存来自处理器的存储数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP072013/2005 | 2005-03-14 | ||
JP2005072013 | 2005-03-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101142562A true CN101142562A (zh) | 2008-03-12 |
CN100541449C CN100541449C (zh) | 2009-09-16 |
Family
ID=36991488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006800082931A Expired - Fee Related CN100541449C (zh) | 2005-03-14 | 2006-02-27 | 总线控制器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20090063734A1 (zh) |
EP (1) | EP1860568A1 (zh) |
JP (1) | JP4370327B2 (zh) |
CN (1) | CN100541449C (zh) |
WO (1) | WO2006098135A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109858A (zh) * | 2019-05-07 | 2019-08-09 | 苏州浪潮智能科技有限公司 | 总线架构、服务器、内存数据读写方法及可读存储介质 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110208885A1 (en) * | 2010-02-25 | 2011-08-25 | Panasonic Corporation | Data bus control method and apparatus |
US8756329B2 (en) * | 2010-09-15 | 2014-06-17 | Oracle International Corporation | System and method for parallel multiplexing between servers in a cluster |
WO2013101187A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Method for determining instruction order using triggers |
US20150261631A1 (en) * | 2014-03-12 | 2015-09-17 | Kabushiki Kaisha Toshiba | Memory system and memory controller |
US10714159B2 (en) | 2018-05-09 | 2020-07-14 | Micron Technology, Inc. | Indication in memory system or sub-system of latency associated with performing an access command |
US11010092B2 (en) | 2018-05-09 | 2021-05-18 | Micron Technology, Inc. | Prefetch signaling in memory system or sub-system |
US10942854B2 (en) | 2018-05-09 | 2021-03-09 | Micron Technology, Inc. | Prefetch management for memory |
US10754578B2 (en) | 2018-05-09 | 2020-08-25 | Micron Technology, Inc. | Memory buffer management and bypass |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61100845A (ja) * | 1984-10-12 | 1986-05-19 | Fujitsu Ltd | メモリアクセス同期制御方式 |
JP2511588B2 (ja) * | 1990-09-03 | 1996-06-26 | インターナショナル・ビジネス・マシーンズ・コーポレイション | デ―タ処理ネットワ―ク、ロックを獲得させる方法及び直列化装置 |
WO1993000638A1 (en) * | 1991-06-26 | 1993-01-07 | Ast Research, Inc. | Automatic distribution of interrupts controller for a multiple processor computer system |
JP2917659B2 (ja) * | 1992-03-31 | 1999-07-12 | 日本電気株式会社 | 情報処理装置 |
US5724549A (en) * | 1992-04-06 | 1998-03-03 | Cyrix Corporation | Cache coherency without bus master arbitration signals |
JPH06131244A (ja) * | 1992-10-20 | 1994-05-13 | Fujitsu Ltd | 共有メモリの非同期アクセス方式 |
US5499384A (en) * | 1992-12-31 | 1996-03-12 | Seiko Epson Corporation | Input output control unit having dedicated paths for controlling the input and output of data between host processor and external device |
US5459840A (en) * | 1993-02-26 | 1995-10-17 | 3Com Corporation | Input/output bus architecture with parallel arbitration |
US5696938A (en) * | 1994-08-31 | 1997-12-09 | Vlsi Technology, Inc. | Computer system permitting mulitple write buffer read-arounds and method therefor |
US6212589B1 (en) * | 1995-01-27 | 2001-04-03 | Intel Corporation | System resource arbitration mechanism for a host bridge |
JPH09269935A (ja) * | 1996-01-31 | 1997-10-14 | Toshiba Corp | メモリ制御装置、及びメモリ制御方法 |
US5881264A (en) * | 1996-01-31 | 1999-03-09 | Kabushiki Kaisha Toshiba | Memory controller and memory control system |
US5809536A (en) * | 1996-12-09 | 1998-09-15 | Intel Corporation, Inc. | Method for reducing the number of coherency cycles within a directory-based cache coherency memory system uitilizing a memory state cache |
TW448363B (en) * | 1997-02-17 | 2001-08-01 | Ssd Co Ltd | High speed processor system with bus arbitration |
US5987550A (en) * | 1997-06-30 | 1999-11-16 | Emc Corporation | Lock mechanism for shared resources in a data processing system |
US6141728A (en) * | 1997-09-29 | 2000-10-31 | Quantum Corporation | Embedded cache manager |
JPH11167557A (ja) * | 1997-12-02 | 1999-06-22 | Hitachi Ltd | 共有メモリアクセス順序保証方法及びマルチプロセッサシステム |
US6212590B1 (en) * | 1997-12-22 | 2001-04-03 | Compaq Computer Corporation | Computer system having integrated bus bridge design with delayed transaction arbitration mechanism employed within laptop computer docked to expansion base |
US6434649B1 (en) * | 1998-10-14 | 2002-08-13 | Hitachi, Ltd. | Data streamer |
JP2000181780A (ja) * | 1998-12-16 | 2000-06-30 | Hitachi Ltd | ストアバッファ装置 |
FR2787600B1 (fr) * | 1998-12-17 | 2001-11-16 | St Microelectronics Sa | Memoire tampon associee a plusieurs canaux de communication de donnees |
US6397273B2 (en) * | 1998-12-18 | 2002-05-28 | Emc Corporation | System having an enhanced parity mechanism in a data assembler/disassembler for use in a pipeline of a host-storage system interface to global memory |
US6338119B1 (en) * | 1999-03-31 | 2002-01-08 | International Business Machines Corporation | Method and apparatus with page buffer and I/O page kill definition for improved DMA and L1/L2 cache performance |
US6351808B1 (en) * | 1999-05-11 | 2002-02-26 | Sun Microsystems, Inc. | Vertically and horizontally threaded processor with multidimensional storage for storing thread data |
US6633298B2 (en) * | 1999-07-31 | 2003-10-14 | Hewlett-Packard Development Company, L.P. | Creating column coherency for burst building in a memory access command stream |
US6557048B1 (en) * | 1999-11-01 | 2003-04-29 | Advanced Micro Devices, Inc. | Computer system implementing a system and method for ordering input/output (IO) memory operations within a coherent portion thereof |
US6499077B1 (en) * | 1999-12-30 | 2002-12-24 | Intel Corporation | Bus interface unit for reflecting state information for a transfer request to a requesting device |
US6691178B1 (en) * | 2000-02-22 | 2004-02-10 | Stmicroelectronics, Inc. | Fencepost descriptor caching mechanism and method therefor |
US6859862B1 (en) * | 2000-04-07 | 2005-02-22 | Nintendo Co., Ltd. | Method and apparatus for software management of on-chip cache |
US6725343B2 (en) * | 2000-10-05 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | System and method for generating cache coherence directory entries and error correction codes in a multiprocessor system |
WO2004006540A2 (en) * | 2002-07-08 | 2004-01-15 | Globespanvirata Incorporated | System and method for packet transmission from fragmented buffer |
US6922753B2 (en) * | 2002-09-26 | 2005-07-26 | International Business Machines Corporation | Cache prefetching |
GB2403560A (en) * | 2003-07-02 | 2005-01-05 | Advanced Risc Mach Ltd | Memory bus within a coherent multi-processing system |
US7243172B2 (en) * | 2003-10-14 | 2007-07-10 | Broadcom Corporation | Fragment storage for data alignment and merger |
US7493427B2 (en) * | 2004-07-14 | 2009-02-17 | International Business Machines Corporation | Apparatus and method for supporting received data processing in an offload of network protocol processing |
US7769944B2 (en) * | 2004-10-01 | 2010-08-03 | Supertalent Electronics, Inc. | Partial-write-collector algorithm for multi level cell (MLC) flash |
US7353301B2 (en) * | 2004-10-29 | 2008-04-01 | Intel Corporation | Methodology and apparatus for implementing write combining |
US7386683B2 (en) * | 2005-03-29 | 2008-06-10 | International Business Machines Corporation | Method and apparatus for filtering snoop requests in a point-to-point interconnect architecture |
US7613883B2 (en) * | 2006-03-10 | 2009-11-03 | Rambus Inc. | Memory device with mode-selectable prefetch and clock-to-core timing |
-
2006
- 2006-02-27 WO PCT/JP2006/303580 patent/WO2006098135A1/ja active Application Filing
- 2006-02-27 US US11/817,094 patent/US20090063734A1/en not_active Abandoned
- 2006-02-27 JP JP2006524134A patent/JP4370327B2/ja not_active Expired - Fee Related
- 2006-02-27 EP EP06714717A patent/EP1860568A1/en not_active Withdrawn
- 2006-02-27 CN CNB2006800082931A patent/CN100541449C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109858A (zh) * | 2019-05-07 | 2019-08-09 | 苏州浪潮智能科技有限公司 | 总线架构、服务器、内存数据读写方法及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20090063734A1 (en) | 2009-03-05 |
WO2006098135A1 (ja) | 2006-09-21 |
JP4370327B2 (ja) | 2009-11-25 |
JPWO2006098135A1 (ja) | 2008-08-21 |
EP1860568A1 (en) | 2007-11-28 |
CN100541449C (zh) | 2009-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100541449C (zh) | 总线控制器 | |
KR100955433B1 (ko) | 파이프라인 구조를 갖는 캐시 메모리 및 이를 제어하는방법 | |
CN104238957B (zh) | 串行外围接口控制器、串行外围接口快闪存储器及其存取方法和存取控制方法 | |
US6266766B1 (en) | Method and apparatus for increasing throughput when accessing registers by using multi-bit scoreboarding with a bypass control unit | |
US20100169546A1 (en) | Flash memory access circuit | |
JPH0668736B2 (ja) | 2個のシステムクロックサイクルを利用する書込み動作をもったキャッシュメモリユニットを供与する装置及び方法 | |
CN108733594A (zh) | 存储器控制器与数据储存装置 | |
KR101112666B1 (ko) | 디스크립터 전송 장치, i/o 컨트롤러, 및 디스크립터 전송 방법 | |
EP2128771B1 (en) | Method and apparatus for controlling cache memory | |
US20020169900A1 (en) | Direct memory access controller, and direct memory access control method | |
KR101459200B1 (ko) | 전송 제어장치, 메모리 제어장치, 및 상기 전송 제어장치를 구비한 plc | |
JP4315461B2 (ja) | ソリッドステートドライブ及びデータ書き込み方法 | |
TWI514143B (zh) | 傳送請求區塊的快取記憶體系統及方法 | |
CN106980513A (zh) | 一种双引导文件的切换方法及装置 | |
JP2000330791A (ja) | コンピュータシステムおよびその動作方法 | |
JP3747213B1 (ja) | シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ | |
JP4192171B2 (ja) | メモリアクセス方法及びメモリアクセス装置 | |
KR100615694B1 (ko) | 복수개의 기능블럭을 제어하는 제어시스템 | |
EP0811922A1 (en) | Peripheral device control | |
JP3708979B2 (ja) | 半導体集積回路 | |
JP2000040057A (ja) | 計算機システム、バッファ制御装置及び転送方法 | |
JP7384102B2 (ja) | ベクトルプロセッサ、演算方法及びプログラム | |
JP4813454B2 (ja) | 外部記憶装置およびそのメモリアクセス制御方法 | |
WO2012077516A1 (ja) | プログラマブルコントローラ | |
JP4914175B2 (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090916 Termination date: 20130227 |