硬體算法

硬體算法

硬體算法則是以硬體的物理實現為前提。對於一個具體的設計問題,如何實現所要求的的功能,應該由哪些部件組成,如何組織各個部件,各個部件之間應有什麼樣的相互關係,如何實現對各個部件的控制等,用形式的方法把實現方法描述出來,就是硬體算法。 硬體算法涉及到數字系統的各個設計級別,上至系統結構,下至門級。硬體算法的研究,必將使硬體設計更加科學化、合理化、形式化。它有利於實現系統設計到邏輯設計的自動化,有利於將現有的軟體系統做成專用硬體。今後,硬體算法的研究必將在設計自動化系統的研究領域中占據重要的地位。

定義

硬體算法這個術語是隨著大規模積體電路的發展而出現的,但最初不過是邏輯設計的同義語,它描述邏輯設計問題的解決步驟和實現方法。隨著邏輯設計的規模越來越大,越來越複雜,硬體實現本身又具有較大的靈活性和自由度,硬體算法作為單獨的研究對象出現在設計自動化領域。  

硬體算法則是以硬體的物理實現為前提。對於一個具體的設計問題,如何實現所要求的的功能,應該由哪些部件組成,如何組織各個部件,各個部件之間應有什麼樣的相互關係,如何實現對各個部件的控制等,用形式的方法把實現方法描述出來,就是硬體算法。  

硬體算法涉及到數字系統的各個設計級別,上至系統結構,下至門級。硬體算法的研究,必將使硬體設計更加科學化、合理化、形式化。它有利於實現系統設計到邏輯設計的自動化,有利於將現有的軟體系統做成專用硬體。今後,硬體算法的研究必將在設計自動化系統的研究領域中占據重要的地位。  

設計與分析

與軟體算法相類似,解決同一個問題,可以有不同的算法,又可以有不同的實現方法。比如我們要設計一個乘法器,可以有串列進位、位移加法的算法,並行進位、位移相加的算法,陣列相乘,冗餘二進制並行算法等。而同一算法又可以用組合邏輯、PLA、單元陣列、積木式等各種電路結構來實現,晶片類型還可以有TTL、MOS、CMOS等等。  

硬體算法的設計和分析撇開具體電路的實現,僅對於較抽象的功能實現方法進行研究。一種情況是,在給定硬體實現環境的條件下要求找出適合於該實現環境的最好的硬體算法。另一種情況是,對於一個帶有普遍性的實際設計問題,比較其多種不同的算法,分析它們的優缺點並研究新的效率更高的算法。電路實現可以從中選擇最好的最實用的的一種。  

描述方法

與軟體算法類似,硬體算法也有各種描述方法:
(1)自然語言;

(2)數學模型;

(3)硬體描述語言;

(4)流程圖;

(5)邏輯圖。  

硬體算法與邏輯設計

兩個方面的研究

在邏輯設計中,硬體算法的研究有兩方面:

(1)為滿足邏輯設計要求、選擇所用的計算模型、開發實際系統而預先設計硬體算法;

(2)對某個問題的解決方法做原理性研究,分析評價已有算法,並以實現化為目的研究效率更高的硬體算法。  

與軟體算法比較

硬體算法與軟體在形式上沒有什麼不同。實際上許多硬體算法都是從軟體算法演變而來的,特別是軟體硬體化的專用硬體,大都是以軟體算法為基礎的。  

分析與評價

在硬體設計中要求有儘量高的性能和可靠性,儘量低的開銷,因而要求能夠對硬體算法的性能作定量的分析和評價。

在評價一個軟體算法時,主要考慮計算時間和占用空間(存儲量)。在硬體算法中同樣要考慮計算時間和占用空間的問題,不過計算時間主要表現在輸入端到輸出端的延遲時間,而占用空間主要指晶片所需的面積,它主要取決於元件個數,每個元件占的面積,以及線長、線寬與間隔等。  

時間複雜度

一般來說,設n為時間的規模(大小),計算時間關於n的函式稱為時間複雜度。

對於一個排序問題,其計算時間顯然是記錄個數n的一個函式,在並行計算排序算法中,總的計算時間為2n。算法的時間複雜度T為O(n)數量級,即與記錄個數成正比。  

面積複雜度

一般來說,設n為時間的規模(大小),而占用的晶片面積關於n的函式稱為面積複雜度。

在影響面積複雜度的諸因素中,無疑元件個數是最重要的,因而常用元件個數作為面積的度量。在排序算法中,對於n個記錄,就需要n個單元,因而面積複雜度A=O(n),即面積也與記錄成正比。  

面積時間複雜度

硬體算法 硬體算法
硬體算法 硬體算法

時間複雜度與面積複雜度常常相互影響。串列進位加法器計算時間長,元件個數少。並行進位加法器提高了計算速度,卻增加了元件個數,因而增加了面積。為此常把時間複雜度T與面積複雜度A綜合考慮,形成複合評價尺度,稱為面積時間複雜度。二者的不同組合可以得到不同的面積時間複雜標準。最常見的有AT,(或)。  

相關詞條

熱門詞條

聯絡我們