TW200811666A - Control device with flag registers for synchronization of communications between cores - Google Patents

Control device with flag registers for synchronization of communications between cores Download PDF

Info

Publication number
TW200811666A
TW200811666A TW095141067A TW95141067A TW200811666A TW 200811666 A TW200811666 A TW 200811666A TW 095141067 A TW095141067 A TW 095141067A TW 95141067 A TW95141067 A TW 95141067A TW 200811666 A TW200811666 A TW 200811666A
Authority
TW
Taiwan
Prior art keywords
flag
core
address
memory
cores
Prior art date
Application number
TW095141067A
Other languages
English (en)
Other versions
TWI416340B (zh
Inventor
Francois Chancel
Patrick Fulcheri
Original Assignee
Nxp Bv
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 Nxp Bv filed Critical Nxp Bv
Publication of TW200811666A publication Critical patent/TW200811666A/zh
Application granted granted Critical
Publication of TWI416340B publication Critical patent/TWI416340B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • 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
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Microcomputers (AREA)
  • Information Transfer Systems (AREA)
  • Static Random-Access Memory (AREA)
  • Storage Device Security (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Communication Control (AREA)

Description

200811666 九、發明說明: 【發明所屬之技術領域】 本發明係關於積體電路,且更準確而言係關於此類積體 電路之核心(或處理器)之間的通信同步。 【先前技術】 在多數複雜積體電路内部,韌體分佈於若干核心(或處 理器)上。對於用於例如行動電話之通信設備中之基頻裝 置之積體電路而言,情況尤其如此。 常常,一稱為CPU(控制處理單元)的主核心或處理器專 用於系統控制,而一或多個稱為DSP(數位信號處理器)之 特殊核心或處理器專用於特定數位信號處理,例如音訊處 理、視訊解碼或通信通道編碼。 如圖1中所說明,為允許兩個核心C1及C2之間的即時雙 通“(亦即資料傳送),已提出將一 DPRAM記憶體(雙埠隨 拽存取δ己憶體)M連接至此等核心之每一者之資料及位址匯 :排。可想此類型記憶體為一通常具有16或32位元寬度且 可由兩個核心(或處理器)同時存取之揮發性記憶體。在該 -置(圖1中所5兒明)之情況下,兩個核心c丨及C2將 視為一典型記憶體且可在其位址之任一者處讀取或寫入字 組。唯一的限制為當該等核心之一者在一DpRAM記憶體 儲存區域中寫人資料時另_核心不可存取此DpRAM記憶 體错存區域。 _…、驾此項技術者所熟知,經由一典型OPRAM記憶體Μ 同乂兩個核心Cl及C2之普通方法為使用旗標。回想旗標 116136.doc 200811666 為一儲存在DPRAM記憶體“内一位址處的二進位值。一旗 標目的在於向一第一核心(c14C2)發信號通知一第二核心 (C2或C1)已完成一操作或一任務(例如語音資料之編碼)且 由該操作或任務產生之資料已由此第二核心儲存至 DPRAM記憶體Μ之一部分DS中並可傳送至第一核心中。 母一旗標僅在核心之間的一個方向上使用:舉例而言,核 心C1輪詢一等待其值改變(自0至1}的旗標,而核心以在其 完成對應於此旗標之操作時將改變此旗標的值(自^至。。 由於以上k及之DPRAM存取限制,故不同旗標不可儲 存在一選疋位址處的相同DPRAM字組中,如圖2中所說 明。實際上,若假定兩個旗標X及γ儲存在一選定位址處 的相同DPRAM字組中,其值皆設定至零(〇),則當核心〇1 設定旗標X至一(1)且核心C2檢查旗標X之值時,核心C2& 須重設旗標X(自1至〇),且若核心2正重設旗標又的同時核 心C1設定旗標Y,則核心C2可丟失旗標γ。此外,當核心 C1及C2同時寫入時字組中的每個旗標的值將變得不確 疋 因此,必須母個子組繼而每個位址僅儲存一個旗標, 其就記憶體大小而言代價很高,尤其當DPRAM記憶體具 有32位元寬度時(例如對於128個一位元之旗標而言,一個 記憶體丟失496個位元(128x31))。 【發明内容】 因此,本發明之目的為改良該狀況,且更準確而言為提 出一種用於經由一記憶體(例如DPRAM類型)同步兩個核心 之間的通信而不會損壞大量記憶體大小的簡單方法。 116136.doc 200811666 為此目的’本發明提供一種控制裝置,其用於一包含至 少兩個核心的積體電路’該至少兩個核心經由匯流排輕接 至一記憶體’該記憶體經配置以儲存將在此等核心之門傳 送的資料。此控制裝置之特徵在於其包含至少—個旗標暫 存益’該至少-個旗標暫存隸由料核心之匯流排耗接 至该等核心且經配置以(在犯個位址處)儲存與由該等核心 之一者儲存至記Μ中並準備向另—核心、傳送之資料相關 的Ni個旗標值。健存在一第一位址處的每一旗標值可由該 ::心之一者借助於-指定此第-位址的命令(或指令)而 設定或重設,從而授權儲存在一第二位址處的另一旗標值 可由另-核心借助於一指定此第二位址的命令(或指令丁)而 同時設定或重設。 根據本發明之控制裝置可包括獨立或組合考慮的額外特 徵,且特別地: -其可包含i)至少一個第一旗標暫存器,其耦接至該等匯 流排且經配置以在N1個位址處儲存與由該等核心之一第 一者儲存至該記憶體中且準備向該等核心之一第二者傳 送之寅料相關的N1個旗標值,儲存在該第一暫存号之一 第一位址處的每一旗標值可由該第一核心借助於一指定 此第一位址的命令而設定且由該第二核心借助於該指定 此第一位址的命令而重設,及ii)至少一個第二旗標暫存 器’其耦接至該等匯流排且經配置以在N2個位址處儲存 與由該第二核心儲存至該記憶體中且準備向該第一核心 傳送之資料相關的N2個旗標值,儲存在該第二暫存器之 116136.doc 200811666 一第一位址處的每一旗標值可由該第二核心借助於一指 定此第一位址的命令而設定且由該第一核心借助於該指 疋此弟'位址的命令而重設; -母一旗標暫存器可包含丨)一第一控制構件,其包含一連 接至忒連接至第一核心之匯流排的第—輸入、Ni個第一 輸出及一第一旗標值讀取及寫入構件,⑴一第二控制構 件,其包含一連接至該連接至第二核心之匯流排的第二 輸入、Ni個第二輸出及一第二旗標值讀取及寫入構件, 及iii) 一儲存構件,其包含具有Ni個各別位址的Ni個儲 存區域,該等儲存區域經配置以分別儲存Ni個旗標值且 分別連接至該等第一輸出之一者及該等第二輸出之一 者; _該第一控制構件及該第二控制構件之每一者可經配置以 设疋及/或重設儲存至儲存構件之若干儲存區域中的若 干旗標值,每次其接收一指定此等若干儲存區域之各別 位址的單一命令; -其可包含記憶體,舉例而言,該記憶體可為一 drpam 記憶體或一 RAM記憶體。 本發明亦提供一種用於一電子設備的積體電路,其包含 例如上文所介紹之控制裝置的控制裝置。 本發明亦提供一種電子設備,其包含一例如上文所介紹 之積體電路的積體電路。此電子設備可為一電腦(個人電 腦或膝上型電腦)、-電話(行動電話、無線電話或固定電 話)、一個人數位助理(或PDA)或一音樂播放機(例如Mp3播 放機)。 116136.doc -9- 200811666 【實施方式】 隨附圖示不僅可用以完善本發明,且亦有助於其界定 (右需要)。 首先參看圖3,其描述根據本發明之一控制裝置d之實施 例之-非限制性(第―)實例。此控制裝置D構成一積體電 路1C之-部分,該積體電路听安裝至—f子設備仙中。 在以下描述中將認為該電子設備EE為一行動電話。但根 據本U之積體電路IC可安裝於任何需將—勒體分佈於若 干核心(或處理器)之間的電子設備中。因此,舉例而言, 該電子設備可為一電腦(個人電腦或膝上型電腦)、一無線 電話、一固定電話、一個人數位助理(或PDA)或一音樂播 放機(例如一 MP3播放機)。 如之則所提及,根據本發明之控制裝置D目的在於經由 一公用記憶體Μ同步一積體電路1(:之兩個核心以及C2之間 的雙通信。 在以下描述中,將認為該公用記憶體M為一 DpRAM記憶 體(雙埠隨機存取記憶體),其連接至第一匯流排BC1及第 二匯流排BC2(位址及資料匯流排),該第一匯流排BC1及 該第二匯流排BC2分別連接至第一核心ci及第二核心c2。 但本發明不限於此類型記憶體。其亦適用於任何可由兩個 核心借助於一公用多層匯流排而加以存取的記憶體。因 此,公用記憶體Μ亦可為一隨機存取記憶體(或RAM)。 此外,在以下描述中將認為第一核心C1為一主處理器, 亦稱為CPU(控制處理單元)且專用於行動電話EE之控制, 116136.doc •10- 200811666 而第核。C2為—特殊處理器,亦稱為DSP(數位信號處 器)且專用於特殊數位信號處理,例如音訊信號處理或 視訊解碼’或通信通道編碼。因此,第-核心㈣第二核 〜C2在下文有時將分別稱為CPU及DSP。 但本發明不限於該等類型之核心。實際上,其適用於需 要、、、二由公用圮憶體以一同步方式自另一核心(最終為相 同類型)接收資料或向其傳輸資料的任何類型的核心。 如之鈿所提及,一韌體至少部分地分佈至CPU C1及DSP C2中CI>U C1及DSP C2之每一者必須執行一旦完成則會 產生必須傳送至另一者之資料(至少對其中某些而言)的操 作或任務。資料必須被傳送之每一操作或任務與一旗標 (一進位值)相關。此外,將自一個核心或2)傳送至 另核心Cl (1==2或1)的每一資料群經由連接傳送核心(^之 匯抓排BCi傳輸至备己憶冑μ,則更短暫地儲存在一自核心 Ci及Ci’皆可知且與一選定旗標相關的選定位置處。 根據本發明,(公用)記憶體M僅儲存必須自一個核心〇 傳送至另一個核心Ci,的資料。 控制裝置D包含至少一個旗標暫存器FRi,該至少一個旗 標暫存器FRi經由CPU cl&Dsp C2的各別匯流排π〗及 BC2耦接至CPU c^dsp C2。每一旗標暫存器_經配置 以在選定位址處儲存以上提及之旗標之各別值。為此目 的,其包含對應於自CPU C1&Dsp C2得知之奶個位址的
Ni個儲存區域。 當一第一核心Ci(例如CPU C1)完成了與一在旗標暫存器 116136.doc -11 - 200811666 •中八有選疋位址的旗標相關的任務或操作時,該核 心Cl傳輸相應的資料群以將其傳送至記憶體M,以便該等 負料群了儲存在§己憶體中一選定位址處,並將一要求該旗 標暫存器Fri將與經傳送資料群相關的旗標設定至丨之訊息 傳輸至旗標暫存器FRi。 一訊息包含至少一個八位元組(或字組),其中每一位元 才曰疋旗彳7^5亥旗彳示的值儲存在相應的旗標暫存器frj 中。更準確而言,若一字組位元值等於〇,此意謂相應的 旗標值必須保持不變,而若一字組位元值等於丨,此意謂 相應的旗標值必須改變(自〇至1)。舉例而言,當一個8位元 字組等於⑽⑽嶋)時,與第—字組位元(等於υ相關之第 旗‘值必須设定至丨,而與其他七個字組位元(等於〇)相 關之七個其他旗標值必須保持不變。現當一 8位元字組等 於(00010001)時’與第一及第五字組位元(等於”相關之第 -及第五旗標值必須設定至i,而與其他六個字組位元(等 於〇)相關之六個其他旗標值必須保持不變。 因此,當對應於包含於訊息中之字組的旗標暫存器FRi 接收到此訊息時,其僅改變與之字組位元相關的每 -旗標值。換言之,其將與等於k字組位元相關的每一 旗標值設定⑷)。可想到只㈣作或任務未完成,則相應 的旗標值仍等於〇。 第一核。Ci (例如DSP C2)輪詢儲存至旗標暫存器中 之旗標值,當其感知到—旗標值之變化時,其得知相應的 資料群被儲存至記憶體财的相關位址處。因此其可存取 116136.doc -12 - 200811666 舌己te體Μ並進杆咨7由 ·, 丁貝枓傳送。當資料傳送已完成,第二核心
Cl Γ要求錢標暫存器FRi重設與經傳送資料群相關的 旗標之訊息傳輪至旗標暫存請i。此訊息亦包含至少— 個八位元組(或字組),其中每一位元指定一旗標,該 的值儲存在相應的旗標暫存器削中。 " 因此’备對應於包含於訊息中之字組的旗標暫存器FRi 接收到此迅息’其僅改變與等於1之字組位元相關的每_ 旗枯值換5之,其將與等於丨之字組位元相關的每—旗 標值重設(至0)。 ' 第核心Cl輪詢儲存至旗標暫存器FRi中的旗標值,當 其感知到-旗標值之變化時,其得知其先前傳輸至記情體 Μ的相應的資料群已有效傳送至第二核心 該等核心之一 每旗‘暫存器FRi可同時由兩個核心c 1及C2存取’每 一旗標值(儲存在一旗標暫存器FRi中的一第一位址處)可由 者(例如C1)借助於一含有指定此第一位址之 至少一個字組的訊息(或命令)而設定或重設,而與此同 時,至少一個其他旗標值(儲存在此旗標暫存器FRi中的一 第二位址處)可由另一核心(例如C2)借助於一含有指定此第 一位址之至:>、個子組的訊息(或命令)而同時設定或重 設0 在圖3所說明之非限制性實例中,控制裝置D包含皆耦接 至第- ®流排勵及第二匯流排BC2之第_單向旗標暫存 器FR1及帛二單向旗標暫存器FR2。單向旗標暫存器阳為 在其中第一核心Ci僅可設定旗標值(關於其必須執行之操 116136.doc -13· 200811666 作或任務)而第二核心Ci,僅可重設旗標值(關於其正等待的 資料群)的暫存器。 在所說明之實例中,第一旗標暫存器FR1專用於由cpu c 1執行之操作或任務,而第二旗標暫存器FR2專用於由 DSP C2執行之操作或任務。因此,cpu ci可將旗標值設 定至1進入暫存器FR1中並將旗標值重設至〇進入第二暫存 器FR2中,而DSP C2可將旗標值設定至1進入第二暫存器 FR2中並將旗標值重設至〇進入第一暫存器fri中。 第一旗標暫存器FR1包含N1個儲存區域,以用於儲存與 自》己丨思體Μ至第二核心C2之資料傳送有關的N1個旗標之各 別值。第二旗標暫存器FR2包含N2個儲存區域,以用於儲 存與資料自記憶體Μ至第一核心C1之傳送有關的N2個旗標 之各別值。舉例而言,N1=N2 = 8。 在圖3所說明之非限制性實例中,控制裝置D包含第一單 向旗標暫存器FR1及第二單向旗標暫存器FR2,但在—不 同實例中,控制裝置D可包含若干第一單向旗標暫存器 FR1及/或若干第二單向旗標暫存器FR2,或至少一個雙向 旗標暫存器。在最後一種狀況下(雙向旗標暫存器),每個 核心ci可設定或重設儲存在一旗標暫存器FRii川個儲存 區域中的任何旗標值。此需要一相同二進位值〇或丨對於第 一核心C1及第二核心C2而言具有相反的含義(亦即,〇被第 一核心C1看作為〇但被第二核心C2看作為〇。 重要的是應注意(單向或雙向)旗標暫存器FRi之數目取決 於必須儲存的旗標值的數目(與每一核心Ci相關的)。舉例 116136.doc -14- 200811666 而言,若要儲存的旗標值少於8個,則僅—個旗標暫存器 便足夠。現若要儲存的旗標值多於8個,則必須提供兩個 或兩個以上旗標暫存器。通常,旗標之數目取決於-匯流 排BCi能傳輸的位元之數目。 此外,在圖3所說明之非限制性實例中,該控制裂置d獨 立於記憶體M°但在—不同實例巾,記憶體Μ可為控制裝 置D之-部分,如圖4中所說明。在此狀況下,旗標暫存器 FRi可構成一暫存器R之一或多個部分。 現將參看圖5及圖6更詳細地描述一控制裝置〇之實施例 之一實例。 圖5說明一實施例之一功能性實例,其中每一旗標暫存 器FRi包含一第一控制模組CM1、一第二控制模組^“二及 一儲存模組SM。圖5中僅已展示第一旗標暫存器FR1之功 月b結構。但第二旗標暫存器FR2之功能結構與第一旗標暫 存器FR1之功能結構相同。 儲存模組SM包含具有Ni個各別位址的Ni個一位元儲存 區域(1至Ni),其分別用於儲存犯個旗標之當前值⑶或丨)。 第一控制模組CM1包含: -一第一讀取及寫入模組RWM1,其用於存取儲存模組SM 之Ni個不同儲存區域(1至Ni),以便進行讀取及寫入。其作 為對CPU C1之介面且包含執行控制邏輯之組件, -一第一輸入,其連接至第一匯流排BC1(其連接至CPU Cl)且連接至第一讀取及寫入模組RWM1,及 -Ni個第一輸出,其連接至第一讀取及寫入模組RWM1且 116136.doc -15- 200811666 連接至儲存模組SM之Ni個不同儲存區域(丨至!^)。 第一控制模組CM1及第二控制模組CM2具有相同的功能 結構。因此,第二控制模組CM2包含: -一第一碩取及寫入模組RWM2 ’其用於存取儲存模組sm 之Ni個不同儲存區域(1至Ni),以便進行讀取及寫入。其作 為對DSPC2之介面且包含執行控制邏輯之組件, -一弟一輸入,其連接至第二匯流排BC2(其連接至DSP C2)且連接至第二讀取及寫入模組,及 -Ni個第一輸出,其連接至第二讀取及寫入模組RWM2且 連接至儲存模組SM之Ni個不同儲存區域(1至1<[丨)。 由於此對稱結構,且更準確而言由於該第一控制模組 CM1及該第二控制模組CM2,每一旗標暫存器FRi可同時 由CPU C1及DSP C2存取以達成讀取(輪詢)及/或寫入之目 的。 ί. 較佳地,第一控制模組CM1&第二控制模組CM2之每一 者可大致同時設定及/或重設儲存於儲存模組SM之若干儲 存區域中的若干(至少兩個且較佳恥個)旗標值,每次其自 其搞接所至之核心Ci接卜指定此等若干儲存區域之各別 位址的單一命令(訊息)。此係由每一旗標暫存器FRi接收一 若干位元之命令字組這一事實所導致。 為此目的,每一旗標暫存器FRi之第—控制模組cmi及 第二控制模組CM2及儲存模組SM可分成各自負責一個旗 標值的(亦即一個位元的)處理(讀取及寫入)的奶個相同且 w行的α卩件。圖6中說明此等n i個旗標暫存器部件之一者 116136.doc -16- 200811666 之實施例的一非限制性實例。 此所說明之旗標暫存器部件包含:一第一控制子模組 CMlj (j 1至Νι),其構成第一控制模組cM1之犯個部件 (CM11至CMlNi)之—者;_第二控制子模組CM2j㈣至 Νι) ’其構成第二控制模組CM22Ni個部件(CM2iSCM2Ni) 之一者;及一儲存子模組SMj(j = i至Ni),其構成儲存模組 SM之Ni個部件之一者。 舉例而s,且如說明,每一第一控制子模組CMij包含 第項取及寫入子模組RWM lj,該第一讀取及寫入子模 組RWMlj包含: 、 -第-AND閘AGU,其具有:一連接至第一匯流排⑽ 且對應於待寫入旗標暫存器之第〗個旗標值的第一輸入 (BitN寫入),一亦連接至第一匯流排bc丨且致能寫入操 作(等於0的值意謂無操作要做,而等於丨的值意謂必須對 第j個旗標值執行一寫入操作)的第二輸入(”寫入");及一 構成第一控制模組CM1之Ni個輸出之一者之第一子部件的 輸出, -一第二AND閘AG12,其具有:一連接至第一匯流排吻 用於接收來自一第一時脈(專用於核心C1)之時脈週期的第 一輸入("時脈’’);一連接至第一AND閘AGU之輸出的第二 輸入;及一構成第一控制模組CMl2Ni個輸出之一者之第 二子部件的輸出,及
-一正反器F1(或”FF2"),其具有:一用於接收來自第—時 脈之時脈週期的第一輸入、一用於接收一第】個旗標值J 116136.doc -17 - 200811666 第輸(D ),用於將該傳遞j個旗標值("BitN讀取”)至 第一匯流排BC1中的輸出("q”)。 每-第二控制子模組CM2j包含—第二讀取及寫入子模 組RWM2j ’ $第二讀取及寫入子模組聽响包含: 第AND閘AG21,纟具有··一連接至第二匯流排BC2 且對應於待寫入旗標暫存器之第j個旗標值的第-反相輸 入(BitN寫人),_亦連接至第二匯流排且致能寫入 才呆作的第二輪人(”宜人"、· (罵入),及一構成第二控制模組CM2之 Νι個輸出之一者之第一子部件的輸出, 第一 AND閘AG22,其具有:一連接至第二匯流排BC2 用於接收來自一第二時脈(專用於核心C2)的時脈週期的第 輸入(時脈”);一連接至第一 AND閘AG21之輸出的第二 輸入,及構成第二控制模組CM2之Ni個輸出之一者之第 二子部件的輸出,及 -一正反器F2(或” FF3”),其具有:一用於接收來自第二時 脈之時脈週期的第一輸入;一用於接收第】個旗標值的第 一輸入("D”);及一用於將傳遞第〗個旗標值(,,BitN讀取")至 第一匯流排BC2中的輸出("q”)。 每一儲存子模組SMj包含: _ 一第一OR閘OG1,其具有:一連接至第一讀取及寫入子 模組RWMlj之第一 AND閘AGU之輸出的第一輸入;一連 接至第二讀取及寫入子模組RWM2j之第一 AND閘AG21之 輸出的第二反相輸入;及一輸出, -一第二OR閘〇G2,其具有··一連接至第一讀取及寫入子 116136.doc •18- 200811666 模組RWMlj之第二AND閘AG12之輸出的第一輸入;一連 接至第二讀取及寫入子模組RWM2j之第二AND閘ag22之 輸出的第二輸入;及一輸出,及 -一正反器F3(或” FF1”),其具有:一連接至第一 〇尺閘 〇Gl之輸出的第一輸入(”D,,); 一連接至第二〇R閘^⑺之 輸出的第二輸入("CK"·時脈);及一用於傳遞該第j個旗標 值("BUN讀取")的輸出("Q")。此正反器F3在第二0R閉 輸出之信號的控制下儲存由第一0R_G1輸出之信號所界 定的旗標值。 對於此該配置,可對第一旗標暫存器FR1(其含有與自記 憶體Μ至第二核心C2之資料傳送有關的旗標值)應用以下 之(非限制性)規則實例: -若第一核心cm將值,,core_cl—write_value(核心ci寫入 值)"寫人第-旗標暫存請i之儲存模組SM之第j個儲存區 域’則後者執行逐個位元應用之操作"吻咖㈣此= registerjahxe ! core_C1_write_value(暫存器值=暫存器劍 核心C1寫人值)”(其中丨為二進位運算子〇R),以計算新的暫 存器值。因此’第-旗標暫存器FR1僅將—時脈週期給予 將,,C〇re_C1_write_value"位元設定至i的第』個部件之正反 β F1或F2,在另-側的另_正反器仏销保留具有同時及 非同步Η·時的能力。此意謂旗標暫存器fri中以)寫入且與 等於1的字組位元相關之所有旗標值収⑷),而雄標暫 存器FR1中以0或1寫入且與等於咐組位元相關之所有旗 標值保持不變, ' 116136.doc -19- 200811666 -若第二核心C2將值ncore—C2—write—value(核心C2寫入 值)寫入第一暫存器FR1之儲存模組SM之第j個儲存區域, 則後者執行逐個位元應用之操作”register_value= register—value & core—C2一write—value(暫存器值=暫存器 值&核心C2寫入值)"(其中&為二進位運算子”and,,),以計 算新的暫存器值。因此,第一旗標暫存器FR1僅將一時脈 週期給予將nc〇re—C2一write—value(核心C2寫入值)”位元設
疋至0的正反器F1或F2 ’在另一側的另一正反器^2或^保 留具有同時及非同步計時的能力。此意謂旗標暫存器咖 中以1寫入且與等於〇的字組位元相關之所有旗標值清除 (重設至0),而旗標暫存器FR1中以〇或1寫入且與等於工的
字組位7L相關之所有旗標值保持不變。此使用由第一 AND 閘AG21之第一輸入(”BitN寫入")被反轉這一事實所致的字 位元之反轉。 互反規則應用於含有與自記憶體M至第一核心ci之資料 傳送有關的旗標值的第二旗標暫存器FR2。 由於一旗標暫存器FRi内部的旗標為獨立的,故硬體允 許將自-個時脈域至另—時脈域的傳播減少到最小。實際 上,若一個核心(C1或C2)在同—時間(在—單一寫入指= (或命令)内)將奸旗標設定至丄’則不必保證在另一 ^ (C2或C1)之時脈之相同週期内亦設定所有旗標。 以下給出-真值表之-實例’其可應用於圖6中所說明 之實施例之實例。 116136.doc -20- 200811666 C1側 C2側 F3 (MFF1M) 註解 時脈 寫入 BitN 寫入 時脈 寫入 BitN 寫入 D CK Qn+1 个 1 1 X X 1 1 η 1 設定旗標 X X 0 X X 1 X 0 Qn 不做任何辜 X X 0 个 1 0 0 个 0 清除旗標 此真值表展示第一核心僅能寫入等於工的位元值。舉例 而言,表的第二行對應於第一核心(:丨的❹的寫入(經由核心 C1已傳輸的字組(命令)中等於〇的位元),其展示相應的旗 標值保持不變(Qn+i=Qn)及第二核心C2僅能寫入等於〇的旗 標值。 、 該控制裝置D通常以硬體模組來實現。 得益於本發明,專用於界定一旗標值之位元之儲存的每 一儲存區域的大小等於一(1)位元。因此,大大減少了專用 於旗標值之儲存的記憶體大小。此外,旗標值儲存至旗標 暫存器中’於是公用記憶體之所有儲存區域可用於儲存在 核心間傳送的資料。因此’可能增加可在傳送之前儲存至 公用記憶體中的資料的數目,或減少公用記憶體之大小, 此可釋放某些空間以用於積體電路中之另—電子組件。 本發明不限於上述控制裝置、積體電路及電子設備之實 施例^等實施例僅作為實例,但本發明包含在以下申請 專利範圍之範轉内可由孰習+馆& 〜^ M U項技術者所瞭解的所有替代 【圖式簡單說明】 公用DPR AM記憶 圖1不意性地說明將兩個核心耦接至一 體的一先前技術積體電路的一部分, 116136.doc -21 - 200811666 圖2示意性地說明一 DPRAM記憶體及旗標在此記憶體内 的儲存方法, 圖3示意性地說明將兩個核心耦接至一記憶體且编接至 根據本發明之控制裝置之第一實例的一積體電路的一部 分, 圖4示意性地說明將兩個核心耦接至根據本發明之控制 裝置之第二實例的一積體電路的一部分, 圖5在功能上說明圖3中所說明之控制裝置之一旗標暫存 器之實施例的一實例,及 圖6示意性地說明專用於處理單一位元旗標值的一旗標 暫存器之實施例的一實例。 【主要元件符號說明】 AG11 第一讀取及寫入子模 組之第一 AND閘 AG12 第一讀取及寫入子模 組之第二AND閘 AG21 第二讀取及寫入子模 組之第一 AND閘 AG22 第二讀取及寫入子模 組之第二AND閘 BC1 第一匯流排 BC2 第二匯流排 C1 第一核心 C2 第二核心 116136.doc -22- 200811666 CMl CMlj CM2 CM2j
D
DS
EE F1(FF2)、F2(FF3)、F3(FF1) FR1 FR2
Fri
IC
M OG1 OG2
R RWM1 RWMlj RWM2 RWM2j
SM SMj 第一控制模組 第一控制子模組 第二控制模組 第二控制子模組 控制裝置 記憶體Μ之一部分 電子設備 正反器 第一旗標暫存器 第二旗標暫存器 旗標暫存器 積體電路 記憶體 第一 OR閘 第二OR閘 暫存器 第一讀取及寫入模組 第一讀取及寫入子模組 第二讀取及寫入模組 第二讀取及寫入子模組 儲存模組 儲存子模組 116136.doc -23-

Claims (1)

  1. 200811666 十、申請專利範圍·· 1. 一種用於一積體電路(IC)之控制裝置(D),該積體電路 (1C)包含至少兩個核心(C1、C2),該至少兩個核心(C1、 C2)經由匯流排(BC1、BC2)搞接至一記憶體(m),該記憶 體(M)經配置以儲存將在該等核心(C1、C2)之間傳送的 資料,該控制裝置(D)之特徵在於其包含至少一個旗標暫 存器(FRi),該至少一個旗標暫存器(FRi)經由該等匯流 排(BC1、BC2)輕接至該等核心(C1、C2),且經配置以在 NH固位址處儲存與由該等核心之一者儲存至該記憶體 中且準備向該等核心之另一者傳送之資料相關的個旗 私值,儲存在一第一位址處的每一旗標值可由該等核心 (C1 C2)之一者借助於一指定該第一位址的命令而設定 或重設,從而授權儲存在一第二位址處的另一旗標值由 另一核心(C2、C1)借助於一指定該第二位址的命令而同 時設定或重設。 2·如請求項1之控制裝置,其特徵在於其包含丨)至少一個第 一旗標暫存器(FR1),其耦接至該等匯流排(BC1,BC2) 且經配置以在N1個位址處儲存與由該等核心之一第一者 (C1)儲存至該記憶體(M)中且準備向該等核心之一第二者 (C2)傳送之資料相關的川個旗標值,儲存在該第一暫存 器之一第一位址處的每一旗標值可由該第一核心借助於 一指定該第一位址的命令而設定,且由該第二核心(C2) 4曰助於該指定該第一位址的命令而重設,及ii)至少一個 第二旗標暫存器(FR2),其耦接至該等匯流排(BC1、bc2) 116136.doc 200811666 且經配置以在N2個位址處儲存與由該第二核心(c2)儲存 至該記憶體(M)中且準備向該第一核心(C1)傳送之資料相 關的N2個旗標值,儲存在該第二暫存器(FR2)之一第一 位址處的每一旗標值可由該第二核心(C2)借助於一指定 該第一位址的命令而設定且由該第一核心(C1)借助於該 指定該第一位址的命令而重設。 3 ·如請求項1及2中任一項之控制裝置,其特徵在於每一旗 標暫存器(FRi)包含i)一第一控制構件(cmi),其包含: 一連接至該連接至該第一核心(C1)之匯流排(BC1)的第一 輸入、Ni個第一輸出及一第一旗標值讀取及寫入構件 (RWM1),ii)一第二控制構件(CM2),其包含··一連接至 該連接至該第二核心(C2)之匯流排(BC2)的第二輸入、恥 個第二輸出及一第二旗標值讀取及寫入構件(RWM2), 及⑴)一儲存構件(SM),其包含具有Ni個各別位址的沁個 儲存區域’該等儲存區域經配置以分別儲存Ni個旗標值 且分別連接至該等第一輸出之一者及該等第二輸出之一 者。 4·如請求項3之控制裝置,其特徵在於該第一控制構件 (CM1)及該第二控制構件(CM2)之每一者經配置以當其接 收到一指定該儲存構件(S Μ)之若干儲存區域之該等各別 位址的單一命令時,設定及/或重設儲存於該等若干儲存 區域中的若干旗標值。 5.如睛求項1或2中任一項之控制裝置,其特徵在於其包含 該記憶體(Μ)。 116136.doc 200811666 月求項5之控制裝置,其特徵在於該記憶體(μ)係在一 υ 3至少一 DPRAM記憶體及一 RAM記憶體之群中選 出。 、 7· 於—電子設備(EE)之積體電路(IC),其特徵在於 ’、L含〜如請求項1或2中任一項之控制裝置⑴)。 8· —種電子設備(ΕΕ),其特徵在於其包 體電路(Ic)。 如%求項7之積 9·如請求項8之電子設備,其特徵在於其係在一 一電聰 ^ 、“牡一包含至少 电細、一電話、一個人數位助理及_立 中選出。 機之群 116136.doc
TW095141067A 2005-11-08 2006-11-06 具有用於核心間通信同步之旗標暫存器的控制裝置 TWI416340B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP05300900 2005-11-08

Publications (2)

Publication Number Publication Date
TW200811666A true TW200811666A (en) 2008-03-01
TWI416340B TWI416340B (zh) 2013-11-21

Family

ID=37938484

Family Applications (1)

Application Number Title Priority Date Filing Date
TW095141067A TWI416340B (zh) 2005-11-08 2006-11-06 具有用於核心間通信同步之旗標暫存器的控制裝置

Country Status (7)

Country Link
US (1) US7890736B2 (zh)
EP (1) EP1949249A2 (zh)
JP (1) JP4940436B2 (zh)
KR (1) KR101029392B1 (zh)
CN (1) CN101305356B (zh)
TW (1) TWI416340B (zh)
WO (1) WO2007054871A2 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9760526B1 (en) 2011-09-30 2017-09-12 EMC IP Holdings Company LLC Multiprocessor messaging system
US9037838B1 (en) * 2011-09-30 2015-05-19 Emc Corporation Multiprocessor messaging system
KR101804027B1 (ko) 2012-06-15 2017-12-01 인텔 코포레이션 메모리로부터 순차적으로 판독하는 load들을 구성하는 메모리 일관성 모델에서 비순차 load들을 갖는 세마포어 방법 및 시스템
KR101660022B1 (ko) * 2015-09-10 2016-09-27 아둘람테크 주식회사 버스 인터페이스 효율을 향상시키기 위한 장치 및 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US690750A (en) * 1901-02-09 1902-01-07 Nat Carbon Co Sparking-coil.
US4594657A (en) * 1983-04-22 1986-06-10 Motorola, Inc. Semaphore for memory shared by two asynchronous microcomputers
JPH0656603B2 (ja) * 1986-02-10 1994-07-27 株式会社日立マイコンシステム デ−タ処理システム
JPS63654A (ja) * 1986-06-19 1988-01-05 Fujitsu Ltd プロセッサ間の通信制御方法
US5611053A (en) * 1994-01-21 1997-03-11 Advanced Micro Devices, Inc. Apparatus and method for integrating bus master ownership of local bus load by plural data transceivers
JP2859178B2 (ja) * 1995-09-12 1999-02-17 日本電気通信システム株式会社 プロセッサ間データ転送方式及びプロセッサ間データ転送用リングバッファメモリ
US5649125A (en) * 1995-10-30 1997-07-15 Motorola, Inc. Method and apparatus for address extension across a multiplexed communication bus
US6711667B1 (en) * 1996-06-28 2004-03-23 Legerity, Inc. Microprocessor configured to translate instructions from one instruction set to another, and to store the translated instructions
US5951659A (en) * 1997-04-07 1999-09-14 Ncr Corporation Communications-oriented computer system backplane including a PCI input/output bus for transmission of address, data, and control information, and a time-domain multiplexed signal bus (TDMSB) for transmission of high-speed digitized signal information
WO1999022296A2 (en) * 1997-10-29 1999-05-06 Koninklijke Philips Electronics N.V. Method and system for synchronizing block-organized data transfer
JP4123315B2 (ja) * 1999-02-19 2008-07-23 株式会社安川電機 デュアルポートramのデータ受け渡し装置および方法
CN1282925A (zh) * 1999-07-12 2001-02-07 松下电器产业株式会社 数据处理装置
DE19951541C1 (de) * 1999-10-26 2000-10-26 Siemens Ag Integrierter elektronischer Baustein mit duplizierter Kernlogik und Hardware-Fehlereinspeisung für Prüfzwecke
KR100946831B1 (ko) * 2001-01-31 2010-03-09 가부시키가이샤 히타치세이사쿠쇼 데이터 처리 시스템 및 데이터 프로세서
US6823441B1 (en) * 2001-04-20 2004-11-23 Daimlerchrysler Corporation Method of multiplexed address and data bus
US6907503B2 (en) * 2001-09-27 2005-06-14 Daimlerchrysler Corporation Dual port RAM communication protocol

Also Published As

Publication number Publication date
US7890736B2 (en) 2011-02-15
TWI416340B (zh) 2013-11-21
WO2007054871A2 (en) 2007-05-18
KR20080077150A (ko) 2008-08-21
WO2007054871A3 (en) 2008-04-17
CN101305356A (zh) 2008-11-12
JP4940436B2 (ja) 2012-05-30
JP2009514118A (ja) 2009-04-02
EP1949249A2 (en) 2008-07-30
US20080294876A1 (en) 2008-11-27
CN101305356B (zh) 2010-09-01
KR101029392B1 (ko) 2011-04-14

Similar Documents

Publication Publication Date Title
US20030088743A1 (en) Mobile wireless communication device architectures and methods therefor
US6931470B2 (en) Dual access serial peripheral interface
JPH1153169A (ja) 低電力で相互接続の簡単なマイクロプロセッサ及びメモリー・インターフェース
US20180152779A1 (en) Low latency transmission systems and methods for long distances in soundwire systems
US8675679B2 (en) Cooperative writes over the address channel of a bus
TW200811666A (en) Control device with flag registers for synchronization of communications between cores
US8171186B1 (en) On-chip interconnect fabric
US20090204770A1 (en) Device having shared memory and method for controlling shared memory
JP2006040276A (ja) 選択的なクロック制御に基づいて消費電力を節減させるバス仲裁システム及びその方法
JP5324908B2 (ja) カードホストlsiを有するセット機器、およびカードホストlsi
US8976618B1 (en) Decoded 2N-bit bitcells in memory for storing decoded bits, and related systems and methods
JP4772891B2 (ja) ホストコントローラ、コンピュータ端末およびカードアクセス方法
WO2007114676A1 (en) Device having shared memory and method for providing access status information by shared memory
CN1975635B (zh) 引入总线编码的增强型Wishbone片上总线
CN106940684B (zh) 一种按比特写数据的方法及装置
US11194744B2 (en) In-line memory module (IMM) computing node with an embedded processor(s) to support local processing of memory-based operations for lower latency and reduced power consumption
Hakizimana et al. Distributed medical record system using portable devices, case study of Rwanda work in progress
US8498165B2 (en) Data outputing method of memory circuit and memory circuit and layout thereof
KR100886179B1 (ko) 듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를위한 장치
JP3196107B2 (ja) データ交換システム
JP3400730B2 (ja) データ伝送方式及びこのデータ伝送方式に用いるデータ伝送制御装置
TW200403689A (en) Access circuit
CN101911049B (zh) 处理架构
JP2005251004A (ja) 無線装置及びデータ演算システム
JP3596798B2 (ja) 2ビット/4ビット・エンコーダを持つレジスタ・ファイル・アレイ

Legal Events

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