跳轉到內容

閘電路:擴充套件

來自華夏公益教科書,開放書籍,構建開放世界

試卷 2 - ⇑ 計算機系統基礎 ⇑

← 閘電路轉換 閘電路的用途


擴充套件 : 閘電路的用途

本節旨在擴充套件您在 A-Level 課程以外的知識。這裡介紹的概念並不容易,但您可能會發現它們很有趣。如果您選擇在大學學習計算機科學,這裡的內容將對您有所幫助。

  • ASIC
  • 電晶體
  • 一個帶進位的 1 位加法器(稱為全加器),由邏輯閘和一個雙穩態電路(以電晶體/CMOS 或電路形式)組成,展示了 1 位儲存

幾乎所有現代數位電子裝置都是使用 "CMOS" 製成的。早期的 電子管、DTL (二極體-電晶體邏輯) 和 TTL (電晶體-電晶體邏輯) 具有歷史意義,但現在僅用於特殊用途(TTL 訊號電平通常與 CMOS 邏輯一起使用,這會導致混淆)。

電晶體 - 一種用於放大和開關電子訊號和功率的器件。施加到電晶體一組端子的電壓或電流會改變流過另一組端子的電流。
各種電晶體

CMOS 這個名稱是 "C"(代表互補)和 "MOS"(代表 MOSFET,金氧半導體場效應電晶體)的組合。MOS 來自最初的結構,即在半導體(或矽)基底上的氧化物(二氧化矽)絕緣層上有一個金屬(鋁)柵極。現在使用多晶矽代替金屬,因為更容易製造,但金屬正在最新的設計中迴歸。同樣,最新的設計中也使用了比氧化物更好的材料。

MOSFET 器件有兩種變體,即 n 型 (NMOS) 和 p 型 (PMOS),具體取決於新增到半導體基底的 摻雜劑。CMOS 使用一對 NMOS 和 PMOS 電晶體,通常將相同的輸入連線到 NMOS 柵極和 PMOS 柵極,以及串聯的漏極和源極。一次只導通一個電晶體,從而最大程度地減少了功耗。

名稱 PMOS 電晶體 NMOS 電晶體
當輸入為時導通 低 (0) 高 (1)

CMOS 的優勢在於,由於柵極是絕緣的,並且驅動器是互補的(因此一個開而另一個關),因此除了柵極主動切換時之外,洩漏電流最小。實際上,當 CMOS 驅動 CMOS 時,靜態電流實際上可以忽略不計。在任何大型積體電路中,只有很小一部分柵極會在任何時候切換,而其餘部分則處於靜態狀態。因此,只有活動柵極消耗功率,並且僅在短暫的切換期間消耗功率。這也解釋了為什麼現代 CPU 晶片的功耗(以及發熱)與時鐘速度成正比。

基本的反相器電路(非門)如下所示

上面的柵極是 PMOS 電晶體,只有當 A 為低電壓(接近 Vss,源極電壓)時才導通,下面的柵極是 NMOS,只有當 A 為高電壓(接近 Vdd,漏極電壓)時才導通。因此,輸出 Q 在 A 接近 Vss 時被強制為 Vdd,反之亦然。此外,A 中的電壓變化(電流最小)可以在 Q 中產生明顯的電流供應。通常,Vdd 處於 +2v 到 +5v 之間,被視為邏輯 "1",而 Vss 為 0v,被視為邏輯 "0"。

請注意,如果輸入 A 來自外部開關或類似裝置,則需要一個上拉或下拉電阻,以便當開關開啟時,A 將取一個確定值,而不是浮動(取一個不確定的值)。開關將 A 連線到相反的導軌。如果 A 來自外部源,則將新增二極體以確保 A 僅取 Vss 和 Vdd 之間的值。

基本的雙輸入與非門如下所示

在這裡,電路的底部部分只有在 A 和 B 都為高時(開啟兩個底部電晶體)才會下拉,而上面的部分只有在其中一個為低時才會上拉。這種模式可以輕鬆擴充套件到三個或四個輸入,從而允許具有超過兩個輸入的門。實際上,需要在輸出端新增一個反相器才能使門正確執行。因此,最基本的門是與門

在上面的門上新增第二個反相器以獲得與非功能。CMOS 或非電路只是與非的映象。

CMOS 或門

畫出 CMOS 或門的示意圖

答案

這裡它顯示了一個反相器,使其成為一個或門(需要一個額外的反相器才能獲得一個或非門)

實際的 CMOS 異或門積極地使用 A 和 B 輸入而不是 Vss 和 Vdd 來減少門數量,這超出了本文的範圍。在現實生活中,您會使用標準設計;但可以透過其他 CMOS 門來建立異或門,使用以下恆等式,我們可以理論上用或門與與非門的與運算來建立一個 CMOS 異或門


一個物理 CMOS 與非門(沒有反相器)如下所示

更復雜的例子

[編輯 | 編輯原始碼]

觸發器

[編輯 | 編輯原始碼]

一個 1 位儲存器稱為 觸發器。它們用於 CPU 暫存器,例如 MAR(但不適用於大容量儲存器,因為它們會佔用大量物理空間,RAM 晶片會變得非常大)。最簡單的一種稱為 JK 觸發器

兩個或非門構成儲存器;在任何時候,一個為高,另一個為低,反饋保持該狀態。一個 J 高脈衝會導致頂部或非門關閉,並存儲一個 1(Q 為高),而一個 K 高脈衝會導致底部或非門關閉,並存儲一個 0(Q 為低)。(如果 J 和 K 同時脈衝,則輸出會改變狀態。)實際裝置將具有輸入條件、輸出反相器,通常還有額外的置位、復位和時鐘輸入。

加法器

[編輯 | 編輯原始碼]

您可能之前見過以下邏輯電路

如果我們看一下真值表

A B C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

您也許可以判斷出,上面的電路所做的是讓您將兩個輸入 A 和 B 加在一起

 B
+A
--
CS

這很棒,稱為半加器,但它只能將兩個 1 位數字加在一起。我們需要的是全加器。更復雜的電路是一個 1 位加法器,它考慮了從先前計算中帶入的進位

該裝置允許您將 1 位加法器串聯在一起,建立一個多位加法器(在這種情況下為 4 位)

在生成多位加法器時,A 和 B 是每個位的輸入,而 S 是各自的和輸出位。Cin 來自下一個較低的位,Cout 進入下一個較高的位或溢位檢測邏輯(它檢查結果是否太大而無法容納在所有 S 輸出中)。在實際設計中,超前進位是在 4 位、8 位或更多位一次完成的,以避免進位傳播的延遲(進位從第一次計算過濾到幾次計算後的時間的長度)。在實際的 ALU(算術邏輯單元)中,額外的輸入選擇要執行的功能(加、減、與、或等),從而建立一個用於所有簡單按位函式的通用單元。

FPGA 和 ASIC

[編輯 | 編輯原始碼]

單個邏輯元件由電線或 PCB 軌跡連線的時代早已過去。典型的現代設計使用一些基本構建塊,例如儲存器、CPU 和乙太網介面(這些都是現成的),並將剩餘的設計整理成幾個大型晶片,其中包含許多單個邏輯元件。

將數百萬個電晶體整合到單個晶片上,這意味著為特定用途設計晶片是一個非常昂貴且耗時的過程。只有當晶片能以非常大的數量銷售時(例如桌上型電腦和筆記型電腦,或將用於一系列產品的工業控制器),這種設計才合理。對於小批次晶片,採用兩種方法。現場可程式設計門陣列 (FPGA) 是一種包含邏輯塊和記憶體的晶片,它決定了這些塊的互連方式。有時記憶體是永久的(但可重寫),但更常見的是動態的,在開機序列期間從裝置外部的快閃記憶體晶片載入。偶爾它由 CPU 載入。最初,邏輯塊是簡單的功能(觸發器、加法器、與門等),但在現代 FPGA 中,它們可以包含完整的 CPU、RAM 區域和類似的功能,以及基本的邏輯功能。CPLD(複雜可程式設計邏輯器件)和 PAL/PLA(可程式設計陣列邏輯/可程式設計邏輯陣列)等術語類似,但用於較小的器件。

專用積體電路 (ASIC) 類似於 FPGA,但晶片部分是作為標準設計製造的,具有邏輯塊,然後新增最後幾層金屬互連以滿足客戶規格。這比定製設計的晶片更便宜,但生產掩模和原型仍然可能花費數百萬美元。它比 FPGA 生成更快更緊湊的結果,因此有些設計只能在 ASIC 上完成。

ASIC 的單位成本也更低,但 FPGA 已經發展到可以在生產中使用,而不僅僅用於原型設計。ASIC 中的錯誤代價高昂,而 FPGA 可以現場升級。ASIC 比 FPGA 更難複製,因此它們被用於某些需要保密或安全性的應用中。

對於 ASIC 和 FPGA 設計,製造商都提供軟體,可以將邏輯設計轉換為裝置的佈局,並能夠模擬操作。也有一些非製造商特定的工具,尤其是名為 VHDL 的語言,它可以用來描述邏輯系統並模擬它。製造商隨後提供工具來生成 ASIC 或 FPGA 設計(通常是免費的)。VHDL 代表“VHSIC 硬體描述語言”,而 VHSIC 代表超高速積體電路。

華夏公益教科書