TWI293413B - Method for allocating main memory, computer system and chipset - Google Patents
Method for allocating main memory, computer system and chipset Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple 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
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI832612B (zh) * | 2022-12-14 | 2024-02-11 | 精拓科技股份有限公司 | I2c通訊系統的目標從屬裝置及其位址更新方法 |
Families Citing this family (4)
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)
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 |
-
2004
- 2004-06-24 US US10/876,190 patent/US20050289316A1/en not_active Abandoned
-
2005
- 2005-06-10 CN CN2005800167348A patent/CN1957334B/zh not_active Expired - Fee Related
- 2005-06-10 WO PCT/US2005/020509 patent/WO2006011958A1/en not_active Application Discontinuation
- 2005-06-10 DE DE602005011005T patent/DE602005011005D1/de active Active
- 2005-06-10 AT AT05760595T patent/ATE414300T1/de not_active IP Right Cessation
- 2005-06-10 EP EP05760595A patent/EP1759295B1/en not_active Not-in-force
- 2005-06-17 TW TW094120295A patent/TWI293413B/zh not_active IP Right Cessation
-
2007
- 2007-03-12 HK HK07102645.8A patent/HK1095185A1/xx not_active IP Right Cessation
Cited By (1)
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 |