專利名稱:內(nèi)部處理器與外部處理器之間的通信的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實施例一般來說涉及存儲器系統(tǒng),且更明確地說涉及具有內(nèi)部及外部處理器的存儲器系統(tǒng)。
背景技術(shù):
本章節(jié)打算向讀者介紹此項技術(shù)的各個方面,這些方面可涉及下文所描述及/或所主張的本發(fā)明的各個方面。據(jù)信,此論述將有助于向讀者提供背景信息以促進對本發(fā)明的各個方面的更好理解。因此,應理解,應將此些陳述判讀為就上述情形而論而不是判讀為對現(xiàn)有技術(shù)的認可。電子系統(tǒng)通常包含一個或一個以上處理器,所述一個或一個以上處理器可檢索并執(zhí)行指令且輸出所執(zhí)行指令的結(jié)果(例如)以將所述結(jié)果存儲到適合的位置。處理器一般包含算術(shù)邏輯單元(ALU)電路,所述算術(shù)邏輯單元(ALU)電路能夠?qū)σ粋€或一個以上操作數(shù)執(zhí)行指令,例如算術(shù)及邏輯運算。舉例來說,ALU電路可使操作數(shù)彼此相加、相減、相乘或相除,或者可使一個或一個以上操作數(shù)經(jīng)歷邏輯運算,例如AND、OR、XOR及NOT邏輯函數(shù)。 各種算術(shù)及邏輯運算可具有不同程度的復雜性。舉例來說,一些運算可通過在一個循環(huán)中經(jīng)由ALU電路輸入操作數(shù)來執(zhí)行,而其它運算可利用多個時鐘循環(huán)。在將一指令集引導到ALU以供執(zhí)行中可涉及電子系統(tǒng)中的若干個元件。舉例來說,所述指令及任何對應數(shù)據(jù)(例如,將對其執(zhí)行運算的操作數(shù))可由電子系統(tǒng)中的控制器或某一其它適合的處理器產(chǎn)生。由于執(zhí)行一指令集所需要的時鐘循環(huán)的時間或數(shù)目可取決于運算類型而變化,因此控制器可將所述指令及數(shù)據(jù)寫入到存儲器(例如,存儲器陣列), 且ALU可檢索所述信息(例如,所述指令及/或?qū)獢?shù)據(jù))以執(zhí)行所述指令。一旦ALU已執(zhí)行一指令,便可將所執(zhí)行指令的結(jié)果存儲回于所述存儲器陣列中。在一些存儲器系統(tǒng)中,存儲器陣列可在ALU外部。因此,可采用外部總線來將指令及數(shù)據(jù)從存儲器陣列輸入到ALU且將已完成的結(jié)果輸出回到所述存儲器陣列或另一適合的輸出。此些外部輸入/輸出可增加系統(tǒng)中的電力消耗。在其它存儲器系統(tǒng)中,處理器可配置于與存儲器組件相同的封裝中或嵌入于與存儲器組件相同的硅芯片上,且可稱為存儲器中處理器(PIM)。舉例來說,一個或一個以上ALU可嵌入于與存儲器陣列相同的芯片上或與所述存儲器陣列一起嵌入于同一封裝中,此可消除對用以在存儲器陣列與ALU之間傳送信息的外部總線的需要以節(jié)約電子裝置中的電力。然而,在PIM系統(tǒng)中,一個以上處理器可能需要對存儲器陣列的存取。舉例來說,外部處理器可將指令寫入到存儲器陣列,且內(nèi)部處理器(例如,ALU)可從所述存儲器陣列讀取指令;此外,ALU可將所述指令的結(jié)果寫入到所述存儲器陣列,且所述外部處理器可從所述存儲器陣列讀取所述結(jié)果或控制所述結(jié)果從所述存儲器陣列的輸出。由于一個以上處理器可能需要對存儲器陣列的存取,因此可發(fā)生沖突。
發(fā)明內(nèi)容
在以下詳細說明中且參考圖式描述某些實施例,在所述圖式中圖1描繪根據(jù)本發(fā)明技術(shù)的實施例的基于處理器的系統(tǒng)的框圖;圖2描繪根據(jù)本發(fā)明技術(shù)的實施例的具有與存儲器控制器介接的內(nèi)部算術(shù)邏輯單元(ALU)的存儲器系統(tǒng)的框圖;圖3圖解說明根據(jù)本發(fā)明技術(shù)的一個或一個以上實施例的由ALU及存儲器控制器弓丨導的請求及準予信號與對應請求及準予庫之間的關(guān)系;圖4圖解說明根據(jù)本發(fā)明技術(shù)的一個或一個以上實施例的由ALU及存儲器控制器引導的請求及準予信號與請求庫指示符之間的關(guān)系;圖5圖解說明根據(jù)本發(fā)明技術(shù)的一個或一個以上實施例的基于由存儲器控制器監(jiān)視的請求庫的由ALU引導的請求信號;及圖6圖解說明根據(jù)本發(fā)明技術(shù)的一個或一個以上實施例的由ALU引導到存儲器控制器的請求信號。
具體實施例方式算術(shù)邏輯單元(ALU)電路一般用以在多個級中處理指令。處理指令可包含執(zhí)行指令并存儲所執(zhí)行指令的結(jié)果。更具體來說,指令及將對其執(zhí)行所述指令的數(shù)據(jù)可由控制器發(fā)送到ALU,且可首先存儲于存儲器裝置中以在ALU電路可用于執(zhí)行所述指令時檢索。一旦已執(zhí)行所述指令,ALU便可將運算的結(jié)果寫入到存儲器組件或任何其它適合的輸出。在本發(fā)明技術(shù)的一個或一個以上實施例中,一個或一個以上處理器(例如,一個或一個以上ALU)可與存儲器裝置封裝在一起或嵌入于存儲器裝置上。此些處理器在下文中稱為“內(nèi)部處理器”。舉例來說,所述存儲器裝置可為存儲器中處理器(PIM),且可包含若干嵌入式ALU及一存儲器陣列,所述存儲器陣列可存儲待由所述ALU處理的指令及數(shù)據(jù)以及來自已完成指令的結(jié)果。在其它實施例中,所述ALU及所述存儲器陣列可位于同一封裝中的唯一裸片上。舉例來說,所述ALU與所述存儲器陣列可布置于多芯片封裝(MCP)中且可通過穿硅通孔(TSV)電連接。所述存儲器裝置可包含用以組織待由所述ALU執(zhí)行的指令的額外元件(例如,定序器)以及用以在執(zhí)行所述指令之前保持所述指令及/或數(shù)據(jù)以及/或者保持所述結(jié)果的結(jié)果的緩沖器。如所論述,在將數(shù)據(jù)或指令從存儲器寄存器輸入到ALU及將結(jié)果從所述ALU 輸出到所述存儲器寄存器期間可消耗電力。當所述ALU在所述存儲器寄存器外部時,可需要外部輸入/輸出(I/O)。然而,外部I/O可消耗來自存儲器系統(tǒng)的顯著量的電力。舉例來說,在電池運行的移動電子裝置中或在靠電源操作的任何電子裝置中,外部I/O的高電力消耗可為不利的。本發(fā)明技術(shù)的一個實施例涉及一種具有存儲器組件及內(nèi)部處理器(例如,具有一個或一個以上ALU的計算引擎)的存儲器裝置。所述存儲器裝置可為具有計算引擎的PIM, 或者所述計算引擎可與所述存儲器組件一起封裝于MCP中。舉例來說,在PIM實施例中,計算引擎嵌入于存儲器裝置上且可能不需要外部總線在計算引擎與存儲器陣列之間傳輸信息。更具體來說,指令及/或數(shù)據(jù)可在不在存儲器裝置外部路由的情況下從存儲器陣列傳輸?shù)接嬎阋?。類似地,已完成運算的結(jié)果也可在存儲器裝置內(nèi)從計算引擎?zhèn)鬏數(shù)酱鎯ζ麝嚵小0谕淮鎯ζ餮b置中的計算引擎及存儲器陣列可消除對所述兩個元件之間的外部I/O的需要且可減少電子系統(tǒng)的電力消耗。在傳統(tǒng)電子系統(tǒng)中,外部處理器(例如,在存儲器裝置外部的集成或離散存儲器控制器)可為用以存取存儲器裝置上的陣列的唯一裝置。當所述電子系統(tǒng)中的其它處理器需要來自存儲器裝置的信息時,可將請求發(fā)送到所述存儲器控制器。由于所述存儲器控制器是存取存儲器陣列的唯一組件,因此可不因同時存取而引起沖突。在其中處理器(例如, ALU)連接到存儲器裝置中的存儲器組件的電子系統(tǒng)中,所述ALU可在內(nèi)部存取所述存儲器裝置上的陣列。舉例來說,所述ALU可存取所述存儲器陣列以檢索執(zhí)行其指令所必需的信息。然而,當兩個不同裝置(例如,外部存儲器控制器及內(nèi)部ALU)同時對存儲器進行存取時可發(fā)生沖突。本發(fā)明技術(shù)中的一者或一者以上揭示通過實現(xiàn)外部處理器(此處指存儲器控制器)與內(nèi)部處理器(此處指ALU)之間的通信來仲裁對存儲器陣列的存取的系統(tǒng)及方法。在一些實施例中,所述存儲器控制器與所述ALU可由控制接口電連接。所述控制接口可使得所述ALU能夠?qū)⒄埱笮盘柊l(fā)送到所述存儲器控制器以請求對所述存儲器陣列的存取。同樣地,所述存儲器控制器可經(jīng)由所述控制接口將準予信號發(fā)送到所述ALU以準予對所述存儲器陣列的存取。在一些實施例中,所述ALU可發(fā)送指定所述存儲器陣列中的特定庫的請求信號,且所述存儲器控制器可基于所述陣列中的庫的可用性而準予對特定庫的存取。本發(fā)明技術(shù)的不同實施例還包含基于來自所述ALU或所述電子系統(tǒng)中也需要對所述存儲器陣列的存取的其它裝置的傳入準予請求的序列而準予對所述存儲器陣列的存取。此外,可經(jīng)由標準存儲器接口發(fā)送所述準予信號,此可減少控制接口上的接腳的復雜性或數(shù)目。在實施例中,ALU與存儲器控制器之間關(guān)于對存儲器陣列的存取的直接通信可減少因?qū)λ龃鎯ζ麝嚵械耐瑫r存取所引起的沖突??稍诒景l(fā)明的通篇中使用上文所使用的數(shù)個術(shù)語,且提供此些術(shù)語的定義以促進對本發(fā)明技術(shù)的更好理解。舉例來說,“存儲器裝置”可包含存儲器,例如嵌入于集成電路芯片或集成電路板上的動態(tài)隨機存取存儲器(DRAM)或同步動態(tài)隨機存取存儲器(SDRAM)。 舉例來說,一個或一個以上處理器(例如,ALU或適合于在電子系統(tǒng)中實施指令的電路)還可與所述存儲器裝置包含在一起。舉例來說,所述處理器(例如,ALU)可嵌入于所述存儲器裝置上或與所述存儲器裝置封裝在一起。嵌入于所述存儲器裝置上或封裝于所述存儲器裝置中的處理器還可稱為“內(nèi)部處理器”?!巴獠刻幚砥鳌笨芍复诎鎯ζ餮b置的封裝外部(例如,不嵌入于所述存儲器裝置上或與所述存儲器裝置封裝在一起)的離散存儲器控制器或具有集成存儲器控制器的處理器。所述存儲器控制器可發(fā)送“指令”,所述指令指代待由ALU實施或執(zhí)行的任務。舉例來說,指令可包含算術(shù)或邏輯運算或者ALU或其它處理器可適合于執(zhí)行的任何其它任務。在已執(zhí)行指令之前,指令有時可需要一個以上“循環(huán)” 或穿過一個或一個以上ALU—遍以上?!安僮鲾?shù)”可指代對其實施運算的數(shù)據(jù),且取決于指令,一個或一個以上操作數(shù)可同時輸入到ALU電路中。另外,在一些運算中,操作數(shù)可在一個循環(huán)中經(jīng)由ALU輸入且由所述ALU執(zhí)行并作為用于額外后續(xù)循環(huán)的操作數(shù)回到所述ALU 中。如本文中所使用,“接口,,可指代存儲器裝置與存儲器控制器之間的電連接。在一些實施例中,一種類型的接口可將ALU(嵌入于存儲器裝置上或以其它方式與存儲器裝置封裝在一起)直接連接到存儲器控制器?!罢埱笮盘枴奔?或“準予信號”可經(jīng)由不同類型的接口在存儲器裝置與存儲器控制器之間傳輸。請求信號可由ALU發(fā)送到存儲器控制器以請求對存儲器陣列(例如,對存儲器陣列中的特定塊)的存取。準予信號可由存儲器控制器發(fā)送到ALU以允許ALU對存儲器陣列(例如,對存儲器陣列中的特定塊)的存取?,F(xiàn)轉(zhuǎn)到各圖,圖1描繪一般由參考編號10表示的基于處理器的系統(tǒng)。如下文所解釋,系統(tǒng)10可包含根據(jù)本發(fā)明技術(shù)的實施例制造的各種電子裝置。系統(tǒng)10可為例如計算機、尋呼機、蜂窩式電話、個人記事本、控制電路等多種類型中的任一者。在典型的基于處理器的系統(tǒng)中,一個或一個以上處理器12(例如,微處理器)控制對系統(tǒng)10中的系統(tǒng)功能及請求的處理。如下文所解釋,系統(tǒng)10的處理器12及其它子組件可包含根據(jù)本發(fā)明技術(shù)的一個或一個以上實施例制造的電阻式存儲器裝置。系統(tǒng)10通常包含電源14。舉例來說,如果系統(tǒng)10為便攜式系統(tǒng),則電源14可有利地包含燃料電池、電力采集裝置(power scavenging device)、永久電池、可替換電池及/ 或可再充電電池。舉例來說,電源14還可包含AC適配器,因此系統(tǒng)10可插入到墻式插座中。舉例來說,電源14還可包含DC適配器以使得系統(tǒng)10可插入到車載點煙器中。取決于系統(tǒng)10實施的功能,各種其它裝置可耦合到處理器12。舉例來說,輸入裝置16可耦合到處理器12。舉例來說,輸入裝置16可包含按鈕、開關(guān)、鍵盤、光筆、鼠標、數(shù)字化器及手寫筆以及/或者語音辨識系統(tǒng)。顯示器18也可耦合到處理器12。輸入裝置16 及/或顯示器18可各自或兩者形成用戶接口。舉例來說,顯示器18可包含IXD、SED顯示器、CRT顯示器、DLP顯示器、等離子顯示器、OLED顯示器、LED及/或音頻顯示器。此外,RF 子系統(tǒng)/基帶處理器20也可耦合到處理器12。RF子系統(tǒng)/基帶處理器20可包含耦合到 RF接收器及RF發(fā)射器的天線(未顯示)。一個或一個以上通信端口 22也可耦合到處理器 12。舉例來說,通信端口 22可適于耦合到例如調(diào)制解調(diào)器、打印機、計算機等一個或一個以上外圍裝置M或者例如局域網(wǎng)、遠程局域網(wǎng)、內(nèi)聯(lián)網(wǎng)或因特網(wǎng)的網(wǎng)絡(luò)。處理器12 —般通過處理存儲于存儲器中的軟件程序來控制系統(tǒng)10。舉例來說,所述軟件程序可包含操作系統(tǒng)、數(shù)據(jù)庫軟件、繪圖軟件、字處理軟件以及/或者視頻、圖片或聲音編輯軟件。存儲器可操作地耦合到處理器12以存儲并促進各種程序的執(zhí)行。舉例來說,處理器12可耦合到系統(tǒng)存儲器沈,系統(tǒng)存儲器沈可包含動態(tài)隨機存取存儲器(DRAM) 及/或同步動態(tài)隨機存取存儲器(SDRAM)。在一個實施例中,處理器12可包含集成存儲器控制器或者可為離散存儲器控制器,如先前所論述,其可能夠與系統(tǒng)存儲器26中的存儲器裝置進行通信。并且如所論述,系統(tǒng)存儲器沈中的存儲器裝置可包含存儲器陣列(例如, DRAM陣列或SDRAM陣列)且可與內(nèi)部處理器(例如,一嵌入式ALU或若干ALU)封裝在一起。此外,系統(tǒng)存儲器沈可包含易失性存儲器、非易失性存儲器或其組合且通常較大以使其可動態(tài)地存儲所載入的指令及數(shù)據(jù)。處理器12還可耦合到非易失性存儲器觀,此并不暗示系統(tǒng)存儲器沈必需為易失性的。非易失性存儲器觀可包含待結(jié)合系統(tǒng)存儲器沈使用的只讀存儲器(ROM)(例如 EPR0M、電阻式只讀存儲器(RROM))及/或快閃存儲器。ROM的大小通常經(jīng)選擇以恰好足夠大以存儲任何必需的操作系統(tǒng)、應用程序及固定數(shù)據(jù)。另外,舉例來說,非易失性存儲器觀可包含高容量存儲器,例如磁帶或磁盤驅(qū)動器存儲器,例如包含電阻式存儲器或其它類型的非易失性固態(tài)存儲器的混合式驅(qū)動器。本發(fā)明技術(shù)的一個或一個以上實施例涉及處理器12與系統(tǒng)存儲器沈的組件之間的通信。更具體來說,處理器12可包含通用處理器、中央處理單元、處理器核心、ASIC、存儲器控制器及/或ALU,其(舉例來說)能夠發(fā)送及接收來自內(nèi)部處理器的信號,所述內(nèi)部處理器與系統(tǒng)存儲器沈中的存儲器裝置封裝在一起(例如,嵌入于所述存儲器裝置上)。如在圖2的框圖中所圖解說明,存儲器系統(tǒng)100可包含存儲器控制器102,舉例來說,存儲器控制器102可處于具有更一般目的的芯片上系統(tǒng)(SOC)中以共同形成處理器控制系統(tǒng)10的處理器12(如圖1中)。存儲器控制器102可控制存儲器裝置104的某些元件,其可為系統(tǒng) 10的系統(tǒng)存儲器沈的一部分。存儲器裝置104可包含存儲器陣列106且包含一個或一個以上內(nèi)部處理器(例如,算術(shù)邏輯單元(ALU)IOS)或以其它方式與一個或一個以上內(nèi)部處理器封裝在一起。存儲器陣列106可指代任何適合形式的存儲,且可包含(舉例來說)DRAM陣列或SDRAM陣列。 可大致由存儲器控制器102控制對存儲器陣列106的存取。如稍后將論述,在一些實施例中,還可大致由ALU 108控制對存儲器陣列106的存取。ALU 108可指代一個或一個以上 ALU,其可能夠執(zhí)行從另一處理器(例如,存儲器控制器10 發(fā)送的指令,包含(舉例來說) 例如加法、減法、乘法及除法等算術(shù)運算以及例如AND、0R、X0R及NOT函數(shù)等邏輯函數(shù)。ALU 108可嵌入于存儲器裝置104上或以其它方式與存儲器裝置104封裝在一起,且能夠存取存儲器陣列106。此外,存儲器裝置104可包含定序器105及緩沖器107。定序器105可組織從存儲器控制器102發(fā)送的指令,且緩沖器107可在將操作數(shù)及/或運算的結(jié)果傳送到存儲器陣列106之前存儲所述操作數(shù)及/或運算的結(jié)果。定序器105還可經(jīng)配置以與存儲器控制器102通信。存儲器控制器102與存儲器裝置104可由標準存儲器接口 110電連接,此實現(xiàn)存儲器控制器102與存儲器裝置104的組件之間的數(shù)據(jù)傳送。舉例來說,存儲器控制器102 可經(jīng)由標準存儲器接口 110將數(shù)據(jù)或指令寫入到存儲器裝置104中的存儲器陣列106。此夕卜,在本發(fā)明技術(shù)的一些實施例中,存儲器控制器102可經(jīng)由標準存儲器接口 110將信號及 /或命令直接發(fā)送到定序器105或ALU 108以準予ALU 108及/或定序器105對存儲器陣列106的存取。在一個或一個以上實施例中,舉例來說,標準存儲器接口 110的類型可包含 DDR、DDR2、DDR3、LPDDR 或 LPDDR2。雖然標準存儲器接口 110可經(jīng)配置以在存儲器控制器102與存儲器裝置104之間傳送信號,但根據(jù)本發(fā)明技術(shù)中的一者或一者以上,額外接口可經(jīng)配置以同樣將命令(例如,請求、準予、指令)從存儲器裝置104傳送到存儲器控制器102。在一些實施例中,存儲器控制器102與存儲器裝置104還可由控制接口 112電連接,此可允許ALU 108及/或定序器105將命令發(fā)送到存儲器控制器102。如將論述,經(jīng)由控制接口 112發(fā)送到存儲器控制器102的命令可請求對存儲器陣列106的存取。在一個或一個以上實施例中,存儲器控制器102還可經(jīng)由控制接口 112將信號發(fā)送到ALU 108及/或定序器105以準予ALU 108對存儲器陣列106的存取。如所論述,電子系統(tǒng)可包含多個處理器,所述多個處理器可能與需要對所述系統(tǒng)中的存儲器陣列的存取的多個裝置相關(guān)聯(lián)。為了防止來自對存儲器陣列的同時存取的沖突,典型系統(tǒng)一般通過使所有存取請求集中穿過一個處理器來仲裁對存儲器陣列的存取。在本發(fā)明技術(shù)的一個或一個以上實施例中,一個或一個以上ALU 108可在具有存儲器陣列 106的存儲器裝置104內(nèi)部。具有內(nèi)部ALU 108的存儲器裝置104可通過消除對ALU 108 與存儲器陣列106之間的外部I/O的需要來減少電力消耗。然而,內(nèi)部ALU 108對存儲器陣列106的直接存取可導致數(shù)據(jù)沖突。雖然傳統(tǒng)系統(tǒng)在一個或一個以上外部裝置當中仲裁存儲器陣列存取,但本發(fā)明技術(shù)的實施例可包含在外部處理器(例如,存儲器控制器10 與內(nèi)部處理器(例如,ALU 108)之間仲裁存儲器陣列存取。在外部與內(nèi)部處理器之間對存儲器陣列存取的仲裁可通過經(jīng)由控制接口 112及/或標準存儲器接口 110實現(xiàn)ALU 108與存儲器控制器102之間的通信來實施。此些技術(shù)的不同實施例可經(jīng)由圖3到圖6中所圖解說明的圖示來解釋且可參考回圖2的存儲器系統(tǒng)100。圖3的圖示表示根據(jù)本發(fā)明技術(shù)的一個實施例從ALU 108發(fā)送到存儲器控制器 102的請求信號114及118與從存儲器控制器102發(fā)送到ALU 108的準予信號116及120 之間的時序及方法。對存儲器陣列106的存取可由外部處理器(例如,存儲器控制器102) 甚至與內(nèi)部處理器(例如,封裝于存儲器裝置104中或嵌入于存儲器裝置104上的ALU108) 一起仲裁。當ALU 108請求對存儲器陣列106的存取時,ALU 108可經(jīng)由控制接口 112將信號發(fā)送到外部存儲器控制器102。所述信號可指示ALU 108正請求對存儲器陣列106的存取且還可指示存儲器陣列106中ALU 108請求對其的存取的特定庫。典型存儲器陣列106 可包含若干個庫。舉例來說,一些實施例可包含4個到16個庫。在圖3的圖示中,請求線114的第一上升沿(或第一“觸發(fā)”)122指示ALU 108正請求對存儲器陣列106的存取。如本文中所使用,“觸發(fā)”指代信號狀態(tài)從高到低或低到高的轉(zhuǎn)變。請求庫118中的對應編號指示ALU 108正請求對其的存取的特定庫。舉例來說, 在第一觸發(fā)122處,存儲器陣列106中的庫1為目標庫。在此圖示中,觸發(fā)請求線114可指示ALU 108正請求對存儲器陣列106中的另一庫的存取。舉例來說,在請求線114的下一觸發(fā)1 處,請求庫118可指示庫6被視為目標。存儲器控制器102還可通過準予對存儲器陣列106中的特定庫的存取來經(jīng)由控制接口 112與存儲器裝置104上的ALU 108通信。由于存儲器控制器102控制對存儲器陣列 106的存取,因此存儲器控制器102可知曉陣列106中的庫的可用性且可基于其可用性而準予對特定庫的存取。舉例來說,如所述圖示的準予線116中所圖解說明,準予線116的第一觸發(fā)1 指示存儲器控制器102正準予ALU對存儲器陣列的存取。準予庫120指示存儲器陣列106中存儲器控制器102正準予對其的存取的特定庫。準予線116中的每一觸發(fā)可指示存儲器控制器102正基于來自ALU 108的特定請求而準予對存儲器陣列106中的不同庫的存取。舉例來說,在請求線116的下一觸發(fā)130處,存儲器控制器102可正準予對所述存儲器陣列的庫1的存取。準予無法總是緊跟著對存取存儲器陣列106中的特定庫的請求。舉例來說,盡管所請求的第一庫為庫1且所請求的第二庫為庫6,但在準予對庫1的存取之前準予對庫6的存取。來自存儲器控制器102的準予的次序可基于存儲器陣列106中的庫的可用性而非基于所接收請求的次序。對特定庫的準予之所以無法緊跟著對所述庫的請求的一個原因可能是因為所請求庫為不可用的。舉例來說,存儲器裝置104外部的其它裝置也可從存儲器控制器102請求對存儲器陣列106的存取。然而,存儲器控制器102可不斷從ALU 108接收請求信號且可準予對可用庫的存取,而非等待所請求庫變得可用。因此,發(fā)送指示目標庫或所允許庫的請求及準予信號的一個實施例可允許存儲器控制器102無序地準予庫,從而增加調(diào)度庫存取的靈活性及效率??山?jīng)由圖4的時序圖來解釋本發(fā)明技術(shù)的仲裁對存儲器裝置104中的存儲器陣列 106的存取的另一實施例。在一個實施例中,ALU 108可經(jīng)由控制接口 112將信號發(fā)送到存儲器控制器102,從而請求對存儲器陣列106中的特定庫的存取。存儲器控制器102可基于請求庫的次序而準予對庫的請求。舉例來說,在請求線114的第一觸發(fā)132處,ALU 108 正請求庫1,如請求庫118所指示。存儲器控制器102可經(jīng)由控制接口 112將準予信號116 發(fā)送到ALU以準予對存儲器陣列102中的庫的存取?!嵤├刹话瑴视鑾?,或者可不以其它方式向ALU 108明確指示存儲器控制器102正準予對哪一庫的存取。由于未指示庫,因此可基于所請求庫的次序而給予準予。 因此,準予信號116的觸發(fā)138可跟在第一請求132之后以準予對庫1的存取。在下一觸發(fā)134處,ALU 108正請求庫3,且準予信號116中的觸發(fā)140可指示存儲器控制器102正準予對庫3的存取。此外,在請求線的第三觸發(fā)136處,請求庫118中的對應庫為庫1。由于已經(jīng)請求并準予庫1,因此針對庫1的第三觸發(fā)136可指示ALU 108已完成對庫1的存取。因此,由于未正進行請求,準予線116可不觸發(fā)。取決于請求及準予過程的復雜性,一些實施例可比其它實施例更靈活。舉例來說, 圖3中所描繪的實施例可具有比圖4中所描繪的實施例更大的靈活性,這是因為準予庫120 可使得存儲器控制器102能夠無序地從所請求庫準予庫存取。然而,不具有準予庫的實施例(如圖4中)可更簡單的實施且可在存儲器系統(tǒng)100中需要更少接腳。可在圖5的圖示中解釋一種通過經(jīng)由控制接口 112發(fā)送信號以請求對存儲器陣列 106中的特定庫的存取來仲裁對存儲器陣列106的存取的方法。雖然ALU 108可經(jīng)由控制接口 112通信以請求庫存取,但存儲器控制器102可經(jīng)由標準存儲器接口 110通信以準予對存儲器陣列106的存取。來自ALU 108的請求可由請求線114的針對對庫1的存取的第一觸發(fā)142表示(如請求庫118所指示),且用于對庫3的存取的請求可由請求線114的第二觸發(fā)144表示。第三觸發(fā)146可表示對庫1的釋放。由于先前已請求庫1,因此請求線 114第二次在庫1上觸發(fā)可指示ALU 108已完成存取存儲器陣列106中的庫1。通過將除經(jīng)簡化控制接口 112以外的標準存儲器接口 110用于ALU 108與存儲器控制器102之間的通信,一個實施例可節(jié)約控制接口 112上的位??稍趫D6的圖示中描繪還可節(jié)約存儲器系統(tǒng)100中的空間的仲裁對存儲器陣列 106的存取的另一實施例。ALU 108可經(jīng)由控制接口將信號發(fā)送到存儲器控制器102以請求對存儲器陣列106的存取。所述信號可指示ALU 108正請求對整個陣列106的存取(與所述陣列中的特定庫相比)(參見圖3到圖5)。如在圖6的圖示中所見,從ALU 108發(fā)送到存儲器控制器102的請求信號可在ALU 108每次請求對存儲器陣列106的存取時簡單觸發(fā)(在148及150處)。存儲器控制器102可經(jīng)由標準存儲器接口 110準予用于存取的請求。由于從ALU 108發(fā)送到存儲器控制器的信號可不指示陣列106中的特定庫,因此此實施例可提供更簡單的控制接口 112。此實施例可通過經(jīng)由標準存儲器接口 112將通信從存儲器控制器102引導到ALU 108 (S卩,準予對存儲器陣列106的存取)來進一步節(jié)省控制接口 112上的空間。
雖然本發(fā)明提供通過從大致控制對存儲器陣列106的存取的存儲器控制器102 請求存取來仲裁對存儲器陣列106的存取的實例,但本發(fā)明技術(shù)還包含其中內(nèi)部處理器大致控制對存儲器陣列106的存取的存儲器陣列仲裁的系統(tǒng)及方法。舉例來說,在一個實施例中,ALU 108可控制對存儲器陣列106的存取,且其它裝置可通過將請求信號發(fā)送到ALU 108來請求對存儲器陣列106的存取。類似于參考圖3到圖6所描述的實施例,ALU108可基于存儲器陣列106的可用性、存儲器陣列106中的特定庫的可用性或所接收請求信號的次序而準予請求。在另一實施例中,可由存儲器控制器102或ALU 108控制仲裁對存儲器陣列106的存取的系統(tǒng)及方法。控制對存儲器陣列106的存取的處理器可改變且可基于正實施的特定應用程序或過程。雖然可易于對本發(fā)明做出各種修改及替代形式,但已在圖式中以實例方式展示了特定實施例且在本文中詳細描述了所述特定實施例。然而,應理解,本發(fā)明并不打算限于所揭示的特定形式。而是,本發(fā)明將涵蓋屬于如以上所附權(quán)利要求書所界定的本發(fā)明的精神及范圍內(nèi)的所有修改、等效物及替代形式。
權(quán)利要求
1.一種系統(tǒng),其包括內(nèi)部處理器;存儲器裝置,其與所述內(nèi)部處理器封裝在一起,所述存儲器裝置包括可由所述內(nèi)部處理器存取的存儲器陣列;外部處理器,所述外部處理器在所述存儲器裝置外部且經(jīng)配置以與所述內(nèi)部處理器通信;及接口,其可操作地耦合所述內(nèi)部處理器與所述外部處理器。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述存儲器裝置經(jīng)配置以經(jīng)由所述接口將請求信號發(fā)送到所述外部處理器。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其中所述請求信號包括所述存儲器陣列上的由所述存儲器裝置請求的庫的指示符及對存取所述庫的請求。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述內(nèi)部處理器包括算術(shù)邏輯單元ALU且所述外部處理器包括存儲器控制器,所述存儲器控制器經(jīng)配置以通過經(jīng)由所述接口將準予信號發(fā)送到所述ALU來與所述ALU通信,其中所述準予信號允許所述ALU存取所述存儲器陣列。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其中所述存儲器控制器經(jīng)配置以通過經(jīng)由所述接口將準予信號發(fā)送到所述ALU來與所述ALU通信,其中所述準予信號允許所述ALU存取所述存儲器陣列上的所述ALU所需要的所述庫。
6.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述接口經(jīng)配置以將請求信號從所述存儲器裝置傳輸?shù)剿鐾獠刻幚砥髑覍视栊盘枏乃鐾獠刻幚砥鱾鬏數(shù)剿龃鎯ζ餮b置。
7.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述接口包括第一接口及第二接口,其中所述第二接口經(jīng)配置以將請求信號從所述存儲器裝置載送到所述存儲器控制器,且其中所述第一接口經(jīng)配置以將準予信號從所述外部處理器載送到所述內(nèi)部處理器。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述第一接口包括一者或一者以上。
9.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述內(nèi)部處理器嵌入于所述存儲器裝置上。
10.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述外部處理器為離散存儲器控制器。
11.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述外部處理器為具有集成存儲器控制器的處理器。
12.—種存儲器中處理器PIM系統(tǒng),其包括PIM裝置,其包括內(nèi)部處理器;及存儲器組件,其可由所述內(nèi)部處理器存??;及外部處理器,其可操作地耦合到所述PIM裝置且經(jīng)配置以將信號發(fā)送到所述PIM裝置且從所述PIM裝置接收信號。
13.根據(jù)權(quán)利要求12所述的PIM系統(tǒng),其中所述內(nèi)部處理器包括多個算術(shù)邏輯單元ALU。
14.根據(jù)權(quán)利要求12所述的PIM系統(tǒng),其中所述內(nèi)部處理器經(jīng)配置以對存儲于所述存儲器組件中的操作數(shù)實施運算。
15.根據(jù)權(quán)利要求14所述的PIM系統(tǒng),其中所述PIM裝置包括經(jīng)配置以組織待由所述內(nèi)部處理器實施的所述運算的定序器。
16.根據(jù)權(quán)利要求14所述的PIM系統(tǒng),其中所述PIM裝置包括經(jīng)配置以存儲所述操作數(shù)及所述運算的結(jié)果的緩沖器。
17.根據(jù)權(quán)利要求15所述的PIM系統(tǒng),其中所述外部處理器電耦合到所述PIM裝置上的所述定序器且經(jīng)配置以發(fā)送及接收來自所述定序器的信號。
18.根據(jù)權(quán)利要求12所述的PIM系統(tǒng),其中所述外部處理器經(jīng)配置以將信號發(fā)送到所述PIM裝置以請求對所述PIM裝置上的所述存儲器組件的存取。
19.根據(jù)權(quán)利要求12所述的PIM系統(tǒng),其中所述PIM裝置經(jīng)配置以將信號發(fā)送到所述外部處理器以準予對所述PIM裝置上的所述存儲器組件的存取。
20.根據(jù)權(quán)利要求12所述的PIM系統(tǒng),其中所述外部處理器經(jīng)配置以將信號發(fā)送到所述PIM裝置以請求對所述PIM裝置上的所述存儲器組件中的特定庫的存取。
21.根據(jù)權(quán)利要求12所述的PIM系統(tǒng),其中所述外部處理器經(jīng)配置以基于由所述PIM 系統(tǒng)運行的應用程序的類型而向所述PIM裝置發(fā)送請求對所述存儲器組件的存取的信號, 或者從所述PIM裝置接收請求對所述存儲器組件的存取的信號。
22.—種操作存儲器裝置的方法,其包括將請求信號發(fā)送到外部處理器以請求對所述存儲器裝置上的存儲器陣列的存取,其中所述外部處理器經(jīng)配置以控制對所述存儲器陣列的存?。患敖邮諟视栊盘栆詼视鑳?nèi)部處理器對所述存儲器陣列的存取,所述內(nèi)部處理器與所述存儲器裝置封裝在一起。
23.根據(jù)權(quán)利要求22所述的方法,其中發(fā)送所述請求信號及接收所述準予信號包括經(jīng)由可操作地耦合所述外部處理器與所述內(nèi)部處理器的控制接口來發(fā)送及接收所述信號。
24.根據(jù)權(quán)利要求22所述的方法,其中所述外部處理器包括存儲器控制器且所述內(nèi)部處理器包括算術(shù)邏輯單元ALU,且其中發(fā)送所述請求信號及接收所述準予信號包括經(jīng)由可操作地耦合所述存儲器控制器與所述ALU的控制接口來發(fā)送及接收所述信號,所述ALU嵌入于所述存儲器裝置上。
25.根據(jù)權(quán)利要求22所述的方法,其中經(jīng)由將所述內(nèi)部處理器可操作地耦合到所述外部處理器的第一接口發(fā)送所述請求信號,且經(jīng)由將所述外部處理器可操作地耦合到所述存儲器裝置的第二接口接收所述準予信號。
26.根據(jù)權(quán)利要求25所述的方法,其中所述準予信號包括用以將所述準予信號引導到所述內(nèi)部處理器的指示符。
27.根據(jù)權(quán)利要求22所述的方法,其進一步包括響應于接收到所述準予信號而準予嵌入式ALU對所述存儲器陣列中的所請求庫的存取。
28.根據(jù)權(quán)利要求22所述的方法,其中基于所述存儲器陣列中的所請求的庫的可用性而發(fā)送所述準予信號。
29.根據(jù)權(quán)利要求22所述的方法,其中基于所述存儲器陣列的可用性而發(fā)送所述準予信號。
30.根據(jù)權(quán)利要求22所述的方法,其中基于由所述外部處理器接收的一個或一個以上請求信號的次序而發(fā)送所述準予信號,其中由所述內(nèi)部處理器或系統(tǒng)中的請求對所述存儲器裝置上的所述存儲器陣列的存取的任何其它裝置中的一者或一者以上發(fā)送一個或一個以上請求信號。
31.一種在外部控制器與內(nèi)部處理器之間仲裁對存儲器裝置上的存儲器陣列的存取的方法,其包括經(jīng)由可操作地耦合所述外部控制器與所述內(nèi)部處理器的第一接口傳輸由所述內(nèi)部處理器存取所述存儲器陣列的請求;及經(jīng)由可操作地耦合所述外部控制器與所述內(nèi)部處理器的第二接口接收準予。
32.根據(jù)權(quán)利要求31所述的方法,其中傳輸所述請求包括傳輸指示所述存儲器陣列中的特定庫的信號。
33.根據(jù)權(quán)利要求31所述的方法,其中所述第一接口為經(jīng)配置以允許從所述內(nèi)部處理器到所述外部控制器的通信的控制接口。
34.根據(jù)權(quán)利要求31所述的方法,其中經(jīng)由所述第二接口接收所述準予包括接收用以準予對所述存儲器陣列中的特定庫的存取的信號。
35.根據(jù)權(quán)利要求31所述的方法,其中所述第二接口為經(jīng)配置以允許從所述外部控制器到所述內(nèi)部處理器的通信的控制接口。
36.根據(jù)權(quán)利要求31所述的方法,其中所述第二接口為經(jīng)配置以允許從所述外部控制器到所述存儲器裝置的通信的標準存儲器接口。
全文摘要
本發(fā)明提供操作存儲器裝置的系統(tǒng)、方法以及仲裁對具有內(nèi)部處理器的存儲器裝置中的存儲器陣列的存取的方法。在一個或一個以上實施例中,通過經(jīng)由控制接口介接外部處理器(例如,存儲器控制器)與所述內(nèi)部處理器(其可為嵌入式ALU)來減少存取所述存儲器陣列中的沖突。所述外部處理器可控制對所述存儲器陣列的存取,且所述內(nèi)部處理器可將信號發(fā)送到所述外部處理器以請求對所述存儲器陣列的存取。所述信號還可請求所述存儲器陣列中的特定庫。在不同實施例中,舉例來說,所述外部處理器與所述內(nèi)部處理器經(jīng)由所述控制接口或標準存儲器接口通信以準予對所述存儲器陣列或?qū)λ龃鎯ζ麝嚵兄械奶囟◣斓拇嫒 ?br>
文檔編號G06F13/16GK102460406SQ201080031080
公開日2012年5月16日 申請日期2010年5月19日 優(yōu)先權(quán)日2009年6月4日
發(fā)明者羅伯特·沃克 申請人:美光科技公司