数据储存与传送方法技术

技术编号:2920667 阅读:155 留言:0更新日期:2012-04-11 18:40
本发明专利技术为一种数据储存与传送方法,应用于总线、总线控制器以及上游元元件之间,该方法包含下列步骤:上游元件根据通过总线及总线控制器所传送读取指令而回传数据,其中数据包含有n组子数据,n为大于等于1的正整数;当总线控制器接收到数据中的第一子数据在数据中尚未送出的子数据中为优先权最高时,便将暂存于总线控制器的第一子数据送出至总线并将原来用以暂存第一子数据的缓存空间释放。

【技术实现步骤摘要】

本专利技术涉及一种,特别涉及应用于总线、总线控制器以及上游元件之间的总线控制器及数据缓冲空间分配方法。
技术介绍
请参见图1,其是个人计算机系统内部的功能方框示意图,其主要包含有中央处理单元10、核心逻辑芯片组11以及总线12。而因为某些规格的中央处理单元10(例如AMD所发布的K8处理器)在处理完核心逻辑芯片组11所发出的读取指令(read cycle)时,并不一定会按照原先的顺序把处理完成的数据回传至总线12上,因此核心逻辑芯片组11中的公用总线控制器110便进行重新排序(reorder)的动作来解决这一问题。举例来说,当核心逻辑芯片组11通过总线12依序对中央处理单元10发出编号为1、2、3、4的四个读取指令(read cycle)进行处理,但经中央处理单元10处理后所回传的数据,其回传顺序变成了对应于编号3、编号4、编号1、编号2读取指令的4组回传数据,于是回传数据会先暂存于总线控制器110中的数据缓存器1100之中,然后再依原先顺序送出至总线12上进行传送。但在这种公用的重新排序机制中,当中央处理单元10尚未完全回传对应于编号1读取指令与编号2读取指令的回传数据至数据缓存器1100时,即使总线控制器110已先接收并暂存在数据缓存器1100中的对应于编号3、编号4读取指令的回传数据,也无法被先送出至总线12并将所占据的缓存器空间释出,造成系统资源无法有效地被利用。有鉴于此,如何有效改善上述公用机制缺点的技术手段,为本专利技术的主要目的。
技术实现思路
本专利技术为一种,应用于总线、总线控制器以及上游元件之间,该方法包含下列步骤该上游元件根据通过该总线及该总线控制器所传送的读取指令而回传一组数据,其中数据包含有n组子数据,n为大于等于1的正整数;当该总线控制器接收到数据的第一子数据时,便将已暂存于总线控制器的第一子数据送出至总线并将原来用以暂存第一子数据的缓存空间释放。本专利技术所述的,其所应用于的总线为PCI Express总线,总线控制器包含在核心逻辑芯片组中,上游元件可为中央处理单元。本专利技术所述的,其中总线控制器根据n的大小而设有数值范围为0至n-1的地址指针及具有n个位的使能位数组,而当总线控制器接收到数据中的子数据时,便根据该子数据的编号将使能位数组中对应的位使能(例如由0转成1),而当地址指针的值所指到使能位数组中的位为1(使能)时,便将暂存于总线控制器的对应的子数据送出至总线并将地址指针加上1。本专利技术所述一种,应用于总线、总线控制器以及上游元件之间,该方法包含下列步骤该上游元件根据通过该总线及该总线控制器所传送的第一读取指令而回传第一组数据,该第一组数据包含有n组子数据,n为大于1的正整数;该上游元件根据由该总线及该总线控制器所传送的第二读取指令而回传第二组子数据,该第二组数据包含有m组子数据,m为大于1的正整数;当该总线控制器接收到该第一组数据中的第一子数据在该第一组数据中尚未送出的子数据中优先权最高时,便将已暂存于该总线控制器的该第一子数据送出至该总线并将原来用以暂存该第一子数据的缓存空间释放;以及当该总线控制器接收到该第二组数据中的第二子数据在该第二组数据中尚未送出的子数据中优先权最高时,便将已暂存于该总线控制器的该第二子数据送出至该总线并将原来用以暂存该第二子数据的缓存空间释放。本专利技术所述的,其所应用的该总线为PCI Express总线,该总线控制器包含在核心逻辑芯片组中,该上游元件可为中央处理单元,其中该总线控制器根据n的大小而设有数值范围为0至n-1的第一地址指针及具有n个位的第一数组,而当该总线控制器接收到该第一组数据中的子数据时,便根据该子数据的编号将该第一数组中相对应的位由0转成1,而当该第一地址指针的值所指到的该第一数组中的位为1时,便将暂存于该总线控制器的该相对应子数据送出至该总线并将该第一地址指针加上1,另外,该总线控制器根据m的大小而设有数值范围为0至m-1的第二地址指针及具有m个位的第二数组,而当该总线控制器接收到该第二组数据中的子数据时,便根据该子数据的编号将该第二数组中相对应的位由0转成1,而当该第二地址指针的值所指到的该第二数组中的位为1时,便将暂存于该总线控制器的该相对应子数据送出至该总线并将该第二地址指针加上1。本专利技术所述的,其中所述子数据的优先权以其编号最小者代表其优先权越高,用以暂存所述子数据的缓存空间为设于该总线控制器中的数据缓存器,其中该数据缓存器中同时存有编号相邻的同组子数据且其中又有为该组数据中尚未送出的子数据中优先权最高的子数据时,可将相邻的子数据整合成一组后一起送出,但数量的最大值必须遵循最大酬载尺寸规则。本专利技术所述的,其中当该总线控制器同时收到该第一组数据中的该第一子数据与该第二组数据中的该第二子数据,而该第一子数据在该第一组数据中尚未送出的子数据中为优先权最高且该第二子数据也在该第二组数据中尚未送出的子数据中为优先权最高,再进行仲裁机制来决定先处理谁,而该仲裁机制可为平等轮流式优先权机制或是固定优先权机制。本专利技术所述一种数据储存与传输的方法,其中根据读取指令而得到数据,而该数据包含有至少一组子数据,该数据设有地址指针以及使能位数组,该地址指针指向该使能位数组的其中一位,而该使能位数组的每一位对应该子数据,该方法包含有当收到该数据的其中一组该子数据时,将对应该子数据的位使能;以及当该地址指针所指到的位为使能时,输出对应的该子数据。本专利技术所述的数据储存与传输的方法,其中该方法适用于PCIE系统中,当输出对应的该子数据后,将该地址指针值加一,该地址指针默认值为0,该地址指针预设指向该使能位数组的第一位,而该第一位对应该数据的第一组子数据。本专利技术所述的数据储存与传输的方法,其中还包含当输出该子数据后,利用完成信号用以释放该子数据所占用的空间的步骤,而当连续两组以上该子数据所对应的位为使能时,则依照顺序每次输出该地址指针所对应到的一组该子数据,或是当连续两组以上该子数据所对应的位为使能时,则同时输出所有对应到的该子数据,而同时输出的所有该子数据容量遵循最大酬载尺寸规则。本专利技术所述一种数据储存与传输的方法,该方法包含有发出多个读取指令以得到多组数据,其中每一组该数据都包含有至少一组子数据,每一组该数据都设有对应的地址指针以及对应的使能位数组,该地址指针指向对应的该使能位数组的其中一位,而该使能位数组的每一位对应一组该子数据;当收到其中一个该数据的其中一该子数据时,将对应该子数据的位使能;以及当对应该地址指针所指到的位为使能时,将对应的该子数据送出。本专利技术所述的数据储存与传输的方法,其中该方法适用于PCIE系统中,当输出对应的该子数据后,将该地址指针值加一,其中每一个该地址指针默认值都设为0,每一个该地址指针预设指向该对应使能位数组的第一位,而该第一位对应该数据的第一组子数据。本专利技术所述的数据储存与传输的方法,其中还包含当输出该子数据后,利用完成信号用以释放该子数据所占用的空间的步骤,而当同一组该数据中有连续两组以上该子数据所对应的位为使能时,则依照顺序每次输出该地址指针所对应的一组该子数据,或是当同一组该数据中有连续两组以上该子数据所对应的位为使能时,则同时输出所有对应的该子数据,而同时输出的所有该子数据容量遵循最大酬载尺寸规则,其中当有本文档来自技高网...

【技术保护点】
一种数据储存与传送方法,应用于总线、总线控制器以及上游元件之间,该方法包含下列步骤: 该上游元件根据通过该总线及该总线控制器所传送的第一读取指令而回传第一组数据,该第一组数据包含有n组子数据,n为大于1的正整数;该上游元件根 据由该总线及该总线控制器所传送的第二读取指令而回传第二组子数据,该第二组数据包含有m组子数据,m为大于1的正整数;当该总线控制器接收到该第一组数据中的第一子数据在该第一组数据中尚未送出的子数据中为优先权最高时,便将已暂存于该总线控制 器的该第一子数据送出至该总线并将原来用以暂存该第一子数据的缓存空间释放;以及当该总线控制器接收到该第二组数据中的第二子数据在该第二组数据中尚未送出的子数据中为优先权最高时,便将已暂存于该总线控制器的该第二子数据送出至该总线并将原来用 以暂存该第二子数据的缓存空间释放。

【技术特征摘要】

【专利技术属性】
技术研发人员:苏俊源
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1