|
FIFO(First In First Out)全稱是先進(jìn)先出的存儲器。先進(jìn)先出也是FIFO的主要特點。
FIFO只允許兩端一個寫,一個讀,因此FIFO是一種半共享式存儲器。在雙機(jī)系統(tǒng)中,只允許一個CPU往FIFO寫數(shù)據(jù),另一個CPU從FIFO讀數(shù)據(jù)。而且,只要注意標(biāo)志輸出,空指示不寫,滿指示不讀,就不會發(fā)生寫入數(shù)據(jù)丟失和讀出數(shù)據(jù)無效。
本文介紹了以雙口RAM和FIFO為例,利用多端口存儲器設(shè)計多機(jī)系統(tǒng)。現(xiàn)對雙口RA幾FIFO比較如下:(1)FIFO的仲裁控制簡單,但其容量不如雙口RAM。由于先進(jìn)先出的特點,特別適合數(shù)據(jù)緩沖和突發(fā)傳送數(shù)據(jù)。某些芯片的內(nèi)部就集成小容量FIFO,例如,DSP的同步串口就集成兩個FIFO,用于接收和發(fā)送數(shù)據(jù)緩沖。雙口RAM的仲裁邏輯比FIFO復(fù)雜,但其容量較
大。由于存儲數(shù)據(jù)完全共享,適用于雙機(jī)系統(tǒng)的全局存儲器和大容量數(shù)據(jù)存儲共享,例如大容量磁盤的數(shù)據(jù)緩存可采用雙口RAM。(2)FIFO只給外部提供一個讀和一個寫信號,因此CPU用一個I/O地址便可讀或?qū)慒IFO,使硬件趨于簡單,給編程也帶來一些方便,但CPU不能對FIFO內(nèi)部的存儲器進(jìn)行尋址。雙口RAM由于有兩套地址線,使硬件較FIFO復(fù)雜,但允許CPU訪問內(nèi)部存儲單元,因此CPU之間可以自己定主和分配數(shù)據(jù)塊以及數(shù)據(jù)單元,使軟件設(shè)計更加靈活。
在異種機(jī)系統(tǒng)設(shè)計中,利用雙口RAM和FIFO能夠?qū)崟r、快速、靈活和方便地進(jìn)行相互通信,得到滿意的效果。
|
|