可重組計算
维基百科,自由的百科全书
可重組計算(Reconfigurable computing) 是一種具有高度彈性運算組織構造(computing fabric)的電腦處理方式(computer processing)。和使用平常的微處理器(microprocessors)主要不同的地方在於,可重組計算具有能力對資料路徑(data path)和控制流程(control flow)做實質上的改變。
目录 |
[编辑] 歷史與特性
可重組計算的概念,在六零年代(1960s),當Gerald Estrin指標性(landmark)的文章中,提出一台電腦裡擁有一個標準處理器和一個可重組(reconfigurable)硬體矩陣的概念時就已經普及。主要的處理器負責控制可重組硬體。可重組硬體將被客制(tailored)成執行一項特殊的工作,比如影像處理(image processing)或模式比對(pattern matching),如同特制一部分硬體一般快。當某個工作完成,硬體會被調整適合執行另一項工作。這種混合的電腦結構擁有軟體的彈性伴隨著硬體的速度。不幸的是這個想法遠遠超過了當時的電子技術(electronic technology)。
[编辑] 粒度
[编辑] 重組速率
[编辑] 與主運算單元耦合
[编辑] 繞線/相互連結
在可重組裝置上所謂的靈活性(flexibility)主要取決於他們之間路徑的互連(interconnect)。其中一種普及的互連的型式為島狀配置(island style layout)產生於場效可程式規化閘陣列(FPGA)廠商,如Xilinx和Altera,其中區塊(blocks)被排列成矩陣利用垂直和平行方向繞線(routing)。一個不適當繞線(routing)的佈局(layout)會使其缺少彈性(flexibility)和有著較低的資源利用程度(resource utilization),因此而提供有限的效能。如果有太多的互連(interconnect)則會有較多不必要的電晶體(transistor),因此需要較大的矽晶空間,較長的電線和較多的能源消耗。
[编辑] 使用工具流程
通常,可組合計算系統(configurable computing system)的工具可以分成兩個部分,用在可重組矩陣(reconfigurable array)的電腦輔助設計工具(CAD)和用在CPU方面的編譯(compilation)工具。前端(front-end)的編譯器(complier)是一種整合的工具,會產生結構化的硬體描述(hardware represatation)當成硬體設計流程(hardware design flow)的輸入。可重組結構(reconfigurable architecture)的硬體設計流程可以利用設計程序(design process)的三個主要階段來分類,技術映射(technology mapping),擺置演算法(placement algorithm),繞線演算法(routing algorithm)。
有一些類型的可重組計算機是被微程序化(microcoded)的處理器,其中微程序被存在隨機存取記憶體(RAM)或EEPROM中,而且可以在重新啟動(reboot)改變或執行中(on the fly)改變。像是 AMD 2900系列的bit slice 處理器可以在重新啟動辦到,而FPGA可以在執行中辦到。
有些基於資料流程(dataflow)的處理器是利用可重組計算的概念完成的。
[编辑] 模式的轉移
[编辑] 專業用語
[编辑] 參見
- C-One
- Sprinter
[编辑] 參考文獻
- G. Estrin, "Organization of Computer Systems—The Fixed Plus Variable Structure Computer," Proc. Western Joint Computer Conf., Western Joint Computer Conference, New York, 1960, pp. 33-40.
- N. Tredennick: The Case for Reconfigurable Computing; Microprocessor Report, Vol. 10 No. 10, 5 Aug 1996, pp 25-27.
[编辑] 外部連結
- IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM)
- International Conference on Field-Programmable Logic and Applications (FPL)
- BYU Configurable Computing Laboratory's FPGA CAD tool set
- The Morphware Page
- The OpenFPGA effort
- RC Education Workshop
- Reconfigurable Architectures Workshop
- Reconfigurable Computing: Coming of Age
- The Virginia Tech Configurable Computing Laboratory
- The University of Florida High-Performance Computing & Simulation Research Laboratory
- The University of Kansas Hybridthreads Project - OS for Hybrid CPU/FPGA chips
- Why we need Reconfigurable Computing Education