总线控制器及数据缓冲空间分配方法

文档序号:6649857阅读:277来源:国知局
专利名称:总线控制器及数据缓冲空间分配方法
技术领域
本发明涉及一种总线控制器及数据缓冲空间分配方法,尤指涉及一种应用于一总线上的总线控制器及数据缓冲空间分配方法。
背景技术
请参见图1,其是一外围组件连接接口总线(Peripheral ComponentInterconnect Bus,简称PCI Bus)的功能方框连接示意图,其中主要是有主控装置10与目标装置11连接在外围组件连接接口总线1之上,而主控装置10可通过外围组件连接接口总线1向目标装置11发出一数据读取的请求,用以使目标装置11准备好相对应的数据,再通过外围组件连接接口总线1将相对应的数据传回给主控装置10进行接收。但在传统的数据读取请求规格中,并未记载有主控装置10所需数据的总长度,因此目标装置11在此次任务中,并不知道主控装置10到底要读取多长的双字组(Double Word,简称DW),而且目标装置11抓取相对应的数据时通常都会有时间上的延迟(latency),因此为了能达到消除延迟(latency)以达到连续传输的目的,预抓取方法(pre-fetch method)便应运而生。
预抓取方法(pre-fetch method)主要精神在于目标装置11会事先多抓取一些数据并暂时存放在总线控制器12中的数据缓冲器120中,进而应付主控装置10后续的数据读取的请求。举例来说,假如外围组件连接接口总线1的规格可供4个总线组件装置(如图中所示的主控装置10)进行连接,而数据缓冲器120中提供8个篮位(basket)来存放数据,每个篮位的容量为8个四字组(Quadruple Word,简称QW)。而为了防止4个总线组件装置抢夺数据缓冲器120的空间,最简单的常用作法便是将8个篮位平均分配给4个总线组件装置使用。但是这将导致一个问题,那就是当读取数据的延迟时间(从主控装置10发出一请求“FRAME#”到数据传回“DATAR”)过长,而某一个主控装置分配到的存放预抓取数据的空间不敷使用时,该主控装置就必须停止占用总线而等待清空后才可继续抓取新数据填入。而这在外围组件连接接口总线1上同时连接有三个或四个主控装置时,即使第一个主控装置因缓冲空间不足而停止占用总线,仍有后续排队等候的第二个或第三个主控装置来接着使用总线的机率颇大,因此总线的利用率将可维持在一定水准。但是,当外围组件连接接口总线1上仅连接有两个或一个主控装置时,每个主控装置仍然仅固定分配到2个篮位,而当有一个主控装置因缓冲空间不足而停止占用总线时,仅剩的另一个主控装置(甚至没有另一个总线组件装置)正要排队等候使用总线的机率当然较上述多个主控装置抢用总线的情况要小,而常用手段在此时只能不知变通地将总线处于待机(idle)状态而使总线利用率大幅下降,严重影响整体系统的效能。而如何改善此一常用手段的缺陷,为发展本申请的主要目的。

发明内容
为了实现上述目的,本发明提供一种数据缓冲空间分配方法,应用于一总线控制器,该总线控制器包含有一数据缓冲单元,用以提供数据缓冲空间,该数据缓冲单元供预抓取数据进行存放,该方法包含下列步骤检测连接于该总线上的总线主控装置的数量;若总线主控装置的数量大于一默认值时而使总线控制器进入一第一分配状态;若总线主控装置的数量不大于默认值时,使得总线控制器进入一第二分配状态,而其中第二分配状态中每个总线主控装置所分配到的数据缓冲空间大于该第一分配状态中每个总线主控装置所分配到的数据缓冲空间。
本发明还提供一种总线控制器,该控制器包含一数据缓冲单元,提供存放要传输到总线主控装置的数据的缓冲空间;以及一数据缓冲控制逻辑电路,连接于数据缓冲单元,当检测到连接于总线上的总线主控装置的数目大于一默认值时,则总线控制器进入一第一分配状态;若连接于总线上的总线主控装置的数目不大于一默认值时,则总线控制器进入一第一分配状态。其中第二分配状态下每个总线主控装置所分配到的数据缓冲空间大于该第一分配状态下每个总线主控装置所分配到的数据缓冲空间。


图1是一外围组件连接接口总线的功能方框连接示意图。
图2是运用本申请较佳实施例方法的一外围组件连接接口总线的功能方框示意图。
图3是本申请的较佳实施例方法流程图。
图4是本申请总线控制器内部的一功能方框实例示意图。
其中,附图标记说明如下1 外围组件连接接口总线10 主控装置11 目标装置12 总线控制器120 数据缓冲器2 总线22 总线控制器200 第一主控装置201 第二主控装置202 第三主控装置203 第四主控装置21 目标装置220 数据缓冲单元221 数据缓冲控制逻辑电路0 缓冲器1 缓冲器 2 缓冲器3 缓冲器 4 缓冲器5 缓冲器 6 缓冲器7 缓冲器 222 第一多任务器223 第二多任务器224 第三多任务器具体实施方式
而为能改善上述常用手段的缺陷,本申请发展出一数据缓冲空间分配方法,主要可应用如图2所示的外围组件连接接口总线功能方框示意图之中。
总线2与总线控制器22上可提供多个总线主控装置来进行连接,本例的图中是以最多数量-四个主控装置(第一主控装置200、第二主控装置201、第三主控装置202以及第四主控装置203)以及一个目标装置21来进行说明,而该总线控制器22中数据缓冲单元220包含有8个缓冲器,每个缓冲器的容量为8个四字组,而分别编号为篮位0、篮位1、篮位2、篮位3、篮位4、篮位5、篮位6以及篮位7,所述缓冲器存放目标装置21进行预抓取所得的数据。
本申请的较佳实施例方法流程图则如图3所示。首先,在计算机系统的开机程序中借助其操作系统对其总线架构进行连接组件扫描时,检测出总线2实际上连接了几个总线主控装置,然后将检测到的主控装置数量传送到总线控制器22进行比较与后续处理。当检测到实际连接的总线主控装置数量大于一默认值时,便使得总线控制器22进入一第一分配状态,而当检测到实际连接的总线组件装置数量不大于默认值时,便使得总线控制器22进入一第二分配状态。
举例来说,假设默认值为2时,则如果实际连接到总线的主控装置数目超过2个的时候,则总线控制器22进入第一分配状态,反之如果检测到实际连接到总线的主控装置数目不超过2个的时候,则总线控制器22进入第二分配状态。
而第一分配状态下每个主控装置所分配到的数据缓冲空间小于第二分配状态下每个主控装置所分配到的数据缓冲空间。亦即在第一分配状态下每个主控装置所分配到的缓冲器数目比在第二分配状态下每个主控装置所分配到的缓冲器数目少。
以本例而言,在第一分配状态时,8个缓冲器是以两个一组来分配给4个主控装置,而在第二分配状态时,8个缓冲器是以4个一组来分配给两个主控装置。
如此一来,当总线上仅接有两个或两个以下的主控装置时,原本闲置的数据缓冲空间便可弹性地进行重新分配,使得每个主控装置可分配到较多的数据缓冲空间,如此将可让外围组件连接接口总线上仅连接有两个或一个主控装置时,总线利用率仍可有效维持,进而提升整体系统的效能,有效改善常用手段的缺陷,达成发展本申请的主要目的。
再请参见图4,其是上述总线控制器22内部的一功能方框实例示意图,其主要由一数据缓冲控制逻辑电路221、数据缓冲单元220(本例包含有8个缓冲器,每个缓冲器的容量为8个四字组分别编号为篮位0、篮位1、篮位2、篮位3、篮位4、篮位5、篮位6以及篮位7)、第一多任务器222、第二多任务器223以及第三多任务器224所组成。其中该数据缓冲控制逻辑电路221便可响应操作系统对其总线架构进行连接组件扫描时所检测出总线2实际上连接的总线组件装置的数量来决定进入第一分配状态或第二分配状态。
在本发明中,假设可连接的主控装置数量最多为4,而当检测到实际连接到总线的主控装置数量大于2时,使得总线控制器22进入第一分配状态,即8个缓冲器是以两个一组来分配给最多4个主控装置(图中即表示出篮位0、篮位1为第一组,篮位2、篮位3为第二组,篮位4、篮位5为第三组,篮位6以及篮位7为第四组)。而当检测到实际连接到总线的主控装置数量不大于2时,使得总线控制器22进入第二分配状态,即8个缓冲器是以4个一组(图中即表示出篮位0、篮位1、篮位2、篮位3为第一组,篮位4、篮位5、篮位6以及篮位7为第二组)来分配给最多两个主控装置。
本发明第一实施例中假设有四个总线组件装置第一主控装置200、第二主控装置201、第三主控装置202以及第四主控装置203连接至总线2时,根据本发明上述的方法,总线控制器22进入第一分配状态。
当处在第一分配状态时,第一主控装置200被分配到篮位(0,1),第二主控装置201被分配到篮位(2,3),第三主控装置202被分配到篮位(4,5),第四主控装置203被分配到篮位(6,7)。因此数据缓冲控制逻辑电路221对第一多任务器222与第二多任务器223所分别发出的第一选择信号与第二选择信号都维持在低电压电平(以逻辑“0”代表)。
而数据缓冲控制逻辑电路221对第三多任务器224发出第三选择信号,是用以选择哪一个主控装置拥有总线的使用权。在本实施例中,假设当第三选择信号为00则表示第一主控装置200拥有总线的使用权,当第三选择信号为01则表示第二主控装置201拥有总线的使用权;当第三选择信号为10则表示第三主控装置202拥有总线的使用权;当第三选择信号为11则表示第四主控装置203拥有总线的使用权。
如此一来,第一主控装置200、第二主控装置201、第三主控装置202以及第四主控装置203将平均分配到篮位(0,1)、篮位(2,3)、篮位(4,5)以及篮位(6,7)的缓冲器。
在本发明实施例中,若是连接有三个主控装置时,将仅会有两个缓冲器被闲置,但若连接有两个主控装置或一个主控装置时,本例将进入第二分配状态。
本发明第二实施例中假设只有二个主控装置第一主控装置200以及第二主控装置201连接至总线2时,根据本发明上述的方法,数据缓冲控制逻辑电路221使得总线控制器22进入第二分配状态。
当处在第二分配状态时,第一主控装置200被分配到篮位(0,1)以及篮位(4,5),而第二主控装置201被分配到篮位(2,3)以及篮位(6,7)。因此数据缓冲控制逻辑电路221分别发出第一选择信号与第二选择信号至第一多任务器222与第二多任务器223。假设第一选择信号为“0”时,便将篮位(0,1)中的数据送到第一主控装置200;第一选择信号为“1”时,将篮位(4,5)中的数据送到第一主控装置200。第二选择信号为“0”时,将篮位(2,3)中的数据送到第二主控装置201;第二选择信号为“1”时,则将篮位(6,7)中的数据送到第二主控装置201。
另外在本实施例中,假设当第三选择信号为00则表示第一主控装置200拥有总线的使用权,当第三选择信号为01则表示第二主控装置201拥有总线的使用权。
如此一来,第一主控装置200以及第二主控装置201将平均分配到篮位,亦即第一主控装置200可使用篮位(0,1)以及篮位(4,5)的缓冲器,而第二主控装置201可使用篮位(2,3)、篮位(6,7)的缓冲器。
在本发明中该缓冲器的数目为可连接至该总线的该主控装置最大数目的整数倍。
当然,上述例子仅是为清楚说明本申请的技术手段,因此并不限定其主控装置与缓冲空间单位的数目,但所述缓冲空间单位的数量通常为该总线上可连接的总线组件装置的最大数量的整数倍。而也不一定是要分成两种分配状态,三个或更多也是可行的,只需增加多任务器数目及选择信号的变化即可,故在此不与赘述。
综上所述可知,本申请可有效增加总线利用率,进而达成发展本申请的主要目的。因此凡其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在本申请的中请专利范围内。
权利要求
1.一种数据缓冲空间的分配方法,用以分配连接到一外围装置连接接口总线上的主控装置所可以使用的缓冲空间,该方法包含有检测连接至该外围装置连接接口总线上的主控装置的数目;其中若所述主控装置的数目大于一默认值,则使用一第一分配状态配置该数据缓冲空间给所述主控装置;若所述主控装置的数目不大于该默认值,则使用一第二分配状态配置该数据缓冲空间给所述主控装置。
2.根据权利要求1所述的数据缓冲空间的分配方法,其中使用第一分配状态时所述主控装置可以使用的数据缓冲空间小于使用第二分配状态时所述主控装置可以使用的数据缓冲空间。
3.根据权利要求1所述的数据缓冲空间的分配方法,其中可以于计算机系统开机时由操作系统检测连接至该外围装置连接接口总线的主控装置的数目。
4.根据权利要求1所述的数据缓冲空间的分配方法,其中该方法可以用于一总线控制器中。
5.一种总线控制装置,用以动态分配数据缓冲空间给连接至一外围装置连接接口总线上的所有主控装置,该总线控制包含有一数据缓冲单元,用以提供数据缓冲空间;一数据缓冲控制逻辑电路,连接至该数据缓冲单元,用以根据连接至该外围装置连接接口总线的主控装置数目决定该总线控制装置为一第一分配状态或一第二分配状态,其中当连接至该外围装置连接接口总线的主控装置数目超过一默认值时,则使用该第一分配状态分配数据缓冲空间;其中当连接至该外围装置连接接口总线的主控装置数目不超过该默认值时,则使用该第二分配状态分配数据缓冲空间。
6.根据权利要求5所述的总线控制装置,其中该数据缓冲单元包含有多个缓冲器,该数据缓冲控制逻辑电路根据连接至该外围装置连接接口总线上的主控装置的数目,将所述多个缓冲器分配给所述主控装置。
7.根据权利要求6所述的总线控制装置,其中该总线控制器还包含有多个多任务器,其连接至该数据缓冲单元,该数据缓冲控制逻辑电路分别对所述多个多任务器发出选择信号,用以选择所述主控装置所可以使用的缓冲器,并分配该数据缓冲空间给连接至该外围装置连接接口总线的主控装置。
8.根据权利要求6所述的总线控制装置,其中所述主控装置于该第一分配状态下所分配到的缓冲器数目小于该第二分配状态下所可以分配到的缓冲器数目。
9.根据权利要求6所述的总线控制装置,其中所述缓冲器的数目为可以连接至该总线的主控装置最大数目的整数倍。
10.根据权利要求6所述的总线控制装置,其中可以于计算机系统开机时由操作系统检测连接至该总线的主控装置的数目。
全文摘要
本发明涉及一种总线控制器及数据缓冲空间分配方法,其应用于控制一总线,该总线可供多个主控装置进行信号连接,该控制器包含一数据缓冲单元以及一数据缓冲控制逻辑电路。而该方法包含检测连接于该总线上的总线主控装置的数量,若主控装置的数量大于一默认值时,则数据缓冲控制逻辑电路使总线控制器进入一第一分配状态;反之若主控装置的数量不大于一默认值时,则数据缓冲控制逻辑电路使总线控制器进入一第二分配状态。其中第二分配状态中每个主控装置所分配到的数据缓冲空间大于第一分配状态中每个主控装置所分配到的数据缓冲空间。
文档编号G06F12/08GK1744060SQ200510113758
公开日2006年3月8日 申请日期2005年10月14日 优先权日2005年10月14日
发明者赖瑾, 苏俊源, 郑渊综 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1