欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

X86平臺(tái)上的雙rtc/cmosram數(shù)據(jù)備份方法

文檔序號(hào):6427886閱讀:389來(lái)源:國(guó)知局
專利名稱:X86平臺(tái)上的雙rtc/cmos ram數(shù)據(jù)備份方法
技術(shù)領(lǐng)域
本發(fā)明涉及X86計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)中的RTC/CMOS RAM(實(shí)時(shí)時(shí)鐘/互補(bǔ)金屬氧化物半導(dǎo)體的隨機(jī)訪問(wèn)存儲(chǔ)器)、SMI (系統(tǒng)管理中斷)、ACPI (高級(jí)配置和電源接口規(guī)范)以及Bios (基本輸入輸出系統(tǒng))等技術(shù)領(lǐng)域,具體是一種由硬件和固件(固化軟件,firmware)結(jié)合實(shí)現(xiàn)的、X86平臺(tái)上的雙RTC/CMOS RAM數(shù)據(jù)備份方法。
背景技術(shù)
RTC/CMOS RAM是X86計(jì)算機(jī)系統(tǒng)中傳統(tǒng)的、標(biāo)準(zhǔn)的和必須的功能電路,用于保持實(shí)時(shí)時(shí)鐘、存儲(chǔ)配置信息和定時(shí)喚醒系統(tǒng)等。這一部分的功能電路,現(xiàn)在都已經(jīng)被集成到X86平臺(tái)CPU/芯片組的內(nèi)部,在本說(shuō)明書(shū)中,稱之為內(nèi)部RTC/CMOS RAM。 由于X86計(jì)算機(jī)系統(tǒng)的開(kāi)放性和兼容性的要求,內(nèi)部RTC/CMOS RAM中各寄存器的功能和作用、訪問(wèn)它們的地址和方式等,都有明確的、標(biāo)準(zhǔn)的行業(yè)技術(shù)規(guī)范,要求與PC/AT最初所采用的MC146818芯片兼容。因此,所有運(yùn)行在X86平臺(tái)上的系統(tǒng)軟件(如操作系統(tǒng)、中間件)和應(yīng)用軟件,都是依照PC/AT的標(biāo)準(zhǔn)規(guī)范,來(lái)訪問(wèn)內(nèi)部RTC/CMOS RAM。為了保證內(nèi)部RTC/CMOS RAM能夠持續(xù)工作,一般采用圖2所示的電路,在系統(tǒng)完全斷電的情況下,由后備電池對(duì)內(nèi)部RTC/CMOS RAM供電,提供的電流一般小于10 μ A。但是實(shí)際上,由于芯片內(nèi)部設(shè)計(jì)和制造工藝方面的原因,有些Χ86平臺(tái)CPU/芯片組需要較大的電流來(lái)維持內(nèi)部RTC/CMOS RAM工作,例如,Intel于2010年發(fā)布的新款嵌入式Χ86 CPUAtom E6xx系列(代號(hào)Tunnel Creek),需要消耗高達(dá)33 36 μ A的電流。以上述CPU為例,選取常用的Panasonic CR2032鈕扣型鋰電池(尺寸Φ20. 0mmX3. 2mm,標(biāo)稱容量225mAH)作為后備電池,RTC/CMOS RAM數(shù)據(jù)的有效保持時(shí)間,可通過(guò)計(jì)算系統(tǒng)完全斷電情況下的電池使用壽命來(lái)評(píng)估電池使用壽命(年)=[電池標(biāo)稱容量(mAH) X 1000]/[輸出電流(μ A) X24X365]= [225 X 1000] / [33 X 24 X 365] = O. 78 (年)顯然,對(duì)于需要免維護(hù)長(zhǎng)期使用的、要求高可用性(High Availability)的場(chǎng)合,尤其是對(duì)于嵌入式應(yīng)用(比如車(chē)載電腦、醫(yī)療儀器、工業(yè)現(xiàn)場(chǎng)控制等),這樣的電池使用壽命是不能令人滿意的在較短時(shí)間內(nèi)后備電池將耗盡,造成實(shí)時(shí)時(shí)鐘紊亂、配置信息丟失,必須更換電池和重新配置系統(tǒng)(在某些情況下這甚至是做不到的),對(duì)產(chǎn)品存儲(chǔ)、產(chǎn)品維護(hù)和服務(wù)、系統(tǒng)可用性和用戶體驗(yàn)都是很不利的。

發(fā)明內(nèi)容
在X86計(jì)算機(jī)系統(tǒng)中,為了獲得較長(zhǎng)的RTC/CMOS RAM數(shù)據(jù)的有效保持時(shí)間,通常采用的方法有如下幾種I.最直接的方法是采用較大容量的板載后備電池。這種方法增加成本;需要占用較大的PCB面積;電池使用壽命延長(zhǎng)的時(shí)間比較有限。如在上例中選取Panasonic CR2450鈕扣型鋰電池,尺寸增加到Φ24. 5mmX 5. Omm,標(biāo)稱容量增加到620mAH,電池使用壽命只增加到2. 14年。2.配備超大容量的外接后備電池(如干電池),但明顯需要占用更大的系統(tǒng)空間。3.采用充電電路和可充電電池作為后備電池。這種方法增加較多的成本;在系統(tǒng)完全斷電的情況下,也不能保證RTC/CMOS RAM數(shù)據(jù)的長(zhǎng)期有效性。4.采用低電流的外部RTC/CMOS RAM取代內(nèi)部RTC/CMOS RAM。如前文所述,所有運(yùn)行在X86平臺(tái)上的軟件,都是依照PC/AT的標(biāo)準(zhǔn)規(guī)范,來(lái)訪問(wèn)內(nèi)部RTC/CMOS RAM。也就是說(shuō),采用這種方法時(shí),需要為各種操作系統(tǒng)提供相應(yīng)的驅(qū)動(dòng)程序;同時(shí),不排除存在兼容性問(wèn)題的可能。為了解決現(xiàn)有方法的不足,本發(fā)明提供一種X86平臺(tái)上的雙RTC/CMOS RAM互相復(fù) 制/備份數(shù)據(jù)的方法,由硬件和固件結(jié)合實(shí)現(xiàn),在X86計(jì)算機(jī)系統(tǒng)中,以低的硬件成本,大大延長(zhǎng)RTC/CMOS RAM數(shù)據(jù)的有效保持時(shí)間,提高系統(tǒng)的可用性;本發(fā)明提供的方法,無(wú)需驅(qū)動(dòng)程序的支持,對(duì)所有運(yùn)行在X86平臺(tái)上的系統(tǒng)軟件(如操作系統(tǒng)、中間件)和應(yīng)用軟件,都能保證完全的兼容性。本發(fā)明的技術(shù)方案詳述如下硬件結(jié)構(gòu)包括內(nèi)部RTC/CMOS RAM[101](存在于在X86平臺(tái)CPU/芯片組[100]的內(nèi)部)、外部RTC/CMOS RAM [102](存在于在X86平臺(tái)CPU/芯片組[100]的外部)、串行通訊接口 [103]、后備電池[104],以及后備供電電路[105]。內(nèi)部RTC/CMOS RAM[101]由系統(tǒng)電源Vccl供電;后備供電電路[105]綜合后備電池[104]的Vbat輸入和系統(tǒng)電源Vcc2輸入,產(chǎn)生Vbackup電源輸出,為外部RTC/CMOS RAM[102]供電;串行通訊接口 [103]將外部RTC/CMOS RAM[102]和X86平臺(tái)CPU/芯片組[100]連接,固件程序通過(guò)串行通訊接口 [103]訪問(wèn)外部 RTC/CMOS RAM[102]。外部RTC/CMOS RAM[102]采用低電流的RTC/CMOS RAM芯片(電流消耗一般小于14么),它需要一直被供電;內(nèi)部1 1^/^1 )3 RAM[101]在系統(tǒng)完全斷電的情況下不被供電,即此時(shí)內(nèi)部RTC/CMOS RAM[101]是不工作的。固件程序包括初始化固件程序和SMI固件程序,它們被嵌入到系統(tǒng)的Bios (基本輸入輸出系統(tǒng)VBootloader (啟動(dòng)引導(dǎo)裝載程序)的代碼中。固件程序在以下時(shí)間,完成外部RTC/CMOS RAM[102]與內(nèi)部RTC/CMOS RAM[101]之間相互的數(shù)據(jù)復(fù)制/備份I.當(dāng)系統(tǒng)開(kāi)機(jī)(Power on)或恢復(fù)(Resume)后,執(zhí)行到嵌入的初始化固件程序時(shí),完成從外部RTC/CMOS RAM[102]到內(nèi)部RTC/CMOS RAM[101]的數(shù)據(jù)復(fù)制。2.此后,當(dāng)系統(tǒng)睡眠狀態(tài)(Sleep state,包括S0,S3和S4/S5等)將要發(fā)生轉(zhuǎn)移(比如從SO向S3或S4/S5轉(zhuǎn)移)時(shí),執(zhí)行或被觸發(fā)執(zhí)行嵌入的SMI固件程序,完成從內(nèi)部RTC/CMOS RAM[101]到外部 RTC/CMOS RAM[102]的數(shù)據(jù)備份。上述第2點(diǎn)的實(shí)現(xiàn)機(jī)制是當(dāng)系統(tǒng)處于非ACPI模式(non-ACPI mode)時(shí),系統(tǒng)睡眠狀態(tài)的轉(zhuǎn)移(如SO到S5,即從運(yùn)行狀態(tài)到關(guān)機(jī)狀態(tài)),最終是由電源管理SMI中斷服務(wù)程序,對(duì)ACPI寄存器組中的PMl控制寄存器(PMl Control Register)實(shí)施寫(xiě)操作來(lái)實(shí)現(xiàn)的。所謂“執(zhí)行嵌入的SMI固件程序”,指的是在對(duì)PMl控制寄存器實(shí)施寫(xiě)操作之前,執(zhí)行嵌入到電源管理SMI中斷服務(wù)程序中的SMI固件程序,完成從內(nèi)部RTC/CMOS RAM[101]到外部RTC/CMOS RAM[102]的數(shù)據(jù)復(fù)制。
當(dāng)系統(tǒng)處于ACPI模式(ACPI mode)時(shí),系統(tǒng)睡眠狀態(tài)的轉(zhuǎn)移(如SO到S3或S4,SP從運(yùn)行狀態(tài)到等待或休眠狀態(tài)),最終是由軟件(AML程序、操作系統(tǒng)或應(yīng)用程序)對(duì)ACPI寄存器組中的PMl控制寄存器實(shí)施寫(xiě)操作來(lái)實(shí)現(xiàn)的。設(shè)置X86平臺(tái)CPU/芯片組的SMI觸發(fā)功能,使得軟件對(duì)PMl控制寄存器實(shí)施寫(xiě)操作的時(shí)刻,一個(gè)SMI (在本說(shuō)明書(shū)中,稱為Sle印SMI)能夠被觸發(fā)。所謂“被觸發(fā)執(zhí)行嵌入的SMI固件程序”,指的是在軟件對(duì)PMl控制寄存器實(shí)施寫(xiě)操作的時(shí)刻,Sleep SMI被觸發(fā),轉(zhuǎn)而執(zhí)行Sle印SMI中斷服務(wù)程序,執(zhí)行到嵌入其中的SMI固件程序,完成從內(nèi)部RTC/CMOS RAM[101]到外部RTC/CMOS RAM[102]的數(shù)據(jù)備份。綜上所述,本發(fā)明的硬件成本低,結(jié)構(gòu)簡(jiǎn)單;外部RTC/CMOS RAM[102]與內(nèi)部RTC/CMOS RAM[101]互相復(fù)制/備份數(shù)據(jù)的機(jī)制新穎獨(dú)特,既保證了工作狀態(tài)時(shí)內(nèi)部RTC/CM0SRAM[101]數(shù)據(jù)的有效性(即保證了軟件的全面兼容性,無(wú)需驅(qū)動(dòng)程序的支持),又利用外部RTC/CMOS RAM[102]大大延長(zhǎng)了保持有效數(shù)據(jù)的時(shí)間(與X86平臺(tái)CPU/芯片組要求的維持電流的大小無(wú)關(guān));嵌入到Bios/Bootloader中的固件程序,使得外部RTC/CMOS RAM[102]對(duì)軟件來(lái)說(shuō)是透明的(存在但看不見(jiàn)),不占用軟件運(yùn)行的時(shí)間和資源,不影響系統(tǒng)的工作效率。


圖I為本發(fā)明所述X86平臺(tái)上的雙RTC/CMOS RAM數(shù)據(jù)備份方法的硬件結(jié)構(gòu)框圖。圖2為一般X86計(jì)算機(jī)系統(tǒng)所采用的內(nèi)部RTC/CMOS RAM供電電路示意圖。圖3為本發(fā)明所述X86平臺(tái)上的雙RTC/CMOS RAM數(shù)據(jù)備份方法的初始化固件程序流程框圖。圖4為本發(fā)明所述X86平臺(tái)上的雙RTC/CMOS RAM數(shù)據(jù)備份方法的的SMI固件程序流程框圖。
具體實(shí)施例方式以下結(jié)合附圖1,對(duì)本發(fā)明的典型實(shí)施例進(jìn)行說(shuō)明。硬件結(jié)構(gòu)包括內(nèi)部RTC/CMOS RAM[101]、外部RTC/CMOS RAM [ 102]、串行通訊接口、后備電池[104],以及后備供電電路[105]。父86平臺(tái)CPU/芯片組[100]為Intel嵌入式 X86 CPU Atom E6xx 系列,內(nèi)部 RTC/CMOS RAM[101]存在其中;外部 RTC/CMOS RAM[102]采用NXP PCF8563低電流實(shí)時(shí)時(shí)鐘/日歷芯片;串行通訊接口采用SMBus或I2C總線,后備電池采用Panasonic CR2032鈕扣型鋰電池。系統(tǒng)電源Vccl在系統(tǒng)完全斷電的情況下為0V,在工作狀態(tài)下為為3. 3V,為內(nèi)部RTC/CMOS RAM[101]供電;系統(tǒng)電源Vcc2可以采用系統(tǒng)電源Vccl或其它系統(tǒng)電源,通過(guò)后備供電電路[105],在工作狀態(tài)下節(jié)省后備電池[104]的消耗,也可以不采用任何電源。固件程序包括初始化固件程序和SMI固件程序,它們被嵌入到系統(tǒng)的Bios/Bootloader的代碼中,它們各自的流程框圖如附圖3和附圖4所示。系統(tǒng)開(kāi)機(jī)或恢復(fù)(如按下Power button或Sleep button等電源管理按鍵)后,Bios/Bootloader開(kāi)始執(zhí)行,執(zhí)行到嵌入的初始化固件程序時(shí),外部RTC/CMOS RAM[102]的當(dāng)前數(shù)據(jù),被復(fù)制到內(nèi)部RTC/CMOS RAM[101],如附圖3所示。
此后,內(nèi)部RTC/CMOS RAM[101]中的數(shù)據(jù)是可以被正常改變的,如用戶進(jìn)入BiosSetup更改系統(tǒng)時(shí)間和配置、在DOS下用Date/Time命令更改系統(tǒng)時(shí)間、在Windows XP下更改系統(tǒng)時(shí)間或者設(shè)置系統(tǒng)喚醒等。如果系統(tǒng)處于非ACPI模式(如上電自檢POST階段或DOS操作系統(tǒng)下),按下電源管理按鍵后,將執(zhí)行電源管理SMI中斷服務(wù)程序,其最終操作是對(duì)ACPI寄存器組中的PMl控制寄存器實(shí)施寫(xiě)操作。在此操作之前,執(zhí)行嵌入到電源管理SMI中斷服務(wù)程序中的SMI固件程序,內(nèi)部RTC/CMOS RAM[101]的當(dāng)前數(shù)據(jù),被備份到外部RTC/CMOS RAM[102],如附圖4所示。如果系統(tǒng)處于ACPI模式(如Windows XP操作系統(tǒng)下),系統(tǒng)進(jìn)入關(guān)機(jī)/休眠/等待狀態(tài)——無(wú)論是電源管理按鍵、軟關(guān)機(jī)操作或者應(yīng)用程序所引起——最終是由軟件(AML程序、操作系統(tǒng)或應(yīng)用程序)對(duì)ACPI寄存器組中的PMl控制寄存器實(shí)施寫(xiě)操作來(lái)實(shí)現(xiàn)的。在Intel Atom E6xx系列CPU中,SMI使能寄存器的第2位設(shè)置為使能,可在軟件對(duì)PMl控制寄存器實(shí)施寫(xiě)操作的時(shí)刻,Sleep SMI被觸發(fā),轉(zhuǎn)而執(zhí)行Sle印SMI中斷服務(wù)程序,嵌入 其中的SMI固件程序也就被執(zhí)行,內(nèi)部RTC/CMOS RAM[101]的當(dāng)前數(shù)據(jù),被備份到外部RTC/CMOS RAM[102],如附圖4所示。現(xiàn)在的X86平臺(tái)CPU/芯片組(包括Intel、AMD、Nvidia和Via等公司的芯片)的設(shè)計(jì)都是符合APCI規(guī)范的,也都有相應(yīng)的SMI使能寄存器,能夠使能本說(shuō)明書(shū)中所述的Sleep SMI,因此本發(fā)明的方法是具有普遍適用性的。本典型實(shí)施例中,NXP PCF8563芯片的電流消耗為250ηΑ(0· 25 μ A),PanasonicCR2032鈕扣型鋰電池的標(biāo)稱容量為225mAH,RTC/CMOS RAM數(shù)據(jù)的有效保持時(shí)間,可通過(guò)計(jì)算系統(tǒng)完全斷電情況下的電池使用壽命來(lái)評(píng)估電池使用壽命(年)=[電池標(biāo)稱容量(mAH) X 1000]/[輸出電流(μ A) X24X365]= [225 X 1000] /
= 102. 7 (年)為進(jìn)一步降低成本和減小PCB面積占用,換用更小的后備電池如PanasonicCR1025鈕扣型鋰電池(尺寸Φ 10. OmmX 2. 5mm,標(biāo)稱容量30mAH),也可獲得13. 7年的電池
使用壽命。綜上所述,采用本發(fā)明的X86平臺(tái)上的雙RTC/CMOS RAM數(shù)據(jù)備份方法,實(shí)現(xiàn)了在系統(tǒng)工作的情況下,內(nèi)部RTC/CMOS RAM數(shù)據(jù)有效和可訪問(wèn),在完全斷電的情況下,外部RTC/CMOS RAM長(zhǎng)期保持當(dāng)前數(shù)據(jù);無(wú)需驅(qū)動(dòng)程序的支持,不影響系統(tǒng)運(yùn)行效率,對(duì)軟件提供了完全的兼容性;硬件成本低,器件易獲得;在各種X86平臺(tái)CPU/芯片組上易于實(shí)施,具有通用性。應(yīng)當(dāng)說(shuō)明的是,以上僅是對(duì)本發(fā)明的一個(gè)典型實(shí)施例的詳細(xì)說(shuō)明,而非對(duì)本發(fā)明的限制。相關(guān)領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以作出各種變換或變化(包括對(duì)程序流程),因此所有等同的技術(shù)方案也應(yīng)該屬于本發(fā)明專利申請(qǐng)書(shū)的保護(hù)范圍,此范圍以本發(fā)明所附權(quán)利要求書(shū)為準(zhǔn)。
權(quán)利要求
1.X86平臺(tái)上的雙RTC/CMOS RAM數(shù)據(jù)備份方法,其特征在于采用外部RTC/CMOSRAM[102],與內(nèi)部RTC/CMOS RAM[101]互相復(fù)制/備份數(shù)據(jù)(前者存在于在X86平臺(tái)CPU/芯片組[100]的外部,后者存在于X86平臺(tái)CPU/芯片組[100]的內(nèi)部);外部RTC/CMOSRAM[102]需要一直被供電,內(nèi)部RTC/CMOS RAM[101]在系統(tǒng)完全斷電的情況下不被供電。
2.X86平臺(tái)上的雙RTC/CMOS RAM數(shù)據(jù)備份方法,其特征在于固件程序包括初始化固件程序和SMI固件程序,它們被嵌入到系統(tǒng)的Bios (基本輸入輸出系統(tǒng)VBootloader (啟動(dòng)引導(dǎo)裝載程序)的代碼中;當(dāng)系統(tǒng)開(kāi)機(jī)(Power on)或恢復(fù)(Resume)后,執(zhí)行嵌入的初始化固件程序,完成從外部RTC/CMOS RAM[102]到內(nèi)部RTC/CMOS RAM[101]的數(shù)據(jù)復(fù)制,此后當(dāng)系統(tǒng)睡眠狀態(tài)(Sleep State,包括S0,S3和S4/S5等)將要發(fā)生轉(zhuǎn)移時(shí),執(zhí)行或被觸發(fā)執(zhí)行嵌入的SMI固件程序,完成從內(nèi)部RTC/CMOS RAM[101]到外部RTC/CMOS RAM[102]的數(shù)據(jù)備份。
3.根據(jù)權(quán)利要求I和2所述的X86平臺(tái)上的雙RTC/CMOSRAM數(shù)據(jù)備份方法,其特征在于硬件結(jié)構(gòu)包括內(nèi)部RTC/CM0S狀11[101]、外部1 1^/^1 )3 RAM[102]、串行通訊接口[103]、后備電池[104],以及后備供電電路[105];內(nèi)部RTC/CMOS RAM[101]由系統(tǒng)電源Vccl供電,后備供電電路[105]綜合后備電池[104]的Vbat輸入和系統(tǒng)電源Vcc2輸入,產(chǎn)生Vbackup電源輸出,為外部RTC/CMOS RAM[102]供電;串行通訊接口 [103]將外部RTC/CMOS RAM[102]和X86平臺(tái)CPU/芯片組[100]連接,固件程序通過(guò)串行通訊接口 [103]訪問(wèn)外部 RTC/CMOS RAM[102]。
全文摘要
本發(fā)明的X86平臺(tái)上的雙RTC/CMOS RAM數(shù)據(jù)備份方法,由硬件和固件結(jié)合實(shí)現(xiàn),可大大延長(zhǎng)RTC/CMOS RAM數(shù)據(jù)的有效保持時(shí)間;無(wú)需驅(qū)動(dòng)程序支持,對(duì)運(yùn)行在X86平臺(tái)上的軟件,都能保證完全的兼容性。本發(fā)明的硬件結(jié)構(gòu)包括內(nèi)部RTC/CMOS RAM、外部RTC/CMOS RAM、串行通訊接口、后備電池以及后備供電電路。系統(tǒng)上電后,初始化固件程序完成從外部RTC/CMOS RAM到內(nèi)部RTC/CMOS RAM的數(shù)據(jù)復(fù)制;此后當(dāng)系統(tǒng)睡眠狀態(tài)將要發(fā)生轉(zhuǎn)移時(shí),執(zhí)行或被觸發(fā)執(zhí)行SMI固件程序,完成從內(nèi)部RTC/CMOS RAM到外部RTC/CMOS RAM的數(shù)據(jù)備份。本發(fā)明硬件成本低、軟件兼容性好,實(shí)用性強(qiáng),適合高可用性X86計(jì)算機(jī)系統(tǒng)的要求。
文檔編號(hào)G06F11/14GK102866936SQ20111018686
公開(kāi)日2013年1月9日 申請(qǐng)日期2011年7月5日 優(yōu)先權(quán)日2011年7月5日
發(fā)明者張?jiān)浪?申請(qǐng)人:張?jiān)浪?br>
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
泰安市| 莒南县| 抚州市| 仪征市| 万盛区| 抚宁县| 呼和浩特市| 东阿县| 玉田县| 汽车| 西充县| 泾源县| 习水县| 绵阳市| 汝州市| 百色市| 普宁市| 金昌市| 磐石市| 东海县| 邓州市| 益阳市| 云浮市| 团风县| 固镇县| 兴和县| 松阳县| 唐山市| 开阳县| 缙云县| 彭阳县| 临洮县| 莲花县| 南宁市| 平果县| 禄丰县| 龙岩市| 四平市| 保山市| 黄石市| 霍城县|