二、 基礎理論與研究內容
2.1 微管線的操作原理與特性
Ivan E. Sutherland 在 1989 年提出的微管線,是一種常使用於非同步電 路中的架構。一般傳統的管線為需要時序信號的同步電路,而微管線則是不需要 時序信號,並且由通訊協定取代時脈的非同步電路。這樣的好處為微管線經由非 同步的方式可執行於最佳的效能狀況,有別於傳統的管線,因為受到關鍵路徑牽 制的影響,而使得運作時必需處於最差的狀況下執行。因此,與同步的管線比較,
微管線具有較高的效能與低功率消耗的特性。
如圖 2-1 所示,非同步電路主要是由通訊協定中請求與認可這兩種控制信 號來作為相互之間的溝通。運作方式為當資料於傳送端 (Sender) 準備完成後將 送出一個請求信號告知接收端 (Receiver),當接收端收到資料後將回傳一個認 可的信號告知傳送端資料已接收完成並可以傳輸下一筆資料。如此依照這種模 式,資料便可在請求與認可這兩種信號的運作下由傳送端送至接收端。
圖 2.1 非同步電路的運作模式
關於非同步電路中請求與認可控制信號的通訊協定,可再分為 two-phase 與 four-phase 兩種不同的交握 (handshaking) 方式。
Two-phase 的 定 義 為 控 制 信 號 其 上 昇 緣 (raising edge) 與 下 降 緣 (falling edge) 皆代表具有相同觸發的意義,圖 2-2 所示為 two-phase 架構的 時序示意圖。當資料於傳送端就緒時,傳送端將產生一個上昇緣 (或下降緣) 的 請求訊號,而同樣的,接收端於收到資料後也將產生一個上昇緣 (或下降緣) 的 認可訊號回覆給傳送端。
圖 2-2 Two-phase 時序圖
Four-phase 的架構,控制信號的上昇緣與下降緣代表不相同的觸發意義。
Four-phase 的運作方式有別於 two-phase 的架構,它僅有當請求與認可兩個信 號皆為零的時候,新的資料才可能被傳輸進來。圖 2-3 為 four-phase 架構的時 序示意圖。
圖 2-3 Four-phase 時序圖
另外,若針對資料傳輸方式來分類,非同步電路也可以分成 Bundled data 與 Dual-rail 兩種不同的架構。
Bundled data 的運作方式主要為需要量測資料於進入各個電路區塊中運算完 成的最大延遲時間。藉由得到此延遲時間,當傳送端送出請求信號時,接收端將
延遲一段延遲時間後再送出認可的信號,如此即可完成一次資料的傳輸與運算。
Bundled data 架構的好處為需使用的訊號線較少,如圖 2-4 所示,若資料有 n 個位元,則 bundled data 的架構僅需要 n+2 個訊號線即可,加入的兩條訊號 線為請求與認可訊號。
圖 2-4 Bundled data 架構的說明
(左圖為最大延遲時間的計算,右圖表現出所需要的訊號線數)
Dual-Rail data 的運作方式與 Bundled data 最大的不同處為其任一個資 料位元需對應到兩條控制信號線,先假設控制信號為 A0 與 A1,藉由 A0 與 A1 中的值我們可以得到四種不同的組合,定義各種組合如下所示 :
A1A2 -> 00 = no data, 01 = 0, 10 = 1, 11 = error
圖 2-5 Dual-rail 架構的說明
由圖 2-5 可知此種方式將可得到更正確的資料傳輸。然而訊號線的數目將 會增加一倍,即資料訊號若有 n 個位元,應用此架構的話將需要 2n 條訊號線 方能完成傳輸動作。
Sutherland 提出的微管線為基於 two-phase 運作的非同步而且屬於事件 驅動 (event-driven) 的架構。由於它是採用 bundled data 為介面來傳送資料,
因此當資料於傳送端就緒時,傳送端將送出一個請求的訊號至接收端,經過一段 延遲時間後當接收端收到資料後會回傳一個認可的訊號給傳送端。另外,另一個 請求訊號將會被傳送至下一級的接收端,再經過一段延遲時間後,當下一級的接 收端收到資料時會再回傳一個認可的訊號給傳送端。如此的機制將一直重複往下 傳至下一級,直到所有新的資料皆完成輸入的動作。
圖 2-6 所示即為四級微管線的示意圖,資料由 Din 進入電路中,經過四級 的處理後由 Dout 輸出。每級電路中皆包含了暫存器與組合電路於其中,暫存器 的動作藉由請求訊號由前一級的 Rout 傳至後一級的 Rin, 圖中的訊號線均由上 昇緣或下降緣來控制其運作。
圖 2-6 四級的微管線 (4-stage micropipelines) 方塊圖
圖 2.6 中的 C 代表著 Muller C element, 這個元件的操作原理如下所描述 :
IF predecessor and successor differ in state THEN copy predecessor's state
ELSE hold present state.