减少芯片组功率消耗的方法以及相关装置的制作方法

文档序号:6440494阅读:107来源:国知局
专利名称:减少芯片组功率消耗的方法以及相关装置的制作方法
技术领域
本发明涉及一种减少功率消耗的方法以及相关装置,特别涉及一种在存取存储模块时减少芯片组功率消耗的方法与相关装置。
背景技术
计算机系统能方便、迅速地运算、存取、管理大量的数据、数据与影音信息,已成为现代信息社会最重要的硬件基础之一;而信息厂商也致力研发各种技术,以使计算机系统能更快速、更安全地处理更多的数据。然而,在提升计算机系统功能的同时,如何降低计算机系统的功率消耗,以达到节省能源的功效,亦是一重要课题。
一般来说,计算机系统中会设有一中央处理器(CPU)、一芯片组、一存储装置以及其它外围装置等等。中央处理器用来处理数据、数据,以控制计算机系统的运作;存储装置(例如动态随机存取存储器)即用来暂存中央处理器运作期间所需的程序、数据。而芯片组则用来管理中央处理器(或其它周边装置)对存储装置的数据存取。
因应随机存取的需要,存储装置中的各笔数据都会被寻址而具有一对应的地址。在现行的计算机系统架构下,存储装置通常由数个存储模块共同组成,每个存储模块中即设有多个地址端子,各个地址端子用来接收一位的地址;对应地,芯片组中则设有多个驱动单元,各驱动单元电连于一地址端子,以接收功率而向地址端子驱动输出一位的地址。当芯片组要存取存储装置中某个地址的数据时,就会使多个驱动单元分别向对应的地址端子驱动输出一位的地址数据;存储模块集合多个地址端子上的多个一位地址,就能组合为一完整的地址信息(譬如说是一列地址或一行地址),并据此寻址出芯片组要存取的数据。
在现有技术下,存储模块多半被实做成独立的电路,可通过计算机系统中的插槽连接于计算机系统中的芯片组以形成存储装置。而使用者就可视预算及需求,选择要在哪些插槽上安装多大存储容量的存储模块。如熟悉技术者所知,存储容量越大的存储模块,就需要越多的位才能寻址。为了尽量支持不同配置的各种存储模块,芯片组内往往会设有较多的驱动单元,以支持高容量的存储模块。譬如说,现代的芯片组所设置的驱动单元个数多半能支持4G(giga)字节的存储装置。然而,就实际情况而言,大部分使用者所选用的存储装置配置通常都远小于4G字节,用来寻址所需的地址位当然也就比较少。
更具体地说,现行的芯片组通常可支持2位的组地址(bank address)以及14位的列/行地址(RAS/CAS address),因此芯片组也会具有16个驱动单元。但是,要在64M字节的存储模块中寻址,其实仅需2个组地址以及12个列/行地址。然而,在现有的芯片组技术中,不论存储模块的存储组态是否小于芯片组可支持的存储器地址范围,芯片组的每一驱动单元都仍然会消耗功率。因此,当现有的计算机系统在存取存储装置时,虽然存储模块的某些地址端子是不使用的,但其相对应的芯片组驱动单元仍会消耗功率,造成不必要的功率消耗。

发明内容
有鉴于此,本发明的目的在于提供一种在存取存储模块时减少芯片组功率消耗的方法,以解决上述的问题。
根据上述目的,本发明提供一种降低计算机系统的消耗功率的方法,其中计算机系统包含一存储模块及一芯片组,存储模块设有多个地址端子,芯片组设有多个驱动单元,且驱动单元分别与对应的地址端子电连以驱动地址端子,包括下列步骤取得存储模块的容量所需的地址数;及当存储模块的容量所需的地址数小于驱动单元的数目时,进行下列步骤芯片组使至少一驱动单元停止运作,以使运作的驱动单元的数目相等于存储模块的容量所需的地址数。
根据上述目的,本发明再提供一种降低计算机系统的消耗功率的方法,计算机系统包含一第一存储模块、一第二存储模块及一芯片组,第一及第二存储模块分别设有多个地址端子,芯片组设有多个驱动单元,且驱动单元分别与对应的地址端子电连以驱动地址端子,包括下列步骤分别取得第一存储模块及第二存储模块的容量所需的一第一地址数及一第二地址数;取得第一地址数及第二地址数的联集,并自联集取得一最大地址数,当最大地址数小于驱动单元的数目时,进行下列步骤芯片组使至少一驱动单元停止运作,以使运作的驱动单元的数目相等于最大地址数。
根据上述目的,本发明提供一种芯片组,用以对一第一存储模块进行存取,第一存储模块设有多个第一地址端子,包括多个驱动单元,驱动单元用以分别驱动对应的第一地址端子;及一控制模块,当芯片组存取第一存储模块时,控制模块可使至少一驱动单元停止运作。
根据上述目的,本发明再提供一种计算机系统,包括至少一存储模块,存储模块的容量具有一地址数,且存储模块设有多个地址端子;及一芯片组,包括多个驱动单元,驱动单元用以分别驱动对应的地址端子;及一控制模块,当地址数小于驱动单元的数目时,控制模块使至少一驱动单元停止运作以使运作的驱动单元的数目与地址数相等。


图1为本发明计算机系统的示意图。
图2是芯片组20运作情形的流程图。
图3为本发明另一实施例计算机系统的示意图。
图4是芯片组40运作情形的流程图。
图5为图3中计算机系统于运作时的示意图。
附图符号说明12中央处理器 14周边电路16基本输出入系统 21存取电路22地址模块 23驱动单元24控制模块 26暂存模块27输出缓冲电路 28输入放大器45比较模块 20、40芯片组10、50 计算机系统30、60、70存储模块32、62、72地址端子BA0-BA1、MA0-MA13 端子
具体实施例方式
请参阅图1;图1为本发明计算机系统10的功能方块示意图。计算机系统10包含一中央处理器12、一周边电路14、一基本输出入系统(basicinput/output system,BIOS)16、一芯片组20以及一存储模块30。中央处理器12用来处理资料、数据,以控制计算机系统10的运作。存储模块30即用来暂存中央处理器12运作期间所需的程序、数据。周边电路14可以是硬盘机、光驱或是各种附插卡(像是显示卡、网络卡、声卡等等)。基本输出入系统16(basic input/output system,BIOS)除了用来储存计算机开机时一些基本检查程序进行的设定及程序代码,还能在开机时检测存储模块30的组态,并产生对应的组态数据。而芯片组20即用来管理中央处理器12与存储模块30、周边电路14、基本输出入系统16间的数据往来传输。
为了实现本发明的技术,本发明芯片组20中设有一存取电路21、一地址模块22、多个(譬如说是16个)驱动单元23、一控制模块24以及一暂存模块26。存取电路21可接收来自中央处理器12(或周边电路14)的要求以将数据写入至存储模块30的特定地址,当然,亦可将这些数据由存储模块30的特定地址中读出。每一驱动单元23内可设有一或多个输出缓冲(outputbuffer)电路27以驱动输出一子地址,也可另外设有一或多个输入放大器28(像是驱动放大器),用来接收输入至驱动单元23的信号。各个驱动单元23可分别通过一端子(图1中标号为BA0、BA1以及MA0至MA13)连接于存储模块30的一个地址端子32。当存取电路21要将数据存取至存储模块30中的一既定地址时,地址模块22就可根据此地址对应地控制各个驱动单元,使各个驱动单元23驱动输出该地址的一个位(也就是一笔子地址)。而驱动单元23中的输出缓冲电路27或输入放大器28是否致能启动,就由控制模块24来控制。另外,暂存模块26可暂存基本输出入系统16在开机时所检测的存储模块30的组态。当芯片组20运作时,控制模块24就能根据暂存模块26中的信息判断存储模块30寻址所需的驱动单元23,并将不使用的驱动单元23关闭,以减少不必要的功率消耗。
请同时参阅图2,图2是芯片组20运作情形的流程图。步骤如下步骤S201当计算机系统10开机时,BIOS 16会检测存储模块30的组态,得知存储模块30需以多少位来寻址以决定存储模块30的容量所需的地址数X。
步骤S202将地址数X等组态相关数据存入暂存模块26中,并对地址数X与驱动单元23的数目进行比较。
步骤S203判断地址数X是否小于驱动单元23的数目。当地址数X小于驱动单元23的数目时,进行步骤S204。
步骤S204当地址数X小于驱动单元23的数目时,在开机后、计算机系统10要正常运作时,控制模块24就能根据暂存模块26中的数据来判断哪些驱动单元23是未使用的,并使这些驱动单元关闭以使运作的驱动单元23的数目与地址数X相同而不会消耗多余的功率。如果地址数X的数目不小于运作中的驱动单元23时,则控制模块24不会使任何驱动单元23停止运作。
举例来说,若存储模块30具有256M字节存储空间而需要2个组地址与13个列/行地址来寻址(13个列地址与10个行地址),那么控制模块24就可关闭端子MA13所对应的驱动单元,仅需保留端子BA0、BA1以及端子MA0至MA12即可支持此种配置的存储模块。同理,若存储模块30为128M位而需要1个组地址与13个列/行地址(13个列地址与10个行地址)来寻址,控制模块24就可关闭端子BA1及MA13,以端子BA0、MA0至MA12所对应的14个驱动单元来存取此种配置的存储模块。
请参阅图3;图3为本发明另一实施例计算机系统50的示意图。图3的计算机系统50与图1的计算机系统10中相同的装置或组件以相同号码标示之,其功能亦相同,在此不再赘述。图3中的计算机系统50具有两个存储模块60、70,两存储模块共享同一总线线连接于芯片组40;也就是说,同一驱动单元23会分别电连至存储模块60、70上的一个地址端子62与72。与图1所示的实施例不同的是,图3的芯片组40内另设有一比较模块45。这是因为计算机系统50在同一总线上同时具有存储模块60及70的缘故,这两个存储模块的配置也有可能不相同,而比较模块45的目的就是要判断哪一个存储模块需要较多的位来寻址,并据此来判断哪些驱动单元是可关闭的。换言之,比较模块45可判断存储模块60、70的组态以决定关闭哪些驱动单元23。
请参考图4,图4是芯片组40运作情形的流程图。步骤如下步骤S401当计算机系统10开机时,BIOS 16会同时检测存储模块60及存储模块70的组态,得知存储模块60及70分别需以多少位来寻址以决定存储模块60及70的容量所需的地址数X1及X2。
步骤S402将地址数X1及X2等组态相关数据存入暂存模块26中,比较模块45分别对地址数X1及X2的组地址及行列地址取其联集并进行比较,以取得一由最大组地址及最大行列地址所组成的最大地址数。
步骤S403对最大地址数与驱动单元23的数目进行比较,当最大地址数小于驱动单元23的数目时,进行步骤S404。
步骤S404在开机后、计算机系统10要正常运作时,控制模块24就能根据暂存模块26中的数据来判断哪些驱动单元23是未使用的,并使这些驱动单元关闭以使运作的驱动单元23的数目与最大地址数相同而不会消耗多余的功率。如果最大地址数的数目不小于运作中的驱动单元23时,则控制模块24不会使任何驱动单元23停止运作。
请参阅图5,图5即为图3所示的计算机系统50在实际运作时各驱动单元开启/关闭的示意图。假设芯片组40可支持2个组地址(BA0、BA1)以及14个列/行地址(MA0-MA13),每一组地址与列/行地址系相对应一个驱动单元23,因此芯片组40具有16个驱动单元23,相对应的存储模块60、70分别具有16个地址端子62、72,以接收芯片组40传送来的子地址信息。若存储模块60的容量为64M字节,其存储器组态为2个组地址、12个列以及9个行地址,需要2个组地址BA0、MA1,以及12个列/行地址MA0-MA11来以合成一地址(一般来说,列地址数目是大于行地址数目,而列/行地址的信息是先传送列地址后再传送行地址);而存储模块70的容量则为128M字节,其存储器组态为1个组地址、13个列地址以及10个行地址,需要1个组地址BA0,以及13个列/行地址MA0-MA12。由于存储模块60与70共享同一总线的缘故,虽然存储模块70仅需1个组地址BA0,但存储模块60仍需2个组地址BA0与BA1以支持存储模块60的寻址。根据存储模块60、70的组态而取其联集后,比较模块45可判断出最大组地址数为2、最大行列地址数为13,因此需要2个组地址(BA0、BA1)以及13个列/行地址(MA0-MA12)才足以存取存储模块60及70。而控制模块24就可关闭端子MA13所对应的驱动单元。图5中虚线代表不使用的地址端子62、72或驱动单元23相对应的地址端子,如存储模块60中的MA13、存储模块70中的BA1、MA13、芯片组40中的MA13。另外,各模块可用硬件或固件的方式来实现;举例来说,比较模块45与控制模块24可用逻辑电路来实现。总结来说,由于开机时基本输出入系统16会自动检测存储模块60、70的组态,因此芯片组40的比较模块45可依据此检测结果判断出哪些地址端子62、72不会在寻址时被使用到,而控制模块24就可将不需要的驱动单元23关闭。当计算机系统50存取存储模块60或70时,这些关闭的驱动单元23就不会接收/消耗功率。由于本发明可在正常数据存取时适应性地关闭部分的驱动单元23,因此可减少不必要的功率消耗,存取的数据量越大,藉由关闭不使用的驱动单元23可节省的功率消耗也就越多。
在本发明的较佳实施例中,本发明可在开机时藉由基本输出入系统检测各存储模块的组态,依据组态来比较各存储模块所需的地址端子,以判断那一个存储模块需要最多的地址端子;芯片组再根据判断结果决定要使哪些驱动单元停止接收功率,以避免功率消耗。
举例来说,假设芯片组可支持2个组地址以及14个列/行地址而具有16个驱动单元,存储装置中则设有两个存储模块,一个存储模块的容量为64M字节,以2个组地址以及12个列/行地址寻址;另一存储模块的容量为256M字节,其以2个组地址以及13个列/行地址来寻址。由该存储模块的存储器组态看来,芯片组仅需用到15个驱动单元向存储装置输出2个组地址以及13个列/行地址,即可存取两不同存储器容量的存储模块。综上所述,本发明先利用基本输出入系统检测各存储模块的组态,再根据检测结果来判断哪些地址端子不会使用到,控制模块则将这些端子所对应的驱动单元关闭,因此本发明可有效达到减少功率消耗的目的。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
权利要求
1.一种降低计算机系统的消耗功率的方法,其中,该计算机系统包含一存储模块及一芯片组,该存储模块设有多个地址端子,该芯片组设有多个驱动单元,且所述驱动单元分别驱动对应的所述地址端子,包括下列步骤取得该存储模块的容量所需的地址数;及当该地址数小于所述驱动单元的数目时,进行下列步骤该芯片组使至少一驱动单元停止运作,以使运作的所述驱动单元的数目相等于该地址数。
2.如权利要求1所述的降低计算机系统的消耗功率的方法,其中,该存储模块的容量所需的地址数由一基本输出入系统所检测而取得。
3.如权利要求1所述的降低计算机系统的消耗功率的方法,其中,该地址数由一组地址及一行列地址组成。
4.一种降低计算机系统的消耗功率的方法,该计算机系统包含一第一存储模块、一第二存储模块及一芯片组,该第一及第二存储模块分别设有多个地址端子,该芯片组设有多个驱动单元,且所述驱动单元分别驱动对应的所述地址端子,包括下列步骤分别取得该第一存储模块及该第二存储模块的容量所需的一第一地址数及一第二地址数;及取得该第一地址数及该第二地址数的联集,并自该联集取得一最大地址数,当该最大地址数小于所述驱动单元的数目时,进行下列步骤该芯片组使至少一驱动单元停止运作,以使运作的所述驱动单元的数目相等于该最大地址数。
5.如权利要求4所述的降低计算机系统的消耗功率的方法,其中,该第一地址数具有一第一组地址数及一第一行列地址数、该第二地址数包括一第二组地址数及一第二行列地址数。
6.如权利要求5所述的降低计算机系统的消耗功率的方法,其中,该第一组地址数与该第二组地址数联集并取得一最大组地址数,该第一行列地址数与该第二行列地址数联集并取得一最大行列地址数,且该最大组地址数与该最大行列地址数组成该最大地址数。
7.如权利要求4所述的降低计算机系统的消耗功率的方法,其中,该第一地址数及该第二地址数由一基本输出入系统所检测而分别取得。
8.一种芯片组,用以对一第一存储模块进行存取,该第一存储模块设有多个第一地址端子,包括多个驱动单元,所述驱动单元用以分别电连并驱动对应的所述第一地址端子;及一控制模块,当该芯片组存取该第一存储模块时,该控制模块可使至少一驱动单元停止运作。
9.如权利要求8所述的芯片组,更包括一暂存模块,用以暂存该第一地址数;其中,当该第一地址数小于所述驱动单元的数目时,该控制模块停止至少一驱动单元的运作以使运作的所述驱动单元的数目相等于该第一地址数。
10.如权利要求9所述的芯片组,其中,当该芯片组更电连至具有多个第二地址端子的一第二存储模块时,该第二存储模块的容量所需的一第二地址数亦暂存于该暂存模块。
11.如权利要求10所述的芯片组,其中,当所述第一地址端子所对应的所述驱动单元与所述第二地址端子所对应的所述驱动单元相同时,所述驱动单元同时驱动对应的所述第一地址端子及所述第二地址端子。
12.如权利要求10所述的芯片组,更包括一比较模块,用以对该第一地址数及该第二地址数联集后进行比较。
13.如权利要求12所述的芯片组,其中,该第一地址数具有一第一组地址数及一第一行列地址数、该第二地址数具有一第二组地址数及一第二行列地址数,该比较模块对该第一地址数及该第二地址数联集后进行比较以取得一最大组地址数及一最大行列地址数并组成一最大地址数。
14.如权利要求8所述的芯片组,其中,所述驱动单元中更包括一输入放大器。
15.一种计算机系统,包括至少一存储模块,该存储模块的容量具有一地址数,且该存储模块设有多个地址端子;及一芯片组,包括多个驱动单元,所述驱动单元用以分别驱动对应的所述地址端子;及一控制模块,当该地址数小于所述驱动单元的数目时,该控制模块使至少一驱动单元停止运作以使运作的所述驱动单元的数目与该地址数相等。
16.如权利要求15所述的计算机系统,更包括一暂存模块,用以暂存该地址数。
17.如权利要求16所述的计算机系统,更包括一基本输出入系统,用以检测取得该存储模块的该地址数。
18.如权利要求16所述的计算机系统,其中,该计算机系统具有多个存储模块时,所述驱动单元同时驱动对应的所述地址端子,且该芯片组更包括一比较模块,用以对所述存储模块的所述地址数联集并取得所述地址数的一最大地址数,且该控制模块停止至少一驱动单元的运作以使运作的所述驱动单元的数目相等于该最大地址数。
全文摘要
一种可在存取存储模块时减少芯片组功率消耗的方法与相关装置。该芯片组具有多个驱动单元,每一驱动单元连结于每一存储模块的一地址端子,以发出一位的地址数据。本发明是再检测各存储模块的实际组态后根据组态判断存储模块寻址所需的地址端子;寻址时不需驱动的地址端子,就可使其对应的驱动单元停止接收功率,以避免功率消耗。
文档编号G06F1/32GK1604013SQ20041009466
公开日2005年4月6日 申请日期2004年11月12日 优先权日2004年11月12日
发明者林景祥 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1