TW200817900A - Data processing system having address translation bypass and method therefor - Google Patents
Data processing system having address translation bypass and method therefor Download PDFInfo
- Publication number
- TW200817900A TW200817900A TW096103283A TW96103283A TW200817900A TW 200817900 A TW200817900 A TW 200817900A TW 096103283 A TW096103283 A TW 096103283A TW 96103283 A TW96103283 A TW 96103283A TW 200817900 A TW200817900 A TW 200817900A
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- logical
- logical address
- processing system
- control
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
200817900 九、發明說明: 【發明所屬之技術領域】 -般而言’本發明係關於資料處理器,且更具體而言, 係關於具有位址轉換繞路能力之資料處理器 —σ 【先前技術】 在當今之诸多資料處理系統中,勃 執仃位址轉換以將藉由 一 里器(例如’:中央處理單元)產生之邏輯位址轉換為 供ζ隱體使用之邏輯位址。然而,對位址轉換之需求通 常導致-實體位址在-時鐘週期内較晚有效,此導致接收 該經轉換位址之記憶體的設置時間減少。因此,在多奸 形中,對位址轉換之需求需要以一較低頻率運行時鐘^ 該等記憶體提供充足設置時間,因而可能降低 系統之總效能。 【發明内容】 如上文所論述,對-資料處理系統内之位址轉換需求可 導致用於需要該經轉換位址之記憶體之減少的設置時間且 可導致需要較低時鐘頻率。在本發明之一個實施例中,利 用基於繞路控制邏輯允許位址轉換繞路之繞路電路… ⑽址轉換時’可在完成位址轉換前直接地提供該邏^ 址作為經轉換位址。在一實施例中,位址轉換包括使用該 邏^位址以執行—表格查找以獲得—經轉換位址(亦即, -實體位址)及對應屬性。因此,當繞過位址轉換時,在 提供對應屬性之前(乃因直至完成該表格查找方可得到嗜 等對應屬性)作為經轉換位址(而非來自該查找表格之” 118044.doc 200817900 換位址)直接地提佴兮 ’、w t輯位址。藉由直接地提供該邏輯 位址及對應屬性作為 一 作為經轉換位址,與一藉由位址轉換所產 生之經轉,位址(其在該時鐘週期中通常較晚有效)相比 較’在一時鐘週期中該經轉換位址較早有效。藉由直接地 作為經轉換位址更早地提供該邏輯位址,接收此經轉換位 址之記憶體可具右_话i ^ 、 、有更長的設置時間且可更快地開始處 理。 【實施方式】 ^本^所使用’術語「匯流排」用於指代複數個信號或 ¥ 、、可用於傳送-或多個不同類型之資訊,例如資 料、位址、控制或壯能 、 一押一、t 、次狀恶。如本文所論述之導體可能被作為 早^體、硬數個導體、單向導體或雙向導體來圖解說 明或闡述。然而’不同實施例可改變該等導體之實施方 案。舉例而言’可使用若干獨立的單向導體而非雙向導 體,且反之亦然。同樣,亦可藉由一以串行方式或以一時 、專u夕個仏唬之單一導體來替代複數個導體。同 樣地’亦可將载送多個信號之單一導體分離成載送此等俨 號之子集之各個不同導體。因此,存在眾多用於傳送信號 之選擇。 *提及刀別地將一信號、狀態位元、類似裝置轉換為1 邏輯f或邏輯假狀態時,使用術語「確證」或「設定」^ 否疋」(或「解除」或「清除」)。若邏輯真狀態係-邏 輯,準1 ’則該邏輯假狀態係—邏輯料Q。^若該邏輯真 狀也、係邏輯位準〇,則該邏輯假狀態係一邏輯位準丨。因 此’本文所述之每一信號可能被設計為正或負邏輯,其中 118044.doc 200817900 可藉由一在該信號名稱前之橫號或一在該名稱之後之星號 (*)表不負邏輯。在一負邏輯信號之情形中,該信號係活性 低’其中該邏輯真狀態對應於一邏輯位準〇。在一正邏輯 ^唬之情形中,該信號係活性高,其中該邏輯真狀態對應 於一邏輯位準1。請注意,本文所述信號中之任一者可被 設計為負或正邏輯信號。因此,在替代實施例中,作為正 邏輯信號闡述之彼等信號可被執行為負邏輯信號,且作為 負邏輯信號闡述之彼等信號可被執行為正邏輯信號。 圖1圖解說明一根據本發明之一實施例之資料處理系統 |〇。系統ίο包括處理電路12、系統記憶體14、其他模組16 及系統匯流排18。處理電路12、系統記憶體14及其他模組 1 6中之每一者係雙向地耦合至系統匯流排丨8。系統記憶體 ΤΓ係任類型之A憶體,諸如(例如)一只讀記憶體 (ROM)、一諸如一靜態RAM或動態RAM之隨機存取記憶體 (RAM)、非易失性記憶體(例如,快閃)等。系統1〇可不包 括任其他模組(在該情形中將不存在其他模組16)或可包 括任數ϊ之其他模組,其中該等模組可包括(例如)其他 處理電路、周邊設備、記憶體、I/O裝置等。 系統ίο之處理電路12包括處理器2〇、位址轉換電路22、 資料匯*排介面單元(BIU)24及指令匯流排介面單元 (BIU)26。資料BIU 24經由資料位址48提供資料位址至系 、、充匯*排1 8,經由資料5〇提供至系統匯流排丨8且自系統匯 流排18接收資料,且經由控制52提供至系統匯流排18且自 系統匯流排1 8接收控制信號。指令BIU 26經由指令位址56 118044.doc 200817900 提供指令位址至系統匯流排18,經由指令58提供至系統匯 '"IL排1 8且自糸統匯流排1 8接收指令,且經由控制5 4提供至 糸統匯流排1 8且自系統匯流排1 g接收控制信號。 經由内部資料匯流排36、控制信號38及資料屬性35將處 理1§20耦合至資料BIU 24。經由資料邏輯位址28、指令邏 輯位址30、控制信號32、資料屬性35及指令屬性34將處理 器20耦合至位址轉換電路22。經由内部指令匯流排4〇、控 Q 制信號41及指令屬性34將處理器2〇耦合至指令BIU 26。經 由指令屬性34、控制信號46及指令實體位址44將位址轉換 電路22麵&至‘令BIU 26。處理電路12亦接收外部信號資 料繞路控制60、指令繞路控制62、資料重設控制64、指令 重設控制66及重設68。可自系統1〇内之其他模組16提供該 等信號,或系統10外部之來源提供它們。同樣,可將該等 外部信號中之每一者提供至位址轉換電路22,且亦將重設 68提供至處理器2〇。在一實施例中,亦可藉由處理器刈將 〇 該等信號中之一者或多者提供至位址轉換電路22。請注 意,該等信號中之任-者係可選,且因而可不存在於系統 内。同樣,處理電路12可接收圖丨中未圖解說明之其他 外部信號。 ^ 處理器20、資料BIU 24及指令Bm %中之每—者如此項 技:中習知般運作’且因此本文將不再更詳細地論述。請 注意,處理器2〇可係任一類型之處理器,諸如(例如)一微 控制器、一數位信號處理器、直接記憶體存取單元、一中 央處理單元等,且可包括任一類型之處理邏輯以執行資料 118044.doc 200817900 處理且執行㉟資料處理之外之任一其他合意功@。因此, 位址轉換電路22可在處理器20外部且耦合至該處理邏輯。 在一替代實施例中,位址轉換電路22可位於處理器2〇内 (且耦合至該處理邏輯)。同樣,在一替代實施例中,資料 BRJ 24及指令BIU 26可被執行為一與系統匯流排ΐδ通信資 料及指令位址、資料及指令及控制之單一 BIU。系統匯流 排18被圖解說明為一單一匯流排,但亦可被執行為具有分 離獨立位址、資料及控制匯流排。同樣,請注意,處理電 路12可包括除所圖解說明之盒及信號之外之其他電路。將 參下文之圖2-6進一步詳細地論述位址轉換電路22之作 業。 圖2圖解說明根據本發明之一實施例之位址轉換電路22 之至少一部分。位址轉換電路22包括轉換繞路邏輯72、多 工器(MUX)76及位址轉換器7〇。位址轉換器70包括控制電 路94、位址轉換部分88及屬性部分90。位址轉換器70接收 邏輯位址80且提供一命中/未命中指示符92、一經轉換邏 輯位址82(亦稱之為一實體位址)及位址屬性86。轉換繞路 邏輯72包括一繞路控制暫存器74。轉換繞路邏輯72接收資 料繞路控制60、指令繞路控制62、資料重設控制64、指令 重設控制66及重設68。(請注意,如上文所規定,該等信 號中之任一者可係可選且因此未必提供至轉換繞路邏輯 72。)轉換繞路邏輯72提供選擇78至MUX 76之一控制輸 入,且視需要提供選擇78至位址轉換器70。MUX 76於一 第一輸入接收邏輯位址80且於一第二輸入接收經轉換邏輯 118044.doc -9- 200817900 位址82,且基於選擇78(亦稱作一繞路賦能控制信號)提供 該等位址中之一者作為所選擇位址84。請注意,經轉換邏 輯位址82(自位址轉換器7〇之輸出)亦可被稱為實體位址, 其中MUX 76提供該實體位址或邏輯位址8〇作為所選擇位 址84。同樣,可藉由任一類型之電路(當賦能繞路時其能 夠提供邏輯位址8〇作為所選擇位址84)來替代Μυχ %。 在一實施例中,位址轉換器70包括一查找表格,於此控 () 制電路94將輸入邏輯位址8〇與該查找表格中之項目相比較 以確定是否發現一匹配。若於該查找表格内發現一匹配, 則確證命中/未命中指示符92,且自該查找表格輸出對應 之經轉換邏輯位址82及位址屬性86。舉例而言,在一實施 例中,一内容可定址記憶體(CAM)部分用於儲存邏輯位 址,於此每一 CAM項目具有一對應實體位址項目(在位址 轉換部分88内)及對應位址屬性項目(在屬性部分列内)。因 此’在-實施例中,料經轉換位址及對應之屬性被執行 u 為一單一查找表格。或者’可執行獨立查找表格以提供經 轉換邏輯位址82及對應位址屬性86。在此實施例中,控制 電路94使用邏輯位址80以在該等查找表袼中之每一者内執 行-查找。在替代實施例中,查找表格可被執行為快取位 址轉換資訊之直接映射或集合相關陣列。在再一替代實施 例中,除查找表格之外之其他電路可用於提供經轉換邏輯 位址82及位址屬性86。舉例而言,可自邏輯位址演算地 產生經轉換邏輯位址82。 圖2中所圖解說明之位址轉換電路22之實施例可用於資 118044.doc -10- 200817900 料或指令位址轉換。舉例而言,邏輯位址80可對應於資料 邏輯位址28或指令邏輯位址3〇,其中所選擇位址84可分別 地對應於資料實體位址42(提供至圖1之資料BIU 24)或指令 貫體位址44(提供至圖1之指令BIU 26),且位址屬性86可分 別地對應於資料屬性35(提供至處理器20或資料BIU 24或 兩者)或指令屬性34(提供至處理器2〇或指令BIU 26或兩
者)。因此’請注意’可重複圖2之電路中之一些或全部以 轉換資料及指令位址兩者。 舉例而吕’在一實施例中,位址轉換電路22可包括獨立 資料及指令位址轉換電路,每一者包括一般圖解說明如圖 2之電路中之一些或全部。舉例而言,位址轉換電路Η可 包括用於資料及指令位址之獨立位址轉換器(每一者皆類 似於位址轉換器70),其中資料邏輯位址28將被輸入至一 位址轉換器且指令邏輯位址30將被輸入至另一者。接收資 料邏輯位址28之位址轉換器亦將提供資料屬性%,且接收 指令邏輯位址30之位址轉換器亦將提供指令屬性34。位址 轉換電路22亦可包括獨立Μυχ或獨立選擇電路,該等獨立 MUX或獨立選擇電路(類似κΜυχ 76)耦合至該等獨立位 址轉換器中之每-者’以將—資料實體位址或資料邏輯位 址作為一所選擇之資料位址輸出至資料BIU 24,且將一指 令實體位址或-指令邏輯位址作為一所選擇之指令位址輸 出至指令則26。此外,在此實施例中,每—位址轉換器 可提供類似於命中/未命中指示符92之其特有之命中/未命 中指示符(於此可將任-命中/未命中指示符作為控制信號 118044.doc -11 - 200817900 32中之一者或多者提供至處理器20)。在一實施例中,如 圖2中所圖解說明,轉換繞路邏輯72可由資料轉換電路及 、:7轉換电路兩者共享,其中轉換繞路邏輯接收指令及資 料控制信號兩者,且其中繞路控制暫存器74包括資料及指 几路&制區域兩者。然而,即使共享轉換繞路邏輯72, 轉換繞路邏輯72可輸出用於每-獨立MUX之獨立選擇信號 f繞路控制信號(類似於選擇78),以基於該位址是否係一 才曰7位址或貧料位址來獨立地控制位址轉換。在另一實施 例中,仍然可針對該指令及資料位址轉換電路中之每一 者70王地複製圖2之電路,以使該轉換繞路邏輯係專用 於扎々或資料。在此實施例中,轉換繞路邏輯可僅接收資 料或私令控制,且繞路控制暫存器可僅包括資料或指令繞 路控制區域。 如上文所闡述,圖2之電路可應用於指令或資料。因 此,在下文之闡述圖2之作業之論述中,請注意,該說明 可六員似地應用於資料及指令位址轉換。參照圖2之作業, 轉換繞路邏輯72提供選擇76,以選擇經轉換之 邏輯位址82(自位址轉換器7〇輸出)或邏輯位址8〇中之一 者,供提供作為所選擇位址84。請注意,所選擇位址料亦 可稱作經轉換位址,其中經轉換位址對應於自位址轉換器 7〇輸出之經轉換邏輯位址82或直接地作為該經轉換位址提 供之邏輯位址8 〇。 仍參照圖2,若轉換繞路邏輯72(基於繞路控制暫存器74 内之值)係繞路位址轉換,則提供選擇78以使MlJX %選擇 118044.doc 12 200817900 邏輯位址80作為將提供之所選擇位址84。因此,在執行繞 路之情形中,直接地提供邏輯位址8〇作為所選擇位址料。 換曰之,直接地而非經轉換邏輯位址82提供邏輯位址肋作 為經轉換位址。然而,在所圖解說明之實施例中,即使直 ^地提供邏輯位址8G作為所選擇位賴,仍將邏輯位謂 提供至位址轉換器70(其提供經轉換邏輯位址“及位址屬 性86)。請注意,當執行繞路時,提供經轉換邏輯位址u 〇 及位址屬性86之時間晚於所選擇位址84,此乃因邏輯位址 80經由MUX 76傳播至所選擇位址84較藉由位址轉換器7〇 提供經轉換邏輯位址82及位址屬性86為快。舉例而言,在 一查找表格用於提供經轉換邏輯位址82及位址屬性%之實 施例中,忒查找自身導致一延遲。然而,由於%經 设定以選擇邏輯位址80作為將提供之所選擇位址料,故經 轉換邏輯位址82被忽略。然而,仍發生位址轉換,且仍於 元成该位址轉換時提供屬性8 6。 C : 在一實施例中,無論轉換繞路邏輯72確定選擇並提供邏 輯位址80及經轉換邏輯位址82中之何者作為所選擇位址 84,位址轉換70皆仍執行邏輯位址8〇之位址轉換。作為 位址轉換裔70之作業之部分,一查找可能未能找到一對應 位址轉換,從而導致一「未命中」事件。經由命中/未命 中指示符92將藉由位址轉換器7〇執行之轉換處理之成功或 失敗發信號至處理器20。處理器20可回應一經由命中/未 命中指示符92發信號之「未命中」指示利用命中/未命中 指示符92來達成異常處理或其他替代活動。此外,在此實 118044.doc -13 - 200817900 施例中’獨立於轉換繞路邏輯72之作業發生藉由位址轉換 器70執行之位址轉換及命中/未命中發信號。 Γ
I 轉換繞路邏輯72基於儲存於繞路控制暫存器74内之值及 才曰7繞路控制62及資料繞路控制6〇(若存在)之值確定選擇 78之值。圖3圖解說明具有一指令繞路區域%及一資料繞 路區域98之繞路控制暫存器%之一實施例。請注意,在一 些貝施例繞路控制暫存器74可能包括一個或多個其他控制 區域99。圖4圖解說明一表袼,該表格提供對該等繞路區 域中之每-者之說明。在一實施例中,每一繞路區域係一 單位元區域。舉例而言,指令繞路區域%可係一邏輯位準 0或一邏輯位準〗且應用於一指令位址轉換情形中。一邏輯 位準〇指示:位址轉換電路22正常地將該指令邏輯位址轉 2成一指令經轉換邏輯位址(亦即,一指令實體位址)。換 口之轉換繞路邏輯72將設定選擇78以使經轉換邏輯位址 82被作為所選擇位址84輸出。然而,-邏輯位準i指示: 在位址轉換電路22直接作為經轉換位址繞過該指令邏輯位 址之情形中,將發生位址轉換繞路。換言之,在此情形 中轉換繞路邏輯72將產生選擇78以使邏輯位址8〇被直接 地作為所選擇位址84輸出。同樣,當設^至-邏輯位^ 時,凊注意,忽略藉由位址轉換器7〇輸出之經轉換邏輯位 即’該實體位址)’且實務上使用邏輯位址80之- 使用用於位址轉換查找表袼之實施 列中’仍猎由位址轉換哭 °。70執仃位址轉換器查找以提供對 應之位址屬性86。同樣, 由於在此貫施例中仍發生位址轉 118044.doc -14- 200817900 換态查找,故仍可發生位址轉換器未命中。 在一替代實施例中,亦將選擇78提供至位址轉換器7〇。 在此實施例中,當指令繞路96係_邏輯位準13夺,控制電 路94可使用選擇則使位址轉換部㈣失效以便僅提供屬 性86且全然不提供經轉換邏輯位址以。換言之,在此替代 實施例巾’儘管使㈣㈣部分88失效,但仍形成或提供 一個或多個位址屬性。
請注意,上文關於指令繞路96所提供之上述說明同樣地 應用於資料繞路98。舉例而言,資料繞路區域98可係一邏 輯:準0或一邏輯位準i且應用於一資料位址轉換情形中。 、。之田。又疋至邏輯位準〇時,位址轉換電路22正常 地將一貝料邏輯位址轉換成—資料經轉換邏輯位址(亦 即,貝料貫體位址)。換言之,提供經轉換邏輯位址82 作為所選擇位址84。然而,當設定至一邏輯位準“夺,在 <止轉換電路22直接作為經轉換位址繞過該資料邏輯位址 之情形中’將發生位址轉換繞路。換言之,在此情形中, 轉換繞路邏輯72將產生選擇78以使邏輯位址⑼被直接地作 為所選擇位址84輸出。同樣,當設定至-邏輯位準!時, 請注意,忽略藉由位址轉換請輸出之經轉換邏輯位址 82(亦即’㈣輯位址)’且實務上使用邏輯位址觀一 u 映射。然而’在—使用用於位址轉換查找表格之實施例 中仍藉由位址轉換器7〇執行位址轉換器查找以提供對應 之位址屬性86。同樣,由於在此實施例仍發生位址轉換哭 查找,故仍可發生位址轉換器未命中。 118044.doc 200817900 餐照圖5之流程ι00(其可應用於指令或資料位址轉換)將 更詳細地闡述圖2之作業。同樣,流程1〇〇圖解說明一其中 將位址轉換器70執行為一單一查找表格之實施例,在該查 找表格中將一邏輯位址與項目相比較,且若發生一命中, 則提供一對應之經轉換邏輯位址(亦即,實體位址)及對應 之屬性。 流程1 00以開始102起始且流至接收一邏輯位址(例如, 邏輯位址80)之區塊1〇4。(此外,請注意,邏輯位址8〇可指 代一資料邏輯位址或一指令邏輯位址。)舉例而言,自處 理器20接收此邏輯位址(如資料邏輯位址28或指令邏輯位 址30)。然後,流程進行至區塊丨〇6,於此啟動該邏輯位址 之一查找且啟動繞路決定。因此,控制電路94開始將邏輯 位址80與位址轉換器70之查找表格内之項目相比較且轉換 繞路邏輯72開始確定選擇78之值。(在一些實施例中,轉 換繞路邏輯72可在接收用於轉換查找之邏輯位址之前具有 經確定之選擇78之值。) 流程進行至決策方塊1 〇 8,於此確定是否應發生一繞 路。舉例而言,轉換繞路邏輯可依據是否接收一資料或指 令邏輯位址作為該邏輯位址而使用資料繞路區域98或指令 繞路區域96之值來確定是否發生一繞路且可相應地產生一 繞路控制信號(例如,選擇78)。若不發生繞路,則流程進 行至區塊11 0,於此完成該位址查找。流程進行至決策方 塊112,於此確定是否已發生一命中。換言之,若發現邏 輯位址80匹配位址轉換器70之查找表格之一項目則然後發 118044.doc -16- 200817900 生〒中,否則發生一未命中。因此,若未發生一命中 (才曰示未命中),流程進行至區塊114,於此執行未命中處 理舉例而吕’在一實施例中,命中/未命中指示符92經 設定以指示一未命中(其可對應於(例如)將命中/未命中指 不符92設定至一邏輯位準〇)。然後,可(例如,經由控制信 唬32)將指示符92提供至處理器2〇,於此處理器2〇可執行 未命中處理。如此項技術中所習知,可執行任一用於所接 收之邏輯位址之未命中處理,且因而本文將不再更詳細地 闡述。 再參照決策方塊112,若發生一命中(亦即,發現邏輯位 址80匹配位址轉換器7〇之查找表格内之一項目),則然後 流程進行至區塊118,於此提供該經轉換邏輯位址(亦即, 實體位址)作為所選擇位址且由此連同該所選擇位址一起 k供對應於該邏輯位址之屬性。換言之,例如,完成今杳 找且提供經轉換邏輯位址82作為所選擇位址以。(由於轉 換繞路邏輯72已確定不發生繞路,故轉換繞路邏輯72設定 選擇78以選擇經轉換邏輯位址82。)同樣,在與提供經轉 換邏輯位址82作為所選擇位址84之大致相同之時間下, 可提供位址屬性8 6。因此,在不執行繞路之情形中,在與 該經轉換邏輯位址大致相同之時間提供該等位址屬性,此 乃因提供該兩者皆作為該位址查找之一結果。然後,济^ 100結束於結束116處。 再參照決策方塊108,若轉換繞路邏輯72確定發生择 路’則流程自決策方塊108進行至方塊12〇,於此直接地輸 118044.doc 17 200817900 72^ I位址作為該所選擇位址。換言之,轉換繞路邏輯 °。Μ選擇78以使邏輯位址⑽被作為所選擇位址料輸 此。然後,流程進行至區塊122,於此完成該查找。因 8此4:::意,在完成該位址查找之前提供該所選擇位址 、。 直接地提供邏輯位址8〇作為經轉換邏輯位址 斤、擇位址84)而非等待完成該位址查找。在此情形 =略作為該查找之結果所提供之真實經轉換邏輯位址 '、而纟於仍執行該查才戈’即 <吏忽略經轉換邏輯位址 82,仍確定一命中或未命中。 因此,机知進打至決策方塊126,於此確定是否已發生 二中或t命中。若未發生一命中(指示一未命中),則流 王一仃至區塊124 ’於此執行未命中處理。舉例而言,在 一貫施例中,命中/未命中指示符92經設^以指示一未命 :(其可對應於(例如)將命中/未命中指示符92設定至一邏 =位準〇)'然後,可(例如’經由控制信號叫將指示符% 提供至處理器20,其中處理器2〇可執行未命中處理。如此 項技術中所習知’可執行任一未命中處理,且因而本文將 不再更詳細地闡述。 然而,若於決策方塊126發生—命中,則流程進行至區 域於此提供對應於該邏輯位址之位址屬性。換言 之,在直接地提供邏輯位址8Q作為經轉換邏輯位址、(: 即’作為所選擇位址84)之後的某一時間提供作為完成該 查找之-結果所提供之位址屬性86。同樣,請注意,亦在 直接地提供邏輯位址80作為所選擇位址料之後的某一時間 118044.doc 200817900 提供該命中/未命中指示符。在一實施例中,於不同時間 但於一相同時鐘週期内提供流程1〇〇之區塊12〇内之邏輯位 址及區塊丨28内之對應屬性(其中在提供該等對應屬性之前 直接地提供該邏輯位址作為經轉換邏輯位址)。或者,在 一隨後之時鐘週期内提供該等對應屬性。然後,該流程結 束於結束116處。
請注意,該等對應位址屬性可包括任一數量及任一類型 之屬性、允許或其組合。舉例而言,該等對應屬性可包 括··受保護的、可快取的、Endianness、指令集合選擇、 記憶體相干性所需的、共享的、讀取/寫人/執行允許等。 同樣,可經由(例如)控制信號32將該等 者提供至處理器2。。同,,若需要,可將該等屬性 者或多者提供至資料BIU 24及指令BIU 26中之每一者。在 -實施例中’亦可經由資料匯流排介面24之控制Μ或經由 指令匯流排介面26之控制54將該屬性中之一者或多者供應 至系統匯流排18,或可用於禮定藉由控制54或控制Μ供應 至系統匯流排18之其他控制信號之值。另外,可將該等屬 性中之-者或多者供應至處理電路料處理系統_ 之其他邏輯。 儘管參照在使用繞路之情形中執行—位址查找但忽略自 該位址查找所得之該經轉換邏輯位址而闡述了流程⑽, 但在-替代實施例中,可使位址轉換失效以使不提供一自 位址轉換器70輸出之經轉換邏輯位址。然而,在此實例 中,可仍提供位址屬性86。在此實例中,位址轉換之停用 118044.doc -19- 200817900 可導致降低的功率消耗,或位址屬性86自該位址查找處理 之更早提供。 /6圖解說明—時序圖,該時序圖圖解說明_系統時 鐘、一在不繞路之情形下之所選擇位址、一在繞路之情形 下之所4擇位址’及屬性(若存在)之實例時序。請注意, #不使用繞路且提供經轉換邏輯位址82作為所選擇位址以 時,如自當前時鐘週期之開始處所量測之至一有效位址 〇 1 32之牯間係相當長’從而僅留下-短設置時間134。換言 之"又置時間Π4係一記憶體可用於接收所選擇位址以為 下一%鐘週期正確地使用所接收之所選擇位址做好準備之 時間。然而,當使用繞路且直接地提供邏輯位址肋作為所 選擇位址84時,如自當前時鐘週期之開始所量測之至一有 效位址m之時間與至—有效位址132之時間相比較為短。 因此,又置時間ns係更長,從而允許更多時間用於該記 憶體接收該所選擇位址以為下一時鐘週期做準備。因此, ; #不使用繞路相比使用繞路時使該所選擇位址變得有效所 需之時間上之差值130允許一更大設置時間。同樣,在一 些情形中,當不使用繞路時,對一特定記憶體而言設置時 間134可能係不足,因而需要藉由延長該時鐘週期來以一 較低頻率運作該系統時鐘。此又降低效能。因此,繞路之 能力可避免對以一較低頻率運作該系統時鐘之需要。同 樣,請注意,若提供任何屬性,則其在與無繞路之情形下 一所選擇位址將會有效之相同時間有效,因為在一實施例 中,必須完成位址轉換(例如,一查找)方可提供該等屬 118044.doc -20· 200817900 性。然而,在多數愔彡 曰 /中’该等屬性僅用於處理電路1 2内 且不k供至接收該所 二 接 、擇位址之記憶體。因此,自記憶體 门― 心说點來看,該等位址屬性之時序並不 路〜所選擇位址自身之時序-樣重要。因此,#由使用繞 所遠擇位址在該時鐘週期内早於該等屬性有效,從而 可此允許改良效能。
上文參恥流程100所述,轉換繞路邏輯72可使用繞路 控制暫存器74内之值以確定是否允許繞路。在一實施例 中、VO路控制暫存器74被執行為一儲存複數個可程式化位 一之暫存器。或者,可將儲存於繞路控制暫存器%内之資 訊儲存於一類型之儲存電路内,且可定位於處理電路^或 系統10内之任一處。在一實施例中,可依據重設將繞路控 制暫存态74設定至預定值(例如,缺省值)或可藉由轉換繞 路邏輯72或處理器20程式化。在一實施例中,依據重設 (藉由重設68提供),轉換繞路邏輯72可分別地查詢資料重 設控制64及指令重設控制66以確定將什麼值儲存於資料繞 路區域98及指令繞路區域99内。舉例而言,在一實施例 中’可分別地將資料重設控制64及指令重設控制66之值儲 存至資料繞路區域9 8及指令繞路區域9 9。請注意,可經由 一系統10外部之輸入或可自系統1〇内提供重設68。重設68 可用於重設系統10之全部或僅系統1 〇之一部分。舉例而 言,重設68可用於重設處理電路12之全部或一部分。 在另一替代實施例中,可經由資料繞路控制60及指令繞 路控制62之使用,動態地確定繞路控制。舉例而言,在依 118044.doc -21 - 200817900 據一邏輯位址之接收確定是否繞路中,轉換繞路邏輯72可 首先查詢資料繞路控制60及指令繞路控制62。在一實施例 中,資枓繞路控制60及指令繞路控制62之值可用於覆寫藉 由繞路控制暫存器74内之資料繞路區域98及指令繞路區域 99所指不之決策。舉例而言,資料繞路控制6〇或指令繞路 控制62之一邏輯位準丨可指示執行繞路,而不管繞路控制 暫存器74内之值。或者,一邏輯位準}可指示:應將繞路
控制暫存為74内之值更新以指示繞路。在另一替代實施例 中,可全然不存在繞路控制暫存器74且轉換繞路邏輯乃始 、、’;使用繞路控制60及62,以產生一繞路控制信號(例如, 選擇78)。請注意,可經由引腳自一系統⑺外部之來源提 供或可藉由處,里器20或系、統1〇内之其他電路提供繞路控制 信號60及62。 亦明庄思,已苓照具有獨立繞路控制及用於資料及指令 位址之轉換電路闡述上文之實施例。然而,在一替代實施 !l中對貝料及扣令位址兩者而言,該控制可係相同,或 可僅針對指令或資料位址中之—者執行該繞路控制功能 至此應瞭解,已提供一種能夠位址轉換繞路之處理系 :先。因執行本發明之裝置大部分係由熟習此項技術者所孰 知之電子組件及電路組成,為的本發明之基礎概念之理解 及瞭解起見且為不混淆或分散對本發明之教示之注意,將 :再於任—較上文所圖解說明之視為必要之範圍為大的r 圍内,闡釋電路細節。 自巧大的乾 D底用,可使用各種不同資訊處理系統執行一些上文 118044.doc -22- 200817900 之實施例。舉例而言,儘管圖1及其論述闡述-例示性資 T處理構造’但此例示性構造❹於在論述本發明之各種 2樣:提供—有用參考。當然,為論述起見已簡化了該構 兒明’且其僅係可根據本發明使用之諸多不同類型之 適當構造中之一者。熟習此項技術者將認識到,邏輯區塊 之間之界限僅係說明性,且替代實施例可合併邏輯區塊或 電路兀件或利用基於各種邏輯區塊或電路元件之功能性 一替代分解。 同樣地’舉例*言’在—實施例中,系統ig之圖解說明 之-件係位於一單一積體電路上或一相同器件内之電路。 =者’ 可包括任-數量之彼此互連之獨立積體電路 或獨立器件。同樣舉例而言,系統1〇或其部分可係實體電 或可轉交成貫體電路之邏輯表示之軟體或編碼表示。同 :地,系統1〇可被實現為—任一適當類型之硬體描述語 卜热4此項技術者將認識到上文所述之作業之功 能^間之界限僅係說明性。可將多個作業之功能性組合 早4乍業,及/或可將單一作業之功能性分佈於額外 業内❿且’替代貫施例可包括一特定作業之多個實 例’且在各個其他實施例中可改變作業之順序。 在前述之說明書中已參考具體實施例說明了本發明。然 =熟習此項技術者應瞭解’在不背離下文申請專利範圍 “ “之^下’可對本發明進行各種修改 ^ 文變。相應地’應從閣釋性而非限定性意義上來看待本 月及附圖’而且所有此等修改皆意欲包括於本發明之範 118044.doc -23. 200817900 疇内。 本文已關於具體實施例闡述了本/ 及解決門$夕古安址 之誠處、其他優點 及解决問狀方案。然而,該等益處 方案及任一可導致任一益處、優點或解決方案發生 出^元素皆不應被理解為係任何或所有請求料—關鍵^ 必兩或基本之特徵或元素。如本文所使用,術語「包含」 (compile)、「包括」(c〇
g)次其任何其它變化形 式忍在涵盍-非排他性包括,以便一包括一元件列表之處 理、方法、物件或裝置不僅包括彼等組件’而可包括盆他 未明確列出的或非此製程、方法、對象和裝置所固有之組 件0 如不又所使 队你间」界定為兩個 或兩個以上;如本文所#用 「 汀便用術5口另一」(another)界定 為至少一第二個或以上; 如本文所使用,術語「耦合」(c〇upled)界定為「連 接」,儘管未必為直接地或機械地連接。 因上文之详細說明係例示性,故當闡述「一實施例」 日才,其係一例不性實施例。相應地,因此原因措詞「一」 之使用不意欲指示一且僅一實施例可具有一所述之特徵。 相反’諸多其他實施例可(且常常如此)具有該例示性「— η施例」之所述之特徵。因而,如上文所使用,當在—實 施例之月厅、下闡述本發明時,彼一實施例係本發明之諸多 可能實施例中之一者。 儘官上文關於措詞「一實施例」之使用以詳細說明進行 118044.doc -24- 200817900 了告誡’但熟習此項技術者將理解,若在下文之請求項中 意在一所提出之請求項元素之一具體數量,則將該請求項 中明確地陳述此一音圖 0 A 六 、 1此心圖,且在不存在此陳述之情形下不存 在或意在此限定。舉例而言,在下文之請求項中,當將一 請求項元素闊述為具有「一」特徵時,意欲將該元:限定 於一個且僅一個所述之特徵。 此外如本文所使帛,術語「一」(asiUn)界定為一個或多 〇 於一個。同樣,不應認為說明性短語(例如,「至少一」及 「一個或多個」)之使用意味著以不定冠詞,—㈣对來說 明=另-請求項元素會將任一含有該所說明請求項元素之 2定請求項限定至僅含有一個此種元素之發明,即使當同 一請求項包含說明性片語,—或多個,或,至少__個,及例如^ ⑷w等不定冠詞時亦是如此;此亦適用於請求項中定 冠詞的使用。 【圖式簡單說明】 本發明係以實例之方彳;,、/關、4·、。 . 貝万式予以闡述且不受隨附圖式限制, 在該等隨附圖式中相同參考編號表示相同組件。 圖1係-根據本發明之一實施例之系統的一區塊圖。 圖2圖解說明根據本發明之一實施例之圖1之位址轉換電 路之至少一部分。 圖3圖解說明根據本發明一實施例之圖二之繞路控制暫存 器。 圖4圖解說明-提供對圖3之繞路控制暫存器之指令繞路 及貧料繞路區域之說明之表袼。 118044.doc -25- 200817900 圖5圖解說明一圖解說明一 方法之〉瓜私圖,兮士、丄 使用能夠籍由根據本發 Α去用於 + i明_實施例之圖1之 路之位址轉換。 糸、洗執行之繞 圖6圖解說明一時序圖 “時序圖圖解說明一 明之-實施例之樣本系統時鐘週期。 才艮據本發 熟悉此項技術者應瞭解 口甲之組件係出於簡單明晰 之目的而繪示,而未必接昭沐加口认_ ^ 不乂钕照比例尺繪製。例如,可相對於 Ο 其它組件放大圖中某此組株夕ρ斗 一、、且件之尺寸,以幫助更好地理解本 發明之各實施例。 【主要元件符號說明】 10 資料處理系統 12 處理電路 14 系統記憶體 16 其他模組 18 系統匯流排 20 處理器 22 位址轉換電路 24 資料匯流排介面單 26 指令匯流排介面單 28 資料邏輯位址 30 指令邏輯位址 32 控制信號 34 指令屬性 35 資料屬性 118044.doc •26· 200817900 36 内部資料匯流排 38 控制信號 40 内部指令匯流排 41 控制信號 42 資料實體位址 44 指令實體位址 46 控制信號 48 資料位址 50 資料 52 控制 54 控制 56 指令位址 58 指令 60 資料繞路控制 62 指令繞路控制 64 資料重設控制 66 指令重設控制 68 重設 70 位址轉換器 72 轉換繞路邏輯 74 繞路控制暫存器 76 多工器 78 選擇 80 邏輯位址 118044.doc -27- 200817900 82 經轉換邏輯位址 84 所選擇位址 86 位址屬性 88 位址轉換部分 90 屬性部分 92 命中/未命中指示符 94 控制電路 96 指令繞路區域 98 貢料繞路區域 99 其他控制區域 118044.doc -28-
Claims (1)
- 200817900 十、申請專利範圍: 1· 一種資料處理系統,其包括: 用於執行位址轉拖 > 彳 收一邏輯位址並將11換器’該位址轉換器接 饵位址並將该邏輯位址轉換為一實體 -個或多個位址屬性;及止且美供 =至該位址轉換器之繞路電路,該繞路電路選擇性 址二亥邏輯位址作為該所接收邏輯位址之經轉換位 /、中該選擇性地提供係在提供與該邏輯位址相關聯 亥一個或多個位址屬性之前完成。 2. 如請求们之處理系統’其中該位址轉換 個或多個位址屬性之同時,將該邏輯位址轉換為S體 位址,但該繞路電路不輸出該實體位址作為該經轉換位 址〇 、 3. 如請求項1之處理系統’其中該繞路電路進一步包含: =有-個或多個位元之控制暫存器,該等位:之值 確疋:否在提供與該邏輯位址相關聯之該一個或多個屬 ί·生之月”由該位址轉換器提供該所接收邏輯位址作為該 經轉換位址。 4. 如明求項3之處理系統,其中該繞路電路進一步包含一 =設輪入’其中回應接收到—重設信號,將—預定值放 置於該控制暫存器内,以控制是否繞過由該位址轉換器 所提供之該實體位址。 5. 如請求項3之處理系統,其中該控制暫存器包含:一第 —位元,當該所接收邏輯位址係一指令之邏輯位址時, 118044.doc 200817900 该位7L之值控制經轉換實體位址值之繞路;及一第二位 元’ §该所接收邏輯位址係資料之一邏輯位址時,該位 元之值控制經轉換實體位址之繞路。 6 ·如w求項3之處理系統,其中該繞路電路進一步包含一 重設輸入,其中回應接收到一具有一預定值之重設信 號’該繞路電路確定該一個或多個位元之值。 7·如請求項1之處理系統,其中該繞路電路進一步包含: f) 一用於接收一繞路控制信號之控制輸入,該繞路控制 #號之值確定是否由該位址轉換器提供該所接收邏輯位 址作為該經轉換位址。 8 ·如明求項7之處理系統,其中將該繞路控制信號耗合至 T7亥位址轉換杰’ §亥控制信號在允許該位址轉換器提供與 。亥远輯位址相關聯之該一個或多個屬性之同時,選擇性 地禁止該位址轉換器提供一經轉換邏輯位址。 9 ·如明求項1之處理系統,其十該位址轉換器進一步包 ϋ 含: 一用於提供一命中/未命中信號之輸出,該命中/未命 中^號指示在選擇性地提供該邏輯位址作為該經轉換位 址之後該位址轉換器是否含有一對應於該所接收邏輯位 址之值。 10· —種於一資料處理系統中之位址轉換方法,該方法包 括: 接收一邏輯位址; 起始該邏輯位址至一實體位址及一個或多個屬性之轉 118044.doc ^ 200817900 換;且 在使泫一個或多個屬性可用之前,回應於一控制信號 而遥擇性地提供該邏輯位址作為一所選擇之經轉換位 址〇 11.如請求項10之位址轉換方法,進一步包括:回應於一儲 存於一控制暫存器内之可程式化控制位元,產生該控制 信號。 12·如請求項11之位址轉換方法,進一步包括·· 重設該資料處理系統;且 回應於该重設,將該可程式化控制位元之該值設定至 一預定值。 13·如請求項10之位址轉換方法,進一步包括:禁止該邏輯 位址至一實體位址之轉換,但使用該邏輯位址形成該一 個或多個屬性,該禁止係回應於該控制信號。 14.如請求項1 0之位址轉換方法,進一步包括·· ϋ 接收該邏輯位址作為一指令之邏輯位址;且 接收一第二邏輯位址,該第二邏輯位址係一回應於一 第二控制信號而轉換之資料邏輯位址,其中基於一位址 係一指令位址或一資料位址,該控制信號及該第二控制 信號獨立地控制位址轉換。 15· —種資料處理系統,其包括: 處理邏輯,其用於執行資料處理;及 位址轉換電路’其福合至該處理邏輯用於執行位址轉 換’該位址轉換電路包括: 】】8044.doc 200817900 位址轉換器,其用於接收一邏輯位址並將該邏輯 位址轉變成一實體位址及一個或多個位址屬性; k擇I路,其用於4妾收該邏輯位址且輕合至該位 址轉換器以接收該實體位址,該選擇電路具有-控制輸 入及一用於提供一所選擇位址之輸出;及 叙合至該選擇電路之繞路電路,該繞路電路提供一 控制信號至該選擇電路之該控制輸人,以在提供與該邏 =位址相關聯之該—個或多個位址屬性之前,選擇性地 ,供該邏輯位址作為該所選擇位址,該繞路電路繞過該 實體位址作為該所選擇位址之用。 X 16.如請求項15之資料處理系統,其中該繞路電路進—η 含: ^ ^ 一控制暫存器’其具有—用於當該邏輯位址係一指令 =址時產生該控制信號之第一控制位元,且具有一用於 田^邏輯位址係一資料位址時產生該控制信號之第二 制位元。 ~ A如請求項Η之資料處理系統,其中該控制信號亦耦合至 止轉換器,该控制信號在該位址轉換器轉換該邏輯 位址以提供該一個或多個位址屬性之同時,選擇性地焚 止提供一實體位址。 不 1 I 4明求項1 5之資料處理系統,其中該繞路電路進一步包 含:用於接收一重設信號之重設輸入,該重設信號確= 忒拴制化唬之值以選擇性地繞過該實體位址作為 擇位址之用。 118044.doc 200817900 19·:請求項15之資料處理系統,其中該繞路電路進一步包 一用於接收一供用於產生該控制信號之輸入信號之控 制信號輸入。 〜工 1如請求項15之資料處理系統,其中該位址轉換器確定該 所接收邏輯位址是否代表該位址轉換器内所儲存位址值 之-命中或-未命中’且回應於該確定而在 出處產生一命中/未八φ & % 才曰不付輸 未… 該資料處理系統回應於- 未叩中才曰不而執行未命中處理。 〇 118044.doc
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/360,926 US7376807B2 (en) | 2006-02-23 | 2006-02-23 | Data processing system having address translation bypass and method therefor |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| TW200817900A true TW200817900A (en) | 2008-04-16 |
Family
ID=38429766
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW096103283A TW200817900A (en) | 2006-02-23 | 2007-01-30 | Data processing system having address translation bypass and method therefor |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US7376807B2 (zh) |
| JP (1) | JP5144542B2 (zh) |
| CN (1) | CN101390062B (zh) |
| TW (1) | TW200817900A (zh) |
| WO (1) | WO2007117746A2 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI719786B (zh) * | 2019-12-30 | 2021-02-21 | 財團法人工業技術研究院 | 資料處理系統與方法 |
Families Citing this family (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007272635A (ja) * | 2006-03-31 | 2007-10-18 | Toshiba Corp | メモリシステム及びコントローラ |
| US7401201B2 (en) * | 2006-04-28 | 2008-07-15 | Freescale Semiconductor, Inc. | Processor and method for altering address translation |
| US7707383B2 (en) * | 2006-11-21 | 2010-04-27 | Intel Corporation | Address translation performance in virtualized environments |
| US20100122017A1 (en) * | 2007-03-28 | 2010-05-13 | Masayuki Toyama | Memory controller, non-volatile memory system, and host device |
| US7921261B2 (en) | 2007-12-18 | 2011-04-05 | International Business Machines Corporation | Reserving a global address space |
| US7925842B2 (en) | 2007-12-18 | 2011-04-12 | International Business Machines Corporation | Allocating a global shared memory |
| US8200910B2 (en) | 2008-02-01 | 2012-06-12 | International Business Machines Corporation | Generating and issuing global shared memory operations via a send FIFO |
| US8239879B2 (en) | 2008-02-01 | 2012-08-07 | International Business Machines Corporation | Notification by task of completion of GSM operations at target node |
| US7844746B2 (en) * | 2008-02-01 | 2010-11-30 | International Business Machines Corporation | Accessing an effective address and determining whether the effective address is associated with remotely coupled I/O adapters |
| US8255913B2 (en) | 2008-02-01 | 2012-08-28 | International Business Machines Corporation | Notification to task of completion of GSM operations by initiator node |
| US8275947B2 (en) | 2008-02-01 | 2012-09-25 | International Business Machines Corporation | Mechanism to prevent illegal access to task address space by unauthorized tasks |
| US8893126B2 (en) * | 2008-02-01 | 2014-11-18 | International Business Machines Corporation | Binding a process to a special purpose processing element having characteristics of a processor |
| US8214604B2 (en) | 2008-02-01 | 2012-07-03 | International Business Machines Corporation | Mechanisms to order global shared memory operations |
| US8484307B2 (en) | 2008-02-01 | 2013-07-09 | International Business Machines Corporation | Host fabric interface (HFI) to perform global shared memory (GSM) operations |
| US8146094B2 (en) * | 2008-02-01 | 2012-03-27 | International Business Machines Corporation | Guaranteeing delivery of multi-packet GSM messages |
| US20140325129A1 (en) * | 2008-12-31 | 2014-10-30 | Micron Technology, Inc. | Method and apparatus for active range mapping for a nonvolatile memory device |
| US8386747B2 (en) * | 2009-06-11 | 2013-02-26 | Freescale Semiconductor, Inc. | Processor and method for dynamic and selective alteration of address translation |
| BRPI0925055A2 (pt) * | 2009-06-26 | 2015-07-28 | Intel Corp | "otimizações para um sistema de memória transacional ilimitada (utm)" |
| US9164886B1 (en) | 2010-09-21 | 2015-10-20 | Western Digital Technologies, Inc. | System and method for multistage processing in a memory storage subsystem |
| US20120124327A1 (en) | 2010-11-17 | 2012-05-17 | Mccombs Edward M | Translation Lookaside Buffer Structure Including a Data Array Storing an Address Selection Signal |
| US9916257B2 (en) * | 2011-07-26 | 2018-03-13 | Intel Corporation | Method and apparatus for TLB shoot-down in a heterogeneous computing system supporting shared virtual memory |
| GB2493340A (en) * | 2011-07-28 | 2013-02-06 | St Microelectronics Res & Dev | Address mapping of boot transactions between dies in a system in package |
| FR2979443B1 (fr) * | 2011-08-30 | 2013-09-27 | Maxim Integrated Products | Microcontroleur securise a base de mode |
| US20130179642A1 (en) * | 2012-01-10 | 2013-07-11 | Qualcomm Incorporated | Non-Allocating Memory Access with Physical Address |
| US9448960B2 (en) * | 2013-03-14 | 2016-09-20 | Linear Technology Corporation | Address translation in I2C data communications system |
| US9933980B2 (en) * | 2014-02-24 | 2018-04-03 | Toshiba Memory Corporation | NAND raid controller for connection between an SSD controller and multiple non-volatile storage units |
| US9483295B2 (en) | 2014-03-31 | 2016-11-01 | International Business Machines Corporation | Transparent dynamic code optimization |
| US9569115B2 (en) | 2014-03-31 | 2017-02-14 | International Business Machines Corporation | Transparent code patching |
| US9715449B2 (en) | 2014-03-31 | 2017-07-25 | International Business Machines Corporation | Hierarchical translation structures providing separate translations for instruction fetches and data accesses |
| US9824021B2 (en) | 2014-03-31 | 2017-11-21 | International Business Machines Corporation | Address translation structures to provide separate translations for instruction fetches and data accesses |
| US9734083B2 (en) | 2014-03-31 | 2017-08-15 | International Business Machines Corporation | Separate memory address translations for instruction fetches and data accesses |
| US9256546B2 (en) | 2014-03-31 | 2016-02-09 | International Business Machines Corporation | Transparent code patching including updating of address translation structures |
| US9720661B2 (en) | 2014-03-31 | 2017-08-01 | International Businesss Machines Corporation | Selectively controlling use of extended mode features |
| US9858058B2 (en) | 2014-03-31 | 2018-01-02 | International Business Machines Corporation | Partition mobility for partitions with extended code |
| DE102016108525B4 (de) * | 2016-05-09 | 2022-01-27 | Infineon Technologies Ag | Vorrichtung zur Verwendung beim Zugriff auf einen Speicher |
| US10503649B2 (en) * | 2016-11-28 | 2019-12-10 | Taiwan Semiconductor Manufacturing Co., Ltd. | Integrated circuit and address mapping method for cache memory |
| US10402355B2 (en) * | 2017-02-08 | 2019-09-03 | Texas Instruments Incorporated | Apparatus and mechanism to bypass PCIe address translation by using alternative routing |
| US11221957B2 (en) | 2018-08-31 | 2022-01-11 | International Business Machines Corporation | Promotion of ERAT cache entries |
| US11757764B2 (en) | 2019-05-23 | 2023-09-12 | Hewlett Packard Enterprise Development Lp | Optimized adaptive routing to reduce number of hops |
| US11455110B1 (en) * | 2021-09-08 | 2022-09-27 | International Business Machines Corporation | Data deduplication |
| US20240012579A1 (en) * | 2022-07-06 | 2024-01-11 | Samsung Electronics Co., Ltd. | Systems, methods, and apparatus for data placement in a storage device |
| US12461683B2 (en) | 2022-07-06 | 2025-11-04 | Samsung Electronics Co., Ltd. | Systems, methods, and devices for reclaim unit formation and selection in a storage device |
| CN119724279B (zh) * | 2024-11-19 | 2026-01-13 | 新存微科技(北京)有限责任公司 | 地址处理系统及地址调节方法 |
Family Cites Families (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4488228A (en) * | 1982-12-03 | 1984-12-11 | Motorola, Inc. | Virtual memory data processor |
| US4524415A (en) * | 1982-12-07 | 1985-06-18 | Motorola, Inc. | Virtual machine data processor |
| US4493035A (en) * | 1982-12-07 | 1985-01-08 | Motorola, Inc. | Data processor version validation |
| US4635193A (en) * | 1984-06-27 | 1987-01-06 | Motorola, Inc. | Data processor having selective breakpoint capability with minimal overhead |
| US4763250A (en) * | 1985-04-01 | 1988-08-09 | Motorola, Inc. | Paged memory management unit having variable number of translation table levels |
| JPS62131352A (ja) * | 1985-12-04 | 1987-06-13 | Fujitsu Ltd | アドレス変換制御方式 |
| US5029072A (en) * | 1985-12-23 | 1991-07-02 | Motorola, Inc. | Lock warning mechanism for a cache |
| US4763244A (en) * | 1986-01-15 | 1988-08-09 | Motorola, Inc. | Paged memory management unit capable of selectively supporting multiple address spaces |
| US4890223A (en) * | 1986-01-15 | 1989-12-26 | Motorola, Inc. | Paged memory management unit which evaluates access permissions when creating translator |
| US4862352A (en) * | 1987-09-16 | 1989-08-29 | Motorola, Inc. | Data processor having pulse width encoded status output signal |
| US4888688A (en) * | 1987-09-18 | 1989-12-19 | Motorola, Inc. | Dynamic disable mechanism for a memory management unit |
| JPS6482152A (en) * | 1987-09-24 | 1989-03-28 | Nec Corp | Information processor |
| US5239642A (en) * | 1991-04-02 | 1993-08-24 | Motorola, Inc. | Data processor with shared control and drive circuitry for both breakpoint and content addressable storage devices |
| US5341500A (en) * | 1991-04-02 | 1994-08-23 | Motorola, Inc. | Data processor with combined static and dynamic masking of operand for breakpoint operation |
| US5319763A (en) * | 1991-04-02 | 1994-06-07 | Motorola, Inc. | Data processor with concurrent static and dynamic masking of operand information and method therefor |
| JPH04307646A (ja) * | 1991-04-04 | 1992-10-29 | Nec Corp | 論実一致空間作成によるアドレシング高速化方式 |
| US5375216A (en) * | 1992-02-28 | 1994-12-20 | Motorola, Inc. | Apparatus and method for optimizing performance of a cache memory in a data processing system |
| US5732405A (en) * | 1992-10-02 | 1998-03-24 | Motorola, Inc. | Method and apparatus for performing a cache operation in a data processing system |
| US5388226A (en) * | 1992-10-05 | 1995-02-07 | Motorola, Inc. | Method and apparatus for accessing a register in a data processing system |
| JPH07175663A (ja) * | 1993-12-16 | 1995-07-14 | Fuji Xerox Co Ltd | 情報処理装置の処理高速化方法 |
| US5666509A (en) * | 1994-03-24 | 1997-09-09 | Motorola, Inc. | Data processing system for performing either a precise memory access or an imprecise memory access based upon a logical address value and method thereof |
| US5535351A (en) * | 1994-04-04 | 1996-07-09 | Motorola, Inc. | Address translator with by-pass circuit and method of operation |
| US6154826A (en) * | 1994-11-16 | 2000-11-28 | University Of Virginia Patent Foundation | Method and device for maximizing memory system bandwidth by accessing data in a dynamically determined order |
| US6185657B1 (en) * | 1998-04-20 | 2001-02-06 | Motorola Inc. | Multi-way cache apparatus and method |
| US6442664B1 (en) * | 1999-06-01 | 2002-08-27 | International Business Machines Corporation | Computer memory address translation system |
| GB9921698D0 (en) * | 1999-09-14 | 1999-11-17 | Coolflow Ltd | Beverage cooling system |
| US6519684B1 (en) * | 1999-11-23 | 2003-02-11 | Motorola, Inc. | Low overhead method for selecting and updating an entry in a cache memory |
| US6748558B1 (en) * | 2000-05-10 | 2004-06-08 | Motorola, Inc. | Performance monitor system and method suitable for use in an integrated circuit |
| US6859875B1 (en) * | 2000-06-12 | 2005-02-22 | Freescale Semiconductor, Inc. | Processor having selective branch prediction |
| US6766431B1 (en) * | 2000-06-16 | 2004-07-20 | Freescale Semiconductor, Inc. | Data processing system and method for a sector cache |
| US6651156B1 (en) | 2001-03-30 | 2003-11-18 | Mips Technologies, Inc. | Mechanism for extending properties of virtual memory pages by a TLB |
| US6643759B2 (en) | 2001-03-30 | 2003-11-04 | Mips Technologies, Inc. | Mechanism to extend computer memory protection schemes |
| US6728859B1 (en) | 2001-07-13 | 2004-04-27 | Mips Technologies, Inc. | Programmable page table access |
| US6523104B2 (en) | 2001-07-13 | 2003-02-18 | Mips Technologies, Inc. | Mechanism for programmable modification of memory mapping granularity |
| KR100450675B1 (ko) | 2002-03-19 | 2004-10-01 | 삼성전자주식회사 | 성능향상 및 전력소모를 감소시킬 수 있는 tlb |
| US6725289B1 (en) | 2002-04-17 | 2004-04-20 | Vmware, Inc. | Transparent address remapping for high-speed I/O |
| JP4026753B2 (ja) * | 2002-07-25 | 2007-12-26 | 株式会社日立製作所 | 半導体集積回路 |
| US6829762B2 (en) * | 2002-10-10 | 2004-12-07 | International Business Machnies Corporation | Method, apparatus and system for allocating and accessing memory-mapped facilities within a data processing system |
| US6925542B2 (en) * | 2003-03-21 | 2005-08-02 | Freescale Semiconductor, Inc. | Memory management in a data processing system |
| US6963963B2 (en) * | 2003-03-25 | 2005-11-08 | Freescale Semiconductor, Inc. | Multiprocessor system having a shared main memory accessible by all processor units |
| US7243208B2 (en) * | 2003-08-13 | 2007-07-10 | Renesas Technology Corp. | Data processor and IP module for data processor |
| US7159095B2 (en) * | 2003-12-09 | 2007-01-02 | International Business Machines Corporation | Method of efficiently handling multiple page sizes in an effective to real address translation (ERAT) table |
| CN100426259C (zh) * | 2005-08-18 | 2008-10-15 | 北京中星微电子有限公司 | 一种存储器文件数据虚拟存取方法 |
-
2006
- 2006-02-23 US US11/360,926 patent/US7376807B2/en active Active
- 2006-04-28 US US11/413,430 patent/US7447867B2/en not_active Expired - Fee Related
-
2007
- 2007-01-29 JP JP2008556490A patent/JP5144542B2/ja not_active Expired - Fee Related
- 2007-01-29 WO PCT/US2007/061191 patent/WO2007117746A2/en not_active Ceased
- 2007-01-29 CN CN2007800063456A patent/CN101390062B/zh not_active Expired - Fee Related
- 2007-01-30 TW TW096103283A patent/TW200817900A/zh unknown
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI719786B (zh) * | 2019-12-30 | 2021-02-21 | 財團法人工業技術研究院 | 資料處理系統與方法 |
| US11609559B2 (en) | 2019-12-30 | 2023-03-21 | Industrial Technology Research Institute | Data processing system and method |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2007117746A2 (en) | 2007-10-18 |
| WO2007117746A3 (en) | 2008-10-30 |
| CN101390062B (zh) | 2011-02-23 |
| US7447867B2 (en) | 2008-11-04 |
| JP5144542B2 (ja) | 2013-02-13 |
| CN101390062A (zh) | 2009-03-18 |
| JP2009527861A (ja) | 2009-07-30 |
| US20070198805A1 (en) | 2007-08-23 |
| US20070198804A1 (en) | 2007-08-23 |
| US7376807B2 (en) | 2008-05-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TW200817900A (en) | Data processing system having address translation bypass and method therefor | |
| US7093079B2 (en) | Snoop filter bypass | |
| TWI260541B (en) | System and method for linking speculative results of load operations to register values | |
| CN102197368B (zh) | 数据处理指令的许可检查 | |
| US8281075B2 (en) | Processor system and methods of triggering a block move using a system bus write command initiated by user code | |
| PL176554B1 (pl) | Sposób przesyłania informacji między jednostką przetwarzającą systemu komputerowego, zewnętrzną pamięcią podręczną i pamięcią główną oraz system komputerowy | |
| US6151658A (en) | Write-buffer FIFO architecture with random access snooping capability | |
| TW200945057A (en) | Cache coherency protocol in a data processing system | |
| EP3259671B1 (en) | Selective translation lookaside buffer search and page fault | |
| US6836833B1 (en) | Apparatus and method for discovering a scratch pad memory configuration | |
| US6996693B2 (en) | High speed memory cloning facility via a source/destination switching mechanism | |
| KR970003709B1 (ko) | 선택적 지연 버스트를 구비한 버스 마스터 | |
| US10579564B2 (en) | System on chip (SoC), mobile electronic device including the same, and method of operating the SoC | |
| EP1723532B1 (en) | Multiple burst protocol device controller | |
| CN100435122C (zh) | 具有外设访问保护的数据处理系统 | |
| US20070204091A1 (en) | Single Bus Command for Transferring Data in a Processing System | |
| US7149848B2 (en) | Computer system cache controller and methods of operation of a cache controller | |
| US6986013B2 (en) | Imprecise cache line protection mechanism during a memory clone operation | |
| KR101502827B1 (ko) | 컴퓨터 시스템에서의 캐시 무효화 방법 | |
| US7502917B2 (en) | High speed memory cloning facility via a lockless multiprocessor mechanism | |
| US6477613B1 (en) | Cache index based system address bus | |
| US6915390B2 (en) | High speed memory cloning facility via a coherently done mechanism | |
| US20040111577A1 (en) | High speed memory cloner within a data processing system | |
| CN107977325A (zh) | 存储器控制器、存储器系统和操作存储器控制器的方法 | |
| TWI724004B (zh) | 應用處理器與其運作方法、及資料處理系統與其運作方法 |