TWI416340B - 具有用於核心間通信同步之旗標暫存器的控制裝置 - Google Patents

具有用於核心間通信同步之旗標暫存器的控制裝置 Download PDF

Info

Publication number
TWI416340B
TWI416340B TW095141067A TW95141067A TWI416340B TW I416340 B TWI416340 B TW I416340B TW 095141067 A TW095141067 A TW 095141067A TW 95141067 A TW95141067 A TW 95141067A TW I416340 B TWI416340 B TW I416340B
Authority
TW
Taiwan
Prior art keywords
flag
core
cores
memory
address
Prior art date
Application number
TW095141067A
Other languages
English (en)
Other versions
TW200811666A (en
Inventor
Francois Chancel
Patrick Fulcheri
Original Assignee
St Ericsson Sa
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 St Ericsson Sa filed Critical St Ericsson Sa
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

Description

具有用於核心間通信同步之旗標暫存器的控制裝置
本發明係關於積體電路,且更準確而言係關於此類積體電路之核心(或處理器)之間的通信同步。
在多數複雜積體電路內部,韌體分佈於若干核心(或處理器)上。對於用於例如行動電話之通信設備中之基頻裝置之積體電路而言,情況尤其如此。
常常,一稱為CPU(控制處理單元)的主核心或處理器專用於系統控制,而一或多個稱為DSP(數位信號處理器)之特殊核心或處理器專用於特定數位信號處理,例如音訊處理、視訊解碼或通信通道編碼。
如圖1中所說明,為允許兩個核心C1及C2之間的即時雙通信(亦即資料傳送),已提出將一DPRAM記憶體(雙埠隨機存取記憶體)M連接至此等核心之每一者之資料及位址匯流排。可想此類型記憶體為一通常具有16或32位元寬度且可由兩個核心(或處理器)同時存取之揮發性記憶體。在該配置(圖1中所說明)之情況下,兩個核心C1及C2將DPRAM視為一典型記憶體且可在其位址之任一者處讀取或寫入字組。唯一的限制為當該等核心之一者在一DPRAM記憶體儲存區域中寫入資料時另一核心不可存取此DPRAM記憶體儲存區域。
如熟習此項技術者所熟知,經由一典型DPRAM記憶體M同步兩個核心C1及C2之普通方法為使用旗標。回想旗標為一儲存在DPRAM記憶體M內一位址處的二進位值。一旗標目的在於向一第一核心(C1或C2)發信號通知一第二核心(C2或C1)已完成一操作或一任務(例如語音資料之編碼)且由該操作或任務產生之資料已由此第二核心儲存至DPRAM記憶體M之一部分DS中並可傳送至第一核心中。每一旗標僅在核心之間的一個方向上使用:舉例而言,核心C1輪詢一等待其值改變(自0至1)的旗標,而核心C2在其完成對應於此旗標之操作時將改變此旗標的值(自0至1)。
由於以上提及之DPRAM存取限制,故不同旗標不可儲存在一選定位址處的相同DPRAM字組中,如圖2中所說明。實際上,若假定兩個旗標X及Y儲存在一選定位址處的相同DPRAM字組中,其值皆設定至零(0),則當核心C1設定旗標X至一(1)且核心C2檢查旗標X之值時,核心C2必須重設旗標X(自1至0),且若核心2正重設旗標X的同時核心C1設定旗標Y,則核心C2可丟失旗標Y。此外,當核心C1及C2同時寫入時字組中的每個旗標的值將變得不確定。因此,必須每個字組繼而每個位址僅儲存一個旗標,其就記憶體大小而言代價很高,尤其當DPRAM記憶體具有32位元寬度時(例如對於128個一位元之旗標而言,一個記憶體丟失496個位元(128×31))。
因此,本發明之目的為改良該狀況,且更準確而言為提出一種用於經由一記憶體(例如DPRAM類型)同步兩個核心之間的通信而不會損壞大量記憶體大小的簡單方法。
為此目的,本發明提供一種控制裝置,其用於一包含至少兩個核心的積體電路,該至少兩個核心經由匯流排耦接至一記憶體,該記憶體經配置以儲存將在此等核心之間傳送的資料。此控制裝置之特徵在於其包含至少一個旗標暫存器,該至少一個旗標暫存器經由該等核心之匯流排耦接至該等核心且經配置以(在Ni個位址處)儲存與由該等核心之一者儲存至記憶體中並準備向另一核心傳送之資料相關的Ni個旗標值。儲存在一第一位址處的每一旗標值可由該第核心之一者借助於一指定此第一位址的命令(或指令)而設定或重設,從而授權儲存在一第二位址處的另一旗標值可由另一核心借助於一指定此第二位址的命令(或指令)而同時設定或重設。
根據本發明之控制裝置可包括獨立或組合考慮的額外特徵,且特別地:-其可包含i)至少一個第一旗標暫存器,其耦接至該等匯流排且經配置以在N1個位址處儲存與由該等核心之一第一者儲存至該記憶體中且準備向該等核心之一第二者傳送之資料相關的N1個旗標值,儲存在該第一暫存器之一第一位址處的每一旗標值可由該第一核心借助於一指定此第一位址的命令而設定且由該第二核心借助於該指定此第一位址的命令而重設,及ii)至少一個第二旗標暫存器,其耦接至該等匯流排且經配置以在N2個位址處儲存與由該第二核心儲存至該記憶體中且準備向該第一核心傳送之資料相關的N2個旗標值,儲存在該第二暫存器之一第一位址處的每一旗標值可由該第二核心借助於一指定此第一位址的命令而設定且由該第一核心借助於該指定此第一位址的命令而重設;-每一旗標暫存器可包含i)一第一控制構件,其包含一連接至該連接至第一核心之匯流排的第一輸入、Ni個第一輸出及一第一旗標值讀取及寫入構件,ii)一第二控制構件,其包含一連接至該連接至第二核心之匯流排的第二輸入、Ni個第二輸出及一第二旗標值讀取及寫入構件,及iii)一儲存構件,其包含具有Ni個各別位址的Ni個儲存區域,該等儲存區域經配置以分別儲存Ni個旗標值且分別連接至該等第一輸出之一者及該等第二輸出之一者;-該第一控制構件及該第二控制構件之每一者可經配置以設定及/或重設儲存至儲存構件之若干儲存區域中的若干旗標值,每次其接收一指定此等若干儲存區域之各別位址的單一命令;-其可包含記憶體,舉例而言,該記憶體可為一DRPAM記憶體或一RAM記憶體。
本發明亦提供一種用於一電子設備的積體電路,其包含一例如上文所介紹之控制裝置的控制裝置。
本發明亦提供一種電子設備,其包含一例如上文所介紹之積體電路的積體電路。此電子設備可為一電腦(個人電腦或膝上型電腦)、一電話(行動電話、無線電話或固定電話)、一個人數位助理(或PDA)或一音樂播放機(例如MP3播放機)。
隨附圖示不僅可用以完善本發明,且亦有助於其界定(若需要)。
首先參看圖3,其描述根據本發明之一控制裝置D之實施例之一非限制性(第一)實例。此控制裝置D構成一積體電路IC之一部分,該積體電路IC可安裝至一電子設備EE中。
在以下描述中將認為該電子設備EE為一行動電話。但根據本發明之積體電路IC可安裝於任何需將一韌體分佈於若干核心(或處理器)之間的電子設備中。因此,舉例而言,該電子設備可為一電腦(個人電腦或膝上型電腦)、一無線電話、一固定電話、一個人數位助理(或PDA)或一音樂播放機(例如一MP3播放機)。
如之前所提及,根據本發明之控制裝置D目的在於經由一公用記憶體M同步一積體電路IC之兩個核心C1及C2之間的雙通信。
在以下描述中,將認為該公用記憶體M為一DPRAM記憶體(雙埠隨機存取記憶體),其連接至第一匯流排BC1及第二匯流排BC2(位址及資料匯流排),該第一匯流排BC1及該第二匯流排BC2分別連接至第一核心C1及第二核心C2。但本發明不限於此類型記憶體。其亦適用於任何可由兩個核心借助於一公用多層匯流排而加以存取的記憶體。因此,公用記憶體M亦可為一隨機存取記憶體(或RAM)。
此外,在以下描述中將認為第一核心C1為一主處理器,亦稱為CPU(控制處理單元)且專用於行動電話(電子設備EE)之控制,而第二核心C2為一特殊處理器,亦稱為DSP(數位信號處理器)且專用於特殊數位信號處理,例如音訊信號處理或視訊解碼,或通信通道編碼。因此,第一核心C1及第二核心C2在下文有時將分別稱為CPU及DSP。
但本發明不限於該等類型之核心。實際上,其適用於需要經由一公用記憶體以一同步方式自另一核心(最終為相同類型)接收資料或向其傳輸資料的任何類型的核心。
如之前所提及,一韌體至少部分地分佈至CPU C1及DSP C2中。CPU C1及DSP C2之每一者必須執行一旦完成則會產生必須傳送至另一者之資料(至少對其中某些而言)的操作或任務。資料必須被傳送之每一操作或任務與一旗標(二進位值)相關。此外,將自一個核心Ci(i=1或2)傳送至另一核心Ci'(i=2或1)的每一資料群經由連接傳送核心Ci之匯流排BCi傳輸至記憶體M,以便短暫地儲存在一自核心Ci及Ci'皆可知且與一選定旗標相關的選定位置處。
根據本發明,(公用)記憶體M僅儲存必須自一個核心Ci傳送至另一個核心Ci'的資料。
控制裝置D包含至少一個旗標暫存器FRi,該至少一個旗標暫存器FRi經由CPU C1及DSP C2的各別匯流排BC1及BC2耦接至CPU C1及DSP C2。每一旗標暫存器FRi經配置以在選定位址處儲存以上提及之旗標之各別值。為此目的,其包含對應於自CPU C1及DSP C2得知之Ni個位址的Ni個儲存區域。
當一第一核心Ci(例如CPU C1)完成了與一在旗標暫存器FRi中具有一選定位址的旗標相關的任務或操作時,該核心Ci傳輸相應的資料群以將其傳送至記憶體M,以便該等資料群可儲存在記憶體中一選定位址處,並將一要求該旗標暫存器Fri將與經傳送資料群相關的旗標設定至1之訊息傳輸至旗標暫存器FRi。
一訊息包含至少一個八位元組(或字組),其中每一位元指定一旗標,該旗標的值儲存在相應的旗標暫存器FRi中。更準確而言,若一字組位元值等於0,此意謂相應的旗標值必須保持不變,而若一字組位元值等於1,此意謂相應的旗標值必須改變(自0至1)。舉例而言,當一個8位元字組等於(00000001)時,與第一字組位元(等於1)相關之第一旗標值必須設定至1,而與其他七個字組位元(等於0)相關之七個其他旗標值必須保持不變。現當一8位元字組等於(00010001)時,與第一及第五字組位元(等於1)相關之第一及第五旗標值必須設定至1,而與其他六個字組位元(等於0)相關之六個其他旗標值必須保持不變。
因此,當對應於包含於訊息中之字組的旗標暫存器FRi接收到此訊息時,其僅改變與等於1之字組位元相關的每一旗標值。換言之,其將與等於1之字組位元相關的每一旗標值設定(至1)。可想到只要操作或任務未完成,則相應的旗標值仍等於0。
第二核心Ci'(例如DSP C2)輪詢儲存至旗標暫存器FRi中之旗標值,當其感知到一旗標值之變化時,其得知相應的資料群被儲存至記憶體M中的相關位址處。因此其可存取記憶體M並進行資料傳送。當資料傳送已完成,第二核心Ci'將一要求該旗標暫存器FRi重設與經傳送資料群相關的旗標之訊息傳輸至旗標暫存器FRi。此訊息亦包含至少一個八位元組(或字組),其中每一位元指定一旗標,該旗標的值儲存在相應的旗標暫存器FRi中。
因此,當對應於包含於訊息中之字組的旗標暫存器FRi接收到此訊息,其僅改變與等於1之字組位元相關的每一旗標值。換言之,其將與等於1之字組位元相關的每一旗標值重設(至0)。
第一核心Ci輪詢儲存至旗標暫存器FRi中的旗標值,當其感知到一旗標值之變化時,其得知其先前傳輸至記憶體M的相應的資料群已有效傳送至第二核心Ci'。
每一旗標暫存器FRi可同時由兩個核心C1及C2存取,每一旗標值(儲存在一旗標暫存器FRi中的一第一位址處)可由該等核心之一者(例如C1)借助於一含有指定此第一位址之至少一個字組的訊息(或命令)而設定或重設,而與此同時,至少一個其他旗標值(儲存在此旗標暫存器FRi中的一第二位址處)可由另一核心(例如C2)借助於一含有指定此第二位址之至少一個字組的訊息(或命令)而同時設定或重設。
在圖3所說明之非限制性實例中,控制裝置D包含皆耦接至第一匯流排BC1及第二匯流排BC2之第一單向旗標暫存器FR1及第二單向旗標暫存器FR2。單向旗標暫存器FRi為在其中第一核心Ci僅可設定旗標值(關於其必須執行之操作或任務)而第二核心Ci'僅可重設旗標值(關於其正等待的資料群)的暫存器。
在所說明之實例中,第一旗標暫存器FR1專用於由CPU C1執行之操作或任務,而第二旗標暫存器FR2專用於由DSP C2執行之操作或任務。因此,CPU C1可將旗標值設定至1進入暫存器FR1中並將旗標值重設至0進入第二暫存器FR2中,而DSP C2可將旗標值設定至1進入第二暫存器FR2中並將旗標值重設至0進入第一暫存器FR1中。
第一旗標暫存器FR1包含N1個儲存區域,以用於儲存與自記憶體M至第二核心C2之資料傳送有關的N1個旗標之各別值。第二旗標暫存器FR2包含N2個儲存區域,以用於儲存與資料自記憶體M至第一核心C1之傳送有關的N2個旗標之各別值。舉例而言,N1=N2=8。
在圖3所說明之非限制性實例中,控制裝置D包含第一單向旗標暫存器FR1及第二單向旗標暫存器FR2,但在一不同實例中,控制裝置D可包含若干第一單向旗標暫存器FR1及/或若干第二單向旗標暫存器FR2,或至少一個雙向旗標暫存器。在最後一種狀況下(雙向旗標暫存器),每個核心Ci可設定或重設儲存在一旗標暫存器FRi之Ni個儲存區域中的任何旗標值。此需要一相同二進位值0或1對於第一核心C1及第二核心C2而言具有相反的含義(亦即,0被第一核心C1看作為0但被第二核心C2看作為1)。
重要的是應注意(單向或雙向)旗標暫存器FRi之數目取決於必須儲存的旗標值的數目(與每一核心Ci相關的)。舉例而言,若要儲存的旗標值少於8個,則僅一個旗標暫存器便足夠。現若要儲存的旗標值多於8個,則必須提供兩個或兩個以上旗標暫存器。通常,旗標之數目取決於一匯流排BCi能傳輸的位元之數目。
此外,在圖3所說明之非限制性實例中,該控制裝置D獨立於記憶體M。但在一不同實例中,記憶體M可為控制裝置D之一部分,如圖4中所說明。在此狀況下,旗標暫存器FRi可構成一暫存器R之一或多個部分。
現將參看圖5及圖6更詳細地描述一控制裝置D之實施例之一實例。
圖5說明一實施例之一功能性實例,其中每一旗標暫存器FRi包含一第一控制模組CM1、一第二控制模組CM2及一儲存模組SM。圖5中僅已展示第一旗標暫存器FR1之功能結構。但第二旗標暫存器FR2之功能結構與第一旗標暫存器FR1之功能結構相同。
儲存模組SM包含具有Ni個各別位址的Ni個一位元儲存區域(1至Ni),其分別用於儲存Ni個旗標之當前值(0或1)。第一控制模組CM1包含:-一第一讀取及寫入模組RWM1,其用於存取儲存模組SM之Ni個不同儲存區域(1至Ni),以便進行讀取及寫入。其作為對CPU C1之介面且包含執行控制邏輯之組件,-一第一輸入,其連接至第一匯流排BC1(其連接至CPU C1)且連接至第一讀取及寫入模組RWM1,及-Ni個第一輸出,其連接至第一讀取及寫入模組RWM1且連接至儲存模組SM之Ni個不同儲存區域(1至Ni)。
第一控制模組CM1及第二控制模組CM2具有相同的功能結構。因此,第二控制模組CM2包含:-一第二讀取及寫入模組RWM2,其用於存取儲存模組SM之Ni個不同儲存區域(1至Ni),以便進行讀取及寫入。其作為對DSP C2之介面且包含執行控制邏輯之組件,-一第二輸入,其連接至第二匯流排BC2(其連接至DSP C2)且連接至第二讀取及寫入模組RWM2,及-Ni個第二輸出,其連接至第二讀取及寫入模組RWM2且連接至儲存模組SM之Ni個不同儲存區域(1至Ni)。
由於此對稱結構,且更準確而言由於該第一控制模組CM1及該第二控制模組CM2,每一旗標暫存器FRi可同時由CPU C1及DSP C2存取以達成讀取(輪詢)及/或寫入之目的。
較佳地,第一控制模組CM1及第二控制模組CM2之每一者可大致同時設定及/或重設儲存於儲存模組SM之若干儲存區域中的若干(至少兩個且較佳Ni個)旗標值,每次其自其耦接所至之核心Ci接收一指定此等若干儲存區域之各別位址的單一命令(訊息)。此係由每一旗標暫存器FRi接收一若干位元之命令字組這一事實所導致。
為此目的,每一旗標暫存器FRi之第一控制模組CM1及第二控制模組CM2及儲存模組SM可分成各自負責一個旗標值的(亦即一個位元的)處理(讀取及寫入)的Ni個相同且平行的部件。圖6中說明此等Ni個旗標暫存器部件之一者之實施例的一非限制性實例。
此所說明之旗標暫存器部件包含:一第一控制子模組CM1j(j=1至Ni),其構成第一控制模組CM1之Ni個部件(CM11至CM1Ni)之一者;一第二控制子模組CM2j(j=1至Ni),其構成第二控制模組CM2之Ni個部件(CM21至CM2Ni)之一者;及一儲存子模組SMj(j=1至Ni),其構成儲存模組SM之Ni個部件之一者。
舉例而言,且如說明,每一第一控制子模組CM1j包含一第一讀取及寫入子模組RWM1j,該第一讀取及寫入子模組RWM1j包含:-一第一AND閘AG11,其具有:一連接至第一匯流排BC1且對應於待寫入旗標暫存器之第j個旗標值的第一輸入("BitN寫入");一亦連接至第一匯流排BC1且致能寫入操作(等於0的值意謂無操作要做,而等於1的值意謂必須對第j個旗標值執行一寫入操作)的第二輸入("寫入");及一構成第一控制模組CM1之Ni個輸出之一者之第一子部件的輸出,-一第二AND閘AG12,其具有:一連接至第一匯流排BC1用於接收來自一第一時脈(專用於核心C1)之時脈週期的第一輸入("時脈");一連接至第一AND閘AG11之輸出的第二輸入;及一構成第一控制模組CM1之Ni個輸出之一者之第二子部件的輸出,及-一正反器F1(或"FF2"),其具有:一用於接收來自第一時脈之時脈週期的第一輸入、一用於接收一第j個旗標值的第二輸入("D");一用於將該傳遞j個旗標值("BitN讀取")至第一匯流排BC1中的輸出("Q")。
每一第二控制子模組CM2j包含一第二讀取及寫入子模組RWM2j,該第二讀取及寫入子模組RWM2j包含:-一第一AND閘AG21,其具有:一連接至第二匯流排BC2且對應於待寫入旗標暫存器之第j個旗標值的第一反相輸入("BitN寫入");一亦連接至第二匯流排BC2且致能寫入操作的第二輸入("寫入")及一構成第二控制模組CM2之Ni個輸出之一者之第一子部件的輸出,-一第二AND閘AG22,其具有:一連接至第二匯流排BC2用於接收來自一第二時脈(專用於核心C2)的時脈週期的第一輸入("時脈");一連接至第一AND閘AG21之輸出的第二輸入;及一構成第二控制模組CM2之Ni個輸出之一者之第二子部件的輸出,及-一正反器F2(或"FF3"),其具有:一用於接收來自第二時脈之時脈週期的第一輸入;一用於接收第j個旗標值的第二輸入("D");及一用於將傳遞第j個旗標值("BitN讀取")至第二匯流排BC2中的輸出("Q")。
每一儲存子模組SMj包含:-一第一OR閘OG1,其具有:一連接至第一讀取及寫入子模組RWM1j之第一AND閘AG11之輸出的第一輸入;一連接至第二讀取及寫入子模組RWM2j之第一AND閘AG21之輸出的第二反相輸入;及一輸出,-一第二OR閘OG2,其具有:一連接至第一讀取及寫入子模組RWM1j之第二AND閘AG12之輸出的第一輸入;一連接至第二讀取及寫入子模組RWM2j之第二AND閘AG22之輸出的第二輸入;及一輸出,及-一正反器F3(或"FF1"),其具有:一連接至第一OR閘OG1之輸出的第一輸入("D");一連接至第二OR閘OG2之輸出的第二輸入("CK"-時脈);及一用於傳遞該第j個旗標值("BitN讀取")的輸出("Q")。此正反器F3在第二OR閘OG2輸出之信號的控制下儲存由第一OR閘OG1輸出之信號所界定的旗標值。
對於此該配置,可對第一旗標暫存器FR1(其含有與自記憶體M至第二核心C2之資料傳送有關的旗標值)應用以下之(非限制性)規則實例:-若第一核心C1將值"core_C1_write_value(核心C1寫入值)"寫入第一旗標暫存器FR1之儲存模組SM之第j個儲存區域,則後者執行逐個位元應用之操作"register_value=register_value | core_C1_write_value(暫存器值=暫存器值|核心C1寫入值)"(其中|為二進位運算子OR),以計算新的暫存器值。因此,第一旗標暫存器FR1僅將一時脈週期給予將"core_C1_write_value"位元設定至1的第j個部件之正反器F1或F2,在另一側的另一正反器F2或F1保留具有同時及非同步計時的能力。此意謂旗標暫存器FR1中以0寫入且與等於1的字組位元相關之所有旗標值設定(至1),而旗標暫存器FR1中以0或1寫入且與等於0的字組位元相關之所有旗標值保持不變,-若第二核心C2將值"core_C2_write_value(核心C2寫入值)"寫入第一暫存器FR1之儲存模組SM之第j個儲存區域,則後者執行逐個位元應用之操作"register_value=register_value & core_C2_write_value(暫存器值=暫存器值&核心C2寫入值)"(其中&為二進位運算子"AND"),以計算新的暫存器值。因此,第一旗標暫存器FR1僅將一時脈週期給予將"core_C2_write_value(核心C2寫入值)"位元設定至0的正反器F1或F2,在另一側的另一正反器F2或F1保留具有同時及非同步計時的能力。此意謂旗標暫存器FR1中以1寫入且與等於0的字組位元相關之所有旗標值清除(重設至0),而旗標暫存器FR1中以0或1寫入且與等於1的字組位元相關之所有旗標值保持不變。此使用由第一AND閘AG21之第一輸入("BitN寫入")被反轉這一事實所致的字位元之反轉。
互反規則應用於含有與自記憶體M至第一核心C1之資料傳送有關的旗標值的第二旗標暫存器FR2。
由於一旗標暫存器FRi內部的旗標為獨立的,故硬體允許將自一個時脈域至另一時脈域的傳播減少到最小。實際上,若一個核心(C1或C2)在同一時間(在一單一寫入指令(或命令)內)將若干旗標設定至1,則不必保證在另一核心(C2或C1)之時脈之相同週期內亦設定所有旗標。
以下給出一真值表之一實例,其可應用於圖6中所說明之實施例之實例。
此真值表展示第一核心僅能寫入等於1的位元值。舉例而言,表的第二行對應於第一核心C1的0的寫入(經由核心C1已傳輸的字組(命令)中等於0的位元),其展示相應的旗標值保持不變(Qn 1 =Qn )及第二核心C2僅能寫入等於0的旗標值。
該控制裝置D通常以硬體模組來實現。
得益於本發明,專用於界定一旗標值之位元之儲存的每一儲存區域的大小等於一(1)位元。因此,大大減少了專用於旗標值之儲存的記憶體大小。此外,旗標值儲存至旗標暫存器中,於是公用記憶體之所有儲存區域可用於儲存在核心間傳送的資料。因此,可能增加可在傳送之前儲存至公用記憶體中的資料的數目,或減少公用記憶體之大小,此可釋放某些空間以用於積體電路中之另一電子組件。
本發明不限於上述控制裝置、積體電路及電子設備之實施例,該等實施例僅作為實例,但本發明包含在以下申請專利範圍之範疇內可由熟習此項技術者所瞭解的所有替代實施例。
AG11...第一讀取及寫入子模組之第一AND閘
AG12...第一讀取及寫入子模組之第二AND閘
AG21...第二讀取及寫入子模組之第一AND閘
AG22...第二讀取及寫入子模組之第二AND閘
BC1...第一匯流排
BC2...第二匯流排
C1...第一核心
C2...第二核心
CM1...第一控制模組
CM1j...第一控制子模組
CM2...第二控制模組
CM2j...第二控制子模組
D...控制裝置
DS...記憶體M之一部分
EE...電子設備
F1(FF2)、F2(FF3)、F3(FF1)...正反器
FR1...第一旗標暫存器
FR2...第二旗標暫存器
Fri...旗標暫存器
IC...積體電路
M...記憶體
OG1...第一OR閘
OG2...第二OR閘
R...暫存器
RWM1...第一讀取及寫入模組
RWM1j...第一讀取及寫入子模組
RWM2...第二讀取及寫入模組
RWM2j...第二讀取及寫入子模組
SM...儲存模組
SMj...儲存子模組
圖1示意性地說明將兩個核心耦接至一公用DPRAM記憶體的一先前技術積體電路的一部分,圖2示意性地說明一DPRAM記憶體及旗標在此記憶體內的儲存方法,圖3示意性地說明將兩個核心耦接至一記憶體且耦接至根據本發明之控制裝置之第一實例的一積體電路的一部分,圖4示意性地說明將兩個核心耦接至根據本發明之控制裝置之第二實例的一積體電路的一部分,圖5在功能上說明圖3中所說明之控制裝置之一旗標暫存器之實施例的一實例,及圖6示意性地說明專用於處理單一位元旗標值的一旗標暫存器之實施例的一實例。
BC1...第一匯流排
BC2...第二匯流排
C1...第一核心
C2...第二核心
D...控制裝置
EE...電子設備
FR1...第一旗標暫存器
FR2...第二旗標暫存器
IC...積體電路
M...記憶體

Claims (9)

  1. 一種用於一積體電路(IC)之控制裝置(D),該積體電路(IC)包含至少兩個核心(C1、C2),該至少兩個核心(C1、C2)經由匯流排(BC1、BC2)耦接至一記憶體(M),該記憶體(M)經配置以儲存將在該等核心(C1、C2)之間傳送的資料,該控制裝置(D)之特徵在於其包含至少一個旗標暫存器(FRi),該至少一個旗標暫存器(FRi)經由該等匯流排(BC1、BC2)耦接至該等核心(C1、C2),且經配置以在Ni個位址處儲存與由該等核心之一者儲存至該記憶體(M)中且準備向該等核心之另一者傳送之資料相關的Ni個旗標值,儲存在一第一位址處的每一旗標值可由該等核心(C1、C2)之一者借助於一指定該第一位址的命令而設定或重設,從而授權儲存在一第二位址處的另一旗標值由另一核心(C2、C1)借助於一指定該第二位址的命令而同時設定或重設。
  2. 如請求項1之控制裝置,其特徵在於其包含i)至少一個第一旗標暫存器(FR1),其耦接至該等匯流排(BC1,BC2)且經配置以在N1個位址處儲存與由該等核心之一第一者(C1)儲存至該記憶體(M)中且準備向該等核心之一第二者(C2)傳送之資料相關的N1個旗標值,儲存在該第一暫存器之一第一位址處的每一旗標值可由該第一核心借助於一指定該第一位址的命令而設定,且由該第二核心(C2)借助於該指定該第一位址的命令而重設,及ii)至少一個第二旗標暫存器(FR2),其耦接至該等匯流排(BC1、BC2)且經配置以在N2個位址處儲存與由該第二核心(C2)儲存至該記憶體(M)中且準備向該第一核心(C1)傳送之資料相關的N2個旗標值,儲存在該第二暫存器(FR2)之一第一位址處的每一旗標值可由該第二核心(C2)借助於一指定該第一位址的命令而設定且由該第一核心(C1)借助於該指定該第一位址的命令而重設。
  3. 如請求項1及2中任一項之控制裝置,其特徵在於每一旗標暫存器(FRi)包含i)一第一控制構件(CM1),其包含:一連接至該連接至該第一核心(C1)之匯流排(BC1)的第一輸入、Ni個第一輸出及一第一旗標值讀取及寫入構件(RWM1),ii)一第二控制構件(CM2),其包含:一連接至該連接至該第二核心(C2)之匯流排(BC2)的第二輸入、Ni個第二輸出及一第二旗標值讀取及寫入構件(RWM2),及iii)一儲存構件(SM),其包含具有Ni個各別位址的Ni個儲存區域,該等儲存區域經配置以分別儲存Ni個旗標值且分別連接至該等第一輸出之一者及該等第二輸出之一者。
  4. 如請求項3之控制裝置,其特徵在於該第一控制構件(CM1)及該第二控制構件(CM2)之每一者經配置以當其接收到一指定該儲存構件(SM)之若干儲存區域之該等各別位址的單一命令時,設定及/或重設儲存於該等若干儲存區域中的若干旗標值。
  5. 如請求項1或2中任一項之控制裝置,其特徵在於其包含該記憶體(M)。
  6. 如請求項5之控制裝置,其特徵在於該記憶體(M)係在一包含至少一DPRAM記憶體及一RAM記憶體之群中選出。
  7. 一種用於一電子設備(EE)之積體電路(IC),其特徵在於其包含一如請求項1或2中任一項之控制裝置(D)。
  8. 一種電子設備(EE),其特徵在於其包含一如請求項7之積體電路(IC)。
  9. 如請求項8之電子設備,其特徵在於其係在一包含至少一電腦、一電話、一個人數位助理及一音樂播放機之群中選出。
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 TW200811666A (en) 2008-03-01
TWI416340B true 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
US9037838B1 (en) 2011-09-30 2015-05-19 Emc Corporation Multiprocessor messaging system
US9760526B1 (en) * 2011-09-30 2017-09-12 EMC IP Holdings Company LLC Multiprocessor messaging system
EP2862058B1 (en) * 2012-06-15 2021-05-19 Intel Corporation A semaphore method and system with out of order loads in a memory consistency model that constitutes loads reading from memory in order
KR101660022B1 (ko) * 2015-09-10 2016-09-27 아둘람테크 주식회사 버스 인터페이스 효율을 향상시키기 위한 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
TW476029B (en) * 1999-07-12 2002-02-11 Matsushita Electric Ind Co Ltd Data processing apparatus
EP1359510A1 (en) * 2001-01-31 2003-11-05 Hitachi, Ltd. Data processing system and data processor
US6823441B1 (en) * 2001-04-20 2004-11-23 Daimlerchrysler Corporation Method of multiplexed address and data bus

Family Cites Families (12)

* 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
EP0960372A2 (en) * 1997-10-29 1999-12-01 Koninklijke Philips Electronics N.V. Method and system for synchronizing block-organized data transfer
JP4123315B2 (ja) * 1999-02-19 2008-07-23 株式会社安川電機 デュアルポートramのデータ受け渡し装置および方法
DE19951541C1 (de) * 1999-10-26 2000-10-26 Siemens Ag Integrierter elektronischer Baustein mit duplizierter Kernlogik und Hardware-Fehlereinspeisung für Prüfzwecke
US6907503B2 (en) * 2001-09-27 2005-06-14 Daimlerchrysler Corporation Dual port RAM communication protocol

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
TW476029B (en) * 1999-07-12 2002-02-11 Matsushita Electric Ind Co Ltd Data processing apparatus
EP1359510A1 (en) * 2001-01-31 2003-11-05 Hitachi, Ltd. Data processing system and data processor
US6823441B1 (en) * 2001-04-20 2004-11-23 Daimlerchrysler Corporation Method of multiplexed address and data bus

Also Published As

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

Similar Documents

Publication Publication Date Title
CN103092798B (zh) 片上系统及总线下的访问设备的方法
US20160337741A1 (en) Low latency transmission systems and methods for long distances in soundwire systems
TWI416340B (zh) 具有用於核心間通信同步之旗標暫存器的控制裝置
JP5324908B2 (ja) カードホストlsiを有するセット機器、およびカードホストlsi
JP2008547139A (ja) 一方向全二重インタフェースを有するメモリのポスト書き込みバッファのための方法、装置及びシステム
US5835787A (en) System for bi-directionally transferring a digital signal sample from a CODEC to a particular memory location and a second sample from memory to CODEC
CN103902495A (zh) 接口切换系统以及切换操作模式方法
CN113222807B (zh) 数据存储器、数据存储、读取方法、芯片及计算机设备
JP6293924B2 (ja) 重ね合わせによるバス上での周波数制御のためのシステムおよび方法
KR100658588B1 (ko) 메모리 공유 시스템 및 그 방법
KR100652690B1 (ko) 이동 통신 단말기의 멀티 프로세서 장치
JP4966557B2 (ja) ボタン電話装置の主制御基板
JP3196107B2 (ja) データ交換システム
WO2022088640A1 (zh) 通信网络接入技术的阻塞状态的通知方法、网络及终端
WO2017024873A1 (zh) 一种存储单元和处理系统
KR100710626B1 (ko) 데이터 버스 확장 구조를 갖는 디지털 처리 장치 및 그방법
CN101911049B (zh) 处理架构
JPS6312303B2 (zh)
CN209784996U (zh) 控制电路
JP2005251004A (ja) 無線装置及びデータ演算システム
JPS61194549A (ja) 記憶装置のアドレス紛争検出および仲裁装置
CN108667583A (zh) 一种用户特征图样生成方法及装置
RU2153775C1 (ru) Способ арбитража доступа группы абонентов к общим ресурсам
KR100800704B1 (ko) 이동 통신 단말기의 메시지 전처리기 및 그 제어 방법
JP2010191913A (ja) 通信装置

Legal Events

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