效能最強的語言

2022-07-09 15:36:16 字數 717 閱讀 5718

verilog/vhdl(以下簡稱verilog,手動眼斜)

原因如下:

1,跳過作業系統,對底層電路進行程式設計;

2,為什麼它是程式語言。因為它可以在現場可程式設計邏輯陣列上執行,沒人規定一定要在cpu上跑的才叫程式語言吧。

------

說說verilog為什麼快:

基於馮諾依曼結構的程式語言需要先編譯成機器語言之後,run起來需要流式取指解碼然後執行,指令之間也是流式進行。而且一條指令可能需要幾個或者幾十個cpu時鐘週期。哪怕是最貼近底層的組合語言,也沒辦法避免單指令多週期的時間剛需,也無法避免這些時鐘週期還可以流水線疊加。

而verilog如果設計得好,在不太care硬體資源的前提下,任何指令甚至具有一定功能的程式,都可以在乙個時鐘週期內完成。(可以理解為電路具有無限並行能力)

可以舉個例子,比如寫個if-else分支。在cpu上會用跳轉的方式來完成,比較判斷跳轉,說三個時鐘週期算少。而在verilog上呢,直接編譯成乙個mux,乙個週期搞定。在多分支的情況下,多個mux疊加,verilog的優勢會越來越大。

verilog的缺點也是很明顯,開發起來比彙編都痛苦(別問我是怎麼知道的)。很多軟體工程師不了解verilog也是有原因的。舉個例子,都知道很多演算法(挖礦,nn等)在gpu上跑得比cpu快很多,原因之一就是gpu上很多矩陣運算都用專用電路加速了(這部分專用計算電路就是由硬體描述語言verilog之類完成後再固化的)。所以,效能最強的程式語言,我投verilog一票。

最強的貪心

取石子 問題描述 有 n 個石子圍成一圈,每個石子都有乙個權值a i 給你一次且僅一次取石子的機會,取石子的塊數不限,取完後統計得分。現在要使取出的石子得分最大。每個石子的得分計算公式是a i d,d 表示這個石子到兩邊被取了的石子的距離和。如這些權值的石子圍成一圈,不同取法有不同得分 輸入 第一行...

史上最強的黑客

這是我當黑客以來接到的一項最具挑戰性的生意,是去黑另乙個黑客的電腦。工欲善其事,必先利其器,我很明白現今裝備的重要性,於是我把自己從頭武裝到腳,包裝上了全黑的緊身夜行衣和戴上墨鏡。這樣我看起來就很黑很客,很重很要了。一出門,我就給車撞了 司機下車後,打著強光手電筒找了好半天才找得到躺在地上的我,說了...

最強的9031班

計算機9031班可能是江漢石油學院和長江大學唯一乙個以9字打頭的計算機專業班級了。這個班我接手的時候,是作為2級學院的學生接手的。二級學院的專科,可想這些學生的學習基礎有點差了,但是,我從接手的第一天,我就發現,這些學生不僅僅是學習上可能差點,性格上也有點不好。就拿我第一次到學生宿舍去看看這些學生的...