TWI229793B - Method and apparatus for identifying hardware compatibility and enabling stable software revision selection - Google Patents

Method and apparatus for identifying hardware compatibility and enabling stable software revision selection Download PDF

Info

Publication number
TWI229793B
TWI229793B TW092117638A TW92117638A TWI229793B TW I229793 B TWI229793 B TW I229793B TW 092117638 A TW092117638 A TW 092117638A TW 92117638 A TW92117638 A TW 92117638A TW I229793 B TWI229793 B TW I229793B
Authority
TW
Taiwan
Prior art keywords
version
register
value
processor
hardware component
Prior art date
Application number
TW092117638A
Other languages
English (en)
Other versions
TW200406677A (en
Inventor
Jeffrey L Rabe
Alberto J Martinez
Serafin E Garcia
Jackie Wensel
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW200406677A publication Critical patent/TW200406677A/zh
Application granted granted Critical
Publication of TWI229793B publication Critical patent/TWI229793B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Description

1229793 玖、發明說明: 【發明所屬之技術領域】 本發明揭示辨識硬體及軟體版本之間的相容性及簡化硬 體及軟體不同版本之不同组合使用的一種方法及裝置。 【先前技術】 為了使複雜的電子裝置(包括電腦)更容易使用,近年來, 提供辨識特定硬體組件資訊的軟體可讀暫存器的使用日益 增多。該等辨識資訊有包括硬體版本資訊,如生產版本及 設計等級的傾向,通常以某些形式的二進位值表示,包括 當作識別代碼的號碼。 而且,為了更容易使用,近年來,控制該等複雜電子裝 置運作的作業系統及其它軟體越來越多地使用提供該等硬 體版本資訊(如二進位值)的讀取暫存器,以確保安裝支援硬 體版本所需的軟體版本。通常藉此檢查是否安裝了作業系 統與特足硬體裝置通信及適當利用特定硬體裝置之功能所 需要的裝置驅動器所必須的版本。若該等作業系統發現未 女裝所需的軟體版本,如裝置驅動器,則該等作業系統通 系向使用者顯示要求安裝所需軟體的訊息。 提向使用方便性的該等方法具有有利效果。沒有該等方 法’使用者(或向使用者提供支援服務的技術人員)必須自己 採取步驟確保在任何既定電子裝置中安裝了支援特定硬體 組件所需的軟體。這通常要求使用者或技術人員對硬體組 件及所附軟體有相當詳細的瞭解。但是,提高使用方便性 之該等方法使許多使用者無需如此詳細地瞭解該等知識, 86320 ; 1229793 在許多情況下,也使許多使用者無需如此依靠他人的支援。 但是,提高使用方便性之該等方法也增加了使用該等先 前不存在的硬體組件及軟體的新的複雜性。隨著時間的推 移’硬體會老化或用舊,各種硬體組件被磨損,需要更換。 通常可以用在設計及功能的許多方面實質相似的新硬體組 件更換舊硬體組件,使用新硬體組件更換舊硬體組件無須 使用者或技術人員提供已經不存在的軟體。但是,在一段 時間後,生產商通常不會不經修改即繼續生產非常相同的 硬體組件。硬體生產商趨向於在一段時間後改進或改變硬 體的設計,即使該等改變僅是降低了生產成本、功率消耗、 實體大小,或無須安裝新軟體使用新硬體的數個其他可能 的改變。不幸的是,在生產商做出該等改進時,通常希望 反映該等改進係藉由改變暫存器内包括的一或多個值而做 出,軟體讀取暫存器内的值係為反映該硬體代表一新硬體 版本。 雖然希望軟冑可讀暫存器反映一#定硬冑組件代表已被 更換的硬體組件比硬體版本更新,但是,此舉通常使軟體 讀取該等暫存器,遇到版本變化提示,然後要求使用者或 技術人員疋否安裝軟體的更新版本以支援新版本的硬體, 而不論新硬體組件之正常工作是否實際需要新軟體。換言 之,在使用者安裝新硬體組件更換有故障的舊硬體組件之 後使用者通系要面對作業系統提供提示必須安裝新軟體 的訊息,即使新硬體組件之功能與被更換硬體組件的功能 一樣0 86320 ^ . 1229793 、該等方法於使用者不方便,如果發生有人事專屬之公司 或其他大型組織要支援該組織之許多使用者,在使用者面 對要求提供並不需要之軟體時,為滿足其需要而耗費的時 間及/或其他資源也使該等方法代價不菲。 【發明内容】 雖然為解釋及徹底理解以下描述說明了數個細節,但熟 悉技術人士可顯而易1,該等特殊細節並非為f施本發明 之下述申請範圍所必須的。 本發明揭示辨識硬體及軟體版本之間的相容性及簡化硬 體及軟體不同版本之不同組合使用的一種方法及裝置。具 體而言,一項具體實施例係關於使用一特定軟體從多個暫 存器中選擇一值用於辨識一硬體組件的版本,以進一步門 化該硬體組件之使用。但是,雖然具體實施例係參考儲存 於暫存器並自其讀取的值來說明,如下述申請專利範圍所 述本發明也包括用於識別硬體組件版本的儲存及讀取值的 其他方法或其他辨識形式。 【實施方式】 圖1 a與1 b分別描繪提供硬體版本資訊之暫存器的一項具 體貫施例的位址圖與示意圖。位址圖10 0 a顯示意圖由軟體 用於辨識包括邏輯100b是一部分之硬體組件的少數暫存器 的位址位置。具體而言,熟悉技術人士應明白,位址圖丨〇〇a 顯示一硬體組件之位址位置的組織,該硬體組件符合廣為 人知且廣泛使用的外設組件互連或「PCI」匯流排的規格。 位址00h的銷售商ID暫存器130應由軟體讀取,以提供一 16 86320. - 8 - 1229793 k元二進位值,辨識硬體組件的生產商。位址〇2h的裝置ID 暫存器13 2應提供一 16位元二進位值,辨識該硬體組件。版 本ID暫存器126提供一 8位元二進位值,辨識該硬體組件的 版本級別。當然,該等特定位元大小僅為便於說明之示範, 無意為限制性的。 避輯100b係用於選擇軟體將從版本ID暫存器126中讀取 的版本ID值,以辨識包括邏輯丨〇此是一部分之硬體組件的 版本級別。步進版本ID暫存器122保存辨識包括邏輯1〇〇b 疋。卩勿之硬體組件的實際版本級別的值。相容版本id暫 存124保存辨識硬體版本級別的值,藉由該硬體該硬體組 件足以相容運行類似軟體。步進版本m暫存器122及相容版 本ID暫存器124均係耦合至多工器12〇的輸入,其輸出係耦 合至版本ID暫存器126。寫入一次暫存器11〇及安全密鑰值 暫存器112均係_合至比較器114的輸人,其輸出係耦合至 多工器120的選擇輸入。.
在琢項具體實施例中,_值係寫人以數種可能方式中的 任-種方式寫入寫入一次暫存器110,然後比較器ιΐ4比較 該值與安全密鑰值暫存器112保存的安全密鑰值。若該兩值 則比車又态114的輸出改變以致多工器12〇改變,使其 匹配, 暫存器110之名稱所建議的,寫人—次暫存器ug係設計為 邏輯1_是-部分的硬體組件的正常運作中僅寫入一次。 從提供步進版本m暫存器保持的值(其係當作軟體稍後將 從版本ID暫存器126讀取的值,該值在該項具體實施例中為 預设值)成為提供相容版本山暫存器保存的值。如寫入一次 86320 • 9 - 1229793 該限制係安全形式之部分,其僅提供一次機會改變軟體稍 後將從版本ID暫存器126讀取的值。若寫入一次暫存器ιι〇 的寫入的值不與安全密鑰值暫存器112保存的值匹配,則將 失去改變軟體稍後將從版本ID暫存器126讀取的值的機會。 根據邏輯100b是一部分的硬體組件的設計,多工器12〇 可重設為每當硬體組件為正常使用而重設至初始化時,向 讀取版本ID暫存器126的軟體提供步進版本ID暫存器122保 存的值。為正常使用重設硬體組件也可能更新寫入一次暫 存备110為改變軟體稍後將從版本ID暫存器126讀取的值所 提供的一次機會。而且,雖然可以用數個方式中的任一方 式向寫入一次暫存器11 〇寫入一值,在該項具體實施例的一 變化中’當軟體實際向版本ID暫存器126寫入值時對寫入一 次暫存器110寫入一值。 如熟悉技術人士容易明白的,可使用各種多種可能性方 式貫施士全余鑰值暫存器112、步進版本id暫存器122及相 容版本ID暫存器124,以向該等暫存器提供各自保存的值。· 亥等方法包括但不限於硬體線路、使用唯讀記憶體裝置、 在正常使用邏輯100b是一部分的硬體組件之前同時由其他 軟體預先程式化、或透過安裝於電路板的電阻器在其它方 法中選擇性地將一整合電路的插腳連接至高或低電壓。具 體而言,相容版本ID暫存器124可實施當作軟體可寫入暫存 器或可由使用者(或技術人員)透過軟體公用程式可再程式 化的非揮發性可再程式化儲存裝置。 而且,如熟悉技術人士將明白的,使用安全密瑜值及附 86320 - . . 1〇 _ 1229793 帶的安全密瑜值暫存器112僅為許多可能方式之—種’該等 、弋句可用於限制選擇將提供給軟體讀取版本ID暫存器 126的值所需的限制存#。具體而纟,可能允許一軟體進行 該種選擇並實施該種選擇’而另-軟體只能讀取所做的選 擇j允許一軟體具有選擇所需的限制存取而另一軟體沒有 、、、σ flb為防止另一軟體具有該存取的硬體設計、或 使一 ^體在較另一軟體更優先的級別上運行的0S指定允 弄、或其他方式。也可能為兩個軟體分別在單獨的處理器 上運2。具體而言,一軟體可在用於配置硬體組件(其可能 為:電腦系統)的-單獨微控制器上運行,當作為其他軟體 正吊使用該系統而讀取該等硬體組件之部分。 而且,如熟悉技術人士將明白的,處理器可從版本ID 126 碩取义值之選擇的鎖存可以使用多種方式之任一方式實 =。具體而言,上述說明集中於使用寫入一次暫存器鎖存 一值並提供該值與安全密鑰值暫存器112保存的安全密鑰 ㈣行比較。“至寫人―次暫存器㈣之㈣鎖存= 著a寫入—次暫存器110提供給比較器114的值在鎖存後保 持常數,使比較器⑴至多工器12〇的輸出也保持常數,藉 ,有效「鎖存」可從版本1〇暫存器126讀取的值的選擇。但 疋’比較器114的輸出在到達多工器丨2〇前也可能通過一鎖 存器(圖中未顯示),使比較器114的輸出被鎖存。這可視為 鎖存寫入之多位元值的寫入一次暫存器110的理想替代方 法’以減少整個電路的複雜性。 雖然圖“與lb說明的具體實施例特別符合pci匯流排的 86320 1229793 要求,熟悉技術人士顯而易見,如以下之申請專利範圍, 本發明不受該具體實施例的限制,其他匯流排標準或完全 不同的硬體形式的具體實施例也是可能的。 圖2說明顯示一電腦系統與其硬體組件之一之互動的一 項具體實施例的方塊圖。硬體組件200係一電腦系統250的 一組件,電腦系統250的使用者或支援該使用者的一技術人 員可藉由匯流排連接器288之一將其耦合至電腦系統250的 其餘部分。硬體組件200包括版本ID暫存器226,其可接收 步進版本ID暫存器222或相容版本ID暫存器224提供的值。 硬體組件200還可包括一固態裝置儲存初始化軟體228。 除硬體組件200外,電腦系統250還包括處理器259,根據 電腦系統250的設計或設計用途,其可耦合至記憶體控制器 260、I/O控制器270、匯流排控制器280及圖形控制器290中 的一或多個。記憶體控制器260係進一步耦合至記憶體268, I/O控制器270係進一步耦合至一或多個I/O裝置,可包括 鍵盤278及/或滑鼠279,匯流排控制器280係進一步耦合至 匯流排連接器288,及圖形控制器290係進一步耦合至顯示 器298。此外,電腦系統250還可包括初始化軟體258。 初始化軟體228及/或258可儲存於固態裝置的形式中,如 唯讀記憶體(read-only memory ; ROM)裝置、可抹除可程式 化唯讀記憶體(erasable programmable read-only memory; EPROM)裝置或其他可重寫記憶體裝置,如快閃記憶體裝置 或非揮發性記憶體裝置,如具有電池備份的隨機存取記憶 體(random access memory ; RAM)裝置。或者,初始化軟體 -12- 86320 · 1229793 228及/或258可儲存於任何各種磁片、磁帶或機器可存取媒 體的其他形式中。 在特定時刻,如當電腦系統250電力開啟時,當電腦系統 250重設時及/或當改變電腦系統250之硬體組件配置時(可 能為增加或移除一硬體組件如硬體組件200),即執行初始 化軟體258,以檢查電腦系統250是否已可以正常使用及/或 準備電腦系統250的正常使用。初始化軟體258可使處理器 259詢問一或多個硬體組件的存在或狀態,及/或使處理器 259執行一或多個測試。 在該項具體實施例的一變化中,軟體258使處理器259(或 可能使電腦系統250内的某些其他處理器)偵測硬體組件 200的存在,也可寫成與硬體組件200互動。若初始化軟體 確實係寫成特別與硬體組件200互動,初始化軟體258可寫 成選擇步進版本ID暫存器222或相容版本ID暫存器224提供 隨後可從版本ID暫存器226讀取的值。然後初始化軟體258 使處理器259(或另一處理器)存取硬體組件200内該值之選 擇的邏輯控制,所用方式與詳細說明之圖lb的邏輯100b相 似,或使用各種可能之其他方式。 在該項具體實施例的一變化中,硬體組件200包括的初始 化軟體228係寫成與硬體組件200互動,也可寫成選擇步進 版本ID暫存器222或相容版本ID暫存器224提供隨後可從版 本ID暫存器226讀取的值。若如此,則初始化軟體228使處 理器259(或另一處理器)存取硬體組件200内該值之選擇的 邏輯控制,所用方式與詳細說明之圖lb的邏輯100b相似, 86320 乂 -13- 1229793 或使用各種可能之其他方式。 不論是初始化軟體228還是258使選擇隨後從版本ID暫存 器226讀取的值,值的實際選擇可能取決於任何各種可能因 素。在一項具體實施例中,建立初始化軟體228或初始化軟 體258的人士可能知道,當選擇步進版本ID暫存器222或相 容版本ID暫存器224的一或另一個值時,會頻繁出現涉及特 定作業系統或其他軟體的問題。因此,建立初始化軟體228 或258的人士可配置初始化軟體228或258以某些方法限制 值的選擇或完全防止造成該等問題的值選擇。實現方法可 為,藉由將一較佳選擇「寫定」至初始化軟體228或258, 或至少使一較佳選擇當作預設值。 在另一項具體實施例中,初始化軟體228或258的建立者 可能向電腦系統250的使用者(或支援該使用者的技術人員) 提供根據電腦系統250正常使用的特定作業系統或其他軟 體來選擇一值的方法。在該項具體實施例中,初始化軟體 228或258可使處理器259(或某些其他處理器)提供可透過圖 形控制器290及顯示器298查看的螢幕上功能表的某些形 式,使用者或技術人員可藉此進行選擇。若使用者或技術 人員選擇在電腦250上安裝數個作業系統或其他軟體,此即 為理想功能。若選擇可用之值之特定一個,某些作業系統 及其它軟體可能不穩定或發生故障,或可能需要更新的驅 動軟體版本,但是,藉由選擇另一值仍可防止該等問題。 使用者或技術人員也可能用硬體組件200更換一舊硬體組 件,而硬體組件200係設計成可與該舊硬體組件同樣使用, 86320 -14- 1229793 而且只要選卜值,硬體組件_的使用即可無需更換舊硬 體組件使用的軟體’或至少選擇一值,使硬體組件2〇〇向該 軟體提示與該舊硬體組件提示的值同樣的值,其可使使用 者或技術人員避免需要不同版本軟體或其他麻煩的問題。 在另-項具體實施例中’允許使用者或技術人員進行選 擇的情況可能為使用者或技術人員用硬體組件2〇〇更換一 舊硬體組件,而與所更換的舊硬體組件相比,硬體組件2〇〇 k供不同或更廣泛的功能。但是’該使用者或技術人員可 能不需要使用該等不同或更廣泛的功能,可能只希望按與_ 舊硬體軟體使用相同的方式使用硬體組件2〇〇,因此,可能 希望選擇一值,使硬體組件200向該軟體提示與該舊硬體2 件所提示的值相同的值,或至少選擇一值,其可使使用者 或技術人員避免需要不同版本軟體或其他不需要的結果。 當作業系統或其他軟體詢問時,例如在安裝硬體組件 200(1 Gbit/sec網路卡)以更換舊1〇〇 “以…“網路卡時,或 在安裝環繞音效聲頻卡硬體組件2〇〇以更換舊唯立體聲聲| 頻卡時,可能希望向使用者或技術人員提供選擇版本崎 存器226提示的值的機會。被更換的該舊網路或聲頻卡的生 產商可能不再生產該類型的舊卡,只提供該等卡的新品種, 但是’電腦系統250的使用者(或使用者的技術人員)可能就 要安裝該新硬體組件2〇〇以更換該舊品種,並且需要電腦繼 績像以前一樣運作。因此,從版本1〇暫存器226選擇與該舊 品種提示的值相匹配的一值或以某種方式等同的一值,即 〔免作業系、、先或其他軟體提示存在具有新功能之新硬體 86320 -. -15- 1229793 的訊息。 可能希望向使用者或技術人員提供值的另一特別情況可 能為,硬體組件200的生產商實際在多個地點生產同一類型 的硬體,但是,由於不同地點的生產程序不同或與功能無 關的其他較小細節,步進版本ID暫存器222所提供的值可能 不同。可能希望能夠有一選擇值,使硬體組件200的所有品 種均能夠提示同樣的值,而不論其生產地為何處。 而且,在任何該等具體實施例中,或在其他具體實施例 中,可供選擇的值可能不只兩個。具體而言,可能有一個 以上的相容版本ID暫存器224,各提供可需要用於各種不同 作業系統或軟體的不同值。 圖3a說明一電腦系統之一具體實施例的方塊圖。在一般 對應於圖2之電腦系統250的一種方式中,電腦系統350包括 處理器359,根據電腦系統350的設計或設計用途,可耦合 至記憶體控制器360、I/O控制器370、匯流排控制器380及 圖形控制器390中的一或多個。記憶體控制器360係進一步 耦合至記憶體368,I/O控制器370係進一步耦合至一或多個 I/O裝置,可包括键盤378及/或滑鼠379,匯流排控制器380 係進一步耦合至匯流排連接器388,及圖形控制器390係進 一步耦合至顯示器398。但是,與電腦系統250不同,電腦 系統350的處理器359及記憶體控制器中的一或兩個可具有 有可選擇值的版本ID暫存器。具體而言,如圖3所示,處理 器359可具有版本ID暫存器356及步進版本ID暫存器352與 相容ID暫存器354,同樣地,記憶體控制器360可具有版本 86320 -· . -16- 1229793 ID暫存器366及步進版本ID暫存器362與相容ID暫存器364。 電腦系統350還可包括初始化軟體358。 與圖2之電腦系統250相同,在電腦系統35〇中,初始化軟 體358可儲存於固態裝置中,如具有電池備份的r〇m(唯讀 記憶體)裝置、EPROM(可抹除可程式化唯讀記憶體)裝置或 其他可重寫記憶體裝置,如快閃記憶體裝置或非揮發性記 憶體裝置,如RAM(隨機存取記憶體)裝置。或者,初始化 軟體358可儲存於任何各種磁片、磁帶或基於媒體的其他儲 存裝置中。 在特疋時刻,如當電腦系統3 5 0電力開啟時,當電腦系統 350重設時及/或當改變電腦系統35〇之硬體組件配置時(可 能為增加或移除一硬體組件),即執行初始化軟體358,以 檢查電腦系統350是否已可以正常使用及/或準備電腦系統 350的正常使用。初始化軟體358可使處理器359詢問一或多 個硬體組件的存在或狀態,及/或使處理器359執行一或多 個測試。 初始化軟體358可使處理器359(或可能使電腦系統35〇内 的某些其他處理器)偵測處理器359及/或記憶體控制器36〇 之特定版本的存在。初始化軟體358可寫成選擇處理器359 的步進版本ID暫存器352或相容版本ID暫存器354,以提供 隨後可從版本ID暫存器356讀取的值,或選擇記憶體控制器 360的步進版本id暫存器362或相容版本id暫存器364,以提 供隨後可從版本ID暫存器366讀取的值。然後,初始化軟體 3 58將使處理咨359(或另一處理器)存取該等值的選擇的邏 86320-: . ^ 1229793 輯控制’並做出合適的選擇。 與圖2之電腦系統250同樣,隨後可從版本㈣存器州 及/或366(㈤或另—個讀取的值的實際選擇可能取決於 各種可能因素。初始化軟體358的建立者可能知道該等因素 係選擇或不選擇特定㈣起的潛在問題或故障,或係留給 使用者或支援使用者的技術人員的選擇。與前述有 初始化軟體228與258的說明—樣,初始化軟體州可向使用 者或技術人員提示值的選擇’該值的選擇可藉由圖形控制 益390及/或顯示器398或各種其他可能 提供。 衣 牛勺故障或即使疋希望用較先前安裝的處理器更快的 處理器359升級電腦系統35Q都會遇到引人新硬體組件的情 —/更UL件《步進版本m暫存器的值不同於被更換的 舊硬體組件的值,作甚,表# , -疋希丄不向作業系統或其他特定軟 «示該硬體組件之變化。也可能是,所安裝的更快的處 益9也才疋供使用者或技術人員無需使用(不論原因為何) 的利指令選項或其他功能,因此,使用者或技術人員可 選擇ik後可攸版本ID暫存器356讀取的、模仿舊處理器提示 f —值組件故障可能要求安裝新記憶體控制器360更換舊 S己憶體控制器,但是記憶體控制器360的生產商可能減小了 = 了某些其他改變’與所更換的控制器相比, 。。等又化句不以響§己憶體控制器鳩的功能,則記憶體控制 可犯向作業系統或其他軟體提供其版本①暫存器恤 々版本ID值’使作業系統或其他軟體變得不穩定或無 86320 -18- 1229793 法運作’或要求軟體升級或另一版本的軟體,除非選擇一 不同值。 才疋供選擇隨後可伙版本ID 356或366之一個或二者中讀 取的值的機會的一特別情形可能為,電腦系統35〇係以全體 設定方式使用的許多電腦之一。在此情形中使用的電腦(包 括電腦系統350)可能為購自同一來源的相同配置,但是由 於生產商對該等電腦中使用的一或多個組件的細小改善, 該等電腦之一或多個組件的版本ID值可能不全部一樣,至 少在使用步進版本ID暫存器提示的值時係如此。這可能導 致難以如願在該種場合使用各件軟體均為特定版本的同一 組軟體。要在至少某些該等電腦中能夠從一或多個組件之 相容版本ID暫#器中選擇一值可能需要使用㈣軟體共同 組。 圖3b說明一電腦系統的形式之另一具體實施例的方塊 圖γ具體而言,圖3b之電腦系統35〇與圖3a的電腦系統35〇 只質相同,只增加了 一第二處理器,即處理器乃7。處理器 357係用於協助配置及/或監視電腦系統35〇的功能。處理器 357可實施為-微控制器,其在一單一積體電路上組合數: 記憶體’包括其自身的初始化編碼。處理器357可能具有— 或多個通料,用於向電腦系統350的其他外設裝置(包括 可能:中心監視電腦系統)傳送電腦系統35〇的運作狀態。 _ 貝八缸只她例中,其自身的初始化編碼可能使處理 °° 35:偵測處理器359及’或記憶體控制器360的特定版本。 處理益357可寫成選擇處理器359的步進版本ID暫存器352 86320 ;. -19- 1229793 或相容版本ID暫存器354 ,以提供隨後可從版本①暫存器 356讀取的值,及/或選擇記憶體控制器36〇的步進版本⑴暫 存器362或相容版本ID暫存器364,以提供隨後可從版本⑴ 暫存器366讀取的值。然後,處理器3S7使稍後可由軟體讀 取的該等選定值由處理器359透過版本ID暫存器356及/或 366執行。 在该項具體實施例中,另一處理器如處理器357可存取選 擇版本ID暫存器356及/或366的值所需的邏輯,該邏輯可設 計成或配置成不可由處理器359讀取。而且,處理器357可 直接或間接透過其它處理器359使用的邏輯存取圖形控制 為3 90,使電腦系統35〇的使用者或支援該使用者的技術人 員有機會藉由螢幕功能表或其他方式選擇可透過版本山暫 存器3S6及/或366讀取的值。 雖然圖3a與3b說明的處理器359與記憶體控制器36〇具有 版本ID、步進版本10及相容版本m暫存器,熟悉技術人士 應明白,其均為說明而當作示範的替代實施例。具體而言, 熱悉技術人士應明白,電腦系統35〇的其他組件可能具有處 理器359及/或記憶體控制器36〇現有功能以外的附加功能 或替代功能。 圖4說明初始化軟體初始化方式之具體實施例的流程圖。 電腦系統在41 0電力開啟或重設,在4丨2,一處理器開始 執行初始化軟體。在420,該初始化軟體使該處理器定位 —版本ID暫存器,在422,使該處理器載入一選擇指示(固 定碼於該初始化軟體自身或來自其他來源),其提示是否應 86320 - -20- 1229793 使用步進版本ID暫存器中保存的值。在43〇,若要使用嗜步 進版本哨存器的值,及在彻,若未要求實施操作❹該 v進版本ID暫存益的值,則該初始化軟體不會使處理器就 版本1D的值採取進—步的作用。但是,若在440需要實施操 作使用該步進版本ID暫存器的值,則該初始化軟體在442 採取該附加作用。在43〇若不應使用該步進版本⑴暫存器保 存的值,則將使用一相容版本1〇暫存器的一值,在45〇將採 取使用該相容版本ID暫存器的該值。 在一項具體實施例中,可能在442或45(),一安全密鑰值 必須寫入一暫存器,以選定所希望的值,其方式可能與圖i 說明的類似。或者,可使用其他安全方式,以確保僅有該 初始化軟體能夠選擇可從版本ID暫存器讀取的值。 本發明係結合較佳具體實施例說明。熟悉技術人士顯而 易見,根據上述說明,本發明可具有多種替代實施例、修 改走更及用途。熟悉技術人士應明白,如下文專利申請 範圍所述,本發明可支援辨識數位電子系統(包括但不限於 電腦系統)之各種組件的版本。雖然所說明的具體實施例涉 及暫存器及用作預設值的步進版本1〇值,熟悉技術人士應 明白’其他形式的硬體也可用於保持、儲存與/或提供值或 版本級別辨識的其他形式,版本ID值的其他變化可用作預 设值’除非使用者或支援使用者的技術人員及/或某些軟體 形式採取某些相反的步驟。而且,雖然具體實施例的說明 集中於選擇一值說明硬體組件的版本級別,所說明的相關 於該等具體實施例的方法也可用於硬體組件辨識的其他方 86320 ;. • 21 - 1229793 :=::Γ—裝置㈣存器 #悉技術人士顯而易見本發 其中: 明之上述目標 、功能及優點 一項具體實施例的暫存 圖la與lb係提供硬體版本資訊之 器的位址圖與示意圖。 圖2係與一 方塊圖。 電腦系統互重Λ > _ „ 更m組件之具體實施例的 圖3a與3b係一電腦系統之且髀余、 ϋ、八貝施例的方塊圖。 圖4係選擇辨識硬體版本 ^ ^ +之值的万法的具體實施例 矛王圖。 【圖式代表符號說明】 110 寫入一次暫存器 112 安全密瑜值暫存器 114 比較器 120 多工器 122 步進版本ID暫存器 124 相容版本ID暫存器 126 版本ID暫存器 130 銷售商ID暫存器 132 裝置ID暫存器 200 硬體組件 222 步進版本ID暫存器 224 相容版本ID暫存器 86320 -22- 1229793 226 版本ID暫存器 228 初始化軟體 250 電腦系統 258 初始化軟體 259 處理器 260 記憶體控制器 268 1己憶體 270 I/O控制器 278 键盤 279 滑鼠 280 匯流排控制器 288 匯流排控制器 290 圖形控制器 298 顯TF益 350 電腦系統 352 步進版本ID暫存器 354 相容版本ID暫存器 356 版本ID暫存器 357 處理器 358 初始化軟體 359 處理器 360 記憶體控制器 362 步進版本ID暫存器 364 相容版本ID暫存器 86320 . -23 - 1229793 366 版本ID暫存器 368 記憶體 370 I/O控制器 378 键盤 379 滑鼠 380 匯流排控制器 388 匯流排控制器 390 圖形控制器 398 顯示器 OOh 位址 100a 位址圖 100b 邏輯 24- 86320

Claims (1)

  1. I229@3117638號專利申請案 中文申請專利範圍替換本(93年9月)/紙α. —2 f 拾、申請專利範園: 1. 一種辨識硬體及軟體修訂版本相容性之裝置,包括: 可由一處理器讀取的一版本ID暫存器; 一步進版本ID暫存器,其保存一指示一第一硬體組件的 實際步進版本級別之值; 至少一相容版本ID暫存器,其保存一指示可能與該第一 硬體組件使用同一軟體的一第二硬體組件的一步進版本 級別之值;以及 可從該步進版本ID暫存器或該至少一個相容版本ID暫 存器之一選擇一值的選擇邏輯,該選定之值可由該處理 器讀取。 2. 如申請專利範圍第1項之裝置,其進一步由一儲存指令的 儲存裝置組成,該等指令包括一初始化軟體,其中該選 擇邏輯係回應執行該等指令的該處理器。 3. 如申請專利範圍第1項之裝置,其中該選擇邏輯包括一積 體電路内的一多工器,及該步進版本ID暫存器包括和該 積體電路内的至少一個固線連接,其將該多工器的至少 一個輸入連結至至少一個電壓位準,以提供表示該第一 硬體組件之該實際步進版本級別的該值。 4. 如申請專利範圍第3項之裝置,其中該至少一個相容版本 ID暫存器之一包括一個封包的至少一個插針,該封包封 閉連結至至少一個電壓位準的該積體電路,以提供該第 二硬體組件的該步進版本級別。 5. 如申請專利範圍第1項之裝置,其中該處理器可讀取該版 86320.doc 1229793 本ID暫存器的該位址符合指定用於該PCI匯流排的該版 本ID暫存器的位址位置。 6.如申請專利範圍第1項之裝置,其中該步進版本ID暫存器 保存的該實際步進版本級別指示該第一硬體組件提供該 第二硬體組件提供的功能以外的至少一項附加功能,而 將與該第一硬體組件一起使用的該第二硬體組件使用的 軟體至少不需要一項附加功能。 7·如申請專利範圍第1項之裝置,其中該選擇邏輯包括一安 全密鑰值暫存器保存一安全密鑰值,以及一寫入一次暫 存器,必須使該處理器向其寫入一值,由一初始化軟體 與該安全密鑰值匹配,使該第一處理器能夠控制該選擇 邏輯。 8. —種啟動辨識硬體及軟體修訂版本相容性之電腦系統, 包括: 一處理器; 耦合至該處理器的記憶體; 耦合至該處理器的一圖形控制器; 一儲存裝置儲存指令,包括一初始化軟體; 可由該處理器讀取的一版本ID暫存器; 一步進版本ID暫存器,其保存一指示一第一硬體組件的 實際步進版本級別之值; 至少一相容版本ID暫存器,其保存一指示可能與該第一 硬體組件使用相同軟體的一第二硬體組件的一步進版本 級別之值;以及 86320.doc -2-
    1229793 可從該步進版本ID暫存器或該至少一個相容版本ID暫 存器之一選擇一值的選擇邏輯,該選定之值可由該處理 器讀取。 9. 如申請專利範圍第8項之電腦系統,其中該選擇邏輯係回 應執行該初始化軟體指令的該處理器。 10. 如申請專利範圍第8項之電腦系統,其中該選擇邏輯包括 一積體電路内的一多工器,及該步進版本ID暫存器包括 和該積體電路内的至少一個固線連接,其將該多工器的 至少一個輸入連結至至少一個電壓位準,以提供表示該 第一硬體組件之該實際步進版本級別的該值。 11. 如申請專利範圍第10項之電腦系統,其中該至少一個相 容版本ID暫存器之一包括一個封包的至少一個插針,該 封包封閉連結至至少一個電壓位準的該積體電路,以提 供該第二硬體組件的該步進版本級別。 12. 如申請專利範圍第8項之電腦系統,其中該處理器可讀取 該版本ID暫存器的該位址符合指定用於該PCI匯流排的 該版本ID暫存器的位址位置。 13. 如申請專利範圍第8項之電腦系統,其中該步進版本ID暫 存器保存的該實際步進版本級別指示該第一硬體組件提 供該第二硬體組件提供的功能以外的至少一項附加功 能,而將與該第一硬體組件一起使用的該第二硬體組件 使用的軟體至少不需要一項附加功能。 14. 如申請專利範圍第8項之電腦系統,其中該選擇邏輯包括 一安全密瑜值暫存器保存一安全密鑰值,以及一寫入一 86320.doc 1229793 次暫存器,必須使該處理器向其窝入一值,由該初始化 軟體與該安全密鑰值匹配,使該處理器能夠控制該選擇 邏輯。 1 5.如申請專利範圍第8項之電腦系統,其中該第一硬體組件 係組合於該處理器中。 1 6. —種啟動辨識硬體及軟體修訂版本相容性之電腦系統, 包括: 一第一處理器; 一第二處理器; 耦合至該第一和第二處理器的一圖形控制器; 一儲存裝置儲存指令,包括一初始化軟體; 可由該第一處理器讀取的一版本ID暫存器; 一步進版本ID暫存器,其保存一指示一第一硬體組件的 實際步進版本級別之值; 至少一相容版本ID暫存器,其保存一指示可能與該第一 硬體組件使用同一軟體的一第二硬體組件的一步進版本 級別之值;以及 可由該第二處理器存取的選擇邏輯,以使能從該步進版 本ID暫存器或該至少一個相容版本ID暫存器之一選擇一 值,並使該值可從該第一處理器可讀取該版本ID暫存器。 17. 如申請專利範圍第16項之電腦系統,其中該選擇邏輯係 由執行該初始化軟體指令的該第二處理器控制。 18. 如申請專利範圍第16項之電腦系統,其中該處理器可讀 取該版本ID暫存器的該位址符合指定用於該PCI匯流排 86320.doc -4 - 1229793 的該版本ID暫存器的位址位置。 19. 如申請專利範圍第16項之電腦系統,其中該第一硬體組 件係組合於該第一處理器中。 20. —種辨識硬體及軟體修訂版本相容性之方法,包含: 使用一安全密鑰存取一選擇邏輯; 使用該選擇邏輯從一步進版本ID暫存器選擇一值,該步 進版本ID暫存器保存一值指示一第一硬體組件的實際步 進版本級別,該至少一個相容版本ID暫存器之一保存一 值指示一第二硬體組件之一步進版本級別,該第二硬體 組件可能與該第一硬體組件使用同一軟體;以及 當該處理器透過一版本ID暫存器讀取該選定值時,使一 處理器可讀取該選定值。 2 1 ·如申請專利範圍第20項之方法,其中使用一安全密鑰及 使用該選擇邏輯係由執行儲存於一機器可存取媒體之一 初始化軟體的指令的該處理器實施。 22. 如申請專利範圍第20項之方法,其進一步包括在該選擇 邏輯用於選擇一值後,防止執行一軟體指令的該處理器 存取該選擇邏輯。 23. —種由指令組成的機器可存取媒體,若由一機器的一處 理器執行,將使該機器: 使用一安全密鑰對一選擇邏輯獲得存取; 使用該選擇邏輯從一步進版本ID暫存器或至少一個相 容版本ID暫存器之一選擇一值,該步進版本ID暫存器保 存一指示一第一硬體組件的實際步進版本級別之值,該 86320.doc 1229793 至少一個相容版本ID暫存器之一保存一指示一第二硬體 組件之一步進版本級別之值,該第二硬體組件可能與該 第一硬體組件使用同一軟體;以及 當該處理器透過一版本ID暫存器讀取該選定值時,使該 處理器可讀取該選定值。 24.如申請專利範圍第23項之機器可存取媒體,其中在該選 擇邏輯用於選擇一值後,防止該處理器進一步存取該選 擇邏輯。 86320.doc -6-
TW092117638A 2002-06-28 2003-06-27 Method and apparatus for identifying hardware compatibility and enabling stable software revision selection TWI229793B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/187,222 US7100032B2 (en) 2002-06-28 2002-06-28 Method and apparatus for identifying hardware compatibility and enabling stable software images

Publications (2)

Publication Number Publication Date
TW200406677A TW200406677A (en) 2004-05-01
TWI229793B true TWI229793B (en) 2005-03-21

Family

ID=29780018

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092117638A TWI229793B (en) 2002-06-28 2003-06-27 Method and apparatus for identifying hardware compatibility and enabling stable software revision selection

Country Status (8)

Country Link
US (1) US7100032B2 (zh)
EP (1) EP1523709A2 (zh)
JP (1) JP2005531085A (zh)
KR (1) KR100824462B1 (zh)
CN (1) CN1678995B (zh)
AU (1) AU2003253670A1 (zh)
TW (1) TWI229793B (zh)
WO (1) WO2004003737A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI550429B (zh) * 2010-12-14 2016-09-21 微軟技術授權有限責任公司 使用數位執照之軟體啟動

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076643B2 (en) * 2003-01-28 2006-07-11 Hewlett-Packard Development Company, L.P. Method and apparatus for providing revision identification numbers
US20050262337A1 (en) * 2004-05-24 2005-11-24 Siemens Vdo Automotive Corporation Method and device for determining flash software compatibility with hardware
CN100356320C (zh) * 2004-12-20 2007-12-19 上海贝尔阿尔卡特股份有限公司 用于选择多版本软件的方法和选择设备
CN100551088C (zh) * 2006-02-23 2009-10-14 华为技术有限公司 一种检测升级软件与机顶盒硬件兼容性的方法
DE102006062216A1 (de) 2006-12-22 2008-06-26 Robert Bosch Gmbh Kraftstoffinjektor
SG194245A1 (en) * 2012-04-17 2013-11-29 ZingMobile Pte Ltd A method for real-time synchronization between a device and host servers
CN104156309B (zh) * 2014-07-29 2016-10-05 深圳市腾讯计算机系统有限公司 终端应用的兼容性检测方法、装置及服务器
EP3289684A4 (en) * 2015-04-29 2018-12-19 Hewlett-Packard Development Company, L.P. Connector element information detections
US10659852B2 (en) * 2017-07-20 2020-05-19 Hewlett-Packard Development Company, L.P. Connector element information detections
CN114780154B (zh) * 2022-04-19 2024-01-30 北京航天发射技术研究所 一种兼容不同生产厂家主控板硬件状态的方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1022386C (zh) * 1990-11-17 1993-10-13 太原重型机械学院 环状工件的液压胀形装置
KR100292005B1 (ko) 1991-06-17 2001-09-17 리패치 컴퓨터회로가컴퓨터소프트웨어의갱신된버전과작용하도록하기위한방법및장치
US5454078A (en) * 1992-08-07 1995-09-26 International Business Machines Corporation System for sharing name among network adapters by, dynamically linking adapters having same logical name and maintaining linked state of remaining adapters
US5787246A (en) 1994-05-27 1998-07-28 Microsoft Corporation System for configuring devices for a computer system
US5812858A (en) * 1994-09-16 1998-09-22 Cirrus Logic, Inc. Method and apparatus for providing register and interrupt compatibility between non-identical integrated circuits
US5802365A (en) 1995-05-05 1998-09-01 Apple Computer, Inc. Dynamic device matching using driver candidate lists
US6330608B1 (en) * 1997-03-31 2001-12-11 Stiles Inventions L.L.C. Method and system of a computer system for establishing communications between a service provider and a central service factory and registry in a computer system
WO1999066413A1 (en) 1998-06-18 1999-12-23 Aristocrat Technologies Australia Pty Ltd Method of linking devices to gaming machines
US6457069B1 (en) * 1998-07-23 2002-09-24 Compaq Information Technologies Group, L.P. Method and apparatus for providing support for dynamic resource assignment and configuration of peripheral devices when enabling or disabling plug-and-play aware operating systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI550429B (zh) * 2010-12-14 2016-09-21 微軟技術授權有限責任公司 使用數位執照之軟體啟動

Also Published As

Publication number Publication date
CN1678995B (zh) 2010-05-26
EP1523709A2 (en) 2005-04-20
TW200406677A (en) 2004-05-01
JP2005531085A (ja) 2005-10-13
WO2004003737A2 (en) 2004-01-08
US20040003224A1 (en) 2004-01-01
KR20050006294A (ko) 2005-01-15
WO2004003737A3 (en) 2005-02-17
AU2003253670A1 (en) 2004-01-19
KR100824462B1 (ko) 2008-04-22
US7100032B2 (en) 2006-08-29
CN1678995A (zh) 2005-10-05

Similar Documents

Publication Publication Date Title
CN110032405B (zh) 系统开机码存储器管理方法、存储器装置与应用其的电子系统
TW299424B (en) Methods and apparatus for booting a computer having a removable media disk drive
US7430662B2 (en) Techniques for initializing a device on an expansion card
US6658562B1 (en) Method, system, and program for customizing a basic input/output system (“BIOS”) configuration according to the type of user
EP1280058A2 (en) Method and system for creating and employing an operating system having selected functionality
US7039799B2 (en) Methods and structure for BIOS reconfiguration
US11042365B2 (en) Firmware updating method and electronic device using the same
US20090254898A1 (en) Converting a device from one system to another
JPH05346900A (ja) データ処理システム及びデータ処理システムを動作させる方法
US20150154033A1 (en) Computer system and boot method thereof
BR112014014815B1 (pt) Dispositivo de computação, método e meio de armazenamento para realização de cópia de segurança de firmware
TWI229793B (en) Method and apparatus for identifying hardware compatibility and enabling stable software revision selection
US10698696B2 (en) Chipset fuse programming system
US7958344B2 (en) Method for adjusting set-up default value of bios and mainboard using the same method
US7080164B2 (en) Peripheral device having a programmable identification configuration register
US7987354B2 (en) Updating a source image file in a BIOS memory
CN109426511B (zh) 软核更新方法和系统
US7428635B2 (en) Method of writing non-volatile memory that avoids corrupting the vital initialization code
US20080201572A1 (en) Method and system for uniformizing product data embedded in a computer platform
TWI262440B (en) Method and apparatus for modifying the contents of a revision identification register
WO2022199622A1 (zh) 一种电子设备的启动程序的运行方法和电子设备
US7502874B2 (en) Methods and systems for integrating unique information in SAS interface components
CN118152311A (zh) 数据处理方法、装置、系统、电子设备及存储介质
KR100640612B1 (ko) 메인 코드 기입 방법 및 장치
JP2017174270A (ja) Icカード及びicカードにおけるメモリ制御方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees