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