动态调整总线时钟的方法及其装置的制作方法

文档序号:6424635阅读:271来源:国知局
专利名称:动态调整总线时钟的方法及其装置的制作方法
技术领域
本发明是有关于一种总线时钟调整方法,特别是指一种根据所要存取的装置的工作时钟,动态调整总线时钟的方法。
背景技术
参见图I所示,计算机系统中的总线10,例如系统管理总线(SMBus)或I2C总线可供多个从属装置,例如EEPROM 11、嵌入式控制器(或键盘控制器)12、HDMI传送接收器13等电耦接,且一总线控制器14,例如SMBus总线控制器或I2C总线控制器连接该总线10,以决定总线10的运作时钟并通过总线10对这些从属装置12、13、14进行存取或设定作业。然由于系统管理总线及I2C总线的特性,低速运作的装置,例如嵌入式控制器(或 键盘控制器)12 (最高运作速度为IOOKHz)无法在高速的总线上运作,但高速运作的装置,例如HDMI传送接收器13 (最高运作速度为400KHz)仍可以在较低速的总线上运作,因此基于上述限制,已知的做法是中央处理单元15会设定总线控制器14,使将总线10的运作速度统一设定在最低速的从属装置,例如嵌入式控制器(或键盘控制器)12的最高运作速度,即IOOKHz。此外,由于上述的EEPROM 11只有在开机时才会被中央处理单元15存取,而HDMI传送接收器13只有在使用者插入外部显示器(图未示)时,才需要经由总线10传送控制信号,因此在大多数时间中,总线10主要被用来读取暂存在嵌入式控制器(或键盘控制器)12中的键盘的按键扫描码,且总线10的速度越低越省电,因此,若考虑省电的情况,则应将总线10的运作速度定在IOKHz。然而如此一来,开机的效能(EEPR0M 11被快速存取可加速开机)就会受限于总线10的速度而无法快速开机,且HDMI传送接收器13连接外部显示器时的效能就会受限于总线的速度而无法于外部显示器快速显示画面。

发明内容
因此,本发明的目的,即在于提供一种能提升系统效能又能兼顾省电的动态调整总线时钟的方法及其装置。为达到上述目的,本发明的动态调整总线时钟的方法,应用于一总线控制器,该总线控制器电耦接一中央处理单元及一总线,并控制该总线的一运作时钟,且该总线上电耦接多个从属装置,该方法包括该总线控制器接收该多个从属装置其中之一传来的一请求信号,并根据该请求信号产生一包含该请求信号的一来源地址的存取指令;及该中央处理单元判断该存取指令中包含的该来源地址所对应的该从属装置,并根据该从属装置的一工作时钟设定该总线控制器,使该总线控制器根据该工作时钟调整该总线的运作时钟,且通过该总线对该从属装置执行该存取指令。此外,本发明实现上述方法的动态调整总线时钟的装置,该总线上电耦接多个从属装置,该动态调整总线时钟的装置包括一总线控制器及一中央处理单元。该总线控制器与该总线电耦接,以控制该总线的一运作时钟,且该总线控制器接收该多个从属装置其中之一传来的一请求信号,并根据该请求信号产生一包含该请求信号的一来源地址的存取指令;该中央处理单元,与该总线控制器电耦接,且判断该存取指令中包含的该来源地址所对应的该从属装置,以根据该从属装置的一工作时钟设定该总线控制器,使该总线控制器根据该工作时钟调整该总线的运作时钟,且通过该总线对该从属装置执7TT该存取指令。较佳地,该工作时钟是该从属装置的最高工作时钟,且该总线控制器将该总线的运作时钟调整至与该从属装置的工作时钟相同。较佳地,该总线是SMBus总线、I2C总线或SPI总线其中之一,且该总线控制器是SMBus总线控制器、I2C总线控制器或SPI总线控制器其中之一。
较佳地,该请求信号是一中断信号。较佳地,该中央处理单元是通过执行一总线控制器驱动程序,判断该存取指令中包含的该来源地址所对应的该从属装置,并根据该从属装置的一工作时钟设定该总线控制器。较佳地,该动态调整总线时钟的装置还包括一电耦接在该总线上的总线选择单元,该总线选择单元具有一输入端及至少二输出端,该输入端电耦接该总线,该二输出端分别电耦接另外两条总线,且各该总线电耦接至少一个从属装置,当该请求信号是来自该总线选单元,该中央处理单元根据该存取指令中包含的该来源地址所对应的该从属装置及其工作时钟,设定该总线控制器,使该总线控制器控制该总线选择单元选择该从属装置所电耦接的另外两条总线其中之一,且根据该从属装置的该工作时钟,调整该被选择的总线的运作时钟,以通过该被选择的总线对该从属装置执行该存取指令。本发明的功效在于通过该中央处理单元判断该总线控制器所要存取的从属装置的工作时钟,并令总线控制器根据所要存取的从属装置的工作时钟,动态地对应调整总线的运作时钟,以针对低速的从属装置进行低速存取来达到省电的目的,并针对高速的从属装置进行高速存取以达到提升系统效能的目的,而达到本发明兼顾系统效能及省电的功效和目的。


图I是已知一种系统管理总线与系统管理总线及设置在系统管理总线上的从属装置的示意图;图2是本发明动态调整总线时钟的装置的第一较佳实施例的总线及相关系统元件架构示意图;图3是第一实施例实现本发明动态调整总线时钟的方法的一流程图;图4是第一实施例执行开机程序的流程;图5是SMBus总线控制器的存取指令的数据格式内容示意图;图6是I2C总线控制器的存取指令的数据格式内容示意图;图7是SPI总线控制器通过SPI总线与多个从属装置电耦接的示意图;图8是本发明动态调整总线时钟的装置的第二较佳实施例的总线及相关系统元件架构示意图;图9是第二实施例的总线选择单元以一多工器实现的细部电路图;图10是第二实施例的总线选择单元以一切换开关实现的细部电路图;及图11是第二实施例实现本发明动态调整总线时钟的方法的一流程图。[主要元件标号说明]20 总线20’ SPI 总线21总线控制器21’ SPI总线控制器22中央处理单元(CPU)23 基本输入输出系统(BIOS)
24总线控制器驱动程序25 27从属装置28总线选择单元31 35、91 95步骤81,284 I2C 控制器82、83 开关281,286 输入端282、283、287 289 输出端285选择器821、831输入接点822,823,832,833 输出接点
具体实施例方式有关本发明的前述及其它技术内容、特点与功效,在以下配合参考图式的较佳实施例的详细说明中,将可清楚地呈现。参见图2所示,本发明动态调整总线时钟的装置的第一较佳实施例可应用于一般的个人计算机、笔记本型计算机或平板计算机等计算机系统中,其主要包括一与总线20电耦接以作为主控制器的总线控制器21,一与总线控制器21电耦接的中央处理单元22,以及一预置于基本输入输出系统(BIOS) 23中的总线控制器驱动程序(master driver)24,其中,总线控制器21通常是集成于一南桥芯片(图未示)中,或者和南桥芯片及中央处理单元22—同集成于单一芯片(SoP)中。且总线20可以是目前计算机系统中常用的系统管理总线(System Management Bus,简称 SMBus)、内部集成电路(Inter-Integrated Circuit,简称I2C)总线或串行外围接口(Serial Peripheral Interface,简称SPI)总线等,而总线控制器21可以是SMBus总线控制器、I2C总线控制器或SPI总线控制器,本实施例则是SMBus (以下仍简称总线20)及SMBus总线控制器(以下仍简称总线控制器21)举例说明。总线20可供电耦接多个从属装置,本实施例以3个从属装置25、26、27为例说明,其中从属装置25可以是一 EEPR0M,从属装置26可以是一检测键盘的按键信号的嵌入式控制器或键盘控制器,从属装置27可以是一 HDMI传送接收器,且总线控制器21用以决定总线20的运作时钟并通过总线20对这些从属装置25 27进行存取或设定作业。且由于总线20的特性,低速运作的装置,例如从属装置26(最高运作速度为IOOKHz的嵌入式控制器(或键盘控制器))无法在高速的总线20上运作,但高速运作的装置,例如从属装置27 (最高运作速度为400KHz的HDMI传送接收器)仍可以在较低速的总线20上运作,因此基于上述限制,为了不让从属装置25 27受限于总线的运作速度,本实施例的动态调整总线时钟的装置执行如图3所示的一动态调整总线时钟的方法,首先当系统一开机并执行开机程序时,如图3的步骤31,并参照图4的开机步骤,BIOS 23会初始化总线控制器驱动程序24,使总线控制器21通过总线20读取从属装置(EEPROM) 25中的设定值作为计算机系统的音量或音效的设定值。此时,为了加快从属装置25的存取速度以加速开机效能,总线控制器驱动程序24会通过总线控制器21将总线20的运作时钟设定为该等从属装置25 27中具有最低工作时钟者的最高时钟,亦即将总线21的运作时钟设定为从属装置26的最高工作时钟IOOKHz。并如图4所示,紧接着初始化从属装置(EEPROM) 25并读取从属装置(EEPROM) 25中的设定值,同时初始化从属装置26,并读取从属装置26的厂商代码(vender ID(VID))及产品代码(product ID(PID))以及设定从属装置26等,同时初始化从属装置27,读取从属装置27的VID和PID以及设定从属装置27,当上述操作完成,开机程序即告一段落,然后总线控制器21处于一等待从属装置26、27的请求信号的状态。因此,如图3的步骤32,当总线控制器21收到一请求信号,例如从属装置26收到键盘的按键被按下的一事件并发出一中断信号给总线控制器21,要求总线控制器21去读取从属装置26针对被按下的按键所产生的一扫描码,因此,如步骤33,总线控制器21收到从属装置26的中断信号(即请求信号)后,会产生一存取指令,且如图5所示的存取指令的数据格式中可以看出,该存取指令中包含有请求信号的来源地址(destaddr),亦即从属装置26的地址,且虽然此时总线20的运作时钟刚好是从属装置26的最高工作时钟lOOKHz,总线控制器21可以在此运作时钟下执行存取指令向从属装置26读取按键的扫描码,但考虑到使用者按压按键的速度,总线20的运作时钟其实设定在IOKHz即已足够。因此,本实施例的特点在于,如步骤34,中央处理单元22在总线控制器21执行存取指令之前,会先执行总线控制器驱动程序24,判断该存取指令中包含的来源地址所对应的从属装置26及其工作时钟,例如lOKHz,并设定总线控制器21,使总线控制器21根据该工作时钟调整总线20的运作时钟为lOKHz,再进行步骤35,通过总线20对从属装置26执行该存取指令,藉此,令总线控制器21通过较低速的总线存取从属装置26,而达到环保省电的功效。当上述存取指令执行完成,总线控制器21即再回到步骤32的等待状态,因此,当总线控制器21收到来自从属装置27的一请求信号,例如使用者插接一外接显示器至从属装置(HDMI传送接收器)27而产生一插入(plug-in)信号时,从属装置27会发出一中断信号给总线控制器21,要求总线控制器21去读取外接显示器的设定值,例如EDID (Extendeddisplay identif icationdata,延伸显示能力识别)及支持的分辨率信息等。所以,同样地,如步骤33,总线控制器21产生包含该请求信号的来源地址(即从属装置27的地址)的一存取指令,且由于从属装置27连接一外接显示器后,将有大量的图像数据会通过总线20传输,若总线20的运作速度越快,就越节省传输时间,而能让使用者越快看到外接显示器的显示画面,但先前针对从属装置26所设定的总线速度只有lOKHz,显然太慢,因此,在对从属装置27执行存取指令之前,如步骤34,中央处理单元15会执行总线控制器驱动程序24,根据存取指令所要针对的从属装置27的工作时钟,设定总线控制器21,使总线控制器21根据从属装置27的一工作时钟,例如最高工作时钟400KHz,调整总线20的运作时钟为400KHZ,再进行步骤35,对从属装置27执行存取指令。藉此,在总线控制器21存取从属装置27的期间,可以使从属装置27的运作效能得以被充分发挥而使外接显示器达到最佳显示状态。同理,参见图6所示的I2C总线的存取指令数据格式可知,其中亦包含了请求信号、的来源地址(ADDRESS),即总线控制器21 (I2C总线控制器)所要存取的从属装置的地址,因此中央处理单元22可根据存取指令中的来源地址,令总线控制器21针对发出请求信号的从属装置的工作时钟,对应调整总线20的运作时钟,而达到动态调整总线时钟以适时节省电力或提高系统运作效能的功效。再参见图7所示,本实施例的总线20亦可以是如图7所示的SPI总线,但与前述SMBus总线控制器和I2C总线控制器不一样的是,SPI总线控制器21’以多条芯片选择线ss_0 ss_n与电耦接在总线20’上的从属装置0 从属装置N对应电耦接,当SPI总线控制器21’收到其中一从属装置,例如从属装置0的一请求信号,SPI总线控制器21’会将对应的芯片选择线ss_0的电平拉低(pull low),并产生一包含有发出请求信号的来源地址,即从属装置0的地址的存取指令,因此,同样地,中央处理单元22可根据该存取指令,令SPI总线控制器21’针对发出请求信号的从属装置0的工作时钟,对应调整总线20’的运作时 钟,而达到动态调整总线时钟以省电或提高系统运作效能的功效。此外,由于SMBus有最低运作时钟为IOKHz的规范,但I2C总线的规范则没有规定最低的运作时钟,因此,当总线是采用I2C总线时,考虑更省电的状况,总线控制器驱动程序24可以进一步判断总线控制器21等待的时间(即未收到请求信号的时间)是否已达到一预设时间,若是,则令总线控制器21暂停产生运作时钟,亦即将总线20的运作时钟调整为零,直到总线控制器21再次收到请求信号,再针对发出请求信号的从属装置的工作时钟来对应调整总线20的运作时钟,藉此,达到进一步节能的功效。
参见图8所示,是本发明动态调整总线时钟的装置的第二较佳实施例,与第一实施例不同处在于本实施例还包括一电耦接在总线(下称总线0)上并受总线控制器21控制的总线选择单元28,其具有一个电耦接总线0的输入端281以及两个输出端282、283,其中一输出端282连接一总线(下称总线I),另一输出端283连接另一总线(下称总线2),且总线O、总线I及总线2上分别电耦接至少一个从属装置,且较佳的做法是将工作时钟相同或相近的从属装置设置在同一总线上,例如总线0上电耦接工作时钟较高或相同的从属装置A及从属装置B,总线I上电耦接从属装置C,总线2上电耦接从属装置D,且从属装置C及从属装置D的工作时钟不相同并且较从属装置A及从属装置B的工作时钟低。且如图9所示,总线选择单元28可以是图9所示的一种多工器(可采用PCA954X或类似的硬件),其包含一 I2C控制器284及一个选择器285,I2C控制器284与总线控制器21电耦接,以将从属装置C的请求信号(中断信号I)或从属装置D的请求信号(中断信号2)传送给总线控制器21。选择器285具有一个输入端286及三个输出端287 289,输入端286连接总线0,输出端287连接总线1,输出端288连接总线2,输出端289悬空。I2C控制器284根据总线控制器21的命令,控制选择器285选择三个输出端287 289其中之一,使总线0连接至总线I、总线2或者不连接。再参见图10所示,总线选择单元28也可以采用图10所示的一种切换开关,其包含一 I2C控制器81及两个开关82、83,I2C控制器81与总线控制器21电耦接,以将从属装置C的请求信号(中断信号I)或从属装置D的请求信号(中断信号2)传送给总线控制器
21。每一开关82、83各有一输入接点821、831及两个输出接点822、823、832、833,其中,开关82的输入接点821连接总线0,其一输出接点822连接总线1,另一输出接点823悬空,I2C控制器81可控制输入接点821与输出接点822或823电耦接;开关83的输入接点831连接总线O,其中一输出接点832连接总线2,另一输出接点833悬空,I2C控制器81可控制输入接点831与输出接点832或833电耦接。因此,I2C控制器81可根据总线控制器21的命令控制两个开关82、83其中之一导接总线O与总线I或导接总线O与总线2,使总线O连接至总线I或总线2或者皆不连接。藉此,如图11的步骤91,当系统完成开机程序后,进行步骤92(如同上述图3的步骤32),总线控制器21等待来自从属装置的一请求信号,并于收到例如从属装置C的一请求信号时,执行步骤93 (如同上述图3的步骤33),总线控制器21会产生一针对发出该请求信号的该从属装置C的存取指令,然后,如步骤94,中央处理单元22根据存取指令所针对的从属装置C的工作时钟,设定总线控制器21,使总线控制器21控制总线选择单元28选择从属装置C所电耦接的总线1,并调整该总线I的运作时钟为从属装置C的工作时钟(或最高工作时钟),再经由总线I对从属装置C执行存取指令,此时总线0的运作时钟与总线I相同,而总线2与总线I相隔离且其运作时钟为零。同理,当从属装置D向总线控制器21发出请求信号时,中央处理单元22将根据总 线控制器21产生的针对从属装置D的存取指令,设定总线控制器21,使控制总线选择单元28选择从属装置D所电耦接的总线2,并根据从属装置D的工作时钟调整总线2的运作时钟,再经由总线2对从属装置D执行存取指令,此时总线0的运作时钟与总线2相同,而总线I与总线2相隔离且其运作时钟为零。同样地,当总线0上的从属装置A或从属装置B发出请求信号时,中央处理单元22会根据从属装置A或从属装置B的工作时钟要求总线控制器21调整总线0的运作时钟为从属装置A或从属装置B的工作时钟(或最高工作时钟),此时,总线控制器21控制总线选择单元28不动作,使总线I及总线2的运作时钟为零,并与总线0完全隔离。综上所述,上述实施例通过中央处理单元22判断总线控制器21所要存取的从属装置的工作时钟,并令总线控制器21根据所要存取的从属装置的工作时钟,动态地对应调整总线20的运作时钟,以针对低速的从属装置进行低速存取来达到省电的目的,并针对高速的从属装置进行高速存取以达到提升系统效能的目的,确实达到本发明兼顾系统效能及省电的功效和目的。惟以上所述者,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范围,即大凡依本发明权利要求范围及发明说明内容所作的简单的等效变化与修饰,皆仍属本发明权利要求涵盖的范围内。
权利要求
1.一种动态调整总线时钟的方法,用于一总线控制器,该总线控制器电耦接一中央处理单元及一总线,并控制该总线的一运作时钟,且该总线上电耦接多个从属装置,该方法包括 该总线控制器接收该多个从属装置其中之一传来的一请求信号,并根据该请求信号产生一包含该请求信号的一来源地址的存取指令;及 该中央处理单元判断该存取指令中包含的该来源地址所对应的该从属装置,并根据该从属装置的一工作时钟设定该总线控制器,使该总线控制器根据该工作时钟调整该总线的运作时钟,且通过该总线对该从属装置执行该存取指令。
2.根据权利要求I所述的动态调整总线时钟的方法,其中该工作时钟是该从属装置的最高工作时钟,且该总线控制器将该总线的运作时钟调整至与该从属装置的工作时钟相同。
3.根据权利要求I所述的动态调整总线时钟的方法,其中该总线是系统管理总线且该总线控制器是系统管理总线控制器,或者该总线是内部集成电路总线且该总线控制器是内部集成电路总线控制器,或者该总线是串行外围接口总线且该总线控制器是串行外围接口总线控制器。
4.根据权利要求I所述的动态调整总线时钟的方法,其中该请求信号是一中断信号。
5.根据权利要求I所述的动态调整总线时钟的方法,其中该中央处理单元是通过执行一总线控制器驱动程序,判断该存取指令中包含的该来源地址所对应的该从属装置,并根据该从属装置的该工作时钟设定该总线控制器。
6.根据权利要求I所述的动态调整总线时钟的方法,还包括 在该总线上电耦接一总线选择单元,该总线选择单元具有一输入端及至少二输出端,该输入端电耦接该总线,该二输出端分别电耦接另外两条总线,且各该总线电耦接至少一个从属装置,且当该请求信号是来自该总线选单元,该中央处理单元根据该存取指令中包含的该来源地址所对应的该从属装置及其工作时钟,设定该总线控制器,使该总线控制器控制该总线选择单元选择该从属装置所电耦接的另外两条总线其中之一,且根据该从属装置的该工作时钟,调整该被选择的总线的运作时钟,以通过该被选择的总线对该从属装置执7TT该存取指令。
7.根据权利要求6所述的动态调整总线时钟的方法,其中该中央处理单元是通过执行该总线控制器驱动程序,判断该存取指令中包含的该来源地址所对应的该从属装置,并根据该从属装置的该工作时钟设定该总线控制器。
8.一种动态调整总线时钟的装置,该总线上电耦接多个从属装置,该动态调整总线时钟的装置包括 一总线控制器,与该总线电耦接,以控制该总线的一运作时钟,且该总线控制器接收该多个从属装置其中之一传来的一请求信号,并根据该请求信号产生一包含该请求信号的一来源地址的存取指令 '及 一中央处理单元,与该总线控制器电耦接,且判断该存取指令中包含的该来源地址所对应的该从属装置,以根据该从属装置的一工作时钟设定该总线控制器,使该总线控制器根据该工作时钟调整该总线的运作时钟,且通过该总线对该从属装置执行该存取指令。
9.根据权利要求8所述的动态调整总线时钟的装置,其中该工作时钟是该从属装置的最高工作时钟,且该总线控制器将该总线的运作时钟调整至与该从属装置的工作时钟相同。
10.根据权利要求8所述的动态调整总线时钟的装置,其中该总线是系统管理总线且该总线控制器是系统管理总线控制器,或者该总线是内部集成电路总线且该总线控制器是内部集成电路总线控制器,或者该总线是串行外围接口总线且该总线控制器是串行外围接口总线控制器。
11.根据权利要求8所述的动态调整总线时钟的装置,其中该请求信号是一中断信号。
12.根据权利要求8所述的动态调整总线时钟的装置,其中该中央处理单元是通过执行一总线控制器驱动程序,判断该存取指令中包含的该来源地址所对应的该从属装置,并根据该从属装置的该工作时钟设定该总线控制器。
13.根据权利要求8所述的动态调整总线时钟的装置,还包括一电耦接在该总线上的总线选择单元,该总线选择单元具有一输入端及至少二输出端,该输入端电耦接该总线,该二输出端分别电耦接另外两条总线,且各该总线电耦接至少一个从属装置,当该请求信号是来自该总线选单元,该中央处理单元根据该存取指令中包含的该来源地址所对应的该从属装置及其工作时钟,设定该总线控制器,使该总线控制器控制该总线选择单元选择该从属装置所电耦接的另外两条总线其中之一,且根据该从属装置的该工作时钟,调整该被选择的总线的运作时钟,以通过该被选择的总线对该从属装置执行该存取指令。
14.根据权利要求13所述的动态调整总线时钟的装置,其中该中央处理单元是通过执行该总线控制器驱动程序,判断该存取指令中包含的该来源地址所对应的该次从属装置,并根据该次从属装置的该工作时钟设定该总线控制器。
全文摘要
一种动态调整总线时钟的方法,应用于电耦接一中央处理单元及一总线的一总线控制器,该总线上电耦接多个从属装置,该方法使该总线控制器接收该多个从属装置其中之一传来的一请求信号,并根据该请求信号产生一包含该请求信号的一来源地址的存取指令,并令该中央处理单元判断该存取指令中包含的该来源地址所对应的该从属装置,以根据该从属装置的一工作时钟设定该总线控制器,使该总线控制器根据该工作时钟调整该总线的运作时钟,且通过该总线对该从属装置执行该存取指令。藉此,达到动态调整总线的时钟的目的。
文档编号G06F1/04GK102749985SQ20111013330
公开日2012年10月24日 申请日期2011年5月20日 优先权日2011年4月22日
发明者李思锐 申请人:纬创资通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1