半导体装置的制作方法

文档序号:12613988阅读:224来源:国知局
半导体装置的制作方法

本发明涉及一种半导体装置,更具体地,涉及一种多个电路块经由总线连接的半导体装置。



背景技术:

在半导体装置中,已经提出了多个总线主控器连接到公共总线的大量的总线系统。在这些总线系统中,需要仲裁从多个总线主控器发送到公共总线的请求。专利文献1和2公开了与执行仲裁相关的技术的示例。

专利文献1公开了以下的技术:当有来自被指定为优先级主控器的主控器的请求并且在当前时隙和后续时隙中存在为优先级主控器赋予最高优先级的时隙时,互换时隙,以减少优先级主控器的延迟。

另外,专利文献2公开了以下技术:在由经由互连件连接的多个主控器和多个从控器构成的电路中,通过在物理网络中发布请求之前在虚拟网络上的节点之间发送令牌信号,执行总线仲裁。

引用列表

专利文献

[专利文献1]日本未审专利申请公开No.2005-258867

[专利文献2]国际专利公开No.WO 2012/049485



技术实现要素:

技术问题

在专利文献1中公开的技术中,在不考虑到存储器控制器的缓冲器的可用状态的情况下,按照已经针对各时隙配置的优先级主控器信息来仲裁来自主控器的请求,这样造成总线上的请求停滞。因此,由于存在具有低优先级的先前请求,导致具有高优先级的后续请求不可流动,这样造成了具有高优先级的请求的延迟劣化的问题。另外,为了避免这个问题,需要设置居间缓冲器,使得后续请求可取代先前请求,这样造成电路尺寸增加。

另外,在专利文献2中公开的技术中,在使用响应于请求发布的令牌执行仲裁之后,在物理网络中发布请求,这样造成了电路延迟增加的问题。另外,在多个互连层中,针对各层执行仲裁,这样需要用大量的缓冲器存储各层中提供的请求。

根据对说明书和附图的描述,将清楚现有技术和本发明的新颖特征的其他问题。

问题的解决方案

根据一个实施例,一种半导体装置基于存储器控制器的缓冲器的空间信息来计算可授权访问权限的数目,基于多个主控器的服务质量(QoS)信息和可授权权限的数目来选择将被授予访问权限的主控器,并且不传递来自还未被授予访问权限的主控器的请求。

本发明的有利效果

根据实施例,可以提供能够防止总线上的请求停滞,改善延迟并且减小电路尺寸的半导体装置。

附图说明

图1是根据第一实施例的半导体装置的配置图;

图2是示出根据第一实施例的存储器控制器的关于访问权限的处理的一个示例的流程图;

图3是示出根据第一实施例的中央总线控制器的关于访问权限的处理的一个示例的流程图;

图4是示出根据第一实施例的子总线控制器的关于访问权限的处理的一个示例的流程图;

图5是根据第二实施例的半导体装置的配置图;

图6是根据第二实施例的中央总线控制器的配置图;

图7是根据第二实施例的存储器控制器的配置图;

图8是示出根据第二实施例的预留型寄存器组的配置信息示例的示图;

图9是示出根据第二实施例的图8的配置中的带宽的配置示例的示图;

图10是示出根据第二实施例的预留型存储器组和刷新请求子时隙号配置寄存器的配置信息示例的示图;

图11是示出根据第二实施例的图10的配置中的带宽的配置示例的示图;

图12是根据第二实施例的修改例的中央总线控制器的配置图;

图13是示出根据第二实施例的修改例的预留型寄存器组的配置信息示例的示图;

图14是示出根据第二实施例的修改例的图13的配置中的带宽的配置示例的示图;

图15是根据第三实施例的中央总线控制器的配置图;

图16A是示出根据第三实施例的以规则间隔发布请求的主控器的分配优先级的示例的示图;

图16B是示出根据第三实施例的在头一半没有发布请求而在后一半发布请求的主控器的分配优先级的示例的示图;

图17是根据第四实施例的半导体装置的配置图。

具体实施方式

下文中,将参照附图来描述实施例。以下实施例中的描述的具体值等仅仅是有助于理解本发明的示例,并且除非另外指明,否则本发明不限于此。另外,在以下描述和附图中,为了简化说明,可省略对于本领域的技术人员而言显而易见的主题或者酌情将主题简化。

另外,虽然在以下实施例中提供了各种配置寄存器,但可改变各个配置寄存器中存储的值或信息。

第一实施例

图1是示出根据第一实施例的半导体装置的配置的示图。如图1中所示,根据第一实施例的半导体装置包括多个主控器100、多个子总线控制器200a、总线仲裁器300、存储器控制器400a、存储器500、中央总线控制器600a、总线10、总线20和总线30。虽然在图1中示出的示例中主控器100的数目是三个,但主控器100的数目不受限制并且可以是等于或大于2的任何数目。图1中示出的三个主控器100被称为主控器A、主控器B和主控器C。另外,主控器100的数目与子总线控制器200a的数目相同。

多个主控器100经由总线10连接到各个子总线控制器200a。多个主控器100将对存储器500的请求经由总线10输出到各个子总线控制器200a。

子总线控制器200a包括请求发布控制器201a。请求发布控制器201a从总线10接收请求。另外,请求发布控制器201a从中央总线控制器600a接收优先级级别信号705。优先级级别信号705是基于主控器100的QoS信息指示优先级级别的信号。

另外,请求发布控制器201a确定是否要将接收到的请求输出到总线20。这个确定是通过确定是否已经从中央总线控制器600a分配了指示访问权限授权的访问权限授权信号700来进行的。当已经分配了访问权限授权信号700时,请求发布控制器201a将接收到的请求输出到总线20。另一方面,当还未分配访问权限授权信号700时,也就是说,当访问权限还未得到授予时,请求发布控制器201a不将接收到的请求输出到总线20。也就是说,请求发布控制器201a不传送来自主控器100的请求,直到它得到访问权限的时间为止。

当请求发布控制器201a将接收到的请求输出到总线20时,请求发布控制器201a向这个请求添加对应主控器100的优先级级别并且输出所得的请求。用优先级级别信号705指示这个优先级级别。另外,当请求发布控制器201a在它获取访问权限时还未从总线10接收到请求时,请求发布控制器201a通过访问权限返回信号710向中央总线控制器600a返回访问权限。

总线仲裁器300从总线20接收请求。另外,总线仲裁器300使用添加到接收到的请求的优先级级别来仲裁请求。总线仲裁器300使用优先级级别来仲裁请求的方法是已知的一种,因此将省略对其的描述。仲裁的结果是,总线仲裁器300将来自多个主控器100的请求之中的优先级最高的请求输出到总线30。总线仲裁器300执行的仲裁可以是轮询方法或固定优先级方法。

存储器控制器400a包括缓冲器401。存储器控制器400a从总线30接收请求。另外,存储器控制器400a将接收到的请求存储在缓冲器401中。然后,存储器控制器400a调度请求并且使用添加到存储在缓冲器401中的请求的优先级级别来控制对存储器500的访问。另外,存储器控制器400a不断地监测缓冲器401的使用状态。当响应处理完成的结果是释放缓冲器401时,存储器控制器400a将指示缓冲器401已经被释放到中央总线控制器600a的信息作为缓冲器释放通知信号720输出。

存储器500是例如双数据率同步动态随机存取存储器(DDRSDRAM)、静态随机存取存储器(SRAM)等。存储器500不限于DDRSDRAM或SRAM并且可以是另一种存储器。

中央总线控制器600a是用于控制访问权限的功能单元。中央总线控制器600a包括可授权最大数目配置寄存器601、权限授权数目控制器602、权限授权选择控制器603a、和QoS信息寄存器610。

可授权最大数目配置寄存器601存储可授权访问权限的最大数目。可授权访问权限的最大数目指示可被授权的访问权限的最大数目。可改变存储在可授权最大数目配置寄存器601中的可授权权限的最大数目的值。

当缓冲器401已经被释放时,权限授权数目控制器602从存储器控制器400a接收缓冲器释放通知信号720。然后,权限授权数目控制器602基于缓冲器401的空间信息来计算可授权访问权限的数目。另外,权限授权数目控制器602将已经计算出的可授权权限的数目输出到权限授权选择控制器603a。

将描述计算可授权访问权限的数目的具体示例。除了缓冲器释放通知信号720外,权限授权数目控制器602从可授权最大数目配置寄存器601读出可授权权限的最大数目。然后,权限授权数目控制器602基于缓冲器401的空间信息来计算可授权访问权限的数目,可授权权限的数目的上限是可授权权限的最大数目。

另外,除了缓冲器释放通知信号720外,权限授权数目控制器602从请求发布控制器201a接收访问权限返回信号710。然后,权限授权数目控制器602基于缓冲器401的空间信息和已经返回的访问权限的数目来计算可授权访问权限的数目。

另外,权限授权数目控制器602可除了缓冲器释放通知信号720外使用可授权权限的最大数目、访问权限返回信号710和已经分配的访问权限的数目来计算可授权访问权限的数目。具体地,当基于可授权权限的最大数目来分配访问权限授权信号700时,权限授权数目控制器602将可授权权限的数目减少与已经分配的权限的数目对应的数目。另外,权限授权数目控制器602通过从存储器控制器400a接收缓冲器释放通知信号720或者通过从请求发布控制器201a接收访问权限返回信号710来增加可授权权限的数目。权限授权数目控制器602可通过从权限授权选择控制器603a接收指示已经分配的访问权限的数目的通知,识别已经分配的访问权限的数目。另外,权限授权数目控制器602可将已经输出到权限授权选择控制器603a的可授权权限的数目识别为已经分配的访问权限的数目。当权限授权选择控制器603a明确地分配可被授权的所有访问权限时,这种技术是有效的。

Qos信息寄存器610存储多个主控器100的Qos信息。

权限授权选择控制器603a从Qos信息寄存器610读出多个主控器100的Qos信息。另外,权限授权选择控制器603a从权限授权数目控制器602接收可授权权限的数目。然后,权限授权选择控制器603a基于多个主控器100的Qos信息和可授权权限的数目来选择将被授予访问权限的主控器。具体地,权限授权选择控制器603a选择将被授予访问权限的主控器,使得基于Qos信息具有高优先级级别的主控器100被优先授予在可授权权限的数目的范围中的访问权限。

另外,权限授权选择控制器603a将访问权限授权信号700分配到已经被选择作为将被授予访问权限的主控器的主控器100。具体地,权限授权选择控制器603a将访问权限授权信号700输出到已经选择的主控器100的子总线控制器200a。在每个周期处执行将被授予访问权限的主控器的选择和权限授权选择控制器603a中的访问权限授权信号700的输出。另外,权限授权选择控制器603a将指示基于主控器100的Qos信息的优先级级别的优先级级别信号705输出到主控器100的子总线控制器200a。当Qos信息被存储在Qos信息寄存器610中时,由权限授权选择控制器603a执行优先级级别信号705的输出。因此,基于存储在Qos信息寄存器610中的Qos信息的优先级级别也被反映到子总线控制器200a中。

接下来,参照图2、图3和图4,将描述根据第一实施例的存储器控制器400a、中央总线控制器600a和子总线控制器200a关于半导体装置中的访问权限的处理流程的示例。

首先,参照图2中示出的流程图,将描述存储器控制器400a的关于访问权限的处理流程。

首先,存储器控制器400a监测缓冲器401是否已经被释放(S101)。当在S101中确定缓冲器401还未被释放时,继续进行S101中的监测。

当在S101中确定缓冲器401已经被释放时,存储器控制器400a将缓冲器401的释放信息作为缓冲器释放通知信号720输出到中央总线控制器600a(S102)并且处理回到S101。

接下来,参照图3中示出的流程图,将描述中央总线控制器600a的关于访问权限的处理流程。

首先,权限授权数目控制器602确定它是否已经接收到缓冲器释放通知信号720(S201)。当权限授权数目控制器602在S201中确定它已经接收到缓冲器释放通知信号720时,权限授权数目控制器602增加可授权权限的数目(S202)。

在S202之后,权限授权数目控制器602确定它是否已经接收到访问权限返回信号710(S203)。当在S201中确定它还未接收到缓冲器释放通知信号720时,处理也前进至S203。当在S203中确定权限授权数目控制器602已经接收到访问权限返回信号710时,权限授权数目控制器602增加可授权权限的数目(S204)。

在S204之后,权限授权选择控制器603a确定是否可以授予权限(S205)。当在S203中确定它还未接收到访问权限返回信号710时,处理也前进至S205。在S205中的确定是通过从权限授权数目控制器602接收可授权权限的数目来执行的。在每个周期处执行S205中的确定。

当在S205中确定不可授予权限时,处理回到S201。另一方面,当在S205中确定可授予权限时,权限授权选择控制器603a选择将被授予访问权限的主控器(S206)。在S206之后,权限授权选择控制器603a将访问权限授权信号700分配到将被授予访问权限的主控器(S207)。

在S207之后,权限授权数目控制器602减少可授权权限的数目(S208)并且处理回到S201。

虽然在图3中在S203之前执行S201,但可首先执行S201或S203中的任一个。另外,虽然在图3中在S207之后执行S208,但可在S207之前执行S208。权限授权数目控制器602在例如它将可授权权限的数目输出到权限授权选择控制器603a时,可减少可授权权限的数目。

接下来,参照图4中示出的流程图,将描述子总线控制器200a的关于访问权限的处理流程。

首先,请求发布控制器201a确定它是否已经获取了访问权限(S301)。当在S301中确定它还未获取访问权限时,请求发布控制器201a不传送来自主控器100的请求(S302)并且处理回到S301。

另一方面,当在S301中确定请求发布控制器201a已经获取了访问权限时,请求发布控制器201a确定它是否保持从主控器100接收的请求(S303)。当在S303中确定它没有保持请求时,请求发布控制器201a将访问权限返回到权限授权数目控制器602(S304)。另一方面,当在S303中确定它保持了请求时,请求发布控制器201a传送请求(S305)。也就是说,请求发布控制器201a将请求输出到总线20。然后,处理回到S301。

如上所述,在根据第一实施例的半导体装置中,监测存储器控制器400a的缓冲器401的可用性状态并且中央总线控制器600a使用访问权限来控制来自所有主控器100的请求。因此,可以实现总优化控制。

另外,通过权限授权数目控制器602来控制待分配的访问权限的数目。因此,可以控制在整个总线系统中停滞的请求的数目。

另外,可授权最大数目配置寄存器601被配置成能够设置可授权访问权限的最大数目。因此,可以执行控制,以在最大数目被设置成与存储器控制器400a的缓冲器401的数目相等的数目时,明确地防止总线停滞。另外,通过将最大数目设置成比存储器控制器400a的缓冲器401的数目大的数目,可以在考虑到中间总线中可存在的请求的情况下,执行控制。

另外,当请求发布控制器201a不保持来自已经被授予访问权限的主控器100的请求时,返回访问权限。因此,可以将可授权权限的数目增加与已经返回的权限的数目对应的数目。

第二实施例

接下来,将描述根据第二实施例的半导体装置。如图5中所示,根据第二实施例的半导体装置包括多个主控器100、多个子总线控制器200a、总线仲裁器300、存储器控制器400b、存储器500、中央总线控制器600b、总线10、总线20和总线30。由于多个主控器100、多个子总线控制器200a、总线仲裁器300、存储器500、总线10、总线20和总线30的配置与第一实施例中示出的配置相同,因此将省略对其的描述。

接下来,参照图6,将描述中央总线控制器600b。如图6中所示,中央总线控制器600b包括可授权最大数目配置寄存器601、权限授权数目控制器602、权限授权选择控制器603b、时隙配置寄存器604、刷新请求子时隙号配置寄存器605、刷新请求控制器606、掩码信号发生器607、预留型寄存器组620a和传递量监测器640a。由于可授权最大数目配置寄存器601和权限授权数目控制器602的配置与第一实施例中示出的配置相同,因此将省略对其的描述。预留型寄存器组可被称为第一配置寄存器组。

时隙配置寄存器604存储一个基本时隙中存在的子时隙的数目和一个子时隙的时段。基本时隙指示存储器500的刷新时段。可改变存储在时隙配置寄存器604中的一个基本时隙中存在的子时隙的数目和一个子时隙的时段。

刷新请求子时隙号配置寄存器605存储刷新请求控制器606输出刷新请求信号740的子时隙号。可改变存储在刷新请求子时隙号配置寄存器605中的子时隙号。

刷新请求控制器606读出存储在刷新请求子时隙号配置寄存器605中的子时隙号。另外,刷新请求控制器606在已经读出的子时隙号所指示的子时隙中将刷新请求信号740输出到存储器控制器400b。

传递量监测器640a是测量将经由各个子总线控制器200a从多个主控器100传递到总线仲裁器300的请求的量的功能单元。传递量监测器640a通过来自多个总线20的监测信号730来测量从多个主控器100传递的请求的量。然后,传递量监测器640a将已经测量的从多个主控器100传递的请求的量输出到掩码信号发生器607。

预留型寄存器组620a包括预留带宽配置寄存器621、预留型优先级级别配置寄存器622、基本时隙周期配置寄存器623、操作基本时隙号配置寄存器624、和传递操作子时隙模式配置寄存器625。

在图6中示出的示例中,中央总线控制器600b包括其数目等于主控器100的数目的预留型寄存器组620a。多个主控器100和预留型寄存器组620a之间的关系可以是以下关系中的任一种。

例如,专用的预留型寄存器组620a可用于多个主控器100。具体地,当存在三个主控器(主控器A、主控器B和主控器C)时,中央总线控制器600b可包括三个预留型寄存器组620a:专用于主控器A的预留型寄存器组620a、专用于主控器B的预留型寄存器组620a、和专用于主控器C的预留型寄存器组620a。另外,预留型寄存器组620a可不专用于各个主控器100。中央总线控制器600b可包括多个预留型寄存器组620a并且将多个预留型寄存器组620a与多个主控器100关联。另外,中央总线控制器600b可包括一个预留型寄存器组620a并且预留型寄存器组620a中的配置寄存器可存储关于多个各个主控器100的信息。另外,预留型寄存器组620a中的配置寄存器可包括分别为多个各个主控器100提供的配置寄存器和将关于多个主控器100的信息存储在一个配置寄存器中的配置寄存器。

预留带宽配置寄存器621存储多个主控器100的预留带宽。预留带宽指示例如主控器100中的一个子时隙的预留传递量。

预留型优先级级别配置寄存器622存储多个主控器100的优先级级别。

基本时隙周期配置寄存器623针对多个主控器100中的每个,存储其中被分配访问权限的基本时隙的周期。当例如1被存储在基本时隙周期配置寄存器623中时,访问权限的分配变得在各基本时隙中都有效,并且当2被存储在基本时隙周期配置寄存器623中时,访问权限的分配变得在两个基本时隙中一次有效。

操作基本时隙号配置寄存器624针对多个主控器100中的每个,存储被分配访问权限的基本时隙号。当例如1被存储在操作基本时隙号配置寄存器624中时,第一基本时隙中的访问权限的分配通过验证,并且当2被存储在其中时,第二基本时隙中的访问权限的分配通过验证。

传递操作子时隙模式配置寄存器625针对多个主控器100中的每个,存储其中被分配访问权限的子时隙模式。具体地,传递操作子时隙模式配置寄存器625将关于形成基本时隙的各子时隙中的访问权限的分配是否可能的信息存储作为其中被分配访问权限的子时隙模式。传递操作子时隙模式配置寄存器625将例如O存储在其中可被分配访问权限的子时隙中并且将×存储在其中不可被分配访问权限的子时隙中。

掩码信号发生器607从传递量监测器640a接收从多个主控器100传递的请求的量。另外,掩码信号发生器607从时隙配置寄存器604读出一个基本时隙中存在的子时隙的数目和一个子时隙的时段。另外,掩码信号发生器607从预留带宽配置寄存器621读出多个主控器100的预留带宽。然后,掩码信号发生器607使用一个基本时隙中存在的子时隙的数目和一个子时隙的时段、从多个主控器100传递的请求的量、和多个主控器100的预留带宽来生成访问权限授权信号700的掩码信号。另外,掩码信号发生器607将已经生成的掩码信号输出到权限授权选择控制器603b。

将描述生成访问权限授权信号700的掩码信号的方法。掩码信号发生器607使用从时隙配置寄存器604读出的一个基本时隙中存在的子时隙的数目和一个子时隙的时段来设置掩码信号发生器607中的一个基本时隙中存在的子时隙的数目和一个子时隙的时段。另外,当从一个主控器100传递的请求的量已经达到这个主控器100的预留传递量时,掩码信号发生器607针对这个主控器100生成关于子时隙的剩余时段的掩码信号。

权限授权选择控制器603b从预留带宽配置寄存器621读出多个主控器100的预留带宽。另外,权限授权选择控制器603b从预留型优先级级别配置寄存器622读出多个主控器100的优先级级别。另外,权限授权选择控制器603b针对多个主控器100中的每个,从基本时隙周期配置寄存器623读出其中被分配访问权限的基本时隙周期。另外,权限授权选择控制器603b针对多个主控器100中的每个,从操作基本时隙号配置寄存器624读出被分配访问权限的基本时隙号。另外,权限授权选择控制器603b针对多个主控器100中的每个,从传递操作子时隙模式配置寄存器625读出其中被分配访问权限的子时隙模式。另外,权限授权选择控制器603b从掩码信号发生器607接收掩码信号。另外,权限授权选择控制器603b从权限授权数目控制器602接收可授权权限的数目。

然后,权限授权选择控制器603b使用多个主控器100的预留带宽、多个主控器100的优先级级别、多个主控器100的基本时隙周期、多个主控器100的基本时隙号、多个主控器100的子时隙模式、掩码信号、和可授权权限的数目来选择将被授予访问权限的主控器。随后,将参照图8和图9详细描述通过权限授权选择控制器603b选择将被授予访问权限的主控器的方法。

另外,权限授权选择控制器603b将访问权限授权信号700分配到已经被选择作为将被授予访问权限的主控器的主控器100。具体地,权限授权选择控制器603b将访问权限授权信号700输出到已经选择的主控器的子总线控制器200a。在每个周期处执行将被授予访问权限的主控器的选择和权限授权选择控制器603b中的访问权限授权信号700的输出。另外,权限授权选择控制器603b将指示主控器100的优先级级别的优先级级别信号705输出到主控器100的子总线控制器200a。当优先级级别被存储在预留型优先级级别配置寄存器622中时,执行权限授权选择控制器603b中的优先级级别信号705的输出。因此,存储在预留型优先级级别配置寄存器622中的优先级级别也被反映到子总线控制器200a中。

接下来,参照图7,将描述存储器控制器400b。如图7中所示,存储器控制器400b包括缓冲器401和刷新控制器402。由于缓冲器401的配置与第一实施例中的相同,因此将省略对其的描述。

刷新控制器402从刷新请求控制器606接收刷新请求信号740。在接收到刷新请求信号740时,刷新控制器402向存储器500输出刷新存储器500的刷新命令。

接下来,参照图8和图9,将描述通过权限授权选择控制器603b选择将被授予访问权限的主控器的方法。在图8和图9中,使用四个主控器:主控器A、主控器B、主控器C和主控器D作为多个主控器100。

首先参照图8,将描述第二实施例中的预留型寄存器组的配置信息的示例。

预留带宽配置寄存器621存储10GB/s(十亿字节每秒)、5GB/s、8GB/s和3GB/s分别作为主控器A、主控器B、主控器C和主控器D的预留带宽。

基本时隙周期配置寄存器623存储1、1、4和2分别作为主控器A、主控器B、主控器C和主控器D的基本时隙周期。

操作基本时隙号配置寄存器624存储1、1、4和1分别作为主控器A、主控器B、主控器C和主控器D的操作基本时隙号。

传递操作子时隙模式配置寄存器625将O、O、O、O作为传递操作子时隙模式存储在主控器A的子时隙0(ss0)、子时隙1、子时隙2和子时隙3中。另外,传递操作子时隙模式配置寄存器625将O、×、O、×作为传递操作子时隙模式存储在主控器B的子时隙0、子时隙1、子时隙2和子时隙3中。另外,传递操作子时隙模式配置寄存器625将O、O、O、O作为传递操作子时隙模式存储在主控器C的子时隙0、子时隙1、子时隙2和子时隙3中。另外,传递操作子时隙模式配置寄存器625将×、O、O、O作为传递操作子时隙模式存储在主控器D的子时隙0、子时隙1、子时隙2和子时隙3中。

接下来,参照图9,将描述图8中示出的配置中的将被授予权限的主控器的选择。在图9中示出的示例中,以下在断言存在充足的可授权权限的数目的情况下描述本发明。当可授权权限的数目不充足时,使用图9中示出的表和多个主控器100的优先级级别来执行将被授予权限的主控器的选择。

权限授权选择控制器603b在各基本时隙的各子时隙中将访问权限分配到主控器A。另外,权限授权选择控制器603b在各基本时隙的子时隙1和2中将访问权限分配到主控器B。另外,权限授权选择控制器603b在四个基本时隙周期中的第四基本时隙的各子时隙中将访问权限分配到主控器C。另外,权限授权选择控制器603b在两个基本时隙周期中的第一基本时隙的子时隙1至3中将访问权限分配到主控器D。

也就是说,权限授权选择控制器603b在第一基本时隙的子时隙0中选择主控器A和主控器B作为将被授予权限的主控器并且在第一基本时隙的子时隙1中选择主控器A和主控器D作为将被授予权限的主控器。同样,在其他时隙中,权限授权选择控制器603b选择被配置带宽的主控器100作为将被授予权限的主控器。

另外,当权限授权选择控制器603b接收用于主控器100中的一个的掩码信号时,权限授权选择控制器603b在子时隙的剩余时段中从将被分配访问权限的目标中排除这个主控器100。

接下来,参照图10和图11,将描述在考虑到存储器刷新的情况下的带宽控制。

首先,参照图10,将描述根据第二实施例的预留型寄存器组和刷新请求子时隙号配置寄存器的配置信息的示例。在图10中示出的示例中,出于简化描述的缘故,基本时隙周期和操作基本时隙号被设置成0。

预留带宽配置寄存器621存储10GB/s、5GB/s、8GB/s和3GB/s分别作为主控器A、主控器B、主控器C和主控器D的预留带宽。

传递操作子时隙模式配置寄存器625将O、O、O、O作为传递操作子时隙模式存储在主控器A的子时隙0、子时隙1、子时隙2和子时隙3中。另外,传递操作子时隙模式配置寄存器625将O、×、O、×作为传递操作子时隙模式存储在主控器B的子时隙0、子时隙1、子时隙2和子时隙3中。另外,传递操作子时隙模式配置寄存器625将×、O、O、O作为传递操作子时隙模式存储在主控器C的子时隙0、子时隙1、子时隙2和子时隙3中。另外,传递操作子时隙模式配置寄存器625将×、O、×、O作为传递操作子时隙模式存储在主控器D的子时隙0、子时隙1、子时隙2和子时隙3中。

刷新请求子时隙号配置寄存器605存储0作为其中刷新请求控制器606输出刷新请求信号740的子时隙号。

接下来,参照图11,将描述在图10中示出的配置中的将被授予权限的主控器的选择。

权限授权选择控制器603b在各子时隙中将访问权限分配到主控器A。另外,权限授权选择控制器603b在子时隙0和子时隙1中将访问权限分配到主控器B。另外,权限授权选择控制器603b在子时隙1至3中将访问权限分配到主控器C。另外,权限授权选择控制器603b在子时隙1和子时隙3中将访问权限分配到主控器D。

也就是说,权限授权选择控制器603b在子时隙0中选择主控器A和主控器B作为将被授予权限的主控器。另外,权限授权选择控制器603b在子时隙1中选择主控器A、主控器C和主控器D作为将被授予权限的主控器。另外,权限授权选择控制器603b在子时隙2中选择主控器A、主控器B和主控器C作为将被授予权限的主控器。另外,权限授权选择控制器603b在子时隙3中选择主控器A、主控器C和主控器D作为将被授予权限的主控器。

因此,子时隙0的配置带宽是15GB/s,子时隙1的配置带宽是21GB/s,子时隙2的配置带宽是23GB/s,子时隙3的配置带宽是21GB/s。因此,被执行刷新操作的子时隙的配置带宽变得小于其他子时隙的配置带宽。

如上所述,在根据第二实施例的半导体装置中,各子时隙中的配置带宽受传递量监测器640a和预留带宽配置寄存器621限制。因此,可以限制来自各个主控器100的请求的数目,使得主控器100没有传递比必要的更多的请求。另外,由于配置的带宽被配置成是在子时隙中获取的,因此可保证一定水平的延迟。

另外,掩码信号发生器607针对已经传递了其数目对应于预留传递量的请求的主控器100,生成用于子时隙的剩余时段的掩码信号。因此,可以限制待传递的来自主控器100的请求的数目,使得这个数目不超过预留传递量。

另外,时隙配置寄存器604、基本时隙周期配置寄存器623、操作基本时隙号配置寄存器624、和传递操作子时隙模式配置寄存器625构成向多个主控器100授予访问权限的子时隙和基本时隙。因此,可以将主控器传递请求的次序和同时发送请求的主控器的组合进行编程,使得可执行按照系统进行的带宽控制。

另外,可通过刷新请求控制器606、刷新请求子时隙号配置寄存器605和刷新控制器402来控制发布刷新的定时。因此,可以减小由于刷新性能而导致不可执行存储器访问的时隙的整个请求带宽并且在考虑到刷新的情况下执行带宽控制。

另外,可采用多个预留型寄存器组620a和多个主控器100彼此关联的配置。因此,即使当预留型寄存器组620a的数目不等于主控器100的数目时,也可执行类似控制。

第二实施例的修改例

接下来,将描述第二实施例的修改例。在第二实施例的修改例中,使用中央总线控制器600c来取代第二实施例的中央总线控制器600b。由于除了中央总线控制器的配置外的配置类似于第二实施例中示出的配置,因此将省略对其的描述。

接下来,参照图12,将描述中央总线控制器600c。如图12中所示,中央总线控制器600c包括可授权最大数目配置寄存器601、权限授权数目控制器602、权限授权选择控制器603c、时隙配置寄存器604、刷新请求子时隙号配置寄存器605、刷新请求控制器606、掩码信号发生器607、预留型寄存器组620b和传递量监测器640a。由于可授权最大数目配置寄存器601、权限授权数目控制器602、时隙配置寄存器604、刷新请求子时隙号配置寄存器605、刷新请求控制器606、掩码信号发生器607、和传递量监测器640a的配置与第二实施例中示出的配置相同,因此将省略对其的描述。

预留型寄存器组620b包括预留型优先级级别配置寄存器622、基本时隙周期配置寄存器623、操作基本时隙号配置寄存器624、和预留带宽表配置寄存器626。由于预留型优先级级别配置寄存器622、基本时隙周期配置寄存器623和操作基本时隙号配置寄存器624的配置与第二实施例中示出的配置相同,因此将省略对其的描述。另外,由于多个主控器100和预留型寄存器组620b之间的关系与多个主控器100和预留型寄存器组620a之间的关系相同,因此将省略对其的描述。

预留带宽表配置寄存器626针对多个主控器100存储基本时隙中的各子时隙的预留带宽。

权限授权选择控制器603c从预留型优先级级别配置寄存器622读出多个主控器100的优先级级别。另外,权限授权选择控制器603c针对多个主控器100中的每个,从基本时隙周期配置寄存器623读出其中被分配访问权限的基本时隙周期。另外,权限授权选择控制器603c针对多个主控器100中的每个,从操作基本时隙号配置寄存器624读出被分配访问权限的基本时隙号。另外,权限授权选择控制器603c针对多个主控器100中的各子时隙,从预留带宽表配置寄存器626读出预留带宽。另外,权限授权选择控制器603c从掩码信号发生器607接收掩码信号。另外,权限授权选择控制器603c从权限授权数目控制器602接收可授权权限的数目。

权限授权选择控制器603c使用多个主控器100的优先级级别、多个主控器100的基本时隙周期、多个主控器100的基本时隙号、针对各子时隙的多个主控器100的预留带宽、掩码信号、和可授权权限的数目来选择将被授予访问权限的主控器。

另外,权限授权选择控制器603c将访问权限授权信号700分配到已经被选择作为将被授予访问权限的主控器的主控器100。具体地,权限授权选择控制器603c将访问权限授权信号700输出到已经选择的主控器100的子总线控制器200a。另外,权限授权选择控制器603c除了访问权限授权信号700外,将已经选择的主控器100的优先级级别输出到已经选择的主控器100的子总线控制器200a。在每个周期处执行将被授予访问权限的主控器的选择和权限授权选择控制器603c中的访问权限授权信号700的输出。另外,权限授权选择控制器603c将指示主控器100的优先级级别的优先级级别信号705输出到这个主控器100的子总线控制器200a。当优先级级别被存储在预留型优先级级别配置寄存器622中时,执行权限授权选择控制器603c中的优先级级别信号705的输出。因此,存储在预留型优先级级别配置寄存器622中的优先级级别也被反映到子总线控制器200a中。

接下来,参照图13和图14,将描述通过权限授权选择控制器603c选择将被授予访问权限的主控器的方法。在图13和图14中,使用四个主控器(主控器A、主控器B、主控器C和主控器D)作为多个主控器100。

首先,参照图13,将描述根据第二实施例的修改例的预留型寄存器组的配置信息的示例。

预留带宽表配置寄存器626存储10GB/s、0GB/s、10GB/s和10GB/s分别作为主控器A中的子时隙0至3的预留带宽。另外,预留带宽表配置寄存器626存储13GB/s、10GB/s、5GB/s和5GB/s分别作为主控器B中的子时隙0至3的预留带宽。另外,预留带宽表配置寄存器626存储8GB/s、8GB/s、8GB/s和8GB/s分别作为主控器C中的子时隙0至3的预留带宽。另外,预留带宽表配置寄存器626存储0GB/s、8GB/s、3GB/s和3GB/s分别作为主控器D中的子时隙0至3的预留带宽。

也就是说,权限授权选择控制器603c针对主控器B和主控器D,配置其中被分配访问权限的各子时隙的不同预留带宽。

基本时隙周期配置寄存器623存储1、1、4和2分别作为主控器A、主控器B、主控器C和主控器D的基本时隙周期。

操作基本时隙号配置寄存器624存储1、1、4和1分别作为主控器A、主控器B、主控器C和主控器D的操作基本时隙号。

接下来,参照图14,将描述图13中示出的配置中的将被授予权限的主控器的选择。在图14中示出的示例中,以下在断言存在充足的可授权权限的数目的情况下描述本发明。当可授权权限的数目不充足时,使用图14中示出的表和多个主控器100的优先级级别来执行将被授予权限的主控器的选择。

权限授权选择控制器603c在各基本时隙的子时隙0、子时隙2、和子时隙3中将访问权限分配到主控器A。另外,权限授权选择控制器603c在各基本时隙的各子时隙中将访问权限分配到主控器B。另外,权限授权选择控制器603c在四个基本时隙周期中的第四基本时隙的各子时隙中将访问权限分配到主控器C。另外,权限授权选择控制器603c在两个基本时隙周期中的第一基本时隙的子时隙1至3中将访问权限分配到主控器B。

也就是说,权限授权选择控制器603c在第一基本时隙的子时隙0中将主控器A和主控器B选择作为将被授予权限的主控器并且在第一基本时隙的子时隙1中将主控器B和主控器D选择作为将被授予权限的主控器。同样,在其他时隙中,权限授权选择控制器603c选择被配置带宽的主控器100作为将被授予权限的主控器。

另外,当权限授权选择控制器603c接收用于主控器100中的一个的掩码信号时,权限授权选择控制器603c在子时隙的剩余时段中从将被分配访问权限的目标中排除这个主控器100。

如上所述,在根据第二实施例的修改例的半导体装置中,预留带宽表配置寄存器626针对多个主控器100,存储各子时隙的预留带宽。因此,相比于第二实施例,可以以更灵活的方式按照系统配置带宽。

第三实施例

接下来,将描述第三实施例。在第三实施例中,使用中央总线控制器600d来取代第二实施例的中央总线控制器600b。由于除了中央总线控制器的配置外的配置与第二实施例中示出的配置相同,因此将省略对其的描述。

接下来,参照图15,将描述中央总线控制器600d。如图15中所示,中央总线控制器600d包括可授权最大数目配置寄存器601、权限授权数目控制器602、权限授权选择控制器603d、时隙配置寄存器604、刷新请求子时隙号配置寄存器605、刷新请求控制器606、分配优先级计算电路608、尽力(BE)型寄存器组630和传递量监测器640a。由于可授权最大数目配置寄存器601、权限授权数目控制器602、时隙配置寄存器604、刷新请求子时隙号配置寄存器605和刷新请求控制器606的配置与第二实施例中示出的配置相同,因此将省略对其的描述。尽力型寄存器组可被称为第二配置寄存器组。

由于第三实施例中的传递量监测器640a的基本功能与第二实施例中的传递量监测器640a的基本功能相同,因此将省略对其的描述。然而,第三实施例中的传递量监测器640a将已经测量的从多个主控器100传递的请求的量输出到分配优先级计算电路608。

尽力型寄存器组630包括目标传递量配置寄存器631、更新传递量寄存器632、分配优先级校正时段配置寄存器633、尽力型优先级级别配置寄存器634、分配优先级初始化间隔配置寄存器635、基本时隙周期配置寄存器623、操作基本时隙号配置寄存器624和传递操作子时隙模式配置寄存器625。由于基本时隙周期配置寄存器623、操作基本时隙号配置寄存器624和传递操作子时隙模式配置寄存器625的配置与第二实施例中的相同,因此将省略对其的描述。另外,由于多个主控器100和尽力型寄存器组630之间的关系与多个主控器100和预留型寄存器组620a之间的关系相同,因此将省略对其的描述。

目标传递量配置寄存器631针对多个主控器100存储一个子时隙的目标传递量。

更新传递量寄存器632针对多个主控器100存储指示传递量的累加值的累加传递量。

分配优先级校正时段配置寄存器633存储分配优先级校正时段。术语“分配优先级”意指关于访问权限分配的优先级。另外,术语“分配优先级校正时段”意指校正多个主控器100的目标传递量期间的时段。具体地,在从当前时间起的分配优先级校正时段所指示的时段之后的目标传递量被设置为用于计算分配优先级的目标传递量。可改变存储在分配优先级校正时段配置寄存器633中的分配优先级校正时段的值。另外,分配优先级校正时段可以是针对各子时隙设置的或者可不针对各子时隙设置。另外,分配优先级校正时段可以是多个主控器之中公共的或者可对于多个主控器中的每个是不同的。

尽力型优先级级别配置寄存器634针对多个主控器100存储优先级级别。存储在尽力型优先级级别配置寄存器634中的优先级级别被添加到请求发布控制器201a中的请求。

分配优先级初始化间隔配置寄存器635存储指示分配优先级被初始化的间隔的子时隙的数目。初始化分配优先级意指初始化存储在更新传递量寄存器632中的累加传递量。可改变存储在分配优先级初始化间隔配置寄存器635中的分配优先级被初始化的间隔的值。另外,分配优先级初始化间隔可以是多个主控器之中公共的或者可对于多个主控器中的每个是不同的。

分配优先级计算电路608是计算指示关于访问权限分配的优先级的分配优先级的电路。分配优先级计算电路608基于例如多个主控器的目标传递量来计算分配优先级。

将详细地描述分配优先级计算电路608。分配优先级计算电路608从传递量监视器640a接收从多个主控器100传递的请求的量。另外,分配优先级计算电路608从目标传递量配置寄存器631读出针对多个主控器100的一个子时隙的目标传递量。另外,分配优先级计算电路608从更新传递量寄存器632读出针对多个主控器100的累加传递量。另外,分配优先级计算电路608从分配优先级校正时段配置寄存器633读出分配优先级校正时段。另外,分配优先级计算电路608从分配优先级初始化间隔配置寄存器635读出分配优先级初始化间隔。然后,分配优先级计算电路608使用从多个主控器100传递的请求的量、针对多个主控器100的一个子时隙的目标传递量、针对多个主控器100的累加传递量、分配优先级校正时段、和分配优先级初始化间隔来计算分配优先级。随后,将参照图16A和图16B详细描述计算分配优先级的方法。另外,分配优先级计算电路608将已经计算出的分配优先级输出到权限授权选择控制器603d。

另外,分配优先级计算电路608每当经过子时隙时更新存储在更新传递量寄存器632中的累加传递量。具体地,分配优先级计算电路608使用从更新传递量寄存器632读出的直至前一子时隙的累加的传递量和从传递量监测器640a接收的当前子时隙的传递量来计算直至当前子时隙的累加传递量。然后,分配优先级计算电路608将已经计算出的直至当前子时隙的累加传递量存储在更新传递量寄存器632中。

权限授权选择控制器603d从时隙配置寄存器604读出一个基本时隙中存在的子时隙的数目和一个子时隙的时段。另外,权限授权选择控制器603d从分配优先级计算电路608接收分配优先级。另外,权限授权选择控制器603d针对多个主控器100中的每个,从基本时隙周期配置寄存器623读出被分配访问权限的基本时隙周期。另外,权限授权选择控制器603d针对多个主控器100中的每个,从操作基本时隙号配置寄存器624读出被分配访问权限的基本时隙号。另外,权限授权选择控制器603d针对多个主控器100中的每个,从传递操作子时隙模式配置寄存器625读出被分配访问权限的子时隙模式。另外,权限授权选择控制器603d从权限授权数目控制器602接收可授权权限的数目。另外,权限授权选择控制器603d从尽力型优先级级别配置寄存器634读出多个主控器100的优先级级别。

然后,权限授权选择控制器603d使用一个基本时隙中存在的子时隙的数目、一个子时隙的时段、分配优先级、多个主控器100的基本时隙周期、多个主控器100的基本时隙号、多个主控器100的子时隙模式、和可授权权限的数目来选择将被授予访问权限的主控器。

另外,权限授权选择控制器603d将访问权限授权信号700分配到已经被选择作为将被授予访问权限的主控器的主控器100。具体地,权限授权选择控制器603d将访问权限授权信号700输出到已经选择的主控器的子总线控制器200a。另外,权限授权选择控制器603d除了访问权限授权信号700外,将已经选择的主控器100的优先级级别输出到已经选择的主控器100的子总线控制器200a。在每个周期处执行将被授予访问权限的主控器的选择和权限授权选择控制器603d中的访问权限授权信号700的输出。另外,权限授权选择控制器603d将指示主控器100的优先级级别的优先级级别信号705输出到主控器100的子总线控制器200a。当优先级级别被存储在尽力型优先级级别配置寄存器634中时,执行权限授权选择控制器603d中的优先级级别信号705的输出。因此,存储在尽力型优先级级别配置寄存器634中的优先级级别也被反映到子总线控制器200a中。

接下来,参照图16A和图16B,将描述通过分配优先级计算电路608计算分配优先级的方法。

首先,参照图16A,将描述根据第三实施例的计算以规则间隔发布请求的主控器的分配优先级的方法。假设图16A中的主控器是主控器A。另外,假设图16A中的分配优先级校正时段是一个子时隙。另外,图16A中示出的虚线是基于一个子时隙的主控器A的目标传递量绘制的。垂直轴方向上的虚线的长度指示执行时间的目标传递量。另外,假设图16A中示出的箭头(1)至(4)的倾斜度均指示分配优先级,并且随着倾斜度变大,分配优先级变高。另外,图16A中示出的直线(5)至(8)的倾斜度均指示主控器A所获取的带宽。

分配优先级计算电路608将从传递量监测器640a接收的主控器A的当前子时隙的传递量与从更新传递量寄存器632读出的主控器A的直至前一子时隙的累加传递量相加,由此计算直至当前子时隙的累加传递量。

另外,分配优先级计算电路608使用从目标传递量配置寄存器631读出的一个子时隙的主控器A的目标传递量和从分配优先级校正时段配置寄存器633读出的分配优先级校正时段来计算分配优先级校正时段之后的目标传递量。也就是说,分配优先级计算电路608计算作为分配优先级校正时段的一个子时隙之后的目标传递量。

然后,分配优先级计算电路608使用直至当前子时隙的累加传递量和一个子时隙之后的目标传递量来计算分配优先级。

接下来,作为具体示例,将描述通过图16A中示出的箭头(1)的倾斜度所指示的分配优先级的方法。

当执行时间是0时,计算箭头(1)的倾斜度。执行时间是0的时间对应于恰在存储在更新传递量寄存器632中的主控器A的累加传递量被初始化之后子时隙开始的定时。使用通过分配优先级计算电路608从分配优先级初始化间隔配置寄存器635读出的分配优先级初始化间隔来执行存储在更新传递量寄存器632中的主控器A的累加传递量的初始化。也就是说,以分配优先级初始化间隔所指示的子时隙的数目的间隔,执行主控器A的累加传递量的初始化。

当执行时间是0时,直至当前子时隙的主控器A的累加传递量是0。因此,通过连接执行时间变成0并且传递量变成0的点与作为分配优先级校正时段的一个子时隙(当执行时间是一个子时隙)之后的目标传递量所指示的点而得到的线是箭头(1)。

接下来,作为具体示例,将描述计算图16A中示出的箭头(2)的倾斜度所指示的分配优先级的方法。

当执行时间变成一个子时隙时,计算箭头(2)的倾斜度。直线(5)的倾斜度指示当执行时间是0至一个子时隙时主控器A所获取的带宽。

当执行时间是一个子时隙时,直至前一子时隙的主控器A的累加传递量是0。另外,从传递量监测器640a接收的主控器A的当前子时隙的传递量对应于当执行时间是一个子时隙时垂直轴方向上的线(5)的长度。因此,当执行时间是一个子时隙时垂直轴方向上的线(5)的长度指示直至当前子时隙的主控器A的累加传递量。指示直至当前子时隙的主控器A的累加传递量的点和指示一个子时隙之后(当执行时间是两个子时隙时)的目标传递量的点连接而成的线变成箭头(2)。

接下来,作为具体示例,将描述计算图16A中示出的箭头(3)的倾斜度所指示的分配优先级的方法。

当执行时间变成两个子时隙时,计算箭头(3)的倾斜度。直线(6)的倾斜度指示当执行时间是一至两个子时隙时主控器A所获取的带宽。

当执行时间是两个子时隙时直至当前子时隙的主控器A的累加传递量对应于当执行时间是两个子时隙时垂直轴方向上的线(6)的长度。通过将指示直至当前子时隙的主控器A的累加传递量的点和指示一个子时隙之后(当执行时间是三个子时隙时)的目标传递量所指示的点连接而得到的线为箭头(3)。由于计算图16A中示出的箭头(4)的倾斜度所指示的分配优先级的方法类似于上述的方法,因此将省略对其的描述。

接下来,参照图16B,将描述根据第三实施例的计算在头一半没有发布请求仅在后一半发布请求的主控器的分配优先级的方法。假设图16B中的主控器是主控器B。另外,假设图16B中的分配优先级校正时段是1.7个子时隙。另外,图16B中示出的虚线是基于一个子时隙的主控器B的目标传递量绘制的。垂直轴方向上的虚线的长度指示执行时间中的目标传递量。另外,图16B中示出的箭头(9)至(12)的倾斜度均指示分配优先级。另外,图16B中示出的直线(13)的倾斜度指示主控器B所获取的带宽。

接下来,作为具体示例,将描述通过图16B中示出的箭头(9)的倾斜度所指示的分配优先级的方法。

当执行时间是0时,计算箭头(9)的倾斜度。当执行时间是0时,直至当前子时隙的主控器B的累加传递量是0。因此,将执行时间是0并且传递量是0的点与作为分配优先级校正时段的1.7个子时隙(当执行时间是1.7个子时隙)之后的目标传递量所指示的点连接而成的线是箭头(9)。

接下来,作为具体示例,将描述通过图16B中示出的箭头(10)的倾斜度所指示的分配优先级的方法。

当执行时间是一个子时隙时,计算箭头(10)的倾斜度。由于主控器B还未发送请求,因此当执行时间是一个子时隙时,它不获取带宽。因此,当执行时间是一个子时隙时,直至当前子时隙的主控器B的累加传递量是0。因此,通过将执行时间是0并且传递量是0的点和作为分配优先级校正时段的1.7个子时隙之后(当执行时间是2.7个子时隙时)的目标传递量所指示的点连接而得到的线是箭头(10)。由于计算图16B中示出的箭头(11)和(12)的倾斜度所指示的分配优先级的方法类似于上述的方法,因此将省略对其的描述。

接下来,将描述直线(13)的倾斜度所指示的主控器B所获取的带宽。当执行时间是三个子时隙时,箭头(12)的倾斜度所指示的分配优先级被计算作为主控器B的分配优先级。另外,假设已经使用主控器B的分配优先级将主控器B选择作为将被授予访问权限的主控器。在主控器B发送请求之后,主控器B获取直线(13)的倾斜度所指示的带宽。

如上所述,在根据第三实施例的半导体装置中,分配优先级计算电路608基于主控器的目标传递量来计算分配优先级。因此,可以校正长时间时段内获取的传递量。

另外,分配优先级校正时段配置寄存器633存储分配优先级校正时段。另外,可改变存储在分配优先级校正时段配置寄存器633中的分配优先级校正时段的值。因此,可以按照系统计算最佳分配优先级。

另外,分配优先级初始化间隔配置寄存器635存储指示分配优先级被初始化的间隔的子时隙的数目。另外,通过初始化分配优先级,初始化存储在更新传递量寄存器632中的累加传递量。因此,可以减轻长时间时段内的误差累积。另外,可以按照主控器的操作来设置重置间隔。

另外,可采用多个尽力型寄存器组630和多个主控器100彼此关联的配置。因此,即使当尽力型寄存器组630的数目不等于主控器100的数目时,也可以执行类似的控制。

第四实施例

接下来,将描述第四实施例。在第四实施例中,使用第二实施例中的预留型寄存器组620a进行的访问权限控制和使用第三实施例中的尽力型寄存器组630进行的访问权限控制以复合方式加以执行。如图17中所示,根据第四实施例的半导体装置包括子总线控制器200b和中央总线控制器600e。由于除了子总线控制器200b和中央总线控制器600e的配置外的配置与第二实施例和第三实施例中的配置相同,因此将省略对其的描述。

中央总线控制器600e包括可授权最大数目配置寄存器601、权限授权数目控制器602、权限授权选择控制器603e、时隙配置寄存器604、刷新请求时隙号配置寄存器605、刷新请求控制器606、掩码信号发生器607、分配优先级计算电路608、预留型寄存器组620a、尽力型寄存器组630和传递量监测器640b。由于除了权限授权选择控制器603e和传递量监测器640b的配置外的配置与第二或第三实施例的配置相同,因此将省略对其的描述。

首先,将描述权限授权选择控制器603e。权限授权选择控制器603e是既包括第二实施例中的权限授权选择控制器603b中选择将被授予访问权限的主控器的功能又包括第三实施例中的在权限授权选择控制器603d中选择将被授予访问权限的主控器的功能的功能单元。在权限授权选择控制器603b中选择将被授予访问权限的主控器的处理被称为使用预留型寄存器组620a的选择处理。另外,在权限授权选择控制器603d中选择将被授予权限的主控器的处理被称为使用尽力型寄存器组630的选择处理。权限授权选择控制器603e独立地使用预留型寄存器组620a执行选择处理并且使用尽力型寄存器组630执行选择处理。

当这两个选择处理彼此竞争时,为选择处理中的一个赋予优先级。两个选择处理彼此竞争的情形意指在这两个选择处理中选择一个主控器作为将被授予权限的主控器的情形。如果使用尽力型寄存器组630为选择处理赋予优先权,例如,当两个选择处理彼此竞争时,通过使用尽力型寄存器组630进行的选择处理选择这个主控器作为将被授予访问权限的主控器。

权限授权选择控制器603e将访问权限授权信号700分配到已经选择的主控器100。具体地,权限授权选择控制器603e将访问权限授权信号700输出到已经选择的主控器100的子总线控制器200b。另外,权限授权选择控制器603e除了访问权限授权信号700之外,将已经选择的主控器100的优先级级别和访问权限属性信号750输出到主控器100的子总线控制器200b。

接下来,将描述访问权限属性信号750。访问权限属性信号750是指示是通过使用预留型寄存器组620a进行的选择处理被授予访问权限还是通过使用尽力型寄存器组630进行的选择处理被授予访问权限的识别信息。通过使用预留型寄存器组620a进行的选择处理被授予的访问权限被称为使用预留型寄存器组620a被授予的访问权限。通过使用尽力型寄存器组630进行的选择处理被授予的访问权限被称为使用尽力型寄存器组630被授予的访问权限。

接下来,将描述子总线控制器200b。子总线控制器200b包括请求发布控制器201b。由于除了关于访问权限属性信号750的控制外,请求发布控制器201b中的控制与请求发布控制器201a中的控制相同,因此将省略重叠的描述。

请求发布控制器201b从权限授权选择控制器603e接收访问权限属性信号750。另外,当请求发布控制器201b将从总线10接收的请求输出到总线20时,请求发布控制器201b将访问权限属性信号750添加到请求并且输出所得的信号。

接下来,将描述传递量监测器640b。传递量监测器640b包括预留型传递量监测器641和尽力传递量监测器642。

预留型传递量监测器641是测量经由各个子总线控制器200b从多个主控器100传递到总线仲裁器300的预留型请求的量的功能单元。预留型请求指示按已经使用预留型寄存器组620a被授予的访问权限经过请求发布控制器201b的请求。

预留型传递量监测器641通过来自多个总线20的监测器信号730,测量从多个主控器100传递的预留型请求的量。通过添加到监测器信号730的访问权限属性信号750来识别请求是否是预留型请求。然后,预留型传递量监测器641将已经测量的从多个主控器100传递的预留型请求的量输出到掩码信号发生器607。

尽力传递量监测器642是测量经由各个子总线控制器200b从多个主控器100传递到总线仲裁器300的尽力型请求的量的功能单元。术语“尽力型请求”意指按已经使用尽力型寄存器组630被授予的访问权限经过请求发布控制器201b的请求。

尽力传递量监测器642通过来自多个总线20的监测器信号730,测量从多个主控器100传递的预留型请求的量。通过添加到监测器信号730的访问权限属性信号750来识别请求是否是尽力型请求。然后,尽力传递量监测器642将已经测量的从多个主控器100传递的尽力型请求的量输出到分配优先级计算电路608。

如上所述,在根据第四实施例的半导体装置中,权限授权选择控制器603e分配两种访问权限:已经使用预留型寄存器组620a被授予的访问权限和已经使用尽力型寄存器组630被授予的访问权限。因此,可以有效控制需要在短时间时段内获取预定带宽的主控器和需要在长时间时段内获取预定带宽的主控器。

在以上提到的示例中,虽然在第四实施例中描述了以复合方式执行使用第二实施例中的预留型寄存器组620a进行的访问权限控制和使用第三实施例中的尽力型寄存器组630进行的访问权限控制的示例,但本发明不限于这个示例。可以以复合方式执行使用第二实施例的修改例中的预留型寄存器组620b进行的访问权限控制和使用第三实施例中的尽力型寄存器组630进行的访问权限控制。

虽然已经参照实施例描述了本发明人做出的本发明,但本发明不限于以上的实施例。可在本发明的范围内,对实施例进行各种改变。

参考符号列表

100 主控器

200a、200b 子总线控制器

201a、201b 请求发布控制器

300 总线仲裁器

400a、400b 存储器控制器

401 缓冲器

402 刷新控制器

500 存储器

600a、600b、600c、600d、600e 中央总线控制器

601 可授权最大数目配置寄存器

602 权限授权数目控制器

603a、603b、603c、603d、603e 权限授权选择控制器

604 时隙配置寄存器

605 刷新请求子时隙号配置寄存器

606 刷新请求控制器

607 掩码信号发生器

608 分配优先级计算电路

610 QoS信息寄存器

620a、620b 预留型寄存器组

621 预留带宽配置寄存器

622 预留型优先级级别配置寄存器

623 基本时隙周期配置寄存器

624 操作基本时隙号配置寄存器

625 传递操作子时隙模式配置寄存器

626 预留带宽表配置寄存器

630 尽力型寄存器组

631 目标传递量配置寄存器

632 更新传递量寄存器

633 分配优先级校正时段配置寄存器

634 尽力型优先级级别配置寄存器

635 分配优先级初始化间隔配置寄存器

640a、640b 传递量监测器

641 预留型传递量监测器

642 尽力传递量监测器

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1