TWI396088B - 執行原子信號操作之方法及裝置 - Google Patents

執行原子信號操作之方法及裝置 Download PDF

Info

Publication number
TWI396088B
TWI396088B TW094137044A TW94137044A TWI396088B TW I396088 B TWI396088 B TW I396088B TW 094137044 A TW094137044 A TW 094137044A TW 94137044 A TW94137044 A TW 94137044A TW I396088 B TWI396088 B TW I396088B
Authority
TW
Taiwan
Prior art keywords
signal
read
address
processing components
bus
Prior art date
Application number
TW094137044A
Other languages
English (en)
Other versions
TW200634529A (en
Inventor
Thomas Philip Speier
James Norris Dieffenderfer
Richard Gerard Hofmann
Thomas Andrew Sartorius
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW200634529A publication Critical patent/TW200634529A/zh
Application granted granted Critical
Publication of TWI396088B publication Critical patent/TWI396088B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multi Processors (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)
  • Crystals, And After-Treatments Of Crystals (AREA)
  • Bus Control (AREA)

Description

執行原子信號操作之方法及裝置
本揭示案大體而言係關於一使用一匯流排架構之處理系統,且更具體言之,本發明係關於執行原子信號操作之方法及裝置。
電腦已藉由使複雜處理工作能夠僅通過鍵盤之若干次敲擊得以執行,而使電子工業產生巨大變化。該等複雜工作涉及難以置信之數目之使用一匯流排以一快速且有效方式相互間通信的複雜組件。匯流排為電腦中組件間之通道或路徑。
電腦中所存在的許多匯流排已傳統地實施為共享匯流排。一共享匯流排為許多組件提供一經由一共同路徑或通道進行通信的構件。在最近幾年中,共享匯流排技術已在較大程度上藉由點對點交換式連接來替代。在該匯流排上兩個組件間互相通信時,點對點交換式連接在該匯流排上兩個組件間提供一直接連接。多個直接連結可用以允許若干組件同時通信。一匯流排仲裁器可用以管理經由匯流排之通信。
習知匯流排設計包括獨立且分開的讀取、寫入、及定址通道。藉由置放一位址於該定址通道並使用旁頻帶訊號傳輸來發送恰當讀取/寫入控制訊號,一由該匯流排仲裁器准予存取該匯流排之組件可執行一讀取或寫入操作。當該組件寫入資料至該匯流排上另一組件時,其經由該寫入通道發送該資料。當該組件自該匯流排上另一組件讀取資料時,其經由該讀取通道接收該資料。
實施一匯流排架構之電腦可包括許多與記憶體連接之處理組件。該記憶體可藉由系統設計師或在運作過程中動態地劃分為若干區域。每一處理組件可具有其自己專用記憶體區域。另一方面,"共享記憶體區域"為可藉由多重處理存取之記憶體區域。一信號可用以管理對於共享記憶體區域之存取。一"信號"為存在於共享記憶體位置中的指示一共享資源之可存取性的硬體或軟體旗標。需存取該共享記憶體區域之處理組件可讀取該信號以確定該共享記憶體區域之可存取性。若該信號指示該共享記憶體區域為可用的,則該處理組件可設定該信號以指示該共享記憶體區域經鎖定,並繼續存取該記憶體。讀取及設定該信號之處理需原子地得以執行。即,在該處理過程中,應該沒有其它處理組件能夠存取該信號。
原子地存取該信號並不是習知匯流排協定所固有的。實情為,其為增添至該匯流排協定並通常要求特殊硬體之特殊狀況。該額外硬體增加了該匯流排仲裁器及該等處理組件之複雜性,且可導致該系統內處理延遲增加。因而,在此項技術中,需要以不降級效能之最少額外硬體在該匯流排協定之構架內實施對於該訊號之原子存取。
在本發明之一態樣中,一處理系統包括一匯流排;一與該匯流排耦合之記憶體區域;經由該匯流排存取該記憶體區域之複數個處理組件,該等處理組件之每一者經組態以藉由經由該匯流排向一信號位置同時地請求一讀取及寫入操作,來執行一信號操作以獲得對於該記憶體區域之存取。
在本發明之另一態樣中,一處理系統包括一匯流排;一與該匯流排耦合之記憶體區域;經由該匯流排存取該記憶體區域之複數個處理組件,該等處理組件之每一者具有構件,該構件用於藉由經由該匯流排向一信號位置同時地請求一讀取及寫入操作,來執行一信號操作以獲得對於該記憶體區域之存取。
在本發明之再一態樣中,可執行管理複數個處理組件經由一匯流排對於記憶體區域所進行之存取之方法。該方法包括藉由該等處理組件之一者執行一信號操作以獲得對於該記憶體區域之存取,該信號操作藉由經由該匯流排向一信號位置同時地請求一讀取及寫入操作來執行。
應瞭解,對於熟悉此項技術者,從以下詳細描述中本發明之其它實施例將變得顯而易見,其中本發明之各種實施例以說明之方式得以展示及描述。應明白的是,本發明可能有其它且不同之實施例,且其若干細節可能有各種其它方面的修改,所有都不偏離本發明之精神及範疇。因而,該等圖式及詳細描述在性質上可看作說明性的且非限制性的。
下文結合該等附圖闡明的詳細描述意欲作為本發明之多個實施例之描述且並非意欲表示本發明可得以實施之唯獨實施例。為提供本發明之徹底瞭解之目的,該詳細描述包括特定細節。然而,對於熟悉此項技術者將顯而易見,本發明可無需該等特定細節而得以實施。在某些情況下,已熟知之結構及組件在方塊圖形式中圖示以便避免混淆本發明之概念。
圖1為說明一處理系統之實例的概念方塊圖。該處理系統100可能為一電腦,或一電腦中所存在的,且能夠處理、擷取並儲存資訊。該處理系統100可能為一獨立的系統,或嵌入一裝置中(如一行動電話)。如圖1所示,該處理系統100內的兩個處理組件102a與102b使用一匯流排106可共享該公用資源104。該等處理組件102a與102b之每一者可能為任何類型的匯流排控制組件,其包括(例如)一微處理器、一數位訊號處理器(DSP)、一橋接器、可程式化邏輯、離散閘或電晶體邏輯、或任何其它資訊處理組件。該公用資源104可能為任何類型的匯流排受控器組件,其包括(例如)一暫存器、記憶體、一橋接器或任何其它能夠擷取並儲存資訊的組件。在圖1所示之實施例中,該公用資源104為一記憶體區域。該術語"記憶體區域"指任何記憶體器件、或一記憶體器件之任何部分、一記憶體映射區域或其類似物。
一匯流排仲裁器108可用以管理對於該共享記憶體區域104之存取。在該匯流排仲裁器108之一實施例中,想要存取該共享記憶體區域104之處理組件102a或102b可廣播一讀取或寫入請求至該匯流排仲裁器108。該匯流排仲裁器108可用以組態一匯流排互連110以准予該請求處理組件102a或102b存取該共享記憶體區域104以執行該讀取或寫入操作。在來自一個或多個處理組件之諸多讀取及/或寫入請求爭取該匯流排仲裁器108之情況下,該匯流排仲裁器108可接著確定該等讀取及/或寫入操作將得以執行之序列且因而動態地組態該互連110。該等讀取及/或寫入操作之序列可基於任何匯流排仲裁機制。該匯流排仲裁機制可取決於該特定應用及該等總設計限制而改變,但通常將設法以一公平機制平衡某種基於優先權之准予系統。
作為該匯流排仲裁機制之覆疊,一處理組件102a或102b可能以該共享記憶體區域104執行一信號操作以試圖獲得對於該共享記憶體區域之獨佔存取。該信號操作允許該處理組件102a或102b確定該信號之狀態,並且若該共享記憶體區域104為可用的,則設定該信號。在該特殊實例中,該信號儲存在該共享記憶體區域104中,但正如熟悉此項技術者將瞭解的,該信號可儲存在該處理系統100中任何地方。該處理組件102a或102b可以若干不同方式執行該信號操作。以實例說明之,經組態為一微處理器之一處理組件102a或102b可包括用以經由一調換指令執行該信號操作之軟體。該調換指令可用以自該共享記憶體區域104讀取信號至一第一內部暫存器,且接著儲存自一第二內部暫存器之更新了的信號至該共享記憶體區域104上的信號位置。該更新了的信號可能為一指示該共享記憶體區域104之鎖定之旗標,因為該請求處理組件102a或102b獲得該鎖定,或該共享記憶體區域104已得以鎖定,所以信號讀取操作之後共享記憶體區域104將總是鎖定的。此遵循此項技術中已熟知之測試及設定演算法。
該信號操作需要在該匯流排106上以一原子讀取/寫入操作而得以執行。一種方法為在該信號操作過程中,允許該匯流排仲裁器108鎖定該匯流排仲裁至一單個處理組件上。以實例說明之,藉由請求一鎖定了的讀取操作以確定該信號之狀態,接著請求一鎖定了的寫入操作以更新該信號之狀態,想要存取該共享記憶體區域104之處理組件102a或102b可執行該信號操作。當該匯流排仲裁器108為該信號位置偵測一鎖定了的讀取操作請求,其准予該處理組件102a或102b通過該匯流排互連110存取該共享記憶體區域104,並藉由延遲來自所有其它匯流排控制組件的所有其它讀取及/或寫入請求前往該共享記憶體區域104,鎖定匯流排仲裁直至該處理組件102a或102b更新該信號之狀態。
此方法之劣勢在於其允許一處理組件102a或102b超越由該系統設計師決定的匯流排仲裁機制。此可能消極地影響該處理系統100之效能。此外,一旦該匯流排仲裁器108回應執行一信號操作之請求而鎖定該匯流排仲裁至一處理組件上,該匯流排仲裁器108不能限制該處理組件102a或102b於該操作。一處理組件102a或102b可任意封鎖其它處理組件,因為其認為其未獲得其所要求之頻寬。
此方法之另一劣勢在於其為該匯流排協定要求額外硬體之特別狀況。若該信號操作在該匯流排協定之構架內可原子地得以執行,則該額外硬體可得以去除。可支持一原子信號操作之一匯流排協定可允許一讀取及寫入操作之同時請求。實施該協定之匯流排架構之一實例現將加以描述。
圖2為說明一處理系統中經由一匯流排一處理組件及一共享記憶體區域間點對點連接之實例的概念方塊圖。該處理組件102經准予通過在該匯流排仲裁器108控制下之該匯流排互連110存取該共享記憶體區域104。在該實例中,藉由去除習知匯流排結構中使用的定址通道,該匯流排106之複雜性得以減小。藉由重新界定該寫入通道為一"傳輸通道"106a,該定址通道之去除得以實現。該傳輸通道106a可用作一用於以一時分多工方式廣播位址資訊並寫入來自該處理組件102之資料至該共享記憶體區域104之通用媒體。該匯流排協定之一實例在2004年4月27日申請之美國專利申請案第10/833,716號、代理人案號第040237號題名為A Multiple Address Two Channel Bus Structure之文獻中得以描述,其內容以引用的方式併入本文中。
藉由在該傳輸通道106a上廣播一位址,且同時,使用旁頻帶訊號傳輸發出一寫入操作訊號至該共享記憶體區域104,該處理組件102可寫入至該共享記憶體區域104。在廣播該位址之後,該處理組件102可在該傳輸通道106a上廣播寫入資料。該共享記憶體區域104可在一以先前在該傳輸通道106a上廣播之位址起始的記憶體區塊中儲存該寫入資料。
藉由在該傳輸通道106a上廣播一位址,且同時,使用旁頻帶訊號傳輸發出一讀取操作訊號至該共享記憶體區域104,該處理組件102可自該共享記憶體區域104讀取。該共享記憶體區域104可自一以在該傳輸通道106a上廣播之位址起始的記憶體區塊讀取資料,並經由一接收通道106b廣播該讀取資料至該處理組件102。
該匯流排協定可經組態以支持經由該傳輸通道106a同時廣播兩個不同位址位置至該共享記憶體區域104。此概念在圖3之概念方塊圖中得以說明。在該匯流排仲裁器108之控制下,通過該匯流排互連110,該處理組件102與該共享記憶體區域104間之點對點連接得以圖示。在該例子中,該傳輸通道之上部(位址A)可用以存取該共享記憶體區域104之第一位址位置104a,且該傳輸通道之下部(位址B)可用以存取該共享記憶體區域104之第二位址位置104b。以此組態,該處理組件102可請求(1)同時地兩個讀取操作,(2)同時地兩個寫入操作,或(3)在相同或不同位址同時讀取及寫入操作。一個或多個旁頻帶訊號可與該等位址位置之每一者相關聯。
該匯流排協定可使用一內隱定址機制以解決對於同一位址的同時讀取及寫入操作請求。以實例說明之,該處理組件102廣播用於待執行之第一操作的位址為位址A,待執行之第二操作的位址為位址B。經該共享記憶體區域104執行的該讀取/寫入序列可基於該定址機制以維持序列連貫性。因此,若同一位址用於位址A及位址B,且該處理組件102訊號為位址A發出一寫入操作訊號及為位址B發出一讀取操作訊號,則該共享記憶體區域104將等待直至在提供該位址之一新近寫入的資料至用於傳輸至該處理組件102之該接收通道之前,在該傳輸通道106a上廣播的寫入資料得以寫入該共享記憶體區域104。相反地,若該處理組件102為位址A發出一讀取操作訊號,且為位址B發出一寫入操作訊號,則在寫入來自該傳輸通道106a之新的資料至該共享記憶體區域104之此位址之前,該共享記憶體104將以此位址提供該資料至該接收通道。
圖4為說明具有一兩通道匯流排架構之處理系統之實例的概念方塊圖。可藉由一關於圖2及圖3論述之匯流排協定相似的匯流排協定支持該兩通道匯流排架構。在此實例中,一原子信號操作可在該匯流排協定之構架內得以執行。更具體言之,該處理組件102a可同時請求一讀取及寫入操作至該信號位置。此可藉由在傳輸通道廣播該信號之位址如位址A及位址B之兩者至該互連110達成。若該匯流排協定使用上文所描述之內隱定址機制,則該處理組件102a為位址A發出一讀取操作訊號及為位址B發出一寫入操作訊號。取決於自其它處理組件之未決請求,該匯流排仲裁器108將作出關於該匯流排互連110是否應立即經組態以准予該處理組件102a存取該共享記憶體區域104,或延遲該連接的決定。無論如何,一旦該處理組件102a經准予存取該共享記憶體區域104,該讀取及寫入操作可原子地執行。該匯流排仲裁器108不需識別該請求為一信號操作並鎖定該共享記憶體區域104。實際上,該匯流排仲裁器108根據該匯流排仲裁機制僅准予該處理組件102a存取該共享記憶體區域104。若另一處理組件102b執行一信號操作,則該匯流排仲裁機制可用以管理對於該共享記憶體區域104之存取,但該真正信號操作對於該匯流排仲裁器108為不可見的。
一旦該匯流排仲裁器108准予該處理組件102a存取該共享記憶體區域104,用於該信號操作之該原子讀取及寫入操作可得以執行。在該傳輸通道106a上佔有位址A及位址B之信號位址,與相關訊號傳輸一起,可通過該匯流排互連110投送至該共享記憶體區域104。在廣播該信號位址之後,該處理組件102a在下一時脈週期可廣播一更新了的信號,其亦通過該匯流排互連110得以投送至該共享記憶體區域104。使用一調換指令或藉由任何其它途徑,該更新了的信號可自該處理組件102a之一內部暫存器廣播。或為該共享記憶體區域104之一部分或自其分離之記憶體控制器(未圖示)確定該讀取及寫入操作基於上文所討論之內隱定址機制或任何其它方法得以執行的序列。在此狀況下,該記憶體控制器為位址A偵測一讀取操作請求及為位址B偵測一寫入操作請求,且因此,確定自該信號位址之讀取操作將首先得以執行。藉由自該共享記憶體區域104擷取信號並通過該匯流排互連110經由該接收通道106b廣播其至該處理組件102a,該讀取操作得以執行。一旦該讀取操作完成,藉由將經由該傳輸通道106a接收到的已更新信號寫入該信號位址,該寫入操作得以執行。該更新了的信號為一旗標,其指示由於該信號操作而導致藉由該處理組件102a鎖定該共享記憶體區域,或指示先前藉由另一匯流排控制組件鎖定該共享記憶體區域。
再次使用一調換指令或藉由任何其它途徑,該處理組件102a載入自該共享記憶體區域104經由該接收通道106b廣播之信號至一內部暫存器。一旦此發生,該匯流排仲裁器108能自由地重新組態該匯流排互連110以解決自其它匯流排控制組件之請求。該處理組件102a自該信號確定該共享記憶體區域104是否為可用的。若該處理組件102a確定該共享記憶體區域104為不可用的(即,被鎖定),則其將不試圖讀取或寫入至該共享記憶體區域104。該處理組件102a可繼續試圖執行信號操作直至該共享記憶體區域104隨後變成可用的。另一方面,若該處理組件102a確定該共享記憶體區域104為可用的(即,未被鎖定),則根據經該匯流排仲裁器108實施的匯流排仲裁機制,其可能讀取及寫入至該共享記憶體區域104。其它匯流排控制組件將不試圖自該共享記憶體區域104讀取或寫入,因為其將偵測經該處理組件102a早先寫入的已更新信號導致的鎖定。一旦該處理組件102a不再需要存取該共享記憶體區域104,其將執行一寫入操作至該信號位置以改變該旗標,使其指示該共享記憶體區域104未被鎖定。在該寫入操作後,其它匯流排控制組件可能能夠經由一成功信號操作存取該共享記憶體區域104。
關於本文所揭示之實施例所描述的該等各種說明性邏輯塊、模組、電路、元件、及/或組件可能以一通用處理器、一數位訊號處理器(DSP)、一特殊應用積體電路(ASIC)、一場可程式化閘陣列(FPGA)或其它可程式化邏輯組件、離散閘或電晶體邏輯、離散硬體組件、或經設計以執行本文所描述之該等功能的其組合得以實施或執行。一通用處理器可能為一微處理器,但替代地,該處理器可能為任何習知處理器、控制器、微控制器、或狀態機。一處理器亦可實施為計算組件之組合,例如,一DSP及一微處理器、複數個微處理器、一個或多個與一DSP核心結合之微處理器、或任何其它該組態之組合。
關於本文揭示的實施例所描述的該等方法或演算法可直接實施為硬體、為經一處理器執行的軟體模組或為該等兩者之組合。一軟體模組可在於隨機存取記憶體(RAM)、快閃記憶體、唯讀記憶體(ROM)、可消除可程式唯讀記憶體(EPROM)、電子可消除可程式唯讀記憶體(EEPROM)、暫存器、硬碟、抽取式磁碟、一緊密光碟一唯讀記憶體(CD-ROM)、或此項技術已知之儲存媒體之任何其它形式。一儲存媒體可與該處理器耦合使得該處理器可自該儲存媒體讀取資訊,並寫入資訊至該儲存媒體。替代地,該儲存媒體可能整合至該處理器。
該等經揭示實施例之先前描述經提供以使得任何熟悉此項技術者能夠製作或使用本發明。對於熟悉此項技術者,該等實施例之各種修改是顯而易見的,且本文所界定的通用原理可應用於其它實施例而不偏離本發明之精神或範疇。因此,本發明不希望受限制於本文所展示之該等實施例,而應當給予與該申請專利範圍相符之全部範圍,其中除非特定地如此陳述,所涉及元件之單數形式不希望意謂"一個且僅一個(one and only one)",而是"一個或多個(one or more)"。遍及本揭示案的普通熟習此項技術者已知或隨後將得以知道的各種實施例之元件的全部結構及功能均等物清楚地以引用方式併入本文且並希望藉由申請專利範圍加以涵蓋。此外,規定,向公衆公開之本文所揭示之任何事物皆考慮到該揭示內容是否在申請專利範圍中明確地列舉。只要使用短語"…之構件"來清楚地列舉要素或在一方法請求項之狀況下使用短語"…之步驟"列舉要素,則請求項之要素皆在35 U.S.C.§112第六段之規定下予以解釋。
100...處理系統
102...處理組件
102a...處理組件
102b...處理組件
104...共享記憶體區域
104a...第一位址位置
104b...第二位址位置
106...匯流排
106a...傳輸通道
106b...接收通道
108...匯流排仲裁器
110...匯流排互連
圖1為說明一處理系統之實例的概念方塊圖;圖2為說明一處理系統中經由一匯流排一處理組件及一共享記憶體區域間點對點連接之實例的概念方塊圖;圖3為說明支持經由一匯流排同時廣播兩個不同位址位置至一共享記憶體區域之一處理系統中使用的匯流排協定之實例的概念方塊圖;及圖4為說明具有一兩通道匯流排架構之處理系統之實例的概念方塊圖。
102...處理組件
104...共享記憶體區域
104a...第一位址位置
104b...第二位址位置
106a...傳輸通道
108...匯流排仲裁器
110...匯流排互連

Claims (23)

  1. 一種執行一原子信號操作之裝置,其包含;一匯流排;一與該匯流排耦合的記憶體區域;及經由該匯流排存取該記憶體區域之複數個處理組件,該等處理組件之每一者經組態以藉由經由該匯流排向一信號位置同時請求一讀取及寫入操作,來執行一信號操作以獲得對於該記憶體區域之存取。
  2. 如請求項1之處理系統,其中該等處理組件之每一者進一步經組態以藉由經由該匯流排同時廣播一信號位址之兩個複本至該信號位置,來請求用於該信號操作之該讀取及寫入操作。
  3. 如請求項2之處理系統,其中該等處理組件之每一者進一步經組態以藉由以該信號位置之一複本提供一讀取操作請求訊號至該信號位置,及以該信號位置之另一複本提供一寫入操作請求訊號至該信號位置,來請求用於該信號操作之該讀取及寫入操作。
  4. 如請求項2之處理系統,其中該等處理組件之每一者進一步經組態以藉由在該信號位置之該等兩個複本之同時廣播後,廣播一經更新之信號至該信號位置,來執行該信號操作。
  5. 如請求項4之處理系統,其中該信號位置經組態以回應於來自該等處理組件之一者向該信號位址之該讀取操作請求而擷取信號,並向該等處理組件之該一者廣播該經 擷取之信號,該信號位置進一步經組態以回應於向該信號位址之該寫入操作請求而儲存該經更新之信號。
  6. 如請求項5之處理系統,其中該匯流排進一步包含一傳輸通道及一接收通道,且其中該等處理元件之每一者進一步經組態以廣播該信號位址之該等兩個複本,接著廣播該經更新之信號,經由該傳輸通道至該信號位置,且其中該信號位置進一步經組態以經由該接收通道廣播該經擷取的信號至該等處理組件之該一者。
  7. 如請求項6之處理系統,該等處理組件之每一者進一步經組態以自經由該接收通道廣播的所擷取信號確定該記憶體區域是否為可用的。
  8. 如請求項7之處理系統,其中該等處理組件之每一者進一步經組態以當該記憶體區域經確定為可用時,藉由經由該傳輸通道廣播一寫入資料位址及該寫入資料至該記憶體區域,來寫入資料至該記憶體區域,且其中該等處理組件之每一者進一步經組態以當該記憶體區域經確定為可用時,藉由經由該傳輸通道廣播一讀取資料位址至該記憶體區域並自該接收通道讀取該讀取資料,而自該記憶體區域讀取資料。
  9. 如請求項2之處理系統,其中該匯流排包含一具有複數個線路之傳輸通道,且其中該等處理組件之每一者進一步經組態以藉由經由該等線路之一第一部分廣播該信號位址的一個複本並經由該等線路之一第二部分廣播該信號位址的另一個複本,來請求用於該信號操作之該讀取 及寫入操作。
  10. 如請求項9之處理系統,其中該等處理組件之每一者進一步經組態而以該等線路之該第一部分上該信號位址的該一複本提供一讀取操作請求訊號,且以該等線路之該第二部分上該信號位址的該另一個複本提供一寫入操作請求訊號。
  11. 如請求項10之處理系統,其中該信號位置進一步經組態以在執行該經請求之寫入操作之前執行該經請求之讀取操作。
  12. 一種執行一原子信號操作之裝置,其包含:一匯流排;一與該匯流排耦合之記憶體區域;及經由該匯流排存取該記憶體區域之複數個處理組件,該等處理組件之每一者具有構件,其用於藉由經由該匯流排向一信號位置同時地請求讀取及寫入操作,來執行一信號操作以獲得對於該記憶體區域之存取。
  13. 一種管理複數個處理組件經由一匯流排存取一記憶體區域之方法,該方法包含:藉由該等處理組件之一者,執行一信號操作以獲得對於該記憶體區域之存取,該信號操作藉由經由該匯流排向一信號位置同時地請求一讀取及寫入操作來執行。
  14. 如請求項13之方法,其中用於該信號操作之該等讀取及寫入操作請求包含自該等處理組件之該一者經由該匯流排廣播一信號位址之兩個複本至該信號位置。
  15. 如請求項14之方法,其中用於該信號操作之該等讀取及寫入操作請求進一步包含自該等處理組件的該一者以該信號位址之一複本提供一讀取操作請求訊號至該信號位置,並自該等處理組件的該一者以該信號位址之另一複本提供一寫入操作請求訊號至該信號位置。
  16. 如請求項14之方法,其中該信號操作藉由該等處理組件之該一者之執行包含在同時廣播該信號位址之兩個複本後經由該匯流排廣播一經更新之信號至該信號位置。
  17. 如請求項14之方法,進一步包含回應於藉由該等處理組件之該一者向該信號位址之讀取操作請求而自該信號位置擷取該信號、經由該匯流排廣播來自該信號位置的經擷取的信號至該等處理組件之該一者,並回應於向該信號位址之該寫入操作請求而儲存一經更新之信號於該信號位置。
  18. 如請求項17之方法,其中該匯流排進一步包含一傳輸通道及一接收通道,且其中該等處理元件的該一者廣播該信號位址之該等兩個複本,接著廣播該經更新之信號,經由該傳輸通道至該信號位置,且其中該信號位置經由該接收通道廣播該經擷取的信號至該等處理組件之該一者。
  19. 如請求項18之方法,進一步包含在該等處理組件之該一者處自該擷取的信號確定該記憶體區域是否為可用的。
  20. 如請求項19之方法,其中該等處理組件之該一者確定該記憶體區域為可用的,該方法進一步包含藉由經由該傳 輸通道,自該等處理元件之該一者廣播一寫入資料位址及該寫入資料至該記憶體區域,來寫入資料至該記憶體區域。
  21. 如請求項19之方法,其中該等處理組件之該一者確定該記憶體區域為可用的,該方法進一步包含藉由經由該傳輸通道,自該等處理元件之該一者廣播一讀取資料位址至該記憶體區域,並自該記憶體區域廣播該讀取資料至該等處理組件之該一者,而自該記憶體區域讀取資料。
  22. 如請求項14之方法,其中該匯流排包含一具有複數個線路的傳輸通道,且其中該等處理組件之每一者進一步經組態以藉由經由該等線路之一第一部分廣播該信號位址之一個複本並經由該等線路之一第二部分廣播該信號位址之另一個複本,來請求用於該信號操作之該讀取及寫入操作。
  23. 如請求項22之方法,進一步包含以該等線路之該第一部分上該信號位址的該等複本之該一者提供一讀取操作請求訊號至該信號位置,並以該等線路之該第二部分上該信號位址的該另一複本提供一寫入操作請求訊號。
TW094137044A 2004-10-22 2005-10-21 執行原子信號操作之方法及裝置 TWI396088B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/971,740 US7610463B2 (en) 2004-10-22 2004-10-22 Method and apparatus for performing an atomic semaphore operation

Publications (2)

Publication Number Publication Date
TW200634529A TW200634529A (en) 2006-10-01
TWI396088B true TWI396088B (zh) 2013-05-11

Family

ID=36087815

Family Applications (1)

Application Number Title Priority Date Filing Date
TW094137044A TWI396088B (zh) 2004-10-22 2005-10-21 執行原子信號操作之方法及裝置

Country Status (15)

Country Link
US (1) US7610463B2 (zh)
EP (1) EP1812868B1 (zh)
JP (2) JP2008518329A (zh)
KR (1) KR100915260B1 (zh)
CN (1) CN101080706B (zh)
AT (1) ATE527601T1 (zh)
DK (1) DK1812868T3 (zh)
ES (1) ES2371767T3 (zh)
HK (1) HK1108297A1 (zh)
IL (1) IL182733A (zh)
MX (1) MX2007004870A (zh)
PL (1) PL1812868T3 (zh)
PT (1) PT1812868E (zh)
TW (1) TWI396088B (zh)
WO (1) WO2006047570A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631152B1 (en) * 2005-11-28 2009-12-08 Nvidia Corporation Determining memory flush states for selective heterogeneous memory flushes
US20080059674A1 (en) * 2006-09-01 2008-03-06 Jiaxiang Shi Apparatus and method for chained arbitration of a plurality of inputs
US20090292885A1 (en) * 2008-05-22 2009-11-26 Fujitsu Limited Method and apparatus for providing atomic access to memory
US8023345B2 (en) * 2009-02-24 2011-09-20 International Business Machines Corporation Iteratively writing contents to memory locations using a statistical model
US8751860B2 (en) * 2009-06-03 2014-06-10 Micron Technology, Inc. Object oriented memory in solid state devices
US8230276B2 (en) * 2009-09-28 2012-07-24 International Business Machines Corporation Writing to memory using adaptive write techniques
US8386739B2 (en) * 2009-09-28 2013-02-26 International Business Machines Corporation Writing to memory using shared address buses
US8463985B2 (en) 2010-03-31 2013-06-11 International Business Machines Corporation Constrained coding to reduce floating gate coupling in non-volatile memories
US8599886B2 (en) 2010-08-26 2013-12-03 Qualcomm Incorporated Methods and apparatus for reducing transfer qualifier signaling on a two-channel bus
JP2012252490A (ja) * 2011-06-02 2012-12-20 Renesas Electronics Corp マルチプロセッサおよびそれを用いた画像処理システム
CN102523481A (zh) * 2011-12-09 2012-06-27 成都东方盛行电子有限责任公司 一种节目播出系统用数据交换缓存的方法
KR102285749B1 (ko) 2014-11-10 2021-08-05 삼성전자주식회사 세마포어 기능을 갖는 시스템 온 칩 및 그것의 세마포어 구현 방법
JPWO2016080183A1 (ja) * 2014-11-18 2017-08-31 ソニー株式会社 情報処理装置、情報処理システム、情報処理方法、およびプログラム
CN105630714B (zh) * 2014-12-01 2018-12-18 晨星半导体股份有限公司 接口资源分析装置及其方法
US9928174B1 (en) * 2016-03-16 2018-03-27 Amazon Technologies, Inc. Consistent caching
JP2019082897A (ja) * 2017-10-31 2019-05-30 富士通株式会社 情報処理装置、情報処理システム及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548780A (en) * 1994-07-21 1996-08-20 Apple Computer, Inc. Method for semaphore communication between incompatible bus locking architectures
US5737546A (en) * 1994-06-30 1998-04-07 Digital Equipment Corporation System bus with separate address and data bus protocols
US5960441A (en) * 1996-09-24 1999-09-28 Honeywell Inc. Systems and methods for providing dynamic data referencing in a generic data exchange environment
TW428407B (en) * 1994-03-31 2001-04-01 D2B Systems Co Ltd Interconnection of local communication bus systems
TW200304070A (en) * 2002-03-06 2003-09-16 Toshiba Corp Bus buffer the built-in logic circuit

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4456965A (en) 1980-10-14 1984-06-26 Texas Instruments Incorporated Data processing system having multiple buses
US4594657A (en) 1983-04-22 1986-06-10 Motorola, Inc. Semaphore for memory shared by two asynchronous microcomputers
JPS60118961A (ja) * 1983-11-30 1985-06-26 Fujitsu Ltd メモリの共通領域アクセス制御方式
JPH10177560A (ja) * 1996-12-17 1998-06-30 Ricoh Co Ltd 記憶装置
US6745274B1 (en) * 2000-04-25 2004-06-01 Hewlett-Packard Development Company, L.P. Apparatus and method for synchronizing multiple accesses to common resources
US6513089B1 (en) * 2000-05-18 2003-01-28 International Business Machines Corporation Dual burst latency timers for overlapped read and write data transfers
US6587905B1 (en) * 2000-06-29 2003-07-01 International Business Machines Corporation Dynamic data bus allocation
US6603683B2 (en) * 2001-06-25 2003-08-05 International Business Machines Corporation Decoding scheme for a stacked bank architecture
KR100803450B1 (ko) * 2002-11-19 2008-02-14 엘지노텔 주식회사 공유 버스 시스템의 스케줄링 장치 및 그 방법
US7360035B2 (en) * 2004-09-01 2008-04-15 International Business Machines Corporation Atomic read/write support in a multi-module memory configuration

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW428407B (en) * 1994-03-31 2001-04-01 D2B Systems Co Ltd Interconnection of local communication bus systems
US5737546A (en) * 1994-06-30 1998-04-07 Digital Equipment Corporation System bus with separate address and data bus protocols
US5548780A (en) * 1994-07-21 1996-08-20 Apple Computer, Inc. Method for semaphore communication between incompatible bus locking architectures
US5960441A (en) * 1996-09-24 1999-09-28 Honeywell Inc. Systems and methods for providing dynamic data referencing in a generic data exchange environment
TW200304070A (en) * 2002-03-06 2003-09-16 Toshiba Corp Bus buffer the built-in logic circuit

Also Published As

Publication number Publication date
US20060090051A1 (en) 2006-04-27
ATE527601T1 (de) 2011-10-15
KR100915260B1 (ko) 2009-09-03
PL1812868T3 (pl) 2012-03-30
DK1812868T3 (da) 2012-02-13
PT1812868E (pt) 2011-12-21
TW200634529A (en) 2006-10-01
WO2006047570A1 (en) 2006-05-04
IL182733A0 (en) 2007-07-24
HK1108297A1 (en) 2008-05-02
EP1812868A1 (en) 2007-08-01
JP2008518329A (ja) 2008-05-29
IL182733A (en) 2012-05-31
MX2007004870A (es) 2007-07-04
JP2011048834A (ja) 2011-03-10
CN101080706B (zh) 2013-01-02
KR20070084362A (ko) 2007-08-24
CN101080706A (zh) 2007-11-28
US7610463B2 (en) 2009-10-27
EP1812868B1 (en) 2011-10-05
ES2371767T3 (es) 2012-01-09
JP5558982B2 (ja) 2014-07-23

Similar Documents

Publication Publication Date Title
TWI396088B (zh) 執行原子信號操作之方法及裝置
US7512723B2 (en) Queued interface devices, multi-core peripheral systems, and methods for sharing a peripheral in a multi-core system
JP3634932B2 (ja) データ完全性を維持するためのスピン・バッファおよび方法
US20080126643A1 (en) Semiconductor circuit
EP1564646A2 (en) Configurable embedded processor
KR20080059651A (ko) 세마포어 예약을 클리어하기 위한 방법 및 장치
JP2008515090A5 (zh)
US8458411B2 (en) Distributed shared memory multiprocessor and data processing method
US8140797B2 (en) Integrated circuit and method of securing access to an on-chip memory
JPH08161254A (ja) 情報処理システムおよびそのバス調停方式
US20050135402A1 (en) Data transfer apparatus
US6502150B1 (en) Method and apparatus for resource sharing in a multi-processor system
JPH09153009A (ja) 階層構成バスのアービトレーション方法
KR100441996B1 (ko) 직접 메모리 액세스 제어기 및 제어 방법
EP1984943B1 (en) Selective transaction request processing at an interconnect during a lockout
JP2003280980A (ja) 共有メモリ排他制御装置及び共有メモリ排他制御方法
JPS63175964A (ja) 共有メモリ
JPH11203253A (ja) 共有資源排他アクセス制御方式
KR100210404B1 (ko) 공유 메모리 억세스 제어장치
EP1380960B1 (en) Memory access from different clock domains
JPH0351943A (ja) 高速バスと低速バスのバスライン共用化方式
EP0537898B1 (en) Computer system including video subsystem
JP2000207273A (ja) メモリ制御方式
JP2002163242A (ja) データ処理システム
JPS6332649A (ja) マルチプロセツサシステム