首頁>Club>
CPU上的幾十億個電晶體是矩陣排列的嗎,這麼多電晶體是如何被控制,發揮出其相應的功能的?難道設計師對每一個電晶體的功能都心裡有數?究竟是怎麼做到的?
10
回覆列表
  • 1 # 因特理臻

    電晶體是半導體,三極體,然後組成電路,是大規模積體電路,設計電路用硬體描述語言定義電路,不是像電路板那樣畫電路,而是硬體描述語言生成電阻發射邏輯電路圖RTL,然後進行驗證,這是EDA軟體完成的功能,因為看不到電路,只能模擬模擬,測試驗證。接著生成電路網表文件,然後拿去代工廠生產。矽片上幾十億電晶體,之間距離只有幾個奈米,所以可以排列在矽片上還有連線線路。設計人員是看不見,但是電路功能怎麼確認,就是要測封,測試功能是否正常,正常的叫良品,封裝後可以賣。

  • 2 # 直程

    是這樣的,cpu確實幾十億個電晶體,不過都是由很多晶元切割的,一個晶元就包含很多個電晶體,而這些晶元都實現某一部分邏輯的運算,在切割的時候就已經實現了這些功能(等效於很多個電晶體閘電路實現某種邏輯),這些各個晶元都是由工程師設計好、測試好並封裝的,經得起考驗,所以下次設計的時候,需要這種功能直接就從“電路庫”中調取就可以了,而晶元組合又能達成更復雜的邏輯運算,同樣可以封裝,所以逐層形成更復雜的運算功能。不是說工程師要兼顧到每個電晶體。

  • 3 # 和不同

    設計師對每個電晶體都心裡有數?在積體電路發展的早期,是這樣的。

    早期的CPU

    世界上第一個商用微處理器,Intel 於1971年推出的 4004,僅包含2250個電晶體。這時的CPU可以完全由設計師繪製,設計師當然也清楚每個電晶體都是做什麼的。

    早期的其他CPU也是類似情況,比如1974年出品的 Intel 8080,共包含4500個電晶體;1975年出品的6502,僅3510個電晶體。

    當然,CPU這種數字邏輯晶片設計的基本單元其實不是電晶體,而是邏輯閘,或者更大一點的觸發器。當然,每個邏輯閘和觸發器所包含的電晶體都是固定的,也就可以認為,清楚知道每個邏輯閘和觸發器的分工和作用,就能清楚的知道每個電晶體的分工了。

    以上,是CPU設計的手工時代,設計師瞭解,也必須瞭解每個電晶體的分工和作用。

    現代的CPU

    由於現代晶片規模巨大,通常都利用EDA工具來生成和驗證門級網表。邏輯設計師們通常工作在RTL(暫存器傳輸級)級。

    同時,由於IP核的大量使用,設計師已經很難清楚每個邏輯閘,或者每個電晶體的分工了。

    類似軟體開發

    我們可以用軟體開發類比:

    以前的軟體開發,工程師直接用匯編語言編寫程式。工程師也清楚每條機器指令的作用現代的軟體開發,工程師使用高階語言編寫程式(如C++,Java,Go,Python),還會使用很多外來程式庫(如Pytorch),這樣,工程師已經難以清楚每條機器指令的作用了

  • 中秋節和大豐收的關聯?
  • 孕婦用什麼沐浴露?