TWI293413B - Method for allocating main memory, computer system and chipset - Google Patents

Method for allocating main memory, computer system and chipset Download PDF

Info

Publication number
TWI293413B
TWI293413B TW094120295A TW94120295A TWI293413B TW I293413 B TWI293413 B TW I293413B TW 094120295 A TW094120295 A TW 094120295A TW 94120295 A TW94120295 A TW 94120295A TW I293413 B TWI293413 B TW I293413B
Authority
TW
Taiwan
Prior art keywords
memory
control component
busbar
computer system
register
Prior art date
Application number
TW094120295A
Other languages
English (en)
Other versions
TW200617673A (en
Inventor
David Durham
Priya Rajagopal
Ravi Sahita
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 TW200617673A publication Critical patent/TW200617673A/zh
Application granted granted Critical
Publication of TWI293413B publication Critical patent/TWI293413B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Stringed Musical Instruments (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

1293413 . (1) 九、發明說明 【發明所屬之技術領域】 本發明係有關電腦系統;更具體而言,本發明係有關 記憶體有限的嵌入式系統控制器所使用之電腦系統記憶體 存取。 【先前技術】 | 電腦系統長久以來設有微控制器。微控制器是易於被 整合到積體電路晶片組的小型低成本且低耗電之處理裝 置。然而,許多微控制器的一問題在於該等微控制器具有 有限的晶片內建記憶體。晶片內建記憶體的不足限制了微 控制器可執行的處理之複雜度。 【發明內容】 根據一實施例,揭示了一種電腦系統。該電腦系統包 導|含一中央處理單元(Central Processing Unit;簡稱 CPU )、被耦合到該CPU之一記憶體控制裝置、被耦合到 該記憶體控制裝置之一主記憶體裝置、被耦合到該記憶體 控制裝置之一匯流排、以及被耦合到該匯流排之一個或多 個裝置。該主記憶體裝置的一實體區段被重新映射到該主 §己憶體的一匯流排裝置區’以供該等一個或多個裝置所專 用0 【實施方式】 -5- 1293413 , 1 (2) 本發明說明了一種爲一匯流排裝置而隔離記憶體之機 制。在本說明書中,提到’’一個實施例”或”一實施例”時, 意指參照該實施例所述的一特定的特徵、結構、或特性被 包含在本發明的至少一個實施例中。在本說明書的各部分 出現’’在一實施例中”的詞語時,並不必然都參照到相同的 實施例。 在下文的說明中,述及了許多細節。然而,熟悉此項 φ技術者當可了解,可在無須這些特定細節的情形下實施本 發明。在其他的情形中,並不詳細示出而是以方塊圖的形 式示出一些習知的結構及裝置,以避免模糊了本發明。 圖1是一電腦系統(1〇〇)的一實施例之一方塊圖。 電腦系統(1 00 )包含被耦合到匯流排(1 05 )之一中央處 理單元(CPU ) ( 102 )。在一實施例中,CPU ( 102 )是 其中包括 Intel Corporation (設於 Santa Clara, California)供應的 Pentiun ⑧ II 處理器系列、Pentinn® 0ΙΙΙ處理器、及Pentiun® IV處理器的Pentiun®處理器系 列中之一處理器。或者,亦可使用其他的CPU。 根據一實施例,匯流排(1 05 )是連接到一晶片組 (107)的一記憶體控制中心(Memory Control Hub;簡 稱MCH) ( 110)組件之一前端匯流排(Front Side Bus ; 簡稱FSB) 。MCH ( 110)包含一記憶體控制器(112), 該記憶體控制器(1 12 )被耦合到一主系統記憶體 (1 15 )。主系統記憶體(1 15 )儲存以可被CPU ( 102 ) 或系統(1 00 )中包含的任何其他裝置執行的資料信號代 -6- 1293413 , * (3) 表之資料以及指令及程式碼序列。在一實施例中,主系統 記憶體(115 )包括動態隨機存取記憶體(Dynamic Random Access Memory;簡稱 DRAM);然而,可使用其 他的記憶體類型實施主系統記憶體(1 1 5 )。 在一實施例中,MCH ( 1 1 〇 )係經由一控制中心介面 而被f禹合到一輸入/輸出控制中心(Input/output Control Hub ;簡稱ICH ) ( 1 40 ) 。ICH ( 1 40 )將一介面提供給 馨電腦系統(1 00 )內的各輸入/輸出(I/O )裝置。例如, ICH ( 140)可被鍋合到*—匯流排(150)。在一實施例 中,匯流排(15〇 )是一符合PCI特殊利益集團(PCI Special Interest Group )(設於 Portland,Oregon )所開 發的一 Specification Revision 2.1匯流排之一周邊組件互 連匯流排。 在一實施例中,一匯流排裝置(1 6 0 )被耦合到匯流 排(150 )。在一實施例中,匯流排裝置(160 )是設有一 •微控制器的一網路介面卡。然而,對此項技術具有一般知 識者當可了解,亦可將其他類型的裝置實施爲匯流排裝置 (1 6 0 )。此外,一匯流排裝置(1 6 0 )可經由一匯流排而 被耦合到其他電腦系統(〗〇〇 )之組件(例如,MCH (1 1 0 ))。如前文所述,微控制器具有有限的晶片內建 記憶體,因而限制了微控制器可執行的處理之複雜度。 根據一實施例’主記憶體(1 1 5 )的一區段被有效地 移動且被重新映射到一匯流排(1 5 0 )裝置區,以便系統 匯流排裝置(例如’匯流排裝置(1 6 0 ))可將該區段用 -7- (4) 1293413 來作爲該裝置的可用記憶體之一延伸。可將該被隔離的記 憶體區用來儲存被執行的程式碼以及非持,續彳生資料。 在一實施例中,爲了隔離主記憶體(H 5 )的實體記 憶體’以供一從屬匯流排裝置(1 6 0 )使用,而設有諸如 系統管理匯流排(S Μ B u s )或系統I / 〇匯流排(1 5 〇 ) (例如,PCI匯流排)等的帶外(0ut_〇f_Band ;簡稱 00B )通道。該被隔離的記億體然後可被匯流排裝置 | (160)唯一地用來作爲一程式或資料儲存區。在又一實 施例中,硬體將記憶體(1 1 5 )直接分割成若干不同的區 域,並保留一些特定區域以供裝置(160 )專用。 爲了實施記億體(1 1 5 )的隔離,將各種功能加入電 腦系統(1 0 0 )組件。係將該M C Η與IC Η間之一 Ο Ο B通 道用來將ΟΟΒ要求自該ICH傳送到該MCH。在一實施例 中,可將SMBus用來實施該ΟΟΒ通道。例如,在MCH (110)上設有一 SMBus介面。因此,MCH(llO)設有 φ— SMBus從屬裝置,用以服務ICH(140) (SMBus主控 裝置)所發出的SMBus要求。 此外,ICH(140)設有一SMBus主控裝置介面,用 以將SMBus要求發出到MCH( 110) (SMBus從屬裝 置)。該SMBus是電腦系統(1〇0 )內的各組件可用來通 訊之雙線介面。如果匯流排裝置(1 6 0 )正在使用S Μ B u s 技術而將記億體隔離要求傳送到IC Η ( 1 4 0 ),貝IC Η (140 )係以一 SMBus從屬裝置之方式工作,以便服務匯 流排裝置(1 60 )的記憶體要求。 •8- (5) 1293413 此外,利用SMBus技術隔離實體記憶體的各匯流排 裝置(160 )設有一 SMBus主控裝置介面,用以與ICH (140)的SMBus從屬裝置介面通訊。此種方式可讓一匯 流排裝置(1 60 )於初始化時提出記憶體隔離要求。請注 意,如果使用了基於PCI的技術,則裝置(160 )應支援 PCI-X/PCI-E訊息交易,以便傳輸記憶體隔離要求。 根據一實施例,係在MCH (110)中設有其中包括一 g 被隔離的記億體暫存器(Sequestered Memory Register; 簡稱 SMR )、一主DRAM暫存器(HDRAM )、以及空 PCI位移値暫存器(POffset)的一些新暫存器。該SMR 暫存器的起始値被設定爲保留給匯流排裝置(160)使用 的總記億體。在一實施例中,該SMR暫存器的起始値被 設定爲ICH( 140)以一個完整電源週期(power cycle) 一次之方式而經由該SMBus設定之一値。 因爲係在硬體啓動期間執行該設定,所以 MCH φ ( 110)將不容許CPU ( 102)修改該暫存器。在一實施例 中,該値被設定爲總記憶體(1 1 5 )的一固定百分率(例 如,5% )。經由ICH ( 140 )回報給CPU ( 102 )的實體 記億體之容量將是實體記憶體的總容量一 SMR。 該HDRAM暫存器代表該被隔離的記憶體區之起始容 量且等於實體記億體的總容量一 SMR。在一實施例中, ICH(140)根據(經由 SMBus或 PCI-X/E)自各裝置 (1 60 )接收的記憶體隔離要求而計算該値,並將該値經 由該SMBus介面而傳送到記憶體控制器(1 12 )。 1293413 k (6) 一旦被設定組態之後,MCH ( 110 )將不進行自 HDRAM位址至實體記憶體(1 1 5 )頂部的直接記憶體存 取。MCH ( 1 1 0 )有效地將記億體(1 1 5 )的指定位址轉換 爲記憶體(1 1 5 )的實體頂部,並相應地行動。請注意, CPU ( 102 )亦包含以與MCH ( 1 10 )的HDR AM暫存器類 似之方式被使用的一 HDR AM暫存器。 該POffset暫存器之起始値被設定爲經由設定一空 ^ PCI裝置(null PCI device)的基址暫存器(BAR暫存 器)而被指定給該空PCI裝置的記憶體映射區之基址。在 基本輸入/輸出系統(BIOS )或作業系統(0S )執行的 PCI 裝置列舉(device enumeration)之後,ICH ( 140) 將該値傳送到MCH ( 1 10 )。這是將被MCH ( 1 10 )重新 映射的在該HDRAM位址之上的其餘實體記億體(115 ) 之實體記憶體起始位址。 根據一實施例,係在ICH(140)中實施該空PCI裝 φ置。該空PCI裝置是實施基本PCI組態空間之一正規PCI 裝置。ICH ( 140)設有該空PCI裝置,以便處理BIOS或 OS對匯流排(150)的重新列舉,且因而處理POffset基 址的重新指定。該POffset値的起始値被設定爲在匯流排 列舉之後指定給該空PCI裝置之BAR値。當重定位該空 PCI裝置,且將一個新的BAR指定給該空PCI裝置時, 將對應於該新的BAR之一新値重新指定給該POffset値。 該空PCI裝置可實施一記憶體器,並向記憶體 (1 1 5 )要求某一容量的記憶體映射區。在一實施例中, •10- (7) 1293413 爲了處理未來的熱插拔(hot-plug)裝置(160)的要求, 該容量略大於一個或多個裝置(1 60 )所需的總記憶體容 量。該空PCI裝置不執行任何特定的裝置功能,且不實施 任何其他的控制或狀態暫存器,因而不需要任何0S驅動 程式。 該空 PCI裝置實施一 PCI記憶體長度暫存器 (PML)。該PML値的起始値被設定爲記憶體(115)的 | 一固定百分率(例如,5% ),或在累積了來自裝置 (1 60 )對記憶體(1 1 5 )的所有記憶體要求之後,於初始 化時計算該PML値。一旦決定了該PML値之後,將該値 經由SMBus而傳送到MCH ( 110),並將該値儲存在代表 被隔離的記憶體總容量之該SMR暫存器中。在系統BIOS 或OS列舉該空PCI裝置期間,使用該暫存器決定該空 PCI裝置要求的記憶體映射區之容量。 也在匯流排裝置(160)中設有若干額外的暫存器。 φ該等暫存器包括一被隔離的記憶體位移値暫存器 (Sequestered Memory Offset Register ;簡稱 SM0R )及 一被隔離的記憶體容量暫存器(Sequestered Memory Size Register;簡稱SMSR)。該S Μ O R存放被分配給特定裝 置(1 60 )的連續保留記憶體區之位移値。在匯流排 (1 50 )列舉之後,裝置(1 60 )經由SMBus或PCI-X/E 向ICH ( 140)要求該位移値。如果ICH ( 140)並未設定 該暫存器,則裝置(1 60 )認爲記憶體控制器(1 1 2 )可能 未分配任何記憶體。 -11 - (8) 1293413 該SMSR代表被分配給裝置(160)的被隔離的記憶 體區之上限。裝置(160 )將該SMSR指定的容量提供給 ICH ( 14〇 ),以便指示裝置(16〇 )所要求的記憶體容 量。 根據一實施例,於被隔離的記憶體管理機制之初始化 期間進行下列的程序。首先,ICH ( 140 )經由通到實體 記憶體(1 15 )的SMBus連線而查明總實體記憶體容量。 φ ICH ( 140)將該PML暫存器設定爲該總記億體容量的某 一百分率(例如,5 % ),或將來自匯流排(1 5 0 )上的一 個或多個裝置(1 6 0 )之所有記憶體要求加總,而於初始 化時計算出該値。 設有該空PCI裝置的ICH ( 140 )以該被隔離的記憶 體總容量値設定該PML暫存器。此種組態設定確保:當 BIOS或OS列舉該空PCI裝置時,該記憶體BAR詢問 (根據PCI規格)導致等於被隔離的記憶體的容量之一容
然後,ICH ( 140 )將該被隔離的記憶體容量傳送到 MCH(ll〇),而MCH(llO)將該SMR暫存器設定爲等 於所傳送的該値。MCH ( 1 10 )也將該HDRAM暫存器設 定爲等於總實體記憶體…SMR。在BIOS對MCH ( 1 1 0 ) 進行初始化時,HDRAM有效地是回報給CPU ( 102 )且 CPU ( 1〇2 )可使用的實體記憶體(1 15 )之頂部。請注 意,自 CPU ( 102 )的觀點而論,PCI位址空間是自 HDRAM至最大可定址記憶體(在32位元位址時爲4GB ) -12- (9) 1293413 的位址範圍,正好是該系統中事實上有較少的P CI匯流排 時的位址範圍。 在B10掃描匯流排(150)期間,於找到ICH ( 140) 所設有的空PCI裝置時,BIOS將把記憶體映射的BAR設 定爲BIOS想要將該空PCI裝置放置在PCI位址空間內之 任何位置。因爲該空裝置係存在於ICH ( 140 ),所以 ICH ( 140 )將BIOS指定的PCI記憶體映射BAR値通知 | MCH ( 110) 。ICH ( 140)係經由SMBus執行該通知,始 MCH ( 1 10 )可將其POffset暫存器設定爲該被隔離的實 體DRAM之正確基址。 在PCI列舉之後,裝置(160)經由 SMBus或PCI-X/E向ICH ( 140)要求SMOR的値。該SMOR値對應於 空PCI記憶體映射區之位移値(自POffset至POffset + SMR的位址範圍)。 圖2示出一匯流排裝置(1 60 )所看到的主記億體 φ ( Π5)空間之一實施例,而圖3示出CPU ( 102)所看到 的該記憶體空間之一實施例。請注意,被隔離的記憶體空 間被CPU ( 102 )認爲是PCI空間之一部分。 圖4 - 6示出初始化程序之一特定裝置圖。圖4示出 一匯流排裝置(1 60 )於初始化被隔離的記憶體管理時的 作業的一實施例之一流程圖。在處理步驟(405 )中,匯 流排裝置(160)使用SMBus (或PCI-X/PCI-E)而以一 記憶體要求命令之形式向ICH( 140)要求指定容量 (SMSR )的記億體。在決定步騾(410 )中,決定是否自 1293413 . 1 (10) ICH ( 140 )送回一錯誤。 如果並未送回任何錯誤,則在裝置(1 60 )上接收一 記憶體起始位址,並在處理步驟(4 1 5 )中以該記憶體起 始位址更新該SMOR位移値暫存器。在處理步驟(420 ) 中,如果所分配的容量與所要求的容量不同,則以所分配 的容量更新SMSR。在步驟(425 )中,存取快閃記億體 /ROM,並使用直接記億體存取(DMA)將程式載入記億 φ體(1 1 5 )的被隔離的部分。 如果在步驟(410)中,送回了 一錯誤,則在決定步 驟(430 )中決定該錯誤是否爲一記億體不足的錯誤。如 果該錯誤不是一記憶體不足的錯誤,則該裝置在處理步驟 ( 43 5 )中無法根據被隔離的記億體機制而工作。如果該 錯誤是一記憶體不足的錯誤,則控制回到處理步驟 (405),此時向 ICH(140)要求另一 SMSR。 圖5示出於一 ICH ( 140)於初始化被隔離的記憶體 •管理時的作業的一實施例之一流程圖。在處理步驟 (5 10 )中,ICH ( 140 )將一記億體區保留給一個或多個 裝置(160),並以所保留的記憶體容量更新該Pml暫存 器。此外,ICH ( 140 )經由 SMBus將該値通知 MCH (110) ° 在處理步驟(520)中,ICH(140)將該PCI BAR値 傳送到 MCH (110)。在處理步驟(5 3 0 )中,ich (1 40 )等候來自裝置(1 60 )的記憶體要求命令(例如, 圖4之處理步驟(405 ))。在決定步驟(54〇)中,決定 -14- (11) 1293413 是否可取得記憶體。如果可取得記憶體,則在處理步驟 (5 5 0 )中計算一位移値,並將該位移値送回裝置 (160 )。然後控制回到處理步驟(5 3 0 ),此時ICH (140)等候來自一裝置(160)的一記憶體要求命令。如 果在決定步驟(5 4 0 )中決定無法取得記憶體,則在處理 步驟(5 60 )中將一錯誤送回裝置(160),而指明可取得 的記憶體容量。然後控制回到處理步驟(5 3 0 ),此時 ICH(140)等候來自一裝置(160)的一命令要求。 圖6示出於一 MCH ( 1 1 0 )於初始化被隔離的記憶體 管理以及在裝置(1 60 )作業期間服務記憶體存取時的作 業的一實施例之一流程圖。在處理步驟(6 1 0 )中,記憶 體控制器(1 12 )等候來自ICH ( 140 )的被隔離的記憶體 容量(例如,PML )。在處理步驟(620 )中,以所保留 的記憶體容量更新SMR。在處理步驟(63 0 )中,以總記 憶體一 SMR更新HDRAM。 在處理步驟(640)中,MCH ( 1 10 )監視來自ICH (140 )的一 SMBus 要求(例如,SMBus PCI BAR 値),以便更新POffset。在處理步驟(650 )中,以空裝 置BAR値更新p〇ffset。在一實施例中,於重新掃描pci 匯流排時,OS可移動該空PCI裝置,因而改變其記憶體 映射BAR値。因而將要求易於進行這些改變的ICH (1 40 )重新通知(經由SMBus ) MCH ( 1 1 0 )同樣地調整 POffset暫存器。然後,裝置(160)向該ICH要求更新後 的SM0R値。 1293413 . ^ (12) 在處理步驟(660 )中,MCH ( 1 1 Ο )等候來自匯流排 裝置的一記億體存取。在決定步驟(670 )中,決定來自 匯流排裝置的該存取是否在POffset至(POffset + SMR)的 範圍內。如果該存取是在範圍內,則在處理步驟(6 8 0 ) 中將該記憶體存取當成爲對於自POffset至(POffset + S MR)的被隔離的記憶體範圍內之對應的位移値之記憶體 存取。 φ 在處理步驟(690 )中,在該被隔離的記憶體範圍內 適當地處理該記憶體要求。如果在決定步驟(6 7 0 )中決 定該存取不在範圍內,則在記憶體(1 1 5 )內之非被隔離 的空間中適當地處理該記憶體要求。 ICH(140)不應將來自 P〇ffset 至(POffset + SMR)的 該PCI位址範圍的任何主控端之存取當成爲對於被隔離的 記憶體區之存取。此種方式尤其與用來保護被隔離的記憶 體區不會受到主控端上執行的不正常或惡意軟體的影響之 Φ記憶體寫入有關。 前文所述之記憶體隔離機制提高了微控制器的價値, 其方式爲可讓微控制器執行複雜的程式及演算法,並在沒 有額外成本的情形下讓微控制器共用主CPU的大量記憶 體資源。此外,該記憶體隔離方法由於收集與各系統匯流 排裝置在同一區域的大量記憶體容量,以供該等匯流排裝 置專用,因而提供了相同的安全、隔離、及自主屬性。 此外,與作業系統的隔離使os的錯誤動作或惡意的 軟體不會影響到該微控制器的作業。此種能力有其優點, -16 - (13) 1293413 這是因爲其將一安全保護執行環境(sandbox execution environment )提供給管理工作站所下載的遠端程式碼。 此種方式可讓一微控制器以一種被隔離且防篡改的方式執 行程式碼。此種隔離也使作業系統及支援軟體不會向裝置 收回被隔離的實體記億體區,也不會意外地寫入該記憶體 區。對任何主CPU或8108功能的惡意修改將不會使該機 制無法工作。 由於對此項技術具有一般知識者在參閱前文的說明之 後,將的確易於對本發明作出許多改變及修改,因而我們 當了解:以舉例方式示出及說明的任何特定實施例將不可 被視爲對本發明的限制。因此,對各實施例的細節之參照 將不會限制申請專利範圍的範圍,而申請專利範圍本身只 述及被認定爲本發明的那些特徵。 【圖式簡單說明】 若參閱前文中之詳細說明,並配合本發明的各實施例 之附圖,將可對本發明有更完整的了解。然而,該等圖式 不應被視爲將本發明限制在特定的實施例’而只是用於解 說及了解。 圖1示出一電腦系統的一實施例; 圖2示出一匯流排裝置所看到的主記憶體空間之一實 施例; 圖3示出一中央處理單元所看到的主記憶體空間之一 實施例;
-17- 1293413 . • · (14) ' 圖4示出一匯流排裝置於初始化被隔離的記憶體管理 時的作業的一實施例之一流程圖; 圖5示出於一輸入/輸出控制中心於初始化被隔離的 記憶體管理時的作業的一實施例之一流程圖;以及 圖6示出於一記憶體控制中心於初始化被隔離的記憶 體管理時的作業的一實施例之一流程圖。 φ 【主要元件符號說明】 100 電 腦 系 統 102 中 央 處 理 單 元 105,150 匯 流 排 107 晶 片 組 1 10 記 憶 體 控 制 中 心 1 12 記 憶 體 控 制 器 115 主 系 統 記 億 體 140 輸 入 / 輸 出 控 制中心 160 匯 流 排 裝 置 -18-

Claims (1)

1293413 年月曰修(義)正本: Su4r4S-__ 十、申請專利範圍 附件4A: 第941 20295號專利申請案 中文申請專利範圍替換本 民國96年6月28日修正 1 · 一種分配主記憶體之方法,包含下列步驟:
在一晶片組上決定一主記憶體裝置的一總實體容量; 該晶片組經由一第一帶外通道隔離該主記憶體的一實 體部分;以及 將該主記憶體裝置的該被隔離的部分重新映射到將爲 被耦合到一 I/O匯流排的一個或多個輸入/輸出(I/O) 裝置所專用的一匯流排裝置區。 2 ·如申請專利範圍第1項之方法,進一步包含下列 步驟:基於從該一個或多個I/O裝置所接收的一個或多個 請求,計算該主記憶體裝置之該被隔離部分之百分率。 3.如申請專利範圍第1項之方法,進一步包含下列
步驟: 將用來指示該主記憶體裝置的該被隔離的部分之一値 指定給一第一暫存器; 將用來指示該主記億體之總實體容量減掉該被隔離的 部分所得到之一値指定給一第二暫存器。 4.如申請專利範圍第1項之方法,進一步包含下列 步驟··在該晶片組上接收對該主記憶體裝置存取的一要 求。 5.如申請專利範圍第4項之方法,進一步包含下列 1293413 - 步驟: 決定該存取是否在該匯流排裝置區之範圍; 當該存取在該匯流排裝置區之範圍,則將該記憶髅存 取當成爲對於該主記憶體裝置的該被隔離的部分之記憶體 存取;以及 在該被隔離的部分之該範圍內處理該記憶體要求。 6·如申請專利範圍第5項之方法,進一步包含下列 ^ 步驟:當該存取具有不在該匯流排裝置區的一範圍,則在 該主記億體裝置的非被隔離的部分之範圍內處理該記憶體 要求。 7· —種電腦系統,包含: 一中央處理單元(CPU ); 被耦合到該CPU之一記億體控制組件; 被耦合到該記憶體控制裝置之一主記憶體裝置; 被耦合到該記憶體控制組件的一輸入/輸出(I/O ) φ 控制組件; 被耦合到該I/O控制組件之一 I/O匯流排; 被耦合到該I/O匯流排之一個或多個裝置;以及 被耦合於該I/O控制組件與該主記憶體裝置之間的一 第一帶外通道; 該I/O控制組件用以經由該第一帶外通道而將該主記 憶體裝置的一實體區段重新映射到該主記憶體的一匯流排 裝置區,以供該一個或多個I/O裝置所專用。 8 ·如申請專利範圍第7項之電腦系統,其中當初始
-2- 1293413 化該一個或多個I/O裝置時,該I/O控制組件將該實體區 段隔離。 9·如申請專利範圍第7項之電腦系統,其中該I/O 控制組件基於從該一個或多個I/O裝置所接收的一個或多 個請求’計算該主記憶體裝置之該被隔離部分之百分率。 10·如申請專利範圍第7項之電腦系統,進一步包 含:
被耦合於該裝置與該I/O控制組件之間的一第二帶外 通道;以及 被耦合於該I/O控制組件與該記憶體控制組件之間的 一第三帶外通道。 11. 如申請專利範圍第1 0項之電腦系統,其中該第 二帶外通道和該第三帶外通道被實施成將該主記憶體的該 實體區段重新映射到該匯流排裝置區。 12. 如申請專利範圍第1 0項之電腦系統,其中該I/O 控制組件係以一主控裝置之方式操作,且該記憶體控制組 件係以一從屬裝置之方式操作,以便服務自該I/O控制組 件上發出的要求,而建立該匯流排裝置區。 13. 如申請專利範圍第1 0項之電腦系統,其中該I/O 控制組件於啓動該裝置時初始化該匯流排裝置區的建立。 14. 如申請專利範圍第7項之電腦系統,其中該匯流 排是一 PCI-X匯流排。 15. 如申請專利範圍第1 4項之電腦系統,其中該I/O 控制組件經由PCI-X訊息傳送而初始化該匯流排裝置區的 -3- 1293413 建立。 1 6.如申請專利範圍第7項之電腦系統,其中該記憶 體控制組件包含:用來指示該匯流排裝置區的總容量之一 第一暫存器、用來指示該匯流排裝置區的起始之一第二暫 存器、以及用來指示該匯流排裝置區的一實體記憶體起始 位址之一第三暫存器。
1 7.如申請專利範圍第1 6項之電腦系統,其中該記 憶體控制組件將不容許該CPU修改該第一暫存器,以便 使該被隔離的記憶體區不會被在該主機上執行的惡意軟體 或易發生錯誤的軟體造成篡改、訛誤、或組態設定失當。 18. 如申請專利範圍第7項之電腦系統,其中係將該 I/O控制組件實施爲一空裝置,而實施一記憶體解碼器, 以便要求該主記憶體的重新映射。 19. 如申請專利範圍第18項之電腦系統,其中該一 個或多個裝置中之每一裝置包含:用來存放該匯流排裝置 區的一位移値之一第一暫存器、以及用來指示被分配給該 裝置的該匯流排裝置區的一上限之一第二暫存器。 20. 如申請專利範圍第1 8項之電腦系統,其中該一 個或多個裝置中之每一裝置將該第二暫存器所指定的容量 提供給該I/O控制組件。 2 1. —種晶片組,包含: 一記憶體控制組件,用以存取一主記憶體裝置;以及 一輸入/輸出(I/O )組件,用以經由一 I/O匯流排 而自被耦合到該I/O組件的一個或多個I/O裝置接收I/O -4- 1293413 要求,該I/O組件經由一第一帶外通道而進一步將該主記 億體裝置的一實體區段重新映射到該一個或多個I/O裝置 所專用的一匯流排裝置區。 22.如申請專利範圍第21項之晶片組,其中該I/O 組件於啓動一匯流排裝置時初始化該匯流排裝置區的建 立。
23. 如申請專利範圍第21項之晶片組,其中該記憶 體控制組件包含:用來指示該匯流排裝置區的總容量之一 第一暫存器、用來指示該匯流排裝置區的起始之一第二暫 存器、以及用來指示該匯流排裝置區的一實體記憶體起始 位址之一第三暫存器。 24. 如申請專利範圍第23項之晶片組,其中該記憶 體控制組件將不容許該CPU修改該第一暫存器。 25 ·如申請專利範圍第2 1項之晶片組,其中係將該 I/O組件實施爲一空裝置,而實施一記憶體解碼器,以便 要求該主記憶體的重新映射。 1293413 i % 3 2|修(龙)正替換頁 圖2
AP1C, flash APIC, flash 1 PCI空間 SMR 裝置的PCI空間 裝置的PCI空間 t PCI空間 SMR 被隔離的記憶體(Μ) t —_________ 115
TW094120295A 2004-06-24 2005-06-17 Method for allocating main memory, computer system and chipset TWI293413B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/876,190 US20050289316A1 (en) 2004-06-24 2004-06-24 Mechanism for sequestering memory for a bus device

Publications (2)

Publication Number Publication Date
TW200617673A TW200617673A (en) 2006-06-01
TWI293413B true TWI293413B (en) 2008-02-11

Family

ID=34972541

Family Applications (1)

Application Number Title Priority Date Filing Date
TW094120295A TWI293413B (en) 2004-06-24 2005-06-17 Method for allocating main memory, computer system and chipset

Country Status (8)

Country Link
US (1) US20050289316A1 (zh)
EP (1) EP1759295B1 (zh)
CN (1) CN1957334B (zh)
AT (1) ATE414300T1 (zh)
DE (1) DE602005011005D1 (zh)
HK (1) HK1095185A1 (zh)
TW (1) TWI293413B (zh)
WO (1) WO2006011958A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI832612B (zh) * 2022-12-14 2024-02-11 精拓科技股份有限公司 I2c通訊系統的目標從屬裝置及其位址更新方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870565B2 (en) * 2005-06-30 2011-01-11 Intel Corporation Systems and methods for secure host resource management
US7941813B1 (en) 2006-02-17 2011-05-10 Parallels Holdings, Ltd. System and method for using virtual machine for driver installation sandbox
CN104335220B (zh) * 2012-03-30 2018-04-20 爱迪德技术有限公司 用于防止和检测安全威胁的方法和***
GB2540961B (en) * 2015-07-31 2019-09-18 Arm Ip Ltd Controlling configuration data storage

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226729B1 (en) * 1998-11-03 2001-05-01 Intel Corporation Method and apparatus for configuring and initializing a memory device and a memory channel
US6438671B1 (en) * 1999-07-01 2002-08-20 International Business Machines Corporation Generating partition corresponding real address in partitioned mode supporting system
TW528948B (en) * 2000-09-14 2003-04-21 Intel Corp Memory module having buffer for isolating stacked memory devices
US6748512B2 (en) * 2000-12-08 2004-06-08 Intel Corporation Method and apparatus for mapping address space of integrated programmable devices within host system memory
US6792505B2 (en) * 2001-04-16 2004-09-14 International Business Machines Corporation System apparatus and method for storage device controller-based message passing having effective data channel bandwidth and controller cache memory increase
US6792515B2 (en) * 2001-06-21 2004-09-14 International Business Machines Corporation System for addressing processors connected to a peripheral bus
US20030097503A1 (en) * 2001-11-19 2003-05-22 Huckins Jeffrey L. PCI compatible bus model for non-PCI compatible bus architectures
US7003586B1 (en) * 2002-02-27 2006-02-21 Advanced Micro Devices, Inc. Arrangement for implementing kernel bypass for access by user mode consumer processes to a channel adapter based on virtual address mapping
US20050166011A1 (en) * 2004-01-23 2005-07-28 Burnett Robert J. System for consolidating disk storage space of grid computers into a single virtual disk drive

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI832612B (zh) * 2022-12-14 2024-02-11 精拓科技股份有限公司 I2c通訊系統的目標從屬裝置及其位址更新方法

Also Published As

Publication number Publication date
EP1759295A1 (en) 2007-03-07
ATE414300T1 (de) 2008-11-15
WO2006011958A1 (en) 2006-02-02
CN1957334B (zh) 2011-03-30
EP1759295B1 (en) 2008-11-12
HK1095185A1 (en) 2007-04-27
TW200617673A (en) 2006-06-01
DE602005011005D1 (de) 2008-12-24
CN1957334A (zh) 2007-05-02
US20050289316A1 (en) 2005-12-29

Similar Documents

Publication Publication Date Title
US10846254B2 (en) Management controller including virtual USB host controller
CN105264506B (zh) 向内存映射配置分配处理器
US20050050283A1 (en) Multi-channel memory access arbitration method and system
US11995019B2 (en) PCIe device with changeable function types and operating method thereof
US11983136B2 (en) PCIe device and operating method thereof
US11928070B2 (en) PCIe device
TWI293413B (en) Method for allocating main memory, computer system and chipset
US8996734B2 (en) I/O virtualization and switching system
US20220327228A1 (en) PCIe FUNCTION AND OPERATING METHOD THEREOF
US11068283B2 (en) Semiconductor apparatus, operation method thereof, and stacked memory apparatus having the same
US9665522B2 (en) Protocol neutral fabric
CN115114013A (zh) 高速***组件互连装置及其操作方法
US7886095B2 (en) I/O space request suppressing method for PCI device
US10853284B1 (en) Supporting PCI-e message-signaled interrupts in computer system with shared peripheral interrupts
JP2010218449A (ja) リソース割り当てシステム、及びリソース割り当て方法
WO2020029619A1 (zh) 数据处理的方法、设备和服务器
JP5867638B2 (ja) 情報処理装置、及び、情報処理方法
JP5741722B1 (ja) 情報処理装置、及び、情報処理方法
US20240289295A1 (en) PCIe DEVICE
US20230350824A1 (en) Peripheral component interconnect express device and operating method thereof
US20220121614A1 (en) System on chip comprising a plurality of central processing units

Legal Events

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