雙口RAM最大的特點(diǎn)是存儲(chǔ)數(shù)據(jù)共享。一個(gè)存儲(chǔ)器配備兩套獨(dú)立的地址、數(shù)據(jù)和控制線,允許兩個(gè)獨(dú)立的CPU
或控制器同時(shí)異步地訪問(wèn)存儲(chǔ)單元。因?yàn)閿?shù)據(jù)共享,就必須存在訪問(wèn)仲裁控制。內(nèi)部仲裁邏輯控制提供以下功能:對(duì)同一地址單元訪問(wèn)的時(shí)序控制;存儲(chǔ)單元數(shù)據(jù)塊的訪問(wèn)權(quán)限分配;信令交換邏輯(例如中斷信號(hào))等。
?。?)對(duì)同一地址單元訪問(wèn)的競(jìng)爭(zhēng)控制
如果同時(shí)訪問(wèn)雙口RAM的同一存儲(chǔ)單元,勢(shì)必造成數(shù)據(jù)訪問(wèn)失真。為了防止沖突的發(fā)生,采用Busy邏輯控制,也稱硬件地址仲裁邏輯。此處只給出了地址總線
選通信信號(hào)先于片選脈沖信號(hào)的情況,而且,兩端的片選信號(hào)至少相差tAPS——仲裁最小時(shí)間間隔(IDT7132為5ns),內(nèi)部仲裁邏輯控制才可給后訪問(wèn)的一方輸出Busy閉鎖信號(hào),將訪問(wèn)權(quán)交給另一方直至結(jié)束對(duì)該地址單元的訪問(wèn),才撤消Busy閉鎖信號(hào),將訪問(wèn)權(quán)交給另一方直至結(jié)束對(duì)該地址單元的訪問(wèn),才撤消Busy閉鎖信號(hào)。即使在極限情況,兩個(gè)CPU幾乎同時(shí)訪問(wèn)同一單元——地址匹配時(shí)片選信號(hào)低跳變之差少于tAPS,Busy閉鎖信號(hào)也僅輸出給其中任一CPU,只允許一個(gè)CPU訪問(wèn)該地址單元。仲裁控制不會(huì)同時(shí)向兩個(gè)CPU發(fā)Busy閉鎖信號(hào)。
?。?)存儲(chǔ)單元數(shù)據(jù)塊的訪問(wèn)權(quán)限分配
存儲(chǔ)單元數(shù)據(jù)塊的訪問(wèn)權(quán)限分配只允許在某一時(shí)間段內(nèi)由1個(gè)CPU對(duì)自定義的某一數(shù)據(jù)塊進(jìn)行讀寫(xiě)操作,這將有助于存儲(chǔ)數(shù)據(jù)的保護(hù),更有效地避免地址沖突。信號(hào)量(Semaphore,簡(jiǎn)稱SEM)仲裁閉鎖就是一種硬件電路結(jié)合軟件實(shí)現(xiàn)訪問(wèn)權(quán)限分配方法。SEM單元是與存儲(chǔ)單元無(wú)關(guān)的獨(dú)立標(biāo)志單元,圖3給出了一個(gè)信號(hào)量閉鎖邏輯框圖。兩個(gè)觸發(fā)器在初始化時(shí)均使SEM允許輸出為高電平,等待雙方申請(qǐng)SEM。如果收到一方寫(xiě)入的SEM信號(hào)(通常低電平寫(xiě)入),如圖3所示,仲裁電路將使其中一個(gè)觸發(fā)器的SEM允許輸出端為低電平,而閉鎖另一個(gè)SEM允許輸出端使其繼續(xù)保持高電平。只有當(dāng)先請(qǐng)求的一方撤消SEM信號(hào),即寫(xiě)入高電平,才使另一SEM允許輸出端的閉鎖得到解除,恢復(fù)等待新的SEM申請(qǐng)。
?。?)信令交換邏輯(signaling logic)
為了提高數(shù)據(jù)的交換能力,有些雙口RAM采用信令交換邏輯來(lái)通知對(duì)方。IDT7130(1K容量)就是采用中斷方式交換信令。利用兩個(gè)特殊的單元(3FFH和3FEH)作為信令字和中斷源。假設(shè)左端CPU向3FFH寫(xiě)入信令,將由寫(xiě)信號(hào)和地址選通信號(hào)觸發(fā)右端的中斷輸出,只有當(dāng)右端的CPU響應(yīng)中斷并讀取3FFH信令字單元,其中斷才被雙口RAM撤消。