国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于bios讀寫內(nèi)存spd的計(jì)算機(jī)系統(tǒng)信息保存和讀取方法

      文檔序號(hào):6555461閱讀:609來(lái)源:國(guó)知局
      專利名稱:基于bios讀寫內(nèi)存spd的計(jì)算機(jī)系統(tǒng)信息保存和讀取方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計(jì)算機(jī)系統(tǒng)領(lǐng)域,特別涉及計(jì)算機(jī)系統(tǒng)信息存取技術(shù)領(lǐng)域,具體是指一種基于BIOS讀寫內(nèi)存SPD(Serial Presence Detect,串行存在檢測(cè))的計(jì)算機(jī)系統(tǒng)信息保存和讀取方法。
      背景技術(shù)
      現(xiàn)代生活和工作中,計(jì)算機(jī)使用得越來(lái)越頻繁,而且計(jì)算機(jī)本身的發(fā)展也是越來(lái)越快,各種新的技術(shù)層出不窮。在BIOS初始化內(nèi)存之前,需要一定數(shù)量的存儲(chǔ)空間用來(lái)保存系統(tǒng)的檢測(cè)信息和CPU類型信息,但是,由于此時(shí)內(nèi)存不能使用,所以CPU可使用并可訪問的存儲(chǔ)空間相當(dāng)有限,會(huì)給以后的BIOS初始化系統(tǒng)帶來(lái)了一定的困難。BIOS傳統(tǒng)的處理方法是在CMOS檢測(cè)之前利用CPU的MMX寄存器存儲(chǔ)系統(tǒng)的狀態(tài)信息;而在CMOS檢測(cè)后,則使用CMOS來(lái)存儲(chǔ)系統(tǒng)信息。但是,MMX寄存器的數(shù)目十分少,且在整個(gè)BIOS檢測(cè)過程中不能長(zhǎng)期保存使用;CMOS雖然有256B可以使用,但其中大部分存儲(chǔ)空間的用途已經(jīng)被固定,而相應(yīng)留給BIOS開發(fā)者可以利用的空間相對(duì)較少,往往導(dǎo)致在開發(fā)過程中因CMOS空間不足,出現(xiàn)重復(fù)定義某些空間的現(xiàn)象,并引發(fā)系統(tǒng)啟動(dòng)錯(cuò)誤。

      發(fā)明內(nèi)容
      本發(fā)明的目的是克服了上述現(xiàn)有技術(shù)中的缺點(diǎn),提供一種利用內(nèi)存SPD固件保存計(jì)算機(jī)系統(tǒng)信息、能夠解決BIOS在內(nèi)存初始化之前的系統(tǒng)存儲(chǔ)空間不足的缺陷的基于BIOS讀寫內(nèi)存SPD的計(jì)算機(jī)系統(tǒng)信息保存和讀取方法。
      為了實(shí)現(xiàn)上述的目的,本發(fā)明的基于BIOS讀寫內(nèi)存SPD的計(jì)算機(jī)系統(tǒng)信息保存和讀取方法如下該基于BIOS讀寫內(nèi)存SPD的計(jì)算機(jī)系統(tǒng)信息保存方法,其主要特點(diǎn)是,所述的保存方法包括以下步驟(1)系統(tǒng)進(jìn)行初始化SMBUS(System Management Bus,系統(tǒng)管理總線)控制器操作;(2)系統(tǒng)檢測(cè)內(nèi)存SPD是否可被訪問,并判斷相應(yīng)的讀寫操作的正確性;
      (3)如果內(nèi)存SPD無(wú)法訪問或者讀寫操作不正確,則終止操作并結(jié)束;(4)如果內(nèi)存SPD可以訪問并且讀寫操作正確,則進(jìn)行將需要保存的數(shù)據(jù)寫入內(nèi)存SPD特定區(qū)域的操作;(5)操作完成并結(jié)束。
      所述的系統(tǒng)初始化SMBUS控制器的操作為中央處理器通過PCI總線初始化SMBUS控制器,并設(shè)置SMBUS的IO基地址。
      所述的將需要保存的數(shù)據(jù)寫入內(nèi)存SPD特定區(qū)域的操作包括以下步驟(1)在需要保存的數(shù)據(jù)中取出1字節(jié)信息寫入內(nèi)存SPD的指定空間中;(2)計(jì)算出校驗(yàn)位數(shù)據(jù);(3)將校驗(yàn)位數(shù)據(jù)寫入內(nèi)存SPD的指定空間中;(4)重復(fù)上述步驟(1)直到所有數(shù)據(jù)均寫入內(nèi)存SPD中。
      所述的內(nèi)存SPD的指定空間為內(nèi)存SPD的后128字節(jié)空間。
      該基于上述的保存方法進(jìn)行計(jì)算機(jī)系統(tǒng)信息的讀取方法,其主要特點(diǎn)是,所述的讀取方法包括以下步驟(1)系統(tǒng)通過SMBUS控制器訪問內(nèi)存SPD;(2)將內(nèi)存SPD特定區(qū)域中所保存的數(shù)據(jù)讀出;(3)計(jì)算出檢驗(yàn)位數(shù)據(jù),并與內(nèi)存SPD中的校驗(yàn)位數(shù)據(jù)進(jìn)行一致性比較;(4)如果數(shù)據(jù)不一致,則終止操作并結(jié)束;(5)如果數(shù)據(jù)一致,則進(jìn)行將保存的數(shù)據(jù)從內(nèi)存SPD的特定區(qū)域中讀出的操作;(6)操作完成并結(jié)束。
      所述的將保存的數(shù)據(jù)從內(nèi)存SPD的特定區(qū)域中讀出的操作包括以下步驟(1)在內(nèi)存SPD的特定區(qū)域的保存的數(shù)據(jù)中取出1字節(jié)信息;(2)計(jì)算出校驗(yàn)位數(shù)據(jù);(3)將校驗(yàn)位數(shù)據(jù)與內(nèi)存SPD中的校驗(yàn)位數(shù)據(jù)進(jìn)行一致性比較;(4)如果數(shù)據(jù)不一致,則丟棄;如果數(shù)據(jù)一致,則保留;(5)重復(fù)上述步驟(1)直到所有數(shù)據(jù)均從內(nèi)存SPD的特定區(qū)域中讀出。
      采用了該發(fā)明的基于BIOS讀寫內(nèi)存SPD的計(jì)算機(jī)系統(tǒng)信息保存和讀取方法,由于利用了內(nèi)存的SPD固件來(lái)保存計(jì)算機(jī)系統(tǒng)的檢測(cè)信息和CPU的類型信息,從而解決了BIOS在內(nèi)存初始化之前的系統(tǒng)存儲(chǔ)空間不足的狀況,而且這些信息對(duì)整個(gè)系統(tǒng)的后期初始化至關(guān)重要;不僅如此,因?yàn)镾PD屬于非易失性的固件,因此在內(nèi)存初始化完成和系統(tǒng)掉電的情況下,保存的信息依然不會(huì)丟失,保存信息安全性高;同時(shí)由于SPD實(shí)現(xiàn)時(shí)不需要添加額外的電路,因此實(shí)現(xiàn)過程不需要硬件改動(dòng),而在軟件方面,SPD的后128字節(jié)空間地址可以任意組合進(jìn)行讀寫操作,非常適合于BIOS開發(fā)人員使用;而且訪問SMBUS控制器的程序設(shè)計(jì)代碼量少、編程簡(jiǎn)單、實(shí)現(xiàn)方便,為計(jì)算機(jī)技術(shù)的進(jìn)一步發(fā)展帶來(lái)了很大的便利。


      圖1為本發(fā)明的計(jì)算機(jī)系統(tǒng)初始化SMBUS控制器操作中各模塊工作關(guān)系示意圖。
      圖2為本發(fā)明的計(jì)算機(jī)系統(tǒng)通過SMBUS在內(nèi)存SPD中存取數(shù)據(jù)操作中各模塊工作關(guān)系示意圖。
      圖3為本發(fā)明的基于BIOS讀寫內(nèi)存SPD的計(jì)算機(jī)系統(tǒng)信息保存方法流程圖。
      圖4為本發(fā)明的基于BIOS讀寫內(nèi)存SPD的計(jì)算機(jī)系統(tǒng)信息讀取方法流程圖。
      具體實(shí)施例方式
      為了能夠更清楚地理解本發(fā)明的技術(shù)內(nèi)容,特舉以下實(shí)施例詳細(xì)說明。
      請(qǐng)參閱圖1至圖4所示,該基于BIOS讀寫內(nèi)存SPD的計(jì)算機(jī)系統(tǒng)信息保存方法,包括以下步驟(1)系統(tǒng)進(jìn)行初始化SMBUS控制器操作,該操作為中央處理器CPU 1通過PCI總線2初始化SMBUS控制器3,并設(shè)置SMBUS的IO基地址;關(guān)于初始化SMBUS控制器的具體技術(shù)細(xì)節(jié),請(qǐng)參閱“System Management Bus(SMBus)Specification Version 2.0,August 3,2000,SBS Implementers Forum”(系統(tǒng)管理總線(SMBus)說明書2.0版,2000年8月3日出版,SBS執(zhí)行論壇)中的第24~50頁(yè)部分。
      (2)系統(tǒng)檢測(cè)內(nèi)存SPD 5是否可被訪問,并判斷相應(yīng)的讀寫操作的正確性;(3)如果內(nèi)存SPD 5無(wú)法訪問或者讀寫操作不正確,則終止操作并結(jié)束;(4)如果內(nèi)存SPD 5可以訪問并且讀寫操作正確,則進(jìn)行將需要保存的數(shù)據(jù)寫入內(nèi)存SPD特定區(qū)域的操作,包括以下步驟(a)在需要保存的數(shù)據(jù)中取出1字節(jié)信息通過SMBUS 4寫入內(nèi)存SPD 5的指定空間中,該指定空間為內(nèi)存SPD 5的后128字節(jié)空間;(b)計(jì)算出校驗(yàn)位數(shù)據(jù);(c)將校驗(yàn)位數(shù)據(jù)寫入內(nèi)存SPD 5的指定空間中;(d)重復(fù)上述步驟(a)直到所有數(shù)據(jù)均寫入內(nèi)存SPD 5中;(5)操作完成并結(jié)束。
      該基于上述的保存方法進(jìn)行計(jì)算機(jī)系統(tǒng)信息的讀取方法,包括以下步驟(1)系統(tǒng)中央處理器通過SMBUS控制器控制3的SMBUS 4訪問內(nèi)存SPD 5;(2)將內(nèi)存SPD 5特定區(qū)域中所保存的數(shù)據(jù)讀出;(3)計(jì)算出檢驗(yàn)位數(shù)據(jù),并與內(nèi)存SPD 5中的校驗(yàn)位數(shù)據(jù)進(jìn)行一致性比較;(4)如果數(shù)據(jù)不一致,則終止操作并結(jié)束;(5)如果數(shù)據(jù)一致,則進(jìn)行將保存的數(shù)據(jù)從內(nèi)存SPD 5的特定區(qū)域中讀出的操作,包括以下步驟(a)在內(nèi)存SPD 5的特定區(qū)域的保存的數(shù)據(jù)中取出1字節(jié)信息;(b)計(jì)算出校驗(yàn)位數(shù)據(jù);(c)將校驗(yàn)位數(shù)據(jù)與內(nèi)存SPD 5中的校驗(yàn)位數(shù)據(jù)進(jìn)行一致性比較;(d)如果數(shù)據(jù)不一致,則丟棄;如果數(shù)據(jù)一致,則保留;(e)重復(fù)上述步驟(a)直到所有數(shù)據(jù)均從內(nèi)存SPD 5的特定區(qū)域中讀出;(6)操作完成并結(jié)束。
      在實(shí)際應(yīng)用當(dāng)中,系統(tǒng)的工作過程如下(1)系統(tǒng)初始化SMBUS控制器,并設(shè)置SMBUS的IO基地址;(2)檢測(cè)SPD是否可被訪問,并判斷讀寫操作的正確性;(3)根據(jù)BIOS的開發(fā)人員要求將需要保存的信息寫入SPD的后128字節(jié)空間;(4)將已使用的SPD空間做校驗(yàn)和(checksum),保證訪問SPD的正確性;(5)讀取相應(yīng)的SPD空間的信息之前,先做checksum,保證訪問SPD的正確性;(6)讀取相應(yīng)的SPD空間的信息;(7)各種出錯(cuò)處理,給BIOS開發(fā)人員更好的出錯(cuò)處理能力,保證系統(tǒng)正常運(yùn)行初始化程序。
      本發(fā)明的方法適合BIOS開發(fā)人員使用,并且具有代碼小,安全性高,空間大,編程實(shí)現(xiàn)簡(jiǎn)單,適合系統(tǒng)擴(kuò)展等特點(diǎn)。
      同時(shí),在進(jìn)行編程時(shí)應(yīng)注意,首先需要初始化SMBUS控制器,然后再進(jìn)行讀寫操作。
      在使用當(dāng)中,如果使用者開發(fā)了一塊服務(wù)器使用的主板,需要讓它來(lái)實(shí)現(xiàn)客戶要求的多個(gè)硬盤相繼啟動(dòng)的功能,而采用本發(fā)明的這種方法,就可以很好的解決在內(nèi)存沒有初始化前,每個(gè)硬盤狀態(tài)的保存和計(jì)時(shí)延遲的實(shí)現(xiàn)。
      由于本發(fā)明的方法的思想是利用內(nèi)存的SPD固件,保存系統(tǒng)的檢測(cè)信息和CPU的類型信息,來(lái)解決BIOS在內(nèi)存初始化之前的系統(tǒng)存儲(chǔ)空間不足的狀況,而這些信息對(duì)整個(gè)系統(tǒng)的后期初始化至關(guān)重要。該方法具有以下的特點(diǎn)(1)BIOS可在早期進(jìn)行訪問。BIOS在早期就已經(jīng)完成了南橋SMBUS控制器的初始化,此時(shí)BIOS可以訪問SPD空間并存儲(chǔ)系統(tǒng)信息。對(duì)BIOS開發(fā)者來(lái)說,越早使用可存儲(chǔ)的器件保存系統(tǒng)信息,則BIOS初始化系統(tǒng)越有利;(2)SPD可利用的存儲(chǔ)空間大。通過參考現(xiàn)行的SPD標(biāo)準(zhǔn)可知,在256B大小的SPD空間中,前128B已經(jīng)被生產(chǎn)廠商使用,而后128B是可被使用的。128B的可利用空間足夠BIOS在Memory初始化之前保存系統(tǒng)的狀態(tài)信息和CPU的類型信息。對(duì)BIOS開發(fā)者來(lái)說,充足的存儲(chǔ)空間是系統(tǒng)開發(fā)和擴(kuò)展的關(guān)鍵;(3)非易失性,保存信息安全性高。因?yàn)镾PD屬于非易失性的固件,因此,在Memory初始化后,保存的系統(tǒng)信息依然正確有效。而且,在系統(tǒng)掉電后,保存的信息依然不會(huì)丟失。
      (4)易用性好,適合開發(fā)人員使用。因?yàn)镾PD是Memory是固有的器件,實(shí)現(xiàn)時(shí)不需要添加額外的電路,因此實(shí)現(xiàn)過程不需要硬件改動(dòng)。在軟件方面,SPD的后128B空間地址可以任意組合進(jìn)行讀寫操作,非常適合BIOS開發(fā)人員使用;(5)代碼量小,編程簡(jiǎn)單。BIOS是通過SMBUS訪問SPD數(shù)據(jù),從而針對(duì)訪問SMBUS的程序設(shè)計(jì)有代碼量少,編程簡(jiǎn)單,實(shí)現(xiàn)方便等特點(diǎn)。
      在此說明書中,本發(fā)明已參照其特定的實(shí)施例作了描述。但是,很顯然仍可以作出各種修改和變換而不背離本發(fā)明的精神和范圍。因此,說明書和附圖應(yīng)被認(rèn)為是說明性的而非限制性的。
      權(quán)利要求
      1.一種基于BIOS讀寫內(nèi)存SPD的計(jì)算機(jī)系統(tǒng)信息保存方法,其特征在于,所述的保存方法包括以下步驟(1)系統(tǒng)進(jìn)行初始化系統(tǒng)管理總線控制器操作;(2)系統(tǒng)檢測(cè)內(nèi)存SPD是否可被訪問,并判斷相應(yīng)的讀寫操作的正確性;(3)如果內(nèi)存SPD無(wú)法訪問或者讀寫操作不正確,則終止操作并結(jié)束;(4)如果內(nèi)存SPD可以訪問并且讀寫操作正確,則進(jìn)行將需要保存的數(shù)據(jù)寫入內(nèi)存SPD特定區(qū)域的操作;(5)操作完成并結(jié)束。
      2.根據(jù)權(quán)利要求1所述的基于BIOS讀寫內(nèi)存SPD的計(jì)算機(jī)系統(tǒng)信息保存方法,其特征在于,所述的系統(tǒng)初始化系統(tǒng)管理總線控制器的操作為中央處理器通過PCI總線初始化系統(tǒng)管理總線控制器,并設(shè)置系統(tǒng)管理總線的IO基地址。
      3.根據(jù)權(quán)利要求1或2所述的基于BIOS讀寫內(nèi)存SPD的計(jì)算機(jī)系統(tǒng)信息保存方法,其特征在于,所述的將需要保存的數(shù)據(jù)寫入內(nèi)存SPD特定區(qū)域的操作包括以下步驟(1)在需要保存的數(shù)據(jù)中取出1字節(jié)信息寫入內(nèi)存SPD的指定空間中;(2)計(jì)算出校驗(yàn)位數(shù)據(jù);(3)將校驗(yàn)位數(shù)據(jù)寫入內(nèi)存SPD的指定空間中;(4)重復(fù)上述步驟(1)直到所有數(shù)據(jù)均寫入內(nèi)存SPD中。
      4.根據(jù)權(quán)利要求3所述的基于BIOS讀寫內(nèi)存SPD的計(jì)算機(jī)系統(tǒng)信息保存方法,其特征在于,所述的內(nèi)存SPD的指定空間為內(nèi)存SPD的后128字節(jié)空間。
      5.一種基于權(quán)利要求1所述的保存方法進(jìn)行計(jì)算機(jī)系統(tǒng)信息的讀取方法,其特征在于,所述的讀取方法包括以下步驟(1)系統(tǒng)通過系統(tǒng)管理總線控制器訪問內(nèi)存SPD;(2)將內(nèi)存SPD特定區(qū)域中所保存的數(shù)據(jù)讀出;(3)計(jì)算出檢驗(yàn)位數(shù)據(jù),并與內(nèi)存SPD中的校驗(yàn)位數(shù)據(jù)進(jìn)行一致性比較;(4)如果數(shù)據(jù)不一致,則終止操作并結(jié)束;(5)如果數(shù)據(jù)一致,則進(jìn)行將保存的數(shù)據(jù)從內(nèi)存SPD的特定區(qū)域中讀出的操作;(6)操作完成并結(jié)束。
      6.根據(jù)權(quán)利要求5所述的基于BIOS讀寫內(nèi)存SPD的計(jì)算機(jī)系統(tǒng)信息保存方法,其特征在于,所述的將保存的數(shù)據(jù)從內(nèi)存SPD的特定區(qū)域中讀出的操作包括以下步驟(1)在內(nèi)存SPD的特定區(qū)域的保存的數(shù)據(jù)中取出1字節(jié)信息;(2)計(jì)算出校驗(yàn)位數(shù)據(jù);(3)將校驗(yàn)位數(shù)據(jù)與內(nèi)存SPD中的校驗(yàn)位數(shù)據(jù)進(jìn)行一致性比較;(4)如果數(shù)據(jù)不一致,則丟棄;如果數(shù)據(jù)一致,則保留;(5)重復(fù)上述步驟(1)直到所有數(shù)據(jù)均從內(nèi)存SPD的特定區(qū)域中讀出。
      全文摘要
      本發(fā)明涉及一種基于BIOS讀寫內(nèi)存SPD的計(jì)算機(jī)系統(tǒng)信息保存和讀取方法,保存方法包括初始化SMBUS控制器操作、檢測(cè)內(nèi)存SPD是否可被訪問及相應(yīng)的讀寫操作的正確性、如果內(nèi)存SPD可以訪問并且讀寫操作正確則進(jìn)行將需要保存的數(shù)據(jù)寫入內(nèi)存SPD特定區(qū)域的操作;讀取方法包括通過SMBUS控制器訪問內(nèi)存SPD、將數(shù)據(jù)讀出、計(jì)算檢驗(yàn)和并與內(nèi)存SPD中的校驗(yàn)位數(shù)據(jù)進(jìn)行一致性比較、如果數(shù)據(jù)一致則進(jìn)行將保存的數(shù)據(jù)從內(nèi)存SPD的特定區(qū)域中讀出的操作。采用該種基于BIOS讀寫內(nèi)存SPD的計(jì)算機(jī)系統(tǒng)信息保存和讀取方法,解決了BIOS在內(nèi)存初始化之前的系統(tǒng)存儲(chǔ)空間不足的狀況,保存信息安全性高,程序設(shè)計(jì)代碼量少、編程簡(jiǎn)單、實(shí)現(xiàn)方便,為計(jì)算機(jī)技術(shù)的進(jìn)一步發(fā)展帶來(lái)了很大的便利。
      文檔編號(hào)G06F9/445GK101078991SQ20061002681
      公開日2007年11月28日 申請(qǐng)日期2006年5月23日 優(yōu)先權(quán)日2006年5月23日
      發(fā)明者朱磊 申請(qǐng)人:環(huán)達(dá)電腦(上海)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1