TWI557640B - 記憶體快取結構中的中央處理器 - Google Patents

記憶體快取結構中的中央處理器 Download PDF

Info

Publication number
TWI557640B
TWI557640B TW100140536A TW100140536A TWI557640B TW I557640 B TWI557640 B TW I557640B TW 100140536 A TW100140536 A TW 100140536A TW 100140536 A TW100140536 A TW 100140536A TW I557640 B TWI557640 B TW I557640B
Authority
TW
Taiwan
Prior art keywords
cache
memory
cpu
multiplexer
address
Prior art date
Application number
TW100140536A
Other languages
English (en)
Other versions
TW201234263A (en
Inventor
費雪三世羅素漢彌爾頓
Original Assignee
費雪三世羅素漢彌爾頓
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 費雪三世羅素漢彌爾頓 filed Critical 費雪三世羅素漢彌爾頓
Publication of TW201234263A publication Critical patent/TW201234263A/zh
Application granted granted Critical
Publication of TWI557640B publication Critical patent/TWI557640B/zh

Links

Classifications

    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7821Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

記憶體快取結構中的中央處理器
本發明大體而言係關於記憶體快取結構中的CPU,且更特定言之,係關於記憶體交錯式快取結構中的CPU。
在微處理器(術語「微處理器」本文亦均等稱為「處理器」、「核心」及中央處理單元「CPU」)中,使用在具有八個或八個以上金屬層互連之晶粒(die)(本文均等使用術語「晶粒」及「晶片」)上連接在一起的互補金氧半導體(CMOS)電晶體來實現舊有電腦結構。另一方面,記憶體通常製造於具有三個或三個以上金屬層互連之晶粒上。快取為實體位於電腦之主記憶體與中央處理單元(CPU)之間的快速記憶體結構。因為需要巨大數量之電晶體以實現該等舊有快取系統,所以舊有快取系統(下文「舊有快取」)消耗相當大量的功率。快取之目的為縮短用於資料存取及指令執行的有效記憶體存取時間。在涉及競爭性更新及資料取得及指令執行之極高交易量環境中,經驗說明,頻繁存取之指令及資料傾向於位於實體接近記憶體中的其他頻繁存取之指令及資料,且亦常常重複存取最近存取之指令及資料。快取藉由將可能欲存取之指令及資料的冗餘副本維持在實體接近CPU之記憶體中來利用該空間及時間區域性。
舊有快取常常將「資料快取」定義為區別於「指令快取」。該等快取截取CPU記憶體請求,決定在快取中是否存在目標資料或指令,且以快取讀取或寫入來作出回應。快取讀取或寫入將比來自或去往外記憶體(亦即,諸如外DRAM、SRAM、快閃記憶體,及/或磁帶或磁碟及類似物上之儲存器,下文統稱「外記憶體」)之讀取或寫入快很多倍。若所請求資料或指令在快取中不存在,則發生快取「未中」,進而導致將所需資料或指令從外記憶體轉移至快取。單級快取之有效記憶體存取時間為「快取存取時間」×「快取命中率」+「快取未中損失」×「快取未中率」。有時使用多級快取以將有效記憶體存取時間降低更多。各高級快取之尺寸逐步變大且與逐步變大之快取「未中」損失相關聯。典型舊有微處理器可具有1-3 CPU時鐘週期之一級快取存取時間、8-20時鐘週期之二級存取時間,及80-200時鐘週期之晶片外存取時間。
舊有指令快取之加速機制基於空間及時間區域性(亦即,快取迴路之儲存器及反覆調用如系統日期、登入/登出等之函數)之利用。將迴路內之指令從外記憶體提取一次且儲存在指令快取中。由於首次從外記憶體提取迴路指令之損失,通過迴路之首次執行將為最慢的。然而,各後續通過迴路將直接從快取提取指令,此舉快得多。
舊有快取邏輯將記憶體位址翻譯為快取位址。每個外記憶體位址必須與列出已容納於快取之記憶體位置之列的表格相比較。該比較邏輯常常實現為內容可定址記憶體(CAM)。不同於使用者提供記憶體位址且RAM返回儲存於彼位址之資料字的標準電腦隨機存取記憶體(亦即,本文均等統稱為「RAM」或「DRAM」或「外記憶體」或「記憶體」之「RAM」、「DRAM」、SRAM、SDRAM等),CAM經設計使得使用者提供資料字且CAM搜尋該CAM之整個記憶體以查看彼資料字是否儲存於該CAM之任何地方。若發現資料字,則CAM返回一或更多儲存位址之清單,在該一或更多儲存位址發現字(且在一些結構中,CAM亦返回資料字自身,或其他相關聯資料片)。因此,CAM為軟體術語中稱為「相聯陣列」的硬體均等物。比較邏輯複雜且緩慢且隨著快取大小之增加而複雜度增加且速度減小。該等「相聯快取」在複雜度與速度之間取捨以獲得改良的快取命中率。
舊有作業系統(OS)實現虛擬記憶體(VM)管理以使得少量實體記憶體對程式/使用者似為大得多的記憶體量。VM邏輯使用間接定址以將極大量記憶體之VM位址翻譯為實體記憶體位置之小得多的子集位址。間接提供了當指令、常式及物件之實體位置恆定變化時,存取該等指令、常式及物件之方式。初始常式指向某一記憶體位址,且彼記憶體位址使用硬體及/或軟體指向某一其他記憶體位址。可有多級間接。舉例而言,指向A,該A指向B,該B指向C。實體記憶體位置由稱為「頁框」或簡單稱為「框」之連續記憶體的大小固定方塊組成。當選擇供執行之程式時,VM管理器將程式帶至虛擬儲存器中,將該程式劃分至固定方塊大小(例如,四千位元組「4K」)之頁中,且然後將頁轉移至主記憶體用於執行。對於程式設計員/使用者,整個程式及資料看起來似乎一直佔據主記憶體中的連續性空間。然而,實際上,並非程式或資料之所有頁必須同時在主記憶體中,且在任何特定時間點在主記憶體中的頁未必佔據連續性空間。因此,虛擬儲存器外之執行/存取程式及資料片,在執行/存取之前、之間及之後,根據需要藉由VM管理器,在實儲存器與輔助儲存器之間往復移動,如下所示:
(a)主記憶體之區塊為
(b)虛擬儲存器之區塊為
(c)輔助儲存器之區塊為
頁、框,及槽全部為相同大小。有效虛擬儲存器頁常駐於各自主記憶體框中。變成無效的虛擬儲存器頁移動至輔助儲存器槽(在有時稱為頁面資料集中)。VM頁充當可能從整個VM位址空間存取之頁的高級快取。當VM管理器將舊的、較不頻繁使用之頁傳送至外輔助儲存器時,可定址記憶體頁框充填頁槽。舊有VM管理藉由承擔管理主記憶體及外儲存器之大部分職責,簡化電腦程式設計。
舊有VM管理通常需要使用翻譯表將VM位址對實體位址進行比較。必須搜尋翻譯表以查找每個記憶體存取及經翻譯為實體位址之虛擬位址。翻譯後備緩衝區(TLB)為最近期VM存取之小的快取,該快取可加快虛擬位址對實體位址之比較。TLB常常實現為CAM,且因而,搜尋TLB可比順序搜尋頁表快成千上萬倍。每個指令執行必須引起查尋每個VM位址的管理負擔。
因為快取構成電晶體及舊有電腦之功率消耗之如此大的比例,所以對大多數組織而言,調諧該等快取對於整體資訊技術預算極其重要。彼「調諧」可來自改良的硬體或軟體,或來自兩者。「軟體調諧」通常以將頻繁存取之程式、資料結構及資料置放於快取中之形式實現,該等快取由如DB2、Oracle、Microsoft SQL Server及MS/Access之資料庫管理系統(DBMS)軟體來定義。DBMS實現之快取物件,藉由儲存如索引之重要資料結構及如執行共用系統或資料庫函數(亦即,「日期」或「登入/登出」)之結構化查詢語言(SQL)常式之頻繁執行指令,來增強應用程式執行效能及資料庫傳輸量。
對於通用處理器,使用多核心處理器之大部分動機來自大大減少的處理器效能之潛在增益,該處理器效能之潛在增益來自增加操作頻率(亦即,時鐘週期每秒)。此由於三個主要因素:
1.記憶體牆;處理器與記憶體速度之間不斷增加的差距。此效應推動快取大小更大以遮蔽記憶體之潛時。此僅有助於達到記憶體頻寬不為效能之瓶頸的程度。
2.指令階層平行度(ILP)牆;在單指令串流中發現足夠平行度以保持高效能單核心處理器忙碌之不斷增加的困難。
3.功率牆;不斷增加的功率與操作頻率之增加的線性關係。該增加可藉由對於相同邏輯使用較小追蹤由「縮小」處理器來減輕。功率牆造成製造、系統、設計及部署問題,尚未證明該等問題面臨由於記憶體牆及ILP牆造成之減少的效能增益是合理的。
為持續輸送用於通用處理器之定期效能改良,諸如Intel及AMD之製造商轉向多核心設計,犧牲較低製造成本以換取一些應用及系統之較高效能。目前正在開發多核心結構及替代物。舉例而言,對於已建立市場,將周邊功能進一步整合至晶片中為尤其強大之競爭者。
相同晶粒上的多個CPU核心之接近允許快取一致性電路系統,以比訊號必須傳播至晶片外的可能時鐘速率高得多的時鐘速率進行操作。合併單晶粒上之均等CPU顯著改良快取及匯流排監聽操作之效能。因為不同CPU之間的訊號傳播較短距離,所以彼等訊號衰減較少。因為個別訊號可更短且不需常常重複,所以該等「較高品質」訊號使得在給定時間週期中更可靠地傳送更多資料。CPU密集型程式,如抗病毒掃描、備份/燒錄媒體(需要檔案轉換),或搜尋資料夾,發生最大效能提高。舉例而言,若運作自動病毒掃描同時觀看電影,則運作電影之應用不太可能缺乏處理器功率,因為將把抗病毒程式指定至與運作電影不同之處理器核心。對於DBMS及OS,多核心處理器為理想的,因為該等多核心處理器允許許多使用者同時連接至一地點且具有獨立的處理器執行。因此,網路伺服器及應用伺服器可達到更好傳輸量。
舊有電腦具有晶片上快取及匯流排,該等匯流排將指令及資料在快取與CPU之間往復路由。該等匯流排常為單端具有軌對軌電壓擺動。一些舊有電腦使用差動訊號(DS)來增加速度。舉例而言,如RAMBUS公司之公司使用低電壓匯流以增加速度,RAMBUS公司係引入完全差動高速記憶體存取用於CPU與記憶體晶片之間的通信的加州(California)公司。RAMBUS配備的記憶體晶片極快速,但是與如SRAM或SDRAM之雙倍資料率(DDR)記憶體相比,消耗多得多的功率。作為另一實例,射極耦合邏輯(ECL)藉由使用單端、低電壓訊號達到高速匯流。ECL匯流排在0.8伏特操作,而工業其餘匯流排在5伏特及高於5伏特操作。然而,如同RAMBUS及大多數其他低電壓訊號系統,ECL之缺點為消耗太多功率,即使當ECL未接通時亦如是。
舊有快取系統之另一問題為,保持極小記憶體位元線間距以在最小晶粒上封裝最大數量之記憶體位元。「設計規則」為定義製造於晶粒上之裝置的多種元件的實體參數。對於不同區域之晶粒,記憶體製造商定義不同規則。舉例而言,記憶體之大小最關鍵區域為記憶晶格。用於記憶晶格之設計規則可稱為「核心規則」。其次最關鍵區域常常包括諸如位元線感測放大器(BLSA,下文「感測放大器」)之元件。用於該區域之設計規則可稱為「陣列規則」。記憶體晶粒上之其他物件,包括解碼器,驅動器,及I/O由可稱為「周邊規則」之規則管理。核心規則最密集,陣列規則其次密集,且周邊規則最不密集。舉例而言,實現核心規則所需最小實體幾何空間可為110 nm,而用於周邊規則之最小幾何形狀可需180 nm。線間距由核心規則決定。在記憶體處理器中實現CPU所使用之大部分邏輯由周邊規則決定。因此,對於快取位元及邏輯,僅有極有限的可用空間。感測放大器極小且極快速,但是該等感測放大器亦不具有非常多的驅動能力。
舊有快取系統之另一問題為與直接使用感測放大器作為快取相關聯之處理管理負擔,因為感測放大器內容由再新操作改變。即使在一些記憶體上此舉可行,但是在動態隨機存取記憶體(DRAM)之情況下存在問題。DRAM需要在每個特定時段將該DRAM之記憶體陣列的每個位元讀取且重新寫入一次,以再新位元儲存電容器上之電荷。若直接使用感測放大器作為快取,則在每個再新時間期間,感測放大器之快取內容必須寫回至該等感測放大器正在快取之DRAM列。然後欲再新之DRAM列必須讀回及寫回。最後,之前由快取容納之DRAM列必須讀回至感測放大器快取中。
需要新的在記憶體快取結構中的CPU來克服前述先前技術之限制及缺點,該CPU解決在記憶體處理器中的單核心(下文,「CIM」)及多核心(下文,「CIMM」)CPU上實現VM管理之諸多挑戰。更特定言之,揭示了一種用於電腦系統的快取結構,該電腦系統具有至少一個處理器及製造於單石記憶體晶粒上之合併主記憶體,該快取結構包含用於每個該處理器之多工器、解多工器,及區域快取,該等區域快取包含專屬於至少一個DMA通道之DMA快取、專屬於指令位址暫存器之I快取、專屬於源位址暫存器之X快取,及專屬於目的位址暫存器之Y快取;其中每個該處理器存取至少一個晶片上內部匯流排,該至少一個晶片上內部匯流排含有可與相關聯區域快取一樣大小之一個RAM列;其中該等區域快取為可操作的以在一個列位址選通(row address strobe;RAS)週期中充填或清除,且該RAM列之所有感測放大器可由該多工器選擇且可由該解多工器取消選擇至可用於RAM再新之相關聯該區域快取之複製相應位元。該新快取結構使用一種用於最佳化CIM晶片上之快取位元邏輯可用的極有限實體空間之新方法。經由將快取分割成多個單獨的、雖然較小,但是每個可同時存取及更新之快取,來增加快取位元邏輯之可用記憶體。本發明之另一態樣使用類比最不頻繁使用(LFU)偵測器經由快取頁「未中(miss)」來管理VM。在另一態樣中,VM管理器可並行化快取頁「未中」與其他CPU操作。在另一態樣中,低電壓差動訊號急劇降低長匯流排之功率消耗。在另一態樣中,提供了一種與指令快取配對之新的啟動唯讀記憶體(ROM),該啟動唯讀記憶體在OS之「初始程式載入」期間簡化區域快取之初始化。在另一態樣中,本發明包含一種用於藉由CIM或CIMM VM管理器,解碼區域記憶體、虛擬記憶體及晶片外外記憶體之方法。
在另一態樣中,本發明包含一種用於具有至少一個處理器之電腦系統的快取結構,該快取結構包含用於每個該處理器之解多工器,及至少兩個區域快取,該等區域快取包含專屬於指令位址暫存器之I快取及專屬於源位址暫存器之X快取;其中每個該處理器存取至少一個晶片上內部匯流排,該晶片上內部匯流排含有一個用於相關聯該區域快取之RAM列;其中該等區域快取為可操作的以在一個RAS週期中充填或清除,且該RAM列之所有感測放大器可由該解多工器取消選擇至相關聯該區域快取之複製相應位元。
在另一態樣中,本發明之區域快取進一步包含專屬於至少一個DMA通道之DMA快取,且在多種其他實施例中,該等區域快取可進一步包含專屬於堆疊工作暫存器之S快取,該S快取與可能的專屬於目的位址暫存器之Y快取及專屬於堆疊工作暫存器之S快取形成一切可能組合。
在另一態樣中,本發明可進一步包含用於每個處理器的至少一個LFU偵測器,該至少一個LFU偵測器包含晶片上電容器及設置為一系列積分器及比較器之運算放大器,該等比較器實現布林邏輯以經由讀取與最不頻繁使用快取頁相關聯之LFU的IO位址,持續識別彼快取頁。
在另一態樣中,本發明可進一步包含與每個區域快取配對之啟動ROM,以在再啟動操作期間簡化CIM快取初始化。
在另一態樣中,本發明可進一步包含用於每個處理器之多工器,以選擇RAM列之感測放大器。
在另一態樣中,本發明可進一步包含使用低電壓差動訊號可存取至少一個晶片上內部匯流排之各處理器。
在另一態樣中,本發明包含一種連接單石記憶體晶片之RAM內的處理器的方法,該方法包含允許將該RAM之任何位元選擇至在複數個快取中維持的複製位元之必需步驟,該等步驟包含以下步驟:(a)將記憶體位元邏輯分組成四個位元一組;(b)將所有四個位元線從該RAM傳送至多工器輸入;(c)藉由接通由位址線之四個可能狀態控制之四個開關中之一者,將四個位元線中之一者選擇至多工器輸出;
(d)藉由使用由指令解碼邏輯提供之解多工器開關,將該複數個快取中之一者連接至多工器輸出。
在另一態樣中,本發明包含一種用於經由快取頁未中來管理CPU之VM的方法,該方法包含以下步驟:
(a)當該CPU處理至少一個專屬快取位址暫存器時,該CPU檢驗該暫存器之高階位元的內容;以及
(b)當該等位元之內容改變時,若在與該CPU相關聯之CAM TLB中未找到該暫存器之頁位址內容,則該CPU向VM管理器返回頁故障中斷,以使用對應於該暫存器之頁位址內容之VM之新頁來取代該快取頁之內容;否則
(c)該CPU使用該CAM TLB決定實位址。
在另一態樣中,本發明之用於管理VM之方法進一步包含以下步驟:
(d)若在與該CPU相關聯之CAM TLB中未找到該暫存器之頁位址內容,則決定該CAM TLB中的目前最不頻繁快取頁以接收VM之該新頁的內容。
在另一態樣中,本發明之用於管理VM之方法進一步包含以下步驟:
(e)記錄LFU偵測器中的頁存取;該決定之步驟進一步包含以下步驟:使用該LFU偵測器決定CAM TLB中的目前最不頻繁快取頁。
在另一態樣中,本發明包含一種並行化快取未中與其他CPU操作之方法,該方法包含以下步驟:
(a)若當存取第二快取時無快取未中發生,則處理至少第二快取之內容,直至解決第一快取之快取未中處理;以及
(b)處理第一快取之內容。
在另一態樣中,本發明包含一種降低單石晶片上之數位匯流排中的功率消耗之方法,該方法包含以下步驟:
(a)均衡化及預充電該等數位匯流排之至少一個匯流排驅動器上之一組差動位元;
(b)均衡化接收器;
(c)維持該等位元位於該至少一個匯流排驅動器上,達至少該等數位匯流排之最慢裝置傳播延遲時間;
(d)關閉該至少一個匯流排驅動器;
(e)開啟接收器;以及
(f)藉由接收器讀取該等位元。
在另一態樣中,本發明包含一種降低快取匯流排消耗之功率的方法,該方法包含以下步驟:
(a)均衡化差動訊號對且預充電該等訊號至Vcc;
(b)預充電及均衡化差動接收器;
(c)將發射器連接至至少一個交叉耦合反向器之至少一個差動訊號線且將該發射器放電達超過該交叉耦合反向器裝置傳播延遲時間之一時間段;
(d)將差動接收器連接至該至少一個差動訊號線;以及
(e)使得差動接收器允許該至少一個交叉耦合反向器達到完全Vcc擺動,同時由該至少一個差動線偏壓。
在另一態樣中,本發明包含一種使用啟動載入線性ROM啟動記憶體結構中的CPU之方法,該方法包含以下步驟:
(a)藉由該啟動載入ROM偵測電源有效狀態;
(b)在執行停止之情況下,將所有CPU保持於重置狀態;
(c)將該等啟動載入ROM內容轉移至第一CPU之至少一個快取;
(d)將專屬於該第一CPU之該至少一個快取的暫存器設置為二進制零;以及
(e)使得該第一CPU之系統時鐘從該至少一個快取開始執行。
在另一態樣中,本發明包含一種用於藉由CIM VM管理器,解碼區域記憶體、虛擬記憶體及晶片外外記憶體之方法,該方法包含以下步驟:
(a)當CPU處理至少一個專屬快取位址暫存器時,若該CPU決定該暫存器之至少一個高階位元改變;則
(b)當該至少一個高階位元之內容為非零時,該VM管理器使用外記憶體匯流排將由該暫存器定址之頁從該外記憶體轉移至該快取;否則
(c)該VM管理器將該頁從該區域記憶體轉移至該快取。
在另一態樣中,本發明之用於藉由CIM VM管理器,解碼區域記憶體之方法進一步包含以下步驟:
其中該暫存器之該至少一個高階位元僅在至任何位址暫存器之STORACC指令、預減量指令,及後增量指令之處理期間改變,該CPU決定之步驟進一步包含藉由指令類型之決定。
在另一態樣中,本發明包含一種用於藉由CIMM VM管理器,解碼區域記憶體、虛擬記憶體及晶片外外記憶體之方法,該方法包含以下步驟:(a)當CPU處理至少一個專屬快取位址暫存器時,若該CPU決定該暫存器之至少一個高階位元改變;則(b)當該至少一個高階位元之內容為非零時,該VM管理器使用外記憶體匯流排及處理器匯流排,將由該暫存器定址之頁從該外記憶體轉移至該快取;否則(c)若該CPU偵測到該暫存器與該快取不相關聯,該VM管理器使用該處理器間匯流排將該頁從遠端記憶體組轉移至該快取;否則(d)該VM管理器將該頁從該區域記憶體轉移至該快取。
在另一態樣中,本發明之用於藉由CIMM VM管理器,解碼區域記憶體之方法進一步包含以下步驟:其中該暫存器之該至少一個高階位元僅在至任何位址暫存器之STORACC指令、預減量指令,及後增量指令之處理期間改變,該CPU決定之步驟進一步包含藉由指令類型之決定。
第1圖描繪示例性舊有快取結構,且第3圖將舊有資料快取與舊有指令快取區分開。諸如在第2圖中所描述之先前技術CIMM,藉由置放CPU實體鄰近於矽晶粒上之主記憶體,實質減輕舊有電腦結構之記憶體匯流排及功率耗散問題。CPU至主記憶體之接近提供CIMM快取與諸如DRAM、SRAM,及快閃裝置中所發現之主記憶體位元線緊密相關聯之機會。快取與記憶體位元線之間的該交錯之優點包括:
1.用於在快取與記憶體之間路由之極短實體空間,進而降低存取時間及功率消耗;
2.顯著簡化快取結構及相關控制邏輯;以及
3.在單RAS週期期間,能夠載入整個快取。
CIMM快取加快直線碼
CIMM快取結構因此可加快裝配於該CIMM快取結構之快取內的迴路,但是不同於舊有指令快取系統,CIMM快取將藉由在單RAS週期期間平行快取載入,加快甚至單使用直線碼。一預期CIMM快取實施例包含在25個時鐘週期中充填512指令快取之能力。由於從快取提取每個指令需要單週期,故即使當執行直線碼時,有效快取讀取時間為:1週期+25週期/512=1.05週期。
CIMM快取之一實施例包含在記憶體晶粒上置放主記憶體及複數個快取彼此實體鄰近且由極寬的匯流排連接,因此使得:
1.至少一個快取與每個CPU位址暫存器配對;
2.藉由快取頁管理VM;以及
3.並行化快取「未中」恢復與其他CPU操作。
快取與位址暫存器配對
快取與位址暫存器配對並不新奇。第4圖圖示一先前技術實例,包含四個位址暫存器:X、Y、S(堆疊工作暫存器),及PC(與指令暫存器相同)。第4圖中各位址暫存器與512位元組快取相關聯。如在舊有快取結構中般,CIMM快取僅經由複數個專屬位址暫存器存取記憶體,其中每個位址暫存器與不同快取相關聯。藉由將記憶體存取關聯至位址暫存器,顯著簡化了快取管理、VM管理,及CPU記憶體存取邏輯。然而,不同於舊有快取結構,每個CIMM快取之位元與RAM之位元線對準,諸如動態RAM或DRAM,進而產生交錯式快取。每個快取之內容的位址為相關聯位址暫存器之最低有效的(亦即,在位置記法中之最右端)9個位元。快取位元線與記憶體之間的該交錯之一優點為決定快取「未中」之迅速及簡單。不同於舊有快取結構,僅當位址暫存器之最高有效位元改變時,CIMM快取才評估「未中」,且位址暫存器僅可以如下兩個方式中之一者改變:
1.位址暫存器之STOREACC。舉例而言:STOREACC,X,
2.從位址暫存器之9個最低有效位元進位/借位。舉例而言:STOREACC,(X+)。
對於大部分指令串流,CIMM快取達到超過99%之命中率。此意謂當執行「未中」評估時,少於1/100個指令經受延遲。
CIMM快取顯著簡化快取邏輯
CIMM快取可視為極長的單線快取。在單DRAM RAS週期中,可載入整個快取,因此與需要將快取載入在窄小的32或64位元匯流排上之舊有快取系統相比,快取「未中」損失顯著降低。如此短的快取線之「未中」率高得難以接受。使用長的單快取線,CIMM快取僅需單位址比較。舊有快取系統不使用長的單快取線,因為與使用該等舊有快取系統之快取結構所需的習知短的快取線之快取「未中」損失相比,此舉將快取「未中」損失增加許多倍。
對於窄小位元線間距之CIMM快取解決方案
一預期CIMM快取實施例解決了由CPU與快取之間的CIMM窄小位元線間距所呈現之諸多問題。第6H圖圖示CIMM快取實施例之4個位元及之前所述設計規則之3個級的互動。第6H圖之左側包括附接於記憶晶格之位元線。該等位元線使用核心規則實現。向右移動,之後部分包括指定為DMA快取、X快取、Y快取、S快取,及I快取之5個快取。該等快取使用陣列規則實現。圖式右側包括鎖存器、匯流排驅動器、位址解碼,及熔合器。此等各者使用周邊規則實現。CIMM快取解決先前技術快取結構之以下問題:
1.由再新改變之感測放大器內容。
第6H圖圖示DRAM感測放大器,該等DRAM感測放大器由DMA快取、X快取、Y快取、S快取,及I快取鏡像。以此方式,將快取與DRAM再新隔離開且增強了CPU效能。
2.快取位元之有限空間。
感測放大器實際上為鎖存裝置。在第6H圖中,圖示CIMM快取複製用於DMA快取、X快取、Y快取、S快取,及I快取之感測放大器邏輯及設計規則。結果,在記憶體之位元線間距中可裝配一個快取位元。將5個快取中之每一者的一個位元安放在與4個感測放大器相同之空間中。四個通路電晶體將4個感測放大器位元中之任一者選擇至共用匯流排。四個額外通路電晶體將匯流排位元選擇至5個快取中之任一者。以此方式,可將任何記憶體位元儲存至第6H圖所示之5個交錯式快取中之任一者。
使用多工/解多工將快取匹配至DRAM
諸如在第2圖中所描繪之先前技術CIMM將DRAM組位元匹配至相關聯CPU中的快取位元。該配置勝過使用不同晶片上的CPU及記憶體之其他舊有結構之優點為,速度顯著增加及功率消耗減少。然而,該配置之缺點為必須增加DRAM位元線之實體間隔以使CPU快取位元裝配。由於設計規則約束,快取位元比DRAM位元大得多。結果,與不使用本發明之CIM交錯式快取之DRAM相比,連接至CIM快取之DRAM的實體大小必須增加多達4倍。
第6H圖說明在CIMM中將CPU連接至DRAM之更簡潔方法。將DRAM中之任何位元選擇至複數個快取中之一個位元之必需步驟如下:
1.如位址線A[10:9]所表明,將記憶體位元邏輯分組成4個位元一組。
2.將所有4個位元線從DRAM發送至多工器輸入。
3.藉由接通由位址線A[10:9]之4個可能狀態控制之4個開關中之1者,將4個位元線中之1者選擇至多工器輸出。
4.藉由使用解多工器開關,將複數個快取中之一者連接至多工器輸出。該等開關在第6H圖中描繪為KX、KY、KS、KI,及KDMA。該等開關及控制訊號由指令解碼邏輯提供。
CIMM快取之交錯式快取實施例勝過先前技術之主要優點為,可將複數個快取連接至幾乎任何存在的商業型DRAM陣列,而不修改陣列且不增加DRAM陣列之實體大小。
3.有限的感測放大器驅動
第7A圖圖示雙向鎖存器及匯流排驅動器之實體更大且更有力實施例。該邏輯使用根據周邊規則製成之更大電晶體實現且覆蓋4個位元線之間距。該等更大電晶體具有驅動長資料匯流排之力量,該長資料匯流排沿記憶體陣列之邊緣而行。藉由連接至指令解碼之通路電晶體中之1者,將雙向鎖存器連接至4個快取位元中之1者。舉例而言,若指令指示欲讀取X快取,選擇X線賦能通路電晶體,該通路電晶體將X快取連接至雙向鎖存器。第7A圖圖示在許多記憶體中發現之解碼及修復熔合器區塊可如何仍與本發明連用。
管理多處理器快取及記憶體
第7B圖圖示CIMM快取之一預期實施例之記憶體映射,其中4個CIMM CPU整合至64Mbit DRAM中。64Mbit進一步劃分成四個2Mbyte組。置放各CIMM CPU實體鄰近於四個2Mbyte DRAM組中之每一者。資料在處理器間匯流排上通過CPU與記憶體組之間。處理器間匯流排控制器根據請求/允許邏輯仲裁,使得一個請求性CPU與一個回應性記憶體組同時在處理器間匯流排上通信。
第7C圖圖示當每個CIMM處理器查看相同的總體記憶體映射時之示例性記憶體邏輯。記憶體階層由以下組成:區域記憶體-2Mbyte,實體鄰近於各CIMM CPU;遠端記憶體-非區域記憶體之所有單石記憶體(在處理器間匯流排上存取);以及外記憶體-所有非單石記憶體(在外記憶體匯流排上存取)。
第7B圖中的每個CIMM處理器經由複數個快取及相關聯位址暫存器存取記憶體。將直接從位址暫存器或VM管理器所獲得的實體位址解碼以決定需要哪個類型之記憶體存取:區域、遠程或外記憶體。第7B圖中的CPU0將該CPU0之區域記憶體編址為0-2Mbyte。位址2-8Mbyte在處理器間匯流排上存取。大於8Mbyte之位址在外記憶體匯流排上存取。CPU1將該CPU1之區域記憶體編址為2-4Mbyte。位址0-2Mbyte及4-8Mbyte在處理器間匯流排上存取。大於8Mbyte之位址在外記憶體匯流排上存取。CPU2將該CPU2之區域記憶體編址為4-6Mbyte。位址0-4Mbyte及6-8Mbyte在處理器間匯流排上存取。大於8Mbyte之位址在外記憶體匯流排上存取。CPU3將該CPU3之區域記憶體編址為6-8Mbyte。位址0-6Mbyte在處理器間匯流排上存取。大於8Mbyte之位址在外記憶體匯流排上存取。
不同於舊有多核心快取,當位址暫存器邏輯偵測必要性時,CIMM快取透明地執行處理器間匯流排轉移。第7D圖圖示如何執行該解碼。在該實例中,當CPU1之X暫存器藉由STOREACC指令顯式地改變或藉由算前減量或算後增量指令隱式地改變時,發生以下步驟:
1.若在位元A[31-23]中無改變,不採取任何動作。否則,
2.若位元A[31-23]不為零,使用外記憶體匯流排及處理器間匯流排將512位元組從外記憶體轉移至X快取。
3.若位元A[31:23]為零,則將位元A[22:21]與如第7D圖所示之表明CPU1、01之數字相比較。若有匹配,則將512位元組從區域記憶體轉移至X快取。若無匹配,則使用處理器間匯流排,將512位元組從由A[22:21]所表明之遠程記憶體組轉移至X快取。
所述方法易於程式編寫,因為任何CPU可透明地存取區域、遠端或外記憶體。
藉由快取頁「未中」之VM管理
不同於舊有VM管理,僅當位址暫存器之最高有效位元改變時,CIMM快取才需要查尋虛擬位址。因此,與舊有方法相比,使用CIMM快取實現之VM管理將顯著地更加有效且簡化。第6A圖詳述了CIMM VM管理器之一實施例。32項目CAM充當TLB。在該實施例中,將20位元虛擬位址翻譯為CIMM DRAM列之11位元實體位址。
最不頻繁使用(LFU)偵測器之結構及操作
第8A圖描繪實現VM邏輯之VM控制器,該等VM控制器由一CIMM快取實施例之術語「VM控制器」識別,該CIMM快取實施例將位址之4K-64K頁從大的虛構的「虛擬位址空間」轉換為小得多的存在的「實體位址空間」。虛擬至實體位址轉換列表常常藉由轉換表之快取加快,該轉換表之快取常常實現為CAM(見第6B圖)。由於CAM大小固定,故VM管理器邏輯必須持續決定最不可能需要哪個虛擬位址至實體位址的轉換,以使該VM管理器邏輯可使用新的位址映射取代該等最不可能需要之虛擬位址至實體位址的轉換。極通常,最不可能需要位址映射與「最不頻繁使用」位址映射相同,該「最不頻繁使用」位址映射藉由本發明之第8A-8E圖所示之LFU偵測器實施例實現。
第8C圖之LFU偵測器實施例圖示若干欲計數之「活動事件脈衝」。對於LFU偵測器,將事件輸入連接至記憶體讀取訊號及記憶體寫入訊號之組合以存取特定虛擬記憶體頁。每次存取頁時,附接於第8C圖之特定積分器之相關聯「活動事件脈衝」稍增加積分器電壓。所有積分器不斷接收防止積分器飽和之「回歸脈衝」。
第8B圖之CAM中的各項目具有積分器及事件邏輯以計數虛擬頁讀取及寫入。具有最低蓄電壓之積分器為接收到最少事件脈衝且因此與最不頻繁使用虛擬記憶體頁相關聯之積分器。最不頻繁使用頁之編號LDB[4:0]可作為IO位址由CPU讀取。第8B圖圖示連接至CPU位址匯流排A[31:12]之VM管理器的操作。藉由CAM將虛擬位址轉換為實體位址A[22:12]。CAM中的項目由CPU編址為IO埠。若在CAM中未找到虛擬位址,則產生頁故障中斷。中斷常式將藉由讀取LFU偵測器之IO位址,決定容納最不頻繁使用頁LDB[4:0]之CAM位址。然後常式將通常從磁碟或快閃儲存器定位所要的虛擬記憶體頁,且將該虛擬記憶體頁讀取至實體記憶體中。CPU將把新頁之虛擬至實體之映射寫入至之前從LFU偵測器讀取之CAM IO位址,且然後將藉由長回歸脈衝,將與彼CAM位址相關聯之積分器放電至零。
第8B圖之TLB含有32個最可能基於最近記憶體存取而欲存取之記憶體頁。當VM邏輯決定除目前TLB中的32個頁之外的新頁可能欲存取時,必須標記TLB項目中之一者用於移除及由新頁取代。有兩個用於決定應移除哪個頁之常用策略:最近最少使用(LRU)及最不頻繁使用(LFU)。實現LRU更簡單且LRU通常比LFU快得多。LRU在舊有電腦中更常見。然而,LFU常為優於LRU之預測子。在第8B圖中,在32項目TLB之下方可見CIMM快取LFU方法學。該CIMM快取LFU方法學表明CIMM LFU偵測器之類比實施例的子集。子集圖解顯示四個積分器。具有32項目TLB之系統將含有32個積分器,每個積分器與每個TLB項目相關聯。在操作中,每個至TLB項目之記憶體存取事件將有助於至該TLB項目相關聯積分器之「向上」脈衝。在固定間隔,所有積分器接收「向下」脈衝以阻止積分器隨時間固定至該等積分器之最大值。所得系統由複數個積分器組成,該複數個積分器具有輸出電壓,該等輸出電壓對應於該複數個積分器之相應TLB項目的各自存取數量。將該等電壓通過計算複數個輸出的一組比較器,該等輸出如在第8C-8E圖中所見之Out1、Out2及Out3。第8D圖實現ROM中的或經由組合邏輯之真值表。在4個TLB項目之子集實例中,需要2個位元來表明LFU TLB項目。在32項目TLB中,需要5個位元。第8E圖圖示用於三個輸出及相應TLB項目之LFU輸出的子集真值表。
差動訊號
不同於先前技術系統,一CIMM快取實施例使用低電壓差動訊號(DS)資料匯流排以藉由利用該等低電壓差動訊號(DS)資料匯流排之低電壓擺動來降低功率消耗。如第10A-10B圖所示,電腦匯流排為至地面網路之分散式電阻器及電容器的電氣均等物。匯流排以該匯流排之分散式電容器的充電及放電方式消耗功率。功率消耗藉由以下方程式描述:頻率×電容×電壓之平方。隨著頻率增加,消耗更多功率,且同樣地,隨著電容增加,功率消耗也增加。然而,最重要的為與電壓之關係。功率消耗作為電壓之平方而增加。此意謂若匯流排上之電壓擺動減少10,則匯流排之功率消耗減少100。CIMM快取低電壓DS既達到差動模式之高效能,又使用低電壓訊號達到可實現的低功率消耗。第10C圖圖示如何完成該高效能及低功率消耗。操作由三個階段組成:
1.將差動匯流排預充電至已知位準且均衡化;
2.訊號產生器電路產生脈衝,該脈衝將差動匯流排充電至足夠高的電壓以藉由差動接收器可靠地讀取。由於訊號產生器電路與該訊號產生器電路控制之匯流排建造在相同基板上,故脈衝持續時間將追蹤建造該訊號產生器電路之基板的溫度及製程。若溫度增加,接收器電晶體將減慢,但訊號產生器電晶體亦將如此。因此,由於增加的溫度,脈衝長度將增加。當脈衝關閉時,匯流排電容器將相對於資料率長時段保持差動充電;以及
3.在脈衝關閉一段時間之後,時鐘將賦能交叉耦合差動接收器。為可靠地讀取資料,差動電壓僅需高於差動接收器電晶體之失配電壓。
並行化快取及其他CPU操作
一CIMM快取實施例包含5個獨立快取:X、Y、S、I(指令或PC),以及DMA。該等快取中之每一者獨立於其他快取操作且處於平行。舉例而言,可從DRAM載入X快取,但亦可使用其他快取。如第9圖所示,靈活的編譯器可藉由初始化來自DRAM之X快取的載入,同時繼續使用Y快取中的運算元,來利用該平行度。當消耗Y快取資料時,編譯器可開始來自DRAM之下一個Y快取資料項的載入且繼續在目前存在於新載入之X快取中的資料上操作。藉由以此方式利用重疊的多個獨立CIMM快取,編譯器可避免快取「未中」損失。
啟動載入器
另一預期CIMM快取實施例使用小的啟動載入器,來含有從諸如快閃記憶體或其他外儲存器之永久儲存器中載入程式之指令。一些先前技術設計使用晶片外ROM來容納啟動載入器。此需要添加資料及位址線,該等資料及位址線僅在起動時使用而在其餘時間為閒置的。其他先前技術在具有CPU之晶粒上置放傳統的ROM。在CPU晶粒上嵌入ROM之缺點為,ROM與晶片上CPU或DRAM之平面佈置圖極不相容。分別地,第11A圖圖示預期啟動ROM組態,且第11B圖描繪相關聯CIMM快取啟動載入器操作。置放匹配CIMM單線指令快取之間距及大小的ROM鄰近於指令快取(亦即,第11E圖中的I快取)。重置之後,將該ROM之內容轉移至單週期中的指令快取。因此執行以ROM內容開始。該方法使用存在的指令快取解碼及指令提取邏輯且因此需要比之前所嵌入的ROM少得多的空間。
如所揭示,本發明之前述實施例具有許多優點。雖然已參照某些較佳實施例非常詳細地描述了本發明之多種態樣,但是許多替代實施例亦為可能。因此,申請專利範圍之精神及範疇不應限於本文提供之較佳實施例之描述,也不應限於本文提供之替代實施例。由諸如LFU偵測器之申請者的新CIMM快取結構預期之許多態樣,例如,可藉由舊有OS及DBMS,在舊有快取中,或在非CIMM晶片上實現,因此能夠經由僅硬體之改良,改良OS記憶體管理、資料庫及應用程式傳輸量,及整體電腦執行效能,對於使用者之軟體調諧工作為透明的。
100...LFU偵測器
第1圖描繪示例性先前技術舊有快取結構。
第2圖圖示示例性先前技術具有兩個CIMM CPU的CIMM晶粒。
第3圖說明先前技術舊有資料及指令快取。
第4圖圖示先前技術快取與位址暫存器配對。
第5A-D圖說明基本CIM快取結構之實施例。
第5E-H圖說明改良CIM快取結構之實施例。
第6A-D圖說明基本CIMM快取結構之實施例。
第6E-H圖說明改良CIMM快取結構之實施例。
第7A圖圖示根據一實施例如何選擇多個快取。
第7B圖為整合至64Mbit DRAM中的4個CIMM CPU之記憶體映射。
第7C圖圖示示例性記憶體邏輯,該記憶體邏輯用於當請求性CPU及回應性記憶體組在處理器間匯流排上通信時,管理該請求性CPU及該回應性記憶體組。
第7D圖圖示根據一實施例如何執行解碼三個類型記憶體。
第8A圖圖示在CIMM快取之一實施例中,LFU偵測器(100)實體存在於何處。
第8B圖描繪由快取頁「未中」使用「LFU IO埠」進行之VM管理。
第8C圖描繪LFU偵測器(100)之實體構造。
第8D圖圖示示例性LFU決策邏輯。
第8E圖圖示示例性LFU真值表。
第9圖描述並行化快取頁「未中」與其他CPU操作。
第10A圖為圖示使用差動訊號之CIMM快取功率節約之電氣圖。
第10B圖為圖示藉由產生Vdiff,使用差動訊號之CIMM快取功率節約之電氣圖。
第10C圖描述一實施例之示例性CIMM快取低電壓差動訊號。
第11A圖描述一實施例之示例性CIMM快取啟動ROM組態。
第11B圖圖示一預期示例性CIMM快取啟動載入器操作。

Claims (17)

  1. 一種用於具有至少一個處理器之一電腦系統的快取結構,該快取結構包含一多工器及一解多工器,該多工器及該解多工器專屬於每個該處理器的至少兩個區域快取,該等區域快取個別包含專屬於一指令位址暫存器之一I快取及專屬於一源位址暫存器之一X快取;其中每個該處理器存取至少一個晶片上內部匯流排,該至少一個晶片上內部匯流排含有用於個別的該區域快取之一個RAM列;其中該等區域快取為可操作的以在一個RAS週期中充填或清除,且該RAM列之所有感測放大器可由該多工器選擇以及由該解多工器取消選擇至個別的該區域快取之一複製相應位元。
  2. 如請求項1所述之快取結構,該等區域快取進一步包含專屬於至少一個DMA通道之一DMA快取。
  3. 如請求項1或2所述之快取結構,該等區域快取進一步包含專屬於一堆疊工作暫存器之一S快取。
  4. 如請求項1或2所述之快取結構,該等區域快取進一步包含專屬於一目的位址暫存器之一Y快取。
  5. 如請求項1或2所述之快取結構,該等區域快取進一步包含專屬於一堆疊工作暫存器之一S快取及專屬於一目的位址暫存器之一Y快取。
  6. 如請求項1或2所述之快取結構,該快取結構進一步包含用於每個該處理器之至少一個LFU偵測器,該至少一個LFU偵測器包含晶片上電容器及設置為一系列積分器及比較器之運算放大器,該等比較器實現布林邏輯以經由讀取與一最不頻繁使用快取頁相關聯之LFU的IO位址,持續識別彼快取頁。
  7. 如請求項1或2所述之快取結構,該快取結構進一步包含一啟動ROM,該啟動ROM與每個該區域快取配對,以在一再啟動操作期間簡化CIM快取初始化。
  8. 如請求項1或2所述之快取結構,其中每個該處理器使用低電壓差動訊號存取該至少一個晶片上內部匯流排。
  9. 如請求項3所述之快取結構,其中每個該處理器使用低電壓差動訊號存取該至少一個晶片上內部匯流排。
  10. 如請求項4所述之快取結構,其中每個該處理器使用低電壓差動訊號存取該至少一個晶片上內部匯流排。
  11. 如請求項5所述之快取結構,其中每個該處理器使用低電壓差動訊號存取該至少一個晶片上內部匯流排。
  12. 如請求項6所述之快取結構,其中每個該處理器使用低電壓差動訊號存取該至少一個晶片上內部匯流排。
  13. 如請求項7所述之快取結構,其中每個該處理器使用低電壓差動訊號存取該至少一個晶片上內部匯流排。
  14. 一種連接一單石記憶體晶片之RAM內的一處理器之方法,該方法包含允許將該RAM之任何位元選擇至在複數個專屬快取中維持的一複製位元之必需步驟,該複數個專屬快取共用一專屬多工器及解多工器,該等步驟包含以下步驟:(a)將記憶體位元邏輯分組成四個位元一組;(b)將所有四個位元線從該RAM傳送至該多工器的輸入;(c)藉由接通由位址線之四個可能狀態控制之四個開關中之一者,將該四個位元線中之一者選擇至該多工器的輸出;(d)藉由使用由指令解碼邏輯提供之解多工器開關,將該複數個快取中之一者連接至該多工器的輸出。
  15. 一種使用一啟動載入線性ROM來啟動用於一電腦系統之記憶體快取結構中的CPU之方法,該電腦系統具有至少一CPU,該記憶體快取結構包含一多工器及解多工器,該多工器及該解多工器專屬於每個該處理器的至少兩個區域快取,該方法包含以下步驟:(a)藉由該啟動載入ROM偵測一電源有效狀態;(b)在執行停止之情況下,將所有CPU保持於重置狀態; (c)將該等啟動載入ROM內容轉移至該至少一CPU中之一第一CPU之至少一個快取;(d)將專屬於該第一CPU之該至少一個快取的一暫存器設置為二進制零;以及(e)使得該第一CPU之一系統時鐘從該至少一個快取開始執行。
  16. 如請求項15所述之方法,其中該至少一個快取為一指令快取。
  17. 如請求項16所述之方法,其中該暫存器為一指令暫存器。
TW100140536A 2010-12-12 2011-11-07 記憶體快取結構中的中央處理器 TWI557640B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/965,885 US20120151232A1 (en) 2010-12-12 2010-12-12 CPU in Memory Cache Architecture

Publications (2)

Publication Number Publication Date
TW201234263A TW201234263A (en) 2012-08-16
TWI557640B true TWI557640B (zh) 2016-11-11

Family

ID=46200646

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100140536A TWI557640B (zh) 2010-12-12 2011-11-07 記憶體快取結構中的中央處理器

Country Status (8)

Country Link
US (1) US20120151232A1 (zh)
EP (1) EP2649527A2 (zh)
KR (7) KR101532290B1 (zh)
CN (1) CN103221929A (zh)
AU (1) AU2011341507A1 (zh)
CA (1) CA2819362A1 (zh)
TW (1) TWI557640B (zh)
WO (1) WO2012082416A2 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984256B2 (en) 2006-02-03 2015-03-17 Russell Fish Thread optimized multiprocessor architecture
JP5668573B2 (ja) * 2011-03-30 2015-02-12 日本電気株式会社 マイクロプロセッサ、メモリアクセス方法
CN102439574B (zh) * 2011-04-18 2015-01-28 华为技术有限公司 系统缓存中数据替换方法及多核通信处理器
US9256502B2 (en) * 2012-06-19 2016-02-09 Oracle International Corporation Method and system for inter-processor communication
US8812489B2 (en) * 2012-10-08 2014-08-19 International Business Machines Corporation Swapping expected and candidate affinities in a query plan cache
US9431064B2 (en) * 2012-11-02 2016-08-30 Taiwan Semiconductor Manufacturing Company, Ltd. Memory circuit and cache circuit configuration
US9569360B2 (en) 2013-09-27 2017-02-14 Facebook, Inc. Partitioning shared caches
CN105280215B (zh) 2014-06-09 2018-01-23 华为技术有限公司 动态随机存取存储器dram的刷新方法、设备以及系统
KR102261591B1 (ko) * 2014-08-29 2021-06-04 삼성전자주식회사 반도체 장치, 반도체 시스템 및 시스템 온 칩
US11327779B2 (en) * 2015-03-25 2022-05-10 Vmware, Inc. Parallelized virtual machine configuration
US10387314B2 (en) * 2015-08-25 2019-08-20 Oracle International Corporation Reducing cache coherence directory bandwidth by aggregating victimization requests
KR101830136B1 (ko) 2016-04-20 2018-03-29 울산과학기술원 경량 아키텍쳐를 이용한 에일리어스 메모리 연산 방법
CN108139966B (zh) * 2016-05-03 2020-12-22 华为技术有限公司 管理转址旁路缓存的方法和多核处理器
JP2018049387A (ja) * 2016-09-20 2018-03-29 東芝メモリ株式会社 メモリシステム及びプロセッサシステム
WO2019028327A1 (en) * 2017-08-03 2019-02-07 Next Silicon, Ltd. RECONFIGURABLE CACHE ARCHITECTURE AND CACHED MEMORY COHERENCE METHODS
US11010092B2 (en) 2018-05-09 2021-05-18 Micron Technology, Inc. Prefetch signaling in memory system or sub-system
US10942854B2 (en) 2018-05-09 2021-03-09 Micron Technology, Inc. Prefetch management for memory
US10754578B2 (en) 2018-05-09 2020-08-25 Micron Technology, Inc. Memory buffer management and bypass
US10714159B2 (en) 2018-05-09 2020-07-14 Micron Technology, Inc. Indication in memory system or sub-system of latency associated with performing an access command
KR102691851B1 (ko) * 2018-08-29 2024-08-06 에스케이하이닉스 주식회사 불휘발성 메모리 장치, 이를 포함하는 데이터 저장 장치 및 그 동작 방법
TWI714003B (zh) * 2018-10-11 2020-12-21 力晶積成電子製造股份有限公司 可執行人工智慧運算的記憶體晶片及其操作方法
US11360704B2 (en) 2018-12-21 2022-06-14 Micron Technology, Inc. Multiplexed signal development in a memory device
US11169810B2 (en) 2018-12-28 2021-11-09 Samsung Electronics Co., Ltd. Micro-operation cache using predictive allocation
CN113467751B (zh) * 2021-07-16 2023-12-29 东南大学 一种基于磁性随机存储器的模拟域存内计算阵列结构
US12099439B2 (en) * 2021-08-02 2024-09-24 Nvidia Corporation Performing load and store operations of 2D arrays in a single cycle in a system on a chip

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI249673B (en) * 2004-01-16 2006-02-21 Ip First Llc Microprocessor and apparatus for performing speculative load operation from a stack memory cache
US20080027702A1 (en) * 2005-06-24 2008-01-31 Metaram, Inc. System and method for simulating a different number of memory circuits
US20080320277A1 (en) * 2006-02-03 2008-12-25 Russell H. Fish Thread Optimized Multiprocessor Architecture
TWI304930B (en) * 2002-09-27 2009-01-01 Advanced Micro Devices Inc Computer system with processor cache that stores remote cache presence information
US7830039B2 (en) * 2007-12-28 2010-11-09 Sandisk Corporation Systems and circuits with multirange and localized detection of valid power

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742544A (en) * 1994-04-11 1998-04-21 Mosaid Technologies Incorporated Wide databus architecture
JP3489967B2 (ja) * 1997-06-06 2004-01-26 松下電器産業株式会社 半導体記憶装置及びキャッシュメモリ装置
KR19990025009U (ko) * 1997-12-16 1999-07-05 윤종용 복합 캐쉬 메모리 구조를 갖는 컴퓨터
EP0999500A1 (en) * 1998-11-06 2000-05-10 Lucent Technologies Inc. Application-reconfigurable split cache memory
US20100146256A1 (en) * 2000-01-06 2010-06-10 Super Talent Electronics Inc. Mixed-Mode ROM/RAM Booting Using an Integrated Flash Controller with NAND-Flash, RAM, and SD Interfaces
US6400631B1 (en) * 2000-09-15 2002-06-04 Intel Corporation Circuit, system and method for executing a refresh in an active memory bank
US7133971B2 (en) * 2003-11-21 2006-11-07 International Business Machines Corporation Cache with selective least frequently used or most frequently used cache line replacement
US7043599B1 (en) * 2002-06-20 2006-05-09 Rambus Inc. Dynamic memory supporting simultaneous refresh and data-access transactions
US7769950B2 (en) * 2004-03-24 2010-08-03 Qualcomm Incorporated Cached memory system and cache controller for embedded digital signal processor
US7500056B2 (en) * 2004-07-21 2009-03-03 Hewlett-Packard Development Company, L.P. System and method to facilitate reset in a computer system
US20060090105A1 (en) * 2004-10-27 2006-04-27 Woods Paul R Built-in self test for read-only memory including a diagnostic mode
KR100617875B1 (ko) * 2004-10-28 2006-09-13 장성태 다중 캐쉬 구조의 다중 프로세서 시스템 및 그 원격캐쉬의 교체 방법
WO2006120664A2 (en) * 2005-05-13 2006-11-16 Provost Fellows And Scholars Of The College Of The Holy And Undivided Trinity Of Queen Elizabeth Near Dublin A data processing system and method
JP4472617B2 (ja) * 2005-10-28 2010-06-02 富士通株式会社 Raidシステム、raidコントローラ及びそのリビルド/コピーバック処理方法
US8035650B2 (en) * 2006-07-25 2011-10-11 Qualcomm Incorporated Tiled cache for multiple software programs
US20090327535A1 (en) * 2008-06-30 2009-12-31 Liu Tz-Yi Adjustable read latency for memory device in page-mode access
US8627009B2 (en) * 2008-09-16 2014-01-07 Mosaid Technologies Incorporated Cache filtering method and apparatus
US20120096226A1 (en) * 2010-10-18 2012-04-19 Thompson Stephen P Two level replacement scheme optimizes for performance, power, and area

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI304930B (en) * 2002-09-27 2009-01-01 Advanced Micro Devices Inc Computer system with processor cache that stores remote cache presence information
TWI249673B (en) * 2004-01-16 2006-02-21 Ip First Llc Microprocessor and apparatus for performing speculative load operation from a stack memory cache
US20080027702A1 (en) * 2005-06-24 2008-01-31 Metaram, Inc. System and method for simulating a different number of memory circuits
US20080320277A1 (en) * 2006-02-03 2008-12-25 Russell H. Fish Thread Optimized Multiprocessor Architecture
US7830039B2 (en) * 2007-12-28 2010-11-09 Sandisk Corporation Systems and circuits with multirange and localized detection of valid power

Also Published As

Publication number Publication date
AU2011341507A1 (en) 2013-08-01
KR20130109248A (ko) 2013-10-07
KR20130103635A (ko) 2013-09-23
EP2649527A2 (en) 2013-10-16
KR20130109247A (ko) 2013-10-07
KR101475171B1 (ko) 2014-12-22
CN103221929A (zh) 2013-07-24
KR101532289B1 (ko) 2015-06-29
KR20130087620A (ko) 2013-08-06
TW201234263A (en) 2012-08-16
CA2819362A1 (en) 2012-06-21
US20120151232A1 (en) 2012-06-14
KR101533564B1 (ko) 2015-07-03
KR20130103636A (ko) 2013-09-23
KR101532287B1 (ko) 2015-06-29
KR101532290B1 (ko) 2015-06-29
KR20130103638A (ko) 2013-09-23
KR20130103637A (ko) 2013-09-23
WO2012082416A3 (en) 2012-11-15
KR101532288B1 (ko) 2015-06-29
WO2012082416A2 (en) 2012-06-21

Similar Documents

Publication Publication Date Title
TWI557640B (zh) 記憶體快取結構中的中央處理器
Stuecheli et al. The virtual write queue: Coordinating DRAM and last-level cache policies
US6668308B2 (en) Scalable architecture based on single-chip multiprocessing
Drepper What every programmer should know about memory
US7793038B2 (en) System and method for programmable bank selection for banked memory subsystems
US11797474B2 (en) High performance processor
CN101493796B (zh) 存储器内、页面内目录高速缓存一致性配置
US9507534B2 (en) Home agent multi-level NVM memory architecture
US20050216672A1 (en) Method and apparatus for directory-based coherence with distributed directory management utilizing prefetch caches
JP2004199677A (ja) キャッシュを動作させるためのシステム及び方法
CN110659220A (zh) 基于非统一存储器访问(numa)特性的增强数据预取的装置、方法和系统
US11237960B2 (en) Method and apparatus for asynchronous memory write-back in a data processing system
US20050216675A1 (en) Method and apparatus for directory-based coherence with distributed directory management
Olgun et al. Sectored DRAM: An energy-efficient high-throughput and practical fine-grained DRAM architecture
Prasad et al. Monarch: a durable polymorphic memory for data intensive applications
Priya et al. A survey on performance of on-chip cache for multi-core architectures
Alwadi High Performance and Secure Execution Environments for Emerging Architectures
Luo et al. A VLSI design for an efficient multiprocessor cache memory
Xie et al. Coarse-granularity 3D Processor Design
Rate EECS 252 Graduate Computer Architecture

Legal Events

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