TWI529534B - 用於在內部及外部處理器之間通信之系統及方法 - Google Patents
用於在內部及外部處理器之間通信之系統及方法 Download PDFInfo
- Publication number
- TWI529534B TWI529534B TW099118251A TW99118251A TWI529534B TW I529534 B TWI529534 B TW I529534B TW 099118251 A TW099118251 A TW 099118251A TW 99118251 A TW99118251 A TW 99118251A TW I529534 B TWI529534 B TW I529534B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- processor
- alu
- interface
- external
- 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/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
-
- 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/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- 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
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Multi Processors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明之實施例一般而言係關於記憶體系統,且更特定而言係關於具有內部及外部處理器之記憶體系統。
此章節旨在向讀者介紹可能與本發明之各種態樣有關的技術之各種態樣,下文闡述及/或主張該等態樣。據信此論述將有助於向讀者提供背景資訊以促進對本發明之各種態樣之一更好理解。因此,應理解,應就此閱讀此等陳述,而非作為對先前技術之認可。
電子系統通常包含一個或多個處理器,該一個或多個處理器可擷取並執行指令,且輸出所執行指令之結果(例如)以將該等結果儲存至一適合的位置。一處理器一般包含算術邏輯單元(ALU)電路,該算術邏輯單元(ALU)電路能夠對一個或多個運算元執行指令,例如算術及邏輯運算。舉例而言,ALU電路可使運算元彼此相加、相減、相乘或相除,或者可使一個或多個運算元經歷邏輯運算,例如AND、OR、XOR及NOT邏輯函數。各種算術及邏輯運算可具有不同的複雜程度。舉例而言,可藉由在一個循環中透過ALU電路輸入運算元來執行某些運算,而其他運算可利用多個時鐘循環。
在將一指令集指引至ALU以供執行中可涉及電子系統中之多個元件。舉例而言,該等指令及任何對應資料(例如,將對其執行運算之運算元)可由電子系統中之一控制器或某一其他適合的處理器產生。由於執行一指令集所需之時鐘循環的時間或數目可端視運算類型而變化,因此控制器可將該等指令及資料寫入至記憶體(例如,一記憶體陣列),且ALU可擷取該資訊(例如,該等指令及/或對應資料)以執行該等指令。一旦該ALU已執行了一指令,便可將該所執行指令之結果儲存回於該記憶體陣列中。
在某些記憶體系統中,記憶體陣列可位於ALU外部。因此,可採用一外部匯流排來將來自一記憶體陣列之指令及資料輸入至一ALU,並將已完成的結果輸出回至該記憶體陣列或另一適合的輸出。此等外部輸入/輸出可增加系統中之功率消耗。在其他記憶體系統中,一處理器可組態於與一記憶體組件相同之封裝中或嵌入於與一記憶體組件相同之矽晶片上,且可稱為一記憶體中處理器(PIM)。舉例而言,一個或多個ALU可嵌入於與一記憶體陣列相同之晶片上或與該記憶體陣列一起嵌入於同一封裝中,此可消除對一外部匯流排在記憶體陣列與該ALU之間傳送資訊之需要,從而保存電子裝置中之功率。然而,在一PIM系統中,多於一個處理器可能需要對該記憶體陣列之存取。舉例而言,一外部處理器可將指令寫入至記憶體陣列,且一內部處理器(例如,ALU)可自該記憶體陣列讀取指令;此外,該ALU可將該等指令之結果寫入至該記憶體陣列,且該外部處理器可自該記憶體陣列讀取該等結果或控制該等結果自該記憶體陣列之輸出。由於多於一個處理器可能需要對該記憶體陣列之存取,因此可能發生衝突。
參考該等圖式在以下實施方式中闡述某些實施例。
算術邏輯單元(ALU)電路一般而言用於在多個階段中處理指令。處理指令可包含執行指令並儲存所執行指令之結果。更具體而言,指令及將對其執行該等指令之資料可由一控制器發送至ALU,且可首先儲存於將在ALU電路可用於執行該等指令時擷取之一記憶體裝置中。一旦已執行了該等指令,ALU便將運算之結果寫入至一記憶體組件或寫入至任一其他適合的輸出。
在當前技術之一個或多個實施例中,一個或多個處理器(例如一個或多個ALU)可與一記憶體裝置封裝在一起或嵌入於一記憶體裝置上。此等處理器在下文中稱為「內部處理器」。舉例而言,該記憶體裝置可係一記憶體中處理器(PIM),且可包含若干個嵌入式ALU及一記憶體陣列,該記憶體陣列可儲存將由該等ALU處理之指令及資料以及來自已完成指令之結果。在其他實施例中,該等ALU及該記憶體陣列可位於同一封裝中之唯一晶粒上。舉例而言,該等ALU及該記憶體陣列可以一多晶片封裝(MCP)配置,且可藉由一直通矽通孔(TSV)電連接。
該記憶體裝置可包含額外元件(諸如一定序器)來組織將由該ALU執行之指令,且包含一緩衝器以在執行該等指令之前保存該等指令及/或資料,及/或保存結果之結果。如所論述,在資料或指令自一記憶體暫存器至一ALU之輸入及該等結果自該ALU至該記憶體暫存器之輸出期間可消耗功率。當該ALU在該記憶體暫存器外部時,可能需要一外部輸入/輸出(I/O)。然而,一外部I/O可消耗來自該記憶體系統之一顯著量的功率。舉例而言,一外部I/O之高功率消耗可係一電池運行行動電子裝置或靠一電源運作之任一電子裝置中之缺點。
當前技術之一個實施例涉及具有一記憶體組件及一內部處理器(諸如具有一個或多個ALU之一計算引擎)之一記憶體裝置。該記憶體裝置可係具有一計算引擎之一PIM,或該計算引擎可與該記憶體組件一起封裝於一MCP中。舉例而言,在PIM實施例中,計算引擎係嵌入於記憶體裝置上,且可不需要外部匯流排來在計算引擎與記憶體陣列之間傳輸資訊。更具體而言,指令及/或資料可在不在該記憶體裝置外側路由之情形下自該記憶體陣列傳輸至該計算引擎。類似地,已完成運算之結果亦可在該記憶體裝置內自該計算引擎傳輸至該記憶體陣列。包含於同一記憶體裝置中之一計算引擎及一記憶體陣列可消除對該兩個元件之間的一外部I/O之需要,且可減少該電子系統之功率消耗。
在一傳統電子系統中,一外部處理器(諸如該記憶體裝置外部之一積體或離散記憶體控制器)可係存取該記憶體裝置上之陣列之唯一裝置。當該電子系統中之其他處理器需要來自該記憶體裝置之資訊時,可將請求發送至該記憶體控制器。由於該記憶體控制器係存取該記憶體陣列之唯一組件,因此可不因同時存取而引起衝突。在其中處理器(諸如ALU)連接至一記憶體裝置中之記憶體組件之一電子系統中,該等ALU可在內部存取該記憶體裝置上之陣列。舉例而言,該等ALU可存取該記憶體陣列以擷取執行其指令所必需之資訊。然而,當兩個不同裝置(諸如,外部記憶體控制器及內部ALU)同時存取該記憶體時可發生衝突。
當前技術中之一種或多種技術揭示藉由在外部處理器(此處為一記憶體控制器)與內部處理器(此處為ALU)之間達成通信來仲裁對該記憶體陣列之存取之系統及方法。在某些實施例中,記憶體控制器與ALU可由一控制介面電連接。該控制介面可使得該ALU能夠將請求信號發送至該記憶體控制器以請求對該記憶體陣列之存取。同樣地,該記憶體控制器可透過該控制介面將准予信號發送至該ALU以准予對該記憶體陣列之存取。在某些實施例中,該ALU可發送指定該記憶體陣列中之一特定記憶庫之一請求信號,且該記憶體控制器可基於該陣列中之記憶庫之可用性來准予對一特定記憶庫之存取。當前技術之不同實施例亦包含基於來自該ALU或該電子系統中亦需要對該記憶體陣列之存取之其他裝置之傳入准予請求序列來准予對該記憶體陣列之存取。此外,該等准予信號可透過一標準記憶體介面發送,此可減少控制介面上之插針複雜性或數目。在實施例中,ALU與記憶體控制器之間關於對一記憶體陣列之存取之直接通信可減少因對該記憶體陣列之同時存取所引起的衝突。
可在本發明之通篇中使用上文所使用之數個術語,且提供此等術語之定義以促進對當前技術之一更好理解。舉例而言,一「記憶體裝置」可包含記憶體,例如嵌入於積體電路晶片或積體電路板上之動態隨機存取記憶體(DRAM)或同步動態隨機存取記憶體(SDRAM)。舉例而言,一個或多個處理器(例如ALU或適於在一電子系統中實施指令之電路)亦可與該記憶體裝置包含在一起。舉例而言,該等處理器(例如,ALU)可嵌入於該記憶體裝置上或與該記憶體裝置封裝在一起。嵌入於該記憶體裝置上或封裝於該記憶體裝置中之處理器亦可稱為一「內部處理器」。一「外部處理器」可係指在包含一記憶體裝置之一封裝外部(例如,不嵌入於該記憶體裝置上或與該記憶體裝置封裝在一起)之一離散記憶體控制器或具有一積體記憶體控制器之一處理器。該記憶體控制器可發送「指令」,該等指令係指將由ALU實施或執行之任務。舉例而言,指令可包含算術或邏輯運算或者一ALU或其他處理器可適於執行之任一其他任務。在已執行指令之前,指令有時可能需要多於一個「循環」或多於一次通過一個或多個ALU。「運算元」可係指對其實施運算之資料,且端視指令,一個或多個運算元可同時輸入至ALU電路中。另外,在某些運算中,一運算元可在一個循環中透過一ALU輸入,且由該ALU執行並回至該ALU作為用於額外後續循環之一運算元。
如本文中所使用,一「介面」可係指記憶體裝置與記憶體控制器之間的一電連接。在某些實施例中,一種類型之介面可將ALU(嵌入於記憶體裝置上或以其他方式與記憶體裝置封裝在一起)直接連接至記憶體控制器。「請求信號」及/或「准予信號」可透過不同類型之介面在記憶體裝置與記憶體控制器之間傳輸。請求信號可由ALU發送至記憶體控制器以請求對記憶體陣列(諸如對記憶體陣列中之一特定區塊)之存取。准予信號可由記憶體控制器發送至ALU以允許ALU對記憶體陣列(諸如對記憶體陣列中之一特定區塊)之存取。
現轉向圖,圖1繪示一般由參考編號10表示之一基於處理器之系統。如下文所闡釋,系統10可包含根據當前技術之實施例製造之各種電子裝置。系統10可係諸如一電腦、呼叫器、蜂巢式電話、個人記事簿、控制電路等各種類型中之任一者。在一典型的基於處理器之系統中,諸如一微處理器之一個或多個處理器12控制對系統10中之系統功能及請求之處理。如下文所闡釋,系統10之處理器12及其他子組件可包含根據當前技術之一個或多個實施例製造之電阻式記憶體裝置。
系統10通常包含一電源14。舉例而言,若系統10係一可攜式系統,則電源14可有利地包含一燃料電池、一電力提取裝置、永久電池、可替換電池及/或可再充電電池。電源14亦可包含一AC配接器,因此系統10可插入至(例如)一壁式插座中。電源14亦可包含一DC配接器,以使得系統10可插入至(例如)一車載點煙器中。
端視系統10實施之功能,可將各種其他裝置耦合至處理器12。舉例而言,一輸入裝置16可耦合至處理器12。輸入裝置16可包含(例如)按鈕、開關、一鍵盤、一光筆、一滑鼠、一數位化器及觸針及/或一語音識別系統。一顯示器18亦可耦合至處理器12。輸入裝置16及/或顯示器18可每一者或兩者形成一使用者介面。顯示器18可(例如)包含一LCD、一SED顯示器、一CRT顯示器、一DLP顯示器、一電漿顯示器、一OLED顯示器、LED及/或一音訊顯示器。此外,一RF子系統/基頻處理器20亦可耦合至處理器12。RF子系統/基頻處理器20可包含耦合至一RF接收器並耦合至一RF發射器之一天線(未顯示)。一個或多個通信埠22亦可耦合至處理器12。通信埠22可經調適以耦合至諸如一數據機、一列印機、一電腦等一個或多個周邊裝置24,或耦合至(例如)諸如一區域網路、遠端區域網路、內部網路或網際網路等一網路。
處理器12一般藉由處理儲存於記憶體中之軟體程式來控制系統10。舉例而言,該等軟體程式可包含一作業系統、資料庫軟體、繪圖軟體、字處理軟體及/或視訊、圖片或聲音編輯軟體。該記憶體係以可操作方式耦合至處理器12以儲存並促進各種程式之執行。舉例而言,處理器12可耦合至系統記憶體26,該系統記憶體可包含動態隨機存取記憶體(DRAM)及/或同步動態隨機存取記憶體(SDRAM)。在一個實施例中,處理器12可包含一積體記憶體控制器或係一離散記憶體控制器,如先前所論述,其可能能夠與系統記憶體26中之一記憶體裝置通信。亦如所論述,系統記憶體26中之一記憶體裝置可包含記憶體陣列(例如,一DRAM陣列或一SDRAM陣列),且可與一內部處理器(諸如一嵌入式ALU或若干個嵌入式ALU)封裝在一起。此外,系統記憶體26可包含揮發性記憶體、非揮發性記憶體或其一組合,且通常較大,以便其可動態地儲存所載入之指令及資料。
處理器12亦可耦合至非揮發性記憶體28,此並不暗示系統記憶體26必需為揮發性的。非揮發性記憶體28可包含諸如一EPROM、電阻式唯讀記憶體(RROM)等唯讀記憶體(ROM)及/或將與系統記憶體26結合使用之快閃記憶體。ROM之大小通常經選擇以恰好足夠大來儲存任何必需的作業系統、應用程式及固定資料。另外,非揮發性記憶體28可包含一高容量記憶體,諸如一磁帶或磁碟驅動記憶體,諸如包含(例如)電阻式記憶體或其他類型之非揮發性固態記憶體之一混合式硬碟。
當前技術之一個或多個實施例涉及處理器12與系統記憶體26之組件之間的通信。更具體而言,處理器12可包含一通用處理器、一中央處理單元、一處理器核心、一ASIC、一記憶體控制器及/或一ALU,其(例如)能夠自與系統記憶體26中之記憶體裝置封裝在一起(例如嵌入於系統記憶體26中之記憶體裝置上)之內部處理器發送及接收信號。如在圖2之方塊圖中所圖解說明,一記憶體系統100可包含一記憶體控制器102,該記憶體控制器(例如)可與一附加通用處理器一起位於一晶片上系統(SOC)中以共同形成一處理器控制式系統10之一處理器12(如圖1中)。記憶體控制器102可控制一記憶體裝置104之某些元件,其可係系統10之系統記憶體26之一部分。
記憶體裝置104可包含一記憶體陣列106且包含諸如算術邏輯單元(ALU)108之一個或多個內部處理器或以其他方式與一個或多個內部處理器封裝在一起。記憶體陣列106可係指任一適合形式的儲存器,且可包含(例如)一DRAM陣列或一SDRAM陣列。對記憶體陣列106之存取可大致由記憶體控制器102來控制。如稍後將論述,在某些實施例中,對記憶體陣列106之存取亦可大致由ALU 108來控制。ALU 108可係指一個或多個ALU,其可能能夠執行自另一處理器(例如,記憶體控制器102)發送之指令,包含(例如)諸如加法、減法、乘法及除法等算術運算以及諸如AND、OR、XOR及NOT函數等邏輯函數。ALU 108可嵌入於記憶體裝置104上或以其他方式與記憶體裝置104封裝在一起,且能夠存取記憶體陣列106。此外,記憶體裝置104可包含一定序器105及一緩衝器107。定序器105可組織自記憶體控制器102發送之指令,且緩衝器107可在將運算元及/或運算之結果傳送至記憶體陣列106之前將其儲存。定序器105亦可經組態以與記憶體控制器102通信。
記憶體控制器102與記憶體裝置104可由一標準記憶體介面110電連接,此在記憶體控制器102與記憶體裝置104之組件之間達成資料傳送。舉例而言,記憶體控制器102可經由標準記憶體介面110將資料或指令寫入至記憶體裝置104中之記憶體陣列106。此外,在當前技術之某些實施例中,記憶體控制器102可經由標準記憶體介面110將信號及/或命令直接發送至定序器105或ALU 108以准予ALU 108及/或定序器105對記憶體陣列106之存取。在一個或多個實施例中,標準記憶體介面110之類型可包含(例如)DDR、DDR2、DDR3、LPDDR或LPDDR2。
雖然一標準記憶體介面110可經組態以在記憶體控制器102與記憶體裝置104之間傳送信號,但根據當前技術中之一種或多種技術,額外介面可經組態以亦將命令(例如,請求、准予、指令)自記憶體裝置104傳送至記憶體控制器102。在某些實施例中,記憶體控制器102與記憶體裝置104亦可由一控制介面112電連接,此可允許ALU 108及/或定序器105將命令發送至記憶體控制器102。如將論述,經由控制介面112發送至記憶體控制器102之命令可請求對記憶體陣列106之存取。在一個或多個實施例中,記憶體控制器102亦可經由控制介面112將信號發送至ALU 108及/或定序器105以准予ALU 108對記憶體陣列106之存取。
如所論述,一電子系統可包含可能與需要對該系統中之記憶體陣列之存取之多個裝置相關聯的多個處理器。為防止因對記憶體陣列之同時存取而引起之衝突,典型系統一般藉由使所有對存取之請求集中穿過一個處理器來仲裁對一記憶體陣列之存取。在當前技術之一個或多個實施例中,一個或多個ALU 108可在具有一記憶體陣列106之一記憶體裝置104內部。具有內部ALU 108之記憶體裝置104可藉由消除對ALU 108與記憶體陣列106之間的外部I/O之需要來減少功率消耗。然而,一內部ALU 108對記憶體陣列106之直接存取可導致資料衝突。
雖然傳統系統在一個或多個外部裝置之中仲裁記憶體陣列存取,但當前技術之實施例可包含在外部處理器(例如,記憶體控制器102)與內部處理器(例如,ALU 108)之間仲裁記憶體陣列存取。對外部與內部處理器之間的記憶體陣列存取之仲裁可藉由透過控制介面112及/或標準記憶體介面110在ALU 108與記憶體控制器102之間達成通信來實施。此等技術之不同實施例可透過圖3至6中所圖解說明之圖示來闡釋且可參照回圖2之記憶體系統100。
圖3之圖示根據當前技術之一個實施例表示自ALU 108發送至記憶體控制器102之請求信號114及118與自記憶體控制器102發送至ALU 108之准予信號116及120之間的時序及方法。對記憶體陣列106之存取可由外部處理器(諸如記憶體控制器102)甚至與一內部處理器(例如封裝於記憶體裝置104中或嵌入於記憶體裝置104上之ALU 108)一起來仲裁。當ALU 108請求對記憶體陣列106之存取時,ALU 108可經由一控制介面112將一信號發送至外部記憶體控制器102。該信號可指示ALU 108正請求對記憶體陣列106之存取,且亦可指示記憶體陣列106中ALU 108請求對其之存取之一特定記憶庫。一典型記憶體陣列106可包含多個記憶庫。舉例而言,某些實施例可包含4至16個記憶庫。
在圖3之圖示中,請求線114之第一上升邊緣(或第一「觸發」)122指示ALU 108正請求對記憶體陣列106之存取。如本文中所使用,一「觸發」係指自高至低或低至高之一信號狀態轉變。請求記憶庫118中之對應編號指示ALU 108正請求對其之存取之特定記憶庫。舉例而言,在第一觸發122處,記憶體陣列106中之記憶庫1係目標記憶庫。在此圖示中,觸發請求線114可指示ALU 108正請求對記憶體陣列106中之另一記憶庫之存取。舉例而言,在請求線114之下一觸發126處,請求記憶庫118可指示係以記憶庫6為目標。
記憶體控制器102亦可藉由准予對記憶體陣列106中之一特定記憶庫之存取來經由控制介面112與記憶體裝置104上之ALU 108通信。由於記憶體控制器102控制對記憶體陣列106之存取,因此記憶體控制器102可知曉陣列106中記憶庫之可用性,且可基於其可用性來准予對特定記憶庫之存取。舉例而言,如該圖示之准予線116中所圖解說明,准予線116之第一觸發128指示記憶體控制器102正准予ALU對記憶體陣列之存取。准予記憶庫120指示記憶體陣列106中記憶體控制器102正准予對其之存取之特定記憶庫。准予線116中之每一觸發可指示記憶體控制器102正基於來自ALU 108之特定請求來准予對記憶體陣列106中之一不同記憶庫之存取。舉例而言,在請求線116之下一觸發130處,記憶體控制器102可正准予對記憶體陣列之記憶庫1之存取。
准予不可能總是立即遵循存取記憶體陣列106中之特定記憶庫之請求。舉例而言,雖然所請求之第一記憶庫係記憶庫1,且所請求之第二記憶庫係記憶庫6,但在對記憶庫1之存取之前准予對記憶庫6之存取。來自記憶體控制器102之准予之次序可係基於記憶體陣列106中記憶庫之可用性,而非基於所接收之請求之次序。為何對一特定記憶庫之一准予不可能立即遵循對該記憶庫之一請求之一個原因可係因為所請求記憶庫不可用。舉例而言,記憶體裝置104外部之其他裝置亦可自記憶體控制器102請求對記憶體陣列106之存取。然而,記憶體控制器102可繼續自ALU 108接收請求信號,且可准予對一可用記憶庫之存取,而非等待所請求記憶庫變得可用。因此,發送指示一目標記憶庫或所允許記憶庫之請求及准予信號之一個實施例可允許記憶體控制器102無序地准予記憶庫,從而增加排程記憶庫存取中之靈活性及效率。
當前技術之仲裁對一記憶體裝置104中之一記憶體陣列106之存取之另一實施例可透過圖4之時序圖來闡釋。在一個實施例中,ALU 108可經由控制介面112將一信號發送至記憶體控制器102,從而請求對記憶體陣列106中之一特定記憶庫之存取。記憶體控制器102可基於請求記憶庫之次序來將請求准予至該記憶庫。舉例而言,在請求線114之第一觸發132處,ALU 108正請求記憶庫1,如請求記憶庫118所指示。記憶體控制器102可透過控制介面112將一准予信號116發送至ALU以准予對記憶體陣列102中之一記憶庫之存取。
某些實施例可不包含一准予記憶庫,或可不以其他方式向ALU 108明確指示記憶體控制器102正准予對哪一記憶庫之存取。由於未指示一記憶庫,因此可基於所請求記憶庫之次序來給予准予。因此,准予信號116之觸發138可遵循第一請求132以准予對記憶庫1之存取。在下一觸發134處,ALU 108正請求記憶庫3,且准予信號116中之觸發140可指示記憶體控制器102正准予對記憶庫3之存取。此外,在請求線之第三觸發136處,請求記憶庫118中之對應記憶庫為記憶庫1。由於已經請求並准予了記憶庫1,因此用於記憶庫1之第三觸發136可指示ALU 108已完成了對記憶庫1之存取。因此,准予線116可不觸發,此乃因未正進行請求。
端視請求及准予過程之複雜性,某些實施例可比其他實施例更靈活。舉例而言,圖3中所繪示之實施例可具有比圖4中所繪示之實施例更大的靈活性,此乃因准予記憶庫120可使得記憶體控制器102能夠無序地自所請求記憶庫准予記憶庫存取。然而,不具有一准予記憶庫之一實施例(如圖4中)可較簡單實施,且可能在記憶體系統100中需要更少的插針。
可在圖5之圖示中闡釋一種藉由經由一控制介面112發送一信號以請求對記憶體陣列106中之一特定記憶庫之存取來仲裁對一記憶體陣列106之存取之方法。雖然ALU 108可透過控制介面112通信以請求記憶庫存取,但記憶體控制器102可透過一標準記憶體介面110通信以准予對記憶體陣列106之存取。來自ALU 108之一請求可由請求線114之用於對記憶庫1之存取之第一觸發142表示,如請求記憶庫118所指示,且用於對記憶庫3之存取之請求可由請求線114之第二觸發144表示。第三觸發146可表示對記憶庫1之一釋放。由於先前請求了記憶庫1,因此請求線114第二次在記憶庫1上觸發可指示ALU 108已完成了存取記憶體陣列106中之記憶庫1。藉由將除一簡化控制介面112之外的標準記憶體介面110用於ALU 108與記憶體控制器102之間的通信,一個實施例可保存控制介面112上之位元。
可在圖6之圖示中繪示亦可保存記憶體系統100中之空間之仲裁對一記憶體陣列106之存取之另一實施例。一ALU 108可透過一控制介面將一信號發送至一記憶體控制器102以請求對一記憶體陣列106之存取。該信號可指示ALU 108正請求對整個陣列106之存取(與對該陣列中之一特定記憶庫之存取相反)(參見圖3至5)。如在圖6之圖示中所見,自ALU 108發送至記憶體控制器102之請求信號可在ALU 108每次請求對記憶體陣列106之存取時簡單觸發(在148及150處)。記憶體控制器102可透過一標準記憶體介面110准予用於存取之請求。此實施例可提供一更簡單的控制介面112,此乃因自ALU 108發送至記憶體控制器之信號可不指示陣列106中之一特定記憶庫。此實施例可藉由透過標準記憶體介面112將通信自記憶體控制器102指引至ALU 108(亦即,准予對記憶體陣列106之存取)來進一步節省控制介面112上之空間。
雖然本發明藉由請求自大致控制對記憶體陣列106之存取之一記憶體控制器102存取來提供仲裁對記憶體陣列106之存取之實例,但當前技術亦包含其中一內部處理器大致控制對記憶體陣列106之存取的記憶體陣列仲裁之系統及方法。舉例而言,在一個實施例中,ALU 108可控制對記憶體陣列106之存取,且其他裝置可藉由將請求信號發送至ALU 108來請求對記憶體陣列106之存取。類似於參考圖3至6所闡述之實施例,ALU 108可基於記憶體陣列106之可用性、記憶體陣列106中之一特定記憶庫之可用性或所接收請求信號之次序來准予請求。在另一實施例中,仲裁對一記憶體陣列106之存取之系統及方法可由記憶體控制器102或ALU 108來控制。控制對記憶體陣列106之存取之處理器可改變,且可係基於正實施之一特定應用程式或過程。
雖然可易於對本發明做出各種修改及替代形式,但已在圖式中以實例方式顯示了具體實施例且在本文中對該等具體實施例進行了詳細闡述。然而,應理解,並不意欲將本發明限於所揭示之特定形式。而是,本發明將涵蓋歸屬於如由以下隨附申請專利範圍界定之本發明之精神及範疇內之所有修改、等效形式及替代形式。
10...系統
12...處理器
14...電源
16...輸入裝置
18...顯示器
20...RF子系統/基頻處理器
22...通信埠
24...周邊裝置
26...系統記憶體
28...非揮發性記憶體
100...記憶體系統
102...記憶體控制器
104...記憶體裝置
105...定序器
106...記憶體陣列
107...緩衝器
108...ALU
110...標準記憶體介面
112...控制介面
120...准予記憶庫
圖1根據當前技術之一實施例繪示一基於處理器之系統之一方塊圖;
圖2根據當前技術之一實施例繪示具有與一記憶體控制器介接之內部算術邏輯單元(ALU)之一記憶體系統之一方塊圖;
圖3根據當前技術之一個或多個實施例圖解說明由ALU及記憶體控制器指引之請求及准予信號與對應請求及准予記憶庫之間的一關係;
圖4根據當前技術之一個或多個實施例圖解說明由ALU及記憶體控制器指引之請求及准予信號與一請求記憶庫指示符之間的一關係;
圖5根據當前技術之一個或多個實施例圖解說明基於由記憶體控制器監視之請求記憶庫由ALU指引之一請求信號;及
圖6根據當前技術之一個或多個實施例圖解說明由ALU指引至記憶體控制器之一請求信號。
100...記憶體系統
102...記憶體控制器
104...記憶體裝置
105...定序器
106...記憶體陣列
107...緩衝器
108...ALU
110...標準記憶體介面
112...控制介面
Claims (35)
- 一種記憶體系統,其包括:一內部處理器;一記憶體裝置,其與該內部處理器封裝在一起,該記憶體裝置包括可由該內部處理器存取之一記憶體陣列;一外部處理器,該外部處理器係位於該記憶體裝置外部且經組態以與該內部處理器通信,且控制對該記憶體陣列之存取;及一介面,其以可操作方式耦合該內部處理器與該外部處理器,其中該介面經組態以將多個命令自該內部處理器傳送至該外部處理器,及將該等命令自該外部處理器傳送至該內部處理器。
- 如請求項1之系統,其中該記憶體裝置經組態以透過該介面將一請求信號發送至該外部處理器。
- 如請求項2之系統,其中該請求信號包括對該記憶體陣列上由該記憶體裝置請求之一記憶庫之一指示符及存取該記憶庫之一請求。
- 如請求項1之系統,其中該內部處理器包括一算術邏輯單元(ALU)且該外部處理器包括一記憶體控制器,該記憶體控制器經組態以藉由透過該介面將一准予信號發送至該ALU來與該ALU通信,其中該准予信號允許該ALU存取該記憶體陣列。
- 如請求項4之系統,其中該記憶體控制器經組態以藉由透過該介面將一准予信號發送至該ALU來與該ALU通 信,其中該准予信號允許該ALU存取該記憶體陣列上由該ALU所需之該記憶庫。
- 如請求項1之系統,其中該介面經組態以將一請求信號自該記憶體裝置傳輸至該外部處理器且將一准予信號自該外部處理器傳輸至該記憶體裝置。
- 如請求項1之系統,其中該介面包括一第一介面及一第二介面,其中該第二介面經組態以將一請求信號自該記憶體裝置攜載至該記憶體控制器,且其中該第一介面經組態以將一准予信號自該外部處理器攜載至該內部處理器。
- 如請求項1之系統,其中該內部處理器係嵌入於該記憶體裝置上。
- 如請求項1之系統,其中該外部處理器係一離散記憶體控制器。
- 如請求項1之系統,其中該外部處理器係具有一積體記憶體控制器之一處理器。
- 一種記憶體中處理器(PIM)系統,其包括一PIM裝置,其包括:一內部處理器;及一記憶體組件,其包括可由該內部處理器存取之一記憶體陣列;及一外部處理器,其以可操作方式耦合至該PIM裝置且經組態以將信號發送至該PIM裝置且自該PIM裝置接收信號,且控制對該記憶體陣列之存取。
- 如請求項11之PIM系統,其中該內部處理器包括複數個算術邏輯單元(ALU)。
- 如請求項11之PIM系統,其中該內部處理器經組態以對儲存於該記憶體組件中之運算元實施運算。
- 如請求項13之PIM系統,其中該PIM裝置包括經組態以組織將由該內部處理器實施之該等運算之一定序器。
- 如請求項13之PIM系統,其中該PIM裝置包括經組態以儲存該等運算元及該等運算之結果之一緩衝器。
- 如請求項14之PIM系統,其中該外部處理器係電耦合至該PIM裝置上之該定序器且經組態以自該定序器發送及接收信號。
- 如請求項11之PIM系統,其中該外部處理器經組態以將一信號發送至該PIM裝置以請求對該PIM裝置上之該記憶體組件之存取。
- 如請求項11之PIM系統,其中該PIM裝置經組態以將一信號發送至該外部處理器以准予對該PIM裝置上之該記憶體組件之存取。
- 如請求項11之PIM系統,其中該外部處理器經組態以將一信號發送至該PIM裝置以請求對該PIM裝置上之該記憶體組件中之一特定記憶庫之存取。
- 如請求項11之PIM系統,其中該外部處理器經組態以基於該PIM系統所運行之應用程式之一類型來將一請求對該記憶體組件之存取之信號發送至該PIM裝置,或自該PIM裝置接收一請求對該記憶體組件之存取之信號。
- 一種操作一記憶體裝置之方法,其包括:將一請求信號發送至一外部處理器以請求對該記憶體裝置上之一記憶體陣列之存取,其中該外部處理器經組態以控制對該記憶體陣列之存取;及接收一准予信號以准予一內部處理器對該記憶體陣列之存取,該內部處理器係與該記憶體裝置封裝在一起。
- 如請求項21之一方法,其中發送該請求信號及接收該准予信號包括經由以可操作方式耦合該外部處理器與該內部處理器之一控制介面發送及接收該等信號。
- 如請求項21之一方法,其中該外部處理器包括一記憶體控制器且該內部處理器包括一算術邏輯單元(ALU),且其中發送該請求信號及接收該准予信號包括經由以可操作方式耦合該記憶體控制器與該ALU之一控制介面發送及接收該等信號,該ALU係嵌入於該記憶體裝置上。
- 如請求項21之一方法,其中經由將該內部處理器以可操作方式耦合至該外部處理器之一第一介面發送該請求信號,且經由將該外部處理器以可操作方式耦合至該記憶體裝置之一第二介面接收該准予信號。
- 如請求項24之方法,其中該准予信號包括一指示符以將該准予信號指引至該內部處理器。
- 如請求項21之方法,其進一步包括回應於接收該准予信號而准予一嵌入式ALU對該記憶體陣列中一所請求記憶庫之存取。
- 如請求項21之方法,其中基於該記憶體陣列中所請求之 一記憶庫之一可用性而發送該准予信號。
- 如請求項21之方法,其中基於該記憶體陣列之一可用性而發送該准予信號。
- 如請求項21之方法,其中基於該外部處理器所接收之一個或多個請求信號之一次序而發送該准予信號,其中由該內部處理器或一系統中請求對該記憶體裝置上之該記憶體陣列之存取之任一其他裝置中之一者或多者發送一個或多個請求信號。
- 一種仲裁對一外部控制器與一內部處理器之間的一記憶體裝置上之一記憶體陣列之存取之方法,其包括:透過以可操作方式耦合該外部控制器與該內部處理器之一第一介面傳輸由該內部處理器存取該記憶體陣列之一請求;及透過以可操作方式耦合該外部控制器與該內部處理器之一第二介面接收一准予。
- 如請求項30之方法,其中傳輸該請求包括傳輸指示該記憶體陣列中之一特定記憶庫之一信號。
- 如請求項30之方法,其中該第一介面係經組態以允許自該內部處理器至該外部控制器之通信之一控制介面。
- 如請求項30之方法,其中透過該第二介面接收該准予包括接收一信號以准予對該記憶體陣列中之一特定記憶庫之存取。
- 如請求項30之方法,其中該第二介面係經組態以允許自該外部控制器至該內部處理器之通信之一控制介面。
- 如請求項30之方法,其中該第二介面係經組態以允許自 該外部控制器至該記憶體裝置之通信之一標準記憶體介面。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/478,465 US8234460B2 (en) | 2009-06-04 | 2009-06-04 | Communication between internal and external processors |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201111998A TW201111998A (en) | 2011-04-01 |
TWI529534B true TWI529534B (zh) | 2016-04-11 |
Family
ID=42358620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099118251A TWI529534B (zh) | 2009-06-04 | 2010-06-04 | 用於在內部及外部處理器之間通信之系統及方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8234460B2 (zh) |
EP (1) | EP2438520B1 (zh) |
KR (1) | KR101668899B1 (zh) |
CN (1) | CN102460406B (zh) |
TW (1) | TWI529534B (zh) |
WO (1) | WO2010141221A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8234460B2 (en) | 2009-06-04 | 2012-07-31 | Micron Technology, Inc. | Communication between internal and external processors |
US8380916B2 (en) | 2009-06-04 | 2013-02-19 | Micron Technology, Inc. | Control of page access in memory |
US8521958B2 (en) | 2009-06-04 | 2013-08-27 | Micron Technology, Inc. | Internal processor buffer |
US9535876B2 (en) | 2009-06-04 | 2017-01-03 | Micron Technology, Inc. | Conditional operation in an internal processor of a memory device |
US9477636B2 (en) * | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
US8719516B2 (en) | 2009-10-21 | 2014-05-06 | Micron Technology, Inc. | Memory having internal processors and methods of controlling memory access |
JP2012084071A (ja) | 2010-10-14 | 2012-04-26 | Toshiba Corp | デジタルコンテンツの保護方法、復号方法、再生装置、記憶媒体、暗号装置 |
US8661527B2 (en) | 2011-08-31 | 2014-02-25 | Kabushiki Kaisha Toshiba | Authenticator, authenticatee and authentication method |
US9229524B2 (en) * | 2012-06-27 | 2016-01-05 | Intel Corporation | Performing local power gating in a processor |
US9201811B2 (en) * | 2013-02-14 | 2015-12-01 | Kabushiki Kaisha Toshiba | Device and authentication method therefor |
FR3032814B1 (fr) * | 2015-02-18 | 2018-02-02 | Upmem | Circuit dram muni d'un processeur integre |
US10268604B2 (en) * | 2015-07-09 | 2019-04-23 | Oracle International Corporation | Adaptive resource management in a pipelined arbiter |
US10956439B2 (en) | 2016-02-19 | 2021-03-23 | Micron Technology, Inc. | Data transfer with a bit vector operation device |
KR102395463B1 (ko) | 2017-09-27 | 2022-05-09 | 삼성전자주식회사 | 적층형 메모리 장치, 이를 포함하는 시스템 및 그 동작 방법 |
KR102665410B1 (ko) * | 2018-07-30 | 2024-05-13 | 삼성전자주식회사 | 메모리 장치의 내부 프로세싱 동작 방법 |
US11080210B2 (en) * | 2018-09-06 | 2021-08-03 | Micron Technology, Inc. | Memory sub-system including an in package sequencer separate from a controller |
US11157213B2 (en) * | 2018-10-12 | 2021-10-26 | Micron Technology, Inc. | Parallel memory access and computation in memory devices |
US10901694B2 (en) * | 2018-12-31 | 2021-01-26 | Micron Technology, Inc. | Binary parallel adder and multiplier |
DE102020106357A1 (de) * | 2019-03-11 | 2020-09-17 | Samsung Electronics Co., Ltd. | Speichereinrichtung und verfahren mit anweisungsringspeicherwarteschlange |
US10884664B2 (en) | 2019-03-14 | 2021-01-05 | Western Digital Technologies, Inc. | Executable memory cell |
US10884663B2 (en) * | 2019-03-14 | 2021-01-05 | Western Digital Technologies, Inc. | Executable memory cells |
KR20210154277A (ko) | 2020-06-11 | 2021-12-21 | 삼성전자주식회사 | 메모리 모듈 및 그의 동작 방법 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141722A (en) * | 1995-05-31 | 2000-10-31 | Microsoft Corporation | Method and apparatus for reclaiming memory |
JP2002236607A (ja) | 2001-02-13 | 2002-08-23 | Matsushita Electric Ind Co Ltd | 共有メモリ制御装置とマルチメディア処理システム |
AU2003221680A1 (en) * | 2002-04-09 | 2003-10-27 | The Research Foundation Of State University Of New York | Multiplier-based processor-in-memory architectures for image and graphics processing |
US7353362B2 (en) * | 2003-07-25 | 2008-04-01 | International Business Machines Corporation | Multiprocessor subsystem in SoC with bridge between processor clusters interconnetion and SoC system bus |
US7363456B2 (en) * | 2005-04-15 | 2008-04-22 | International Business Machines Corporation | System and method of allocating contiguous memory in a data processing system |
US8495310B2 (en) * | 2008-09-22 | 2013-07-23 | Qimonda Ag | Method and system including plural memory controllers and a memory access control bus for accessing a memory device |
US9535876B2 (en) | 2009-06-04 | 2017-01-03 | Micron Technology, Inc. | Conditional operation in an internal processor of a memory device |
US8380916B2 (en) | 2009-06-04 | 2013-02-19 | Micron Technology, Inc. | Control of page access in memory |
US9684632B2 (en) | 2009-06-04 | 2017-06-20 | Micron Technology, Inc. | Parallel processing and internal processors |
US8234460B2 (en) | 2009-06-04 | 2012-07-31 | Micron Technology, Inc. | Communication between internal and external processors |
US8521958B2 (en) | 2009-06-04 | 2013-08-27 | Micron Technology, Inc. | Internal processor buffer |
US9606807B2 (en) | 2009-06-04 | 2017-03-28 | Micron Technology, Inc. | Direct communication with a processor internal to a memory device |
US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
US8719516B2 (en) | 2009-10-21 | 2014-05-06 | Micron Technology, Inc. | Memory having internal processors and methods of controlling memory access |
-
2009
- 2009-06-04 US US12/478,465 patent/US8234460B2/en active Active
-
2010
- 2010-05-19 EP EP10723872.7A patent/EP2438520B1/en active Active
- 2010-05-19 KR KR1020127000128A patent/KR101668899B1/ko active IP Right Grant
- 2010-05-19 WO PCT/US2010/035448 patent/WO2010141221A1/en active Application Filing
- 2010-05-19 CN CN201080031080.7A patent/CN102460406B/zh active Active
- 2010-06-04 TW TW099118251A patent/TWI529534B/zh active
-
2012
- 2012-07-30 US US13/561,922 patent/US8595447B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2010141221A1 (en) | 2010-12-09 |
CN102460406B (zh) | 2015-03-25 |
US20120290814A1 (en) | 2012-11-15 |
KR101668899B1 (ko) | 2016-10-24 |
US8234460B2 (en) | 2012-07-31 |
US20100312990A1 (en) | 2010-12-09 |
EP2438520A1 (en) | 2012-04-11 |
CN102460406A (zh) | 2012-05-16 |
EP2438520B1 (en) | 2014-12-17 |
KR20120034712A (ko) | 2012-04-12 |
US8595447B2 (en) | 2013-11-26 |
TW201111998A (en) | 2011-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI529534B (zh) | 用於在內部及外部處理器之間通信之系統及方法 | |
US20240184724A1 (en) | Memory having internal processors and data communication methods in memory | |
TWI442244B (zh) | 具有內部處理器之記憶體及控制記憶體存取之方法 | |
TWI427480B (zh) | 與一記憶體裝置內部之一處理器的直接通信 | |
TWI453758B (zh) | 在一記憶體裝置之內部處理器中之條件式操作 | |
TWI462114B (zh) | 內部處理器緩衝器 |