资源管理装置的制作方法

文档序号:6563675阅读:91来源:国知局
专利名称:资源管理装置的制作方法
技术领域
本发明涉及从多个总线主控器访问公共资源的资源管理装置。总线主控器可以包括处理器、DSP或DMA等。公共资源包括多个总线主控器共享的存储器、外围输入/输出装置等。
背景技术
当通过总线连接多个总线主控器和公共资源时,在多个总线主控器中会产生使用总线的权限冲突,可以使用总线仲裁器(bus arbitrator)来试图解决这一冲突。
一般而言,总线主控器的工作速度高于公共资源的工作速度。因此,总线主控器传送一定量的信息所需要的时间要比公共资源处理该定量信息所需要的时间更短。当前正在处理从第一总线主控器传送来的信息的公共资源不能同时处理从下一个总线主控器传送来的信息。因此,必须将选择总线主控器传送来的信息的间隔设置得比公共资源处理该信息需要的时间更长。但是,这就会造成不能对公共资源进行高效操作的问题。
期望从一个总线主控器选择信息的间隔(选择间隔)和公共资源处理来自该总线主控器的该信息所需要的时间间隔彼此相等。但是,由于总线主控器的工作频率和控制公共资源的控制装置的工作频率是不同的,各个时间不可能彼此正好相等。
而且,在SDRAM中存在必须执行如预充电或刷新等特定处理的情况。因此,如果将信息选择间隔固定,那么当公共资源的处理时间波动时,不能在预定的时期内完成信息处理。
作为解决这些问题的一种方案,可以在用于选择信息的信息选择单元和用于处理该信息的公共资源之间提供一个缓冲器。但是,这种结构也还有以下问题。
图1A示出了一种可能的方法,其中在先前的总线主控器所传送的信息处理完成之前,给予总线主控器一定长度的备用时间。然后,将信息选择单元的选择间隔设置为比公共资源的处理时间更长,由此调整总线主控器和公共资源的工作时间。
然而,该方法会产生总线主控器或公共资源都不参与任何处理的时间周期,从而难以有效地使用总线主控器和公共资源。
图1B所示为一种可能的方法,可与总线主控器的工作速度相对应而在缓冲器中连续不断地存储信息。但是,因为缓冲器的容量有限,所以当缓冲器不能接收超出其容量的任何信息时,将不能处理必要的信息。

发明内容
因此,本发明的主要目的是提供一种资源管理装置,通过调整用于选择总线主控器传送的信息的时间,该设备能有效地使用总线主控器和公共资源。
下面的描述将使本发明的其他目的、特点和优点变得清楚。
下面将描述多个元件。这些元件可以由硬件、软件或硬件和软件的组合形成。
为了实现目的,根据本发明的资源管理装置包括信息选择单元,该信息选择单元的工作速度不同于公共资源的工作速度,并且该信息选择单元选择由命令和数据所构成的信息,该命令和数据从多个总线主控器中的任意一个总线主控器传送到公共资源;缓冲单元,该缓冲单元存储由信息选择单元选择的信息;以及计时调整单元,该计时调整单元控制在信息选择单元中选择信息的时间,以使得在信息选择单元中选择多个预定量信息所需要的总计选择时间和公共资源中的总计处理时间基本相等。
根据该结构,提供计时调整单元,以使得在信息选择单元中选择多个预定量信息的总计选择时间和公共资源中的总计处理时间基本上相等,从而使各个总线主控器的信息传送间隔的平均值和公共资源的处理时间的平均值基本上相等。结果,可以有效地操作总线主控器和公共资源,并且可以在缓冲单元中存储适量的信息。
作为上述结构的优选方式,计时调整单元控制在信息选择单元中选择信息的时间,从而使得在信息选择单元中选择单一预定量信息的时间和公共资源的处理时间基本上相等。
在上述方式中,选择单一预定量信息的时间和公共资源中的处理时间基本上相等,从而可以进一步更有效地操作总线主控器和公共资源,并且可以在缓冲单元中存储更适量的信息。
作为上述结构的另一优选方式,计时调整单元可以根据缓冲单元中存储的信息量而改变用于计算的比较参考值。在此情况下,当缓冲单元中存储的信息量超过阈值时,计时调整单元通过增加比较参考值来延长选择间隔。
结果,在上述方式中,可以调整缓冲单元中存储的信息量,以及可以更有效地操作总线主控器和公共资源。而且,可以在缓冲单元中存储更适量的信息。
作为上述结构的再一优选方式,当缓冲单元中存储的信息量超过阈值和没有信息从最高优先级总线主控器传送到信息选择单元时,计时调整单元禁止信息选择单元中的信息选择。
在上述方式中,当超过阈值的信息量存储在缓冲单元中时,处理缓冲单元中存储的信息,避免选择低优先级信息。因此可以减小缓冲单元中的信息量。
根据本发明的资源管理装置,其中设置每个选择周期的最大信息传送量,该装置包括信息选择单元,信息选择单元根据每个选择周期的优先级顺序选择由从多个总线主控器中的任何一个总线主控器传送到公共资源的命令和数据所构成的信息;以及缓冲单元,该缓冲单元存储由信息选择单元所选择的信息;其中当从最高优先级总线主控器传送的信息量等于或小于最大信息传输量时,信息选择单元从除了该最高优先级总线主控器之外的另一个高优先级总线主控器选择信息,该另一个高优先级总线主控器的信息量和最高优先级总线主控器的信息量总计等于或小于最大传送信息量。
根据上述结构,可以在选择周期传送最大可传送量的信息,从而实现有效处理。
而且,根据本发明的资源管理装置具有用于存储期望信息的存储单元,该期望信息来自于多个总线主控器所共享的公共存储器,其中当所有的总线主控器都不输出信息时,在存储单元中预先存储来自于公共存储器的预定信息。
根据该结构,不仅可以基于一个总线主控器的工作状态而预先在存储单元存储预定信息,而且可以基于其他总线主控器的工作状态而预先在存储单元存储预定信息。
如上所述,根据本发明,调整对从总线主控器传输来的信息进行处理的时间,以有效率地使用总线主控器和公共资源。
通过下面对本发明的描述,并结合附图将使本发明的上述及其他方面变得明显。


图1A和1B是与常规资源管理装置中的信息传送时间、选择间隔以及公共资源的处理时间相关的关系示意图。
图2图示了根据本发明的第一实施例的系统结构框图。
图3是根据第一实施例的系统流程图。
图4A和4B图示了根据第一实施例的时钟计数器的工作示意图。
图5A、5B和5C是与根据第一实施例的资源管理装置中的信息传递时间、选择间隔以及公共资源的处理时间相关的关系示意图。
图6图示了根据第一实施例的计时调整单元的工作示意图。
图7图示了根据本发明第二实施例的系统结构框图。
图8是根据第二实施例的系统流程图。
图9图示了根据对第二实施例改进的系统结构框图。
图10是根据本发明的第三实施例的系统流程图。
图11示出了根据第三实施例的优先级顺序的示例图表。
图12是根据本发明第四实施例的系统流程图。
图13图示了根据本发明第五实施例的系统结构框图。
图14是根据第五实施例的系统流程图。
图15图示了根据本发明第六实施例的系统结构框图。
图16图示了在根据第六实施例的系统中每个时钟的工作示意图。
在所有这些图中,相同的标记表示相同的元件。
具体实施例方式
下面,参考附图描述根据本发明的资源管理装置。
第一实施例图2所示的系统中的资源管理装置100包括选择间隔设置单元A、计时调整单元B、用于选择由多个总线主控器所传输并且彼此相冲突的信息的信息选择单元C,以及缓冲单元D。缓冲单元D包括命令缓冲器D1和数据缓冲器D2。在资源管理装置100的外围区域中,具有多个总线主控器M1,M2,M3,M4和M5、存储控制器E和作为由多个总线主控器M1-M5共享的公共资源的示例的公共存储器F。总线主控器可以包括处理器、DSP、DMA等。
命令缓冲器D1和数据缓冲器D2存储来自于信息选择单元C所选择的总线主控器的信息。存储控制器E对命令缓冲器D1中存储的信息进行翻译,并产生符合存储器协议的等信号。
在各个总线和总线主控器中设置优先级顺序。为多个总线主控器M1-M5提供总线主控器仲裁器(未示出)。总线主控器仲裁器根据优先权对M1-M5中至少两个总线主控器的同时对与公共存储器F相关的访问进行裁定。已通过总线主控器仲裁器而允许访问的总线主控器通过信息选择单元C传送与公共存储器F相关的命令。信息选择单元C选择允许访问的总线主控器传送的信息,以基于总线的优先级顺序通过总线访问公共存储器F。
计时调整单元B中的时钟计数器b的工作频率和存储控制器E中的时钟计数器e的工作频率彼此不同。结果,信息选择单元C的工作频率和存储控制器E的工作频率也彼此不同。
缓冲单元D可以与信息选择单元C一起形成在相同的芯片上,或者可以与信息选择单元C分开地形成在不同的芯片上。单独提供数据缓冲器D2,但是也可以为每个总线主控器提供数据缓冲器。
选择间隔设置单元A选择信息选择单元C中的选择间隔。计时调整单元B基于来自于选择间隔设置单元A的选择间隔产生需要的选择信号,并传送该信号到信息选择单元C。选择信号表示信息选择的时间。计时调整单元B包括时钟计数器b。时钟计数器b基于选择间隔计算时钟。信息选择单元C在由选择信号所表示的时间从总线主控器传送来的信息中进行选择。
图3图示了每个时钟计时调整单元B的工作流程图。图4A图示了输出用来选择总线主控器信息的选择信号的时间。
选择间隔设置单元A包括寄存器,寄存器通过八位的固定十进制小数点存储值,其中前五位表示整数部分,后三位表示小数部分。
考虑到公共存储器F的工作频率,存储控制器E在64MHz的工作频率下工作。信息选择单元C在100MHz的工作频率下工作。这些工作频率之间的差异产生以下差异。当信息选择单元C在一个时钟处理一个字时,公共存储器F需要1.5625(100/64)个时钟。那么,在选择间隔设置单元A中设置1.5625个时钟作为选择间隔。作为另一种可能的结构,可以在选择间隔设置单元A中存储总线主控器和公共存储器F的工作频率值,并由此计算选择间隔。
接下来描述通过传送连续数据以增加传送速度的情况。
下面描述连续地处理(例如,四个信息)预定数目的字(例如,四个字)的情况。
依据信息选择单元C中的时钟数,公共存储器F处理四个字需要的时间由6.25个时钟表示。因此处理四个信息需要25时钟,其中每个信息由四个字构成。
然后,在选择间隔设置单元A中存储由八位的固定十进制小数点“00110.010”值表示的二进制数“6.25”。整数部分的“6”是前五位的“00110”。小数部分的“0.25”是后三位的“010”。依据将整数和小数部分处理作为一个单位,“00110010”对应于十六进制数中的“32”。
在步骤S11中,计时调整单位B响应于探测的时钟上升沿而将时钟计数器b加1,亦即增加计数值CNT。一个时钟的增加对应于十六进制数中的08的增加,其中将整数和小数部分处理作为一个单位。
接下来,在步骤S12中,判断时钟计数器b的计数值CNT是否等于或大于预先设置的选择间隔TSO。在图4A中的N1时刻,计数值CNT是08(H)<一个时钟>,以及选择间隔TSO是32(H)<6.25个时钟>,导致否认了TSO≤CNTb的判断。然后,进一步在步骤S13中,选择信号被复位(不输出选择信号),以及处理终止。
重新开始步骤S11,以重复上述操作。在此期间,计数值CNT增加08(H)<一个时钟>。在N7时刻,计数值CNT增加到38(H)<七个时钟>,并由此变得大于选择间隔TSO,32(H)<6.25个时钟>。这里就肯定了步骤S12中的判断,接着是执行步骤S14。在步骤S14中,从计数值CNT减去选择间隔TSO。在目前的情况下,从38(H)<七个时钟>减去32(H)<6.25个时钟>,其结果是06(H)<0.75个时钟>。该差值对应于总线的附加占用。在N7时刻,示出了06(H)。在后面的选择间隔中利用减法获得的06(H)<0.75个时钟>。
接下来,在步骤S15中,设置并输出选择信号。信息选择单元C基于选择信号裁定总线中的冲突。
在第二选择周期P2中参考差值06(H)<0.75个时钟>。
有两种在下一个选择间隔中参考前面时期所获得的该差值的方法,参考图4B以描述这两种方法。图4B中的描绘是基于十进制数(每个时钟)。
在第一方法中,在选择周期P1(Tref=6.25)的初始阶段,将6.25时钟<32(H)>设为比较参考值,其中6.25时钟<32(H)>为选择间隔设置单位A中的初始设定值TSO。
第一选择周期P1中的计数值CNT从0开始并增加到1,2,3,4,5,和6。当计数值CNT=7个时钟的时,计数值CNT超过比较参考值Tref=6.25。然后,计算差值ΔT。在目前的情况下,产生ΔT=CNTb-Tref=7-6.25=0.75进一步通过从初始设定值TSO减去差值ΔT获得新的比较参考值Tref。
Tref=TSO-ΔT=6.25-0.75=5.5因此,第二选择周期P2中的比较参考值是5.5时钟<28(H)>。
在移动到第二选择周期P2中,计数值CNT被清零。第二选择周期P2的计数值CNT从0开始,并增加到1,2,3,4和5。当计数值CNT=6个时钟的时候,计数值CNT超过比较参考值Tref=5.5。然后,计算差值ΔT。在目前的情况下,产生ΔT=CNTb-Tref=6-5.5=0.5进一步产生新的比较参考值Tref。
Tref=TSO-ΔT=6.25-0.5=5.75在第三选择周期P3,比较参考值Tref是5.75时钟<28(H)。在N13时刻,输出选择信号。
在移动到第三选择周期P3中,计数值CNT被清零。第三选择周期P3的计数值CNT从0开始,并增加到1,2,3,4和5。当计数值CNT=6个时钟时,计数值CNT超过比较参考值Tref=5.75。然后,计算差值ΔT。在目前的情况下,产生ΔT=CNTb-Tref=6-5.75=0.25进一步产生新的比较参考值Tref。
Tref=TSO-ΔT=6.25-0.25=6在N19时刻,输出选择信号。
在第四选择周期P4,比较参考值Tref是六个时钟<30(H)>。该比较参考值Tref,即六个时钟<30(H)>没有小数。在N25时刻,输出选择信号。
信息选择单元C用于选择而需要的时间为从N1至N7的七个时钟、从N8至N13的六个时钟、从N14至N19的六个时钟和从N20至N25的六个时钟。总的时钟数目是T1+T2+T3+T4=7+6+6+6=25(时钟)公共存储器F需要的总计时间是6.25×4=25(时钟)它们彼此相等。更具体地,与选择周期中的多个总线主控器相关的总计选择时间和处理来自多个总线主控器的信息的公共存储器F的总计处理时间彼此相等。选择周期中的平均值是6.25时钟。
接下来描述第二方法。第二方法不采用从选择间隔设置单位A的值预先减去差值。
在第二选择周期P2中,使用0.75个时钟的差值在每个时钟增加计数值CNT以作为新的初始值。计数值CNT增加到1.75,2.75...,5.75和6.75,大于比较参考值Tref=6.25个时钟的选择间隔TSO,并输出选择信号。
此外,计算出6.75个时钟的计数值CNT和6.25个时钟的选择间隔TSO之间的差值,即0.5个时钟。
在第三周期P3,使用0.5个时钟的差值在每个时钟增加计数值CNT以作为新的初始值。计数值CNT增加到1.5,2.5...,5.5和6.5,大于比较参考值Tref=6.25个时钟的选择间隔TSO,并输出选择信号。
此外,计算出6.5个时钟的计数值CNT和6.25个时钟的选择间隔TSO之间的差值,即0.25时钟。
在第四周期P4,使用0.25时钟的差值在每个时钟增加计数值CNT作为新的初始值。计数值CNT增加到1.25,2.25...,5.25和6.25,等于比较参考值Tref=6.25个时钟的选择间隔TSO,并输出选择信号。
更具体地,与选择周期中的多个总线主控器相关的总计选择时间和处理来自多个总线主控器的信息的公共存储器F的总计处理时间相等。
在第二方法中,将计数值CNT和预先设定值之间的差值添加到时钟计数器的下一个值,而不是将计数值CNT清零。更具体地,没有必要在下一个选择周期中用选择间隔设置单元的值减去在先前选择周期中所产生的差值。因此,第二方法比第一方法具有更好的效率。
如上所述,从多个总线主控器选择信息所需要的总计时间和在公共存储器F中处理来自该多个总线主控器的信息所需要的总计时间可以基本上相等。在这种方式下,可以有利地使用多个总线主控器和公共存储器F,并且可以控制缓冲器中存储的信息量。
而且,在每个选择周期中选择信息的时间和公共存储器的处理时间基本上相等,以使得在每个选择周期总线主控器和公共存储器F同样可以有效地工作。此外,可以减小缓冲器中存储的信息量,从而确保在缓冲器中存储任何必要的信息。
在本实施例中描述了连续不断地处理固定长度的信息的情况,如在SDRAM中。但是,本实施例并不局限于这种情况,本发明也可以应用于处理可变长度的信息。
为了实现对可变长度信息的处理,基于下一个选择周期中待处理的信息量重新调整选择间隔TSO,在选择间隔设置单位A中重新调整待使用的总线主控器的工作频率等。
接下来,将本发明与常规技术进行比较。
图5A和5B图示了常规技术,而图5C图示了根据本发明的方法。
在公共存储器F中处理包括从总线主控器传送的四个字的信息需要的时间是6.25时钟。
在图5A所示的情况下,需要将通过信息选择单元C与总线主控器相关的仲裁所需要的时间设置为6.25时钟或更多。至少需要七个时钟的间隔。在七个时钟结束之前,总线主控器不能传送信息。而且,公共存储器F只有在6.25时钟结束之后传送完信息之后才能处理信息。结果,选择周期中的总计选择时间是28个时钟,以及存储器F的总计处理时间是27.25个时钟。
在图5B所示的情况下,提供吸收总线主控器和公共存储器F的工作速度之间差值的缓冲器,以由此能够连续操作,其中选择周期中的总计选择时间是16个时钟,而且公共存储器F的总计处理时间是25个时钟。
相反,根据本发明,如所述,第一选择周期P1中是七个时钟,第二选择周期P2中是六个时钟,第三选择周期P3中是六个时钟,以及第四选择周期P4中是六个时钟。信息选择单元C中需要的总计时间是25个时钟。公共存储器F中处理的总计时间是25个时钟。从第一选择周期P1移到第二选择周期P2的差值是0.75个时钟,该0.75个时钟的增加实际导致25.75个时钟。
如从先前描述可以清楚看出,根据本发明,可以有利地使用总线主控器和公共存储器F。而且,因为可以减小缓冲器中存储的信息量,所以可以避免不能存储必要信息的情况。
接下来,参考图6描述多个总线主控器和信息选择单元C中的信息选择之间的关系。在下面的描述中,假定总线主控器M1在优先级顺序中具有第一位置。
在T2之前,公共存储器F中待处理的信息从总线主控器M1输出到信息选择单元C。此时,没有来自任何其他总线主控器的信息。
接下来,在T2,信息选择单元C证实信息来自总线主控器M1。
与此同时,总线主控器M2在T2和T3之间输出信息。
接下来,在T3,信息选择单元C从总线主控器M1和M2选择信息,并根据优先级顺序将选择的信号发送到总线主控器M1。
因此,在第一选择周期P1选择来自总线主控器M1的信息。因为在第一选择周期中可处理信息量是有限的,所以选择信号不能输出到总线主控器M2。因此,在第一选择周期P1过程中,当在T4和T10之间选择信号未输出到任何总线主控器时,信息选择单元C设置非选择周期。从而,信息选择单元C可以仅仅选择来自总线主控器M1的信息。
第二实施例图7图示了根据本发明的第二实施例的包括资源管理装置200的系统结构。在该系统中,作为对根据第一实施例的结构的进一步布置,命令缓冲器D1和计时调整单元B相连接,其中来自命令缓冲器D1的控制信号用于控制计时调整单元B中选择信号的产生。其余的结构与图1的结构相同。由此,在本实施例中未描述具有相同参考标记的相同元件。
命令缓冲器D1具有FIFO(先进先出)结构,该命令缓冲器D1能存储来自于由信息选择单元C所选择的总线主控器的多个信息。也就是,在完成处理所选信息之前,可以在命令缓冲器D1中存储来自其它总线主控器的信息。
计时调整单元B设有与命令缓冲器D1的存储信息量Qc有关的预定阈值Qth,以根据该阈值Qth调整选择间隔TSO。因此,可以有效地操作多个总线主控器和公共存储器F。此外,可以在命令缓冲器D1中存储适当数目的信息量。可以在除计时调整单元B之外的元件中设置阈值Qth。
计时调整单元B具有第一选择间隔TSOa和第二选择间隔TSOb。将第二选择间隔TSOb设置为比第一选择间隔TSOa更长。
接下来,参考图8的流程图以描述根据本实施例而配置的的资源管理装置的工作。
在步骤S21中,当计时调整单元B探测到时钟的上升沿时,计数值CNT增加。
接下来,在步骤S22中,计时调整单元B将命令缓冲器D1的存储信息量Qc和阈值Qth互相比较。
当存储信息量Qc等于或低于阈值Qth时,操作继续进行至步骤S23。当存储的信息量Qc超过阈值Qth时,操作继续进行至步骤S24。
在步骤S23中,与第一实施例一样,将当前计数值CNT和第一选择间隔TSOa互相比较。结果,当计数值CNT小于第一选择间隔TSOa时,操作继续进行至步骤S25,由此终止处理,而不输出选择信号。当计数值CNT等于或大于第一选择间隔TSOa时,操作继续进行至步骤S26,其中计数值CNT被清零,接着在步骤S27中输出选择信号。
相反,在步骤S22中当存储的信息量Qc超过阈值Qth时,操作继续进行至步骤S24。在步骤S24中,当前计数值CNT和第二选择间隔TSOb互相比较。结果,当计数值CNT小于第二选择间隔TSOb时,操作继续进行至步骤S25,由此终止处理,而不输出选择信号。当计数值CNT等于或大于第二选择间隔TSOb时,操作继续进行至步骤S26,其中计数值CNT被清零,接着在步骤S27中输出选择信号。
如上所述,当命令缓冲器D1的存储信息量Qc较小时,将更短的第一选择间隔TSOa用于比较的基准,可以更有效地使用公共存储器F。
相反,当存储信息量Qc较大时,将更长的第二选择间隔TSOb用于比较的基准。更具体地,将选择周期设置得更长,以由此允许一定时间处理相对大的存储信息量Qc。进行该配置,以便在任意时间可以在命令缓冲器D1中安全地存储来自最高优先级的总线主控器的信息。
如上所述,根据本实施例,因此调整选择间隔TSO,以有效地操作多个总线主控器和公共存储器F。除此之外,在命令缓冲器D1中可以存储适量信息。
图9示出了根据对本实施例进行改进而能通过来自存储控制器E的控制信号改变选择间隔设置单元A中的选择间隔TSO的资源管理装置300。作为控制信号的可能选项,可以涉及表示由于存储控制器E中的预充电、刷新等原因而产生的附加时钟的信号。其余的结构与图1的结构相同。由此,在本实施例中未描述具有相同参考标记的相同元件。
计时调整单元B响应于在其处输入的控制信号,将选择间隔TSO设置相对较长。由此可以有效地使用多个总线主控器和公共存储器F。此外,可以在命令缓冲器D1中存储适量的信息。
例如,在使用公共存储器F的情况下,其中如SDRAM中的访问时间波动,通过存储在命令缓冲器D1中的信息量或访问的存储器控制器E的信息调整选择间隔TSO,以由此在命令缓冲器D1中存储适量信息。
防止命令缓冲器D1发生溢出,并且可以自由地控制命令缓冲器D1中存储的信息量。简而言之,可以更有效地使用存储器,同时保证与总线主控器相关的带宽。作为一种可能的结构,当缓冲器的存储信息量Qc大于阈值Qth时,禁止选择除当前信息之外的任何信息,此外,在一定的选择周期过程中不传送来自最高优先级的总线主控器的信息。
第三实施例考虑总线/总线主控器和优先级顺序之间的关系,提供本发明的第三实施例。将信息选择单元C配置为基于总线的优先级顺序选择信息。在本实施例中引入上述附图作为其结构示图。
参考图10的流程图描述根据本实施例的操作。
在步骤S31中,信息选择单元C确认图11中所示的各个总线的优先级顺序的选择信息,以由此判断最高优先级的总线主控器是否被指定。每个总线和每个槽(slot)进行判断。例如,在槽0中根据指定“1”的总线A判断存在最高优先级的总线主控器,而判断槽6中没有最高优先级的总线主控器,因为其中所有总线都指定“0”。
当指定最高优先级的总线主控器时,操作继续进行至步骤S32,在步骤S32判断最高优先级总线主控器是否输出信息。当判定最高优先级总线主控器输出信息时,操作继续进行至步骤S33,在步骤S33选择信息并将该信息存储在缓冲器中。
当在步骤S31判定没有指定最高优先级总线主控器时,在步骤S32中判定最高优先级总线主控器没有输出信息,操作继续进行至步骤S34。在步骤S34中,命令缓冲器D1的存储信息量Qc和预定阈值Qth互相比较,当存储信息量Qc大于阈值Qth时,终止处理,并且没有信息选择。相反,当存储信息值Qc等于或低于阈值Qth时,根据固定的优先级顺序执行信息选择,以由此在缓冲单元D中存储所选的信息。
如上所述,当在缓冲单元D中已存储了大量信息时,信息选择单元C禁止在缓冲单元D中存储信息,以防止缓冲单元D发生溢出。此外,在其中设置最高优先级总线主控器的选择周期过程中选择信息,由此保证与存储器相关的访问带宽。
如所述,根据本实施例,根据缓冲单元D的状态选择信息或不选择信息,以使得当用于信息选择的比较参考值暂时超过存储控制器E的命令处理间隔时,防止命令缓冲器D发生溢出。在此方式下,可将选择间隔设置为小于常规技术中的选择间隔,从而使得即使在处理存储控制器E的命令处理间隔被减小的情况也可以更有效地使用存储器和增加系统性能。
根据本实施例,当在命令缓冲器D1中存储了大量信息时,在包括无最高优先级总线的仲裁时间没有选择命令。可选地,可以限制命令的传送量,以处理不同量的存储信息。
参考已描述的总线主控器优先级顺序,例如在根据菊花链方法布线总线主控器的情况下,可以根据与信息选择单元C相关的连接路径决定优先级顺序。作为选择性方案,如图11所示,当各个总线和总线主控器行使总线-使用权利时,每个选择周期可以改变最高优先级的总线或总线主控器,以由此调整时间长度基本上均匀。
当在缓冲单元D中存储信息时或在每个预定周期时,缓冲单元D的存储信息量Qc和阈值Qth可以互相比较。
第四实施例本发明的第四实施例涉及对从总线主控器传送的信息量具有固定上限(最大传送信息量)的资源管理装置。
当来自最高优先级总线主控器的信息量等于或低于最大信息传输量时,选择来自于除了最高优先级总线主控器之外的另一个高优先级总线主控器的信息,其总计信息量等于或小于最大传送信息量,以保证最大传送信息量并由此实现有效处理。
图12是描述每个时钟信息选择单元C的工作流程图。在信息选择单元C中的寄存器中存储剩余传送量。最初设置时剩余传送容量是零。
在步骤S41中,当探测到时钟的上升沿时,信息选择单元C判断选择信号是否被设置。
当选择信号已被设置时,操作继续进行至步骤S42,在步骤S42中初始化剩余传送量,例如,设置每个选择周期的最大传送字数。(例如,四个字)接下来,在步骤S43中,在命令缓冲器D和数据缓冲器D2中存储在当前选择周期中由信息选择单元C所选择的信息。此时,当选择信息的传送量超过最大传送字数时,将选择信息的传送量分为多个信息,其中每个分出的信息包括最大数目的待处理传送字。
相反,当判断在步骤S41中选择信号被复位时,操作继续进行至步骤S44,在步骤S44中判断剩余传送量是否大于零,以及当传送量是零时,终止当前选择周期过程中的处理。
相反,当剩余的传送量大于零时,操作继续进行至步骤S45。在步骤S45中,根据当前选择周期过程中的优先级顺序选择下一个较低的高优先级的信息,并将该信息存储在命令缓冲器D1和数据缓冲器D2中,除大于从选择目标除去的剩余传量的任意传送量信息以外。
当信息被存储时,操作继续进行至步骤S46,在步骤S46中更新剩余传送量。更具体地,从剩余传送量减去命令缓冲器D1和数据缓冲器D2中存储的信息传送量。当没有选择的信息时,设置剩余传送量为零。
如上所述,当信息选择单元C接收传送量小于每个选择周期传送的最大数目字的信息时,可以在相同的选择周期过程中接收大量的信息。在相同的选择周期接收的多个信息的总计传送量不超过每个选择周期传送字的最大数目。因为,当最高优先级总线主控器被设置时,在选择周期过程中输出选择信号到发射连续信息的总线主控器,从而保证了与存储器相关的访问带宽。
如上所述,根据本实施例,当接收小传送量的信息时,在相同的选择周期接收多个信息。在此方式下,保证了与连续不断地访问总线主控器相关的存储器带宽,以可以更有效地使用存储器。通过延伸,可以改进整个系统的性能。
第五实施例在图13所示的资源管理装置400中,在信息选择单元C和缓冲单元D之间连接有访问预测单元G。访问预测单元G包括预测命令G1和先出(first-out)命令G2。其余的结构与图1的结构相同。由此,在本实施例中未描述具有相同参考标记的相同元件。
访问预测单元G根据迄今为止从总线主控器M1-M5传送来的读相关(reading-related)信息而对命令(预测命令)进行预测。预测命令G1存储该预测命令。通过预测先出命令G2存储缓冲单元D(先出命令)中已存储的存储信息。信息选择单元C传送选择的信息到访问预测单元G。在本发明的第五实施例中,当总线主控器M1-M5都不发出信息时,信息选择单元C传送预测-请求命令(prediction-request command)到访问预测单元G。
参考图14所示的流程图描述访问预测单元G的操作,图14所示的流程图描述了每个周期访问预测单元G的操作。在初始化的时候预测命令G1和先出命令G2都是清除的。
在步骤S51中,访问预测单元G判断信息(访问命令)是否被传送到信息选择单元C。当判定该信息被传送时,操作继续进行至步骤S52,在步骤S52中判断命令是否是写命令或读命令。当命令是写命令时,操作继续进行至步骤S53,在步骤S53中命令缓冲器D1中存储该信息,并且该信息没有变化。相反,当命令是读命令时,操作继续进行至步骤S54,在步骤S54中判断该读命令是否与先出命令G2中的命令(先出命令)相同。
当它们不相同时,操作继续进行至步骤S55,在步骤S55中输出误击(mishit)信号SM到缓冲单元D。接下来,在步骤S56中存储该读命令到命令缓冲器D1中。然后,在步骤S57中清除先出命令G2,以及在步骤S58中更新预测命令G1。此时,将存储在命令缓冲器D1中的读命令所读出的地址作为基准,更新预测命令G1,以在该基准地址之后的地址开始读命令。更新的命令具有相同的访问量。由此实现有效地预测。
当在步骤S54中判断读命令与先出命令相同时,操作继续进行至步骤S59,在步骤S59中更新先出命令G2为在下一个地址开始的命令。在步骤64中,在命令缓冲器D1中存储更新后的先出命令。在上述方式中,当指定了连续的地址时,可以在命令缓冲器D1中存储有效的先出命令。
其间,在步骤S51中尚末传送来自于所有总线主控器的信息,操作继续进行至步骤S60,在步骤S60判断是否存在预测-请求命令,并在缺少预测-请求命令时终止处理。
当存在预测-请求命令时,操作继续进行至步骤S61,在步骤S61中接着判断是否存在预测命令,并当缺少预测命令时终止处理。当设置有效的读命令时,操作继续进行至步骤S62。在步骤S62中,在先出命令G2中存储预测命令G1的预测命令。在步骤S63中,清除预测命令G1。在步骤S64,在命令缓冲器D1中存储预测命令G2的先出命令。
如上所述,只有在所有总线主控器都不输出请求总线使用权力(bus-use right)命令的情况下,信息选择单元C可以从公共存储器F预取期望信息。
在上述方式中,因为执行预取,所以当任何总线主控器请求使用公共存储器F时,可以通过总线主控器稳步地处理公共存储器F。结果,系统可以很好的运行。
较早提到的预期信息是指多个总线主控器经常使用的命令或数据。
在本实施例中,预测最后的命令。但是,存在其他可能的方法,其中当没有来自任何总线主控器的命令等时,根据总线主控器的性能仅预测特定的总线主控器,每个总线主控器被预测,以由此发出预测信息到最高优先级总线主控器。
在本实施例中,发出一个信息的预测命令。但是可以预测多个信息,以便发出预测命令,并由此读取数据。
发出预测命令的方法并不局限于根据本实施例的方法,可以采用当存储在缓冲单元D中的命令数目减小时发出预测命令的方法。
在读取数据之前和在先入数据(first-in data)的地址中写入数据的情况下,为了识别数据,改写或废弃数据。
第六实施例在本发明的第六实施例中,提供总线仲裁单元H。总线仲裁单元H裁定来自多个总线主控器M1、M2以及M3的请求。
如图15所示,总线主控器M1、M2和M3分别包括用于输出总线使用权利请求的总线请求输出部分BR1、BR2和BR3,以及许可信号输入部分Bg1、Bg2和Bg3。总线请求输出部分BR1、BR2和BR3分别连接到在总线裁定单元H中分开地起作用的总线请求输入部分Br1、Br2和Br3。
总线仲裁单元H包括用于输出用来授予总线-使用权利的许可信号的许可信号输出部分BG1、BG2和BG3以及总线请求输入部分Br1、Br2以及Br3。许可信号输出部分BG1、BG2和BG3分别连接到各个总线主控器的许可信号输入部分Bg1、Bg2和Bg3。
根据该结构,当来自多个总线主控器M1、M2和M3的请求相互冲突时,总线仲裁单元H输出许可信号到总线主控器之一,以使得只有一个总线主控器可以专有地使用总线。
接下来,描述根据本实施例的操作。图16图示了总线仲裁单元H裁定来自多个总线主控器M1、M2和M3的请求的情况。在该情况中,假定总线主控器M1的优先级顺序比总线主控器M2更高。
首先,在T2之前,从总线主控器M1输出与总线使用有关的请求到总线仲裁单元H,而与来自总线主控器M2的总线使用有关的请求尚末输入到总线仲裁单元H。接下来,在T2时,总线仲裁单元H确认该请求来自总线主控器M1。在T2和T3之间,总线主控器M2输出该请求。
接下来,在T3时,总线仲裁单元H裁定来自总线主控器M1和M2的请求,并根据优先级顺序输出许可信号到总线主控器M1。收到许可信号后,总线主控器M1便能使用总线,因此通过总线输出命令。在T3时,总线仲裁单元H确认从总线主控器M2输入的总线请求,但是由于在第一总线占用期间过程中许可信号已输出到总线主控器M1,授予总线主控器M1总线-使用权利,所以不直接输出许可信号到总线主控器M2。
此后,当判断总线主控器M1没有必要再使用总线时,总线主控器M1自动地解除其请求。在T6时,传送该请求解除的信号被输入到总线仲裁单元H。
接下来,在T7时,总线仲裁单元H解除总线主控器M1的许可信号。但是,总线主控器仲裁单元H设置非许可时期。在T7和T10之间的该非许可时期中,没有输出许可信号到任何总线主控器,以便在从T3至T10的第一总线占用期间过程中总线使用权利没有被任何总线主控器专有地行使。因为在从T3至T10的第一总线占用期间过程中许可信号没有输出到除第一总线主控器M1之外的任何总线主控器,所以总线主控器M1最终可以专有地使用总线。
其间,从T2向前,总线主控器M2继续输出请求。在T10时,当第一总线占用周期结束时,总线仲裁单元H输出许可信号到总线主控器M2,以将总线-使用权利从总线主控器M1传送到总线主控器M2。此后,从T10至T14,总线主控器M2可以通过总线输出命令,而在T10至T14过程中它受许可信号的支配。
在解除请求之后,总线主控器M1通过T14再次输出请求。如所述,总线主控器M1具有比总线主控器M2更高的优先级来行使总线-使用权力。因此,当总线主控器M1输出请求时,总线仲裁单元H解除与总线主控器M2相关的许可信号。因此,在从T16至T22的第三总线-占用周期中,总线主控器M1可以专有地使用总线。
在T14时,总线裁定单元H解除与总线主控器M2相关的许可信号。在T14时解除许可信号之后,在T14和T16之间提供非许可周期,在该非许可周期过程中没有输出许可信号到任何总线主控器,如先前描述的第一总线-占用周期。因此,由于在从T10至T16的第二总线-占用周期中除了第二总线主控器M2之外,没有输出许可信号到任何总线主控器,所以总线主控器M2可以最终专有地使用总线。
接下来,在T16时,收到从总线仲裁单元H输出的许可信号的总线主控器M1开始专有地使用总线。然后,从T16至T20,总线主控器M1能通过总线传送命令,在T16至T20过程中允许总线的专有地使用,如描述的第一和第二总线-占用周期。因为在从T16至T22的第三总线-占用期间过程中总线裁定单元H没有输出许可信号到除总线主控器M1之外的任何总线主控器,所以在该周期过程中总线主控器M1可以最终专有地使用总线。
而且,从T14向前总线主控器M1连续地输出总线请求,从T19向前总线主控器M2连续地输出总线的请求。如前所述,总线主控器M1具有比总线主控器M2更高优先级的总线-使用权力,因此优先考虑来自总线主控器M1的请求。由此,在第三总线占用周期(T16-T22)后,从T22至T28连续地输出许可信号到总线主控器M1,其中T22至T28是第四总线-占用周期。因此,在第四总线-占用周期总线主控器M1可以通过总线传送命令。
图16描述了该操作,其中一度解除与总线主控器M1相关的许可信号,并再次输出许可信号到总线主控器M1。但是,可以连续地输出许可信号到总线主控器M1而没有任何解除,以连续不断地将总线-使用权利授予总线主控器M1。
在上述描述中,仅仅要求总线仲裁单元H输出许可信号的时间和彼此对应的总线-占用周期的时间。在许可周期或非许可周期过程中,总线仲裁单元H都可以裁定来自总线主控器的请求。
在第一实施例中,为了简化说明而描述了处理四个字的情况。但是,本发明并不局限于该情况,而且本发明还可应用于处理可变长度的命令。在那种情况下,调整适当的总线-占用周期,以由此实现与上述描述相同的效果。
上述描述举例说明了多个总线主控器以相同的工作频率而工作的情况。但是,本发明并不局限于该情况。当多个总线主控器以不同的工作频率工作时,根据各个总线主控器的工作频率和公共存储器F的工作频率之间的差值设置总线-占用周期,以由此实现本发明。
在那种情况下的结构下,可以是在用于设置在其中存储的总线-占用周期的寄存器存储各个总线主控器的工作频率、公共存储器F的工作频率以及用于处理一个字的时钟数目的差值。另一种可能的结构是该寄存器在其中存储各个总线主控器和公共存储器F的工作频率,并且此后计算出用于处理一个字的各个时钟数目的差值。
而且,当多个总线主控器专有使用总线终止时,除了各个总计处理时间实质上相同之外,公共存储器F的每个总线-占用周期和每个处理时间可以设置为彼此基本上相等。在这种情况下,可以在每个总线-占用周期有效地操作总线主控器和公共存储器,而且可以减小命令缓冲器中存储的命令数目。
根据以上描述,可以显而易见地了解本发明所提供的内容。
权利要求
1.一种资源管理装置,包括信息选择单元,该信息选择单元选择由多个总线主控器中的任意一个总线主控器传送到公共资源的命令和数据所构成的信息;以及存储单元,该存储单元存储从多个总线主控器共享的公共存储器所读出的期望信息,其中从公共存储器读出的期望信息是所有的总线主控器都没有输出信息时预先存储在存储单元中的信息。
2.根据权利要求1所述的资源管理装置,其中当信息选择单元选择的信息中输出与在存储单元中存储的信息相关的读命令时,从存储单元读取信息,而不访问公共存储器。
全文摘要
一种资源管理装置包括信息选择单元,具有不同于公共资源的工作速度的工作速度,并选择多个总线主控器所传送的信息;缓冲单元,用于存储由信息选择单元选择的信息;以及计时调整单元,用于控制在信息选择单元中选择信息的时间。该信息选择单元选择由从多个总线主控器传送到公共资源的命令和数据构成的信息。计时调整单元控制在信息选择单元中选择信息的时间,以使得在信息选择单元中选择多个预定量的信息需要的总计时间和公共资源中的总计处理时间基本上相等。
文档编号G06F9/06GK1991813SQ200610160940
公开日2007年7月4日 申请日期2004年9月6日 优先权日2003年9月4日
发明者河本功, 堀井诚司, 高井裕司, 贵志哲司, 马场贵英, 村上大辅, 渡边义治, 福山敏弘 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1