專利名稱:信號控制設備和信號控制方法
技術領域:
本發(fā)明涉及適合于同時訪問例如雙端口 RAM的信號控制設備和信號控制方法。
背景技術:
過去,使用兩個CPU通過其獲得對數(shù)據(jù)的訪問的雙端口 RAM。但是,當兩個不同的 CPU同時試圖讀/寫訪問雙端口 RAM時,有時不保證數(shù)據(jù)被讀取。例如,當在向雙端口 RAM 寫數(shù)據(jù)和從雙端口 RAM讀數(shù)據(jù)之間發(fā)生訪問沖突時,存在由于各個端口的訪問時刻之間的差而在數(shù)據(jù)的重寫期間數(shù)據(jù)被讀取的危險。在此情況下,存在讀取不明確值的可能性。由于此原因,即使 當兩個CPU同時獲得對雙端口 RAM的訪問時,已經(jīng)采用以下各種對策以便正確地讀數(shù)據(jù)。(1)通過確定定時使得各個CPU的讀和寫彼此不重疊來避免沖突。(2) 一個CPU等候讀操作而另一CPU在向雙端口 RAM寫數(shù)據(jù)期間輸出忙碌信號等。(3)通過準備兩對雙端口 RAM以分配(distribute)各個訪問來避免沖突,并且當沒有總線訪問時合并RAM的細節(jié)(日本未審查實用新型登記申請公開No. 5-23263)。(4)所寫的數(shù)據(jù)被鎖存(日本未審查專利申請公開No. 6-19832、日本未審查專利申請公開No. 4-313132以及日本未審查專利申請公開No. 3-292695)。
發(fā)明內(nèi)容
但是,當使用以上所述的技術(1)和(2)確定了訪問時刻或者CPU等待時,可能發(fā)生對CPU的限制或者時間的浪費,或者對CPU的訪問時刻可能受限制。此外,當使用技術 (3)時,需要用于合并的大量資源,由此增加制造成本。當使用技術(4)時,需要鎖存所寫的數(shù)據(jù)并對雙端口 RAM進行后寫入 (post-writing)。因此,必須嵌入后寫入電路。由于此原因,控制雙端口 RAM的電路的尺寸增加,并且對雙端口 RAM的控制變得復雜。此外,即使在“寫使能(Write Enable)”狀態(tài)結(jié)束后,也必須保持地址和所寫的數(shù)據(jù)。因此,該技術不適合于以非常短的周期的連續(xù)寫入。考慮到以上,期望提供能夠在兩個CPU同時進行從雙端口 RAM讀數(shù)據(jù)和向該雙端口 MM寫數(shù)據(jù)時正確地讀取數(shù)據(jù)信號的信號控制設備和信號控制方法。根據(jù)本發(fā)明的一個實施例,使用由分別連接到兩個端口的第一和第二 CPU以預定操作時刻從其讀數(shù)據(jù)信號和向其寫數(shù)據(jù)信號的雙端口 RAM。檢測第一 CPU從該雙端口 RAM讀數(shù)據(jù)信號的地址與第二 CPU向該雙端口 RAM寫數(shù)據(jù)信號的地址之間的沖突。第一存儲單元存儲第一 CPU從該雙端口 RAM讀取的數(shù)據(jù)信號。當檢測到各地址之間的沖突并且第一 CPU不處于可讀狀態(tài)時,第二存儲單元存儲從第二 CPU向該雙端口 RAM 寫數(shù)據(jù)信號的地址所讀取的數(shù)據(jù)信號,而不管第二 CPU是否處于可寫狀態(tài)。當未檢測到各地址之間的沖突并且第一 CPU處于可讀狀態(tài)時,從第一存儲單元讀取數(shù)據(jù)信號。當檢測到各地址之間的沖突并且第一 CPU不處于可讀狀態(tài)時,無論第二 CPU是否處于可寫狀態(tài),從第一存儲單元讀取數(shù)據(jù)信號。另一方面,當檢測到各地址之間的沖突、第一 CPU不處于可讀狀態(tài)并且第二 CPU處于可寫狀態(tài)時,從第二存儲器單元讀取數(shù)據(jù)信號。因此,通過將輸出數(shù)據(jù)信號的讀取源切換到第一 CPU連接到的端口,讀取的數(shù)據(jù)信號被輸出到進入可讀狀態(tài)的第一 CPU。從而,當?shù)谝缓偷诙?CPU同時分別從雙端口 RAM讀數(shù)據(jù)和向其寫數(shù)據(jù)時,不管讀地址和寫地址之間的沖突,都可以從雙端口 RAM正確地讀取數(shù)據(jù)信號。根據(jù)本發(fā)明的該實施例,當?shù)谝缓偷诙?CPU分別從雙端口 RAM讀數(shù)據(jù)和向其寫數(shù)據(jù)時,基于第一 CPU的可讀狀態(tài)以及第二 CPU的可寫狀態(tài)來切換數(shù)據(jù)信號的讀取源。因此, 可以在任意時刻獲得對相同地址的 數(shù)據(jù)的訪問,而不依賴于每個CPU的操作速度。此時,因為進行讀的CPU不需要等待直到進行寫的CPU完成處理,因此可以獲得以高速讀取數(shù)據(jù)信號的優(yōu)點。
圖1是圖示根據(jù)本發(fā)明的一個實施例的視頻處理系統(tǒng)的示例內(nèi)部配置的框圖。圖2是圖示根據(jù)本發(fā)明的實施例的信號控制設備的示例內(nèi)部配置的框圖。圖3A到3C是圖示根據(jù)本發(fā)明的實施例的其中第一 CPU的讀和第二 CPU的寫同時發(fā)生的例子的時序圖。圖4A到4C是圖示根據(jù)本發(fā)明的實施例的其中第二 CPU的寫在第一 CPU的讀期間沖突的例子的時序圖。圖5A到5C是圖示根據(jù)本發(fā)明的實施例的其中第一 CPU的讀在第二 CPU的寫期間沖突的例子的時序圖。圖6是圖示根據(jù)本發(fā)明的實施例的信號控制方法的例子的流程圖。
具體實施例方式下文中,將描述本發(fā)明的優(yōu)選實施例(下文中稱為實施例)。將按以下順序進行其描述。1.第一實施例(雙端口 RAM的訪問控制其中兩個CPU同時進行從雙端口 RAM的讀/向雙端口 RAM的寫的例子)1.第一實施例雙端口 RAM的訪問控制其中兩個CPU同時進行從雙端口 RAM的讀/向雙端口 RAM 的寫的例子下文中,將參考附圖描述本發(fā)明的實施例。在該實施例中,將描述其中當一個CPU 從雙端口 RAM讀取數(shù)據(jù)信號(下文中稱為“數(shù)據(jù)”)并且另一 CPU寫數(shù)據(jù)時、信號控制設備 4進行控制使得讀數(shù)據(jù)不會不明確的例子。圖1是圖示視頻處理系統(tǒng)10的示例內(nèi)部配置的圖。處理通過攝像機1拍攝的視頻的視頻處理系統(tǒng)10包括攝像機1,其拍攝對象;以及記錄裝置3,其記錄視頻。記錄裝置3具有帶有用于記錄視頻的大容量的諸如視頻帶或 HDD的記錄介質(zhì)(未示出)。攝像機1包括第一 CPU2,其控制攝像機1的處理塊(未示出) 的操作,并向記錄裝置3輸出各種控制信號或讀取數(shù)據(jù)。
記錄裝置3包括第二 CPU 6,其控制記錄裝置3的處理塊(未示出)的操作。記錄裝置3包括雙端口 RAM 5,其用于在第一 CPU 2和第二 CPU 6之間發(fā)送和接收數(shù)據(jù);以及信號控制設備4,其控制獲得對雙端口 RAM 5的訪問的第一 CPU 2和第二 CPU 6的訪問。攝像機1和記錄裝置3使用分別在攝像機1和記錄裝置3中建立的第一 CPU 2和第二 CPU 6來共享在雙端口 RAM 5中記錄的諸如時間碼的數(shù)據(jù)。在此實施例中,第一 CPU 2 以大約33MHz工作,并且用16位總線發(fā)送數(shù)據(jù)。另一方面,第二 CPU 6以大約74MHz工作, 并用8位總線發(fā)送數(shù)據(jù)。在雙端口 RAM 5中,由分別連接到兩個端口的第一和第二 CPU以預定的操作時刻進行讀或?qū)憯?shù)據(jù)信號。信號控制設備4具有當?shù)谝?CPU 2和第二 CPU 6要求的雙端口 RAM 5的讀和寫所涉及的地址彼此沖突時、在寫之前讀和緩沖各地址的數(shù)據(jù)的功能。此外,如需要,信號控制設備4通過在讀取緩沖的數(shù)據(jù)和讀取雙端口 RAM上的數(shù)據(jù)之間切換來防止CPU讀取不明確的值。圖2是圖示信號控制設備4的示例內(nèi)部配置的圖。本實施例的信號控制設備包括雙端口 RAM,由分別連接到兩個端口的第一和第二 CPU以預定操作時刻從其讀數(shù)據(jù)信號和向其寫數(shù)據(jù)信號;地址沖突檢測單元,其檢測第
一CPU從該雙端口 RAM讀數(shù)據(jù)信號的地址與第二 CPU向該雙端口 RAM寫數(shù)據(jù)信號的地址之間的沖突;第一存儲單元,其存儲第一 CPU從該雙端口 RAM讀取的數(shù)據(jù)信號;第二存儲單元,其在檢測到各地址之間的沖突并且第一 CPU不處于可讀狀態(tài)時,存儲從第二 CPU向該雙端口 RAM寫數(shù)據(jù)信號的地址所讀取的數(shù)據(jù)信號,而不管第二 CPU是否處于可寫狀態(tài);以及切換單元,其通過當未檢測到各地址之間的沖突并且第一 CPU處于可讀狀態(tài)時,從第一存儲單元讀取數(shù)據(jù)信號,當檢測到各地址之間的沖突并且第一 CPU不處于可讀狀態(tài)時,無論第
二CPU是否處于可寫狀態(tài),從第一存儲單元讀取數(shù)據(jù)信號,以及當檢測到各地址之間的沖突、第一 CPU不處于可讀狀態(tài)并且第二 CPU處于可寫狀態(tài)時,從第二存儲器單元讀取數(shù)據(jù)信號,來將輸出數(shù)據(jù)信號的讀取源切換到第一 CPU連接到的端口,并且該切換單元將讀取的數(shù)據(jù)信號輸出到進入可讀狀態(tài)的第一 CPU。第一CPU 2信號控制設備4包括寄存器11a,作為臨時保持由第一 CPU 2從雙端口 RAM 5讀取的數(shù)據(jù)信號的第一存儲單元,作為在第一 CPU 2側(cè)的讀中使用的處理塊。信號控制設備 4還包括緩沖存儲器12a,作為當檢測到地址沖突時、存儲從數(shù)據(jù)信號被第二 CPU 6寫到雙端口 5中的地址所讀取的數(shù)據(jù)信號的第二存儲單元。信號控制設備4還包括復用器15a,作為選擇存儲在寄存器Ila和緩沖存儲器12a之一中的數(shù)據(jù)信號并切換到所選的數(shù)據(jù)信號用于輸出的切換單元。第二CPU 6信號控制設備4包括寄存器11 b,作為臨時保持由第二 CPU 6從雙端口 RAM 5讀取的數(shù)據(jù)信號的第一存儲單元,作為在第二 CPU 6側(cè)的讀中使用的處理塊。信號控制設備 4還包括緩沖存儲器12b,作為當檢測到地址沖突時、存儲從數(shù)據(jù)信號被第一 CPU 2寫到雙端口 5中的地址所讀取的數(shù)據(jù)信號的第二存儲單元。信號控制設備4還包括復用器15b,作為選擇存儲在寄存器lib和緩沖存儲器12b之一中的數(shù)據(jù)信號并切換到所選的數(shù)據(jù)信號用于輸出的切換單元。
信號控制設備4包括控制單元13,其控制寄存器Ila和lib、緩沖存儲器12a和 12b以及復用器15a和15b的數(shù)據(jù)信號的輸入,或者控制要輸出的數(shù)據(jù)信號的切換。信號控制設備4還包括地址沖突檢測單元14,其檢測第一 CPU 2從雙端口 RAM 5讀取數(shù)據(jù)信號的地址與第二 CPU 6向雙端口 RAM 5寫入數(shù)據(jù)信號的地址之間的沖突。接下來,將描述信號控制設備4的每個單元的示例操作。在此,假設第一 CPU 2從雙端口 RAM 5讀取數(shù)據(jù)信號,并且第二 CPU 6向雙端口 RAM 5寫入數(shù)據(jù)信號。此時,寄存器Ila存儲第一 CPU 2從雙端口 RAM讀取的數(shù)據(jù)信號。緩沖存儲器12b 在第一 CPU 2不處于可讀狀態(tài)時進行以下操作。即,緩沖存儲器12b存儲從第二 CPU 6將數(shù)據(jù)信號寫到雙端口 RAM 5的地址讀取的數(shù)據(jù)信號,而無論第二 CPU 6是否處于可讀狀態(tài)。
復用器15a在未檢測到地址沖突并且第一 CPU 2處于可讀狀態(tài)時從寄存器1 Ia讀取數(shù)據(jù)信號。此外,當檢測到地址沖突并且第一 CPU 2不處于可讀狀態(tài)時,復用器15a從寄存器Ila讀取數(shù)據(jù)信號而無論第二 CPU 6是否處于可讀狀態(tài)。另一方面,當檢測到地址沖突、第一 CPU 2不處于可讀狀態(tài)并且第二 CPU 6處于可寫狀態(tài)時,復用器15a從緩沖存儲器 12b讀取數(shù)據(jù)信號。以此方式,通過將輸出數(shù)據(jù)信號的讀取源切換到第一 CPU 2連接到的端口,讀取的數(shù)據(jù)信號被輸出到處于可讀狀態(tài)的第一 CPU 2。當?shù)谝?CPU 2向雙端口 RAM 5 寫數(shù)據(jù)信號并且第二 CPU 6從雙端口 RAM 5讀數(shù)據(jù)信號時,通過被提供以與所有單元對應的處理塊來進行上述操作。接下來,將參考圖3A到5C描述當?shù)谝?CPU 2讀取數(shù)據(jù)信號并且第二 CPU 6寫數(shù)據(jù)信號時每個單元的示例處理。當角色未被反轉(zhuǎn)(第一 CPU 2寫數(shù)據(jù)信號并且第二 CPU 6 讀取數(shù)據(jù)信號)時,在使用相反的(opposite)寄存器和緩沖存儲器的情況下,基本操作相同。在圖3A到圖5C中,陰影部分指示沖突部分,并且正被讀和寫的數(shù)據(jù)被示出為數(shù)據(jù)信號。 按時間順序示出圖3A到5C中的時序圖,并且圖3A到5C中示出的數(shù)字對應于以下所述的流程圖(參見圖6)的步驟中示出的數(shù)字。地址沖突的樣式被分類為以下三種樣式(1)第一 CPU 2的讀和第二 CPU 6的寫從時鐘的啟動時起同時發(fā)生的情況;(2)第二 CPU 6的寫在第一 CPU 2的讀期間沖突的情況;以及(3)第一 CPU 2的讀在第二 CPU 6的寫期間沖突的情況。兩個CPU的速度可以被分類為以下三種樣式(1)第一 CPU 2和第二 CPU 6的速度彼此相同的情況;(2)第一 CPU 2的速度快于第二 CPU 6的速度的情況(3)第一 CPU 2的速度慢于第二 CPU 6的速度的情況。將描述在各個情況(九種組合)下在地址沖突時的操作和讀取的數(shù)據(jù)信號的例子。1.第一 CPU 2的讀和第二 CPU 6的寫在相同時刻發(fā)生的情況圖3A到3C是圖示其中第一 CPU 2的讀和第二 CPU 6的寫發(fā)生在相同時刻的例子的時序圖。在以下描述中,當描述“讀”和“寫”時,不意味實際開始從雙端口 RAM 5讀數(shù)據(jù)或者向其寫數(shù)據(jù)。在此狀態(tài)下,“讀”或“寫”的準備開始,并且當進入“讀使能”狀態(tài)(可讀狀態(tài))或者“寫使能”狀態(tài)(可寫狀態(tài))時,進行實際的讀或?qū)憽?br>
在此,當?shù)谝?CPU 2從雙端口 RAM 5讀取數(shù)據(jù)信號的時刻與第二 CPU 6向雙端口 RAM 5寫數(shù)據(jù)信號的時刻相同時,復用器15a和15b進行以下處理。此時,需要檢測地址沖突。復用器15a和15b分別根據(jù)第一 CPU 2和第二 CPTO的操作速度來切換讀取由復用器 15a和15b輸出的數(shù)據(jù)信號的寄存器Ila和lib以及緩沖存儲器12a和12b。具體地,當?shù)谝?CPU 2的操作時刻與第二 CPU 6的操作時刻相同時,復用器15a和 15b輸出由第一 CPU 2寫到第一或第二存儲單元的數(shù)據(jù)信號。當?shù)谝?CPU 2的操作速度快于第二 CPU 6的操作速度時,第一 CPU輸出被寫到緩沖存儲器12b的數(shù)據(jù)信號。當?shù)谝?CPU 2的操作速度慢于第二 CPU 6的操作速度時,第二 CPU 6輸出被寫到緩沖存儲器12b的數(shù)據(jù)信號。下文中,將描述信息處理例子。1-1.第一 CPU 2和第二 CPU 6的速度彼此相同的情況(圖3A) (1)首先,第一 CPU 2將從雙端口 RAM 5讀取的數(shù)據(jù)鎖存在寄存器Ila中。(2)接下來,地址沖突檢測單元14檢測地址沖突。(3)當?shù)刂窙_突檢測單元14檢測到地址沖突時,雙端口 RAM 5的輸出被緩存在緩沖存儲器12b中。(4)當?shù)谝?CPU 2進入“讀使能”狀態(tài)時,可以通過從寄存器Ila和緩沖存儲器12b 的任意一個讀取數(shù)據(jù)來獲得穩(wěn)定的數(shù)據(jù)。(5)第二 CPU 6通常根據(jù)“寫使能”狀態(tài)向雙端口 RAM 5寫數(shù)據(jù)。1-2.第一 CPU 2的操作速度快于第二 CPU 6的操作速度的情況(圖3B)在此情況下,按與1-1相同的方式進行處理。但是,在第二 CPU 6進入“寫使能”狀態(tài)之前,第一 CPU 2進入“讀使能”狀態(tài)。因此,復用器15a將從寄存器Ila讀取的數(shù)據(jù)輸出到第一 CPU 2。因而,第一 CPU 2從寄存器Ila讀數(shù)據(jù)。1-3.第一 CPU 2的操作速度慢于第二 CPU 6的操作速度的情況(圖3C)在此情況下,按與1-1相同的方式進行處理。但是,第二 CPU 6在第一 CPU 2準備讀取時進入“寫使能”狀態(tài)。因此,復用器15a將從緩沖存儲器12b讀取的數(shù)據(jù)輸出到第一 CPU 2。從而,第一 CPU 2從緩沖存儲器12b讀數(shù)據(jù)。2.第二 CPU 6的寫在第一 CPU 2的讀期間沖突的情況圖4A到4C是圖示其中第二 CPU 6的寫在第一 CPU 2的讀期間沖突的例子的時序圖。在此,當在第一 CPU 2從雙端口 RAM 5讀數(shù)據(jù)信號的時段期間第二 CPTO向雙端口 RAM 5寫數(shù)據(jù)信號時,復用器15a和15b進行以下處理。此時,需要檢測地址沖突。復用器 15a和15b分別根據(jù)第一 CPU 2和第二 CPU 6的操作速度而切換讀取由復用器15a和15b 輸出的數(shù)據(jù)信號的緩沖存儲器12b。具體地,當?shù)谝?CPU 2的操作時刻與第二 CPU 6的操作時刻相同時,復用器15a和 15b輸出由第一 CPU 2寫到寄存器Ila的數(shù)據(jù)信號。當?shù)谝?CPU2的操作速度快于第二 CPU 6的操作速度時,第一 CPU輸出被寫到緩沖存儲器12b的數(shù)據(jù)信號。當?shù)谝?CPU 2的操作速度慢于第二 CPU 6的操作速度并且第一 CPU 2準備從雙端口 RAM 5讀數(shù)據(jù)信號時,第二 CPU 6輸出被寫到緩沖存儲器12b的數(shù)據(jù)信號。當?shù)谝?CPU 2的操作速度慢于第二 CPU 6 的操作速度并且第一 CPU 2從雙端口 RAM 5讀數(shù)據(jù)信號時,第一 CPU 2輸出被寫到寄存器Ila的數(shù)據(jù)信號。下文中,將描述詳細的處理例子。2-1.第一 CPU 2和第二 CPU 6的速度彼此相同的情況(圖4A)在此情況下,在“讀使能”狀態(tài)之前以及期間進行處理。
(1)從雙端口 RAM 5讀取的數(shù)據(jù)被鎖存在寄存器Ila中。(2)地址沖突檢測單元14檢測地址沖突。(3)當?shù)刂窙_突檢測單元14檢測到地址沖突時,雙端口 RAM 5的輸出被緩存在緩沖存儲器12b中。(4)因為寄存器Ila的鎖存在“寫使能”狀態(tài)之前結(jié)束,因此復用器15a將從寄存器Ila讀取的數(shù)據(jù)輸出到第一 CPU 2。從而,第一 CPU 2從寄存器Ila讀數(shù)據(jù)。(5)第二 CPU 6通常根據(jù)“寫使能”狀態(tài)向雙端口 RAM 5寫數(shù)據(jù)。2-2.第一 CPU 2的操作速度快于第二 CPU 6的操作速度的情況(圖4B)在此情況下,按與2-1相同的方式進行處理。但是,在第二 CPU 6進入“寫使能”狀態(tài)之前,第一 CPU 2進入“讀使能”狀態(tài)。因此,復用器15a將從寄存器Ila讀取的數(shù)據(jù)輸出到第一 CPU 2。2-3.第一 CPU 2的操作速度慢于第二 CPU 6的操作速度的情況(圖4C)a.當在讀的準備期間發(fā)生寫時因為⑴、⑵和(3)與2-1的情況的⑴、(2)和(3)相同,因此不將重復其描述。(4)在第一 CPU 2進入“寫使能”狀態(tài)之前,第二 CPU 6進入“讀使能”狀態(tài)。因此, 復用器15a將從緩沖存儲器12b讀取的數(shù)據(jù)輸出到第一 CPU2。從而,第一 CPU 2讀取緩沖存儲器12b的數(shù)據(jù)。(5)第二 CPU 6通常根據(jù)“寫使能”狀態(tài)向雙端口 RAM 5寫數(shù)據(jù)。(6)因為沖突結(jié)束但是第一CPU 2的讀未結(jié)束,所以緩沖存儲器12b的數(shù)據(jù)被保持直到第一 CPU 2的讀結(jié)束。b.在“讀使能”狀態(tài)期間發(fā)生寫的情況因為⑴、⑵和(3)與2-1的情況的⑴、(2)和(3)相同,因此不將重復其描述。(4)因為第一 CPU 2已經(jīng)進入“讀使能”狀態(tài),因此復用器15a將從寄存器Ila讀取的數(shù)據(jù)輸出到第一 CPU 2。從而,第一 CPU 2讀取寄存器Ila的數(shù)據(jù)。(5)第二 CPU 6通常根據(jù)“寫使能”狀態(tài)向雙端口 RAM 5寫數(shù)據(jù)。3.第一 CPU 2的讀在第二 CPU 6的寫期間沖突的情況在此,當在第二 CPU 6向雙端口 RAM 5寫數(shù)據(jù)信號的時段期間第一 CPU2從雙端口 RAM 5讀數(shù)據(jù)信號時,復用器15a和15b進行以下處理。此時,需要檢測地址沖突。復用器 15a和15b分別根據(jù)第一 CPU 2和第二 CPU 6的操作速度而切換讀取由復用器15a和15b 輸出的數(shù)據(jù)信號的緩沖存儲器12b。具體地,當?shù)谝?CPU 2的操作時刻與第二 CPU 6的操作時刻相同時,復用器15a和 15b輸出由第二 CPU 6寫到緩沖存儲器12b的數(shù)據(jù)信號。當?shù)谝?CPU 2的操作速度快于第二 CPU 6的操作速度并且在數(shù)據(jù)信號的寫的準備期間進行讀時,第一 CPU 2輸出被寫到寄存器Ila的數(shù)據(jù)信號。當?shù)谝?CPU 2的操作速度快于第二 CPU 6的操作速度并且在數(shù)據(jù)信號的寫期間進行讀時,第二 CPU 6輸出被寫到緩沖存儲器12b的數(shù)據(jù)信號。當?shù)谝?CPU 2的操作速度慢于第二 CPU 6的操作速度時,第二 CPU 6輸出被寫到緩沖存儲器12b的數(shù)據(jù)信號。下文中,將描述詳細的處理例子。3-1.第一 CPU 2和第二 CPU 6的速度(頻率)彼此相同的情況在此情況下,在“寫使能”狀態(tài)之前以及期間進行處理。(1)第二 CPU 6開始準備寫。(2)地址沖突檢測單元14檢測到地址沖突。 (3)就像第一 CPU 2進行正常讀的情況,從雙端口 RAM 5讀取的數(shù)據(jù)被鎖存在寄存器Ila中。(4)當?shù)刂窙_突檢測單元14檢測到地址沖突時,雙端口 RAM 5的輸出被緩存在緩沖存儲器12b中。(5)當?shù)谝?CPU 2開始讀時,存在因為進行寫所以寄存器Ila的數(shù)據(jù)具有不明確的值的可能性。(6)另一方面,緩沖存儲器12b的數(shù)據(jù)也沖突并然后被緩存。但是,因為緩沖存儲器12b緩存來自寫的側(cè)的端口的在寫的側(cè)的時刻的數(shù)據(jù),因此該數(shù)據(jù)不具有不明確的值。(7)當?shù)谝?CPU 2進入“讀使能”狀態(tài)時,第二 CPU 6已經(jīng)進入“寫使能”狀態(tài)。(8)因而,復用器15a將從穩(wěn)定的緩沖存儲器12b讀取的數(shù)據(jù)輸出到第一 CPU 2。 從而,第一 CPU 2從緩沖存儲器12b讀取數(shù)據(jù)。但是,存在在第一 CPU 2中準備的寄存器 Ila的數(shù)據(jù)具有不明確的值的可能性。(9)第二 CPU 6通常根據(jù)“寫使能”狀態(tài)向雙端口 RAM 5寫數(shù)據(jù)。(10)盡管沖突結(jié)束,第一 CPU 2不終止讀。因此,緩沖存儲器12b的數(shù)據(jù)被保持直到第一 CPU 2終止讀。3-2.第一 CPU 2的操作速度快于第二 CPU 6的操作速度的情況a.在寫的準備期間發(fā)生讀的情況因為⑴、⑵、(3)和(4)與3-1的情況的⑴、(2)、(3)和⑷相同,因此不將重復其描述。(5)在第二 CPU 6進入“寫使能”狀態(tài)之前,第一 CPU 2進入“讀使能”狀態(tài)。因此, 寄存器Ila的數(shù)據(jù)變得穩(wěn)定。(6)復用器15a將從寄存器Ila讀取的數(shù)據(jù)輸出到第一 CPU 2。從而,第一 CPU 2 讀取寄存器Ila的數(shù)據(jù)。(7)第二 CPU 6通常根據(jù)“寫使能”狀態(tài)向雙端口 RAM 5寫數(shù)據(jù)。b.在“寫使能”狀態(tài)期間發(fā)生讀的情況因為⑴、⑵、(3)和(4)與3-1的情況的⑴、(2)、(3)和⑷相同,因此不將重復其描述。(5)當?shù)谝?CPU 2開始讀時,存在因為已經(jīng)進入“寫使能”狀態(tài)所以寄存器Ila的數(shù)據(jù)具有不明確的值的可能性。(6)另一方面,在“寫使能”狀態(tài)中,緩沖存儲器12b的數(shù)據(jù)被緩存。但是,因為緩沖存儲器12b在寫的側(cè)的時刻緩存來自寫的側(cè)的端口的數(shù)據(jù),因此該數(shù)據(jù)不具有不明確的值。
(7)當?shù)谝?CPU 2進入“讀使能”狀態(tài)時,第二 CPU 6已經(jīng)進入“寫使能”狀態(tài)。(8)從而,復用器15a將從穩(wěn)定的緩沖存儲器12b讀取的數(shù)據(jù)輸出到第一 CPU 2。 從而,第一 CPU 2從緩沖存儲器12b讀數(shù)據(jù)。因此,存在在第一 CPU 2中準備的寄存器Ila 的數(shù)據(jù)具有不明確的值的可能性。(9)第二 CPU 6通常根據(jù)“寫使能”狀態(tài)向雙端口 RAM 5寫數(shù)據(jù)。(10)盡管沖突結(jié)束,第一 CPU 2不終止讀。因此,緩沖存儲器12b的數(shù)據(jù)被保持直到第一 CPU 2終止讀。3-3.第一 CPU 2的操作速度慢于第二 CPU 6的操作速度的情況因為第二 CPU 6較早地進入“寫使能”狀態(tài),如在3-2的情況下那樣,因此復用器 15a將從緩沖存儲器12b讀取的數(shù)據(jù)輸出到第一 CPU 2。圖6是圖示信號控制設備4進行的信號控制方法的例子的圖。本實施例的信號控制方法包括以下步驟在由分別連接到兩個端口的第一和第二 CPU以預定操作時刻從其讀數(shù)據(jù)信號和向其寫數(shù)據(jù)信號的雙端口 RAM中檢測第一 CPU從該雙端口 RAM讀數(shù)據(jù)信號的地址與第二 CPU向該雙端口 RAM寫數(shù)據(jù)信號的地址之間的沖突; 將第一 CPU從該雙端口 RAM讀取的數(shù)據(jù)信號存儲在第一存儲單元中,并在檢測到各地址之間的沖突并且第一 CPU不處于可讀狀態(tài)時,不管第二 CPU是否處于可寫狀態(tài),將從第二 CPU 向該雙端口 RAM寫數(shù)據(jù)信號的地址所讀取的數(shù)據(jù)信號存儲在第二存儲單元中;以及通過當未檢測到各地址之間的沖突并且第一 CPU處于可讀狀態(tài)時,從第一存儲單元讀取數(shù)據(jù)信號,當檢測到各地址之間的沖突并且第一 CPU不處于可讀狀態(tài)時,無論第二 CPU是否處于可寫狀態(tài),從第一存儲單元讀取數(shù)據(jù)信號,以及當檢測到各地址之間的沖突、第一 CPU不處于可讀狀態(tài)并且第二 CPU處于可寫狀態(tài)時,從第二存儲器單元讀取數(shù)據(jù)信號,來將輸出數(shù)據(jù)信號的讀取源切換到第一 CPU連接到的端口,并且將讀取的數(shù)據(jù)信號輸出到進入可讀狀態(tài)的第一 CPU。首先,第一 CPU 2將從雙端口 RAM 5讀取的數(shù)據(jù)鎖存在寄存器Ila中(步驟Si)。 接下來,地址沖突檢測單元14確定地址是否彼此沖突(步驟S2)。當在步驟S2中地址沖突檢測單元14確定地址彼此不沖突時,確定第一 CPU 2是否處于“讀使能”狀態(tài)(步驟S5)。當在步驟S5中確定第一 CPU 2處于“讀使能”狀態(tài)時, 處理前進到步驟S10。另一方面,當確定第一 CPU 2不處于“讀使能”狀態(tài)時,處理前進到步馬聚S2 ο當在步驟S2中地址沖突檢測單元14確定地址彼此沖突時,控制單元13確定第一 CPU 2是否不處于“讀使能”狀態(tài)且第二 CPU 6是否不處于“寫使能”狀態(tài)(步驟S3)。當不滿足條件時,控制單元13確定第一 CPU 2是否不處于“讀使能”狀態(tài)以及第二 CPU 6是否處于“寫使能”狀態(tài)(步驟S4)。當在步驟S4中滿足條件時,第二 CPU 6將從DPRAM 5讀取的數(shù)據(jù)鎖存在緩沖存儲器12b中(步驟S6),處理前進到步驟S9。另一方面,當在步驟S4中不滿足條件時,處理前進到步驟S9而不進行任何處理。當在步驟S3中滿足條件時,第二 CPU 6將從DPRAM 5讀取的數(shù)據(jù)鎖存在緩沖存儲器12b中(步驟S7)。接下來,控制單元I3確定第二 CPU 6是否處于“寫使能”狀態(tài)(步驟S8)。當確定第二 CPU 6處于“寫使能”狀態(tài)時,復用器15a選擇緩沖存儲器12a的數(shù)據(jù)并輸出從緩沖存儲器12a讀取的數(shù)據(jù)(步驟S9)。另一方面,當在步驟S3和S8中確定第二 CPU 6不處于“寫使能”狀態(tài)時或者當在步驟S5中確定第一 CPU 2處于讀使能狀態(tài)時,進行以下處理。即,復用器15a選擇寄存器 Ila的數(shù)據(jù)并輸出從寄存器Ila讀取的數(shù)據(jù)(步驟S10)。在步驟S9和SlO的處理之后,控制單元13確定第一 CPU 2是否處于“讀使能”狀態(tài)(步驟S11)。當確定第一 CPU 2不處于“讀使能”狀態(tài)時,處理結(jié)束。另一方面,當確定第一 CPU 2處于“讀使能”狀態(tài)時,控制單元13保持寄存器Ila 和緩沖存儲器12b的數(shù)據(jù),然后處理結(jié)束(步驟S12)。根據(jù)上述實施例的信號控制設備4具有當?shù)谝?CPU 2和第二 CPU 6獲得對雙端口 RAM 5的訪問并且第一 CPU 2和第二 CPU 6同時分別從雙端口 RAM 5的端口讀和寫數(shù)據(jù)時的有效配置。在此,信號控制設備4包括檢測寫和讀中的地址沖突的時刻的地址沖突檢測單元14。進行寫的第二 CPU 6包括緩沖存儲器12b,其保持讀取的數(shù)據(jù)以便在寫操作系列的第一操作中從雙端口 RAM 5讀數(shù)據(jù)。另一方面,根據(jù)地址沖突檢測單元14的確定,進行讀的第一 CPU 2選擇由進行寫的第二 CPU 6緩存的數(shù)據(jù)或者通過拷貝雙端口 RAM 5的細節(jié)而獲得的寄存器Ila的數(shù)據(jù)的任一個。因此,第一 CPU 2可以經(jīng)由復用器15a獲取存儲在其任一中的正確數(shù)據(jù)。可以按相同的方式在第二 CPU 6中進行由第一 CPU 2進行的操作。通過按此方式配置信號控制設備4,即使當兩個CPU同時從雙端口 RAM5讀數(shù)據(jù)和向其寫數(shù)據(jù)時,基于兩個CPU的可讀狀態(tài)或者可寫狀態(tài)來切換數(shù)據(jù)信號的讀取源。因此,可以在任意時刻實現(xiàn)訪問而不依賴于兩個CPU的操作速度。例如,當?shù)谝?CPU 2的“讀使能” 狀態(tài)在第二 CPU 6進入“寫使能”狀態(tài)之前開始時,第一 CPU 2讀取鎖存在第一 CPU 2側(cè)的寄存器Ila中的數(shù)據(jù)。此外,當?shù)诙?CPU 6在第一 CPU 2進入“讀使能”狀態(tài)之前進入“寫使能”狀態(tài)時,第一 CPU 2讀取緩存在第二 CPU 6側(cè)的緩沖存儲器12b中的數(shù)據(jù)。因此,可以避免不明確的值的輸出而不依賴于相互CPU的訪問時刻。優(yōu)于根據(jù)現(xiàn)有技術描述的技術⑴和(2)的優(yōu)點在于,進行讀的CPU和進行寫的 CPU兩者可以自由地獲得對雙端口 RAM 5的訪問并且沒有對訪問時刻的限制或者等待時間的浪費。優(yōu)于技術(3)的優(yōu)點在于,利用緩沖存儲器和控制器的最少資源實現(xiàn)讀和寫。此外,可以與第一 CPU 2與第二 CPTO之間的同步或者非同步無關地避免數(shù)據(jù)改變。一個CPU可以以高速讀或?qū)憯?shù)據(jù)而不用等待直到另一 CPU的處理完成。此外,在實現(xiàn)以高速讀和寫而不用等待直到另一 CPU的處理完成的以上優(yōu)點方面,可以用簡單容易的設備來配置數(shù)據(jù)緩沖設備、數(shù)據(jù)選擇電路、地址檢測電路等。從而,可以降低制造成本。此外,即使當?shù)谝?CPU 2和第二 CPU 6的訪問時刻或者速度彼此不同時,也不讀取不定值。僅通過向雙端口 RAM 5添加少量資源,當讀和寫數(shù)據(jù)彼此沖突時,可以避免數(shù)據(jù)改變??梢詫崿F(xiàn)對雙端口 RAM 5的自由訪問而沒有在現(xiàn)有技術中成為問題的對訪問時刻的限制。此外,因為不需要鎖存所寫的數(shù)據(jù),所以在地址遞增時可以持續(xù)進行寫。此外, 因為沒有寫入鎖存器,因此少量資源就足夠。本申請包含與2010年4月22日在日本專利局提交的日本優(yōu)先權專利申請JP 2010-099229中的公開有關的主題,通過引用將其全部內(nèi)容合并于此。
12
本領域技術人員應當理解,取決于設計要求和其他因素,可以發(fā)生各種修改、組合、子組合和替換,只要其在所附權利要求或其等效物的范圍內(nèi)即可。
權利要求
1.一種信號控制設備,包括雙端口 RAM,由分別連接到兩個端口的第一和第二 CPU以預定操作時刻從其讀數(shù)據(jù)信號和向其寫數(shù)據(jù)信號;地址沖突檢測單元,其檢測第一 CPU從該雙端口 RAM讀數(shù)據(jù)信號的地址與第二 CPU向該雙端口 RAM寫數(shù)據(jù)信號的地址之間的沖突;第一存儲單元,其存儲第一 CPU從該雙端口 RAM讀取的數(shù)據(jù)信號;第二存儲單元,其在檢測到各地址之間的沖突并且第一 CPU不處于可讀狀態(tài)時,存儲從第二 CPU向該雙端口 RAM寫數(shù)據(jù)信號的地址所讀取的數(shù)據(jù)信號,而不管第二 CPU是否處于可寫狀態(tài);以及切換單元,其通過當未檢測到各地址之間的沖突并且第一 CPU處于可讀狀態(tài)時,從第一存儲單元讀取數(shù)據(jù)信號,當檢測到各地址之間的沖突并且第一 CPU不處于可讀狀態(tài)時, 無論第二 CPU是否處于可寫狀態(tài),從第一存儲單元讀取數(shù)據(jù)信號,以及當檢測到各地址之間的沖突、第一 CPU不處于可讀狀態(tài)并且第二 CPU處于可寫狀態(tài)時,從第二存儲器單元讀取數(shù)據(jù)信號,來將輸出數(shù)據(jù)信號的讀取源切換到第一 CPU連接到的端口,并且該切換單元將讀取的數(shù)據(jù)信號輸出到進入可讀狀態(tài)的第一 CPU。
2.根據(jù)權利要求1的信號控制設備,其中當?shù)谝籆PU從雙端口 RAM讀數(shù)據(jù)信號的定時與第二 CPU向雙端口 RAM寫數(shù)據(jù)信號的定時相同并因此檢測到各地址之間的沖突時,所述切換單元根據(jù)第一和第二 CPU的操作速度在讀取由切換單元輸出的數(shù)據(jù)信號的第一和第二存儲單元之間切換。
3.根據(jù)權利要求2的信號控制設備,其中當?shù)谝缓偷诙﨏PU的操作時刻彼此相同時, 所述切換單元輸出由第一 CPU寫到第一或第二存儲單元的數(shù)據(jù)信號,當?shù)谝?CPU的操作速度快于第二 CPU的操作速度時,所述切換單元輸出由第一 CPU寫到第二存儲單元的數(shù)據(jù)信號,并且當?shù)谝?CPU的操作速度慢于第二 CPU的操作速度時,所述切換單元輸出由第二 CPU 寫到第二存儲單元的數(shù)據(jù)信號。
4.根據(jù)權利要求1的信號控制設備,其中當?shù)诙﨏PU在第一 CPU從雙端口 RAM讀取數(shù)據(jù)信號的時段期間向該雙端口 RAM寫數(shù)據(jù)信號并因此檢測到各地址之間的沖突時,所述切換單元根據(jù)第一和第二 CPU的操作速度在讀取由切換單元輸出的數(shù)據(jù)信號的第一和第二存儲單元之間切換。
5.根據(jù)權利要求4的信號控制設備,其中當?shù)谝缓偷诙﨏PU的操作時刻彼此相同時,所述切換單元輸出由第一 CPU寫到第一存儲單元的數(shù)據(jù)信號,當?shù)谝?CPU的操作速度快于第二 CPU的操作速度時,所述切換單元輸出由第一 CPU寫到第二存儲單元的數(shù)據(jù)信號,當?shù)谝?CPU的操作速度慢于第二 CPU的操作速度并且第一 CPU準備從該雙端口 RAM讀取數(shù)據(jù)信號時,所述切換單元輸出由第二 CPU寫到第二存儲單元的數(shù)據(jù)信號,并且當?shù)谝?CPU的操作速度慢于第二 CPU的操作速度并且第一 CPU從該雙端口 RAM讀取數(shù)據(jù)信號時,所述切換單元輸出由第一 CPU寫到第一存儲單元的數(shù)據(jù)信號。
6.根據(jù)權利要求1的信號控制設備,其中當?shù)谝籆PU在第二 CPU向雙端口 RAM寫數(shù)據(jù)信號的時段期間從該雙端口 RAM讀取數(shù)據(jù)信號并因此檢測到各地址之間的沖突時,所述切換單元根據(jù)第一和第二 CPU的操作速度在讀取由切換單元輸出的數(shù)據(jù)信號的第一和第二存儲單元之間切換。
7.根據(jù)權利要求6的信號控制設備,其中當?shù)谝缓偷诙﨏PU的操作時刻彼此相同時, 所述切換單元輸出由第二 CPU寫到第二存儲單元的數(shù)據(jù)信號,當?shù)谝?CPU的操作速度快于第二 CPU的操作速度并且在數(shù)據(jù)信號的寫的準備期間進行讀時,所述切換單元輸出由第一 CPU寫到第一存儲單元的數(shù)據(jù)信號,當?shù)谝?CPU的操作速度快于第二 CPU的操作速度并且在數(shù)據(jù)信號的寫期間進行讀時,所述切換單元輸出由第二 CPU寫到第二存儲單元的數(shù)據(jù)信號,并且當?shù)谝?CPU的操作速度慢于第二 CPU的操作速度時,所述切換單元輸出由第二 CPU 寫到第二存儲單元的數(shù)據(jù)信號。
8.一種信號控制方法,包括以下步驟在由分別連接到兩個端口的第一和第二 CPU以預定操作時刻從其讀數(shù)據(jù)信號和向其寫數(shù)據(jù)信號的雙端口 MM中檢測第一 CPU從該雙端口 RAM讀數(shù)據(jù)信號的地址與第二 CPU向該雙端口 RAM寫數(shù)據(jù)信號的地址之間的沖突;將第一 CPU從該雙端口 RAM讀取的數(shù)據(jù)信號存儲在第一存儲單元中,并在檢測到各地址之間的沖突并且第一 CPU不處于可讀狀態(tài)時,不管第二 CPU是否處于可寫狀態(tài),將從第二 CPU向該雙端口 RAM寫數(shù)據(jù)信號的地址所讀取的數(shù)據(jù)信號存儲在第二存儲單元中;以及通過當未檢測到各地址之間的沖突并且第一 CPU處于可讀狀態(tài)時,從第一存儲單元讀取數(shù)據(jù)信號,當檢測到各地址之間的沖突并且第一 CPU不處于可讀狀態(tài)時,無論第二 CPU 是否處于可寫狀態(tài),從第一存儲單元讀取數(shù)據(jù)信號,以及當檢測到各地址之間的沖突、第一 CPU不處于可讀狀態(tài)并且第二 CPU處于可寫狀態(tài)時,從第二存儲器單元讀取數(shù)據(jù)信號,來將輸出數(shù)據(jù)信號的讀取源切換到第一 CPU連接到的端口,并且將讀取的數(shù)據(jù)信號輸出到進入可讀狀態(tài)的第一 CPU。
全文摘要
一種信號控制設備包括雙端口RAM,由分別連接到兩個端口的第一和第二CPU以預定操作時刻從其讀數(shù)據(jù)信號和向其寫數(shù)據(jù)信號;地址沖突檢測單元,其檢測第一CPU和第二CPU分別從該雙端口RAM讀數(shù)據(jù)信號和向該雙端口RAM寫數(shù)據(jù)信號的地址之間的沖突;第一存儲單元,其存儲第一CPU讀取的數(shù)據(jù)信號;第二存儲單元,其在檢測到各地址之間的沖突時,存儲從第二CPU向該雙端口RAM寫數(shù)據(jù)信號的地址所讀取的數(shù)據(jù)信號;以及切換單元,其將輸出數(shù)據(jù)信號的讀取源切換到第一CPU連接到的端口,并且將讀取的數(shù)據(jù)信號輸出到進入可讀狀態(tài)的第一CPU。
文檔編號G06F13/16GK102236623SQ201110094410
公開日2011年11月9日 申請日期2011年4月15日 優(yōu)先權日2010年4月22日
發(fā)明者田中慎治郎 申請人:索尼公司