总线主设备、总线系统以及总线控制方法_5

文档序号:9438909阅读:来源:国知局
出数。
[0183]图15是概括地示出实施方式4的总线主设备410的结构的框图。总线主设备410具备访问生成部111、指令队列112、数据队列113、传送请求输出顺序控制部414、传送请求输出部115、传送响应输入部116、地址映射存储部117、时间测量计数器220、传送响应输入时间测量部221、传送响应输入时间存储部222和定时计数器323。实施方式4的总线主设备410与实施方式3的总线主设备310的不同之处在于传送请求输出顺序控制部414中的处理。此外,对传送请求输出顺序控制部414以及队列数控制部470输出来自实施方式4中的传送响应输入时间存储部222的输出即传送响应输入时间信号TRT。
[0184]传送请求输出顺序控制部414与实施方式3所述的传送请求输出顺序控制部314同样,根据后续从设备的传送响应输入时间FRT、优先从设备的传送响应输入时间PRT和定时计数器323的计数值TT来选择存储有输出的指令信息的队列编号,但也可以根据来自队列数控制部470的输出队列数控制信号OQR,来控制向各个总线从设备130输出的指令信息的输出数。
[0185]例如,在根据来自队列数控制部470的输出队列数控制信号OQR指示发往确定的总线从设备130的传送请求的上限抑制时,传送请求输出顺序控制部414使得不输出多个发往所确定的总线从设备130的传送请求。另一方面,当根据来自队列数控制部470的输出队列数控制信号OQR来指示解除发往确定的总线从设备130的传送请求的上限抑制时,传送请求输出顺序控制部414返回至通常动作,能够输出多个发往所确定的总线从设备130的传送请求。
[0186]图16以及图17是示出队列数控制部470从总线主设备410获得传送响应输入时间信号TRT来对总线主设备410输出输出队列数控制信号OQN时的处理的流程图。
[0187]队列数控制部470每当经过预先设定的时间时参照传送响应输入时间信号TRT (S40)。接着,队列数控制部470向总线从设备编号“S”代入“1”,作为初始值(S41)。总线从设备编号“I”表示总线从设备130A。
[0188]接着,队列数控制部470使总线从设备编号“S”表示的总线从设备130的传送响应输入时间的合计值即Tcurrent [S]的值成为初始值“O”(S42)。
[0189]接着,队列数控制部470向总线主设备编号“M”代入“1”,作为初始值(S43)。总线主设备编号“I”表示总线主设备110A。
[0190]接着,队列数控制部470根据从总线主设备编号“M”的总线主设备410送来的传送响应输入时间信号TRT,取得总线从设备编号“S”的传送响应输入时间(S44)。然后,队列数控制部470将所取得的响应时间作为值TR。这里,在传送响应输入时间根据传送类别以及传送数据长度进行区分的情况下,队列数控制部470使所区分的全部传送响应输入时间的合计值成为值TR。
[0191]接着,队列数控制部470使Tcurrent [S]的值与值TR相加(S45)。
[0192]接着,队列数控制部470使总线主设备编号“M”递增“I” (S46)。
[0193]然后,队列数控制部470判断总线主设备编号“M”是否是与总线连接体150连接的总线主设备410的数以下(S47)。在总线主设备编号“M”是总线主设备410的数以下时(S47 ;是),处理返回至步骤S44。另一方面,在总线主设备编号“M”大于总线主设备410的数时(S47 ;否),处理进入到图17的步骤S48。
[0194]根据步骤S42?S47的处理,队列数控制部470可计算总线从设备编号“S”的总线从设备130的传送响应输入时间的合计值。该合计值在具有多个总线主设备410的情况下,对多个总线主设备410已算出的传送响应输入时间进行合算。另外,在各个总线从设备130的传送响应输入时间根据传送类别以及传送数据长度进行区分的情况下,不区分传送类别以及传送数据长度,而对各个总线从设备130的传送响应输入时间进行合算。
[0195]在图17的步骤S48中,队列数控制部470从存储器470a中读出上次参照的总线从设备编号“S”的传送响应输入时间的合计值Tlast [S]。然后,队列数控制部470判断Tcurrent[S]的值是否大于Tlast[S]的值。在Tcurrent[S]的值大于Tlast[S]的值时(S48 ;是),处理进入到步骤S49,在Tcurrent [S]的值是Tlast [S]的值以下时(S48 ;否),处理进入到步骤S53。
[0196]在步骤S49中,队列数控制部470判断为总线从设备编号“S”的总线从设备130的传送响应时间已增加,将连续增加次数与“ I ”相加,使连续减少次数的值返回至初始值“O”。
[0197]接着,队列数控制部470判断连续增加次数是否是预先设定的第I阈值以上(S50)。在连续增加次数是第I阈值以上时(S50 ;是),处理进入到步骤S51,在连续增加次数小于第I阈值时(S50 ;否),处理进入到步骤S59。
[0198]在步骤S51中,队列数控制部470判断为总线从设备编号“S”的总线从设备130的传送负荷高。并且,队列数控制部470对全部总线主设备410输出指示所输出的传送请求数的上限抑制的输出队列数控制信号0QN。
[0199]此外,接受这样的指示的总线主设备410的传送请求输出顺序控制部414使得不输出多个发往总线从设备编号“S”的总线从设备130的传送请求。
[0200]接着,队列数控制部470使连续增加次数返回至初始值“O” (S52)。然后,处理进入到步骤S59。
[0201]另一方面,当在步骤S48中判断为Tcurrent [S]的值是Tlast [S]的值以下时(S48 ;否),处理进入到步骤S53。
[0202]在步骤S53中,队列数控制部470判断Tcurrent [S]的值是否小于Tlast [S]的值。在Tcurrent [S]的值不小于Tlast [S]的值时(S53 ;否)即在Tcurrent [S]的值与Tlast [S]的值是相同值时,处理进入到步骤S54。另外,在Tcurrent[S]的值小于Tlast[S]的值时(S53 ;是),处理进入到步骤S55。
[0203]在步骤S54中,队列数控制部470使连续增加次数以及连续减少次数返回至初始值 “O”。
[0204]另一方面,在步骤S55中,队列数控制部470判断为总线从设备编号“S”的总线从设备130的传送响应时间已减少,使连续减少次数与“I”相加,使连续增加次数的值返回至初始值“O”。
[0205]接着,队列数控制部470判断连续减少次数是否是预先设定的第2阈值以上(S56)。在连续减少次数是第2阈值以上时(S56 ;是),处理进入到步骤S57,在连续减少次数小于第2阈值时(S56 ;否),处理进入到步骤S59。
[0206]在步骤S57中,队列数控制部470判断为总线从设备编号“S”的总线从设备130的传送负荷下降。并且,队列数控制部470对全部总线主设备410输出指示所输出的传送请求数的上限抑制的抑制解除的输出队列数控制信号0QN。
[0207]此外,已接受这样的指示的总线主设备410的传送请求输出顺序控制部414不等待从总线从设备编号“S”的总线从设备130获得传送响应,就向该总线从设备130输出传送请求。
[0208]接着,队列数控制部470使连续减少次数返回至初始值“O” (S58)。然后,处理进入到步骤S59。
[0209]在步骤S59中,队列数控制部470根据本次算出的Tcurrent [S]的值来更新存储器470a所保存的Tlast [S]的值。
[0210]然后,队列数控制部470使总线从设备编号“S”递增“I” (S60)。
[0211]接着,队列数控制部470判断总线从设备编号“S”是否是总线从设备数以下(S61)。然后,在总线从设备编号“S”是总线从设备数以下时(S61 ;是),处理进入到图16的步骤S42。另一方面,在总线从设备编号“S”大于总线从设备数时(S61;否),处理进入到图16的步骤S40。
[0212]图18是示出传送请求输出顺序控制部414抑制了向总线从设备130A输出的传送请求数的上限时的总线主设备410的动作的时序图。
[0213]如图18所示,传送请求输出顺序控制部414在时刻(T5)输出发往总线从设备130A的写入地址信道信号WAC之后,不向该总线从设备130A输出传送请求,直至在时刻(T8)取得该传送响应为止。通过进行这样的动作,传送请求输出顺序控制部414避免输出多个发往总线从设备130A的传送请求的状态,使总线从设备130A的传送负荷降低。
[0214]如以上那样,根据实施方式4的总线系统400,限制总线主设备410对传送负荷暂时变大的总线从设备130的传送请求数,使该总线从设备130的传送负荷降低,因此能够缩短从总线主设备410输出传送请求起到获得传送响应为止的时间。
[0215]实施方式5.
[0216]图19是概括地示出实施方式5的总线系统500的结构的框图。总线系统500经由总线连接体150连接总线主设备510A?510C (在无需特意地区分彼此时,称为总线主设备510)和总线从设备530A?530C (在无需特意地区分彼此时,称为总线从设备530)。另夕卜,将在总线从设备530A?530C中可接受的最大传送请求数分别作为540A?540C (在无需特意地区分彼此时,称为最大传送请求数540)通知给总线主设备510。实施方式5的总线系统500与实施方式I的总线系统100的不同点是,总线主设备510中的处理以及从总线从设备530向总线主设备510通知最大传送请求数540点。这里,最大传送请求数540是各个总线从设备530在内部可蓄积的传送请求的最大数。该最大传送请求数540在系统中预先设定,存储于各个总线从设备530具有的存储器531A?531C(在无需特意地区分彼此时,称为存储器531)内。
[0217]总线从设备530经由总线连接体150接收从总线主设备510A?510C发行的写入地址信道信号以及写入数据信道信号或读出地址信道信号。总线从设备530根据接收到的信道信号来生成控制信号。例如,在总线从设备530是SRAM的情况下,生成SRAM的写入或读出信号,当写入或读出结束时,经由总线连接体150向总线主设备510发送写入响应信道信号或读出数据信道信号。
[0218]另外,在总线从设备530是与外部的串行接口等时,将写入地址信道信号以及写入数据信道信号或读出地址信道信号转换为串行信号,向外部设备输出,将从外部设备输入的串行信号转换为写入响应信道信号或读出数据信道信号,与上述同样地发送到总线连接体150。
[0219]总线从设备530在从接受来自总线主设备510A?510C的写入地址信道信号或读出地址信道信号即传送请求到发行写入响应信道信号或读出数据信道信号的期间内,还将其它写入地址信道信号或读出地址信道信号输入到总线从设备530,此时,总线从设备530是否取入该信号根据总线从设备530的结构而不同。例如,在总线从设备530的内部具有蓄积传送请求的缓存器并能够确保向该缓存器蓄积传送请求的空余容量时,总线从设备530输出Ready信号后取入写入地址信道信号和写入数据信道信号或读出地址信道信号,存储到总线从设备530内部的缓存器。
[0220]另一方面,在总线从设备530不具备上述这样的缓存器或者无法确保在缓存器内蓄积传送请求的空余容量时,总线从设备530不将Ready信号设为有效,向总线连接体150通知不取入传送请求的情况。总线连接体150从总线从设备530接受该取入保留的通知时,在解除保留之前的期间内,不进行发往总线从设备530的新传送请求,而滞留发往系统内的总线从设备530的传送。
[0221]在总线从设备530内,执行中的传送结束,在没有总线从设备530应该处理的传送请求或者能够确保蓄积传送请求的缓存器的空余容量的时刻,总线从设备530使Ready信号有效,从总线连接体150获得已保留取入的传送请求。
[0222]总线主设备510获得总线从设备530的最大传送请求数540,来选择指令队列112所存储的指令信息。图20是概括地示出实施方式5中的总线主设备510的结构的框图。实施方式5的总线主设备510与实施方式I的总线主设备110的不同点是向传送请求输出顺序控制部514输入总线从设备530A?530C的最大传送请求数540A?540C。
[0223]图21以及22是示出实施方式5的传送请求输出顺序控制部514选择指令队列112所存储的任意一个队列编号的指令信息时的处理的流程图。在图21以及22所示的流程中,对与图7所示的处理同样的处理标注与图7相同的符号。
[0224]图21中的步骤S20?S22的处理与图7中的步骤S20?S22的处理相同。但是,在图21的步骤S22中,当队列编号X的指令信息不是输出完成时(S22 ;否),处理进入到步骤 S62。
[0225]在步骤S62中,传送请求输出顺序控制部514参照指令队列112,对发往与具有队列编号X的传送对象地址的总线从设备530相同的总线从设备530的传送请求中的、队列有效且传送请求是输出完成的传送请求的数量进行计数,作为传送响应输入前访问数。然后,传送请求输出顺序控制部514确认传送响应输入前访问数是否没有达到总线从设备530的最大传送请求数540。在该数没有达到总线从设备530的最大传送请求数540时(S26 ;是),处理进入到步骤S23,以后,与实施方式I中的传送请求输出顺序控制部114同样地决定与下一个存储的指令的输出顺序。另一方面,在该数达到总线从设备530的最大传送请求数540时(S26 ;否),处理进入到图22的步骤S63。
[0226]在图22的步骤S63中,传送请求输出顺序控制部514将初始值(这里为“I”)设定为用于确定比较队列的变量Y。
[0227]接着,传送请求输出顺序控制部514通过参照指令队列112所存储的管理信息,来判断队列编号(X+Y)的指令信息是否“有效”(S64)。在队列编号(X+Y)的指令信息“有效”时(S64;是),处理进入到步骤S65,在队列编号(X+Y)的指令信息“无效”时(S64;否),处理进入到步骤S68。
[0228]在步骤S65中,传送请求输出顺序控制部514通过参照指令队列112所存储的管理信息,来判断队列编号(X+Y)的指令信息是否是输出完成。在队列编号X的指令信息是输出完成时(S65;是),处理进入到步骤S68,在队列编号(X+Y)的指令信息不是输出完成时(S65 ;否),处理进入到步骤S66。
[0229]在步骤S66中,传送请求输出顺序控制部514通过参照指令队列112所存储的指令信息,来判断队列编号X的传送对象总线从设备530与队列编号(X+Y)的传送对象总线从设备530是否相同。在它们相同的情况下(S66;是),处理进入到步骤S68,在它们不同的情况下(S66 ;否),处理进入到步骤S67。
[0230]通过步骤S63?S66的处理,传送请求输出顺序控制部514可按照在队列中存储的顺序来检测这样的传送请求,该传送请求
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1