高级外围总线桥及其控制方法

文档序号:6579324阅读:358来源:国知局
专利名称:高级外围总线桥及其控制方法
高级外围总线桥及其控制方法
4支术领域
本发明涉及一种高级外围总线(Advanced Peripheral Bus, APB)桥及其控 制方法,具体而言,涉及一种可缩短高级高性能总线(Advanced High performance Bus, AHB)主设备请求的执行时间,降低APB总线时钟频率的 APB桥及其控制方法。
背景技术
在片上系统(SOC)设计中,片上总线设计是关键问题之一。目前,已经 提出了多种片上总线标准,例如由ARM公司推出的AMBA (Advanced Microcontroller Bus Architecture )片上总线标准。AMBA片上总线系统包括高 级高性能总线(Advanced High Performance Bus, AHB)和高级外围总线 (Advanced Peripheral Bus, APB), AHB总线用于诸如CPU等的高速设备的互 连,APB总线用于诸如存储器等的低速设备的互连,APB桥(Bridge )连接 在AHB总线和APB总线之间, 一般用于提供AHB主设备(master device)和 APB从设备(slave device)之间的访问代理。
图1示意性地示出了 AMBA片上总线系统的局部架构。如图1所示, APB桥10连接在AHB总线和APB总线之间,在AHB总线上充当AHB从 设备,并且在APB总线上充当APB主设备。传统上,APB桥10筒单地将来 自AHB主设备21的请求/命令/写入数据转发给对应的APB从设备23,并且 将来自对应的APB从设备23的响应/读出数据转发给AHB主设备21。在当 前的AMBA协议中,当AHB主设备21访问AHB总线上的AHB从设备22 时,AHB主设备21仅需占用AHB总线一个时钟周期来执行向AHB从设备 22发出单个AHB请求/命令。但当AHB主设备21通过APB桥访问APB总 线上对应的APB从设备23时,根据APB协议本身的规定,AHB主设备21 需要占用AHB总线两个时钟周期来执行通过APB桥向对应的APB从设备 23发出单个AHB请求/命令。因此,传统的APB桥10并不是一个"真正的" AHB从设备。另外,由于目前APB桥10的单纯设计,无论是否存在对于APB从设备23的请求,APB总线都始终以与AHB总线相同的时钟频率工作, 也就是说,APB总线也工作在较高的时钟频率。而实际挂在APB总线上的 APB从设备23通常是工作在低频的设备,因此对于整个总线系统而言,APB 总线始终工作在高频是一种资源的浪费,不但使得系统的功耗高于预期功耗, 也降低了系统的性能。
因此,需要一种改进的APB桥及其控制方法,以提高系统的整体效能。

发明内容
鉴于以上问题而提出了本发明。本发明的一个目的是提供一种APB桥和 APB桥的控制方法,其能够缩短执行单个AHB请求/命令所需的时间,从而 提高系统效率。本发明的另一个目的是提供一种由APB桥执行的APB总线 时钟控制方法,其能够根据对APB从设备的请求的数目而控制相应的APB 总线的时4中,从而改善系统功筹毛。
根据本发明的一个方面,提供了一种APB桥,包括AHB总线接口, 其连接到AHB总线以便与AHB主设备通信;仲裁控制单元,与所述AHB 总线接口连接,用于通过所述AHB总线接口接收由所述AHB主设备发送的 请求,并判断该请求能否被执行,当该请求可被执行时,向所述AHB主设备 发送第一响应,使得释放所述AHB主设备对AHB总线的使用权;以及APB 总线接口,与该仲裁控制单元连接,并连接到APB总线以便与APB总线上 的APB从设备通信。
根据本发明的另一方面,提供了一种APB桥的控制方法,所述APB桥 连接在AHB总线和APB总线之间,所述方法包括经由AHB总线接收从 AHB主设备发送的请求;确定该请求是否能够被执行;以及当该请求能够被 执行时,向AHB主设备发送第一响应,使得释放AHB主设备对AHB总线 的使用权。
根据本发明的另一方面,提供了一种由APB桥执行的APB总线时钟控 制方法,所述APB桥在确定由AHB总线上的AHB主设备向APB总线上的 APB从设备第一次发送的请求能够被执行时,向所述AHB主设备发送第一 响应,使得释放所述AHB主设备对AHB总线的使用权,并且在确定所述请 求不能被执行时,将该请求存储在APB桥的存储器中,所述时钟控制方法包 括检查存储器中对于APB从设备的请求的数目;以及当所述数目低于第一阈值时,降低APB总线的时钟频率。
如上所述,当确定从AHB主设备第一次发送的请求能够被执行时,根 据本发明上述方面的APB桥及其控制方法向该AHB主i殳备发送OK响应。 尽管此时尚未真正地对目的地APB从设备执行所述请求,但是接收到该OK 响应的AHB主设备仍然可以立即结束当前事务(transaction)并且放弃对AHB 总线的使用权,使得该使用权能够被赋予其它AHB主设备,而不必像传统技 术那样对目的地APB从设备执行了所述请求之后才结束当前事务并且放弃对 AHB总线的使用权,因而减小了执行单个请求所需的时间,提高了AHB总 线的使用效率。此外,由于在对APB从设备的请求的数目低于某一阈值时降 低APB总线的时钟频率,因此根据本发明上述方面的APB总线时钟控制方 法能够降低系统功耗。


通过结合附图对本发明的实施例进行详细描述,本发明的上述和其它目
的、特征、优点将会变得更加清楚,其中
图1示意性地示出了 AMBA片上总线系统的局部架构;
图2是示出根据本发明实施例的APB桥的框图3是示出根据本发明实施例的APB桥的控制方法的流程图4A和图4B是示出根据本发明实施例的APB桥的控制方法的一种示
例实现方式的流程序图6是用于说明根据本发明实施例的暂停-继续(SPLIT-UNSPLIT)机制的
示意图。
图7是用于说明根据本发明实施例的SPLIT-UNSPLIT机制的时序图。 图8是示出图2所示的APB桥的一种变型的框图。
具体实施例方式
下面将参照附图来描述根据本发明的实施例。在附图中,相同的参考标 号自始至终表示相同的元件。应当理解这里描述的实施例仅仅是说明性的, 而不应被解释为限制本发明的范围。此外,在下文中使用针对"请求"描述以便
了本发明的实施例,但是应当认识到,"命令,,也同样适用于本发明。
本发明将POST-WRITE才几制和SPLIT-UNSPLIT冲几制引入APB衫 缩短执行单个请求所需的时间并且提高系统效率。
首先,参照图2来描述根据本发明实施例的APB桥。图2示出了根据本 发明实施例的APB桥的框图。如图2所示,根据本发明实施例的APB桥100 包括AHB总线接口 101、 APB桥寄存器102、业务仲裁和控制模块103、 APBO接口 104、 APBl接口 105。
AHB总线接口 101连接到AHB总线,使得APB桥能够通过AHB总线 接口 101与AHB总线上的AHB主设备201通信。APB桥寄存器102存储用 于配置APB桥100的内部工作机制所必需的程序等。APBO接口 104和APB 1 接口 105分别连接到APB总线0和APB总线1,使得APB桥100能够分别 通过这两个接口与APB总线0和APB总线1上的APB从设备203、 204通 信。应当注意,图2所示的AHB主设备201和APB从设备203、 204的数目 是示例性的,实际上,可以有更多数目的AHB主设备201和APB从设备203、 204。
业务仲裁和控制模块103包括仲裁控制单元1031、普通请求队列存储器 1032、第一处理队列緩冲器1033、第二处理队列緩沖器1034、锁定请求队列 緩冲器1035、以及主设备ID寄存器1036。这些存储器、緩沖器和寄存器可 以位于 一个或多个物理存储设备中。
元1031。简单地说,POST-WRITE机制,是对于从AHB主设备201发送的 写入请求,仲裁控制单元1031确定其是否能够被执行,若能够被执行,则将 该写入请求要写入的数据存储在APB桥100的对应存储器中,并且向AHB 主设备201发送OK响应,使得接收到该OK响应的AHB主设备201结束当 前事务(Transaction)并且放弃对AHB总线的使用权,而APB桥100会在 以后将存储器中的要写入的数据写入到对应的APB从设备203或204中,如 此一来,对于AHB主设备201而言,其在接收到OK响应时就放弃对AHB 总线的占用,而不必如传统技术那样,必须等到APB桥100将要写入的数据 实际写入到APB从设备203或204中,才放弃对AHB总线的占用,因而将 POST-WRITE机制应用于APB桥提高了对AHB主设备201发出的写入请求 的处理效率。另一方面,SPLIT-UNSPLIT机制,是对于仲裁控制单元1031确定暂时不能被执行的请求(写入请求/读出请求),仲裁控制单元1031向 AHB主设备201发送SPLIT响应以使其暂时放弃对AHB总线的使用权,然 后在该请求能够被执行时向该AHB主设备201发送UNSPLIT响应以使其重 发所述请求,进而执行所述请求,因此,将SPLIT-UNSPLIT机制应用到APB 桥100,提高了对暂时不能执行的请求的处理效率,优化了对AHB总线使用 权的分配。稍后将结合根据本发明实施例的APB桥的控制方法来详细描述仲 裁控制单元1031的操作。
普通请求队列存储器1032用于存储由仲裁控制单元1031确定的暂时不 能被执行的、由AHB主设备201发出的请求(即,待执行请求)。如本领域公 知的,在发送所述AHB请求时,可以给每个AHB请求分配优先级。因此, 在普通请求队列存储器1032中可以存储具有不同优先级的AHB请求。
锁定请求队列緩沖器1035用于存^l当前正在对APB总线0或APB总线 1上的APB从设备203或204执行的、由AHB主设备201发送的锁定请求 及相关联的数据。如本领域公知的,AHB主设备201(例如,CPU)可以发送 带有锁定信号的请求(即,锁定请求),以锁定对AHB总线的使用权来处理该 请求。当APB桥100接收到锁定请求时,如果仲裁控制单元1031确定该锁 定请求能够被执行,则仲裁控制单元1031将该锁定请求存储在锁定请求队列 緩沖器1035中以供执行。锁定请求包括锁定读出请求和锁定写入请求。当执 行锁定读出请求时,锁定请求队列緩沖器1035还可以存储根据该锁定读出请 求而从目的地APB从设备203或204读取的数据;当执行锁定写入请求时, 锁定请求队列緩沖器1035还可以存储该锁定写入请求要写入目的地APB从 设备203或204的数据。
第一处理队列緩沖器1033和第二处理队列緩沖器1034用于存储当前正 在对APB总线0或APB总线1上的APB从设备203或204执行的普通请求 (即,非锁定请求)。当该请求是普通读出请求时,第一处理队列緩沖器1033 和第二处理队列緩沖器1034还可以存储通过执行该普通读出请求而从目的 地APB从设备203或204读取的数据,当该请求是普通写入请求时,第 一处 理队列緩冲器1033和第二处理队列緩沖器1034还可以存储该普通写入请求 要写入目的地APB从设备203或204的数据。
优选地,第一处理队列緩沖器1033、第二处理队列緩冲器1034以及锁 定请求队列緩沖器1035中的每个缓冲器一次仅存储一个请求和相关联的数据。然而,每个緩冲器也可以一次存储多个请求和相关联的数据。
此外,为了控制APB总线的时钟频率,APB桥100还可以包括时钟控 制单元106,其可以根据存储在普通请求队列存储器1032中的对于各APB 从设备203或204的待执行请求的数目而控制相应的APB总线0或APB总 线l的时钟频率。具体地,时钟控制单元106可以定期或不定期地;险查普通 请求队列存储器1032中对于各条APB总线(APB总线O/APB总线l)上的APB 从设备203或204的待执行请求的数目。当对于APB总线0上的APB从设 备203的请求的数目低于第一阈值时,时钟控制单元106可以降低APB总线 0的时钟频率;当对于APB总线1上的APB从设备204的请求的数目低于第 二阈值时,时钟控制单元106可以降低APB总线1的时钟频率;当所述数目 为0时,时钟控制单元106可以关闭相应的APB总线(APB总线O/APB总线 l)的时钟。此外,当对于APB总线O上的APB从设备203的请求的数目高 于第三阈值时,时钟控制单元106可以提高APB总线O的时钟频率;当对于 APB总线1上的APB从设备204的请求的数目高于第四阈值时,时钟控制单 元106可以提高APB总线1的时钟频率。第一至第四阈值可以根据需要适当 地确定,其中,第一阈值和第二阈值可以相同或不同,第三阈值和第四阈值 可以相同或不同,但是第一阈值和第二阈值分别应当小于第三阈值和第四阈 值。此外,降低各条APB总线时钟频率的幅度也可以根据需要选择,因此各 条APB总线能够以不同的时钟频率工作。由此,通过在对于APB总线的待 执行请求的数目较小或者为0时,降低APB总线的时钟频率或关闭该APB 总线的时钟,可以减小系统功耗;通过在所述请求的数目较大时提高APB总 线的时钟频率,可以提高对于请求的处理速度。
下面,将参照图2和图3来描述仲裁控制单元1031的操作。图3是示出 根据本发明实施例的APB桥的控制方法的流程图。如图3所示,在步骤S301, 仲裁控制单元1031检查是否从AHB主设备(假设为AHB主设备201辨收到 AHB请求。如果没有,则仲裁控制单元1031返回步骤S301。如果接收到AHB 请求,则在步骤S302,仲裁控制单元1031确定该请求是否第一次净皮发送。 如下文所述,在SPLIT-UNSPLIT机制中,当一个请求不能净皮执行时,可以将 该请求或者与该请求有关的信息(例如,发送该请求的AHB主设备ID、该请 求的目的地APB从设备ID等)存储在普通请求队列存储器或锁定请求队列緩 冲器中。因此,当接收到一个请求时,可以通过将该请求或其相关信息与存储在普通请求队列存储器或锁定请求队列緩沖器中的请求或信息进行比较来 确定该请求是否是第 一次被发送的请求。
如果在步骤S302确定所接收的请求是第一次^皮发送的请求,则在步骤 S303,仲裁控制单元1031确定当前该请求是否能够被执行。如果该请求能够 被执行,则在步骤S304,仲裁控制单元1031向AHB主设备201和AHB仲 裁器200发送OK响应以释放该AHB设备201对AHB总线的使用权。对于 第一次被发送的请求,如果其能够被执行,则该请求必然是写入请求,并且 此时至少一个处理队列緩沖器(普通写入请求的情况)或锁定请求队列緩冲器 (锁定写入请求的情况)是空的;因此,仲裁控制单元1031在发送OK响应的 同时还根据写入请求的类型而将该写入请求要写入的数据存储在所述空緩冲 器中。当AHB主设备201接收到OK响应时,其结束当前事务并且放弃对 AHB总线的使用权,AHB仲裁器200将该使用权赋予其它请求使用AHB总 线的AHB主设备。对于写入请求,在发送了 OK响应之后,仲裁控制单元 1031在目的地APB总线空闲时将要写入的数据写入目的地APB从设备,然 后从緩冲器中清除该数据。
另 一方面,如果所述请求不能被:执行,则在步骤S305,仲裁控制单元1031 向AHB主设备201和AHB仲裁器200发送SPLIT响应以便暂时释放该AHB 主设备201对AHB总线的使用权,并且根据该请求的类型而将该请求或者与 该请求有关的信息存储在普通请求队列存储器1032或锁定请求队列緩冲器 1035中。接收到该SPLIT响应的AHB主设备201获知自己先前发送的请求 当前不能被执行,因此暂时停止发送该请求并且放弃对AHB总线的使用权, 接收到该SPLIT响应的AHB仲裁器200将该使用权赋予其它请求使用AHB 总线的AHB主设备。接下来,在步骤S306,仲裁控制单元1031确定所述请 求是否能够^^丸行。如果仍然不能执行,则仲裁控制单元1031返回步骤S306。 反之,如果所述请求能够被执行,则在步骤S307,仲裁控制单元1031向AHB 主设备201和AHB仲裁器200发送UNSPLIT响应以便通知该AHB主设备 重发其先前发送的请求。应当注意,当所迷请求是读出请求时,在步骤S307, 仲裁控制单元1031还执行该读出请求以将其要读取的数据读入处理队列緩 沖器或锁定请求队列緩冲器中。响应于该UNSPLIT响应,AHB仲裁器200 将对AHB总线的使用权重新赋予AHB主设备201 ,并且AHB主设备201经 由AHB总线而向APB桥100重发所述请求。另一方面,当在步骤S302确定所述请求不是第一次净iul送的请求时,所 述请求必然是由AHB主设备重发的请求,根据对步骤S306的描述可知,此 时该请求是能够被执行的。因此,仲裁控制单元1031进4亍到步骤S304并且 向AHB主设备201和AHB仲裁器200发送OK响应。不是第一次被发送的 请求可以是读出请求或写入请求。对于读出请求,仲裁控制单元1031还将为 其读取的数据与OK响应一起发送给AHB主设备201;相应地,在接收到该 OK响应时,该AHB主设备201接收所述数据,在接收完成之后结束当前事 务并放弃对AHB总线的使用权,并且AHB仲裁器200将该使用权赋予其它 AHB主设备。对于写入请求,除了发送OK响应以外,仲裁控制单元1031 还根据该请求的类型而将该请求要写入的数据存储到可用的处理队列緩沖器 或锁定请求队列緩沖器中,然后在目的地总线空闲时将该数据写入目的地 APB从设备;而该AHB主设备201在接收到OK响应时结束当前事务并放 弃对AHB总线的4吏用权,并且AHB仲裁器200将该使用权赋予其它AHB 主设备。
可以看到,在本发明的实施例中,对于由AHB主设备201第一次发送 且能够被执行的写入请求,APB桥100并没有像传统技术中那样将要写入的 数据写入目的地APB从设备203或204之后才通知AHB主设备201结束当 前事务,而是采用了 POST-WRITE机制,即,在接收到要写入的数据时就向 AHB主设备201发送OK响应以通知其结束当前事务并且释放对AHB总线 的使用权,然后再伺机将所述数据写入目的地APB从设备203或204,使得 可以将执行单个写入请求的时间从两个时钟周期缩短为一个时钟周期,提高 了 AHB总线的使用效率。
此外,对于不能被执行的请求,APB桥100采用了 SPLIT-UNSPLIT机 制,即,在该请求不能被执行时向AHB主设备201发送SPLIT响应,然后 在该请求变得能够执行时向AHB主设备201发送UNSPLIT响应,使得所发 送的请求不能被执行的AHB主设备201暂时将对AHB总线的使用权让给其 它AHB主设备,从而进一步提高了 AHB总线的使用效率。
下面,将参照图4A和图4B来描述才艮据本发明实施例的APB桥的控制 方法的一种示例实现方式。
首先参照图4A,在步骤S401,仲裁控制单元1031检查是否从AHB主 设备(假设为AHB主设备201)接收到AHB请求。如果没有接收到AHB请求,则仲裁控制单元1031返回步骤S401。反之,如果接收到AHB请求,则在步 骤S402,仲裁控制单元1031确定该请求是否是锁定请求。
如果在步骤S402确定该请求是锁定请求(即,锁定读出请求或锁定写入 请求),则转到图4B,在步骤S403,仲裁控制单元1031确定该锁定请求是否 第一次被发送,即,确定该锁定请求是否先前已经被发送过一次。如上文所 述,仲裁控制单元1031可以通过将所接收的请求或其相关信息与存储在锁定 请求队列緩冲器1035中的锁定请求或相关信息进行比较来确定该锁定请求 是否是第 一次被发送的锁定请求。
如果在步骤S403确定所述锁定请求先前已经被发送过一次,这说明使先 前发送的相同锁定请求不能执行的障碍已经消除,当前接收的锁定请求是 AHB主设备201接收到UNSPLIT响应之后重发的请求。根据下面所述可知, 该重发的锁定请求必然是锁定读出请求,并且此时该锁定读出请求要读取的 数据已经被存储在锁定请求队列緩冲器1035中。因此,在步骤S404,仲裁 控制单元1031读取存储在锁定请求队列緩沖器1035中的数据,并且将OK 响应和所读取的数据一起发送给AHB主设备201以及AHB仲裁器200,然 后结束当前事务。该OK响应向AHB主设备201通知已经读取到其请求的数 据,因此在接收到OK响应时,AHB主设备201接收与该OK响应一起发送 的数据。当接收完成时,AHB主设备201结束当前事务,放弃对AHB总线 的使用权,使得AHB仲裁器200能够将该使用权赋予其它请求使用AHB总 线的AHB主设备。
如果在步骤S403确定所接收的锁定请求是第一次^皮发送的请求,则在步 骤S405,仲裁控制单元1031确定锁定请求队列緩沖器1035是否为空。由于 如上所述锁定请求队列緩冲器1035优选地一次仅存储一个锁定请求和相关 联的数据,因此如果在步骤S405确定锁定请求队列緩沖器1035不为空,则 这说明在锁定请求队列緩沖器1035中已经存在一个正在执行的锁定请求和 与其相关联的数据,因而当前接收的锁定请求不能被执行。因此,在步骤S406, 仲裁控制单元1031向AHB主设备201和AHB仲裁器200发送SPLIT响应, 并且将发送该锁定请求的AHB主设备201的ID存储在主设备ID寄存器1036 中。接收到该SPLIT响应的AHB主设备201获知其发出的锁定请求不能被 执行,因此暂时放弃对AHB总线的使用权,使得AHB仲裁器200能够将该 使用权赋予其它AHB主设备。接下来,在步骤S407,仲裁控制单元1031检查锁定请求队列緩冲器1035是否为空。如果答案为否,则仲裁控制单元1031 返回步骤S407。反之,如果在步骤S407发现锁定请求队列緩沖器1035为空, 则在步骤S408,仲裁控制单元1031根据主设备ID寄存器1036存储的AHB 主设备201的ID向AHB主设备201和AHB仲裁器200发送UNSPLIT响应, 以通知AHB主设备201重发所述锁定请求。AHB仲裁器200基于该UNSPLIT 响应而将对AHB总线的使用权赋予AHB主设备201,并且AHB主设备201 经由AHB总线而向APB桥100重发其先前发送的锁定请求。APB桥100接 收到该重发的请求之后,将执行前述步骤S403和S404。应当注意,这里响 应于步骤S408处的UNSPLIT响应而重发的请求在步骤S403不会被确定为 非首次发送的请求,这是因为对于所接收的锁定请求,仲裁控制单元1031仅 将存储在锁定请求队列緩冲器1035中的内容与该锁定请求进行比较,而与响 应于步骤S408处的UNSPLIT响应而重发的请求相对应的先前发送的请求的 信息(即,主设备201的ID)是存储在主设备ID寄存器1036中的。
另一方面,如果在步骤S405确定锁定请求队列援冲器1035为空,则在 步骤S409,仲裁控制单元1031确定所接收的锁定请求是否是锁定写入请求。 如果该锁定请求是锁定读出请求(步骤S409处的否),则由于此时锁定请求队 列緩冲器1035为空,即要读取的数据不存在,因此该锁定读出请求不能被执 行,因而,在步骤S410,仲裁控制单元1031向AHB主设备201和AHB仲 裁器200发送SPLIT响应,并且将该锁定读出请求存储在锁定请求队列緩沖 器1035中。接下来,在步骤S411,仲裁控制单元1031根据包含在该锁定读 出请求中的目的地APB从设备203或204的地址确定该目的地APB从设备 所对应的APB总线(APB总线0或APB总线1)是否空闲。如果答案为否,则 仲裁控制单元1031返回步骤S411。反之,如果目的地APB总线空闲,则仲 裁控制单元1031根据所述地址而从目的地APB从设备203或204中读取所 述锁定读出请求要读取的数据,并且将该数据存储到锁定请求队列緩沖器 1035中。然后,在步骤S413,仲裁控制单元1031向AHB主设备201和AHB 仲裁器200发送UNSPLIT响应。响应于该UNSPLIT响应,AHB仲裁器200 将对AHB总线的使用权赋予AHB主设备201 ,并且AHB主设备201重发所 述锁定读出请求。当接收到该重发的锁定读出请求时,APB桥IOO(具体地, 仲裁控制单元1031)执行前述步骤S403和S404,从而将所读取的数据发送给 AHB主设备201并且结束当前事务。然而,如果在步骤S409确定所述锁定请求为锁定写入请求,则在步骤
S414,仲裁控制单元1031将该锁定写入请求要写入目的地APB从设备203 或204的数据存储在锁定请求队列緩冲器1035中,并且向AHB主设备201 和AHB仲裁器200发送OK响应。接收到该OK响应的AHB主设备201结 束当前事务,并且放弃对AHB总线的使用权,AHB仲裁器将该使用权赋予 其它AHB主设备。接下来,在步骤S415,仲裁控制单元1031检查目的地 APB从设备所对应的APB总线是否空闲。如果对应的APB总线不空闲,则 仲裁控制单元1031返回步骤S415。反之,如果对应的APB总线空闲,则仲 裁控制单元1031经由该目的地APB总线而将存储在锁定请求队列緩冲器 1035中的数据写入目的地APB从设备。
回到图4A,当在步骤S402确定所接收的请求不是锁定请求而是普通请 求时,在步骤S417,仲裁控制单元1031确定该普通请求是否第一次被发送。 如果该普通请求是第一次被发送,则在步骤S418,仲裁控制单元1031确定 是否第一处理队列緩沖器1033和第二处理队列緩冲器1034中的至少一个为 空并且普通请求队列存储器1032为空。如果是这样,则在步骤S419,仲裁 控制单元1031确定该请求是否是普通写入请求。如果该请求是普通读出请 求,则由于此时在第一和第二处理队列緩冲器1033和1034中不存在要读取 的数据,因此该普通读出请求不能4皮执行。相应地,在步骤S420,仲裁控制 单元1031将该普通读出请求保存在第一或第二处理队列緩冲器1033和1034 中的空緩冲器中,并且经由AHB总线向AHB主设备201和AHB仲裁器200 发送SPLIT响应。如上所述,接收到SPLIT响应之后,AHB主设备201暂时 放弃对AHB总线的使用权,AHB仲裁器200将该使用权赋予其它AHB主设 备。接下来,在步骤S421,仲裁控制单元1031根据包含在该普通读出请求
是否空闲。如果对应的APB总线不空闲,则仲裁控制单元1031返回步骤S421 。 反之,如果对应的APB总线空闲,则在步骤S422,仲裁控制单元1031经由 该APB总线从目的地APB从设备读取所请求的数据,并且将该数据存储在 保存所述请求的处理队列緩冲器中。然后,在步骤S423,仲裁控制单元1031 向AHB主设备201和AHB仲裁器200发送UNSPLIT响应。根据该UNSPLIT 响应,AHB仲裁器200将对AHB总线的使用权重新赋予AHB主设备201 , 并且AHB主设备201重发先前发送的普通读出请求。当接收到重发的普通读出请求时,APB桥100重新执行图4A所示的流程。
另一方面,如果在步骤S419确定所述请求为普通写入请求,则在步骤 S424,仲裁控制单元1031将该写入请求要写入的数据存储到第一和第二处理 队列緩沖器1033和1034中的空緩冲器中,并且经由AHB总线将OK响应发 送给AHB主设备201和AHB仲裁器200。接收到该OK响应的AHB主设备 201结束当前事务,并且放弃对AHB总线的使用权,AHB仲裁器200将该 使用权赋予其它AHB主设备。接下来,在步骤S425中,仲裁控制单元1031 根据该普通写入请求中的目的地APB从设备的地址确定对应的APB总线是 否空闲。如果对应的APB总线处于忙碌状态,则仲裁控制单元1031返回步 骤S425。反之,如果对应的APB总线空闲,则在步骤S426,仲裁控制单元 131将存储在所述空緩冲器中的数据写入目的地APB从设备。
另一方面,如果在步骤S418得到的答案为否,则在步骤S427,仲裁控 制单元1031确定是否至少一个处理队列緩沖器为空且普通请求队列存储器 1032不为空。如果是这样,则此时需要选择一个接下来要执行的请求并且将 其置于该空緩沖器中以供执行,因此,在步骤S428,仲裁控制单元1031将 所接收的新请求的优先级与存储在普通请求队列存储器1032中的待执行请 求的优先级进行比较以确定所接收的请求的优先级是否最高。如果该新请求 的优先级最高,则仲裁控制单元1031进行到步骤S419,并且按照上面所述 执行步骤S419以及其后的步骤。反之,如果在步骤428确定所接收的新请求 的优先级不是最高的,或者如果在步骤S427的确定结果为否,则在步骤S429, 仲裁控制单元1031确定普通请求队列存储器1032是否已满,即,确定普通 请求队列存储器1032是否充满了待执行请求。如果在步骤S429确定普通请 求队列存储器1032未满,则在步骤S430,仲裁控制单元1031将当前接收的 请求存储在普通请求队列存储器1032中,并且向AHB主设备201和AHB 仲裁器200发送SPLIT响应。
应当注意,在APB桥IOO工作期间,除了图4A和图4B所示的操作以 外,仲裁控制单元1031还执行以下操作,即当第一和第二处理队列緩冲器 1033和1034之一中的请求执行完毕时,该緩冲器被清空,并且仲裁控制单 元1031从请求队列緩沖器1032中选择一个待执行请求并且将所述请求移动 到空的处理队列緩冲器中以供执行。这一选择过程就是所谓的"仲裁"。根据 本发明的实施例的仲裁采用了循环(roundrobin)机制。具体地说,如果第一或第二处理队列緩冲器之一为空,为了便于说明,假设第 一处理队列緩冲器1033
为空,则仲裁控制单元1031在普通请求队列存储器1032中搜索优先级最高 的待执行请求,并且判断该请求是否指向与第二处理队列緩冲器1034中正在 执行的请求相同的目的地APB总线。如果不是,则仲裁控制单元1031将该 请求从普通请求队列存储器1032移动到第一处理队列緩沖器1033以供执行, 并且从普通请求队列存储器1032中清除该请求,即,该请求贏得仲裁,从而 能够被执行。反之,如果该请求指向与第二处理队列緩沖器1034中正在执行 的请求相同的目的地APB总线,这意味着目的地APB总线正处于忙碌状态, 因此,仲裁控制单元1031放弃先前选择的待执行请求,并且乂人普通请求队列 存储器1032中选择具有第二高优先级的请求,并且重复上述判断过程,直到 找到指向与第二处理队列緩沖器1034中正在执行的请求不同的APB总线的 待执行请求为止。然而,如果普通请求队列存储器1032中的所有待执行请求 均指向与第二处理队列緩冲器1034中正在执行的请求相同的目的地APB总 线,则仲裁控制单元1031不选择普通请求队列存储器1032中的待执行请求, 而是等待来自AHB主设备201的新请求,直到发现指向与第二处理队列緩冲 器1034中正在执行的请求不同的APB总线的待执行请求为止。在两个处理 队列緩沖器同时变空的情况下,仲裁控制单元1031只需将具有最高优先级的 待执行请求移动到一个空緩冲器中,然后通过上述过程选择第二个待执行请 求并且将其移动到另 一个空緩冲器中即可。
在步骤S431,仲裁控制单元1031判断在步骤S430存储的请求是否赢得 了仲裁。如果该请求没有赢得仲裁,则仲裁控制单元1031返回步骤S431。 如果所述请求贏得了仲裁,则在步骤S432,仲裁控制单元1031确定该请求 是否是普通写入请求。如果该请求不是普通写入请求而是普通读出请求(步骤 S432处的否),则仲裁控制单元1031返回步骤S421,并且如上面所述地执行 步骤S421及后续步骤。另一方面,如果所述请求是普通写入请求(步骤S432 处的是),则在步骤S433,仲裁控制单元1031向AHB主设备201和AHB仲 裁器200发送UNSPLIT响应。基于该UNSPLIT响应,AHB仲裁器200将对 AHB总线的使用权重新赋予AHB主设备201, AHB主设备201重发其先前 发送的写入请求。接收到该重发的写入请求之后,仲裁控制单元1031将执行 稍后描述的步骤S437等。
另一方面,如果在步骤S429确定普通请求队列存储器1032已满,则在步骤S434,仲裁控制单元1031向AHB主设备201和AHB仲裁器200发送 SPLIT响应,并且将AHB主设备201的ID记录在主设备ID寄存器1036中。 同样,AHB仲裁器200将根据该SPLIT响应而将对AHB总线的使用权赋予 其它AHB主设备。接下来,在步骤S435,仲裁控制单元1031检查普通请求 队列存储器1032是否未满。如果普通请求队列存储器1032仍然是满的,则 仲裁控制单元1031返回步骤S435。反之,如果在步骤S435发现普通请求队 列存储器1032未满,则仲裁控制单元1031根据存储在主设备ID寄存器中的 AHB主设备201的ID而向AHB主设备201和AHB仲裁器200发送UNSPLIT 响应以通知AHB主设备201重发先前发送的请求,并且清除主设备ID寄存 器中的相应记录。应当注意,响应于在步骤S436处发送的UNSPLIT响应而 重发的请求在步骤S417也不会被确定为非首次发送的请求,这是因为对于所 接收的普通请求,仲裁控制单元1031仅将存储在普通请求队列存储器1032 中的内容与该请求进行比较,而与响应于在步骤S436处发送的UNSPLIT响 应而重发的请求相对应的先前发送的请求的信息(主设备201的ID)是存储在 主设备ID寄存器1036中的。
回到步骤S417,如果在步骤S417确定所接收的请求不是第一次被发送, 这说明所接收的请求是AHB主设备201响应于UNSPLIT响应而发送的,则 在步骤S437,仲裁控制单元1031确定该请求是否是写入请求。如果该请求 是读出请求,则在步骤S438,仲裁控制单元1031将OK响应与已经如上文 所述被预先读取和存储在第 一或第二处理队列緩沖器中的、该请求要读取的 数据一起发送给AHB主设备201 。该OK响应还纟皮发送给AHB仲裁器200。 当接收到OK响应以及所述数据之后,AHB主设备201结束当前事务,并且 放弃对AHB总线的使用权,AHB仲裁器200将该使用权赋予其它AHB设备。 反之,如果所述请求是写入请求,则仲裁控制单元1031返回步骤S424,并 且按照上面所述执行步骤S424及后续步骤。
如上所述,通过对写入请求应用POST-WRITE机制,可以缩短执行单个 写入请求所需的时钟周期数,使得根据本发明实施例的APB桥像真正的AHB 从设备一样工作,提高了系统性能。此外,通过对当前不能执行的请求应用 SPLIT-UNSPLIT机制,使得所发送的请求当前不能被执行的AHB主设备将 总线使用权暂时让给其它AHB主设备,提高了 AHB总线的使用效率。
应当认识到,除了图4A和图4B所示的步骤以外,根据本发明实施例的APB桥的控制方法还可以包括在上文中针对时钟控制单元106描述的时钟控 制步骤,即,仲裁控制单元1031根据普通请求队列存储器1032中对于各总 线的待执行请求的数目而控制相应APB总线的时钟频率,尽管这些步骤没有 在图中示出。
下面参照图5来示例性地说明根据本发明实施例的POST-WRITE机制。
如图5所示,在时刻Tl, AHB主设备201发送对目的地APB从设备203 或204的写入请求"NESQ"(见"htrans"),并且发送目的地APB从设备加3 或204的地址"0x20"(见"haddr,,),并且在时刻T2发送要写入目的地APB 从设备203或204的数据"Ox5a5a"(见"hwdata")。当接收到所述请求时, 根据本发明实施例的APB桥100如上面所述检查该写入请求是否能够执行, 如果能够执行,则在时刻T2接收并存储所述要写入的数据,并且向AHB主 设备201和AHB仲裁器200发送OK响应"OKEY"(见"hresp"),使得AHB 主设备201结束当前事务并放弃对AHB总线的使用权,并且AHB仲裁器200 将该使用权赋予其它AHB主设备。此后,在时刻T3,在目的地APB总线空 闲时,APB桥100将所存储的数据写入目的地APB从设备203或204,并且 结束当前事务。可见,尽管所述数据在时刻T3才被真正地写入目的地APB 从设备203或204,但是通过OK响应,AHB主设备201已经时刻T3之前结 束当前事务并且放弃了对AHB总线的使用权,从而缩短了执行该写入请求的 时间,提高了系统的效率。
下面,将参照图6和图7来示例性地说明根据本发明实施例的 SPLIT-UNSPLIT机制。
图6是用于说明根据本发明实施例的SPLIT-UNSPLIT机制的示意图。如 图6所示,在时刻T1,作为AHB主设备201的CPU发出读出请求。在时刻 T2, AHB仲裁器200将对AHB总线的使用权赋予该CPU,因此所述读出请 求经由AHB总线传送到APB桥100。在时刻T3, APB桥100发现该读出请 求不能#1执行,因此向CPU和AHB仲裁器200发送SPLIT响应。当CPU接 收到该SPLIT响应时,其暂时放弃对AHB总线的使用权,AHB仲裁器200 将该使用权赋予其它AHB主设备。当所述读出请求变得能够执行时,APB 桥IOO在时刻T4将该读出请求要读取的数据读入自己的緩沖器中,并且在时 刻T5向CPU和AHB仲裁器200发送UNSPLIT响应。当接收到UNSPLIT 响应时,在时刻T6, AHB仲裁器200通过例如GRANT(授权)信号将对AHB总线的使用权赋予所述CPU,并且CPU重发先前发送的读出请求。在时刻 T7, APB桥100响应于重发的读出请求而将OK响应和所读取的数据一起发 送给CPU。在时刻T8,在接收到所述OK响应和数据之后,CPU结束当前事
务。;曰, '..'、、,、 ,、,;
图7所示,在时刻Tl , AHB主设备201发送对于目的地APB从设备203或 204的读出请求"NSEQ"(见"htrans"),并且发送目的地APB从设备203 或2O4的地址"OxW (见"haddr")。在时刻12,接收到该请求的APB桥 100发现该请求不能被执行,因此向AHB主设备201和AHB仲裁器200发 送SPLIT响应(见"hresp")。当所述读出请求变得能够被执行时,在时刻T3, APB桥100将该请求要读取的数据"0x5a5a"读取到自己的緩沖器中(见
"prdata",然后在时刻T4,向AHB主设备201和AHB仲裁器200发送 UNSPLIT响应(见"hsplitx")。基于该UNSPLIT响应,在时刻T5, AHB仲 裁器200将对AHB总线的使用权赋予AHB主设备201,并且AHB主设备 201重发所述读出请求"NSEQ"(见"htrans")。当接收到该读出请求时,在 时刻T6, APB桥100将所读取的数据"0x5a5a"(见"hrdata")和OK响应(见
"hresp")—起传送给AHB主设备201。
可以看到,如图6的阴影部分所示,当AHB主设备发送的请求暂时不 能被执行时,通过发送SPLIT响应而将对AHB总线的使用权暂时赋予其它 AHB主设备,从而提高了总线的使用效率。
在上文中,OK响应、SPLIT响应和UNSPLIT响应不仅被APB桥100 发送给AHB主设备201,还被发送给AHB仲裁器200。然而,这不是限制 性的。APB桥100也可以只向AHB主设备201发送所述响应,然后,AHB 主设备201将该响应转发给AHB仲裁器200或者根据该响应而向AHB仲裁 器200做出相应的通知。或者,APB桥100也可以只向AHB主设备201发 送所述响应,并且AHB仲裁器200可以通过例如监听AHB总线来主动拦截 和4妄》1欠所述响应。
在图2所示的根据本发明实施例的APB桥100中,示出了分别连接到两 条APB总线的两个APB总线接口 ,相应地,为这两条总线提供了两个处理 队列緩沖器1033和1034。这样,根据本发明实施例的APB桥可以同时为两 条APB总线上的APB从设备服务,提高了系统的效率。然而,这不是限制性的,根据本发明实施例的APB桥可以与更多或更少的总线连接,相应地, APB总线接口和处理队列緩沖器的数目也可以根据需要而变化。例如,图8 示出了图2所示的APB桥100的一种变型,其中,APB桥仅连接到一条APB 总线。
如图8所示,APB桥800包括AHB总线接口 801、 APB桥寄存器802、 业务仲裁和控制模块803、 APB总线接口 804。优选地,为了控制APB总线 的时钟频率以减小系统功耗,APB桥800还可以包括时钟控制单元805。业 务仲裁和控制模块800包括仲裁控制单元8031、普通请求队列存储器8032、 处理队列緩冲器8033、锁定请求队列緩冲器8034和主设备ID寄存器8035。 与APB桥100不同,由于APB桥800仅连接到一条APB总线,因此,只需 一个处理队列緩冲器。AHB总线接口801、 APB桥寄存器802、 APB总线接 口 804、普通请求队列存储器8032、处理队列緩冲器8033、锁定请求队列緩 沖器8034和主i殳备ID寄存器8035分别与图2所示的对应部件相同,因此为 简单起见而省略其描述。
仲裁控制单元8031与仲裁控制单元1031的操作基本相同。图3所示的 根据本发明实施例的控制方法也适用于APB桥800。此外,只需进行以下改 动,就可以将图4A和图4B所示的根据本发明实施例的APB桥的控制方法 的示例实现方式应用于APB桥800:由于APB桥800只有一个处理队列緩冲 器并且只连接到一条APB总线,因此不执行步骤S421和S425;此外,在步 骤S418处确定是否处理队列緩沖器为空并且普通请求队列存储器为空,并且 在步骤S427处确定是否处理队列缓沖器为空且普通请求队列存储器不为空。 另外,当处理队列緩冲器8033变空时,仲裁控制单元8031只需从普通请求 队列存储器8022中选择具有最高优先级的待执行请求并且将其移动到该緩 沖器8033中即可。
时钟控制单元805与时钟控制单元106的操作基本相同,区别在于由 于只有一条APB总线,因此存储在普通请求队列存储器8032中的待执行请 求均用于该APB总线,因此,时钟控制单元805只需才艮据第一阈值和第三阈 值调整APB总线的时钟频率即可。
如上所述,根据本发明实施例的APB桥及其控制方法通过应用 POST-WRITE机制,缩短了执行单个写入请求的时间,提高了总线的使用效 率;此外,通过应用SPLIT-UNSPLIT机制,使得所发送的请求不能被执行的AHB主设备将对AHB总线的使用权暂时让给其它AHB主设备,从而进一步 提高了 AHB总线的使用效率,使得系统具有更好的性能。
此外,根据本发明实施例的APB总线时钟控制方法能够根据存储在普通 请求队列存储器中的针对各总线的待执行请求的数目而控制相应的APB总线 的时钟频率,使得在所述数目较小时P争低APB总线的频率,从而P争低系统的 功耗。
尽管已经示出和描述了本发明的特定实施例,本领域技术人员应当理解, 在不背离权利要求及其等价物中限定的本发明的范围和精神的情况下,可以 对这些实施例做出各种形式和细节上的变化。
权利要求
1.一种APB桥,包括AHB总线接口,其连接到AHB总线以便与AHB主设备通信;仲裁控制单元,与所述AHB总线接口连接,用于通过所述AHB总线接口接收由所述AHB主设备发送的请求,并判断该请求能否被执行,当该请求可被执行时,向所述AHB主设备发送第一响应,使得释放所述AHB主设备对AHB总线的使用权;以及APB总线接口,与该仲裁控制单元连接,并连接到APB总线以便与APB总线上的APB从设备通信。
2. 如权利要求1所述的APB桥,其中,当确定所述请求不能#:执行时, 仲裁控制单元向所述AHB主设备发送第二响应,使得暂时释放所述AHB主 设备对AHB总线的使用权,并且在确定所述请求变得能够被执行时向所述 AHB主i殳备发送第三响应,使得将所述使用权重新赋予该AHB主设备并且 该AHB主设备重发所述请求。
3. 如权利要求1所述的APB桥,其中,所述请求为对目的地APB从设 备的普通读出请求、普通写入请求、锁定读出请求和锁定写入请求之一。
4. 如权利要求3所述的APB桥,还包括存储器,其中,当确定从AHB主设备第一次发送的普通写入请求或锁定写入请 求能够被执行时,除了发送第一响应以外,仲裁控制单元还将该请求要写入 的数据存储到该存储器中,并且在发送第一响应之后将所述数据从该存储器 写入目的地APB从设备。
5. 如权利要求3所述的APB桥,其中,该仲裁控制单元还判断该请求 是否为所述AHB主设备第一次发送,当该请求是第一次被发送并可被执行 时,向所述AHB主设备发送第一响应,使得释放所述AHB主设备对AHB 总线的使用权。
6. 如权利要求5所述的APB桥,还包括锁定请求队列緩冲器,用于存储正对APB从设备执行的锁定读出请求和 根据该锁定读出请求读取的数据、或者锁定写入请求和该锁定请求要写入的数据。
7. 如权利要求6所述的APB桥,其中,仲裁控制单元才艮据接收到的锁 定读出请求或锁定写入请求与锁定请求队列緩沖器内存储的锁定读出请求或 锁定写入请求是否相同,来确定该锁定读出请求或锁定写入请求是否为所述 AHB主设备第一次发送的请求。
8. 如权利要求6所述的APB桥,其中,仲裁控制单元根据锁定请求队 列緩冲器是否为空来确定第 一次接收的锁定写入请求是否能够被执行。
9. 如权利要求6所述的APB桥,其中,仲裁控制单元根据在锁定请求 队列緩冲器中是否存储了第一次发送的锁定读出请求要读取的数据来确定该 锁定读出请求是否能够被执行。
10. 如权利要求5所迷的APB桥,还包括普通请求队列存储器,用于存储待执行的普通读出请求、以及普通写入 请求和该普通写入请求要写入的数据;和处理队列緩沖器,用于存储正对APB从设备执行的普通读出请求和根据 该普通读出请求读取的数据、或者正对APB从设备执行的普通写入请求和该 普通写入请求要写入的数据。
11. 如权利要求10所述的APB桥,其中,当处理队列緩沖器变空时, 仲裁控制单元根据普通请求队列存储器中待执行的请求的优先级和对应APB 总线是否忙碌来从所述待执行的请求中选择接下来要执行的请求,并将其移 动到处理队列緩沖器中。
12. 如权利要求10所述的APB桥,还包括时钟控制单元,其在普通请求队列存储器中的待执行的请求的数目低于 第一阈值时降低APB总线的时钟频率,而在所述数目高于第二阈值时提高 APB总线的时钟频率。
13. 如权利要求12所述的APB桥,其中,当所述凄t目为O时,时钟控 制单元关闭APB总线的时钟。
14. 如权利要求10所述的APB桥,其中,仲裁控制单元根据接收到的 普通读出请求或普通写入请求与普通请求队列存储器或处理队列緩冲器内存 ^ft的普通读出请求或普通写入请求是否相同,来确定该普通读出请求或普通 写入请求是否为所述AHB主设备第一次发送的请求。
15. 如权利要求10所述的APB桥,其中,仲裁控制单元根据普通请求队列存储器和处理队列緩冲器的存储状态来确定是否能够执行普通写入请 求。
16. 如权利要求10所述的APB桥,其中,仲裁控制单元根据在处理队 列緩冲器中是否存储了第一次发送的普通读出请求要读取的数据来确定该普 通读出请求是否能够被执行。
17. 如权利要求2所述的APB桥,还包括主设备ID寄存器,用于当 确定所述请求不能被执行时,存储发出所述请求的AHB主设备的ID,其中 所述仲裁控制单元依据该AHB主设备的ID来向所述AHB主设备发送第三 响应。
18. —种APB桥的控制方法,所述APB桥连接在AHB总线和APB总 线之间,所述方法包括经由AHB总线接收从AHB主设备发送的请求; 确定该请求是否能够被执行;以及当该请求能够被执行时,向AHB主设备发送第一响应,使得释放AHB 主设备对AHB总线的使用权。
19. 如权利要求18所述的控制方法,还包括当确定所述请求不能被执行时,向所述AHB主设备发送第二响应,使 得暂时释放所述AHB主设备对AHB总线的使用权,并且在确定所述请求变 得能够被执行时,向所述AHB主设备发送第三响应,使得将对所述AHB总 线的使用权重新赋予该AHB主设备,并且该AHB主设备重发所述请求。
20. 如权利要求19所述的控制方法,还包括当确定所述请求不能被执 行时,存储发出所述请求的AHB主设备的ID,并且在确定所述请求变得能 够被执行时,依据该AHB主设备的ID来向所述AHB主设备发送第三响应。
21. 如权利要求18所述的控制方法,其中,所述请求为对目的地APB 从设备的普通读出请求、普通写入请求、锁定读出请求和锁定写入请求之一。
22. 如权利要求21所述的控制方法,其中,当确定从AHB主设备第一 次发送的普通写入请求或锁定写入请求能够被执行时,除了发送第一响应以 外,还将该请求要写入的数据存储到APB桥的存储器中,并且在发送第一响 应之后将所述数据从该存储器写入目的地APB从设备。
23. 如权利要求21所述的控制方法,其中,所述APB桥包括普通请求队列存储器,用于存储待执行的普通读出请求、以及普通写入请求和该普通写入请求要写入的数据;和处理队列緩冲器,用于存储正对APB从设备执行的普通读出请求和根据 该普通读出请求读取的数据、或者正对APB从设备执行的普通写入请求和该 普通写入请求要写入的数据;其中,当处理队列緩冲器变空时,根据普通请求队列存储器中待执行的 请求的优先级和对应APB总线是否忙碌来从所述待执行的请求中选择接下来 要执行的请求,并将其移动到处理队列緩沖器中。
24. 如权利要求23所述的控制方法,其中,当普通请求队列存储器中的 待执行的请求的数目低于第一阈值时,降低APB总线的时钟频率,当所述数 目高于第二阈值时,提高APB总线的时钟频率,当所述数目为0时,关闭该 APB的时钟。
25. 如权利要求23所述的控制方法,还包括确定该请求是否为该AHB 主设备第一次发送的请求,当该请求为该AHB主设备第一次发送的请求且能 够被执行时,向AHB主设备发送第一响应,使得释放AHB主设备对AHB 总线的使用权。
26. 如权利要求25所述的控制方法,还包括将接收到的普通读出请求 或普通写入请求与普通请求队列存储器或处理队列緩冲器内存储的普通读出 请求或普通写入请求进行比较,以确定该普通读出请求或普通写入请求是否 为该AHB主设备第一次发送的请求。
27. 如权利要求23所述的控制方法,还包括根据普通请求队列存储器 和处理队列緩沖器的存储状态来确定是否能够执行普通写入请求。
28. 如权利要求23所述的控制方法,还包括根据在处理队列緩冲器中 是否存储了第一次发送的普通读出请求要读取的数据来确定该普通读出请求 是否能够被执行。
29. —种由APB桥执行的APB总线时钟控制方法,所述APB桥在确定 由AHB总线上的AHB主设备向APB总线上的APB从设备第一次发送的请 求能够被执行时,向所述AHB主设备发送第一响应,使得释放所述AHB主 设备对AHB总线的使用权,并且在确定所述请求不能被执行时,将该请求存 储在APB桥的存储器中,所述时钟控制方法包括检查存储器中对于APB从设备的请求的数目;以及 当所述数目低于第一阈值时,降低APB总线的时钟频率。
30. 如权利要求29所述的时钟控制方法,其中,当所述数目为0时,关 闭APB总线的时钟。
31. 如权利要求29所述的时钟控制方法,还包括 当所述数目高于第二阚值时,提高APB总线的时钟频率。
全文摘要
本发明提供了一种APB桥及其控制方法以及APB总线时钟控制方法。该APB桥包括AHB总线接口,其连接到高级高性能总线AHB总线以便与AHB主设备通信;仲裁控制单元,与所述AHB总线接口连接,用于通过所述AHB总线接口接收由所述AHB主设备发送的请求,并判断该请求能否被执行,当该请求可被执行时,向所述AHB主设备发送第一响应,使得释放所述AHB主设备对AHB总线的使用权;以及APB总线接口,与该仲裁控制单元连接,并连接到APB总线以便与APB总线上的APB从设备通信。所述APB桥及其控制方法缩短了执行单个请求的时间,提高了系统性能;而时钟控制方法根据对于APB总线的待执行请求的数目而控制该APB总线的时钟频率,可降低系统的功耗。
文档编号G06F13/38GK101604302SQ20091015977
公开日2009年12月16日 申请日期2009年7月20日 优先权日2009年7月20日
发明者李德建, 杨存永, 鹏 高 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1