可重組計算Reconfigurable computing) 是一種具有高度彈性運算組織構造英語computing fabric電腦處理方式英語computer processing。和使用平常的微處理器主要不同的地方在於,可重組計算具有能力對資料路徑英語data path控制流程做實質上的改變。

歷史與特性 編輯

可重組計算的概念,在六零年代(1960s),當Gerald Estrin指標性的文章中,提出一台電腦裏擁有一個標準處理器和一個可重組硬件矩陣的概念時就已經普及。主要的處理器負責控制可重組硬件。可重組硬件將被客製成執行一項特殊的工作,比如影像處理模式比對英語Pattern matching,如同特製一部分硬件一般快。當某個工作完成,硬件會被調整適合執行另一項工作。這種混合的電腦結構擁有軟件的彈性伴隨着硬件的速度。不幸的是這個想法遠遠超過了當時的電子技術

粒度 編輯

指可重組計算模組的最小位寬。影響重構的代價和效率。顆粒度小,重構靈活性大,但組態資訊多,重構開銷大;顆粒度大,重構靈活性小,組態資訊少,處理低位寬數據會浪費計算單元降低效率。

重組速率 編輯

與主運算單元耦合 編輯

繞線/相互連結 編輯

在可重組裝置上所謂的靈活性(flexibility)主要取決於他們之間路徑的互連(interconnect)。其中一種普及的互連的型式為島狀組態(island style layout)產生於場效可程式規化閘陣列(FPGA)廠商,如Xilinx和Altera,其中區塊(blocks)被排列成矩陣利用垂直和平行方向繞線(routing)。一個不適當繞線(routing)的佈局(layout)會使其缺少彈性(flexibility)和有着較低的資源利用程度(resource utilization),因此而提供有限的效能。如果有太多的互連(interconnect)則會有較多不必要的電晶體,因此需要較大的矽晶空間,較長的電線和較多的能源消耗。

使用工具流程 編輯

通常,可組合計算系統(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可以在執行中辦到。

有些基於數據流的處理器是利用可重組計算的概念完成的。

模式的轉移 編輯

專業用語 編輯

參見 編輯

參考文獻 編輯

  • 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.

外部連結 編輯