使用硬件相似的數據處理.一般都是數據進來,處理后立即發出去的形式.所以一般有一個數據進,一個數據出,2個接口.
硬件處理基本都要求實時.數據進來,處理之后馬上發處理,這個時間要求非常短,一般要求控制在好多毫秒以內,才能達到實時的要求.一般硬件每秒鐘能夠處理的數據大小,在設計的時候就固定了.不能像軟件那樣,可以通過增加CPU來提升處理能力.而且硬件的緩存的容量也是在設計的時候就固定了,不能像軟件那樣,隨意申請內存來用.
所以硬件的緩存都不會太大.緩存的數據太大,會造成等待數據處理延時太高.達不到實時的要求.
硬件每秒能夠處理的數據也是固定的.
硬件在處理數據的時候,一般是要等待緩沖區有足夠的數據可以處理,然后開始處理.
如果數據輸入的速度,固定保持在理想狀態,那么緩沖區就會一直有數據供給硬件平穩的進行處理.
輸入一直輸入數據,硬件一直有數據在處理,輸出一直在輸出處理好的數據.緩沖區的數據容量,一直保持在某個范圍.
如果指數據發送太快,硬件處理不過來,緩存已經裝不下那么多數據,開始丟棄這些數據,放棄處理.這就是指上溢.
如果數據發送太慢,緩沖區的數據都處理空了,輸入數據還沒過來,硬件還在等待緩沖區有足夠數據可以處理,輸出接口就在要求發送處理好的數據出去,就是指下溢.