存储器资源的配置方法与流程

文档序号:11432191阅读:287来源:国知局
存储器资源的配置方法与流程

本发明是有关于一种配置方法,特别是指一种存储器资源的配置方法。



背景技术:

熟知的计算机系统包含一个基本输入输出系统、供扩充界面卡(add-oncard)插设的多个插槽(slot)、及多个存储器。该等扩充界面卡支援外部连结标准(peripheralcomponentinterconnect;pci、pciexpress)的协定。该计算机系统在开机后,该基本输入输出系统会根据一个预先储存的设定表,将存储器资源分配给该等扩充界面卡。由于该等扩充界面卡可以支援32位元或64位元二种格式,导致该熟知的计算机系统会遇到以下二种问题。

第一,由于无法预先知道支援64位元的扩充界面卡会插设在哪一个插槽,若该预先储存的设定表假设所有的扩充界面卡都是支援32位元的格式来分配存储器资源,可能导致所有扩充界面卡需要的存储器容量超过32位元格式所能支援的上限,即四十亿字节(4gigabyte;4gb),而造成部分扩充界面卡没有被分配到足够的存储器的容量大小。

第二,使用者通过修改该基本输入输出系统的该设定表,如经由基本输入输出系统设置菜单(biossetupmenu)修改,手动将预设为支援32位元格式的部分插槽所插设的扩充界面卡改为支援64位元格式。然而,举例来说,若扩充界面卡是支援32位元格式,但当使用者却设定为支援64位元格式时,将导致该计算机系统不稳定。



技术实现要素:

因此,本发明之目的,即在提供一种存储器资源分配最佳化的配置方法。

于是,本发明存储器资源的配置方法,适用于一个计算机系统,该计算机系统包含一个基本输入输出系统、一个存储器单元、及多个插槽。该等插槽可提供多个扩充装置插设。该存储器资源的配置方法包含步骤(a)~(c)。

于步骤(a),通过该基本输入输出系统判断该等插槽之其中一者是否设置有一个扩充装置。

于步骤(b),通过该基本输入输出系统从设置在该等插槽之其中该者的该扩充装置,获得一个对应的存储器需求资料及一个对应的规格资料。

于步骤(c),通过该基本输入输出系统根据该对应的存储器需求资料及该对应的规格资料,决定分配给该设置在该等插槽之其中该者的该扩充装置的该存储器单元的存储器容量大小。

在一些实施例中,该等插槽及该等扩充装置支援外部连结标准(pci、pciexpress)的协定。其中,在步骤(b)中,该存储器需求资料指示该扩充装置所需要的存储器容量大小,该规格资料指示该扩充装置是支援32位元的格式及64位元的格式之其中一者。

在一些实施例中,每一个扩充装置包含一个组态空间暂存器(configurationspaceregister;csr),每一个组态空间暂存器包括多个基址暂存器(baseaddressregister;bar)。其中,在步骤(b)中,该基本输入输出系统将一个第一指令分别传送至该扩充装置的每一个基址暂存器,并分别接收该扩充装置的每一个基址暂存器的一个第二指令,而获得该扩充装置的该存储器需求资料及该规格资料。

在一些实施例中,该存储器资源的配置方法还包含在步骤(b)及(c)之间的步骤(d)及(e)。

于步骤(d),通过该基本输入输出系统判断该等插槽之其中另一者是否设置有另一个扩充装置。

于步骤(e),当在步骤(d)中,该基本输入输出系统判断该等插槽之其中另一者有另一个扩充装置时,再重新执行步骤(b)及(d),直到在步骤(d)中,该基本输入输出系统判断该等插槽之其中另一者没有另一个扩充装置。

其中,在步骤(c)中,通过该基本输入输出系统计算全部的该等扩充装置所需要的存储器容量的总和。当该总和不大于一个上限值时,该基本输入输出系统分别依照该等扩充装置的该等存储器需求资料,将对应该上限值以下的存储器位址的存储器容量分配给该等扩充装置。当该总和大于该上限值时,该基本输入输出系统分别依照指示支援32位元的该等扩充装置的该等规格资料及该等存储器需求资料,将对应该上限值以下的存储器位址的存储器容量分配给该等扩充装置,并分别依照指示支援64位元的该等扩充装置的该等规格资料及该等存储器需求资料,将对应该上限值以上的存储器位址的存储器容量分配给该等扩充装置。

在一些实施例中,其中,在步骤(b)中,该第一指令为0xffffffff,每一个第二指令包括32个位元,且由msb至lsb依序为第三十一位元至第零位元,该第二指令的该第零位元为一个存储器空间指示,该第二指令的该第二位元及该第一位元的逻辑值为该规格资料。

当该第二指令的该第二位元及该第一位元为逻辑值00时,该扩充装置支援32位元的格式。当该第二指令的该第二位元及该第一位元为逻辑值10时,该扩充装置支援64位元的格式。

该基本输入输出系统将该第零位元为逻辑值0的每一个第二指令的该第三十一位元至该第四位元的逻辑值所对应的一个数值相加,而获得该存储器需求资料。

在步骤(c)中,该上限值是四十亿字节(4gigabyte;4gb)。

或者在一些实施例中,其中,在步骤(c)中,该基本输入输出系统分别依照指示支援32位元的该等扩充装置的该等规格资料及该等存储器需求资料,将对应一个上限值以下的存储器位址的存储器容量分配给该等扩充装置,并分别依照指示支援64位元的该等扩充装置的该等规格资料及该等存储器需求资料,将对应该上限值以上的存储器位址的存储器容量分配给该等扩充装置。

或者在一些实施例中,该存储器资源的配置方法还包含在步骤(c)之后的步骤(d)及(e)。

于步骤(d),通过该基本输入输出系统判断该等插槽之其中另一者是否设置有另一个扩充装置。

于步骤(e),当在步骤(d)中,该基本输入输出系统判断该等插槽之其中另一者有另一个扩充装置时,再重新执行步骤(b)~(d),直到在步骤(d)中,该基本输入输出系统判断该等插槽之其中另一者没有另一个扩充装置。

本发明之功效是通过该基本输入输出系统判断该等插槽是否插设有该等扩充装置,并由该等扩充装置获得对应的该存储器需求资料及该规格资料,使得该基本输入输出系统能据以决定分配给该等扩充装置的该存储器单元的容量大小,而能达成存储器资源分配的最佳化。

【附图说明】

图1是一方块图,说明本发明存储器资源的配置方法所适用的一个计算机系统;

图2是一流程图,说明本发明存储器资源的配置方法的一第一实施例;及

图3是一流程图,说明本发明存储器资源的配置方法的一第二实施例。

【具体实施方式】

在本发明被详细描述之前,应当注意在以下的说明内容中,类似的元件是以相同的编号来表示。

参阅图1,本发明存储器资源的配置方法,适用于一个计算机系统,该计算机系统包含一个中央处理器(cpu)1、一个芯片组(chipset)2、一个基本输入输出系统(basicinput/outputsystem;bios)3、一个存储器单元4、及多个插槽(slot),该等插槽可以提供多个扩充装置插设。在本实施例中,该等插槽及该等扩充装置都支援外部连结标准,即peripheralcomponentinterconnect(pci)或peripheralcomponentinterconnectexpress(pcie)的协定,因此,每一个扩充装置包含一个组态空间暂存器(configurationspaceregister;csr),每一个组态空间暂存器包括多个,例如六个,基址暂存器(baseaddressregister;bar)。为说明方便起见,该等插槽以电连接该中央处理器1的一个第一插槽51及一个第二插槽52,及电连接该芯片组2的一个第三插槽53及一个第四插槽54为例作说明,但不在此限。相似地,该等扩充装置以一个插设在该第一插槽51的第一扩充装置61及一个插设在该第二插槽52的第二扩充装置62为例作说明,但不在此限。

参阅图1与图2,本发明存储器资源的配置方法之第一实施例,通过该计算机系统实施,并执行步骤s1~s7。

于步骤s1,该计算机系统因启动电源而开机。

于步骤s2,通过该基本输入输出系统3判断该等插槽之其中一者是否设置有一个扩充装置。更详细地说,该中央处理器1及该芯片组2在开机后,会分别定义各自所电连接的该等扩充插槽的总线号码(busnumber),并将相关的信息储存于该中央处理器1内。该基本输入输出系统3将一个第三指令逐一地经由该中央处理器1传送至每一个插槽,再根据每一个插槽是否有回复一个第四指令,以判断该插槽是否有设置一个扩充装置。当该基本输入输出系统3判断该等插槽之其中一者设置有一个扩充装置,如该第一插槽51设置有该第一扩充装置61时,该计算机系统执行步骤s3。当该基本输入输出系统3判断没有设置任何一个扩充装置时,该计算机系统执行步骤s7。

于步骤s3,通过该基本输入输出系统3从设置在该等插槽之其中该者的该扩充装置,获得一个对应的存储器需求资料。该存储器需求资料指示该扩充装置所需要的存储器容量大小。

更详细地说,该基本输入输出系统3将一个第一指令分别传送至该扩充装置的每一个基址暂存器,并分别接收该扩充装置的每一个基址暂存器的一个第二指令,而获得该扩充装置的该存储器需求资料。该第一指令及每一个第二指令都包括32个位元,该第一指令为0xffffffff(以十六进位表示该32个位元),该第二指令由msb至lsb依序为第三十一位元至第零位元,该第二指令的该第零位元为一个存储器空间指示(memoryspaceindicator)。

该基本输入输出系统3将该第零位元为逻辑值0的每一个第二指令的该第三十一位元至该第四位元的逻辑值所对应的一个数值相加,而获得该存储器需求资料。举例来说,若该扩充装置的该六个基址暂存器之其中一个回复该第二指令为0xf8000000,以二进制表示则为该第三十一位元至该第二十七位元为逻辑1、该第二十六位元至该第零位元为逻辑0,对应的该数值则为227=128(mbyte)。相似地,若该六个基址暂存器之其中另一个回复该第二指令为0xf0000000,以二进制表示则为该第三十一位元至该第二十八位元为逻辑1、该第二十七位元至该第零位元为逻辑0,对应的该数值则为228=256(mbyte)。因此,该基本输入输出系统3将该二个数值,即128mbyte与256mbyte,相加,而获得该存储器需求资料,即384mbyte。

于步骤s4,通过该基本输入输出系统3从设置在该等插槽之其中该者的该扩充装置,获得一个对应的规格资料。该规格资料指示该扩充装置是支援32位元及64位元之其中哪一种格式。

更详细地说,该基本输入输出系统3接受每一个基址暂存器的该第二指令,还获得该规格资料。该第二指令的该第二位元及该第一位元的逻辑值为该规格资料。当该第二指令的该第二位元及该第一位元为逻辑值00b时,该扩充装置支援32位元的格式。当该第二指令的该第二位元及该第一位元为逻辑值10b时,该扩充装置支援64位元的格式。特别补充说明的是:「b」是指该逻辑值以二进制表示。要特别补充说明的是:步骤s3及s4都是根据所接收的该等第二指令作判断,因此,步骤s3及s4的顺序不仅可以对调,也可以在同一个步骤中实施。

于步骤s5,通过该基本输入输出系统3判断该等插槽之其中另一者是否设置有另一个扩充装置。其详细地作法可参考步骤s2。当该基本输入输出系统3判断该等插槽之其中另一者设置有一个扩充装置,如该第一插槽51设置有该第二扩充装置62时,该计算机系统执行步骤s3。当该基本输入输出系统3判断没有设置任何一个扩充装置时,该计算机系统执行步骤s6。

于步骤s6,通过该基本输入输出系统3计算全部的该等扩充装置所需要的存储器容量的总和。当该总和大于一个上限值,如四十亿字节(4gb)时,该计算机系统执行步骤s61。当该总和不大于该上限值时,该计算机系统执行步骤s62。

于步骤s61,该基本输入输出系统3分别依照指示支援32位元的该等扩充装置的该等规格资料及该等存储器需求资料,将对应该上限值以下的存储器位址的存储器容量分配给该等扩充装置,并分别依照指示支援64位元的该等扩充装置的该等规格资料及该等存储器需求资料,将对应该上限值以上的存储器位址的存储器容量分配给该等扩充装置。

举例来说,假设该存储器单元4的容量有6gb,且假设对应该第一扩充装置61的该规格资料及该存储器需求资料分别为支援32位元及3gb,对应该第二扩充装置62的该规格资料及该存储器需求资料分别为支援64位元及2gb,则该基本输入输出系统3经由该中央处理器1所具有的一个存储器控制器,将该存储器单元4的0~3gb的存储器位址所对应的3gb存储器容量,分配给该第一扩充装置61,并将该存储器单元4的4~6gb的存储器位址所对应的2gb存储器容量,分配给该第二扩充装置62。

于步骤s62,该基本输入输出系统3分别依照该等扩充装置的该等存储器需求资料,将对应该上限值以下的存储器位址的存储器容量分配给该等扩充装置。

特别补充说明的是:在本实施例中,分配给支援32位元的格式的扩充装置的存储器的该上限值为4gb,而分配给支援64位元的格式的扩充装置的存储器的该上限值为2的64次方,即16eb(1eb=1024tb,1tb=1024gb),且在本发明的该实施例中,通过区分扩充装置,如pci装置所支援的格式,如32或64位元而分配不同区域(如0~4gb给支援32位元的格式的扩充装置,4gb~16eb给支援64位元的格式的扩充装置)的存储器给各个pci装置使用。

于步骤s7,该计算机系统继续开机的相关程序,并执行进入作业系统(os)。

参阅图1与图3,本发明存储器资源的配置方法之第二实施例,大致上是与该第一实施例相似,不同的地方如下。

于步骤s4,通过该基本输入输出系统3从设置在该等插槽之其中该者的该扩充装置,获得一个对应的规格资料,并判断该扩充装置是否支援64位元的格式。当该基本输入输出系统3判断该扩充装置有支援64位元的格式时,该计算机系统执行步骤s41。当该基本输入输出系统3判断该扩充装置没有支援64位元的格式时,该计算机系统执行步骤s42。

于步骤s41,该基本输入输出系统3依照该等扩充装置之其中该者的该存储器需求资料,将对应该上限值以上的存储器位址的存储器容量分配给该扩充装置。

于步骤s42,该基本输入输出系统3依照该等扩充装置之其中该者的该存储器需求资料,将对应该上限值以下的存储器位址的存储器容量分配给该扩充装置。

特别补充说明的是:本发明存储器资源的配置方法的该第一实施例是先计算该等扩充装置的存储器资源的需求总和,再分配存储器资源,而本发明存储器资源的配置方法的该第二实施例是针对每一个扩充装置,逐一判断而直接分配存储器资源。但总体来看,该配置方法都是通过该基本输入输出系统3根据该扩充装置所对应的该存储器需求资料及该对应的规格资料,决定分配给该扩充装置的该存储器单元4的存储器容量大小。

综上所述,通过该基本输入输出系统3判断该等插槽是否插设有该等扩充装置,并由该等扩充装置获得对应的该存储器需求资料及该规格资料,使得该基本输入输出系统3能据以决定分配给该等扩充装置的该存储器单元4的容量大小,而能达成存储器资源分配的最佳化,故确实能达成本发明之目的。

上面结合附图对本发明的具体实施方式和实施例做了详细说明,但不能以之限定本发明的范围,在本发明申请专利范围内所作的均等修饰和变化,皆应该属于本发明专利范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1