클럭(Clock)

2021. 7. 18. 22:55개발/컴퓨터구조

논리회로를 학습하게 되면 조합회로와 순차회로를 배우게 되는데 순차회로를 학습하기 전에는 클럭을 먼저 이해하는게 좋다. 따라서 오늘은 클럭에 대해 쓴다. 

 

( 늘 그렇듯 수정사항 있으면 언제든 댓글 달아주세요!! ) 

 

 

순차회로는 조합회로와 달리 이전의 출력값이 현재의 입력에 활용되는 특징을 가진다. 따라서 이전 출력을 보존하기 위한 설계가 필요하다. 순차회로는 CPU의 캐쉬, 메모리 등 기억이 필요한 연산을 수행할 경우 반드시 필요한 회로중 하나다. 

 

핵심은 "이전"과 "현재"를 컴퓨터가 어떻게 구분하냐는 것이다.

1. 컴퓨터의 메트로놈


 컴퓨터에선 클럭 신호(Clock Signal)를 통해서 시간을 구분할 수 있다. 클럭 신호는 음악에 사용되는 메트로놈과 같다고 보면된다. 음악에서 메트로놈의 속도가 빨라지면 전체적인 음악도 빨라지듯이 컴퓨터에서 클럭 속도가 빨라진다는 것은 연산의 횟수가 증가한다는것을 의미한다. 하지만 연산장치가 따라가지 못할 정도로 클럭을 높여버리면 당연히 컴퓨터에서 수행하는 작업들이 꼬이게된다.

출처 : 메트로놈 - 위키백과, 우리 모두의 백과사전 (wikipedia.org)


2. 수정 발진기(Crystal oscillator)


컴퓨터에서 메트로놈의 역할을 수정 발진기(Crystal oscillator; 또는 결정진동자)가 수행한다. 압전효과를 이용하는 방식인데 압전효과란 수정에 물리적 압력을 가하면 전기를 만들어내는 현상을 말한다. 전기를 가해서 진동(물리적 변형)을 만들어 내는것을 역압전효과라고 한다. 이 압전효과에 의해 수정 발진기는 아주 규칙적으로 진동 및 전기를 만들어 내는 특성을 가지게 된다.

출처 : 결정 진동자 - 위키백과, 우리 모두의 백과사전 (wikipedia.org)

수정으로는 주로 석영(Quartz)이 많이 사용된다. 아래는 포크 형태의 석영이 진동하는 모습이다.

출처 : Anti-phase oscillation of a quartz tuning fork - YouTube

 

컴퓨터는 수정 발진자를 통해 전기를 가해서 진동을 만들고 그 진동을 다시 전기적 신호로 만들어서 활용한다. 이 전기적 신호는 컴퓨터에서 클록 신호(Clock Signal)이라 부른다. ( 요즘에는 CPU, RAM이 자신만의 발진기를 가지고 있다고한다. ) 1초에 클록 신호가 한번 발생했으면 이를 1Hz라고 한다.

 

1초에 클록신호가 많이 발생할수록 많은 동작을 수행할 수 있다는 뜻이기 때문에 Hz가 높을수록 좋다. 물론 연산장치도 증가하는 클럭 속도만큼 계산을 빠르게 할 수 있도록 준비되어야 한다. CPU의 사양표에는 연산 장치가 평균적으로 버틸수 있을 정도의 기본 클럭 Hz를 적어둔다. 사양표에 적혀있는 평균적인 클럭 Hz보다 높게 클럭 스피드를 셋팅하는 것을 Over Clocking이라고 한다. 어느 정도 리스크(발열과 그로 인한 회로의 망가짐)를 감내하지만 성능을 얻겠다는 것이다.

Ryzen 5600X의 사양


3. 필요성


클럭이 없는 경우 아래 그림과 같은 Logic을 처리할때 input1이 모두 처리되어 결과 R로 출력될때까지 input2는 Logic을 수행할 수 없다.(Why? 몇 클럭만에 Logic1이 처리되는지 알지 못하기 때문에 결과가 나올때 까지 기다려야함. ) 하지만 만약 1클럭 신호에 Logic1의 연산이 완료된다는 약속을 하고 회로를 구성했다면 input1이 logic1을 끝냈을때 input2를 Logic1의 입력으로 사용될 수 있다. 중요한것은 모든 Logic이 예상된 클럭에 맞춰  정확히 연산을 수행해야한다는 것이다. 그렇지 않으면 당연히 모든 계산이 꼬인다. 

또한 아래 그림처럼 어떤 연산이 끝나기 전에 Y명령을 수행하면 안된다. Y는 W,X연산이 완료되는 시간 이후에 수행해야한다.

출처 : Computer Speeds - Computerphile - YouTube

 

 

아래는 유튜브에서 555 Timer(전압에 비례해 Clock Pulse를 생성하는 IC)를 이용해서 만든 회로도인데 영상과 함께보면 Clock을 이해하는데 도움이 많이된다. 좌측하단의 555 Timer에 LED가 걸려있는데 일정한 간격으로 반짝이는걸 확인할 수 있다. 또한 Timer에서 나오는 일정한 주기의 전기신호와 스위치를 통해 D Flip-Flop에 활용하는 모습을 확인할 수 있다. ( 영상 링크 : Clocks and Oscillators - An Introduction To Digital Electronics - PyroEDU - YouTube )

 


 

 

 

 

참고자료


 

클럭 신호 - 위키백과, 우리 모두의 백과사전

이상적인 클럭 신호 클럭 신호(영어: clock signal)는 논리상태 H(high,논리 1)와 L(low,논리 0)이 주기적으로 나타나는 방형파(square wave) 신호를 말한다. 많은 경우 전자공학의 디지털 회로에서 클럭 신

ko.wikipedia.org

 

 

 

 

 

 

'개발 > 컴퓨터구조' 카테고리의 다른 글

[순차회로] 플립플롭  (0) 2021.07.25
[순차회로] 래치  (2) 2021.07.24
스위치부터 집적회로까지  (0) 2021.07.17