天天看點

資料流動控制學習筆記

組合邏輯和時序邏輯學習筆記

服完上篇博文的知識,再服用此博文效果更佳!認真看下去,其實還挺有意思。

我們知道,諸如加、減、乘、除、比較等運算都可以用組合邏輯來實作,但運算的輸入必須穩定一段時間,才可能得到穩定的輸出,而輸出要被下一階段的運算作為輸入,也必須要有一段時間的穩定,因而輸出結果必須儲存在寄存器組中。在計算電路中設有許多寄存器組,它們是用來暫存運算的中間資料。對寄存器組之間資料流動進行精确的控制,在算法的實作的過程中有着極其重要的作用。這種控制是由同步狀态機實作的。

開關邏輯應用舉例:

設想下面的組合邏輯是一個乘法器,把輸入的數乘 3,然後輸出。因為乘法器是由門組成的,是以會有延遲,從圖上看,為了取得穩定的輸出需要 10ns 的延遲。如果能有效地控制Sn 的開關時間就可以取得穩定的輸出,把運算結果存入寄存器。

資料流動控制學習筆記

帶輸出控制開關的運算組合邏輯和資料流波形

設想下圖中由開關 S1 和開關 S2 控制的兩個組合邏輯都是運算邏輯,例如乘法器或加法器等,而寄存器 A,B,C 是用來寄存運算的輸入、中間和輸出資料的。如果能與時鐘配合來精确地控制開關的閉合和斷開,在寄存器中暫存的中間或輸出資料都會是上一步運算的穩

定結果,而不會出現冒險和競争的現象。

設想下圖中由開關 S1、S3、S5 控制的三個組合邏輯都是運算邏輯,例如乘法器或加法器等,而寄存器組 A,B,C 是用來寄存運算的輸入、中間和輸出資料的。開關 S2、S4、S6 是三态門,能控制寄存器組 A,B,C 的輸出到總線上還是與總線隔離。 如果能與時鐘配合來精确地控制 S1 到 S6 開關的閉合和斷開,在寄存器中暫存的中間或輸出資料都會是上一步運算的穩定結果,而不會出現冒險和競争的現象。運算的過程可以在這幾個寄存器組内反複地執行,直到通過開關的控制使其停止。下面讓我們通過簡單的描述來說明一個極其重要的概念:生成與時鐘精确配合的開關時序是計算邏輯的核心。

資料流動控制學習筆記

由開關邏輯控制的資料流動和計算邏輯結構示意圖

我們在“數字電子技術基礎”中已經知道當時鐘正跳變沿到來時,在 D 觸發器資料端口的資料才能存入觸發器中。我們也知道當組合邏輯的輸入變化時,輸出必須經過一段時間後才能穩定,這是由于門級電路和布線的延遲造成的。隻有穩定的輸出對運算才是有意義的。

如果我們想把寄存器組 C 中的資料經過組合邏輯的運算存入寄存器組 A 中,我們應該如何來控制這幾個開關呢?

從上面的描述我們知道開關 S1、S3、S5 分别控制着三個組合運算邏輯的輸出。如果 S1、S3、S5 切斷資料通道,則組合運算邏輯的輸出總是為零(即每一個輸出線總為低電平)。當時鐘正跳變沿到來時這三個寄存器組将全部清零。為了要把寄存器組 C 中的資料送出,必須在時鐘正跳變沿到來前接通 S6,待運算組合邏輯輸出穩定後接通 S1,在時鐘正跳變到來時便可把穩定的結果存入寄存器組 A 中。此時寄存器組 C 中的資料已被清零,因為這時開關 S3、S5、S2、S4 必須把資料通道斷開,寄存器組 C 端口的零電平被存入寄存器組 C。但由原來寄存在寄存器組 C 中的資料所生成的結果已穩定地存入寄存器組 A 中。同理斷開所有的通道,隻按時序先後接通 S2、S3,在下一運算時鐘前沿到來時就能穩定地把由 S3 控制的運算結果存入寄存器組 B。