总线控制器

阅读:1054发布:2020-05-29

专利汇可以提供总线控制器专利检索,专利查询,专利分析的服务。并且提供一种总线 控制器 ,其缩短到闪存结束为止的时间,从而避免处理器的性能恶化。总线控制器(100)包括:FIFO(111),其以先进先出方式暂时保存从处理器向 存储器 存储的存储数据;闪存 指针 (112),其保存指向接受了触发 信号 时存储在FIFO(111)中末尾的数据的指针;存储控制部(113),其按照触发信号,把FIFO(111)保存的数据中的,从开头数据到闪存指针(112)指向的数据为止写入存储器,来对FIFO(111)进行部分闪存;等待 电路 (102),到存储控制部(113)的部分闪存结束为止,其对由处理器执行的特定存取指令发生等待信号。,下面是总线控制器专利的具体信息内容。

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中任意一项所述的总线控制器, 其特征在于,还包括:
第二缓冲单元,其与所述缓冲单元结构相同,将所述缓冲单元作 为第一缓冲单元;
指示单元,其把第一缓冲单元及第二缓冲单元作为当前缓冲单元 来指示;以及
切换单元,其按照触发信号来切换指示单元的当前指示,
所述写入单元及等待产生单元把不是当前缓冲的缓冲单元作为对 象,
当前的缓冲单元保存来自处理器的存储数据。

说明书全文

技术领域

发明涉及具备了在处理器和存储器之间的缓冲部的总线控制 器。

背景技术

有一种具备了缓冲部的结构以用于隐藏处理器和从属设备之间的 存取延迟。该缓冲部中暂时存储从处理器向从属设备存储的存储数据。 从缓冲部向从属设备传送存储数据不受处理器的控制,可独自执行。
为使处理器确认存储在缓冲部的存储数据已被写入从属设备,存 在一种处理器读取从属设备的方法。即,由处理器执行特定的读取指 令,从而将保存在缓冲部的存储数据进行一次性闪存(flash)。在此, 所谓闪存是指将存储在缓冲部的数据全部写入从属设备。
图15示出以往技术中的总线控制器的结构,该总线控制器具备了 在处理器和从属设备之间的缓冲部。该总线控制器76具备纵横开关77 和缓冲部78,在主设备与从属设备之间进行总线控制,并控制向设备 73的存储数据的缓冲,所述主设备是处理器71及DMAC(Direct Memory Access 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处理器
2DMAC
3存储器
4设备
5设备
100总线控制器
101纵横开关
102等待电路
110缓冲部
111FIFO
112闪存指针
113存储控制部
202等待电路
210缓冲部
211FIFO
112写入指针
213存储控制部
214地址比较部
21d至24d数据锁存器
21a至24a地址锁存器
25至28比较器
29判断部
30逻辑电路
31D触发器
32D触发器
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存储的存 储数据。例如,FIFOI11为四段结构,其包括以缓冲部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 指令是从数据寄存器向地址寄存器所示的地址传送数据的指令。ld指 令是向寄存器传送存储数据的指令,该存储数据是地址寄存器所示的 地址的存储数据。
并且,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可以输出两种闪存触 发,缓冲部按照闪存触发的种类有选择性地执行部分闪存和全部闪存。
产业上的可利用性
本发明所涉及的总线控制器具有缓冲部,可隐藏延迟以用于提高 处理器的工作性能而有用。
相关专利内容
标题 发布/更新时间 阅读量
控制器 2020-05-13 750
一种具有锁止控制机构的室内控制器 2020-05-11 757
压路机左右手油门联动分配控制器 2020-05-11 125
高集成控制器 2020-05-11 504
一种无级自锁手油门控制器 2020-05-11 793
NFC控制器 2020-05-13 472
搅拌车控制器 2020-05-12 13
软轴控制器 2020-05-11 529
压力控制器 2020-05-11 248
汽车控制器支座 2020-05-12 100
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈