질문란 ( http://www.2cpu.co.kr/QnA/633499 ) 에서 본 질문에 댓글로 달려고 하다가 이곳에 써봅니다.
그리고 이것은 개인적인 생각입니다. (다시 말해 틀릴 수 있다는..)
CPU 안에 구성된 것은 연산/제어장치와 약간의 메모리 등으로 되어있을 겁니다.
연산/제어 장치는 게이트 회로들(예: NAND gate)의 조합으로 되어 있을 겁니다.
그리고 이 게이트 들은 CMOS 형식의 FET 트랜지스터 조합으로 설계되어 있겠죠. (옛날 생각입니다. 지금은 저도 모르겠습니다만 원리는 비슷하지 않을까 합니다)
CMOS FET 회로를 만들 경우 입력 게이트 임피던스가 매우 높기 때문에 전류는 거의 0에 가깝습니다.
(출력을 다시 다른 게이트의 입력으로 쓰고... 이런 것들이 직렬 병렬로 구성되니까)
CMOS의 경우 상보적으로 FET를 제어해서 +쪽 TR을 켜주면 VDD가 출력으로 나올 것이고 -쪽 FET를 켜주면 GND가 출력으로 나와서 high low 제어가 되겠죠.
아래 그림은 2개의 FET를 가지고 만든 인버터 게이트입니다.
[ http://www.circuitstoday.com/cmos-complimentary-mosfet ]
여기서 ON OFF를 결정하는 두 TR의 동작 타이밍입니다. FET 두 개가 동시에 스위칭 되겠지만 좀 더 미세하게 바라보면 두 개의 FET가 순간적으로 동시에 ON 되거나 동시에 OFF 되는 구간이 나올 겁니다.
두 개가 동시에 ON 된다면 VDD 전압이 바로 GND로 빠지게 되어서 전류가 많이 흘러서 위험하겠지만 순식간이라 큰 위험은 없을 겁니다.
반면 두 개가 동시에 OFF 되는 구간이 생기게 설정하면 전류의 흐름이 0에 가깝게 되면서 잘 동작할 것 같지만 이렇게 되면 전하가 중간에 붕 뜨는 형태가 되면서 스위칭 속도가 느려집니다. (옛날에 대학 다닐 때 pspice로 시뮬레이션해봤던 기억이... 납니다)
여기에는 FET의 입력 Gate에 충전된 전하가 방전되면서 소모되는 것도 꽤 반영 됩니다.(다시말해 게이트에 충전된 전하를 빨리 방전시켜야 속도가 빨라진다는...)
결론은 신호의 레벨을 바꿀 때 두 개의 TR을 아주 재빠르게 짧은 시간 동안 동시에 ON 되도록 해줘야 빠른 속도로 동작한다는 것이었습니다.
이 말을 다시 정리하면... 평소에는 전류 소모가 없습니다. 데이터가 0에서 1로 바뀔 때. 1에서 0으로 바뀔 때.
이렇게 변화가 생길 때 전류 소모가 생깁니다.
다시 제목의 내용으로 돌아가서,
CPU에서 클럭은.. 일종의 메트로놈일 뿐입니다. 박자만 띵까띵까 맞춰주고 있죠.
그 박자에 맞춰서 실제 명령이 일어나면 그 명령을 박자에 맞춰 처리하면서 게이트 내 TR 값이 0, 1로 바뀌게 되겠죠.
즉, 클럭이 아무리 빨라도 실제로 CPU가 연산하고 있지 않다면 전력 소모가 그렇게 증가하지 않습니다.
실제로 CPU가 일하고 있을 때 그 일의 속도는 클럭이 빨라지면 더 빠르게 일하니까 CPU가 사용 중인 분량에 대하여 클럭에 비례하여 전력 소모(발열)는 증가하겠죠.
Ãʺ¸ÀÚ·Î½á ¿ÏÀüÈ÷ ÀÌÇØÇÏÁö ¸øÇÏÁö¸¸ °á·ÐÀº È®½ÇÈ÷ ÀÌÇØ°¡ µÇ´Â ´äº¯ ±æ°Ô °í»ýÇϼż ½áÁÖ½Ã°í °í¸¿½À´Ï´Ù
±×·¡µµ Á¶±ÝÀº ¹«½¼ ¸»ÀÎÁö ¾Ë°Í °°½À´Ï´Ù.
¿ø·¡ CMOS´Â Static Current°¡ È帣Áö ¾Ê¾Æ¾ß ÇÏÁö¸¸
°øÁ¤ ¹Ì¼¼È·Î ÀÎÇØ SwitchingÀÌ ÀϾÁö ¾ÊÀ»¶§µµ ´©¼³ Àü·ù°¡ È帨´Ï´Ù.
±×¸®°í Clock signalÀ» Ĩ Àüü¿¡ ¹èºÐÇϴµ¥µµ »ó´çÇÑ Àü·ÂÀÌ ¼Ò¸ðµË´Ï´Ù
Àü·Â ¼Ò¸ð¸¦ ÁÙÀÌ·Á¸é Ŭ·°À» ³·Ãß°í Ĩ¿¡¼ »ç¿ëÇÏÁö ¾Ê´Â ºÎºÐÀ» ²¨ ¹ö¸®´Â ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù
¾ÆÁÖ ¿À·¡Àü Çкζ§ °ü·Ã ½Ã¹Ä·¹ÀÌ¼Ç ÇÁ·Î±×·¥À» ¸¸Á®º¸´Ù ´À²¼´ø Á¡À̾ú´Âµ¥ ¿äÁòÀº ¸ÂÁö¾Ê³ª º¸±º¿ä.