预防总线交易碰撞的方法与计算机系统的制作方法

文档序号:6468966阅读:228来源:国知局
专利名称:预防总线交易碰撞的方法与计算机系统的制作方法
技术领域
本发明有关于一种预防总线交易碰撞的机制,特别是有关
于一种预防系统管理总线(System Management Bus, SM Bus)以及/或内部整合电路(Inter-Integrated Circuit, 12<:)总线产生交易石並4童的一几制。
背景技术
系统管理总线(System Management Bus, SM Bus)与内部整合电路(Inter-Integrated Circuit, "C)总线为系统中连接重要装置的一个"l妻口。 SM Bus与^C总线具有两条可双向传输的线,用以与相连的装置沟通,其包括 一数据线用以传输数据信号以及一时脉线用以传输时脉信号。SM Bus与"C总线的规格虽由不同的机构所定义,但其传输通讯协议大体相同。 一般而言,SM Bus与fC总线的两条线在无交易进行时,会保持在高逻辑电平,并且在数据传输的过程中,数据信号由高至低或由低至高的逻辑电平转换仅在时脉信号具有高逻辑电平时允许被发生。
由于系统内无"i仑是主装置(Master Device)或副装置(SlaveDevice),只要是需通过SM Bus或"C总线进行交易的装置,皆必须要连接到SM Bus或^C总线,因此系统中可能存在多个可主动触发交易的主装置同时连接到SM Bus或"C总线。然而,因为各主装置无法得知其它主装置何时会触发交易,因此一旦一个以上主装置同时触发交易,就可能会有交易碰撞的情形发生。有鉴于此,SM Bus与"C总线的规才各定义出侦测交易碰撞的才几制。图1显示SM Bus的数据线与时脉线信号波形图,以及连接到此SM Bus的两主装置的数据线波形图。如图所示,DATA 1代表第 一 主装置的数据线,D ATA 2代表第二主装置的数据线,SDA代表SMBus的数据线,SCL代表SMBus的时脉线。根据SMBus规格所定义的侦测交易碰撞机制,触发交易的主装置可根
因此,当时脉信号具有高逻辑电平并且主装置的数据信号具有低逻辑电平时,则该主装置夺得SMBus的使用权。如图l所示,第一主装置与第二主装置可持续于第一时脉CK1、第二时脉CK2、第三时脉CK3等时间判断其数据线电平。直到第三时脉CK3时,由于第 一 主装置的数据信号在时脉信号具有高逻辑电平时具有高逻辑电平,因此第一主装置可判断出其已丧失SMBus的使用权。
然而,这种仲裁机制会导致没有交易碰撞处理能力的主装置产生数据错误。如图1所示,在第三时脉CK3时,由于第二主装置的数据信号在时脉信号具有高逻辑电平时具有低逻辑电平,因此第二主装置获得SMBus的使用权。另一方面,由于此时第 一 主装置的数据信号在时脉信号具有高逻辑电平时具有高逻辑电平,因此第一主装置丧失SM Bus的使用权。但是,图l所示的DATA1其在CK3之后仍具有高逻辑电平有可能是指有效数据正在传输的信号波形,而非其交易完成的信号波形。即是说,当第二主装置获得SMBus的使用权,此时第一主装置的交易可能仍未完成。若第一主装置没有相应的处理交易碰撞的机制,则第一主装置就会产生数据错误,更可能造成系统产生严重问题。因此,需要一种全新的交易碰撞预防机制,用以进一步预防SM Bus或^C总线的交易碰撞。

发明内容
本发明提供一种预防总线交易碰撞的方法,包括通过一第 一 主装置的 一 侦测引脚侦测 一 总线的 一 第 一 交易的 一 开始阶段,其中第一交易由耦接至总线的一第二主装置驱动;当该侦测引脚侦测到开始阶段时,等待一既定时间,其中第一交易在该既定时间内完成;以及在该既定时间后驱动第一主装置的一
第二艾易o
本发明还提供一种计算机系统,包括一总线、 一第一主装置、 一第二主装置以及一处理器。总线包括一数据线与一时脉线。第一主装置耦接至总线,第一主装置侦测数据线上的一第一交易的一开始阶段,并且侦测到开始阶段时,第一主装置发出一中断信号,并且根据一交易指令驱动第一主装置的一第二交易。处理器耦接至第一主装置,用以接收中断信号,其中当处理器接收到中断信号时,于一既定时间后发出交易指令。第二主装置耦接至总线,驱动第一交易,第一交易在既定时间内完成。
本发明可预防非周期性的占用总线的交易与总线上其它主装置的交易产生碰撞,以避免交易碰撞所产生的不可预期的错误,使计算机系统可更稳定地操作。


图1显示SM Bus的数据线与时脉线信号波形图以及连接到
此SM Bus的两主装置的数据线波形图。
图2显示根据本发明的 一 实施例所述的计算机系统。
图3显示总线于交易过程中数据线与时脉线的信号电平变
化范例。
图4显示根据本发明的另 一实施例所述的计算机系统。图5显示根据本发明的 一 实施例所述的总线交易碰撞预防方法流程图。
图6显示根据本发明的一实施例所述的总线的数据线与时脉线,以及连接到此总线的第 一 和第二主装置的数据线的波形图。
具体实施例方式
为使本发明的制造、操作方法、目标和优点能更明显易懂,下文特举几个4交佳实施例,并配合所附图式,作详细说明如下实施例
图2显示根据本发明的 一 实施例所述的计算机系统。计算机系统200包括处理器201、存储器装置202、主装置203与205、副装置204以及总线206。总线206包括 一 数据线DATA与 一 时脉线CLOCK。主装置203与205以及副装置204皆耦接至总线206。处理器201耦接至存储器装置202与主装置203,用以执行存储器装置2 02所储存的 一 系统程序,并对应地发出指令用以控制主装置203。
根据本发明的 一 实施例,总线206可以是系统管理总线(System Management Bus , SM Bus)或内部整合电3各(Inter-Integrated Circuit, 12(3)总线之一。图3显示总线于交易过程中数据线与时脉线的信号电平变化范例。如图所示,当总线
上无交易进行时,时脉线CLOCK与数据线DATA皆会保持在高逻辑电平。当耦接至总线的一主装置欲驱动一交易时,主装置输出具有低逻辑电平的 一 数据信号至数据线D ATA,使得数据线DATA在时脉为高逻辑电平时,产生由高逻辑电平转换至低逻辑电平的一下降边沿(falling edge),以控制总线进入开始阶段(start phase),开始进行交易。而当主装置欲结束交易时,主装置于时脉线CLOCK输出具有高逻辑电平的 一 时脉时,输出具 有由低逻辑电平转换至高逻辑电平的 一数据信号至数据线 DATA,使数据线DATA在时脉为高逻辑电平时产生一上升边沿 (rising edge),用以控制总线进入一结束阶段(stop phase),以完 成交易。
根据本发明的一实施例,如图2所示的主装置203包括一额 外的侦测引脚300耦接至数据线DATA用以侦测总线206如图3 所示的开始阶段,例如侦测数据线DATA由高逻辑电平转换至 低逻辑电平的一下降边沿(falling edge)。其中此开始阶段可能 是由主装置205或其它耦接至总线206的主装置所驱动的交易的 开始阶段。当侦测引脚300侦测到总线206的开始阶段时,另一 主装置203发出 一中断信号至处理器201。处理器201于一既定时 间区后发出一交易指令至主装置203,其中此等待的既定时间区 足够让总线206上目前进行的交易完成。接着,主装置203根据 接收到的交易指令驱动总线206进行交易。举例而言,该交易是 用以通过总线206存取副装置204的数据,并且在存取到副装置 204的数据后,将副装置数据回传至处理器201。处理器201接着 将接收到的副装置数据储存于存储器装置202 。根据本发明的一 实施例,存储器装置202所储存的系统程序可包括至少 一应用程 序。当处理器201执行到的应用程序需要副装置的数据时,可产 生至少一副装置存取信号用以指示处理器201存取副装置204。 此时,处理器201根据储存于存储器装置202的副装置数据回应 副装置存取信号,用以提供应用程序所需要的数据。
图4显示根据本发明的另 一实施例所述的计算机系统。计算 机系统400包括处理器401、存储器装置402、北桥芯片407、南 桥芯片411、总线控制器403、主装置405、副装置404以及总线 406。总线406包括一数据线DATA与一时脉线CLOCK。总线控制器403、主装置405以及副装置404皆耦接至总线406。北桥芯 片407耦接至存储器装置402、南桥芯片411以及处理器401,用 以承接并分配处理器401的指令,作为存储器装置402、南桥芯 片411以及处理器401之间信号传输的桥梁。处理器401执行存储 器装置402所储存的 一 系统程序,并对应地发出指令用以控制周 边装置(例如南桥芯片411)。根据本发明的一实施例,处理器401 可以是一中央处理器(Central Processing Unit, CPU);存储器装 置402可以是一动态随机存取存储器(Dynamic Random Access Memory, DRAM);总线406可以是SM Bus或l2C总线;总线控 制器403可以是一SM Bus或"C总线控制器;副装置404可以是 一电池装置。此外,根据本发明的一实施例,总线控制器403 可以视为系统中的一主装置,其可通过软件控制并触发总线上 的交易,举例而言,该交易是通过程序码使总线406存取总线上 副装置(例如,404)的状态数据。根据本发明的一实施例,而主 装置4 0 5可以视为总线40 6上的另 一 主装置,例如 一 充电器芯片, 其可自动定期地触发总线406上的交易(非由软件来控制),因此 上述的"既定时间"可依主装置4 0 5完成 一 次交易所需得时间而 设定。而且,该交易会通过总线406自动定期地存取总线上副装 置(例如,404)的状态数据。另外,根据本发明的一实施例,存 储器装置402所储存的系统程序可以是一操作系统(Operating System, OS)程序,并且北桥芯片407与南桥芯片411可更整合 成一芯片组(chipset)500。
根据本发明的 一 实施例,南桥芯片内的总线控制器403包括 一额外的侦测引脚410耦接至数据线DATA用以侦测如图3所示 的总线406的开始阶段,其中此开始阶段可能是由主装置405或 其它耦接至总线406的主装置所驱动的交易的开始阶段。当侦测 引脚410侦测到总线406的开始阶段时,总线控制器403发出 一 中
10断信号,例如一系统控制中断(System Control Interrupt, SCI) 信号,至北桥芯片407,并且北桥芯片407将此中断信号发送至 处理器401(例如,CPU)。系统程序(例如,OS程序)可根据此中 断信号呼叫对应的先进配置电源接口 (Advanced Configuration and Power Interface, ACPI)程序语言(ACPI Source Language, ASL)的程序码。其中此ASL程序码可设计成,等待足够让总线 406上目前进行的交易结束的一既定时间区,并使得处理器401 于此既定时间区后发出一交易指令至总线控制器403。接着,总 线控制器4 0 3根据接收到的交易指令驱动总线4 0 6进行交易。举 例而言,该交易通过总线406存取副装置404的数据,并且在存 取到副装置404的数据后,将副装置数据回传至处理器401。处 理器401接着将接收到的副装置数据储存于存储器装置402(例 如,DRAM)。
根据本发明的一实施例,存储器装置402所储存的系统程序 (例如,OS程序)可包括至少一应用程序。当处理器401执行到的 应用程序需要副装置的数据时,可产生至少 一 副装置存取信号 用以指示处理器401存取副装置404。此时,处理器401并不指示 总线控制器403驱动总线406进行交易,而是根据储存于存储器 装置402的副装置数据回应副装置存取信号,用以提供应用程序 所需要的数据。其中,此副装置数据以经由总线控制器403预先 利用空档存取副装置404而储存于存储器装置402中。
如此一来,本发明可预防非周期性的占用总线的交易与总 线上其它主装置的交易产生碰撞,以避免交易碰撞所产生的不 可预期的错误,使计算机系统可更稳定地操作。更进一步说, 由于本发明利用主装置4 0 5的交易完成后的空档才驱动总线控 制器403的交易。因此对于具有不能由软件控制触发交易的性质 的主装置405而言,可以减少与其他主装置交易碰撞发生的机
ii率。而且,由于主装置405是自动、定期地触发交易,所以驱动 总线控制器40 3等待时间(上述的"既定时间")可以依据主装置 405的性质而进行设定,并且是可预期的。如此,当侦测到主装 置405触发交易之后,总线控制器403会进入系统控制中断 (SCI),在中断服务程序中等待主装置405的交易完成并触发自 身交易,以避免交易碰撞。
图5显示根据本发明的 一 实施例所述的总线交易碰撞预防 方法流程图。请同时参考图2与图5,首先,通过一主装置203 的 一侦测引脚300侦测总线206的 一第 一 交易的 一开始阶段,其 中第 一 交易由耦接至总线206的另 一 主装置205驱动(步骤 S501),该侦测引脚300耦接至数据线DATA以侦测总线206如图3 所示的开始阶段,例如侦测总线2 06的数据线D ATA由高逻辑电 平转换至低逻辑电平的一下降边沿(falling edge)。接着,当侦 测引脚300侦测到第一交易的开始阶段时,等待一既定时间,其 中第一交易会在该既定时间内完成(步骤S502),即是说此既定 时间足够让第一交易完成。接着,驱动主装置203的第二交易(步 骤S503),举例而言,此第二交易是使得主装置203可通过总线 存取 一 副装置204的数据,将取得的副装置204数据储存于 一存 储器装置202;在接收到一副装置存取信号时,根据储存于存储 器装置202的副装置数据回应副装置存取信号,而不需驱动主装 置203进行另 一 次交易来存取 一 副装置204的数据。
图6显示根据本发明的 一 实施例所述的总线的数据线与时 脉线,以及连接到此总线的第 一 主装置和第二主装置的数据线 的波形图。如图6所示,DATA l代表第一主装置的数据线(例如 图2的主装置203), DATA2代表第二主装置的数据线(例如图2 的主装置205), DATA代表总线的数据线,CLOCK代表总线的 时脉线。根据本发明所的总线交易碰撞预防方法,如图6所示,当第二主装置欲驱动 一 第 一 交易时,在其数据线D ATA 2上产生 由高逻辑电平转换至低逻辑电平的一下降边沿(falling edge), 以控制总线进入第 一 交易的开始阶段(start phase),开始进行第 一交易。此时第一主装置侦测到第一交易的开始阶段,则等待 一既定时间,即在第二装置的交易阶段期间,第一主装置的数 据线DATA l保持高逻辑电平。而该第一交易欲结束时,第二主 装置于时脉线CLOCK输出具有高逻辑电平的一时脉期间,在其 数据线DATA 2上产生由低逻辑电平转换至高逻辑电平的 一 上 升边沿(rising edge),用以控制总线进入第 一 交易的结束阶段 (stopphase),以完成第一交易。而第 一主装置在第二主装置的 第一交易结束阶段结束以后,再驱动第二交易,即在其数据线 DATA l上产生由高逻辑电平转换至低逻辑电平的 一 下降边沿, 以控制总线进入第二交易的开始阶段(start phase),之后进入第 二交易的交易阶段,开始进行第二交易。如图6所示,总线的数 据线DATA的逻辑电平在第一交易的开始阶段、交易阶段及结 束阶段期间与第二主装置的数据线D ATA 2的逻辑电平 一 致,而 在第二交易的开始阶段及其交易阶段,总线的数据线DATA的 逻辑电平与第 一 主装置的数据线D ATA 1的逻辑电平 一 致。
以上所述仅为本发明较佳实施例,然其并非用以限定本发 明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神 和范围内,可在此基础上做进一步的改进和变化,因此本发明 的保护范围当以本申请的权利要求书所界定的范围为准。
附图中符号的简单说明如下
200、 400:计算机系统
201、 401:处理器
202、 402:存储器装置
203、 205、 405:主装置204、404:副装置
206、406:总线
300、410:侦测引脚
403:总线控制器
407:北桥芯片
411:南桥芯片
500:芯片组
CK1、CK2、 CK3:时脉
CLOCK、 SCL:时脉线
DATA、 DATA1、 DATA2、 SDA:数据线。
1权利要求
1. 一种预防总线交易碰撞的方法,其特征在于,包括通过一第一主装置的一侦测引脚侦测一总线的一第一交易的一开始阶段,其中该第一交易由耦接至该总线的一第二主装置驱动;当该侦测引脚侦测到该开始阶段时,等待一既定时间,其中该第一交易在该既定时间内完成;以及在该既定时间后驱动该第一主装置的一第二交易。
2. 根据权利要求l所述的预防总线交易碰撞的方法,其特 征在于,该总线包括一数据线与一时脉线,该第一主装置耦接 至该总线,并且该侦测引脚耦接至该数据线。
3. 根据权利要求2所述的预防总线交易碰撞的方法,其特 征在于,于该开始阶段,该时脉线具有高逻辑电平,该第二主 装置驱动该数据线由高逻辑电平转换至低逻辑电平,以控制该 总线开始进行该第一交易。
4. 根据权利要求l所述的预防总线交易碰撞的方法,其特 征在于,该总线为系统管理总线或内部整合电路总线。
5. 根据权利要求l所述的预防总线交易碰撞的方法,其特 征在于,该第二交易是该第一主装置通过该总线存取一副装置 的数据,其中该预防总线交易碰撞的方法还包括下列步骤储存该副装置的数据于一存储器装置;以及 在接收到至少 一 副装置存取信号时,根据储存于该存储器 装置的该副装置的数据回应该副装置存取信号。
6. 根据权利要求l所述的预防总线交易碰撞的方法,其特 征在于,当该侦测引脚侦测到该开始阶段时,进入一中断服务 程序以等待该既定时间。
7. 根据权利要求l所述的预防总线交易碰撞的方法,其特 征在于,该第一交易是由该第二主装置自动定期地触发。
8. —种计算机系统,其特征在于,包括 一总线,包括一数据线与一时脉线;一第一主装置,耦接至该总线,其中该第一主装置侦测该 数据线上的 一 第 一 交易的 一 开始阶段,并且当侦测到该开始阶 段时,该第一主装置发出一中断信号,并且根据一交易指令驱 动该第一主装置的一第二交易;一处理器,耦接至该第一主装置,用以接收该中断信号, 其中当该处理器接收到该中断信号时,于一既定时间后发出该 交易指令;以及一第二主装置,耦接至该总线,驱动该第一交易,该第一 交易在该既定时间内完成。
9. 根据权利要求8所述的计算机系统,其特征在于,于该 开始阶段,该时脉线具有高逻辑电平,该第二主装置驱动该数 据线由高逻辑电平转换至低逻辑电平,以控制该总线开始进行 该第 一 交易。
10. 根据权利要求8所述的计算机系统,其特征在于,该总 线为系统管理总线或内部整合电路总线。
11. 根据权利要求8所述的计算机系统,其特征在于,还包 括一副装置耦接至该总线,一存储器装置耦接至该处理器,而 该第二交易是用以通过该总线存取该副装置的数据,并传送及 储存该副装置的数据至该存储器装置,当该处理器接收到一副 装置存取信号时,根据储存于该存储器装置的该副装置的数据回应该副装置存:f又信号。
12. 根据权利要求8所述的计算机系统,其特征在于,该第 一主装置配置于一芯片组内。
13. 根据权利要求8所述的计算机系统,其特征在于,该第 一主装置还包括一侦测引脚,该侦测引脚耦接至该数据线用以侦测该开始阶段
全文摘要
一种预防总线交易碰撞的方法与计算机系统,该计算机系统包括一总线、一第一主装置、一第二主装置及一处理器。总线包括一数据线与一时脉线。第一主装置耦接至总线,第一主装置侦测数据线上的一第一交易的一开始阶段,并且侦测到开始阶段时,第一主装置发出一中断信号,并且根据一交易指令驱动第一主装置的一第二交易。处理器耦接至第一主装置,用以接收中断信号,其中当处理器接收到中断信号时,于一既定时间后发出交易指令。第二主装置耦接至总线,驱动第一交易,第一交易在既定时间内完成。本发明可预防非周期性的占用总线的交易与总线上其它主装置的交易产生碰撞,以避免交易碰撞所产生的不可预期的错误,使计算机系统可更稳定地操作。
文档编号G06F13/36GK101477500SQ200810189209
公开日2009年7月8日 申请日期2008年12月26日 优先权日2008年12月26日
发明者林皓琳 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1