|
雙口RAM是常見(jiàn)的共享式多端口存儲(chǔ)器,其最大特點(diǎn)是共享存儲(chǔ)數(shù)據(jù),即一個(gè)存儲(chǔ)器配備兩套***的地址線、數(shù)據(jù)線和控制線,允許兩個(gè)***的CPU或控制器同時(shí)異步的訪問(wèn)存儲(chǔ)單元。這種同時(shí)異步的訪問(wèn)存儲(chǔ)單元需要內(nèi)部仲裁控制邏輯的控制(BUSY功能輸出),由于兩個(gè)端口對(duì)雙口RAM存取時(shí)存在以下4種情況:
1.兩個(gè)端口不同時(shí)對(duì)同一地址單元存取數(shù)據(jù);
2.兩個(gè)端口同時(shí)對(duì)同一地址單元讀出數(shù)據(jù);
3.兩個(gè)端口同時(shí)對(duì)同一地址單元寫(xiě)入數(shù)據(jù);
4.兩個(gè)端口同時(shí)對(duì)同一地址單元操作,一個(gè)寫(xiě)入數(shù)據(jù),一個(gè)讀出數(shù)據(jù)。
所以,內(nèi)部仲裁控制邏輯相應(yīng)的提供以下功能:
1.對(duì)同一地址單元訪問(wèn)的時(shí)序控制;
2.存儲(chǔ)單元數(shù)據(jù)塊的訪問(wèn)權(quán)限分配;
3.信令交換邏輯。
對(duì)同一地址單元訪問(wèn)的時(shí)序控制
當(dāng)左右端口不對(duì)同一地址單元存取時(shí),BUSY R=H,BUSY L=H,可正常存儲(chǔ);當(dāng)左右端口對(duì)同一地址單元存儲(chǔ)時(shí),有一個(gè)端口的BUSY=L,禁止數(shù)據(jù)的存取,此時(shí),兩個(gè)端口中先出現(xiàn)的存儲(chǔ)請(qǐng)求信號(hào)對(duì)應(yīng)的BUSY=H,允許存儲(chǔ),后出現(xiàn)的存儲(chǔ)請(qǐng)求信號(hào)對(duì)應(yīng)的BUSY=L,禁止存儲(chǔ)(注意:兩端口間的存儲(chǔ)請(qǐng)求信號(hào)出現(xiàn)時(shí)間差應(yīng)滿足仲裁最小時(shí)間間隔TAPS(IDT7132為5ns),否則仲裁邏輯無(wú)法判定哪一個(gè)端口的存儲(chǔ)請(qǐng)求信號(hào)在前);在無(wú)法判定哪個(gè)端口先出現(xiàn)存儲(chǔ)請(qǐng)求信號(hào)時(shí),控制線BUSY L和BUSY R只有一個(gè)為低電平,不會(huì)同時(shí)為低電平,這樣就避免了雙端口存取出現(xiàn)錯(cuò)誤。
存儲(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)的***標(biāo)志單元,兩個(gè)端口分別采用兩個(gè)觸發(fā)器可以實(shí)現(xiàn)這一功能。兩個(gè)觸發(fā)器在初始化時(shí)均使SEM允許輸出為高電平,等待雙方申請(qǐng)SEM,如果收到一方寫(xiě)入的SEM信號(hào)(通常低電平寫(xiě)入),仲裁電路將使其中一個(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ì)方。這類似與PC操作系統(tǒng)的進(jìn)程同步的信箱機(jī)制。
以上是雙口RAM自身提供的仲裁邏輯控制,也可采用自行設(shè)計(jì)的仲裁協(xié)議,比如FIFO。
|
|