• 沒有找到結果。

非同步微處理器介紹

第三章 非同步電路探討

3.4 非同步微處理器介紹

在這一小節會介紹過去的非同步的微處理器。

3.4.1 CAP-Caltech Asynchronous Processor

CAP[14][16]是目前已知最早的非同步微處理器,是由加州理工學院的 Alain Martin 團隊在 80 年代後期所設計的。採用的是 4-phase dual-rail 的 Handshake Protocol,其架構圖如圖 13 所示,當初評估性能約有 15MIPS。該團隊後來有以 CAP 為基本模組開發出新的版本,性能能達到 100MIPS。

圖 13 Caltech Asynchronous Processor 架構

3.4.2 FAM-Fully Asynchronous Microprocessor

FAM[17]是由韓國科技學院及東京技術學院共同開發的 32 位元 RISC(精簡指 令集微處理器),內部有 32 個通用暫存器,只提供了 18 種指令,跟 CAP 同樣是 屬於實驗性質的非同步電路設計。

FAM 架構圖(圖 14),使用了 pipeline 的架構,把指令的執行分成了 4 個 stage 的 RISC 微處理器。Handshake protocol 也採用了 4-phase dual-rail。4 個 stage 分

別是指令擷取(instruction fetch)、記憶體(memory)、指令解碼(instruction decode) 跟指令執行(instruction execution)。

圖 14 Fully Asynchronous Microprocessor 的管線化架構圖

21

3.4.3 NSR-Nonsynchronous RISC

圖 15 Nonsynchronous RISC 架構圖

NSR[18](圖 15),Handshake protocol 使用了 2-phase Bundled-data。pipeline 的架構,分成 5 個 stage:指令擷取、指令解碼、指令執行、記憶體存取、資料寫 回(write back)或是暫存器檔案(register file),並在其內部加入先進先出駐列(FIFO

queues),用以最小化慢速指令產生的 stalls。跟 CAD 跟 FAM 一樣屬於實驗性質 的處理器,NSR 提供 16 個指令使用,和 16 個 16bits 的暫存器。

NSR 是在 FPGA 上面實作,當時以最佳狀態為量測標準,效能能夠達到 1.3 MIPS。

3.4.4 AMULET1

圖 16Amulet1 processor organization

Amulet1 (圖 16),這是目前介紹的四個非同步的微處理器中功能最為完整的,

由曼徹斯特大學開發,能跟 ARM 處理器程式兼容的非同步處理器。Amulet1 提 供兩個等級的中斷,並提供了虛擬記憶體系統(virtual memory system)的例外處理。

PC pipe 會保存當下的 PC(program counter)數值,直到該指令執行完成。Register

23

protocol 使用了 2-phase Bundled-data。pipeline 的架構,分成 6 個 stages。

3.4.5 SA8051

圖 17 The architecture of SA8051

SA8051[23]是由臺灣交通大學所開發──以低耗電量為目標的非同步 8051,

架構如圖 17,使用 Balsa 工具來實作,Balsa 是由曼徹斯特大學所開發的一種專 為非同步電路硬體描述語言。可以合成電路,產生 netlist 檔案,燒綠至合適的 FPGA 驗證。與同步電路 8051 相比,在動態耗電量上有相當明顯的進步,約只有同步 版本的三分之一。使用 four-phase bundled data protocol。為了節省面積,不使用

balsa 合成 rom、ram,而直接使用 FPGA 的區塊記憶體。所以建立 handshake interface 作為溝通使用。

3.4.6 PA8051

圖 18 PA8051 設計圖

PA8051[24] 設計圖如圖 18,是交通大學設計為了提高 SA8051 的效能所設計 的非同步 8051。使用管線化的技術,將指令處理的步驟分為分成 Instruction Fetch (IF):從 ROM 抓取指令。Instruction Decode (ID):將指令解碼成對應的控制訊號。

Operand Fetch (OF):從記憶體或是暫存器中抓取下一個狀態需要的運算資料。

Execution(EXE):執行運算。Write Back(WB):將運算結果寫回目標暫存器或是 記憶體。

25

PA8051 則是完成工作後即接續下一個狀態。另外由於 8051 為 CISC,所以在指令 上面必頇先作分類。管線化會遇到的 hazard 問題,在 PA8051 使用 color bit 解決

control hazard 的問題,data hazard 則是使用 forwarding 和 stall。

與 SA8051 一樣,使用 Balsa 語言開發,protocol 為 four-phase bundled data,

評估效能為 SA8051 的 2.74 倍。但是在使用面積上則為 SA8051 的 4.7 倍左右。

3.4.7 非接觸式智慧晶片卡

圖 19 智慧卡架構圖

從 80 年代推出以後,智慧卡已經廣泛的應用在許多層面。其中非接觸式由 於不必插入至讀取機器只需要接近讀取機器,所以更為便利。而這種晶片必頇非 常省電因為是由 electromagnetic radiation 來啟動電路。

圖 19 非接觸智慧晶片卡的架構,其中 80C51 是以非同步電路的方式設計。

開發語言為 Tangram,Tangram 經由 silicon 編譯器可以產生非同步電路所需要的

handshake 電路。採用 four-phase bundled data protocol,元件中 RSA 和 DES 分別 為公開金鑰與私人金鑰轉換,UART 為對外溝通使用。EEPROM 包含部分程式及 數據,如加密金鑰和電子貨幣。

經由測詴,面積比同步電路多花費 20%面積,減少了 25%的電力消耗。

27

相關文件