開始玩

← fab24hr 專欄

晶片入門約 5 分鐘

CMOS 是什麼?晶片裡的開關為什麼要兩種配成一對

CMOS 是現在幾乎所有數位晶片用的電路做法:把兩種動作相反的開關配成一對,一個負責把輸出接到電源,一個負責把輸出接到地。它的全名是「互補式金屬氧化物半導體」(Complementary Metal-Oxide-Semiconductor,也常簡稱互補式金氧半),兩種開關叫 NMOS 和 PMOS。這樣配,開關不切換的時候,電源到地之間幾乎沒有電流,所以很省電。

大家搜「CMOS」,也常看到另外兩種意思,名字都是從這裡借來的。相機、手機裡的「CMOS 感光元件」,是用同一套 CMOS 做法做出來的感光晶片。電腦主機板上的「CMOS 設定」,是因為早期的電腦把日期和開機設定存在一顆用 CMOS 做的小記憶體裡;它很省電,靠一顆鈕扣電池就能撐好幾年。這篇講的是第一種:晶片裡的電路。

CMOS 這個名字,拆開來是什麼意思?

先看後面的 MOS。這三個字母說的是一顆電晶體由上往下的三層:

  • 金屬(Metal):最上面控制開關的閘極,原本是用金屬做的。
  • 氧化物(Oxide):閘極底下一層很薄、不導電的絕緣層,原本是在爐管裡把矽的表面氧化,長出來的一層氧化矽。
  • 半導體(Semiconductor):最底下的矽,電就在這裡流。

後來材料換過好幾次:閘極有很長一段時間改用一種導電的矽,大約從 2000 年代後期起,最先進的晶片又換回金屬;絕緣層也換過材料。名字一直沒改。這三層怎麼變成一個開關,見「電晶體是什麼?」。

最前面的 C 是「互補」(Complementary):開關有兩種,動作剛好相反,配在一起正好互相補上。

兩種開關,差在哪?

  • NMOS(n 型的那一種):閘極加上電壓才通,沒有電壓就斷。
  • PMOS(p 型的那一種):剛好相反。它的一頭接在電源那一邊,閘極要比這一頭低才通:閘極沒有電壓(0 伏特)就通,加上跟電源一樣高的電壓反而斷。

名字裡的 n、p,說的是它的入口和出口(源極、汲極)是 n 型還是 p 型的矽。n 型、p 型是在矽裡加進不同的原子做出來的,見「摻雜是什麼?」。

最簡單的 CMOS 電路:反相器怎麼動?

反相器只做一件事:輸入 1,輸出 0;輸入 0,輸出 1。它只要兩個開關:

  • 上面一個 PMOS,接在輸出和電源之間。
  • 下面一個 NMOS,接在輸出和地之間。地就是電壓最低(0 伏特)的那一邊。
  • 兩個開關的閘極接在一起,就是輸入。

把輸出這條線想成一個小水池:一根水管通到高處的水塔(電源),一根通到低處的排水溝(地)。上面那根管子的閥門是 PMOS,下面那根是 NMOS。哪一根打開,水池的水位就跟那一邊一樣:水位高是 1,水位低是 0。

輸入上面的 PMOS(接電源)下面的 NMOS(接地)輸出
1(電壓高)斷通接到地:0
0(電壓低)通斷接到電源:1

輸入是 1,閘極上有電壓:NMOS 通、PMOS 斷,輸出接到地,是 0。輸入是 0,反過來:PMOS 通、NMOS 斷,輸出接到電源,是 1。

CMOS 反相器怎麼動:上面的 PMOS 接電源、下面的 NMOS 接地,兩個閘極接在一起是輸入。輸入 1 時 NMOS 通、PMOS 斷,輸出接到地,是 0;輸入 0 時 PMOS 通、NMOS 斷,輸出接到電源,是 1。
0 和 1 是輸出這條線的電壓高低。輸入 1 的時候,接地的那一個開關通了,輸出反而是 0(示意)。

所以晶片裡的 0 和 1,到底是什麼?

是一條線上電壓的高低:接到電源、電壓高,是 1;接到地、電壓低,是 0。不是哪一顆開關通了就是 1。

看上面那張表:輸入是 1 的時候,下面那顆開關明明通了,輸出卻是 0。開關的通或斷,決定的是這條線接到哪一邊。在 CMOS 裡,每一條輸出線穩定下來的時候,不是接到電源,就是接到地,所以它的電壓是清清楚楚的高或低。這條線再接到下一組開關的閘極,就成了下一組的輸入。

處理器這類會算的邏輯電路是這樣。記憶體就不一定:快閃記憶體讀一格資料時,倒真的是看那一個開關好不好打開(見「記憶體和處理器差在哪?」)。

為什麼要兩種配成一對?

因為省電。

如果只用一種開關,另一頭就得接一個像電阻一樣、一直半開著的東西,把輸出往電源拉。像水塔那根管子永遠開著一點:下面的閥門一打開,水就從水塔一路流進排水溝,只要輸出停在 0,就一直流。1970 年代做電腦用的晶片,很多是這樣做的:比較快,可是比較耗電。

CMOS 不一樣。不切換的時候,上下兩個開關總有一個是斷的,電源到地之間沒有一條通的路,幾乎沒有電流。電主要用在切換的那一下:水位從低變高,要把水池裝滿;從高變低,再把它放掉。這個水池,就是這條線,加上下一組開關的閘極。切換的一瞬間,兩個開關也會短暫地同時半開,流過一點電。

剩下的,是關不緊的開關在漏的電,叫漏電。一個開關漏得很少,可是一顆晶片裡有很多很多個,加起來就是待機電流,見「晶片為什麼會耗電?」。

就是因為省電,CMOS 在 1970 年代先用在電子錶、計算機這類靠小電池的東西上。到了 1980 年代,它成為數位晶片的主流;一直到現在,幾乎所有的數位晶片都用它。

其他的邏輯閘,也是這樣配嗎?

是的。反相器是最簡單的一個;把兩種開關串起來、並起來,就能做出其他的邏輯閘。串起來,要每一個都通,電才過得去;並起來,只要一個通就過得去。CMOS 的做法是:接地的那一邊串起來,接電源的那一邊就並起來,反過來也一樣。這樣不管輸入是什麼,穩定下來的時候,還是只有一邊是通的,一樣省電。邏輯閘怎麼組成會算的晶片,見「邏輯閘是什麼?」。

兩種開關,怎麼做在同一片晶圓上?

NMOS 要做在 p 型的矽上,PMOS 要做在 n 型的矽上:入口、出口和底下的矽要是相反的兩種,平常才是斷的。所以做晶片時,要先在同一片晶圓上做出 p 型、n 型兩種「底」,叫做井。先用光阻蓋住一邊,打進一種原子;換一層光阻,再打另一種(怎麼打,見「離子植入是什麼?」)。之後兩種開關的入口和出口,也要分開打。一顆電晶體從頭到尾怎麼做,見「一顆電晶體是怎麼做出來的?」。

在 fab24hr 裡

fab24hr 的主線「晶片的一生」,跟著一顆虛構的助聽器晶片「螢火」走。兩種開關,在好幾個地方都看得到:

  • 第 1 章「12 片怎麼分」:你是研發整合工程師,要決定 12 片晶圓各做成哪一種角落。分片表上的 SF 是 N 型偏慢、P 型偏快,FS 反過來:兩種開關一快一慢,步調對不上。
  • 第 2 章「一站一站」:第 5 天在植入機前,先打 N 型的井,換一層光阻,再打 P 型的井。
  • 第 10 章「待機電流」:你是封測廠的測試工程師。bin 上最多的不良是待機電流太高;上限要卡緊還是放寬,由你決定,再寫進測試程式。CMOS 不動的時候幾乎不耗電,剩下的就是漏電;客戶說,這是螢火最重要的一個數字。

「打工人的一天」也有:按「進廠」、選「打工人的一天」,在「今天你是」卡片上點「研發線」、左右滑到研發製程工程師,名字下面點「植入」。深夜班打的是 N 型電晶體兩端的原子,午班打 P 型的那一次。

遊戲裡的公司、晶片、人物和數字都是虛構的;CMOS 怎麼動、為什麼省電,照公開的一般資料寫。其他行話可以到「半導體晶圓廠的行話,白話解釋」查。

在遊戲裡你會在哪裡遇到它主線「晶片的一生」第 1 章的分片表上,SF、FS 就是 N 型、P 型兩種電晶體一快一慢;第 10 章「待機電流」,晶片不動時剩下的漏電,要你決定漏多少就擋下來。

在 fab24hr 裡,晶片不動的時候,CMOS 幾乎只剩漏電;助聽器晶片「螢火」最重要的一個數字,就是這一點待機電流。

從第 10 章「待機電流」開始玩

給老師:這一篇可以搭配「在課堂上玩 fab24hr」用在課堂上。

引用這篇〈CMOS 是什麼?晶片裡的開關為什麼要兩種配成一對〉,fab24hr,更新。https://fab24hr.com/blog/what-is-cmos/
課堂與非營利可以免費使用,投影、放進講義、印給學生都可以,請註明 fab24hr;不能販售,也不能改成自己的作品。 看到錯誤?回報問題

其他文章

這個網站的其他頁