TWI394048B - 系統裝置、處理器及存取記憶體單元之方法 - Google Patents
系統裝置、處理器及存取記憶體單元之方法 Download PDFInfo
- Publication number
- TWI394048B TWI394048B TW097128083A TW97128083A TWI394048B TW I394048 B TWI394048 B TW I394048B TW 097128083 A TW097128083 A TW 097128083A TW 97128083 A TW97128083 A TW 97128083A TW I394048 B TWI394048 B TW I394048B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory unit
- memory
- interrupt
- interface
- processor
- 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
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Storage Device Security (AREA)
- Multi Processors (AREA)
Description
本發明主要關於一種電腦架構,特別係有關於一種記憶體存取架構。
處理器的應用非常廣泛,其應用包括數學計算、資料庫管理、通訊和裝置控制等各領域。在各種應用中,處理器需要分離的記憶體單元以執行一些工作,例如執行結果或中間值的儲存,或取得(retrieve)運作軟體,或輸入資料。一般而言,控制記憶體存取的處理器可稱之為「主裝置」。前述之主裝置亦可用以表示其他單元,並不限於前述之控制記憶體存取之處理器。
各種通訊協定被加以定義以配合內部通訊之目的如處理器和記憶體單元間之資料傳輸。一些協定具體定義了使用於多處理器架構,其中複數個處理器能經由一匯流排來存取一共享記憶體單元。前述應用於多工處理器分享一共同的記憶體或其他資源(resource)之協定能夠管理何種處理器及何時允許存取記憶體單元。前述之協定通常使用交握(hand-shake)方法來定義,該方法可用以當處理器與記憶體單位間的通訊發生問題時,通知此處理器。交握協定主要的缺點在於過於複雜,在一些應用中,通常不需要使用如此複雜的協定。
串列周邊介面(Serial Peripheral Interface,SPI),為一簡單的同步資料聯結協定。此協定通常運用在單一主裝置存取一或多個記憶體單元之設計。因此,串列周邊介面(SPI)沒有低層規定(low layer provision)(例如交握式規定),用以驗證所給予的指令已確實執行。此該串列周邊介面亦缺乏錯誤偵測和校正規範之能力。然而,由於其簡單性,此串列周邊介面具有使用一小數量的通訊線便能有快速運作的優點。因此,串列周邊界面是一種普遍應用在記憶體單元與單一處理器連接之協定。
然而,當二處理器需外接記憶體單元時,不管上述處理器要求多少記憶體空間或存取記憶體單元多少次,每顆處理器都需要擁有自己的記憶體單元。
另一種處理方式則是利用一個第一處理器在低引腳數(low pin count)規格(可支援bus-busy顯示)下傳送存取指令到分享記憶體單元中。在此組態下,由第一處理器所傳送之指令被傳到第二處理器,且經由第二處理器轉譯成SPI格式,並轉送到記憶體單元。由上可知,使用上述方式之前提是第一處理器能支援低引腳數規格,同時第二處理器具有格式轉換之功能。
另一種在處理器間分享一記憶體單元的方法是在分享上述記憶體之二處理器之間執行一硬體交握(hardware handshake)。此種做法的前提是上述處理器能支援交握式協定,但當超過兩個處理器時,上述之做法將變得相當複雜。
Evoy所提出之美國專利法案案號5,603,055(公告日期為1997年2月11日)揭露了在鍵盤控制器(例如處理器)和系統處理器之間分享唯讀記憶體(ROM)的方法。在系統啟動之初,此系統處理器存取分享唯讀記憶體(ROM)以取得基本輸入輸出系統(BIOS)。且,上述動作之後,此分享唯讀記憶體(ROM)被鍵盤控制器所使用。然而,此方法不適用於二個處理器間歇性存取記憶體的需求。
Rockford,Dunnihoo和Wahler所提出之美國專利法案案號5,892,943號,標題為「分享基本輸入輸出系統之唯讀記憶體於熱開機中」,揭露一種在主處理器與鍵盤控制器之間分享記憶體單元之機制。其中,記憶體單元係用以上載基本輸入輸出系統(BIOS)。連接於主處理器和鍵盤控制器的邏輯電路系統僅允許主處理器在鍵盤控制器失能的情形下(例如當電腦第一次啟動時)存取記憶體。當上述主處理器企圖在不同時間存取記憶體,邏輯電路系統模擬一作業碼(op-codes)至主處理器,使主處理器能存取位於主處理器之主記憶體中的基本輸入輸出系統(BIOS)之一備份。雖然上述方法可解決存取BIOS的問題,但此方法不允許間歇性存取至記憶體單元。再者,上述記憶體需要並列存取介面,不適用於串列存取介面。
其他專利都有相似的缺點,如Dutton所提出美國專利案號5,999,476,Le所提出之美國專利案號5,794,054,公告日期為1998年8月11日以及Le所提出美國專利案號6,154,838,公告日期為2000年11月28日。
有鑑於此,本發明實施例提供一種複數個處理器連接一記憶體單元之結構。一第一處理器通常於一穩定狀態之下連接記憶體單元。當一第二處理器存取前述記憶體單元時,第二處理器送出中斷要求至第一處理器,且在接收到中斷要求之確認信息後控制記憶體單元。當第二處理器完成記憶存取之後,將使第一處理器由中斷程序中釋放出來。在中斷期間內,第一處理器可不需執行任何有用的任務,可單純保持於閒置狀態。允許多處理器(multi-processor)存取至一記憶體單元所獲得之優點可彌補因第二處理器存取記憶體單元而造成第一處理器處於閒置狀態之缺點。
前述記憶體單元使用一單一主協定(如串列周邊介面(SPI)或微傳線(Microwire))來運作。更具體地說,記憶體單元依據一免交握式協定(handshake-free protocol)進行運作。管理記憶體運作之協定可不需支援錯誤偵測(error detection)或錯誤校正(error correction)。在一些發明實施例中,存取記憶體單元要求少於10或甚至少於5個腳數。另外,記憶體單元可包括一串列存取(serial access)記憶體單元。
在一些發明實施例中,第一處理器為系統之主處理器,通常連接至記憶體,用來完成系統之主要任務,而第二處理器通常用來處理支援任務。根據情況,主處理器具有控制記憶體存取之機制。一般而言,第一處理器比第二處理器有較強處理能力(processing power),例如至少5倍
或至少10倍於第二處理器之處理能力。在一些發明實施例中,第一處理器比第二處理器具有較大的指令傳輸量(instruction throughput)(如至少5倍或甚至至少10倍)。在一些實施例中,第一處理器的電晶體數目大於第二處理器(如至少10倍或甚至至少20倍)。
在本發明實施例中揭露之第一處理器包括一主機控制器及第二處理器包括一嵌入式控制器。嵌入式控制器可控制一或多個電腦周邊裝置,如電池、鍵盤、滑鼠及電源供應器等。
在一些發明實施例中,記憶體單元儲存第一或第二處理器執行任務的執行碼。如對第一處理器而言,記憶體單元可儲存基本輸入輸出服務(Basic Input/Output Services;BIOS)碼、可延伸韌體介面(Extensible Firmware Interface;EFI)碼或系統管理碼。一般而言,記憶體單元為第一主處理器儲存複數個不同應用的區段碼。在一些發明實施例中,記憶體單元可為第一及第二處理器(例如無法支援內部記憶體(internal memory)之處理器)儲存大量的碼,此處理器可採用分頁(paging)的方式,把碼存取入記憶體單元中。
在一些發明實施例中,第二處理器位於一匯流排上,此匯流排連接第一處理器至記憶體單元。當第二處理器本身不需存取記憶體單元時,第二處理器運作為一透通單元,用來交換記憶體單元及第一處理器之間之信號。
本發明一實施例揭露一種系統裝置,包括記憶體單元、匯流排、第一主裝置以及第二主裝置。記憶體單元具
有符合免交握式協定之記憶體介面,此記憶體介面位於記憶體單元與一存取主裝置之間。匯流排電性連接記憶體單元。第一主裝置透過匯流排與記憶體介面存取記憶體單元,以及透過一中斷介面接收到一中斷要求後執行一中斷操作。第二主裝置透過匯流排與記憶體介面存取該記憶體單元,其中第二主裝置於存取記憶體單元之前傳送中斷要求至第一主裝置。
前述記憶體介面可為不支援匯流排的碰撞標識(identification of collisions)之協定之介面。記憶體介面亦可為一協定介面,此協定介面可根據不支援選擇一單一處理器來存取記憶體單元之協定而運作,亦或可根據一串列周邊介面協定而運作。
第一主裝置包括一電腦的主機。第一主裝置透過一主機控制器執行存取該記憶體單元和/或接收中斷要求。第二主裝置可包括一嵌入式電腦控制器、電腦之一控制器、一筆記型電腦之一嵌入式控制器、一電腦之一系統控制器或者是一鍵盤控制器。此外,第一主裝置之最大指令傳輸量至少為第二主裝置之5倍。第二主裝置可位於電性連接第一主裝置與記憶體單元之匯流排上。於本發明一實施例中,第二主裝置僅於接收到第一主裝置所發出之一中斷確認訊息後才存取記憶體單元,其中此中斷確認信息係為第一主裝置針對中斷要求而發出。第二主裝置可於存取記憶體單元前發出前述之中斷要求至第一主裝置。
另外,無論是否接收到一中斷確認信息,第二主裝置
可於傳送中斷要求預定時間後存取記憶體單元。或者是,第一主裝置依據該中斷要求而制止經由匯流排存取記憶體單元。在本發明一實施例中,第一主裝置僅根據由該第二主裝置所發出之指示而停止制止存取該記憶體單元。在本發明另一實施例中,第一主裝置不需根據由第二主裝置所發出之指示而停止制止存取記憶體單元。
本發明另一實施例更揭露一處理器,此處理器包括記憶體介面、中斷介面以及處理單元。記憶體介面經由一免交握式協定控制一記憶體單元。中斷介面傳送中斷要求至一處理器。以及一處理單元運作執行過程任務及透過記憶體介面從記憶體單元讀取資料或儲存資料至記憶體單元,處理單元透過該中斷介面傳送中斷要求以及在透過該記憶體介面存取該記憶體單元前接收一中斷確認信息。
處理單元可透過前述之中斷介面接收中斷確認信息。處理單元亦可透過一暫存器接收中斷確認信息,此暫存器獨立於中斷介面。另外,處理單元可從記憶體單元讀取碼區段。處理器可包括一內部記憶體,此內部記憶體可儲存處理單元執行應用之部分碼,此內部記憶體經由記憶體介面從記憶體單元置換該碼區段。此外,處理單元可執行如下之二步驟:(i)在透過記憶體介面存取一記憶體前,不傳送該中斷要求之一第一狀態;(ii)僅在傳送中斷要求且接收中斷確認信息後,才存取記憶體單元之一第二狀態。當其他主裝置無存取上述記憶體單元之危險時,處理單元可運作於第一狀態。
本發明另一實施例亦揭露一種存取記憶體單元之方法,所包括的步驟為:(i)提供至少一第一主裝置連接至記憶體單元;(ii)從一第二主裝置送出一中斷要求至至少一第一主裝置;(iii)接收由至少一第一主裝置依據中斷要求所發出之一中斷確認信息;以及(iv)當至少一第一主裝置正執行中斷要求處理時,存取記憶體單元。
上述方法可包括在完成記憶體存取之後,釋放至少一第一主裝置的中斷要求處理。存取該記憶體單元可包括一唯讀存取、一寫存取及透過由一單一主協定所支配之一介面存取。
為使本發明之上述目的、特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式,作詳細說明如下:
第1圖係繪示依照本發明一實施例所述之多個處理器與一記憶體單元連接之示意圖。為了精簡說明,僅繪示用來說明與本發明實施例有關之部分。記憶體單元130設計有一串列周邊介面134,使得記憶資料可依據串列周邊協定存取至記憶體單元130。記憶體單元130可為任何種類的記憶體如快閃記憶體、唯讀記憶體(ROM)或其他非揮發性(non-volatile)記憶體。記憶體單元130可具有任意之記憶容量,例如可為1Mbyte,4Mbyte、16Mbyte等記憶容量之記憶體單元。記憶體單元130可為一唯讀記憶體或一讀/
寫記憶體。
請再參考第1圖,主機控制器110(例如可為一南橋晶片和/或一輸入/輸出控制集線(I/O controller hub))可經由一串列周邊介面114並透過由第一匯流排區段102與第二匯流排區段104所組成之SPI匯流排連接記憶體單元130。在本發明一些實施例中,主機控制器110可為除了串列周邊界面外,不具有其他記憶體介面。前述之主機控制器110可具有其他記憶體介面,但這些記憶體介面並非用來存取位於第1圖的實施例中的記憶體單元130。在一些情況中,主機控制器110可存取記憶體單元130以取得至少一應用程式之軟體碼,像是基本輸入輸出系統(BIOS),區域網路(LAN)和電腦100的系統管理等等。另外,取得的資訊可包括軟體碼的部分,其可使用碼置換(分頁)方法(code swapping(paging)method)去做軟體碼間必要的替換。或是說,主機控制器110可存取記憶體單元130以儲存更新的軟體碼,例如藉由電腦與網路進行更新的基本輸入輸出系統(BIOS)。此外,主機控制器110亦可存取記憶體單元130,用以儲存電腦100的系統架構的改變。
嵌入式控制器(Embedded controller;EC)120可位於一SPI匯流排上。嵌入式控制器(EC)120可位於第一匯流排區段102與第二匯流排區段104之間。當沒有存取記憶體單元130時,嵌入式控制器120可根據情況運作在一透通(pass-through)模式,在此模式中,嵌入式控制器120以適當的速率於第一匯流排區段102與第二匯流排區段104之
間傳送信號。
在本發明一些實施例中,嵌入式控制器120可控制電腦100中一或多個周邊設備如鍵盤,滑鼠,螢幕,電源供應器或電池(未繪示)等等。前述之電腦100可為任何領域中的電腦如筆記型電腦、桌上型電腦、伺服器電腦、銷售點電腦或客戶端電腦等等。嵌入式控制器120根據情況會從記憶體單元130中取出軟體碼來執行一應用軟體。嵌入式控制器120可具有一小內部記憶體如一隨機處理記憶體(RAM)122,此內部記憶體可載入待執行之軟體碼,以使應用軟體能正確地執行。在某些情形,嵌入式控制器120需要從記憶體單元130中取得不同的部分碼來置換一或更多部分的軟體碼。嵌入式控制器120可執行直接儲存在記憶體單元130之軟體碼中,或可因為其他原因對記憶體單元130進行存取之動作,如儲存系統架構參數。
嵌入式控制器120可包括一處理單元(processing unit;PU)121,處理單元121可執行由記憶體單元130取出且存於隨機處理記憶體(RAM)122中的碼(code)。上述的碼經由連接第二匯流排區段104之記憶體介面123透過一多工器125而取得。處理單元(PU)121亦可直接連接記憶體介面123,如此一來,處理單元(PU)121可在不透過隨機處理記憶體(RAM)122的情形下直接接收記憶體單元130的資料。
運作流程圖
第2圖係繪示依照本發明一實施例所述之嵌入式控制器120存取記憶體單元130之流程圖。請參閱第1圖與第2圖,在執行任何運作之前,嵌入式控制器120可視為一透通(pass-through)單元,其以近乎沒有延遲(毫微秒級的延遲)的情況下簡單的在匯流排區段102和104之間傳送訊號(步驟200)。當嵌入式控制器120欲對記憶體單元130進行讀/寫之動作時,嵌入式控制器120可依據情況檢查(步驟230)是否為一允許自由狀態(permission-free state),若為允許自由狀態,則不需任何準備即可存取記憶體單元130。如果不是允許自由狀態,嵌入式控制器120將送出一中斷要求(interrupt request;IRQ)至位於線路146之主機控制器110的中斷介面(interrupt interface)118(步驟202)。當接收到由主機控制器110所發出之中斷確認信息後(步驟204),嵌入式控制器120立即中斷在第一匯流排區段102與第二匯流排區段104之間之透通連接,並將記憶體介面123與第二匯流排區段104進行連接(步驟206)。當中斷開始運作時,嵌入式控制器120可存取記憶體單元130(步驟208)。由於已中斷主機140執行其正常操作活動,將不會發生主機控制器110存取記憶體單元130和干擾嵌入式控制器120存取記憶體之危險。當記憶體存取動作完成之後,嵌入式控制器120重新產生與(步驟210)第一匯流排區段102及第二匯流排區段104之透通連接,並終止中斷(步驟212),同時回覆到透通運作狀態(步驟200)。
若存取記憶體單元130時,嵌入式控制器120已處於
允許自由狀態(步驟230),嵌入式控制器120可直接中斷透通連接並存取上述記憶體(步驟206)。在一些發明實施例中,在主機140及任何其他主裝置明顯不會進行存取記憶體單元130之動作的情形下(例如主機104重置時),嵌入式控制器120處於允許自由狀態。另外,在某些實施例中,嵌入式控制器120並未處於允許自由狀態,亦或者步驟230並未進行。在允許自由狀態下存取記憶體單元130之後,透通(pass-through)連結重新連結(步驟210),且嵌入式控制器120可在不需執行要求停止中斷程序的情形下,自動回覆至透通狀態(步驟200)。另外,在允許自由狀態下,嵌入式控制器120可連續式地連接記憶體單元130,無須重覆執行中斷連接(步驟206)及重新連接透通連結(步驟210)的步驟。當嵌入式控制器120離開上述允許自由狀態後,透通連結將被連結。
在本發明實施例之第1圖中,可使用多工器125來中斷記憶體130至主機控制器110的連接(步驟206),或者是,使用三態(TRI-STATE)緩衝器來執行。
在一些發明實施例中,嵌入式控制器120之中斷要求藉由執行沒有其他有效目標之中斷程序(也可能是沒有執行任何有效程序)使得主機控制器110及主機140變得閒置。另外,此中斷使主機140得以執行不包括存取記憶體單元130動作之電腦100的維護任務。另外,中斷要求傳送至主機140來檢查由嵌入式控制器120控制的暫存器128是否被宣告(assert),並僅於暫存器128之值被宣告時,
才會停止中斷要求。當嵌入式控制器120完成記憶體存取時,將宣告暫存器128的值。另外,此中斷可使主機140執行一預定時間的任務,在此情形下,嵌入式控制器120可具有足夠的時間存取記憶體單元130,並重新回至其正常運作。
在一些發明實施例中,額外的處理器可藉由主機控制器110或經由任何有效的介面來存取記憶體單元130。當嵌入式控制器120存取記憶體單元130時,主機140的中斷過程同樣可使額外的處理器失能(disable),以避免額外的處理器存取記憶體單元130。亦或是,此中斷要求亦可以並聯的方式提供予可存取記憶體單元130之多個處理器。亦或是以硬體交握方法通知一或多個額外的處理器,使抑制額外的處理器存取記憶體單元130之動作。
本發明一實施例亦揭露一主裝置154透過周邊控制器介面(PCI)匯流排152電性連接至主機控制器110。根據情況,中斷要求通知主機控制器110以避免主機控制器110存取記憶體單元130。同時,在中斷完成之前,將不允許主裝置154或任何其他處理器或非處理器主裝置所發出之存取指令。或者是,中斷過程使主裝置154失能直至中斷過程完成,此動作是為了預防主裝置154干擾嵌入式控制器120的記憶體存取。
嵌入式控制器120的中斷而使主機140無法運作的時間相當的短,一般而言,少於0.5%或甚至少於0.1%之處理時間,因此嵌入式控制器120的記憶體存取不會破壞主
機140的正常運作。在一些發明實施例中,嵌入式控制器120所執行之任務為侷限性之記憶體存取,舉例來說,每秒記憶體存取僅100次,甚至僅達50次,每次記憶體存取的時間會根據情況的需要可少於15微秒或甚至少於10微秒,或甚至少於7微秒。另外,嵌入式控制器120集中地存取記憶體單元130,例如引發主機140進入閒置,至少5%的時間或至少10%之處理時間。本發明的發明人認為雖然主機140的中斷運作雖會降低其效率,但嵌入式控制器120及主機控制器110僅需一記憶體單元130之優點在某些情形下可彌補效率降低之缺點。
由上可知,嵌入式控制器120所發出中斷要求將經過主機控制器110。在一些發明實施例中,亦可由線路146直接送出中斷要求至主機140,而不需經過主機控制器110。
請再參照第1圖與第2圖,前述接收中斷確認信息之步驟204,確認信息可提供於主機控制器110與嵌入式控制器120間的專用硬體線144,亦或是由主機140連接出來之類似線路,可做為啟始和/或執行中斷要求之協定。另外,此確認信息可提供做為一啟始中斷步驟,例如將一中斷過程寫入嵌入式控制器120的暫存器128。然而,在一些發明實施例中,並不需要中斷確認信息,嵌入式控制器120可在中斷要求送出一預定時間如20微秒後,存取記憶體單元130(步驟208)。
記憶體存取步驟208可包括存取一位元組或其他資料
塊,或可包括連續地存取多個資料區段。記憶體存取可選擇性地於一短時間內(例如少於50微秒甚至少於20微秒)內完成。
記憶體存取控制
在一些發明實施例,嵌入式控制器120可延遲部份記憶體單元130之記憶體存取動作,以符合一些針對存取記憶體單元130以及中斷主機140運作之限制的預定規則。在某些實施例中,嵌入式控制器120僅在前一存取執行預定時間後,才可允許存取記憶體單元130。另外,在送一中斷要求至主機控制器110之前,嵌入式控制器120可將待存取之動作累積至預定數量。在一些發明實施例中,若在預定時間內無法累積預定數量之存取動作,嵌入式控制器120亦會存取記憶體單元130。
三個處理器實施例
第3圖係繪示依照本發明另一實施例所述之記憶體單元130和其他組成元件之連接示意圖。第3圖相似於第1圖,但第3圖之記憶體單元130係透過開關322來連接主機控制器110和嵌入式控制器320。開關322上的開關選擇324係由嵌入式控制器320控制,用以決定記憶體單元130係連接嵌入控制器320或連接主機控制器110。
第3圖也顯示三個處理器分享一記憶體單元130。在一穩定狀態,主機控制器110連接至記憶體單元130。當
嵌入式控制器320需存取記憶體單元130時,嵌入式控制器320送出一中斷需求至主機控制器110,並在接收到確認信息之後,立即設定開關選擇324予嵌入式控制器320使執行其記憶體的存取。同樣地,當額外的處理器350需存取記憶體單元130時,額外的處理器350將送出一中斷要求至主機控制器110。由於主機控制器110僅可在一時間內確認一中斷,因此,額外的處理器350存取記憶體單元130時,額外的處理器350並不需使嵌入式控制器320失能(disable)。當開關選擇324接收到主機控制器110所轉送之確認信息,開關選擇324設定予額外的處理器350,使額外的處理器350可存取記憶體。或者,在額外的處理器350的指令下,嵌入式控制器320設定開關選擇324。另外,額外的處理器350可直接控制開關選擇324,例如,經過一多工器或一相互作用的控制線(mutually controlled line)。在完成資料取得之後,額外的處理器350釋放主機控制器110。
其他置換
雖然前述的內容所涉及之介面係為一串列周邊介面(SPI),然而,前述部份實施例與方法亦可透過其他串列或並列匯流排協定執行。例如,在一些實施例中,匯流排協定和/或執行匯流排協定之單元可以沒有對匯流排授權控制之規定。此外,匯流排協定也可沒有允許發送器(transmitter)決定碰撞(collision)之規定。在本發明一些實施
例中,於處理器和記憶體單元間之匯流排協定並未使用任何的交握方式。
第1圖所示之記憶體單元130雖為一單一的記憶體單元,但前述之實施例或方法亦用分享位於多個處理器間的多個串聯記憶體。
前述實施例中的主機控制器110係連續不斷地連至記憶體單元130,且嵌入式控制器120可送出一中斷需求至主機控制器以進行存取記憶體單元130之動作。在另一實施例中,當需要存取記憶體單元130時,主機控制器110可送出一中斷需求至嵌入式控制器120。
前述之內容雖為記憶體單元之分享,但亦可用於其他資源之分享。
本發明雖以實施例揭露如上,然其並非用以限定本發明的範圍,任何熟習此項技藝者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧電腦
102‧‧‧第一匯流排區段
104‧‧‧第二匯流排區段
110‧‧‧主機控制器
114、134‧‧‧串列週邊介面
118‧‧‧中斷介面
120‧‧‧嵌入式控制器
121‧‧‧處理單元
122‧‧‧隨機存取記憶體
123‧‧‧記憶體介面
125‧‧‧多工器
128‧‧‧暫存器
130‧‧‧記憶體單元
140‧‧‧主機
144‧‧‧硬體線
146‧‧‧線路
154‧‧‧主裝置
200、202、204、206、208、210、212、230、240‧‧‧步驟
320‧‧‧嵌入式控制器
322‧‧‧開關
324‧‧‧開關選擇
350‧‧‧額外的處理器
第1圖係繪示依照本發明一實施例所述之多個處理器與一記憶體單元連接之示意圖。
第2圖係繪示依照本發明一實施例所述之嵌入式控制器存取記憶體單元之流程圖。
第3圖係繪示依照本發明另一實施例所述之記憶體單元和其他組成元件之連接示意圖。
100‧‧‧電腦
102‧‧‧第一匯流排區段
104‧‧‧第二匯流排區段
110‧‧‧主機控制器
114、134‧‧‧串列週邊介面
118‧‧‧中斷介面
120‧‧‧嵌入式控制器
121‧‧‧處理單元
122‧‧‧隨機存取記憶體
123‧‧‧記憶體介面
125‧‧‧多工器
128‧‧‧暫存器
130‧‧‧記憶體單元
140‧‧‧主機
144‧‧‧硬體線
146‧‧‧線路
154‧‧‧主裝置
Claims (32)
- 一種系統裝置,包括:一記憶體單元,具有符合一免交握式協定之一記憶體介面,該記憶體介面位於該記憶體單元與一存取主裝置之間;一匯流排,電性連接該記憶體單元;一第一主裝置,透過該匯流排與該記憶體介面存取該記憶體單元,以及透過一中斷介面接收到一中斷要求後執行一中斷操作;一第二主裝置,透過該匯流排與該記憶體介面存取該記憶體單元,其中該第二主裝置於存取該記憶體單元之前傳送該中斷要求至該第一主裝置。
- 如申請專利範圍第1項所述之系統裝置,其中該記憶體介面包括不支援該匯流排的碰撞標識之協定之介面。
- 如申請專利範圍第1項所述之系統裝置,其中該記憶體單元包括一協定介面,該協定介面係根據不支援選擇一單一處理器來存取該記憶體單元之協定而運作。
- 如申請專利範圍第1項所述之系統裝置,其中該記憶體介面包括一協定介面,該協定介面係根據一串列周邊介面協定而運作。
- 如申請專利範圍第1項所述之系統裝置,其中該第一主裝置包括一電腦的主機。
- 如申請專利範圍第5項所述之系統裝置,其中該第 一主裝置透過一主機控制器執行至少一下列之步驟:(i)存取該記憶體單元;以及(ii)接收該中斷要求。
- 如申請專利範圍第5項所述之系統裝置,其中該第二主裝置包括該電腦之一嵌入式控制器。
- 如申請專利範圍第1項所述之系統裝置,其中該第二主裝置包括一電腦之一控制器。
- 如申請專利範圍第8項所述之系統裝置,其中該第二主裝置包括一筆記型電腦之一嵌入式控制器。
- 如申請專利範圍第8項所述之系統裝置,其中該第二主裝置包括一電腦之一系統控制器。
- 如申請專利範圍第8項所述之系統裝置,其中該第二主裝置包括一鍵盤控制器。
- 如申請專利範圍第1項所述之系統裝置,其中該第一主裝置之最大指令傳輸量至少為該第二主裝置之5倍。
- 如申請專利範圍第1項所述之系統裝置,其中該第二主裝置係位於電性連接該第一主裝置至該記憶體單元之該匯流排上。
- 如申請專利範圍第1項所述之系統裝置,其中該第二主裝置僅於接收到該第一主裝置所發出之一中斷確認信息後才存取該記憶體單元,其中該中斷確認信息係為該第一主裝置針對該中斷要求而發出。
- 如申請專利範圍第1項所述之系統裝置,其中該 第二主裝置於傳送該中斷要求預定時間後存取該記憶體單元,無論是否接收到一中斷確認信息。
- 如申請專利範圍第1項所述之系統裝置,其中該第一主裝置依據該中斷要求而制止經由該匯流排存取該記憶體單元。
- 如申請專利範圍第16項所述之系統裝置,其中該第一主裝置僅根據由該第二主裝置所發出之指示而停止制止存取該記憶體單元。
- 如申請專利範圍第16項所述之系統裝置,其中該第一主裝置不需根據由該第二主裝置所發出之指示而停止制止存取該記憶體單元。
- 如申請專利範圍第1項所述之系統裝置,其中該第二主裝置每次存取該記憶體單元前,該第二主裝置傳送該中斷要求至該第一主裝置。
- 如申請專利範圍第1項所述之系統裝置,其中該第一主裝置和該第二主裝置包括處理器。
- 一種處理器,包括:一記憶體介面,該記憶體介面經由一免交握式協定控制一記憶體單元;一中斷介面,傳送中斷要求至一處理器;以及一處理單元,運作執行過程任務及透過該記憶體介面從該記憶體單元讀取資料或儲存資料至該記憶體單元,該處理單元透過該中斷介面傳送該中斷要求,以及在透過該記憶體介面存取該記憶體單元前接收一中斷確認信息,以 及當一第一主裝置依據該中斷要求而制止存取該記憶體單元時,該處理單元對該記憶體單元進行存取,其中該第一主裝置係執行中斷來制止執行該第一主裝置之正常操作活動,以便制止該第一主裝置存取該記憶體單元。
- 如申請專利範圍第21項所述之處理器,其中該處理單元經由該中斷介面接收該中斷確認信息。
- 如申請專利範圍第21項所述之處理器,其中該處理單元透過一暫存器接收該中斷確認信息,該暫存器獨立於該中斷介面。
- 如申請專利範圍第21項所述之處理器,其中該處理單元從該記憶體單元讀取碼區段。
- 如申請專利範圍第24項所述之處理器,包括一內部記憶體,該內部記憶體儲存該處理單元執行應用之部份碼,該內部記憶體經由該記憶體介面從記憶體單元置換該碼區段。
- 如申請專利範圍第21項所述之處理器,其中該處理單元執行如下之二步驟:(i)在透過該記憶體介面存取一記憶體前不傳送該中斷要求之一第一狀態;以及(ii)僅在傳送該中斷要求且接收中斷確認信息後才存取該記憶體單元之一第二狀態。
- 如申請專利範圍第26項所述之處理器,其中當其他主裝置無存取該記憶體單元之危險時,該處理單元運作於該第一狀態。
- 一種存取一記憶體單元之方法,包括:提供至少一第一主裝置連結至該記憶體單元;從一第二主裝置送出一中斷要求至該至少一第一主裝置;接收由該至少一第一主裝置依據該中斷要求所發出之一中斷確認信息;以及當該至少一第一主裝置正執行中斷要求處理時,存取該記憶體單元。
- 如申請專利範圍第28項所述之存取該記憶體單元之方法,包括在完成存取記憶體單元後,釋放該至少一第一主裝置的該中斷要求處理。
- 如申請專利範圍第28項所述之存取該記憶體單元之方法,其中存取該記憶體單元包括一唯讀存取。
- 如申請專利範圍第28項所述之存取該記憶體單元之方法,其中存取該記憶體單元包括一寫存取。
- 如申請專利範圍第28項所述之存取該憶體單元之方法,其中存取該記憶體單元包括透過由一單一主協定所支配之一介面進行存取。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/834,053 US8285895B2 (en) | 2007-08-06 | 2007-08-06 | Handshake free sharing in a computer architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200907688A TW200907688A (en) | 2009-02-16 |
TWI394048B true TWI394048B (zh) | 2013-04-21 |
Family
ID=40347542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097128083A TWI394048B (zh) | 2007-08-06 | 2008-07-24 | 系統裝置、處理器及存取記憶體單元之方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8285895B2 (zh) |
JP (1) | JP4855451B2 (zh) |
CN (1) | CN101364212B (zh) |
TW (1) | TWI394048B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090037932A1 (en) * | 2007-08-01 | 2009-02-05 | Clark Michael T | Mechanism for broadcasting system management interrupts to other processors in a computer system |
TWI397009B (zh) * | 2009-04-30 | 2013-05-21 | Inventec Corp | 基本輸入輸出系統的資料處理裝置 |
CN102439563A (zh) * | 2009-05-15 | 2012-05-02 | 汤姆森许可贸易公司 | 用于共享存储器的系统和方法 |
US8510492B2 (en) * | 2010-09-08 | 2013-08-13 | Integrated Device Technology Inc. | System and method for communication handshaking between a master processors and a slave processor |
WO2012070319A1 (ja) | 2010-11-25 | 2012-05-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 複数のプロセッサのメモリ共有化のためのメモリアクセス装置、及びそのアクセス方法 |
US9448954B2 (en) * | 2011-02-28 | 2016-09-20 | Dsp Group Ltd. | Method and an apparatus for coherency control |
CN102999471B (zh) * | 2011-09-09 | 2015-11-04 | 中国科学院声学研究所 | 一种多处理器共享非易失性存储卡的方法及系统 |
JP5915192B2 (ja) * | 2012-01-12 | 2016-05-11 | ミツミ電機株式会社 | センサ出力補正回路及びセンサ出力補正装置 |
TWI510903B (zh) | 2012-11-19 | 2015-12-01 | Wistron Corp | 電腦系統及資料回復方法 |
US20160350240A1 (en) * | 2015-05-29 | 2016-12-01 | Analog Devices Global | Serial peripheral interface host port |
US20180373653A1 (en) * | 2017-06-21 | 2018-12-27 | Hewlett Packard Enterprise Development Lp | Commitment of acknowledged data in response to request to commit |
US10579280B2 (en) * | 2018-06-28 | 2020-03-03 | Montage Technology Co., Ltd. | On-die termination control for memory systems |
KR20200016074A (ko) * | 2018-08-06 | 2020-02-14 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 그의 동작 방법 |
TWI775436B (zh) * | 2021-05-17 | 2022-08-21 | 新唐科技股份有限公司 | 匯流排系統 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6775734B2 (en) * | 2001-05-10 | 2004-08-10 | Via Technologies, Inc. | Memory access using system management interrupt and associated computer system |
US6886089B2 (en) * | 2002-11-15 | 2005-04-26 | Silicon Labs Cp, Inc. | Method and apparatus for accessing paged memory with indirect addressing |
TWI240861B (en) * | 2002-01-11 | 2005-10-01 | Integrated Circuit Solution In | Data access method and architecture of flash memory |
TWI279801B (en) * | 2004-07-02 | 2007-04-21 | Taiwan Semiconductor Mfg | System and method for a high-speed access architecture for semiconductor memory |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60237566A (ja) | 1984-05-10 | 1985-11-26 | Oki Electric Ind Co Ltd | プロセツサ間通信方式 |
JPS6159516A (ja) | 1984-08-30 | 1986-03-27 | Fujitsu Ltd | タイマ機構 |
JPH03116335A (ja) | 1989-09-29 | 1991-05-17 | Oki Electric Ind Co Ltd | 非特権cpuから特権cpuヘの乗り移り方式 |
EP0601715A1 (en) * | 1992-12-11 | 1994-06-15 | National Semiconductor Corporation | Bus of CPU core optimized for accessing on-chip memory devices |
US5603055A (en) * | 1994-01-27 | 1997-02-11 | Vlsi Technology, Inc. | Single shared ROM for storing keyboard microcontroller code portion and CPU code portion and disabling access to a portion while accessing to the other |
US5794054A (en) * | 1996-07-19 | 1998-08-11 | Compaq Computer Corporation | Flash ROM sharing between a processor and a controller |
US5819087A (en) * | 1996-07-19 | 1998-10-06 | Compaq Computer Corporation | Flash ROM sharing between processor and microcontroller during booting and handling warm-booting events |
US5892943A (en) * | 1996-12-30 | 1999-04-06 | Standard Microsystems Corp. | Shared bios ROM warm boot |
US5999476A (en) * | 1997-11-21 | 1999-12-07 | Advanced Micro Devices, Inc. | Bios memory and multimedia data storage combination |
US6272584B1 (en) * | 1998-09-10 | 2001-08-07 | Compaq Computer Corporation | System board with consolidated EEPROM module |
US7089339B2 (en) * | 2001-03-16 | 2006-08-08 | National Semiconductor Corporation | Sharing of functions between an embedded controller and a host processor |
US6976136B2 (en) * | 2001-05-07 | 2005-12-13 | National Semiconductor Corporation | Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller |
TW548550B (en) * | 2001-05-16 | 2003-08-21 | Ibm | Method and system for efficient access to remote I/O functions in embedded control environments |
JP2003196251A (ja) | 2001-12-27 | 2003-07-11 | Denso Corp | マルチcpuシステム |
US8037224B2 (en) * | 2002-10-08 | 2011-10-11 | Netlogic Microsystems, Inc. | Delegating network processor operations to star topology serial bus interfaces |
US7814377B2 (en) * | 2004-07-09 | 2010-10-12 | Sandisk Corporation | Non-volatile memory system with self test capability |
JP2006172142A (ja) * | 2004-12-16 | 2006-06-29 | Matsushita Electric Ind Co Ltd | マルチプロセッサシステム |
KR100725099B1 (ko) * | 2005-12-22 | 2007-06-04 | 삼성전자주식회사 | 멀티패쓰 억세스블 반도체 메모리 장치에서의 메모리확장구조 |
US7987464B2 (en) * | 2006-07-25 | 2011-07-26 | International Business Machines Corporation | Logical partitioning and virtualization in a heterogeneous architecture |
CN101000596A (zh) | 2007-01-22 | 2007-07-18 | 北京中星微电子有限公司 | 一种可实现芯片内多核间通信的芯片及通信方法 |
-
2007
- 2007-08-06 US US11/834,053 patent/US8285895B2/en active Active
-
2008
- 2008-07-24 TW TW097128083A patent/TWI394048B/zh active
- 2008-08-04 CN CN2008101452551A patent/CN101364212B/zh active Active
- 2008-08-04 JP JP2008200750A patent/JP4855451B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6775734B2 (en) * | 2001-05-10 | 2004-08-10 | Via Technologies, Inc. | Memory access using system management interrupt and associated computer system |
TWI240861B (en) * | 2002-01-11 | 2005-10-01 | Integrated Circuit Solution In | Data access method and architecture of flash memory |
US6886089B2 (en) * | 2002-11-15 | 2005-04-26 | Silicon Labs Cp, Inc. | Method and apparatus for accessing paged memory with indirect addressing |
TWI279801B (en) * | 2004-07-02 | 2007-04-21 | Taiwan Semiconductor Mfg | System and method for a high-speed access architecture for semiconductor memory |
Also Published As
Publication number | Publication date |
---|---|
JP4855451B2 (ja) | 2012-01-18 |
CN101364212B (zh) | 2013-12-11 |
US20090043916A1 (en) | 2009-02-12 |
TW200907688A (en) | 2009-02-16 |
US8285895B2 (en) | 2012-10-09 |
CN101364212A (zh) | 2009-02-11 |
JP2009043256A (ja) | 2009-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI394048B (zh) | 系統裝置、處理器及存取記憶體單元之方法 | |
EP3462326B1 (en) | Nvme device, and methods for reading and writing nvme data | |
TWI610167B (zh) | 改善平台管理的計算裝置建置方法、保持電腦可執行指令之非暫存媒體及配置為提供強化管理資訊之計算裝置 | |
US10078361B2 (en) | Methods and apparatus for running and booting an inter-processor communication link between independently operable processors | |
EP2601588B1 (en) | Providing fast non-volatile storage in a secure environment | |
GB2566446B (en) | Message handling unit to control passing of messages between power domains in an integrated circuit | |
US6446153B2 (en) | Shared embedded microcontroller interface | |
US8700835B2 (en) | Computer system and abnormality detection circuit | |
US8261053B2 (en) | Method and apparatus for maintaining a partition when booting another partition | |
US10846256B2 (en) | Multi-endpoint device sideband communication system | |
TWI739127B (zh) | 提供系統資料之方法、系統及伺服器 | |
TW201638771A (zh) | 具有多個獨立微控制器之微控制器裝置 | |
US8996734B2 (en) | I/O virtualization and switching system | |
KR20180066073A (ko) | 컴퓨팅 디바이스에서 운영 시스템 독립적 에러 제어를 제공하는 시스템 및 방법 | |
JP2007516536A (ja) | オペレーティングシステムに可視的な割り込みハンドリングを用いてホットキー入力を処理する方法及び装置 | |
US6981081B2 (en) | Method for SMI arbitration timeliness in a cooperative SMI/driver use mechanism | |
JPH0981507A (ja) | コンピュータシステム | |
US20140223066A1 (en) | Multi-Node Management Mechanism | |
JP4585249B2 (ja) | 情報処理装置 | |
WO2013027297A1 (ja) | 半導体装置、管理装置、及びデータ処理装置 | |
JP5146796B2 (ja) | ホストコントローラ | |
US20060179161A1 (en) | Power management | |
JP2023046382A (ja) | 異なるパワーアップ状態の最中にOOB通信および列挙最適化を使用するPCIe決定論的リンクトレーニング | |
JPH02190956A (ja) | メツセージ・バツフア・システム | |
JPH0954747A (ja) | コンピュータシステム |