具体实施方式
(实施方式1)
图1表示本实施方式的信息处理装置的结构。信息处理装置100包含:执行所载入的应用和OS的处理器单元10;存储正在执行的程序和执行所需要的数据的存储器18;用于控制对存储器18的访问的存储器控制器16;用于接受来自用户的输入和输出数据等的第一输入输出装置22a及第二输入输出装置22b;分别控制对第一输入输出装置22a、第二输入输出装置22b的访问的第一输入输出装置控制器20a及第二输入输出装置控制器20b;用于管理对存储器18和第一输入输出装置22a、第二输入输出装置22b的访问请求的令牌标记的令牌标记管理器12。对于令牌标记将在后面详细叙述。
处理器单元10、存储器18、第一输入输出装置22a、第二输入输出装置22b之间的数据传输是经由总线14进行的。虽然,实际上,作为各单元之间的数据传输线路或是数据的往路、复路可以分别设置专用的总线,但在这里,为了简化而用一条线来表示着。能够在各单元之间的数据传输中使用的总线14的总线频带事先通过仿真等逐一设定。也可按照单元的连接状况等,使该值能够在多个设定中适当选择。再有,本实施方式的各单元和总线14的连接关系并不局限于图1所示的形式,只要各单元能够实现这里所叙述的功能即可。
第一输入输出装置22a、第二输入输出装置22b可以是键盘、鼠标等的输入装置、硬盘驱动器、DVD(Digital Versatile Disk)和CD(Compact Disk)等的记录媒体的读取装置、显示装置、打印机、图形处理器等的各种处理器单元、桥接芯片、网络用的芯片等的其中一个,或者是其组合也可。因此,虽然输入输出装置的数量是不限定的,但在图1及以后的说明中,为了简化而用第一输入输出装置22a、第二输入输出装置22b来代表那些输入输出装置。同样,用第一输入输出装置控制器20a、第二输入输出装置控制器20b来代表与各输入输出装置对应的输入输出装置控制器。
本实施方式的处理器单元10并行处理多个任务。各个任务按照时间而被分割,通过对各部分分配处理器单元10的处理时间而顺序处理。处理器单元10可以由多个处理器(未图示)组成。这时,例如将多个处理器中的一个作为控制用处理器,用于控制由其它处理器执行的任务处理的调度和切换。
第一输入输出装置控制器20a接受来自处理器单元10和其他输入输出装置控制器,即第二输入输出装置控制器20b的访问请求,并在对应的第一输入输出装置22a、处理器单元10和其他输入输出装置,即第二输入输出装置22b之间执行数据的发送和接收。并且,第一输入输出装置控制器20a还进行由对应的输入输出装置22a对存储器18和其他的输入输出装置,即第二输入输出装置22b的访问请求。访问确定的数据的发送和接收经由与第一输入输出装置22a连接的总线26a进行。
第二输入输出装置控制器20b接受来自处理器单元10和其他输入输出装置控制器,即第一输入输出装置控制器20a的访问请求,并在对应的第二输入输出装置22b、处理器单元10和其他输入输出装置,即第一输入输出装置22a之间执行数据的发送和接收。并且,第二输入输出装置控制器20b还进行由对应的第二输入输出装置22b对存储器18和其他的输入输出装置,即第一输入输出装置22a的访问请求。访问确定的数据的发送和接收经由与第二输入输出装置22b连接的总线26b进行。
存储器18可以由DRAM(Dynamic Random Access Memory)和SRAM(Static Random Access Memory)等普遍使用的存储器构成。存储器控制器16接受处理器单元10和第一输入输出装置控制器20a、第二输入输出装置控制器20b对存储器18的访问请求,并在处理器单元10、第一输入输出装置22a、第二输入输出装置22b和存储器18之间执行数据的发送和接收。数据的发送和接收经由与存储器18连接的总线24进行。
令牌标记管理器12用于决定是否许可由处理器单元10对存储器18或是第一输入输出装置22a、第二输入输出装置22b的访问请求;由第一输入输出装置控制器20a对存储器18或是第二输入输出装置22b的访问请求;以及由第二输入输出装置控制器20b对存储器18或是第一输入输出装置22a的访问请求的发出。这里,访问请求是对每个规定的写入/读出数据大小进行。即,从访问目的地的存储器18、第一输入输出装置22a或是第二输入输出装置22b读出的数据,或是写入其中的数据,将作为同样大小的包而被输出到各自连接的总线,即总线24、总线26a、总线26b中。
若一次访问请求中传输的数据的大小相同,则通过调整许可访问请求的最大速度,能够限制访问请求发出源所使用的总线频带。并且,若分别设定最大速度,使各个访问请求发出源所能够使用的最大总线频带的合计不超过数据所传输的总线的总线频带,则所有的请求发出源能够以理想的比例来分享总线频带。
因此,在令牌标记管理器12中预先对每个访问请求的发出源,设定用于许可经由各自的总线的访问请求的最大速度。将总线频带的限制以通过最大速度生成的令牌标记来实体化,使得只有获得令牌标记的发出源才能够发出访问请求。安装的总线频带对于每个访问目的地都不同的情况下,则对于每个访问目的地设定与总线频带对应的令牌标记的生成速度。
由此,不容易发生例如,被优先级低的任务占据总线频带,要求随机性的任务对存储器18和第一输入输出装置22a、第二输入输出装置22b的访问受到阻碍等。
这里对于令牌标记管理器12的处理进一步详细地说明。图2是用于说明在与处理器单元10或是第一输入输出装置控制器20a、第二输入输出装置控制器20b对于存储器18的访问请求相关的令牌标记管理器12及存储器控制器16中的处理顺序的图。同图中,虽然为了说明对存储器18的访问请求,只显示有存储器控制器16,但若是对第一输入输出装置22a或是对第二输入输出装置22b的访问请求,则第一输入输出装置控制器20a或是第二输入输出装置控制器20b将代替存储器控制器16进行各自相同的处理。在以后的说明中为了便于理解,也以存储器控制器16为例进行说明,但也可以替换成第一输入输出装置控制器20a或是第二输入输出装置控制器20b。因此,在以后的说明中作为控制对象的使用总线频带是与存储器18连接的总线24的总线频带,但这也可以适当替换成与第一输入输出装置22a连接的总线26a,或是与第二输入输出装置22b连接的总线26b的总线频带。
在图2中,作为进行各种处理的功能块所记载的各元素,在硬件上可由CPU、存储器及其他的LSI组成,而在软件上则通过用于实现元素间的数据的发送和接收的程序等来实现。因此,这些功能块能够通过仅硬件、仅软件,或是这些组合,从而以各种各样的形式实现是同行业者所认可的,是不受任何限制的。
例如,从第1请求者30a到第n请求者30n的n个请求者,可以与处理器单元10中包含的处理器和第一输入输出装置控制器20a、第二输入输出装置控制器20b相对应,也可以与对每个在信息处理装置100中所处理的工序和任务所分配的,处理器的虚拟化的划分等相对应。不管怎样,第1请求者30a~第n请求者30n作为能够成为用于发出对存储器18的访问请求的发出源的元素的单位。
令牌标记管理器12包括:令牌标记生成单元36,以规定的速度生成令牌标记;以及令牌标记赋予单元34,对于要求了访问请求的发出许可的第1请求者30a~第n请求者30n的各个,赋予生成的令牌标记。令牌标记生成单元36的令牌标记的生成速度因请求者而不同。或者,将第1请求者30a~第n请求者30n鉴于其重要性和处理形态等进行分组,并使每个组有着不同的生成速度也可。例如,因进行图形处理的第1请求者30a及第2请求者30b、进行文件处理的第3请求者30c及第4请求者30d等而有在访问目的地中产生偏差或是访问频度存在特点的情况,因此,通过由分组来设定适当的生成速度,从而能够更加有效率地使用资源。
前者的情况下,对于第1请求者30a~第n请求者30n的各个,以各自的速度生成专用的令牌标记。后者的情况下,对于每个组专用的令牌标记以各自的速度生成,属于同一组的请求者,例如第1请求者30a及第2请求者30b分享该令牌标记。并且,在以后的说明中,也可以将第1请求者30a~第n请求者30n替换成请求者组。在令牌标记管理器12中未图示的寄存器中预先设定各请求者与令牌标记的生成速度之间的对应。生成速度鉴于各请求者的特征和重要性等,可通过实验和仿真来决定。
令牌标记生成单元36将生成的令牌标记一直保持到下一个生成周期到来之前。然后在该期间内有来自第1请求者30a~第n请求者30n的其中一个的请求时,由令牌标记赋予单元34向请求源的请求者赋予令牌标记。在没有请求时,下一个生成周期到来时,废弃保持的令牌标记而生成新的令牌标记。这时,根据情况,也可以向令牌标记不足的其他请求者转让多余的令牌标记。
存储器控制器16包括命令队列32,用于在赋予了令牌标记的请求者发出了对存储器18的访问请求时,存储该请求。存储器控制器16通过顺序处理在命令队列32中存储的请求,从而实施存储器18和请求发出源的请求者之间的访问处理,即经由总线14及24的数据传输。
下面基于图2所示的例子来说明实现访问处理的顺序。首先,假设在第1请求者30a~第n请求者30n中,在第4请求者30d中产生了对存储器18的访问的需要。这时,首先,第4请求者30d对令牌标记管理器12通知想要发出访问请求的意旨,并要求令牌标记(S40)。该通知中包含用于识别第1请求者30a~第n请求者30n的信息。
令牌标记赋予单元34基于请求者的识别信息,确认有无能够赋予第4请求者30d的令牌标记。接着,如果有令牌标记,则将其赋予给请求源的第4请求者30d(S42)。这里,对于第4请求者30d的令牌标记,或者是对于第4请求者30d所属的组的令牌标记在令牌标记生成的一个周期内已经因其他的请求而被使用时,使赋予的处理处于等待状态,直到在令牌标记生成单元36中生成下一个令牌标记为止。
第4请求者30d只有在取得了令牌标记的情况下,才能对存储器控制器16发出对存储器18的访问请求(S44)。访问请求中包括读出或写入的命令以及其中所必要的访问信息等。存储器控制器16接受该访问请求,并将其存储到命令队列32。然后,从之前存储的访问请求开始顺序实施访问处理。
根据以上的处理,例如,即使第4请求者30d想要对存储器18进行连续的访问,而实际上能够发出访问请求的是规定的速度以下的部分,从而可以抑制其他请求者给执行中需要优先的处理带来障碍等事态的发生。
另一方面,通过引用令牌标记可能发生新的负载。例如,根据所述顺序,令牌标记管理器12接受来自第4请求者30d的令牌标记的请求,直到赋予令牌标记之前,即使存在没有使用的令牌标记,由于令牌标记管理器12中的各处理也会出现等待时间。并且,在第4请求者30d的内部,由用于要求令牌标记的处理也会出现等待时间。
进而,多个请求者,或是属于不同的组的请求者在获得各自的令牌标记,并几乎同时向存储器控制器16发出对于同一个存储器18的访问请求时,在存储器控制器16中将产生用于顺序进行那些请求的接受处理的等待时间。
因此,在本实施方式中,根据命令队列32中所存储的访问请求的数量来改变生成令牌标记的速度。因而,从存储器控制器16将有关存储数量的信息发送到令牌标记管理器12(S46)。具体来讲,在存储数量小的阶段,以超过安装的总线频带的速度,例如200%以上的速度来生成令牌标记,使超出部分的令牌标记能够被任何一个请求者获得。由此,能够抑制由令牌标记的赋予和访问请求的接受处理所产生的访问处理的负载。
图3是说明对命令队列32中的访问请求的存储数量所设定的级别的图。在同图的命令队列32中,访问请求的存储数量q为,设最低位是q=0,即没有存储访问请求的状态,最高位是存储了在命令队列32中能够存储的最大数量q=Qmax的状态。并且,如图所示,设置q=Q1、q=Q2(0<Q1<Q2<Qmax)等两个阈值。在以后的说明中将存储数量q是0≤q≤Q1的范围称为“0级”,将Q1<q≤Q2的范围称为“1级”,将Q2<q≤Qmax的范围称为“2级”。
首先,设对于第1请求者30a、第2请求者30b、...、第n请求者30n的令牌标记的生成速度(单位时间内生成的令牌标记的数量)分别为R1、R2、...、Rn(令牌标记/秒)时,设定生成速度,使第1请求者30a~第n请求者30n进行最大限度的访问时所使用的总线频带与安装的总线频带B(字节/秒)相等。即,若设一次的访问处理中所传输的数据大小为D(字节/令牌标记),则设定生成速度R1、R2、...、Rn,使算式1成立。
(R1+R2+...+Rn)×D=B (算式1)
接着,如上所述,在0级中以超过所安装的总线频带的速度来生成令牌标记。即,若设全部令牌标记的生成速度的合计为R(令牌标记/秒),则以
R×D>B (算式2)
的速度R生成令牌标记。例如,若为总线速度的200%的速度,则R被设定为R=2B/D。这里,以超出部分的生成速度Ro(令牌标记/秒),即以
Ro=R-(R1+R2+...+Rn)(算式3)
生成的令牌标记,可以作为尚未分配的令牌标记,赋予给任何一个请求了令牌标记的请求者。
由此,消除待机时间的情况增多,从令牌标记的请求到赋予所需要的时间整体上减少,该待机时间为直到生成存在所请求的令牌标记的时间。因此,命令队列32中访问请求的存储数量减少,针对由于令牌标记的赋予处理和访问请求的接受处理等导致访问处理中发生负载的可能性高的状况,能够迅速地进行令牌标记的赋予处理。此外,由于访问请求的发出速度会暂时性地增加,因而能够尽早摆脱存储数量少的状况本身。
在1级中不生成未分配的令牌标记,以算式1所示的速度分别生成对第1请求者30a~第n请求者30n的令牌标记。由此,第1请求者30a~第n请求者30n能够以适当的比例保证总线频带,不会因总线频带的不足而导致访问处理显著延迟。此外,与0级相比,由于命令队列32中访问请求的存储速度会变慢,因而可以抑制因存储数量q达到q=Qmax而使存储器控制器16无法接受访问请求的可能性。若存储器控制器16无法接受访问请求,则需要更多的时间用于第1请求者30a~第n请求者30n再次发出访问请求,而存在访问的实施大大推迟的可能性。
在2级中停止生成所有令牌标记。由此,在该阶段除了获得完令牌标记的请求者之外,不能发出访问请求。因此,不易发生请求者因无法接受发出了一次的访问请求而必须再次发出访问请求的状况,从而能够抑制如上所述的等待时间的发生。
图4表示基于图3所示的命令队列32的结构,令牌标记管理器12的令牌标记生成单元36所执行的令牌标记生成方案的例子。首先,命令队列32的存储数量超过了0级、1级、2级的其中一个边界时,如图2的S46所示,从存储器控制器16向令牌标记管理器12发送该意旨的通知信号。令牌标记管理器12基于该通知信号,在内部设置的寄存器(未图示)中写入目前的命令队列存储数量的级别。
然后,令牌标记生成单元36在每个令牌标记生成周期中确认该寄存器。若寄存器的值表示0级(S10的Y),则包含未分配的令牌标记,并以与安装的总线频带的200%对应的速度来生成令牌标记(S12)。即,生成安装的总线频带的100%份量的对第1请求者30a~第n请求者30n的令牌标记的合计,再生成安装的总线频带的100%份量的未分配的令牌标记。此外,该比例是个例示,只要以大于安装的总线频带的等价速度的速度来生成全部令牌标记即可。全部令牌标记的生成速度和全部令牌标记中未分配的令牌标记所占的比例,可根据命令队列32的容量和访问请求的存储速度等,通过实验和仿真等来适当求得最合适的值。
若寄存器的值表示1(S14的Y),则停止未分配的令牌标记的生成,以与安装的总线频带的100%对应的速度,仅生成分别对第1请求者30a~第n请求者30n的令牌标记(S16)。
若寄存器的值不是0级、1级中的任何一个(S10的N、S14的N)时,即存储器的值表示2级时,停止生成全部令牌标记(S18)。
此外,在图4的说明中表示了以令牌标记生成单元36的动作实现了本实施方式的情况,但也可以由令牌标记赋予单元34的动作来实现同样的控制。即,在令牌标记生成单元36中,通常以与安装的总线频带的200%对应的速度来生成包括未分配的令牌标记的令牌标记。然后,从请求者接受了令牌标记的请求时,令牌标记赋予单元34将确认寄存器的值。在0级中,没有与请求源的请求者对应的专用令牌标记的情况下,把未分配的令牌标记赋予给该请求者。1级时,不赋予未分配的令牌标记。2级中停止令牌标记的赋予。
根据以上所述的本实施方式,对于存储器控制器16、第一输入输出装置控制器20a、或者第二输入输出装置控制器20b的访问请求的命令队列中的存储数量设置阈值。然后,当存储数量为0到某个阈值的范围内时,即,存储数量较小时,以能够使最大使用总线频带超出安装的总线频带的速度来生成令牌标记。由此,令牌标记的赋予所需要的时间将减少,同时在命令队列32中的访问请求的存储速度会上升,从而能够吸收在存储器控制器16、第一输入输出装置控制器20a、或者第二输入输出装置控制器20b中访问请求的接受重叠时发生的等待时间。其结果,能够抑制因用于对存储器18、第一输入输出装置22a、或者第二输入输出装置22b进行访问的令牌标记的赋予、访问请求的接受等处理而发生的负载。
再有,在超过前面叙述的阈值的存储数量充分时,以与安装的总线频带等价的速度来生成令牌标记,并分配给各个请求者。由此,即使因令牌标记的赋予处理和访问请求的接受而发生了等待时间,但在这期间需要在存储器控制器16、第一输入输出装置控制器20a、或者第二输入输出装置控制器20b中处理的访问请求存储在命令队列32中。因此,能够进行适当的总线频带的分配,而不会使负载增加。
再有,由于本实施方式可以通过在OS中添加新的设定来实现,因此与引用新的电路和增强总线频带等硬件途径不同,价格低廉而不会对安装面积带来影响,能够广泛实施。
(实施方式2)
实施方式1中,根据命令队列32中的访问请求的存储数量,通过使令牌标记的生成速度或是令牌标记的赋予速度从超出总线频带的值逐渐减少,从而抑制了在访问处理中的负载的发生。本实施方式中,设置了能够在命令队列32中访问请求的存储数量较少时省略令牌标记的赋予处理的情况,并且抑制负载的发生。本实施方式有着与图1所示的信息处理装置100相同的结构,以及能够以与图2中说明的访问处理顺序相同的顺序来实现。以后,将主要说明与实施方式1不同的地方。
引用令牌标记是为了鉴于第1请求者30a~第n请求者30n的特征和优先级等来协调使用速度。因此,存在各个请求者的访问请求重叠且总线频带不足的倾向时效果更明显。另一方面,本发明者想到在命令队列32中访问请求的存储数量较少时,即使不按照令牌标记来严格协调总线频带的使用,各个访问处理顺利进行的可能性也是较高的。
因此,引用与用于实施方式1所示的令牌标记生成速度的级别划分不同的级别划分,即用于省略令牌标记的赋予处理的级别划分。并且,对各个请求者设定优先级,根据新引用的级别来改变可省略令牌标记的赋予处理的请求者的数量。
图5是用于说明对本实施方式的命令队列32中的访问请求的存储数量设定级别的图。对访问请求的存储数量q设置Q1、Q2等阈值的点与实施方式1相同。对于这些阈值的令牌标记管理器12的动作的变化也与实施方式1同样地进行。但是,为了今后说明上的便利,将存储数量q为0≤q≤Q1的范围称为“生成级别0”,将Q1<q≤Q2的范围称为“生成级别1”,将Q2<q≤Qmax的范围称为“生成级别2”。
另一方面,本实施方式中,还对访问请求的存储数量q设置S1、S2(0<S1<S2<Q1)等阈值。以后的说明中,将存储数量q为0≤q≤S1的范围称为“跳跃级别(skip level)0”,将S1<q≤S2的范围称为“跳跃级别1”,将S2<q≤Qmax的范围称为“跳跃级别2”。从图中可以看出,本实施方式中访问请求的存储数量是由跳跃级别和生成级别等两个级别来表达的。
在图5中,阈值S1及S2,即任何一个跳跃级别的边界都包含在生成级别0中。这时,即使跳跃级别发生变化,在令牌标记生成单元36中与实施方式1的0级的情况相同,以算式2表示的超出总线频带的规定的速度R来生成未分配的令牌标记和与各个请求者对应的令牌标记。因此,在以后的说明中仅说明对于跳跃级别的变化的信息处理装置100的动作的变化。但是,跳跃级别的边界并不局限于生成级别0的内部,可以适当地将根据跳跃级别的动作的变化和根据生成级别的动作的变化进行组合。
图6是与分别对第1请求者30a~第n请求者30n设定的优先级和跳跃级别对应的,表示省略令牌标记赋予处理的规则的表。今后,对于能够省略令牌标记赋予处理的请求者,以赋予无条件通过(free pass)(以后,称为FP)的方式来替代说明令牌标记。FP赋予规则表50包括用于表示对请求者赋予的优先级的优先级栏52,以及表示跳跃级别的跳跃级别栏54。通过参照此表来唯一决定在各个跳跃级别中对各个请求者是赋予FP还是使省略为无效。FP赋予规则表50存储在令牌标记管理器12的未图示的寄存器和存储器18中。
同图的优先级栏52中设定有2~0的优先级。这里,设优先级2为高优先级,优先级0为低优先级。优先级高的请求者在跳跃级别0及跳跃级别1的较大范围内被赋予FP。在被赋予FP的期间内,可以省略令牌标记的获得而对存储器控制器16、第一输入输出装置控制器20a、或者第二输入输出装置控制器20b发出访问请求。另一方面,优先级低的请求者在所有情况下都不被赋予FP,只有在获得了令牌标记的情况下发出访问请求。优先级为中间的情况下,在比优先级高的情况窄的范围内,例如只有在跳跃级别0时被赋予FP。
这里,优先级可以分别对第1请求者30a~第n请求者30n设定,在对每个请求者的组设定了令牌标记的发生速度的情况下等,也可以对每个该组进行设定。优先级鉴于第1请求者30a~第n请求者30n和其组的重要性及处理的特征等,通过实验和仿真来决定,设定在令牌标记管理器12内部的未图示的寄存器中。或者也可以在第1请求者30a~第n请求者30n中的寄存器或是程序中设定。
“FP的赋予”实际上是如下进行的。存储器控制器16、第一输入输出装置控制器20a、或者第二输入输出装置控制器20b,在命令队列32的存储数量超出了跳跃级别0、跳跃级别1、跳跃级别2的其中一个边界时,如实施方式1的图2中步骤S46所示,向令牌标记管理器12发送该意旨的通知信息。令牌标记管理器12基于该通知信息,向设置在内部的寄存器(未图示)写入现在的跳跃级别。
并且,令牌标记管理器12基于跳跃级别,参照FP赋予规则表50来决定对各个请求者是赋予FP还是使FP为无效。赋予FP时,将对应于各个请求者而在存储器18中所设置的标志,或者是请求者具有的寄存器中所准备的标志等置“1”等。使FP为无效时,将该标志重置“0”等。或是当第1请求者30a~第n请求者30n分别进行访问请求等时,确认现在的跳跃级别和FP赋予规则表50,并改写自身的标志也可以。
图7表示在本实施方式中第1请求者30a~第n请求者30n所进行的访问请求发出顺序。首先,在存储器18、第一输入输出装置控制器20a、或者第二输入输出装置控制器20b中产生了进行访问的需要时,第1请求者30a~第n请求者30n对自身是否获得FP进行确认(S30)。如上所述,该处理实际上是确认在存储器18等中准备的标志是被置“1”还是置“0”了。若已获得了FP(S30的Y),则该请求者将直接向存储器控制器16、第一输入输出装置控制器20a、或者第二输入输出装置控制器20b发出访问请求(S36)。
若没有获得FP(S30的N),则同实施方式1中说明的那样,向令牌标记管理器12请求令牌标记(S32)。然后,若令牌标记管理器12能够通过进行与令牌标记的生成、赋予相关的必要的处理而获得令牌标记(S34),则请求源的请求者将向存储器控制器16、第一输入输出装置控制器20a、或者第二输入输出装置控制器20b发出访问请求(S36)。
图8表示在本实施方式中,令牌标记管理器12对第1请求者30a~第n请求者30n顺序赋予FP的方案的例子。在接收到来自存储器控制器16、第一输入输出装置控制器20a、或者第二输入输出装置控制器20b的用于通知跳跃级别的变更的信号时,令牌标记管理器12根据该通知信号或者是暂时写入了该信息的寄存器的值来确认该跳跃级别。如果是跳跃级别0(S40的Y),则接着确认作为赋予对象的请求者的优先级。
当优先级为1(S42的Y)或者2(S42的N以及S46的Y)时,基于图6的FP赋予规则表50赋予FP(S50)。FP的赋予如上所述,是通过设置作为对象的请求者的标志而进行的。当优先级为0(S46的N)时,基于FP赋予规则表50使FP为无效,并重置标志(S48)。
同样,当跳跃级别为1(S40的N以及S44的Y),优先级为2(S46的Y)时,赋予FP(S50)。除此以外的情况(S44的Y以及S46的N、S44的N),则使FP为无效(S48)。对所有的请求者,即第1请求者30a~第n请求者30n进行以上的处理(S52的Y),从而更新FP的赋予、无效。
根据以上所述的本实施方式,对于存储器控制器16、第一输入输出装置控制器20a、或者第二输入输出装置控制器20b的命令队列32中的访问请求的存储数量设置两个系统的阈值。第一个系统与实施方式1相同,是使令牌标记的生成速度变化的阈值,第二个系统是用于省略令牌标记的获得处理的阈值。在第一个系统中,通过设置令牌标记的生成速度超出总线频带的形态,同实施方式1中说明的那样,能够减少令牌标记赋予处理中的等待时间。并且通过充分保证命令队列32中的访问请求的存储数量,从而吸收在访问请求重叠时,存储器控制器16、第一输入输出装置控制器20a、或者第二输入输出装置控制器20b的接受处理中的等待时间。其结果是,能够减少被实施访问处理之前的负载。
并且,通过在第2系统中设置对于特定的请求者不用获得令牌标记就许可请求者发出访问请求的形态,从而能够节省令牌标记的赋予中所需要的处理时间和资源。
由于省略令牌标记的获得是在总线频带较为空闲的状况下进行的,因此不易发生根据令牌标记的使用总线频带的协调功能因部分被省略而带来的影响。并且,即使在总线频带空闲的状况下,由于优先级低的请求者被要求获得令牌标记,因此不易发生因请求者的访问请求集中而使其他请求者的访问处理拖延的状况。再者,由于省略令牌标记的赋予处理,能够确保令牌标记的引用效果,并且能够进一步减少访问请求的实施之前的负载。此外,能够有效地利用总线频带。此外,与实施方式1相同,引用能够使引用成本和安装面积方面都有利。
以上在实施方式下说明了本发明。所述实施方式是例示,那些各个组成元素和各个处理的组合可以有各种各样的变形例,并且,这样的变形例也属于本发明的范围内是同行业者所认可的。
例如,实施方式2中,赋予FP还是无效是由请求者自身去确认,并根据该结果决定是向令牌标记管理器12请求令牌标记,还是不要求令牌标记而向存储器控制器16等发出访问请求。另一方面,所有的请求者,第1请求者30a~第n请求者30n也可以暂且向令牌标记管理器12请求令牌标记,并在令牌标记管理器12中识别赋予了FP的请求者。这时,向赋予了FP的请求者赋予通常准备着的特殊的令牌标记后立即给出访问请求的发出许可。由此,对于第1请求者30a~第n请求者30n的动作,不用从没有引用FP的情况进行变更,就能够达到与实施方式2相同的效果。
此外,在实施方式2中通过生成级别和跳跃级别等两个级别的划分来改变令牌标记的生成速度及省略令牌标记的赋予处理的请求者,但也可以仅引用跳跃级别。这种情况下,也能够节省令牌标记的赋予所需要的处理时间和资源,并且以低廉的价格获得减轻负载、有效利用总线频带等效果。
并且,本实施方式的发明性特征可进一步定义如下。
1.一种信息处理装置,其特征在于,包括:用于要求对由总线连接的资源的访问请求的发出许可的多个请求者单元;以规定的速度生成令牌标记,给每个所述访问请求赋予对要求了发出许可的所述请求者单元所生成的令牌标记的令牌标记生成器;以及接受并存储由获得所述令牌标记的所述请求者单元所发出的所述访问请求,并实现顺序访问的访问处理单元,在所述访问处理单元中的所述访问请求的存储数量是规定的阈值以下时,所述令牌标记生成器以超过所述总线的安装总线频带的速度生成所述令牌标记。
2.根据所述1中所述的信息处理装置,其特征在于,在所述访问处理单元中的所述访问请求的存储数量是规定的阈值以下时,所述令牌标记生成器将与所述安装总线频带相当的量的令牌标记以事先设定的比例分配给所述多个请求者单元,对于用比分配的令牌标记更大的频度要求了访问请求的发出许可的所述请求者单元,赋予超出安装总线频带的部分的令牌标记。