x0FANSA-hk 님의 블로그
8bit CPU 사전준비) TTL과 CMOS 조금만 본문
IC: Integrated Circuit
직역하면 집적회로 입니다. 특정 기능을 하는 회로를 기본적인 소자로 만들려면 만들 수 있습니다. 직접 PCB에 배선 그리고, 트랜지스터 넣고, 수동소자 넣고, 출력단만 터미널블록으로 비워놓는 등 말이죠. 문제는 이것을 직접 PCB나 빵판에 만들기에는 크기가 너무 크고, 같은 회로를 만들기 위해 여러번 반복해야 합니다. 따라서 공정때부터 아예 특정기능을 하는 회로를 모으로 필요한 부분만 외부로 뺀 패키징을 한 것이 IC입니다.
TTL vs CMOS
사실상 어떤 트랜지스터로 만들었는지의 차이입니다.
TTL: 전류제어의 BJT를 사용하여 만듭니다.
CMOS: 전압제어의 MOSFET을 사용하여 만듭니다.
TTL: Transistor-Transistor Logic
1970년대쯤인 옛날에만 많이 쓰였던 디지털 IC입니다. 상술했듯 BJT기반의 디지털 IC입니다. 그렇기 때문에 BJT의 단점을 그대로 가지고 있습니다.(현대에서 디지털에서 BJT는 사장된걸 보면 큰 문제들이 있겠죠?) 대표적으로...
1. BJT가 전류제어이기 때문에 입력과 VCC핀의 전압범위가 정해져 있습니다. 이러한 이유로, 특히 입력핀의 경우 내부적으로 입력저항이 준필수적으로 들어갔습니다.
2. 기본적으로 많은 전력을 소비하며, 다이오드드랍에 의해 발열이 있는 편입니다.
3. 고속스위칭이 어렵고 임피던스 특징이 낮습니다.
4. 출력 시 전압강하가 발생합니다. 문제는 TTL특성상 BJT로만 이루어져있기에, 막상 입력은 전압변동에 취약합니다. (그니까 본인은 입력전압에 까다롭지만, 정작 출력시에는 전압을 난도질해서 출력해요.)
그나마 사용되었던 이유는 TTL이 현역이던 당시, CMOS를 TTL처럼 작고, 값싸게 만들 기술이 없었기 때문에 TTL이 주력 CPU였습니다. 다행인 점은 그 시기에는 로직만 사용하는데도 비교적 큰 전력이 사용되었기에, 기본적으로 큰 전력으로 제어되는 TTL이 적합하게 쓰일 수 있었습니다.
여담으로 사실 TTL자체는 아래의 CMOS처럼 소자 이름을 그대로 따온것이 아닌, 기능명을 따온 것입니다. 이 당시에 CMOS를 논리회로용으로 사용하는게 일반적이지 않았기 때문입니다.
CMOS: Complementary Metal–Oxide Semiconductor
1980년대 후반 이후 지금까지 쓰이는 디지털 논리 IC입니다. IC를 NMOS와 PMOS결합 형태의 CMOS로 만들었습니다. 덕분에 BJT를 쓰던 TTL에 비해 많은 면에서 개선이 되었습니다. MOSFET이기에 전압제어이고, 따라서 전류는 적게 소모하면서, 입력받는 전압범위는 넓다는 장점을 가지게 되었습니다. CMOS특성상 절연막이 있기에 입력 임피던스 특징이 높고(제어를 해도 전류가 매우적게 흐릅니다. 이 제어를 위한 전류가 대부분 열로 낭비되는걸 고려하면 큰 장점입니다.), 이제는 기술이 되기에 조그만한 IC에 CMOS를 넣을 수 있는 여건이 되어 현재까지도 쓰일 수 있었습니다. TTL과는 다르게 소자 이름을 직접적으로 차용하여 부르기 때문에 단어 'CMOS'는 소자와 디지털논리IC의 종류 라는 두가지 뜻을 가집니다.
따라서 이러한 장점으로, 현대에도 여러분들이 가지고 다니는 거의모든 컴퓨터 99.9%가 CMOS기반입니다. 굳이 단점을 찾자면 아래와 같은 단점이 있고 이 단점들을 해결하여 효율적으로 만드는 것이 현재 반도체공학의 목표입니다.
1. 효율이 너무 좋아서 작은 전력으로도 명령되지 않은 동작을 수행합니다. 예를들어, sd카드의 경우 정전기에 의해 데이터가 날라가는 경우가 있습니다. 따라서 이를 막기위한 별도의 보호회로가 추가됩니다.
2. 속도가 빠른 NMOS에 비해, 비교적 느린 PMOS까지 가지고 가는 반도체입니다. 따라서 아무리 NMOS의 성능이 좋아봤자, CMOS를 구성하는 다른 소자인 PMOS의 성능이 나쁘면 해당 CMOS의 성능도 나쁩니다.(현대에서 하이사이드 스위칭시에도 굳이 승압하며 NMOS를 사용하는걸 보면 이게 꽤 큰 단점입니다.)
3. CMOS가 사골수준인 요즘에 더욱 부각되는 문제입니다. 줄일만큼 줄여서 더 줄이면 부작용이 너무 많이 발생합니다. 대표적으로 Short Channel Effect에 의해 더 크기를 줄이기가 힘듭니다. 크기가 워낙 작다못해 이제는 그 유명한 양자역학에 의해 오작동이 발생하는 수준이기에, 물리적으로 크기를 줄이는건 사실상 이젠 끝났습니다.
그럼에도 불구하고 상기된 단점은 TTL에 비하면 아무것도 아니기에, 대세는 CMOS입니다.
예시실험: NE555와 ICM7555
이번 회로실험에서는 TTL과 CMOS의 전력소비를 비교하기 위해 진행하였습니다. 같은 기능을 하는 IC를 가지고 각각 동일한 전압을 주었을 때, 전류를 측정하여 전력소모를 알아낼 것입니다. 이번에 사용할 IC는 NE555입니다. 사실 이 IC는 제가 이전에 다뤄본적이 있습니다. 이번에는 그때의 회로를 그대로 사용할 것이기에 아래 글을 참고하시는게 좋을 것 같습니다.
https://x0fansa-hk.tistory.com/52
NE555 타이머 (feat 74HC4060)
NE555란 오늘 소개드릴 IC는 전자과라면 한번쯤은 들어본적이 있는(들어본적이 있어야 하는) NE555입니다. 기능 자체는 단순합니다. 설정된 조건마다 출력핀(주로 3번핀)의 값을 0과 1을 출력합니다.
x0fansa-hk.tistory.com
역사가 긴 IC이기에, 반도체세상이 BJT에서 MOSFET으로 변경되는 과정에서도 BJT기반의 TTL인 NE555도 CMOS기반인 ICM7555로 파생형이 등장하게 되었습니다. 즉 NE555와 ICM7555의 경우 소자에 의한 차이가 존재할 뿐, 기능은 완전히 동일합니다.



둘다 5V를 Vcc에 입력시켰습니다. 따라서 IC가 소비하는 전력은 곧 전류에 비례하겠지요. 따라서 저희는 전류를 측정하여 사용되는 전력을 계산해낼 수 있습니다.
NE555의 소비전류측정

위의 gif파일을 보면, 대략 1.70mA에서 7.34까지 오가며, 중앙값까지 따질 경우 평균적으로 3.초반대의 mA를 소모한다고 볼 수 있을 것 같습니다. 그러면 평균적으로 사용된 전력은 mW입니다.
ICM7555의 소비전류측정

역시 위의 gif파일에서 보시다시피, 0.84~0.572mA의 값을 가지고, 모든걸 고려해본결과 0.3중반대 mA의 전류를 소모한다고 볼 수 있을 것 같습니다. 그러면 평균적으로 사용된 전력은 mW입니다.
사실, 이론상으로는 본래 TTL과 BJT의 전력소모가 위에서처럼 고작 10배정도만 차이나지는 않습니다. 한 수천배정도는 나야합니다. 오차원인을 생각해보니, 이는 555타이머의 독특한 특징에서 있을 것 같습니다. 555타이머의 2,5,6번핀은 아날로그전압을 필요로 합니다. 따라서 CMOS처럼 0과 1을 정확하게 오가지 않으며, 아날로그 판정을 위해 포화영역을 사용하기에 전력소모가 예상보다 클 것 같습니다. 또한 555타이머는 7번핀이 스스로가 방전상태가 되기도 합니다. 여기에서 전류가 많이, 그리고 똑같이 소모시키 때문에 평균전력소모 차이가 줄어드는것에 영향을 줄 것으로 판단됩니다.
이것을 왜 8bit CPU 사전준비에서 다루게 되었나?
사실 제가 이 8bit CPU를 만들때, 그당시의 리얼리티를 위해 TTL기반 IC를 쓰고싶었습니다. 그러나 CMOS가 대세인 요즘, 양산되는 양 자체가 CMOS가 압도적으로 많기에 오히려 TTL IC를 찾기가 어려웠습니다. 따라서 어쩔 수 없이 대부분을 CMOS로 통일하게 되었습니다.
그러므로 이 글에서 만약 제가 CMOS IC를 말한다고 해도 어차피 개인의 프로젝트이기 때문에 TTL IC와 기능적으로 차이가 없다고 보셔도 무방합니다. 또한 제가 TTL기반의 이름을 말할수도 있기 때문에 IC의 패키지에 적힌 이름과 다를수도 있지만, 이때의 경우에도 회로 내 소자의 역할이 동일하기에 감안하시면 좋겠다는 이유로 TTL vs CMOS를 다뤄보게 되었습니다. (대표적으로 7404(TTL)라고 위에서 말했지만, 실제로는 74HC04를 시용하였습니다.(CMOS))
외전: GTO로 IC를 만들 수 있을까?


드라군놀이처럼, 대전력을 좋아하는 제가 가끔 생각하는 것 입니다. 당연히 누구도 안만들고 저도 공부하면서 사례를 단한번도 찾아본적이 없습니다. 효율이 너무 나빠서말이죠. 그런데 '이론상'은 될거 같아서 그 생각을 공유해보자 적어보았습니다.
GTO의 경우, 엄밀히 말해서 BJT나 MOSFET같은 트랜지스터가 아니라 사이리스터라는 아예 다른 소자입니다. 사이리스터의 경우도 트랜지스터처럼 전류를 제어할 수 있는건 맞다만, 한번 켜지면 에노드-캐소드 전류(NPN의 콜렉터-이미터 전류 & NMOS의 드레인-소스 전류 와 비슷한 개념)가 0A가 되기 전까지는 절대로 꺼지지 않습니다. 즉, 제어신호를 주는 곳(MOSFET과 마찬가지로 게이트라고 부름)으로만 ON/OFF를 자유롭게 할 수는 없습니다. 그러나 GTO는 이러한 사이리스터를 개량해서 게이트에 큰 역전류를 흘러보내서 강제로 OFF로 만들 수 있게 한 소자입니다. 즉, 게이트만 가지고 ON/OFF가 되는 트랜지스터랑도 성격이 비슷한 소자이지요.
결론을 말하자면, 이론상으로 만들 수는 있습니다. 당연히 이산수학을 할 수 있기에 가능한 것입니다. 그러나 현대의 표준적인 컴퓨터를 만들 수 있냐고 한다면, 실용성을 배제하고 봐도 어려울 것입니다. 이에 대해 GTO로 IC를 구성하지 않는 이유에 대해 GTO의 단점으로 설명해보도록 하겠습니다.(사실상 언럭키 TTL)
1. 효율이 매우 나쁘다.: 그 효율나쁜 BJT보다도 효율이 나쁩니다. 사이리스터 특유의 에노드-캐소드 전압강하가 많이 발생합니다. 즉, 애초에 IC 연산의 포지션으로 쓰이기에 부적합합니다.
2. 특유의 off방식에 의해, 열이 많이 발생한다.: 전류제어에, 대전력소자이기에 스위칭 시 열이 매우 많이 발생합니다. 특히 GTO의 off동작은 게이트로 에노드-캐소드 전류를 게이트로 죄다 빠져나가게 해야 하기에 사실상 쇼트상태를 일으켜서 SCR off로 끄는 원리 입니다. 즉, 한번 스위칭할때마다 단락상태에 들어가기 때문에 열이 매우 많이 발생하고, 스위칭 효율이 나쁩니다.
2-1. 물리적 크기가 크다.: 위에 대한 문제로 파생이 되는건데, 이론상 작게 만들수는 있지만 현실적으로 그러지 못합니다. 열이 너무 많이 발생하기에, 방열처리를 해야 하기 때문이죠. IC가 작게 만드는게 중요하다는 것을 고려했을때 무시못하는 단점입니다.
2-2. 제어전류가 크다.: 위에서 설명했다시피, 에노트-캐소드 전류를 게이트로 빼야합니다. 이때, 게이트에 강한 역전류를 보내서 강제로 끄게 합니다. 그렇기 때문에 에노드-캐소드 전류의 최소 1/5정도의 전류를 오직 제어를 위해 인가해야합니다.
3. 느리다.: 기본적으로 사이리스터 입니다. 기존 사이리스터가 수백Hz를 겨우 스위칭하듯, GTO도 마찬가지 입니다. 현대 CPU가 GHz급의 스위칭을 하는것을 생각한다면 속도가 느려도 너무 느립니다. (단적인 예시로, 옛날 지하철은 GTO를 사용했고, 따라서 요즘에 비해 낮은 소리가 발생합니다. 이것으 저주파로 스위칭하기에 낮은 소음이 발생하기 때문입니다.)
번외. 이제는 생산이 안된다.: 결정적인 단점입니다. 이젠 안써요. 윗체급으로는 SCR이 존재하고, 같은체급으로는 SiC-IGBT가 존재합니다.(그냥 IGBT는 한 체급 아래에요.) SCR의 경우, 반도체중에서 최상위 대전력 제어능력을 가지고 GTO의 경우 물리적인 한계로 그정도까진 제어할 수 없습니다. IGBT의 경우 GTO처럼 대전력을 제어하는데 GTO에 비해 열도 적게 발생하고, 스위칭속도도 빠르고, 물리적 크기도 작습니다. 굳이 특수목적으로 쓰려고 해도, 아예 반도체영역이 아닌 릴레이에게도 밀리는 현실입니다. 이러한 사유로 GTO는 2010년대 이후로는 사실상 시장에서 단종되었습니다. 즉, 저도 GTO로 간략한 논리회로를 만들어보고 싶은데, 부품부터 구하기 힘들어서 못만들고 있는 현실입니다.
'Nebula > 8bit CPU' 카테고리의 다른 글
| 8bit CPU 사전준비) 하이사이드 & 로우사이드 스위칭 (0) | 2026.07.07 |
|---|---|
| 8bit CPU 사전준비) 풀업 & 풀다운 (1) | 2026.05.11 |
| 8bit CPU 사전준비) NOT, AND, OR, XOR 게이트 이론편 (0) | 2026.05.06 |
| 8bit CPU 사전준비) 8bit CPU였던것 (1) | 2026.05.05 |
