处理器系统、总线控制方法和半导体装置的制作方法

文档序号:6462540阅读:365来源:国知局
专利名称:处理器系统、总线控制方法和半导体装置的制作方法
技术领域
本发明涉及搭载多个处理器的称为多处理器的处理器系统、及这种处 理器系统的总线控制方法。
背景技术
搭载多个处理器的多处理器在经共有存储器总线访问共有存储器的情 况下,若从1个处理器发生大量的总线访问,并且,将该处理器的优先级 设定得高,则难以受理来自其它处理器的访问请求。作为现有技术,对于由多个总线主部件访问1个共有总线时的一样的 课题,有监视来自各总线主部件的访问频度、并使调停时的优先级变化的 方法(参照专利文献l)。根据该技术,通过监视某个一定期间的期间来自各总线主部件的访问 状况,并对每个该一定期间将访问次数多的总线主部件的优先级在下一期 间将优先级设定得低,从而即便在某个总线主部件大量执行总线访问的情 况下,也可解决该总线主部件连续使用总线、难以执行其它总线主部件的 总线访问的状况。但是,该方法适用于来自各总线主部件的请求冲突时的调停时,在优 先级高的总线主部件连续发出请求的状况或同时发生访问请求的情况下, 仅具有优先级低的总线主部件也能以一定的比例访问总线的效果。如今,在请求与数据传送适用可在不同阶段动作的分离传送(split)方式总线的系统中,可受理访问请求的周期间隔多,在变为冲突状态之前 连续发行访问请求,受理的概率变高,上述现有技术不能适用。专利文献l:(日本)特开2002-91903号公报(图1、图6) 图1是表示搭载了多处理器的系统构成图。该处理器系统具备多处理 器l-l、 DMA1-2、 DSPl-3、共有总线IF部1-17、共有存储器1-23。多处理器1-1是搭载了 2个由进行命令执行的流水线及其其关联控制构成的处理器单元(PU)的对称型多处理器,具有PU0(l-4)、 PUl(l-5)、总 线IF部1-12。来自PU0(1-4)的PU0访问请求1-6、和来自PU1(1-5)的PU1访问请求 l-7由总线IF部1-12调停,受理任一方的访问请求。在受理了PUO访问请 求1-6的情况下,将PUO访问受理(l-8)发送到PU0(1-4),在受理了 PU1访 问请求1-7的情况下,将PU1访问受理1-9发送到PU1 (1-5)。若总线IF部1-12受理来自任一处理器单元的请求,则向共有总线IF 部l-17发送处理器总线请求1-14。总线IF部1-12即便执行1个传送,也 可受理下一个其它的请求。共有总线IF部1-17上还连接DMA总线1-18和DSP总线1-19。各个访 问请求由共有总线IF部1-17调停,向共有存储器1-23发送共有存储器总 线请求1-20。若共有存储器1-23受理请求,则返回共有存储器总线请求受 理1-21。若共有存储器l-23完成访问,则将共有存储器总线响应1-22返 回到共有总线IF部1-17。这里,若从共有存储器总线看,则总线IF部用 作单个主部件。即,图1中,从共有存储器总线看用作主部件的是多处理 器l-l(总线IF部1-12)、 DMA1-2、 DSP1-3等3个。图2示出搭载于本系统上的总线的总线协议。下面,说明为各总线全 部为该协议。各总线的协议是在发出请求2-1之后,即便在与响应2-3 —起返回数 据2-4之前的期间中也可发出新的请求的协议。由此,构成在连续的数据 传送时可高效执行数据传送的总线(分离传送总线)。尤其在共有存储器是 同步DRAM、 DDR等、最初的数据传送的等待时间(latency)长、但连续的数据传送的处理量小的器件时,发挥效果。连续声称(assert)任一总线主部件发行的请求2-1,直到访问目标受 理请求为止, 一旦访问目标返回请求受理2-2,则使其无效。从图2可知, 即便在涉及请求A的传送完成之前,也受理下一请求B。图3是表示图l所示的多处理器l-l内的PU0(卜4)、 PU1(1-5)经处理 器总线1-13访问被控器件时的总线定时(timing)的图。图3中,设从PUO (1-4)声称请求A(3-1)、请求B (3-2),之后,从PU1 (1_5) 声称请求C(3-3)。如上所述,各处理器单元在对前一请求的传送结束之前,10可发出下一请求,总线IF部1-12在对前一请求的传送结束之前,可受理l 个下一请求。在下面的说明中,举例说明请求是读取请求,在高速缓冲存 储器失败(miss)的情况下接力传送(refile)高速缓冲存储器线的短脉 冲(burst pulse)访问的情况。这里,设以1个请求来短脉冲传送多个字 数据(在图3中为4次短脉冲传送)。图3中,省略涉及共有存储器总线的 定时图。总线IF部1-12从处理器单元依次受理声称的访问请求并执行。因此, 如图3所示,若作为处理器总线请求1-4,按总线请求A、总线请求B、总 线请求C的顺序发生请求,则对请求A(3-l)、请求B(3-2)、请求C(3-3) 的数据也按该顺序传送。对请求A(3-l)的等待时间是周期cycA(3-7)。可认为周期cycA(3-7) 是对共有存储器(1-23)的总线访问不冲突时的处理器(1-1)内的各个处理 器单元的总线访问周期数。传送对请求B (3-2)的数据是在对请求A (3-1)的数据传送完成之后,对 于请求C (3-3)是在对请求A (3-1)和请求B (3-2)的数据传送完成之后,所以 请求C(3-3)的等待时间为周期cycC(3-8),比周期cycA(3-7)长。艮P,处理器(l-l)是对称构造的多处理器,但由于PU0(l-4)的多个总线 访问,PU1 (1 -5)受到总线访问性能的影响。若上述总线访问性能的影响均等,则没有问题,但在一个处理器单元 执行大量总线访问,定时性地比其它处理器单元先发行请求的概率大的情 况下,可产生总线访问的冲突影响偏向另一处理器的现象。此时,尽管是 对称构造的多处理器,但一个处理器单元的总线访问性能事实上比另一处 理器单元差。在对称构造的多处理器的情况下,对应于多个处理器单元搭载的多个 CPU芯相同。由此,在用软件估计处理性能的情况下,执行单独的CPU芯下 的动作的研究,研究结果中考虑冲突造成的恶化部分来进行动作性能的估 计,通常作为搭载其的双方CPU芯以相同性能执行来进行估计。此时,虽 然对总线的访问性能考虑共有总线造成的影响,但该影响若未均等分配给 两个CPU芯,则性能估计的误差大。另外,仅单个CPU芯的性能恶化,影 响系统性能。艮P,在多处理器系统中,无法高精度地估计总线的访问性能。 另外,即便在多线程处理器中,也发生与上述多处理器一样的课题, 有时想防止总线访问的性能仅偏向特定的线程。即,即便在多线程处理器 中,有时也想向每个线程均等地分配总线带宽,或有时也想向各线程均等 地分配冲突引起的总线访问的影响。发明内容本发明的目的在于提供一种在访问共有存储器的多个主单元(master unit)之间均等地分配对共有存储器的访问性能且构成简单的多处理器系 统、总线控制方法和半导体装置。另外,本发明的另一目的在于提供一种能以简单的构成来控制多个主 单元间的访问性能分散的多处理器系统、总线控制方法和半导体装置。为了解决上述问题,本发明的处理器系统具备总线,连接于共有存 储器;多个主单元,发行用于访问所述共有存储器的访问请求;和总线接 口部,以分离传送(split transaction)方式执行所述总线的访问,该方式 分离地执行受理从所述多个主单元发行的访问请求的请求阶段(phase)、与 根据受理的访问请求而在所述共有存储器与主单元之间经所述总线进行数 据传送的传送阶段;在从1个主单元不空出规定期间地连续发行多个访问 请求的情况下,所述总线接口部将对应于该多个访问请求的传送阶段的连 续执行次数限制为最多N次,所述规定期间是与从受理了之前刚发行的访 问请求时起、至该访问请求的传送阶段完成为止的期间的一部分或全部相 当的期间。根据该构成,在限定了不空出上述规定期间这样的条件下连续 发行多个访问请求的情况下,由于限制对应于该多个访问请求的传送阶段 的连续执行次数,所以能以简单的构成而使主单元间均等地分散访问性能。这里,也可以是所述N为1。根据该构成,通过将传送阶段的连续执行 次数N设为最小1次,在来自多个主单元的访问请求冲突的情况下,可交 替或边切换边执行对应于不同主单元的传送阶段,可均等化访问性能。这里,也可以是所述总线接口部具备受理控制部,控制访问请求的 受理;传送控制部,控制所述数据传送;识别信息保持部,至少保持1个 与已受理且传送阶段未完成的访问请求相对应的主单元的识别信息;和标记保持部,保持在所述规定期间变为有效的标记信息,所述受理控制部当 发行新的访问请求时,在所述标记信息表示无效的情况下,受理该新的访 问请求,在所述标记信息表示有效的情况下,判定发行了该新的访问请求 的主单元的识别信息与所述识别信息保持部中保持的识别信息是否一致, 在判定为该识别信息不一致的情况下,受理该新的访问请求,在判定为该 识别信息一致的情况下,将与发行了该新的访问请求的主单元相对应的传送阶段的连续执行次数限制为最多N次。根据该构成,通过限制请求阶段 中的受理,可实现1个主单元的传送阶段的连续执行次数的限制。另外, 可根据保持所述识别信息与所述标记信息这样简单的构成来实现访问性能 的均等化。这里,也可以是所述规定期间是从所述访问请求的受理至对应于所述 访问请求的传送阶段完成的期间,所述受理控制部每当受理访问请求时, 将所述标记信息设为有效,并且,将对应于该访问请求的识别信息设定在 所述识别信息保持部件中,所述传送控制部件在与所述识别信息保持部件 中保持的识别信息相对应的传送阶段完成时,将所述标记信息保持部件的 标记信息设为无效。根据该构成,在从1个主单元不空出上述规定期间地 连续发行多个访问请求的情况下,可限制对应于该多个访问请求的传送阶 段的连续执行次数。标记信息在访问请求的受理时变为有效(设置),在该 访问请求的传送阶段完成时变为无效(复位)。这样,可通过简单的控制来 构成所述标记信息。这里,也可以是所述规定期间是从访问请求的受理至规定周期数经过 的期间,所述处理器系统还具备对所述规定周期数进行计数的周期计数器, 所述受理控制部每当受理访问请求时,都将所述标记信息设为有效,将对 应于该访问请求的识别信息设定在所述识别信息保持部件中,使所述计数 器的周期计数动作开始,当所述计数器对所述规定周期数进行计数时,所 述标记保持部件使所述标记信息无效。根据该构成,可将所述规定期间设 定为(i)相当于从所述访问请求的受理至对应于所述访问请求的传送阶段 完成为止的期间的期间,或设定成比(i)短的期间,或设定成比(i)长的期 间。例如,根据每个主单元的实际总线访问性能的测定值,可将所述规定 期间调整和设定为最佳值。这里,也可以是所述处理器系统还具备周期寄存器,该周期寄存器可 设定所述规定周期数、且保持所述规定周期数,所述周期计数器对所述周 期寄存器中保持的规定周期数进行计数。根据该构成,由于周期寄存器可 从主单元设定,所以主单元可对应于处理量或访问频度来调整和设定周期 数。这里,也可以是所述总线接口部具备受理控制部,控制访问请求的 受理;传送控制部,控制所述数据传送;识别信息保持部,至少保持1个 与已受理且传送阶段未完成的访问请求相对应的主单元的识别信息;标记 保持部,对在所述规定期间变为有效的标记信息进行保持;和连续数计数 器,对所述N进行计数;所述受理控制部当发行新的访问请求时,在所述 标记信息表示无效的情况下,受理该新的访问请求,在所述标记信息表示 有效的情况下,判定发行了该新的访问请求的主单元的识别信息与所述识 别信息保持部中保持的识别信息是否一致,在判定为该识别信息不一致的 情况下,受理该新的访问请求,在判定为该识别信息一致的情况下,判定 所述连续数计数器是否计数至N次,在判定为所述连续数计数器未计数至N 次的情况下,受理该新的访问请求,在判定为所述连续数计数器计数至N 次的情况下,延期该新的访问请求的受理直到所述标记信息变为无效为止, 并初始化所述连续计数器。根据该构成,可利用连续数计数器简单地控制N 次之前的传送阶段的连续执行次数的限制。这里,也可以是所述处理器系统还具备连续数寄存器,所述连续数寄 存器可由任一主单元设定,且保持所述N,所述连续数计数器对所述连续数 寄存器中保持的所述N进行计数。根据该构成,由于可从主单元设定连续 数寄存器,所以主单元可对应于处理量或访问频度来调整和设定连续数N。这里,也可以是所述总线接口部具备受理控制部,控制访问请求的 受理;传送控制部,控制所述数据传送;第1识别信息保持部,至少保持1 个与已受理且传送阶段未完成的访问请求相对应的主单元的识别信息,作 为第1识别信息;标记保持部,对在所述规定期间变为有效的标记信息进 行保持;和第2识别信息保持部,保持所述多个主单元中应限制访问的主 单元的识别信息,作为第2识别信息,所述受理控制部当发行新的访问请 求时,在所述标记信息表示无效的情况下,受理该新的访问请求,在所述标记信息表示有效的情况下,判定发行了该新的访问请求的主单元的识别信息与所述第1识别信息和第2识别信息是否一致,在判定为与所述第1 识别信息和第2识别信息至少一方不一致的情况下,受理该新的访问请求, 在判定为与所述第1识别信息和第2识别信息双方一致的情况下,延期该 新的访问请求的受理,直到所述标记信息变为无效为止。根据该构成,所 述多个主单元中仅对应于第2识别信息保持部中保持的识别信息的主单元 可限制传送阶段的连续执行次数。由此,可控制多个主单元间的访问性能 的分散。这里,也可以是所述处理器系统还具备计数部,所述计数部每一定 时间就对每个所述主单元的访问次数进行计数;和设定部,将访问次数最 多的主单元的识别信息作为所述第2识别信息,设定在所述第2识别信息 保持部中。根据该构成,可在每规定时间,切换应限制传送阶段的连续执 行次数的主单元。由此,上次访问次数最多的主单元在下一规定时间中成 为限制对象,在包含多次一定时间的长的期间中,多个主单元间的访问性 能可均等化。这里,也可以是所述总线接口部具备受理控制部,控制访问请求的 受理;传送控制部,控制所述数据传送;识别信息保持部,至少保持1个 与已受理且传送阶段未完成的访问请求相对应的主单元的识别信息;和标 记保持部,对在所述规定期间变为有效的标记信息进行保持,所述传送控 制部,在所述标记信息表示无效的情况下,执行受理的访问请求的传送阶 段,在所述标记信息表示有效的情况下,判定发行了已受理且传送阶段未 执行的访问请求的主单元的识别信息与所述识别信息保持部中保持的识别 信息是否一致,在判定为该识别信息不一致的情况下,开始该已受理且传 送阶段未执行的访问请求的传送阶段,在判定为该识别信息一致的情况下, 将该已受理且传送阶段未执行的访问请求的传送阶段的开始延期,直到所 述标记信息变为无效为止。根据该构成,不仅可由请求阶段、还可由传送 阶段的开始控制来实现1个主单元的传送阶段的连续执行次数的限制。另 外,可进一步提前受理访问请求的定时。可根据保持所述识别信息与所述 标记信息这种简单的构成来实现访问性能的均等化。这里,也可以是所述多个主单元是构成对称型多处理器的多个处理器单元。
这里,也可以是所述多个主单元是在构成多处理器的多个处理器单元 中设置的多个虚拟处理器。
这里,也可以是所述多个主单元是对应于多线程(thread)处理器中的 多个线程的多个虚拟处理器。根据该构成,即便包含至少1个线程的虚拟 处理器之间,也可使访问性能均等地分散。
这里,也可以是所述多个主单元和总线接口部包含于单个半导体芯片中。
这里,也可以是所述多线程处理器与访问请求一起发行线程的识别信 息和访问属性,所述访问属性表示是否应使所述传送阶段的连续执行的限 制有效,所述总线接口部对于表示有效的所述访问属性所对应的访问请求, 将所述传送阶段的连续执行次数限制为最多N次。根据该构成,可控制是 否对每个线程限制传送阶段的连续执行次数。
这里,也可以是所述多线程处理器与访问请求一起发行线程的识别信 息和访问属性,所述访问信息是作为包含至少1个线程的组的组序号,所 述总线接口部对每个组序号,将对应的访问请求的所述传送阶段的连续执 行次数限制为最多N次。根据该构成,可对相同组序号表示的多个线程的 每个,控制传送阶段的连续执行次数的限制。
另外,本发明的总线控制方法、半导体装置具有与上述一样的手段, 实现与上述一样的效果。
发明效果如下
根据本发明,在搭载多个处理器的多处理器系统中的各主单元访问共 有存储器的情况下,可通过简单的方法而使这些多个主单元间总线调停的 影响、共有存储器总线访问性能均等地分散。另外,根据本发明,可控制 访问性能的分散方法。
根据本发明,即便在多个线程或属性不同的线程之间,也可使总线调 停的影响、共有存储器总线访问性能分散。
由此,可在各个处理器中使共有存储器总线访问的性能偏差降低。结 果,可使每个主单元的处理性能的估计精度大幅度提高。


图1是一般的多处理器系统的系统构成图。
图2是表示总线接口协议的图。
图3是表示现有访问定时的图。
图4A是实施方式1的系统构成图。
图4B是表示受理控制部中的受理控制处理的流程图。
图4C是表示传送控制部中的传送控制处理的流程图。
图4D是实施方式1的变形例中的系统构成图。
图4E是表示图4D所示变形例中的受理控制处理的流程图。
图4F是表示图4D所示变形例中的传送控制处理的流程图。
图5是表示实施方式1的访问定时的图。
图6A是表示实施方式1的访问定时的图。
图6B是表示实施方式1的变形例中的访问定时的图。
图7A是实施方式2的系统构成图。
图7B是表示受理控制部中的受理控制处理的流程图。
图7C是表示传送控制部中的传送控制处理的流程图。
图8A是实施方式3的系统构成图。
图8B是表示受理控制部中的受理控制处理的流程图。
图9A是实施方式4的系统构成图。
图9B是表示受理控制部中的受理控制处理的流程图。
图10是实施方式5的系统构成图。
符号说明 1-1多处理器 1-4 PU0 1-5 PU1
l-6 PU0访问请求 l-7 PU1访问请求 1-8 PU0访问受理 1-9 PU1访问受理 1-12 总线IF部1-13处理器总线
1-14处理器总线请求
1-15处理器总线请求受理
1-17共有总线IF部
1-18 DMA总线
1-19 DSP总线
1-24共有存储器总线
4-1多处理器
4-2 PUO
4-3 PU1
4-4 PUO访问请求 4-5 PU1访问请求 4-6 PUO访问受理 4-7 PU1访问受理 4-10 总线IF部
400、 401、 402、 403、 404 仲裁器(arbiter)
4-13最终受理PU信息有效位
4-14 最终受理PU ID
4-15请求生成部
4-16数据传送部
4-18 PUO传送结束信号
4-19 PU1传送结束信号
4-21处理器总线请求
4-22处理器总线请求受理
7- 1抑制周期计数器
8- 1连续数计数器
9- 1访问统计部 9-2监视期间计数器 9-7 PUO访问计数器 9-8 PU1访问计数器
189- 11次数比较器
10- 1多线程处理器
10-2线程0访问属性设定寄存器
10-3线程l访问属性设定寄存器
10-4线程2访问属性设定寄存器
10-5 访问i青求
10-6 线程ID
10-7访问属性
10-8访问受理
10-9最终受理线程ID有效位
10-10最终受理线程ID
410受理控制部
420传送控制部
具体实施方式
(实施方式1)
说明本发明的实施方式1。本实施方式中的处理器系统构成为在从1 个主单元不空出规定期间地连续发行多个访问请求的情况下,将对应于该 多个访问请求的传送阶段的连续执行次数限制为最多N次。这里,"规定的 期间"是与从受理了之前刚发行的访问请求时起、至该访问请求的传送阶 段完成为止的期间的一部分或全部相当的期间。由此,实现均等地分散主 单元间的访问性能。
图4A是表示本发明实施方式1中的处理器系统的构成图。图4A的处 理器系统包含多处理器4-1与共有存储器4-24。在实施方式l中,设多处 理器4-l搭载2个处理器单元(PU0、 1),作为多个主单元。多处理器构成 为经总线IF部4-10访问连接于处理器总线上的共有存储器4-24。另外, 即便如图1所示构成为共有存储器经共有存储器总线IF部连接于由其它器 件(DMA、 DSP等)共有的共有存储器总线,本发明也可适用。本发明的特征 在于,LSI的设计者或制作软件的编程者可高精度地估计总线的访问性能, 当适用于多处理器时效果特别大。多处理器4-1搭载PU0(4-2)与PU1(4-3)两个处理器单元,PU0与PU1 相同。处理器单元由处理命令的CPU部与其外围电路构成,是具有命令处 理功能、中断功能、调试功能等作为处理器所需功能的最小构成单位。该 处理器单元相当于处理器。
来自PU0(4-2)的总线访问请求被作为PUO访问请求4-4,输出到总线 IF部4-10,若总线IF部4-IO受理请求,则返回PU0访问受理4-6。接着, 总线IF部4-10对连接于处理器总线上的共有存储器4-24发出处理器总线 请求4-21,取得数据,将取得的数据与PUO响应4-8 —起返回到PU0(4-2)。 同样,PU1(4-3)的总线访问通过PU1访问请求4-5、 PUl访问受理4-7、 PU1 响应4-9来执行。
总线IF部4-10具备仲裁器400、请求生成部4-15、数据传送部416。 总线IF部4-10执行分离传送方式的传送,分离地执行受理从多个主单元 (在本实施方式中为PUO、 PU1)发行的访问请求的请求阶段、与根据受理的 访问请求在共有存储器4-24与主单元之间经总线进行的传送阶段。
另外,在本实施方式中,总线IF部4-10在从1个主单元不空出规定 期间地连续发行多个访问请求的情况下,将对应于该多个访问请求的传送 阶段的连续执行次数限制为最多N次。这里,规定的期间是与从受理了之 前刚发行的访问请求时起、至该访问请求的传送阶段完成为止的期间的一 部分或全部相当的期间。
仲裁器400具备受理控制部410、传送控制部420、标记部4-13、 ID 保持部4-14。
受理控制部410控制请求阶段中的访问请求的受理。受理控制部410 具体地调停并受理PUO访问请求4-4、 PU1访问请求4-5。
传送控制部420控制对应于受理的访问请求的传送阶段中的数据传送。 传送控制部420在存在多个受理的访问请求的情况下,控制对仲裁器400 内的调停结果4-12所对应的l个访问请求的数据传送。
标记部4-13保持在所述规定期间变为有效的标记信息。该标记信息在 本实施方式中具体是最终受理PU信息有效位4-13。
ID保持部4-14至少保持1个与已受理且传送阶段未完成的访问请求相 对应的主单元的识别信息。该识别信息在本实施方式中具体是最终受理PUID (4-14)。
请求生成部4-15生成处理器总线请求4-21,将生成的处理器总线请求 4-21送出到处理器总线,由此经处理器总线访问共有存储器4-24。
共有存储器4-24变为可受理处理器总线请求4-21的状态时,将处理 器总线请求受理4-22发送到请求生成部4-15,之后,与处理器总线响应 4-23 —起,将共有存储器4-24内被请求的数据发送到总线IF部4-10。总 线IF部4-10内的数据传送部4-16取得从共有存储器发送的数据,将取得 的数据返回到启动对共有存储器4-24的数据访问的PU。
仲裁器400每当从各PU受理请求时,设置最终受理PU ID (4-14)。例 如,若受理PU0访问请求4-4,则将?U0,设置为最终受理PU ID(4-14)。 另外,还配合设置表示所述信息有效的最终受理PU信息有效位4-13。
从数据传送部4-16向仲裁器400输入PU0传送中信号4-17及PU0传 送结束信号4-18。 PU0传送中信号4-17的来自请求生成部4-15的处理器 总线请求4-21基于PU0(4-2),从对于所述请求返回处理器总线请求受理 4-22的周期起开始声称(assert),声称直到基于该请求的全部数据传送完 成为止。即,在PU0(4-2)执行总线访问的情况下,表示基于该访问的传送 中。PU0传送结束信号4-18是在传送的最后周期被声称的信号,表示传送 结束。同样,对PU1 (4-3)的总线访问也输出PU1传送中信号4-19与PU1传 送结束信号4-20。
最终受理PU信息有效位4-13在受理由仲裁器400调停的请求的时刻 被设置。同时设置最终受理PU ID(4-14),该信息变为有效。每当仲裁器 400受理请求时,都设置最终受理PU信息有效位4-13和最终受理PU ID (4-14)。另一方面,最终受理PU信息有效位4-13在最终受理PU ID (4-14) 的传送结束的时刻被清零。例如,在最终受理PU ID(4-14)为'PU0'的情 况下,在从数据传送部4-16声称PU0传送中信号4-17期间,设置最终受 理PU信息有效位4-13,表示最终受理PU ID(4-14)有效,但PUO传送结束 信号4-18在被声称的时刻被清零,最终受理PU ID(4-14)变为无效。艮卩, 最终受理PU ID(4-14)从仲裁器400受理请求起变为有效,在重新受理请求、 或对受理的请求的传送完成之前的期间中,保持有效的信息。
仲裁器400根据最终受理PU信息有效位4-13及最终受理PU ID(4-14)的信息,判断是否受理来自处理器单元的请求。在本发明中,通过使用以上构成,其特征在于,控制成同一处理器不 会总线周期不空出地连续执行总线访问,由此,使总线性能均匀地分散在 多处理器内的各处理器。具体而言,在双方处理器执行总线访问的情况下, 通过在处理器总线中各个处理器的总线访问交替发生,在两个处理器中通过调停使影响和带宽均匀化。因此,仲裁器400在最终受理PU信息有效位 4-13未被设置的状态、即当前从哪个处理器单元(PU)均未执行总线访问的 情况下,受理由PU0访问请求4-4、或PU1访问请求4-5声称的请求。在最终受理PU信息有效位4-13被设置的状态、即当前哪个PU正在执 行总线访问的情况下,仅受理与最终受理PU ID(4-14)中设置的PU序号不 同的PU的请求。即便请求来自与最终受理PU ID(4-14)相同的PU的请求也 不受理。图5、图6A中使用动作定时图进一步详细说明。图5表示从PU0(4-2)起连续声称2个请求,并且从PU1 (4-3)未发出请 求的情况。具体而言,从PU0(4-2)声称请求0a(5-1)、请求0b(5-2)。首先,声称请求0a(5-1),总线IF部4-10受理该请求。通过被受理, 最终受理PU信息有效位(4-13)在时间A(5-3)被设置。同时,对最终受理 PUID(4-14)设置'PUO,。在该状态下,仲裁器400即便发生PUO访问请求 4-4也不受理。g卩,在对请求0a(5-l)的总线访问结束之前,不受理请求 0b(5-2) (PU0拒绝周期5-5)。因此,请求0b(5-2)被连续声称。在时间B(5-4),若对请求0a(5-l)的总线访问结束,则声称PUO传送 结束信号4-18,将最终受理PU信息有效位4-13清零。通过变为该状态, 即便受理来自PU0(4-2)的请求,也变为好的状态,受理连续声称的下一请 求0b(5-2)。图6A表示PUO (4-2) 、 PU1(4-3)分别执行多个总线访问请求的情况。具 体而言,在图6A所示的定时,从PU0(4-2)声称请求0a(6-1)、请求0b(6-2), 从PU1声称请求la(6-3)、请求lb(6-4)。首先,声称请求0a(6-l),但由于在时间C(6-5)的时刻哪个PU都未总 线访问,所以总线IF部(4-10)受理该请求。通过受理,设置最终受理PU 信息有效位(4-13)。同时,对最终受理PUID(4-14)设置屮UO,。在该状态下,仲裁器400即便发生PU0访问请求4-4也不受理(PU0拒绝周期)。在时 间D(6-6),声称请求0b(6-2),但请求0a(6-l)的传送还未完成,由于是设 置最终受理PU信息有效位(4-13)的状态、且最终受理PU ID(4-14)为?UO', 所以不受理。在该状态下,仲裁器400仅受理PU1访问请求(4-5)。因此, 连续声称请求0b(6-2)。若输出请求la(6-3),则尽管该请求在请求0b(6-2)之后的定时输出, 也由于是来自PU1(4-3)的请求,所以仲裁器400受理请求la(6-3),在时 间D(6-6)再设置最终受理PU信息有效位(4-13),将最终受理PU ID (4-14)设置成'pur。在该状态下,由于最终受理PuiD(4-i4)为'pur,所以仲裁器400不受理来自PU1(4-3)的PU1访问请求(4-5)。因此,之后不受理 PU1 (4-3)声称的请求lb (6-4)。另一方面,由于最终受理pu iD(4-i4)变为'pur,所以即便来自PU0(4-2)的PU0访问请求(4-4)受理,也变为好的状态。在本实施方式中, 仲裁器400可仅受理传送中的请求的下l个请求。因此,在图6A中,在仲 裁器400受理来自PUl(4-3)的请求la(6-3)的时刻,变为可受理连续声称 的来自PU0(4-2)的请求0b(6-2)的状态,但由于除已传送中的请求0a(6-l) 外还已受理请求la(6-3),所以在作为请求0a(6-l)的传送结束的定时之时 间E(6-7)受理。在该时间E(6-7),来自PU1(4-3)的下一请求lb(6-4)也被 声称,但由于位于PU1拒绝周期,所以受理请求0b(6-2)而非上述请求。换 言之,在可受理来自任一处理器单元的下一请求的定时、即时间E(6-7), 根据最终受理PU信息有效位4-13与最终受理PU ID(4-14)的值,仲裁器 400确定受理PU0(4-2)与PU1(4-3)哪个的请求。另外,若构成可在总线IF 部4-10内设置由FIFO构成的请求的队列(缓冲器)等,受理下面的2个以 上的请求,则尽管未等待至时间E(6-7),但在将最终受理PU ID(4-14)改 写成?U1'的阶段,变为可受理来自PU0(4-2)的请求的状态,所以可马上 受理来自PU0(4-2)的请求0b(6-2)。另外,实际的传送处理按受理请求的 顺序处理。由于在时间E(6-7)受理请求0b(6-2),所以再次设置最终受理PU信息 有效位(4-13),对最终受理PUID(4-14)设置'PU0'。在该状态下,不能受 理PU0访问请求(4-4)。另一方面,即便从PUl(4-3)受理请求lb(6-4),也400在请求la(6-3)的传送结束的定时,受理 请求lb(6-4)。当然只要是可受理之后2个以上请求的构成,则也可在对最 终受理PU ID(4-14)设置'PUO,的定时受理请求lb(6-4)。仲裁器400按上述顺序受理请求,依次生成处理器总线请求4-21,所 以对共有存储器4-24的访问中按PU0(4-2) 、 PU1 (4-3)的顺序交替发生总线 访问,以顺序产生对应于请求0a(6-l)、请求la(6-3)、请求0b(6-2)、请 求lb(6-5)的请求,并变为处理器总线请求0a(6-8)、处理器总线请求 la(6-9)、处理器总线请求0b(6-10)、处理器总线请求lb(6-11)。结果, 总线的冲突或传送状态的影响对各PU交替以相同比例发生。因此,若看各 个访问,则与连续受理后执行总线访问的情况相比,有时等待时间及传送 完成周期变长,但通过交替执行总线访问,可使冲突造成的影响均等地分 散以2个处理器单元。图4B是表示受理控制部410中的受理控制处理一例的流程图。如图所 示,受理控制部410当从PUO或PU1发行新的访问请求时(S411),首先, 判断内部缓冲器可否保存新的访问请求(S412)。这里,与图5、 6A—样, 为了简化说明,设受理控制部410具有保存1个访问请求的受理用缓冲器, 另外,传送控制部420具有保存1个访问请求的传送用缓冲器。在可保存的情况下(受理用缓冲器空的情况下),受理控制部410判断 标记信息(最终受理PU信息有效位4-13)有效或无效(S413),在标记信息表 示无效的情况下,受理该新的访问请求(S416)。此时,受理是因为不对应 于来自l个Pli的连续访问。在S416的受理处理中,受理控制部410在内部的受理用缓冲器中保存 新的访问请求(S421),将对应的PU ID设定在ID保持部4-14中(S422), 将标记部4-13的标记信息(最终受理PU信息有效位4-13)设为有效(设 置)(S423)。并且,受理控制部410在标记信息表示有效的情况下,判定发行该新 的访问请求的PU的识别信息(PUID)与ID保持部中保持的识别信息(PUID) 是否一致(S414),在该识别信息不一致的情况下,受理该新的访问请求 (S416)。此时也受理是因为不对应于来自1个PU的连续访问。并且,受理控制部410在判定为该识别信息一致的情况下,不受理该24此时,标记信息有效意味着是不空出上述规定期间 地发行的访问请求。识别信息一致意味着新的访问请求与上次的访问请求 从同一PU发行。S415不受理的结果,该新的访问请求延期受理,直到标记 信息变为无效为止。其间,若发行来自其它PU的新的访问请求,则受理。图4C是表示传送控制部420中的传送控制处理一例的流程图。如图所 示,传送控制部420在上述传送用缓冲器空、且上述受理用缓冲器中保存 的访问请求存在的情况下(S431),从受理用缓冲器向传送用缓冲器移动访 问请求,执行按照该访问请求的数据传送(S432)。传送控制部420当数据 传送完成时,判定对应于该访问请求的PU的识别信息(PUID)与ID保持部 中保持的识别信息(PUID)是否一致(S433),在该识别信息一致的情况下, 将标记部4-13的标记信息(最终受理PU信息有效位4-13)设为无效(设置), 将ID保持部4-14的PU ID(S434)清零。此时,ID保持部4-14的PUID的 清零也可省略。在本实施方式中,示出处理器单元为2个的情况,但即便是2个以上 的情况,只要具有多个最终受理PU信息有效位、最终受理PU ID,且对各 个处理器每个实施上述限制,则可得到同样的效果。另外,在本实施方式中,说明了来自受理访问请求的处理器单元的请 求未连续受理、直到该请求的处理完成的构成。但是,即便是下面变形例 的构成也可得到同样的效果。图4D是表示实施方式1的变形例中的处理器系统构成例的框图。图4D 与图4A相比,不同之处在于在总线IF部4-10内新增加了可区别每个处理 器的请求的队列Ql、 Q2、和具备受理控制部410a和传送控制部420a来代 替受理控制部410和传送控制部420。下面,省略相同之处的说明,主要说 明不同之处。队列Ql、 Q2是用于先行受理来自PUO、 PU1的访问请求的缓冲器。队 列Q1、 Q2只要可分别保持至少l个访问请求即可。这里,为了便于说明, 设队列Q1、 Q2可分别保持l个访问请求。受理控制部410不管标记信息的有效无效,使来自PUO、 PU1的访问请 求先行,分别受理到队列Q1、 Q2中。传送控制部420a确定发行来自哪个队列的访问请求作为处理器总线请求。此时,最终受理PU信息有效位4-13与最终受理PUID(4-14),在受理 来自处理器单元的访问请求时不被设置,而在总线IF部4-10向处理器总 线声称处理器总线请求(4-21)的定时被设置。图6B是表示实施方式1的变形例中的访问定时的图。图6B与图6A相 比,主要不同之处在于增加队列请求404和队列请求405, PU0访问请求4-4 和PU1访问请求4-5在不同定时被受理(即PU0访问受理4-6和PU1访问受 理4-7的声称定时),和PU0访问受理4-6、 PU1访问受理4-7从队列Q1、 队列Q2而非仲裁器400输出。PU0访问请求4-4在队列Q1空时立即被受理,图中,在声称的周期被 受理。PU1访问请求4-5对于队列Q2也一样。队列1请求404是表示在队列Ql中保持受理的访问请求的信号,若使 之移动到仲裁器400内的受理用缓冲器,则使其无效。队列2请求405对 于队列Q2 —样。队列1请求受理4-26是在声称队列请求404、且仲裁器400内的受理 控制部410a可受理的情况(受理用缓冲器中有空的情况下),与从队列Ql 向受理用缓冲器移动访问请求的同时被声称的信号。队列2请求受理4-27 也一样。队列Ql和队列Q2若从仲裁器400看,则与请求阶段中的图4A的主单 元(PU0、 PU1)等效。另外,队列Ql和队列Q2若从主单元看,则与请求阶 段中的仲裁器400 (受理控制部410a)等效。这样,通过使队列Ql、队列Q2介入主单元(PU0、 PU1)与仲裁器400 之间,若从主单元看,则请求阶段中受理等待变少,被尽快受理。由此,1 个主单元的传送阶段的连续执行次数的限制不是通过拒绝(延期)请求阶段 中的受理、而是通过延期受理后的传送的开始来控制。图6B中,不是通过请求阶段中的受理控制处理、而是通过由传送控制 部420a控制传送阶段的开始定时来实现1个主单元的传送阶段的连续执行 次数的限制。图4E是表示变形例中的受理控制部410a的受理控制处理一例的流程 图。图4E与图4B相比,不同之处在于删除步骤S412-S415,增加S442。 下面,省略说明相同之处,主要说明不同之处。受理控制部410a当发行新的访问请求时,若对应的队列Ql或Q2中有 空(S442),则在该队列Q1或Q2受理访问请求(S416)。由此,PU0、 PU1连 续发行访问请求时,在比图4B早的时刻被受理。图4F是表示变形例中的传送控制处理部420a的传送控制处理一例的 流程图。图中,所述传送控制部420a在队列Ql或Q2中保存访问请求的情 况下(S451),判断标记信息(最终受理PU信息有效位4-13)有效或无效 (S452),在标记信息表示无效的情况下,根据该新的访问请求,执行数据 传送(传送阶段)(S455)。此时,执行数据传送是因为不对应于来自1个PU 的连续访问。并且,传送控制部420a在标记信息表示有效的情况下,判定队列中保 持的访问请求所对应的PU的识别信息(PUID)与ID保持部中保持的识别信 息(PUID)是否一致(S453),在该识别信息一致的情况下,不执行根据该访 问请求的数据传送(S454)。此时,不执行数据传送是因为对应于来自1个 PU的连续传送。该访问请求的数据传送被延期,直到复位标记信息为止。 延期的期间若存在其它PU的访问请求,则执行其数据传送。并且,传送控制部420a在标记信息表示有效的情况下,判定队列中保 持的访问请求所对应的PU的识别信息(PUID)与ID保持部中保持的识别信 息(PUID)是否一致(S453),在该识别信息不一致的情况下,执行根据该访 问请求的数据传送(S455)。此时,执行数据传送是因为不对应于来自1个 PU的连续访问。传送控制部420a在数据传送完成时,判定对应于该访问请求的PU的 识别信息(PUID)与ID保持部中保持的识别信息(PUID)是否一致(S456),在 该识别信息一致的情况下,设标记部4-13的标记信息(最终受理PU信息有 效位4-13)无效(复位),将ID保持部4-14的PUID清零(S457)。此时,ID 保持部4-14的PUID的清零也可省略。如上所述,根据变形例,可不直接参照来自主单元的请求,利用队列 中登录的信息来控制1个主单元的传送阶段的连续执行次数的限制。另外, 可根据保持所述识别信息与所述标记信息这样简单的构成来实现访问性能 的均等化。并且,由于对于主部件(master)而言,立即受理访问请求, 所以可缩短主部件的受理等待时间,减轻总线访问主部件用的处理负荷。(实施方式2)说明本发明的实施方式2。图7A表示实施方式2的系统构成图。在本 实施方式中,执行仅在某个设定期间许可来自同一处理器的连续访问的控 制。可与图4A—样说明的部分附加相同符号,省略说明。图7A的总线IF部4-10与图4A相比,增加计数规定周期数的抑制周 期计数器7-l、和可从任一主单元设定、保持所述规定周期数的抑制周期设 定寄存器7-4。抑制周期计数器7-1例如在加载抑制周期设定寄存器7-4中 设定的周期数后被倒计数。受理控制部411每当受理访问请求时,将所述标记信息设为有效,在 工D保持部中设定对应于该访问请求的识别信息,使抑制周期计数器7-l的 周期计数动作开始。标记部4-13在抑制周期计数器7-1对所述规定周期数进行计数时,设 所述标记信息无效。图7B是表示本实施方式中的受理控制部411的受理控制处理一例的流 程图。受理控制部411执行与图4B—样的受理控制处理,但不同之处在于 执行图7B所示的受理处理来代替图4B右侧所示的S416的受理处理。图7B中,受理控制部411若受理来自处理器单元的请求(访问请 求)(S421),则设置最终受理PU信息有效位4-13与最终受理PU ID (4-14) (S422 、 S423),同时向抑制周期计数器7_1发送计数 start(7-2) (S464)。抑制周期计数器7-1当输入计数start (7-2)时,从抑 制周期设定寄存器7-4设置抑制周期值7-5,每当从下一周期输入时钟时, 都执行倒计数。这里,抑制周期设定寄存器7-4可由软件设定成任意值, 例如,是可利用处理器单元执行的寄存器写入命令而可编程地更新的寄存 器。抑制周期寄存器7-1下溢、即计数值为0时,向标记部4-13输出计数 under flow(7-3)。由此,无效化(复位)标记部4-13中保持的最终受理PU 信息有效位。图7C是表示传送控制部421中的传送控制处理一例的流程图。图7C 与图4C相比,不同之处在于删除步骤S433和S434。即,删除复位标记的 处理。这里,在实施方式1中,标记部4-13中保持的最终受理PU信息有效28位由PU0传送结束信号4-18或PU1传送结束信号4-20清零,但在本实施 方式中,由计数under flow(7-3)清零。因此,仅在仲裁器401受理来自其 它处理器单元的请求后设置更正最终受理PU ID(4-14)、或抑制周期值7-5 中设定的周期期间超过、将最终受理PU信息有效位(4-13)清零的情况下, 连续处理来自同一处理器单元的请求。通过以上构成,在本实施方式中,可抑制在规定周期期间中发生来自 同一处理器的连续总线访问,提供受理其它处理器的访问的机会,从而可 实现总线访问性能的均匀分散。也可使本实施方式与其它实施方式组合。例如,除抑制周期值7-5中 设定的周期期间超过的情况外,也可利用PU0传送结束信号4-18或PU1传 送结束信号4-20将最终受理PU信息有效位4-13清零。(实施方式3)说明本发明的实施方式3。图8A表示实施方式3的系统构成图。在本 实施方式中,执行抑制来自同一处理器的某一一定个数以上的连续总线访 问的控制。图8A的总线IF部4-10与图4A相比,不同之处在于增加可从 任一主单元设定、保持连续传送的许可次数N的连续数许可寄存器8-5、与 计数的连续数计数器8-1。连续数计数器8-1在例如加载连续数许可寄存器 8-5中保持的所述N后倒计数。可与图4A—样说明的部分附加相同符号, 省略说明。图8B是表示受理控制部412中的受理控制处理一例的流程图。图8B 与图4B相比,不同之处在于增加步骤S471-S473。相同之处省略说明,下 面主要说明不同之处。受理控制部412当发行新的访问请求时,在标记信息表示无效的情况下(S413:否),和判定为标记信息表示有 效、且发行访问请求的主单元的PUID与ID保持部4-14中保持的PUID不 一致的情况下(S414:否),向连续数计数器8-1声称初始化信号(S471), 受理该新的访问请求(S416)。利用初始化信号的声称,连续数计数器8-1 作为初始化,加载连续数许可寄存器8-5中保持的连续许可数N。由此,在 新的访问请求不是来自1个PU的连续访问的情况下,初始化连续数计数器 8—1。另外,受理控制部412在发行访问请求的主单元的PUID与ID保持部 4-14中保持的PUID —致的情况下(S414:是),判定连续数计数器8-1是否 计数到N次(计数值CT〉0 )(S472),在判定为连续数计数器未计数到N次 的情况下,向连续数计数器8-l声称连续检测信号(S473),受理新的访问 请求(S416)。利用连续检测信号的声称,连续数计数器8-1减1计数。并且,受理控制部412在判定为连续数计数器8-1计数到N次的情况 下(S472:否),不受理该新的访问请求(S415)。在本实施方式中,在未设置最终受理PU信息有效位4-13的情况下, 若仲裁器402受理请求,则在设置最终受理PU信息有效位4-13与最终受 理PU ID4-14的同时,向连续数计数器8-1声称连续数计数器初始化信号 8-2。若受理连续数计数器初始化信号8-2,则从连续许可数寄存器8-5向 连续数计数器8-1设置连续许可数8-6。这里,连续许可数寄存器8-5可由 软件设定成任意值,例如,是可利用处理器单元执行的寄存器写入命令而 可编程地更新的寄存器。若仲裁器402受理下一请求,则判断是否设置最终受理PU信息有效位 4-13,在设置的情况下,参照最终受理PUID(4-14)的信息,若保持的信息 与受理的处理器的信息相同,则将连续检测8-3发送到连续数计数器8-1。 连续数计数器8-1接受该信号进行倒计数。在此外的情况下,输出连续数 计数器初始化信号8-2,在连续数计数器8-1再次设置连续许可数8-6。若连续数计数器8-1为0以上,则即便是来自相同处理器的连续总线 访问,也判断为可执行,从连续数计数器8-l向仲裁器402发送连续许可 8-4。在输入连续许可8-4的期间,仲裁器402受理来自双方处理器单元的 请求。但是,若连续数计数器8-1下溢、即计数值变为O,则不连续受理这 以上的来自相同处理器的总线访问请求。利用以上构成,在本实施方式中,通过抑制规定个数以上的连续访问, 从相同处理器执行多个连续访问,从而可降低不受理其它处理器的请求的 状态。也可将本实施方式与其它实施方式组合。例如,通过进一步设置抑制 周期计数器,也抑制规定周期期间的规定个数以上的连续访问。 (实施方式4)说明本发明的实施方式4。图9A表示实施方式4的系统构成图。本实 施方式始终监视某个周期期间的各处理器的总线访问状况,对在该期间内 总线访问次数多的处理器,在下一周期期间中执行与实施方式1 一样的控 制。图9A的总线IF部4-10与图4A相比,其不同之处在于增加抑制PU信 息保持部9-13、监视期间计数器9-2、监视期间设定寄存器9-3、和访问统 计部9-1。可与图4A—样说明的部分附加相同符号,省略说明。抑制PU信息保持部9-13用作第2识别信息保持部,保持多个主单元 中应抑制传送阶段的连续执行次数的主单元的识别信息(PUID),作为第2 识别信息。监视计数器9-2周期地计数监视期间设定寄存器9-3中设定的监视期 间(一定期间)。访问统计部9-1包含用作每一定时间计数每个主单元的访问次数的计 数部,对一定时间内的PUO的访问次数进行计数的PU0访问计数器9-7;计 数一定时间内的PU1的访问次数的PU1访问计数器9-8;和次数比较部9-11, 用作将访问次数最多的主单元的识别信息作为所述第2识别信息设定在所 述第2识别信息保持部中的设定部。图9B是表示受理控制部413中的受理控制处理一例的流程图。图9B 与图4B相比,不同之处在于在步骤S414、S415和S416之间增加S481。艮卩, 受理控制部在S481中,在判定为新的访问请求所对应的PUID与抑制 PUID(第2识别信息)不一致的情况下,受理该新的访问请求(S416),在判 定为一致的情况下,不受理该新的访问请求(S415)。访问统计部9-1是解析任意周期期间中的各处理器的访问次数的块。 周期期间利用监视期间计数器9-2与监视期间设定寄存器9-3而可编程地 设定。监视期间计数器9-2是通过输入时钟来倒计数的计数器,若输入监 视开始信号9-5,则取入监视期间设定寄存器9-3中设定的监视期间设定值 9-4,设为倒计数的初始值。若监视期间计数器9-2的计数值为0,则判断 为监视期间结束,声称监视结束信号9-6。将这设为1个监视期间的计数动 作。若声称监视结束信号9-6,则在同时或之后的规定定时声称监视开始信 号9-5,再次重复监视期间的计数动作。这里,监视期间设定寄存器9-3可 由软件设定成任意值,例如是可由处理器单元执行的寄存器写入命令而可编程地更新的寄存器。访问统计部9-1当声称监视开始信号9-5时,将PU0访问计数器9-7、 及PUl访问计数器9-8的值清零为0。之后,每当仲裁器403受理来自各个 处理器单元的请求时,只要受理的请求是来自PU0(4-2)的请求,则将PUO 访问信息发送到PU0访问计数器9-7,计数PU0访问计数器9-7。同样,若 受理的请求是来自PUl(4-3)的请求,则利用PU1访问信息,计数PU1访问 计数器9-8。若对访问统计部9-l声称监视结束信号9-6,则由次数比较器 9-11比较PUO访问计数器9-7的值与PU1访问计数器9-8的值,将次数多 的处理器单元的信息作为下一期间抑制PU信息9-12,设置成抑制PU信息 9-13。最终受理PU信息有效位4-13、及最终受理PU ID(4-14)的动作与实施 方式1 一样。在本实施方式中,其特征在于,除最终受理PU信息有效位4-13、及最 终受理PU ID(4-14)外,还参照抑制PU信息9-13。若接着有请求的处理器 单元与抑制PU信息9-13所示的处理器单元相同,则对应于最终受理PU信 息有效位4-13、及最终受理PU ID(4-14),执行访问控制。但是,在接着 有请求的处理器单元与抑制PU信息9-13所示的处理器单元不同的情况下, 受理来自该处理器单元的请求。即,当最终受理PU ID(4-14)与抑制PU信 息9-13均为'PU0',且设置最终受理信息有效位4-13时,若声称来自 PU0(4-2)的请求,则不受理该请求,但当最终受理PU ID(4-14)与抑制PU 信息9-13之一为'PU1,时,若声称来自PU0(4-2)的请求,则受理。对每 个监视期间设定值9-4重复这一连串的动作。通过上述构成,在本实施方式中,在规定期间取得各个处理器的总线 访问信息,在下一期间抑制来自在前一期间中访问次数多的处理器的连续 访问,从而使访问频度多的处理器对其它处理器的影响降低,使全部期间 中全部处理器的总线访问性能均等地分散。另外,本实施方式不限于实施方式l,当然也可适用于其它实施方式或 其组合。(实施方式5)说明本发明的实施方式5。图10表示实施方式5的系统构成图。在本实施方式中,处理器不必是安装了多核的多处理器,是多个线程可同时动 作的多线程处理器。具体而言,本实施方式中的多线程处理器是每个线程 可独立执行总线访问请求,并且即便某个线程正在总线访问、也可从其它 线程执行总线访问请求的多线程处理器。即便在这种多线程处理器中,有时也发生与上述多处理器一样的课题, 想防止总线访问的性能仅偏向特定的线程。即,即便在多线程处理器中, 也存在想对每个线程均等地分配总线带宽的情况、或想向各线程均等地分 配冲突造成的总线访问的影响的情况。多线程处理器10-1是可处理3个线程(线程0、线程l、线程2)的处理 器。多线程处理器10-1可对每个线程将总线访问种类设定为线程0访问属 性设定寄存器10-2、线程l访问属性设定寄存器10-3、线程2访问属性设 定寄存器10-4。若各线程发生总线访问,则向总线IF部4-10输出与访问 请求10-5 —起请求的线程ID(10-6)与该线程的访问属性10-7。最终受理线程ID有效位10-9及最终受理线程ID(10-10)用于与实施方 式1中的最终受理PU信息有效位(4-13)、最终受理PU ID(4-14)—样的控 制中。但是,向最终受理线程ID(10-10)设置不是发出受理的总线访问请求 的处理器单元、而是受理的总线访问所对应的线程序号、即声称访问请求 10-5的周期的线程ID(10-6)。可对线程0访问属性设定寄存器10-2、线程1访问属性设定寄存器 10-3、线程2访问属性设定寄存器10-4按每个系统设定任意含义的属性。 在本实施方式中,设置是否执行发行抑制控制的属性。这里,举例说明对 线程0访问属性设定寄存器10-2设置为'有效'、对线程l访问属性设定 寄存器10-3设置为'无效'、对线程2访问属性设定寄存器10-4设置为'有 效'的情况。根据该实例,控制成总线访问性能在线程0与线程2变为均 等。若在线程0发生总线访问,则在声称访问请求10-5的同时,输出'IDO', 作为线程ID(10-6),输出'有效',作为访问属性10-7。若仲裁器404受 理该请求,则设置最终受理线程ID有效位10-9,并且对最终受理线程 ID(10-IO)设置'ID0'。另外,声称访问请求10-5,执行对共有存储器4-24 的访问。若无其它总线访问请求,则继续设置最终受理线程ID有效位10-9,直 到对共有存储器4-24的访问完成。在该状态下,在还发生来自线程0的总 线访问请求的情况下,访问属性10-7为'有效',且线程ID(10-6)与最终 受理线程ID(10-10)的ID —致,所以仲裁器404不受理请求。从而不声称 访问受理10-8。受理该请求是将最终受理线程ID有效位10-9清零时,即 对最终受理线程ID(10-IO)设置的总线访问完成之后,或其它线程的总线访 问请求发生时。多线程处理器10-1由于不受理访问请求10-5,所以若在下一周期有其 它线程的总线访问请求,则执行该访问请求。因此,暂时使访问请求10-5 无效。若执行其它线程的总线访问请求,则继续声称对应于线程0的访问 请求10-5。下面,说明在无来自其它线程的总线访问请求的状态下、来自对线程l 访问属性设定寄存器10-3中设定为'无效'的线程l的总线访问请求连续 发生时的动作。若线程l发生总线访问,则声称访问请求10-5,同时输出 '无效',作为访问属性10-7。若受理该请求,则设置最终受理线程ID有 效位(10-9),作为最终受理线程ID(10-10)设置订D1'。在该状态下,若 线程l还发生新的总线访问,则再次声称访问请求10-5,同时输出'无效' 作为访问属性10-7。在该状态下,设置最终受理线程ID有效位10-9,虽 然最终受理线程ID(10-IO)与有总线访问的线程ID(10-6)相同,但由于输 出'无效'作为访问属性10-7,所以即便设置最终受理线程ID有效位10-9, 并且最终受理线程ID(10-10)相同,也判断为不是抑制控制的对象,受理请 求。伴随该请求的受理,再次设置最终受理线程ID有效位10-9,更新最终 受理线程ID(10-10),但对之后的动作无任何影响。最终受理线程ID有效位10-9及最终受理线程ID (10-10)执行与实施方 式1 一样的设置、清零控制。即,在未设置最终受理线程ID有效位10-9 的情况下,若受理访问请求10-7则设置,在设置的情况下是重新受理访问 请求10-7,或者是最终受理线程ID(10-10)保持的线程ID的传送结束,根 据线程0传送中信号10-11、线程0传送结束信号10-12、线程1传送中信 号10-13、线程1传送结束信号10-14、线程2传送中信号(10-15)、线程2 传送结束信号(10-16)来判断并清零。在实施方式5的说明中示出访问属性^有效''无效'的情况,但还有 设定构成限制对象的组、且将每个线程属于哪个组设定为访问属性的方法。 例如,某个程序(设为程序A)依次分配给线程O、线程1后实施,其它某个 程序(设为程序B)在线程2实施时,在程序A与程序B之间想均等化总线访 问性能的情况下,对来自线程0、线程l的访问统一两者实施连续执行的抑 制控制,来自线程2的访问仅由线程2实施是有效的。此时,对程序A、程 序B定义为限制组0、限制组1,对线程0访问属性设定寄存器10-2、线程 l访问属性设定寄存器10-3设定'限制组O',对线程2访问属性设定寄存 器io-4设定'限制组r。在实施方式5的说明中,若访问属性对相同线程 为'有效',则执行连续受理的限制控制,但即便线程不同,只要是相同的 访问属性、即相同的限制组,就利用设为连续受理的限制控制对象的方法 也可实现上述情况。另外,在实施方式5中,在对总线IF部设置请求的队列的情况下,可 执行与实施方式1中说明的一样的变形。并且,当然也可与实施方式2-4 中说明的构成组合。并且,多线程处理器也可以是多处理器。产业上可利用性如下如上所述,通过本发明,在由多个处理器构成的系统中,可使对共有 存储器的访问性能均匀地分散到每个处理器,或在多线程处理器中,使每 个线程的访问性能均等地分散。从而,可用于处理器系统中。
权利要求
1、一种处理器系统,具备总线,连接于共有存储器;多个主单元,发行用于访问所述共有存储器的访问请求;和总线接口部,以分离传送方式执行所述总线的访问,该分离传送方式分离地执行受理从所述多个主单元发行的访问请求的请求阶段、与根据受理的访问请求而在所述共有存储器与主单元之间经所述总线进行数据传送的传送阶段;在从1个主单元不空出规定期间地连续发行多个访问请求的情况下,所述总线接口部将对应于该多个访问请求的传送阶段的连续执行次数限制为最多N次,所述规定期间是与从受理了之前刚发行的访问请求时起、至该访问请求的传送阶段完成为止的期间的一部分或全部相当的期间。
2、 根据权利请求1所述的处理器系统,其特征在于所述N为1。
3、 根据权利请求1所述的处理器系统,其特征在于 所述总线接口部具备受理控制部,控制访问请求的受理; 传送控制部,控制所述数据传送;识别信息保持部,至少保持1个与已受理且传送阶段未完成的访问请求相对应的主单元的识别信息;和标记保持部,保持在所述规定期间变为有效的标记信息, 所述受理控制部当发行新的访问请求时, 在所述标记信息表示无效的情况下,受理该新的访问请求, 在所述标记信息表示有效的情况下,判定发行了该新的访问请求的主单元的识别信息与所述识别信息保持部中保持的识别信息是否一致, 在判定为该识别信息不一致的情况下,受理该新的访问请求, 在判定为该识别信息一致的情况下,将与发行了该新的访问请求的主单元相对应的传送阶段的连续执行次数限制为最多N次。
4、根据权利请求3所述的处理器系统,其特征在于-所述规定期间是从所述访问请求的受理至对应于所述访问请求的传送 阶段完成的期间,所述受理控制部每当受理访问请求时,将所述标记信息设为有效,并 且,将对应于该访问请求的识别信息设定在所述识别信息保持部件中,所述传送控制部件在与所述识别信息保持部件中保持的识别信息相对 应的传送阶段完成时,将所述标记信息保持部件的标记信息设为无效。
5、根据权利请求3所述的处理器系统,其特征在于 所述规定期间是从访问请求的受理至规定周期数经过的期间, 所述处理器系统还具备对所述规定周期数进行计数的周期计数器, 所述受理控制部每当受理访问请求时,都将所述标记信息设为有效,将对应于该访问请求的识别信息设定在所述识别信息保持部件中,使所述计数器的周期计数动作开始,当所述计数器对所述规定周期数进行计数时,所述标记保持部件使所述标记信息无效。
6、根据权利请求5所述的处理器系统,其特征在于所述处理器系统还具备周期寄存器,该周期寄存器可设定所述规定周 期数、且保持所述规定周期数,所述周期计数器对所述周期寄存器中保持的规定周期数进行计数。
7、根据权利请求1所述的处理器系统,其特征在于 所述总线接口部具备-受理控制部,控制访问请求的受理; 传送控制部,控制所述数据传送;识别信息保持部,至少保持1个与已受理且传送阶段未完成的访问请 求相对应的主单元的识别信息;标记保持部,对在所述规定期间变为有效的标记信息进行保持;和 连续数计数器,对所述N进行计数;所述受理控制部当发行新的访问请求时, 在所述标记信息表示无效的情况下,受理该新的访问请求, 在所述标记信息表示有效的情况下,判定发行了该新的访问请求的主 单元的识别信息与所述识别信息保持部中保持的识别信息是否一致, 在判定为该识别信息不一致的情况下,受理该新的访问请求, 在判定为该识别信息一致的情况下,判定所述连续数计数器是否计数至N次,在判定为所述连续数计数器未计数至N次的情况下,受理该新的访问 请求,在判定为所述连续数计数器计数至N次的情况下,延期该新的访问请 求的受理直到所述标记信息变为无效为止,并初始化所述连续计数器。
8、 根据权利请求7所述的处理器系统,其特征在于 所述处理器系统还具备连续数寄存器,所述连续数寄存器可由任一主单元设定,且保持所述N,所述连续数计数器对所述连续数寄存器中保持的所述N进行计数。
9、 根据权利请求7所述的处理器系统,其特征在于 所述规定期间是从所述访问请求的受理至对应于所述访问请求的传送阶段完成的期间,所述受理控制部每当受理访问请求时,将所述标记信息设为有效,并 且,将对应于该访问请求的识别信息设定在所述识别信息保持部件中,所述传送控制部件在与所述识别信息保持部件中保持的识别信息相对 应的传送阶段完成时,将所述标记信息保持部件的标记信息设为无效。
10、 根据权利请求1所述的处理器系统,其特征在于,所述总线接口部具备 受理控制部,控制访问请求的受理;传送控制部,控制所述数据传送;第1识别信息保持部,至少保持1个与已受理且传送阶段未完成的访问请求相对应的主单元的识别信息,作为第1识别信息;标记保持部,对在所述规定期间变为有效的标记信息进行保持;和 第2识别信息保持部,保持所述多个主单元中应限制访问的主单元的识别信息,作为第2识别信息,所述受理控制部当发行新的访问请求时, 在所述标记信息表示无效的情况下,受理该新的访问请求, 在所述标记信息表示有效的情况下,判定发行了该新的访问请求的主单元的识别信息与所述第1识别信息和第2识别信息是否一致,在判定为与所述第1识别信息和第2识别信息至少一方不一致的情况下,受理该新的访问请求,在判定为与所述第1识别信息和第2识别信息双方一致的情况下,延期该新的访问请求的受理,直到所述标记信息变为无效为止。
11、 根据权利请求10所述的处理器系统,其特征在于, 所述处理器系统还具备计数部,所述计数部每一定时间就对每个所述主单元的访问次数进行 计数;和设定部,将访问次数最多的主单元的识别信息作为所述第2识别信息, 设定在所述第2识别信息保持部中。
12、 根据权利请求1所述的处理器系统,其特征在于-所述总线接口部具备受理控制部,控制访问请求的受理; 传送控制部,控制所述数据传送;识别信息保持部,至少保持1个与已受理且传送阶段未完成的访问请 求相对应的主单元的识别信息;和标记保持部,对在所述规定期间变为有效的标记信息进行保持, 所述传送控制部,情况下,执行受理的访问请求的传送阶段, 在所述标记信息表示有效的情况下,判定发行了已受理且传送阶段未执行的访问请求的主单元的识别信息与所述识别信息保持部中保持的识别信息是否一致,在判定为该识别信息不一致的情况下,开始该已受理且传送阶段未执 行的访问请求的传送阶段,在判定为该识别信息一致的情况下,将该已受理且传送阶段未执行的 访问请求的传送阶段的开始延期,直到所述标记信息变为无效为止。
13、 根据权利请求12所述的处理器系统,其特征在于 所述规定期间是从所述访问请求的受理至对应于所述访问请求的传送阶段完成的期间,所述受理控制部每当受理访问请求时,将所述标记信息设为有效,并 且,将对应于该访问请求的识别信息设定在所述识别信息保持部件中,所述传送控制部件在与所述识别信息保持部件中保持的识别信息相对 应的传送阶段完成时,将所述标记信息保持部件的标记信息设为无效。
14、 根据权利请求1所述的处理器系统,其特征在于 所述多个主单元是构成对称型多处理器的多个处理器单元。
15、 根据权利请求l所述的处理器系统,其特征在于 所述多个主单元是在构成多处理器的多个处理器单元中设置的多个虚拟处理器。
16、 根据权利请求1所述的处理器系统,其特征在于-所述多个主单元是对应于多线程处理器中的多个线程的多个虚拟处理器。
17、 根据权利请求1所述的处理器系统,其特征在于 所述多个主单元和总线接口部包含于单个半导体芯片中。
18、 一种处理器系统,具备 总线,连接于共有存储器;多线程处理器,执行多个包含至少1个线程的虚拟处理器,从各虚拟 处理器发行对所述共有存储器的访问请求;和分离传送型的总线接口部,分离地执行受理从所述多个虚拟处理器发 行的访问请求的请求阶段、与根据受理的访问请求而在所述共有存储器与 虚拟处理器之间经所述总线进行数据传送的传送阶段;所述总线接口部在从1个虚拟处理器不空出规定期间地连续发行多个 访问请求的情况下,将对应于该多个访问请求的传送阶段的连续执行次数 限制为最多N次,所述规定期间是与从受理了之前刚发行的访问请求时起、至该访问请 求的传送阶段完成为止的期间的一部分或全部相当的期间。
19、 根据权利请求18所述的处理器系统,其特征在于-所述多线程处理器与访问请求一起发行线程的识别信息和访问属性, 所述访问属性表示是否应使所述传送阶段的连续执行的限制有效, 所述总线接口部对于表示有效的所述访问属性所对应的访问请求,将所述传送阶段的连续执行次数限制为最多N次。
20、 根据权利请求18所述的处理器系统,其特征在于 所述多线程处理器与访问请求一起发行线程的识别信息和访问属性, 所述访问信息是作为包含至少1个线程的组的组序号, 所述总线接口部对每个组序号,将对应的访问请求的所述传送阶段的连续执行次数限制为最多N次。
21、 一种处理器系统中的总线控制方法,所述处理器系统具备总线, 连接于共有存储器;多个主单元,发行用于访问所述共有存储器的访问请 求;总线接口部,以分离传送方式执行所述总线的访问,该分离传送方式 分离地执行受理从所述多个主单元发行的访问请求的请求阶段、与根据受理的访问请求而在所述共有存储器与主单元之间经所述总线进行数据传送 的传送阶段;识别信息保持部,保持与最后受理的访问请求且传送阶段未 完成的访问请求相对应的主单元的识别信息;和标记保持部,保持与所述 识别信息保持部中保持的识别信息所对应的访问信息的传送阶段完成之前 的期间的一部分或全部相当的期间有效的标记信息,其中, 所述总线控制方法,在所述识别信息保持部和所述标记保持部中,保存与最后受理的访问 请求且传送阶段未完成的访问请求相对应的主单元的识别信息、和在与该 识别信息所对应的访问的请求传送阶段完成之前的期间的一部分或全部相 当的期间中变为有效的标记信息,当发行新的访问请求时,在所述标记信息表示有效的情况下,判定发 行了该新的访问请求的主单元的识别信息与所述识别信息保持部中保持的 识别信息是否一致,在判定为该识别信息不一致的情况和所述标记信息表示无效的情况 下,受理该新的访问请求,在判定为该识别信息一致的情况下,将与发行了该新的访问请求的主 单元相对应的传送阶段的连续执行次数限制为最多N次。
22、 一种具备处理器系统的半导体装置,其特征在于,具备 总线,连接于共有存储器;多个主单元,发行用于访问所述共有存储器的访问请求;和 总线接口部,以分离传送方式执行所述总线的访问,该分离传送方式 分离地执行受理从所述多个主单元发行的访问请求的请求阶段、与根据受 理的访问请求而在所述共有存储器与主单元之间经所述总线进行数据传送 的传送阶段;在从1个主单元不空出规定期间地连续发行多个访问请求的情况下, 所述总线接口部将对应于该多个访问请求的传送阶段的连续执行次数限制 为最多N次,所述规定期间是与从受理了之前刚发行的访问请求时起、至该访问请 求的传送阶段完成为止的期间的一部分或全部相当的期间。
全文摘要
提供多处理器系统、总线控制方法和半导体装置,在访问共有存储器的多个主单元之间均等地分配对共有存储器的访问性能,且构成简单,其具备发行用于访问共有存储器的访问请求的多个主单元(PU0、PU1);和分离传送型总线IF部(4-10),分离地执行受理所述访问请求的请求阶段、与根据受理的访问请求进行数据传送的传送阶段;其中,所述总线IF部(4-10)在从1个主单元不空出规定期间地连续发行多个访问请求的情况下,将对应于该多个访问请求的传送阶段的连续执行次数限制为最多N次。
文档编号G06F15/167GK101324870SQ200810095938
公开日2008年12月17日 申请日期2008年4月25日 优先权日2007年4月27日
发明者中西龙太, 山崎雅之, 山本崇夫, 桧垣信生, 藏田和司, 金子圭介 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1