半导体装置的制造方法

文档序号:10624742阅读:138来源:国知局
半导体装置的制造方法
【专利摘要】本发明涉及半导体装置。提供一种用于进一步改善在仲裁多个总线主控器和多个总线受控器之间的数据传输的半导体装置中的处理效率的技术。总线控制电路控制多个总线主控器和多个总线受控器之间的地址总线和数据总线中的数据传输。总线控制电路基于总线主控器输出的地址信号获得代表各个总线主控器访问总线受控器的访问信息。总线控制电路获得代表各个总线受控器是否处于忙碌状态的忙碌信息。当访问总线受控器时,在总线主控器彼此竞争的情况下,总线控制电路根据基于访问信息和忙碌信息为各个总线主控器设定的优先级而仲裁从各个总线主控器至不处于忙碌状态的总线受控器的访问。
【专利说明】半导体装置
[0001]相关申请的交叉引用
[0002]将2015年3月18日提交的日本专利申请N0.2015-054518的公开内容(包括说明书,附图以及摘要)整体并入本文作为参考。
技术领域
[0003]本公开内容涉及一种通过总线在多个总线主控器以及多个总线受控器之间传输数据的半导体装置,且特别涉及一种仲裁通过总线的访问的技术。
【背景技术】
[0004]过去已经研究了其中多个总线主控器和多个总线受控器通过总线彼此连接并控制各个总线主控器至各个总线受控器的访问的技术。例如,在诸如微计算机的半导体装置中,作为总线主控器的处理器以及作为总线受控器的内置存储器连接至总线,且提供诸如地址仲裁器的仲裁器。当访问在总线主控器和总线受控器之间的事务中的总线时,在总线主控器彼此竞争的情况下,仲裁器根据各个总线主控器的优先级仲裁通过总线访问总线受控器的总线主控器。此外,独立的半导体装置包括地址总线以及数据总线且可传输数据。此外,通过在无序处理中执行命令而改善处理效率。
[0005]已经研究了使用仲裁器仲裁通过总线在总线主控器和总线受控器之间的数据传输的各种技术。例如,日本未审专利申请公开N0.2006-331426描述了一种技术,其中主控器逻辑单元以及受控器逻辑单元彼此组合以执行事务。根据日本未审专利申请公开N0.2006-331426中描述的技术,互连块包括诸如地址仲裁器以及读取数据仲裁器的仲裁器,且根据仲裁策略仲裁多个总线主控器和多个总线受控器之间的数据传输。例如,根据日本未审专利申请公开N0.2006-331426中描述的技术,地址仲裁器从具有高优先级的总线主控器接受访问总线受控器的请求。

【发明内容】

[0006]在日本未审专利申请公开N0.2006-331426的技术中,仲裁器根据各个总线主控器的优先级的顺序仲裁各个总线主控器和各个总线受控器之间通过总线的数据传输。具体地,仲裁器根据各个总线主控器的优先级在各个总线主控器和各个总线主控器之间传输数据。但是在这种情况下,当存在从具有高优先级的总线主控器访问处于忙碌状态的总线受控器之一的请求时,即使存在从另一总线主控器访问另一总线受控器的另一请求,总线主控器也根据优先级仲裁。因此,不能接受访问不处于忙碌状态的总线受控器的请求。
[0007]因此,在仲裁通过总线在总线主控器和总线受控器之间的数据传输的半导体装置中已经需要进一步改善处理效率的技术。
[0008]其他目的和新颖特征将从说明书以及附图的说明变得显而易见。
[0009]在根据实施例的半导体装置中,多个总线主控器和多个总线受控器通过总线彼此连接,且总线控制装置控制总线主控器和总线受控器之间的地址传输和数据传输。总线控制装置获得代表各个总线主控器基于总线主控器输出的地址信号而访问的总线受控器的访问信息。总线控制装置获得代表各个总线受控器是否处于忙碌状态的忙碌信息。总线控制装置根据基于获得的访问信息和获得的忙碌信息而为各个总线主控器设定的优先级仲裁从各个总线主控器至不处于忙碌状态的总线受控器的访问。
[0010]根据该实施例的半导体装置,总线控制装置可以以这样的方式进行控制,使得基于从各个总线主控器至各个总线受控器的访问信息,各个总线受控器的忙碌情况以及各个总线主控器的优先级,具有高优先级的总线主控器访问不处于忙碌状态的总线受控器。因此,可进一步改善处理效率。
【附图说明】
[0011]图1是示出根据实施例的半导体装置10的构造的框图;
[0012I图2是示出总线控制电路50的详细构造的示意图;
[0013]图3是示出在总线控制电路50仲裁通过总线在各个总线主控器和各个总线受控器之间的数据传输的情况下的操作示例的示意图;
[0014]图4是示出其中不管总线受控器是否处于忙碌状态都仅基于各个总线主控器的优先级仲裁总线的现有技术中的总线控制电路的操作示例的示意图;以及
[0015]图5示出总线控制电路50的操作示例,总线控制电路50以这样的方式进行控制,使得基于从各个总线主控器至各个总线受控器的访问信息,各个总线受控器的忙碌情况以及各个总线主控器的优先级,具有高优先级的总线主控器访问不处于忙碌状态的总线受控器。
【具体实施方式】
[0016]以下将参考【附图说明】本发明的实施例。在以下描述中,相同构成元素由相同参考数字指定。其名称和功能也相同。因此,将不再重复其详细解释。
[0017]第一实施例
[0018]将参考【附图说明】实施例的半导体装置。
[0019]〈半导体装置的构造〉
[0020]图1是示出该实施例的半导体装置10的构造的框图。如图1中所示,半导体装置10包括具有多个总线主控器的总线主控器20(例如,第一CPU(中央处理单元)21,第二CPU 22,DSP(数字信号处理器)23,DMAC(直接存储器访问控制器)24以及其他装置),具有多个总线受控器的总线受控器30 (例如,ROM(只读存储器)31,RAM(随机访问存储器)32,TIM(定时信号输出电路)33,串行(串行通信模块)电路34以及其他装置),总线40以及总线控制电路50。第一CPU 21和第二CPU 22控制半导体装置10的操作。
[0021]总线主控器20和总线受控器30连接至总线40,其用作用于总线主控器和总线受控器之间的地址传输和数据传输的数据传输路线。总线40包括地址总线41和数据总线42。地址总线41是传输在各个总线主控器访问各个总线受控器时使用的地址信号的总线。数据总线42是在各个总线主控器和各个总线受控器之间传输数据的总线。
[0022]总线控制电路50控制通过总线40在总线主控器和总线受控器之间的地址传输和数据传输。如将在下文详细说明的,总线控制电路50获得代表相应总线主控器基于总线主控器输出的地址信号进行访问的总线受控器的访问信息。而且,总线控制电路50获得代表各个总线受控器是否处于忙碌状态的忙碌信息。总线控制电路50根据基于访问信息和忙碌信息为各个总线主控器设定的优先级仲裁从各个总线主控器至不处于忙碌状态的总线受控器的访问。具体地,在由具有最高优先级的总线主控器访问的总线受控器处于忙碌状态的情况下,总线控制电路50顺序地确定其他总线受控器是否处于忙碌状态。在存在不处于忙碌状态的总线受控器的情况下,总线控制电路50仲裁以在总线主控器和总线受控器之间传输数据。
[0023]图2是示出总线控制电路50的详细构造的示意图。如图2中所示,总线控制电路50包括复用器60,第一地址解码器61,第二地址解码器62,地址仲裁器63,分用器64,受控器访问信息管理单元65,ID解码器71,数据仲裁器72,复用器73以及分用器74。图2示出示例,其中当通过总线40访问总线受控器时,当作为多个总线主控器的示例的第一总线主控器和第二总线主控器彼此竞争时,第一总线主控器和第二总线主控器中的一个被给定优先级以仲裁至总线受控器的访问。但是,总线主控器的数量不限于两个,而可以是三个或以上。在这种情况下,地址解码器(根据两个总线主控器,图2示出两个地址解码器(第一地址解码器61和第二地址解码器62))可根据总线主控器的数量提供。
[0024]首先,将说明仲裁主要在地址总线41中的竞争访问的构造。来自各个总线主控器的地址信号包括总线受控器的目的地以及用于数据处理的地址。来自各个总线主控器的地址信号输入至复用器60。复用器60根据地址仲裁器63的仲裁将从相应总线主控器输出的地址信号中的任一个输出至分用器64。
[0025]第一地址解码器61解码代表第一总线主控器的读取地址的第一主控器读取地址21RA中包括的地址,并将解码结果(信号M1ADDR)输出至地址仲裁器63以及受控器访问信息管理单元65。第二地址解码器62解码代表第二总线主控器的读取地址的第二主控器读取地址22RA中包括的地址,并将解码结果(信号M2ADDR)输出至地址仲裁器63以及受控器访问信息管理单元65。
[0026]在访问总线受控器时,总线主控器彼此竞争的情况下,地址仲裁器63基于预先为各个总线主控器设定的优先级仲裁访问。地址仲裁器63从受控器访问信息管理单元65接受代表总线受控器处于忙碌状态的信号(信号S#忙碌)。地址仲裁器63预先保持与总线主控器被给定优先级有关的优先级设定。在当访问总线受控器时,总线主控器彼此竞争的情况下,如果将被具有高优先级的总线主控器访问的总线受控器不处于忙碌状态,则地址仲裁器63仲裁复用器60的输出以便在具有高优先级的总线主控器和总线受控器之间传输数据(信号M#)。在将被具有高优先级的总线主控器访问的总线受控器处于忙碌状态的情况下,地址仲裁器63确定将被具有第二高优先级的总线主控器访问的总线受控器是否处于忙碌状态。如果总线受控器不处于忙碌状态,则地址仲裁器63仲裁以致在总线主控器和总线受控器之间传输数据。
[0027]受控器访问信息管理单元65管理从相应总线主控器通过总线40至总线受控器的访问情况。受控器访问信息管理单元65从第一地址解码器61和第二地址解码器62接受各个总线主控器访问的地址信号的记录结果,并保持从相应总线主控器至总线受控器的访问情况。受控器访问信息管理单元65通过接受来自各个总线主控器的地址信号的解码结果管理总线主控器和总线受控器之间的访问的关联。而且,受控器访问信息管理单元65保持可通过各个总线受控器接受的访问的上限。在存在总线受控器已经达到访问上限的情况下,受控器访问信息管理单元65通知地址仲裁器63总线受控器处于忙碌状态的事实,因为已经达到访问上限。因此,地址仲裁器63可执行诸如将优先级赋予访问不处于忙碌状态的总线受控器的总线主控器的处理。
[0028]如上所述,各个总线主控器输出的地址信号从复用器60传输至分用器64。受控器访问信息管理单元65通过将总线受控器指定至输出复用器60接受的地址信号的分用器64控制分用器64的输出。
[0029]复用器60输出的地址信号包括ID值(信号AR_ID)。例如,在其中单一ID值被指定至各个总线主控器的情况下,各个总线主控器包括地址信号中的指定的ID值。具体地,ID值包括识别事务的信息。而且,在其中总线主控器使用多个ID值的情况下,可更详细分类特定总线主控器的事务。复用器60输出的地址信号中包括的ID值输入至受控器访问信息管理单元65和ID解码器71。
[0030]受控器访问信息管理单元65将从复用器60接受的各个ID值与分用器64向其输出地址信号的指定的总线受控器的信息关联,并就其保持直至完成事务。具体地,受控器访问信息管理单元65例如保护用于复用器60输出的地址信号中包括的各个ID值的FIF0(先入先出)缓存器,并将分用器64向其输出地址信号的指定总线受控器(信号S#)的信息存储进入各个ID值的FIFO缓存器。存储在FIFO缓存器中的信息通过数据仲裁器72加以检索。
[0031]应当注意在受控器访问信息管理单元65通知忙碌状态的地址仲裁器63时确定总线受控器处于忙碌状态的标准可任意改变。例如,可通过各个总线受控器接受的访问的上限可被固定或设置。而且,受控器访问信息管理单元65可根据半导体装置10的操作频率设置而设定通过各个总线受控器接受的访问数量。
[0032]以下将说明用于数据总线42中的数据传输的仲裁竞争访问的构造。在数据总线42中,复用器73接受从相应总线受控器传输的数据(图2示出第一受控器读取数据31RD和第二受控器读取数据32RD的两个总线受控器的示例)。
[0033]数据仲裁器72将指定总线受控器的信号(信号S#)输出至复用器73以控制复用器73从哪个总线受控器传输数据至分用器74。数据仲裁器72引用由受控器访问信息管理单元65保持的信息以控制复用器73从哪个总线受控器传输数据至分用器74。
[0034]受控器访问信息管理单元65保持总线受控器的信息(信号S#),分用器64在关联ID值时将地址信号输出至总线受控器。数据仲裁器72保持代表在由受控器访问信息管理单元65保持的信息中根据哪个ID值数据传输被给定优先级的仲裁策略,且根据仲裁策略控制复用器73的输出。例如,在ID值关联各个总线主控器的情况下,数据仲裁器72通过根据总线主控器的优先级指定与ID值关联的总线受控器(信号S#)而控制复用器73的输出。
[0035]复用器73根据数据仲裁器72的仲裁将从相应总线受控器输入的任一数据输出至分用器74。从复用器73输出的数据包括识别代表响应是针对哪个事务的目的地总线主控器的?目息(识别事务的?目息)(?目号R_ID) ο
[0036]ID解码器71接受信号(信号R_ID),其包括在从复用器73输出的数据中并包括代表具有已发布的事务的总线主控器的信息。而且,ID解码器71关联代表被给定作为来自地址仲裁器63的复用器60的输出的仲裁结果的优先级的总线主控器的输出的信息(信号M#)与从复用器60传输至分用器64的数据中包括的ID值(信号AR_ID)关联,且将其保持在表格中。ID解码器71搜索由ID解码器71保持的表格以规定基于复用器73输出的数据中包括的信息(信号R_ID)发布事务的总线主控器并识别事务。随后,ID解码器71将代表规定的总线主控器的信号(信号M#)输出至分用器74。
[0037]分用器74根据ID解码器71的仲裁将从复用器73传输的数据输出至任一相应总线主控器(图2示出第一主控器读取地址21RD以及第二主控器读取地址22RD)。
[0038]根据这种构造,总线控制电路50可基于从各个总线主控器至各个总线受控器的访问信息,各个总线受控器的忙碌情况以及各个总线主控器的优先级而控制具有高优先级的总线主控器以访问不处于忙碌状态的总线受控器,且可进一步改善处理的效率。
[0039]〈操作示例〉
[0040]参考图3至图5,将说明从各个总线主控器至各个总线受控器的仲裁访问的操作示例。在图3至图5的各个附图中,信号CLK代表时钟信号的波形。而且,图3至图5的各个附图示出其中总线主控器“Ml”和总线主控器“M2”的两个总线主控器作为访问各个总线受控器的多个总线主控器的示例。总线主控器“Ml”的优先级被设定为高于总线主控器“M2”。而且,图3至图5的各个附图示出其中总线受控器“SI”和总线受控器“S2”作为接受来自各个总线主控器的访问的多个总线受控器的示例。而且,图3至图5的各个附图中的符号“A”代表从总线主控器“Ml”至总线受控器“SI”的访问。符号“B”代表从总线主控器“M2”至总线受控器“S2”的访问。而且,符号“ADDR”代表通过地址总线41的数据传输,且符号“RDATA”代表通过数据总线42的读取数据的传输。而且,从各个总线主控器至总线受控器“SI”的数据传输中的等待次数设定为3,且从各个总线主控器至总线受控器“S2”的数据传输中的等待次数设定为
1
[0041]图3是示出在总线控制电路50仲裁总线主控器和总线受控器之间通过总线的数据传输的情况下的操作示例的示意图。
[0042]如图3中所示,当在时间t31时通过地址总线41访问总线受控器时,总线主控器(总线主控器“Ml”和总线主控器“M2”)彼此竞争。地址仲裁器63以及受控器访问信息管理单元65仲裁从各个总线主控器至各个总线受控器的访问以便根据各个总线主控器的优先级,将优先级赋予从总线主控器“Ml”至总线受控器“SI”的地址信号的传输。总线主控器“Ml”将地址信号通过地址总线41传输至总线受控器“SI”,且随后在等待三次等待的时间周期之后通过地址总线41从总线受控器“SI”接收数据。
[0043]当在时间t32完成从总线主控器“Ml”至总线受控器“SI”的地址信号的传输时,仅次于总线主控器“Ml”的最高优先级的总线主控器“M2”将地址信号通过地址总线41传输至总线受控器“S2”。总线主控器“M2”将地址信号通过地址总线41传输至总线受控器“S2”,且随后在等待一个等待的时间周期之后通过地址总线41从总线受控器“S2”接收数据。
[0044]总线主控器“Ml”和总线主控器“M2”在时间t33访问时不彼此竞争。因此,数据通过数据总线42从总线受控器“S2”传输至总线主控器“M2”。
[0045]在时间t34时,数据从总线受控器“SI”通过数据总线42传输至总线主控器“Ml”。
[0046]以下是用于进行比较的现有技术的说明,其中总线控制电路仅基于与该实施例中所述构造无关的各个总线主控器的优先级仲裁总线。
[0047]对于现有技术来说,图4是示出无论各个总线受控器是否处于忙碌状态,在总线仅基于各个总线主控器的优先级进行仲裁的情况下,总线控制电路的操作示例的示意图。
[0048]当在时间t41时通过地址总线41访问总线受控器时,总线主控器(总线主控器“Ml”和总线主控器“M2”)彼此竞争。在这种情况下,现有技术中的总线控制电路进行仲裁以根据各个总线主控器的优先级将优先级赋予从总线主控器“Ml”至总线受控器“SI”的地址信号的传输。
[0049]总线主控器“Ml”在时间t42时发布新的访问总线受控器“SI”的事务。但是,总线受控器“SI”处于忙碌状态,因为总线受控器“SI”已经在时间t41时从总线主控器“Ml”接受了访问。因此,总线主控器“Ml”不能在时间t42访问总线受控器“S2”。
[0050]在时间t43时取消总线受控器“SI”的忙碌状态。总线控制电路根据各个总线主控器的优先级赋予总线主控器“Ml”优先级,且将地址信号从总线主控器“Ml”传输至总线受控器 “SI”。
[0051]总线控制电路在时间t44时将地址信号从总线主控器“M2”传输至总线受控器“S2”。
[0052]如上所述,在现有技术中,无论各个总线受控器是否处于忙碌状态,都仅基于各个总线主控器的优先级仲裁总线。因此,如果存在从具有高优先级的总线主控器(总线主控器“Ml”)的访问,从另一总线主控器(总线主控器“M2”)至另一总线受控器的访问例如不能在时间t42至时间t43的周期中被接受,则处理性能会劣化。
[0053]图5示出该实施例中基于从各个总线主控器至各个总线受控器的访问信息,各个总线受控器的忙碌情况以及各个总线主控器的优先级控制具有高优先级的总线主控器以访问不处于忙碌状态的总线受控器的总线控制电路50的操作示例。
[0054]当在时间t51时通过地址总线41访问总线受控器时,总线主控器(总线主控器“Ml”和总线主控器“M2”)彼此竞争。地址仲裁器63和受控器访问信息管理单元65仲裁从各个总线主控器至各个总线受控器的访问以根据各个总线主控器的优先级为从总线主控器“Ml”至总线受控器“SI”的地址信号的传输赋予优先级。
[0055]总线主控器“Ml”在时间t52发布新的访问总线受控器“SI”的事务。但是,总线受控器“SI”处于忙碌状态,且因此受控器访问信息管理单元65将代表总线受控器“SI”处于忙碌状态的信号(信号SI忙碌)输出至地址仲裁器63。地址仲裁器63接受从受控器访问信息管理单元65输出的信号(信号SI忙碌),且控制复用器60的输出以便指定访问不处于忙碌状态的总线受控器的总线主控器。具体地,地址仲裁器63控制复用器60以将地址信号从作为访问不处于忙碌状态的总线受控器“S2”的总线主控器的总线主控器“M2”输出至分用器64。因此,从总线主控器“M2”至总线受控器“S2”的访问的事务在时间t52和时间t53之间被执行。
[0056]总线受控器“SI”的忙碌状态在时间t53处被取消,且因此地址仲裁器63和受控器访问信息管理单元65仲裁以将地址信号从总线主控器“Ml”传输至总线受控器“SI”。
[0057]〈第一实施例的总结〉
[0058]根据第一实施例的半导体装置10,在其中独立提供地址仲裁器,读取数据仲裁器以及写入数据仲裁器且处理可在主控器和受控器之间的事务中在无序情况下执行的系统中,地址仲裁器基于通过解码地址获得的解码信息以及代表各个受控器是否处于忙碌状态的忙碌信息仲裁总线。因此,即使受控器处于忙碌状态,主控器也能通过总线访问另一不处于忙碌状态的受控器,且因此可进一步改善整个总线的性能。
[0059]第二实施例
[0060]在第一实施例中,地址仲裁器63基于从受控器访问信息管理单元65输出的信号获得代表各个总线受控器是否处于忙碌状态的信息。本发明不涉及其中地址仲裁器63获得代表各个总线受控器是否处于忙碌状态的忙碌信息的构造。
[0061 ]例如,在其中总线受控器处于忙碌状态的情况下,总线受控器输出第二实施例中代表忙碌状态的信号。地址仲裁器63从各个总线受控器接受代表忙碌状态的信号。因此,根据第二实施例,即使在受控器访问信息管理单元65不管理至各个总线受控器的访问上限的情况下,也有可能通过从各个总线受控器接受代表忙碌状态的信号而仲裁总线主控器以访问不处于忙碌状态的总线受控器。因此,可进一步改善处理效率。
[0062]已经基于实施例在上文具体说明了本发明人实现的本发明。但是显而易见的是本发明不限于实施例,而是可在不脱离本发明范围的情况下进行各种改变。
[0063]应当理解的是本文公开的实施例在所有方面都是说明性示例,且不限制本发明。本发明的范围不是由上述说明书而是由权利要求代表,且本公开内容旨在涵盖等效于权利要求的含义和范围下的所有改变。
【主权项】
1.一种半导体装置,包括: 多个总线主控器; 多个总线受控器; 总线,该总线被连接至所述总线主控器以及所述总线受控器,以在所述总线主控器和所述总线受控器之间执行地址传输和数据传输;以及 总线控制装置,该总线控制装置通过所述总线来控制所述地址传输和所述数据传输,其中,所述总线控制装置基于从所述总线主控器输出的地址信号来获得代表每个所述总线主控器所访问的总线受控器的访问信息,获得代表所述总线受控器是否处于忙碌状态的忙碌信息,并且所述总线控制装置包括仲裁单元,该仲裁单元根据基于所获得的访问信息和所获得的忙碌信息而为每个总线主控器设定的优先级来仲裁从每个总线主控器至不处于忙碌状态的总线受控器的访问。2.根据权利要求1所述的半导体装置, 其中,所述总线控制装置还包括访问管理单元,该访问管理单元: 接受所述总线主控器输出的以访问所述总线受控器的地址信号, 保持代表基于所接受的地址信号的从所述总线主控器至所述总线受控器的访问情况的信息,以管理每个总线受控器是否处于忙碌状态,并且 将代表所述总线受控器处于忙碌状态的信息通知给所述仲裁单元,以及其中,由所述仲裁单元获得所述忙碌信息包括:从所述访问管理单元来接受代表所述总线受控器处于忙碌状态的信息。3.根据权利要求2所述的半导体装置, 其中,所述仲裁单元被配置为仲裁从每个总线受控器至每个总线主控器的数据传输,以及基于代表所述访问情况的信息来仲裁所述数据被从哪个总线受控器传输至每个总线主控器,以及 其中,所述访问管理单元被配置为基于由所述仲裁单元仲裁的结果,来更新代表从所述总线主控器至所述总线受控器的访问情况的信息。4.根据权利要求2所述的半导体装置,其中, 所述访问管理单元管理通过每个总线受控器所能接受的访问的上限,以及将代表所述总线受控器处于忙碌状态的信息通知给所述仲裁单元包括:在总线受控器已经达到所述访问的上限的情况下,将代表已经达到所述访问的上限的总线受控器处于忙碌状态的信息通知给所述仲裁单元。5.根据权利要求1所述的半导体装置, 其中,每个总线受控器被配置为:在该总线受控器处于忙碌状态的情况下,将代表该总线受控器处于忙碌状态的信号输出至所述总线控制装置,以及 其中,由所述仲裁单元获得所述忙碌信息包括:从所述总线受控器来接受代表所述总线受控器处于忙碌状态的信号。
【文档编号】G06F13/40GK105988968SQ201610082507
【公开日】2016年10月5日
【申请日】2016年2月5日
【发明人】石川直
【申请人】瑞萨电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1