专利名称:先进高性能系统总线连接装置及连接方法
技术领域:
本发明涉及系统总线互连结构,尤其涉及一种连接不同总线的高效总线桥连接装 置和连接方法。
背景技术:
现在的计算机系统中,处理器及其他Master(主设备)需要与各种不同的 Slave (从设备)之间交换数据。由于,AMBA(先进微控制器总线架构)中的AHB (先进高性 能系统总线)协议的本质造成了一个传输命令的acc印t (接收)和response (响应)的耦 合,即AHB上的命令在相应的Slave给出response之前,其命令是得不到AHB总线接收的。 因此,当一个slave的response延时很大时,该命令就会一直占用AHB总线,使其他master 对于不同slave的访问也被拖住而不能进行,造成总线效率很低。虽然,AHB协议支持了 Split (分割)的数据传输,使得不同master对不同slave 的访问可以并行展开,但是这只能对同一 AHB上的不同slave有效。当master和slave分 别连接在AHB总线和其他总线上时,master和slave之间的数据传输需要通过一个连接于 AHBll和其他总线13之间的连接装置12,如图1所示。而目前的AHB总线连接装置12,其 结构框图如图2所示,无法支持master对多个slave的并行访问,所以,无法利用AHB协议 的Split特性。因此,目前的AHB总线连接装置通常会造成AHB总线和另一总线的传输效 率降低。图3为使用现有技术时AHB总线的工作效率的示意图。如图3所示,在现有技术情 况下,AHB总线上的多个master (图中以3个master为例),通过AHB连接装置完成串行访 问另一总线上的slave,每个master完成访问的时间为该master从发送burst (脉冲串) 信息到接收到所有response所需要的时间之和,3个master串行访问另一总线上的slave 所需要的总时间就是3个master完成访问的时间的总和。这就大大降低了 AHB和另一总 线的带宽利用率,使效率很低。因此,业界需要一种能支持多个master并行访问,减少两侧总线等待时间,提高 总线带宽利用率,进而提高两侧总线效率的总线连接装置。
发明内容
本发明的目的在于解决上述现有技术的缺陷,提供一种提高系统总线工作效率的 先进高性能系统总线连接装置。本发明的另一目的在于,提供一种支持写透特性的提高系统总线工作效率的先进 高性能系统总线连接装置。本发明的另一目的在于,提供一种提高系统总线工作效率的先进高性能系统总线 连接方法。本发明的另一目的在于,提供一种支持写透特性的提高系统总线工作效率的先进 高性能系统总线连接方法。
根据本发明的一个方面,提供一种先进高性能系统总线连接装置,包括先进高性 能系统总线接口处理模块,另一总线接口处理模块,连接先进高性能系统总线接口处理模 块和另一总线接口处理模块的突发信息存储模块以及响应存储模块,其中,所述先进高性能系统总线接口处理模块用于监测先进高性能系统总线上的传输 信息,将信息以突发信息为单位写入所述突发信息存储模块,并为突发信息分配响应缓存 通道;所述突发信息存储模块用于存储从所述先进高性能系统总线接口处理模块接收到的 突发信息,并将信息传输给所述另一总线接口处理模块;所述响应存储模块包括用于缓存 响应数据的多路响应缓存通道;所述另一总线接口处理模块用于从所述突发信息存储模块 中提取突发信息,将突发信息发送给另一总线,同时监测响应返回,并将返回的响应数据存 入对应的响应缓存通道,所述先进高性能系统总线接口处理模块从所述对应的响应缓存通 道中取出所述响应数据。所述的先进高性能系统总线连接装置,其还包括连接到所述先进高性能系统总线 接口处理模块的高速缓存器,用于存储从响应存储模块返回的数据。根据本发明的另一方面,提供一种先进高性能系统总线连接装置,包括先进高性 能系统总线接口处理模块,另一总线接口处理模块,连接所述先进高性能系统总线接口处 理模块和所述另一总线接口处理模块的突发信息存储模块、读响应存储模块和写响应存储 模块,其中,所述先进高性能系统总线接口处理模块用于监测先进高性能系统总线上的传输 信息,将信息以突发信息为单位写入所述突发信息存储模块,并为突发信息分配读响应缓 存通道或写响应缓存通道;所述突发信息存储模块用于存储从所述先进高性能系统总线接 口处理模块接收到的突发信息,并将信息传输给所述另一总线接口处理模块;所述读响应 存储模块包括用于缓存读响应的多路读响应缓存通道;所述写响应存储模块包括用于记录 写透响应的多路写响应缓存通道;所述另一总线接口处理模块用于从所述突发信息存储模 块中提取突发信息,将突发信息发送给另一总线,同时监测响应的返回,并将响应存入对应 的响应缓存通道,所述先进高性能系统总线接口处理模块从所述对应的响应缓存通道中取 出所述响应数据。所述的先进高性能系统总线连接装置,其中,所述的先进高性能系统总线接口处 理模块还包括一组与所述写响应缓存通道对应的写响应计数器。所述的先进高性能系统总线连接装置,其还包括连接到所述先进高性能系统总线 接口处理模块的高速缓存器,用于存储从读响应存储模块返回的数据。根据本发明的另一方面,提供一种先进高性能系统总线连接方法,包括以下步 骤监测先进高性能系统总线上的传输信息;对于突发信息的第一个读传输给出SPLIT响应;将所述突发信息的相关信息写入突发信息存储模块,并为所述突发信息分配一个 响应缓存通道;将所述突发信息转发給另一总线接口处理模块,并由该另一总线接口处理模块将 所述突发信息发送給另一总线;监测从所述另一总线接口处理模块返回的响应,并当监测到所述返回的响应时,将所述返回的响应存入为所述突发信息分配的一个响应缓存通道;唤醒先进高性能系统总线上对应的主设备,将对应的响应缓存通道中的响应数据 传输至所述对应的主设备。所述的方法,其中,在对于突发信息的第一个读传输给出SPLIT响应的步骤之前, 还包括如下的步骤检测高速缓存器中是否存放有突发信息需要的响应数据;当检测到所述高速缓存器中已经存放有突发信息需要的响应数据时,直接从所述 高速缓存器中取出所述响应数据并传输至所述对应的主设备,否则则继续后续的步骤。根据本发明的另一方面,提供一种先进高性能系统总线连接方法,包括以下步 骤监测先进高性能系统总线上的传输信息;将普通写突发信息的相关信息写入所述突发信息存储模块,并给出一个有效的总 线接收信号;更新写响应计数器,表示有一个写突发信息已经发送出去;将该写突发信息发送給另一总线接口处理模块,并由该另一总线接口处理模块将 所述写突发信息发送給另一总线;监测从所述另一总线接口处理模块返回的写响应,并当监测到所述返回的写响应 时,将所述返回的写响应存入写响应存储模块中;从写响应存储模块读取返回的写响应,并更新所述写响应计数器,以表示已经接 收到了对应写突发信息的写响应。所述的方法,其中,在将写突发信息的相关信息写入所述突发信息存储模块的步 骤之前,还包括如下的步骤判断所监测到的所述先进高性能系统总线上的传输信息是否为特殊地址的写操 作;如果是特殊地址的写操作,检查所述写响应计数器的状态,当所述写响应计数器 指示当前主设备之前所有的写响应已经全部返回时,给出一个有效的总线接收信号,继续 监测先进高性能系统总线上的其他传输信息,否则则给出无效的总线接收信号,继续检查 写响应计数器的状态。
以下附图为对本发明示例性实施例的辅助说明,是为进一步揭示本发明的特征所 在,但并不限制本发明,图中相同符号代表实施例中相应元件或步骤,其中图1为总线连接装置应用场景示意图。图2为现有技术中总线连接装置的结构示意图。图3为使用现有技术时AHB总线的工作效率的示意图。图4为本发明的先进高性能系统总线连接装置的第一个实施例的结构框图。图5为本发明的先进高性能系统总线连接装置的第二个实施例的结构框图。图6为本发明的先进高性能系统总线连接装置的第三个实施例的结构框图。图7为采用本发明后AHB总线的工作效率的示意图。
图8为本发明的先进高性能系统总线连接方法的第一个实施例的流程图。图9为本发明的先进高性能系统总线连接方法的第二个实施例的流程图。图10为本发明的先进高性能系统总线连接方法的第三个实施例的流程图。
具体实施例方式下面结合附图对本发明的优选实施例作详细说明。请参照图4,本发明的先进高性能系统总线连接装置的第一个实施例的结构框图。 该装置包括AHB(先进高性能系统总线)接口处理模块401,另一总线接口处理模块402, 连接AHB接口处理模块和另一总线接口处理模块的Burst (突发)信息存储模块403以及 response (响应)存储模块404。其中,AHB接口处理模块用于监测AHB总线上的传输信息, 将操作信息以burst为单位写入burst信息存储模块,并为burst分配response缓存通道。 bur st信息存储模块用于存储从AHB接口处理模块接收到的bur st信息,并将信息传输给另 一总线接口处理模块。Response存储模块404包括多路响应缓存通道。另一总线接口处理 模块用于从burst信息存储模块中提取burst信息,将burst信息发送给另一总线,同时监 测response返回,并将response存入对应的response缓存通道。其中,所述的burst信息存储模块采用先入先出的结构,以满足系统对数据一致 性的要求。其中,response缓存通道的数量可以根据系统需要配置,如根据AHB总线上重要 的master的个数确定,或根据预估的最多同时工作的master个数确定。在总线连接装置 的设计面积允许的情况下,通道数量越多,AHB总线的工作效率越高。在本发明的先进高性能系统总线连接装置的第二个实施例中,为了进一步提高系 统总线的工作效率,在AHB接口处理模块上接入了 cache (高速缓存)405。请参照图5, cache用于存储response存储模块返回的数据,并传输给AHB接口处理模块。在AHB master 有读操作时,AHB接口处理模块先检查是不是命中cache,如果命中则直接从cache中将数 据取出,返回给相应AHB master,进一步减少了 AHB总线的等待时间。图6是根据本发明的先进高性能系统总线连接装置的第三个实施例的示意图。在 包含CPU作为AHB master的应用环境中,AHB bridge需要支持写透(writethrough)的特 性。写透表示已经把对应的写指令发送到了对应的slave中,而不是停留在总线或者data path中的某一级缓存里,写透一般要求整体系统架构(architecture)的支持。本发明的 又一个实施例解决了支持写透并且提高AHB总线效率的问题。请参照图6,本实施例在图4 所示的第一实施例的基础上增加了写响应存储模块(write response buffer group)407, 用于记录来自另一总线返回给AHB上各个不同master的对应的写透响应。另外,本实施例 中的AHB接口处理模块需要包括一组写响应计数器,用于统计AHB上不同master在另一总 线上接收到的写响应的个数,以保证对于普通写操作不会进行阻塞,因此不会影响总线的 写传输性能。可见,本实施所述的装置同时提高了 AHB master的读和写操作的传输效率。 当然,在本实施例中,如果需要进一步提高读操作的传输效率,也可以像第二实施例一样, 在AHB接口处理模块上接入cache。通常,同一个AHB master发出的各个写操作之间是不保证执行的顺序性的。如果 需要保证两条写操作之间的执行顺序,可以在两条操作中间插入一条对于特殊地址的写操作,AHB接口处理模块在接收到这样的特殊地址的写指令时,就等到相应的写响应计数器指 示出另一总线上的写响应已经全部返回后,才给出有效的hready,从而保证写操作的执行 顺序,由此满足系统对于写透支持的需求。采用本发明后AHB总线的工作效率的示意图见图7。多个(以3个为例MHBmaster 访问另一总线上的Slave时,采用本发明的AHB连接装置,可以实现并行访问。这里,每个 master完成访问的时间仍是该master从发送burst信息到接收到所有response所需要的 时间,与现有总线连接装置的区别在于,在AHB master 1的burst信息被发送出去到接收 到所有response的这段时间内,AHB master 2和AHB master 3的burst信息也可以发送 给相应的slave,并同时进行处理,也就是说,不同AHB master的burst信息发送、处理以及 response传输的时间可以交叠。因此,3个AHB master访问另一总线上的slave所需的总 时间绝不是单个master完成访问时间的总和,而是会明显的缩减。下面,介绍本发明的先进高性能系统总线连接方法。图8是表示根据本发明的先 进高性能系统总线连接方法的第一个实施例的流程图。步骤S81,AHB接口处理模块监测 AHB总线上的传输信息,对于burst信息的第一个read transfer (读传输)给出SPLIT响 应(步骤S82),并将burst的相关信息写入burst信息存储模块,同时为burst分配一个空 闲的response缓存通道(步骤S83)。步骤S84,信息存储模块将burst信息转发给另一总线接口处理模块。步骤S85,另一总线接口处理模块将burst信息发送给另一总线,同时监测 response的返回(步骤S86)。如果监测到有response,进入步骤S87,将返回的response 存入AHB接口处理模块分配给burst的response缓存通道中;如果没有监测到response, 流程返回步骤S86继续监测。步骤S88,当response通道中有response返回时,AHB接口 处理模块唤醒AHB总线上对应的Master,将对应通道中的response数据取出并传输至对应 的 Master。上述步骤是本发明的总线连接方法,在AHB上的任一master对另一总线上的任一 slave进行读操作时,所采取的步骤。在burst信息存储模块的缓存未满,response通道也 足够的情况下,这些操作都可以并行进行,大大节省了 AHB总线系统的等待时间。图9是表示根据本发明的先进高性能系统总线连接方法的第二个实施例的流程 图。步骤S90,AHB接口处理模块监测AHB总线上的传输信息,并在步骤S91判断是否命中 cache (超高速缓冲存储器)?如果命中cache,则流程进入步骤S99,直接从cache中读 取数据,并直接返回给相应AHB master ;如果没有命中cache,则流程进入步骤S92,对于 burst信息的第一个read transfer (读传输)给出SPLIT响应,并将burst的相关信息写入 burst信息存储模块,同时为burst分配一个空闲的response通道(步骤S93)。步骤S94, burst信息存储模块将burst信息转发给另一总线接口处理模块。步骤S95,另一总线接口 处理模块将burst信息发送给另一总线,同时监测response的返回(步骤S96),如果监测 到有response,进入步骤S97,将response存入AHB接口处理模块分配给burst的response 通道中;如果没有监测到response,流程返回步骤S96继续监测。步骤S98,response通道 中有response返回时,AHB接口处理模块将response写入cache,并唤醒AHB总线上对应 的Master。然后,流程进入步骤S99,将response数据传输至对应的Master。这种方法中,由于采用了 cache,当master的操作是前面的重复操作的时候,需要的数据已经存储在cache中,所以可以直接将cache中的数据返回,进一步节省了等待时 间,提高了 AHB总线的工作效率。图10是表示根据本发明的先进高性能系统总线连接方法的第三个实施例的流程 图。即在包含CPU作为AHB master的应用环境中,AHB bridge需要支持写透的特性时,本 发明对应的总线连接方法。步骤SlOl,AHB接口处理模块监测AHB总线上的传输信息,并在步骤S102判断该 传输信息是否属于要求写透的特殊地址写操作?如否,则视为普通的写操作,流程进入步 骤S103,只要burst信息存储模块不满,就给出有效的hready(AHB总线接收信号)。如果 步骤S102判断是要求写透的特殊地址写操作时,流程进入步骤S1021,AHB接口处理模块 检查写响应计数器的状态,确定当前master之前所有的写响应是否已经全部返回?当确 定对应的写响应计数器指示该master之前所有的写响应已经全部返回时,流程进入步骤 S1023,给出有效的hready,并继续监测先进高性能系统总线上的传输信息;否则,给出无 效的hready (步骤S102》,并继续检查写响应计数器的状态。在步骤S103给出有效的hready后,流程进入步骤S104,更新写响应计数器,表示 有一个写burst已经发送出去。接着,流程进入步骤S105,burst信息存储模块将该写burst 的信息转发给另一总线接口处理模块。然后,流程进入步骤S106,另一总线接口处理模块将 写burst信息发送给另一总线,同时监测写响应的返回(步骤S107)。如果在步骤S107监 测到有写response,则在步骤S108将随后从另一总线上返回的写响应记录到写响应存储 模块中。接着,步骤S109,AHB接口处理模块从写响应存储模块读取写响应返回的信息,并 更新写响应计数器以表示已经接收到了对应写burst的写响应。当然,在图10所示的实施例中,例如还可以参照以上图8或图9所示的实施例加 入相应的读操作处理流程。即在图10所示的监测AHB总线上的传输信息的步骤之后增加 一个判断该传输信息是写操作还是读操作的步骤,当判断该传输信息是读操作时,采用图8 或图9的流程进行处理。以上所述的只是本发明的几个较佳实施例,并不能限制本发明的保护范围,任何 对本发明的结构和方法的等效变换或代替,均属于本发明权利要求的保护范围。
9
权利要求
1.一种先进高性能系统总线连接装置,包括先进高性能系统总线接口处理模块,另一 总线接口处理模块,连接先进高性能系统总线接口处理模块和另一总线接口处理模块的突 发信息存储模块以及响应存储模块,其中,所述先进高性能系统总线接口处理模块用于监测先进高性能系统总线上的传输信息, 将信息以突发信息为单位写入所述突发信息存储模块,并为突发信息分配响应缓存通道; 所述突发信息存储模块用于存储从所述先进高性能系统总线接口处理模块接收到的突发 信息,并将信息传输给所述另一总线接口处理模块;所述响应存储模块包括用于缓存响应 数据的多路响应缓存通道;所述另一总线接口处理模块用于从所述突发信息存储模块中提 取突发信息,将突发信息发送给另一总线,同时监测响应返回,并将返回的响应数据存入对 应的响应缓存通道,所述先进高性能系统总线接口处理模块从所述对应的响应缓存通道中 取出所述响应数据。
2.如权利要求1所述的先进高性能系统总线连接装置,其特征在于还包括连接到所述 先进高性能系统总线接口处理模块的高速缓存器,用于存储从响应存储模块返回的数据。
3.一种先进高性能系统总线连接装置,包括先进高性能系统总线接口处理模块,另一 总线接口处理模块,连接所述先进高性能系统总线接口处理模块和所述另一总线接口处理 模块的突发信息存储模块、读响应存储模块和写响应存储模块,其中,所述先进高性能系统总线接口处理模块用于监测先进高性能系统总线上的传输信息, 将信息以突发信息为单位写入所述突发信息存储模块,并为突发信息分配读响应缓存通道 或写响应缓存通道;所述突发信息存储模块用于存储从所述先进高性能系统总线接口处理 模块接收到的突发信息,并将信息传输给所述另一总线接口处理模块;所述读响应存储模 块包括用于缓存读响应的多路读响应缓存通道;所述写响应存储模块包括用于记录写透响 应的多路写响应缓存通道;所述另一总线接口处理模块用于从所述突发信息存储模块中提 取突发信息,将突发信息发送给另一总线,同时监测响应的返回,并将响应存入对应的响应 缓存通道,所述先进高性能系统总线接口处理模块从所述对应的响应缓存通道中取出所述 响应数据。
4.如权利要求3所述的先进高性能系统总线连接装置,其特征在于所述的先进高性 能系统总线接口处理模块还包括一组与所述写响应缓存通道对应的写响应计数器。
5.如权利要求3所述的先进高性能系统总线连接装置,其特征在于还包括连接到所 述先进高性能系统总线接口处理模块的高速缓存器,用于存储从读响应存储模块返回的数 据。
6.一种先进高性能系统总线连接方法,包括以下步骤监测先进高性能系统总线上的传输信息;对于突发信息的第一个读传输给出SPLIT响应;将所述突发信息的相关信息写入突发信息存储模块,并为所述突发信息分配一个响应 缓存通道;将所述突发信息转发給另一总线接口处理模块,并由该另一总线接口处理模块将所述 突发信息发送給另一总线;监测从所述另一总线接口处理模块返回的响应,并当监测到所述返回的响应时,将所 述返回的响应存入为所述突发信息分配的一个响应缓存通道;唤醒先进高性能系统总线上对应的主设备,将对应的响应缓存通道中的响应数据传输 至所述对应的主设备。
7.如权利要求6所述的方法,其特征在于,在对于突发信息的第一个读传输给出SPLIT 响应的步骤之前,还包括如下的步骤检测高速缓存器中是否存放有突发信息需要的响应数据;当检测到所述高速缓存器中已经存放有突发信息需要的响应数据时,直接从所述高速 缓存器中取出所述响应数据并传输至所述对应的主设备,否则则继续后续的步骤。
8.一种先进高性能系统总线连接方法,包括以下步骤监测先进高性能系统总线上的传输信息;将普通写突发信息的相关信息写入所述突发信息存储模块,并给出一个有效的总线接 收信号;更新写响应计数器,表示有一个写突发信息已经发送出去;将该写突发信息发送給另一总线接口处理模块,并由该另一总线接口处理模块将所述 写突发信息发送給另一总线;监测从所述另一总线接口处理模块返回的写响应,并当监测到所述返回的写响应时, 将所述返回的写响应存入写响应存储模块中;从写响应存储模块读取返回的写响应,并更新所述写响应计数器,以表示已经接收到 了对应写突发信息的写响应。
9.如权利要求8所述的方法,其特征在于,在将写突发信息的相关信息写入所述突发 信息存储模块的步骤之前,还包括如下的步骤判断所监测到的所述先进高性能系统总线上的传输信息是否为特殊地址的写操作;如果是特殊地址的写操作,检查所述写响应计数器的状态,当所述写响应计数器指示 当前主设备之前所有的写响应已经全部返回时,给出一个有效的总线接收信号,继续监测 先进高性能系统总线上的传输信息,否则则给出无效的总线接收信号,继续检查写响应计 数器的状态。
全文摘要
先进高性能系统总线连接装置包括先进高性能系统总线接口处理模块,另一总线接口处理模块,连接先进高性能系统总线接口处理模块和另一总线接口处理模块的突发信息存储模块以及响应存储模块。其中,先进高性能系统总线接口处理模块用于监测先进高性能系统总线上的传输信息,将信息以突发信息为单位写入突发信息存储模块,并为突发信息分配响应缓存通道;突发信息存储模块将信息传输给另一总线接口处理模块;另一总线接口处理模块用于从所述突发信息存储模块中提取突发信息,将突发信息发送给另一总线,同时监测响应返回,并将返回的响应数据存入对应的响应缓存通道,先进高性能系统总线接口处理模块从对应的响应缓存通道中取出所述响应数据。
文档编号G06F13/40GK102103565SQ200910201498
公开日2011年6月22日 申请日期2009年12月21日 优先权日2009年12月21日
发明者周振亚, 姜淼, 祝叶华, 邓良策 申请人:上海奇码数字信息有限公司, 奇码科技有限公司