[컴퓨터 구조와 프로그래밍] 시간 표현과 상태 기억

김두루 (FrontEnd Developer)·2022년 1월 27일
0

CS(Computer Science)

목록 보기
3/18

주기 함수

주기 함수란 함수값이 일정 주기로 되풀이 되는 함수이다.
주기함수

예를 들어, 지구의 자전이 바로 주기 함수다. 우리는 바로 이 주기 함수를 사용해 시간을 측정할 수 있다. 지구가 한 바퀴를 다 돌면 이를 하루(1일)라고 부른다. 이 하루를 더 잘게 나눠서 시간,분, 초 등으로 구분한다. 하루가 86,400초이므로, 1초는 지구 자전의 1/86,400 이라고 정의할 수 있다. 지구 자전 같은 외부 이벤트를 활용하는 것에 덧붙여, 몇 가지 물리 요소를 적용하면 우리 스스로 주기 함수를 만들어낼 수 있다. 예를 들어, 전자가 오가는 시간을 사용할 수 있다. 이런 기술이 오래된 괘종시계의 '똑딱똑딱' 소리를 만들어낸다. 컴퓨터의 경우 전자공학을 사용하기 때문에 주기적인 전기 신호가 필요하다.

발진자

수정 발진자란?
결정 진동자(Crystal oscillator)라고도 하며 압전기 물질의 결정이 진동할 때 생기는 기계적인 공명을 이용하는 전기 발진기이며, 정확한 주파수를 만든다.

위 그림과 같은 식의 연결을 되먹임(피드백) 이라고 한다.
이는 마이크와 스피커를 가까이 위치시킬때 생기는 현상과 같다. 인버터 출력은 다시 인버터 입력으로 들어가며, 이 입력은 다시 출력에 반영된다. 이로 인해 출력이 0과 1사이를 진동한다.
이 값이 진동하는 속도는 전파지연에 따라 결정되며, 온도에 따라 달라지는 경향이 있다. 좀 더 안정적인 주파수로 진동하는 발진자가 잇다면 더 정확히 시간을 측정할 수 있는 기준이 될것이다.
인버터란??
직류 성분을 교류 성분으로 바꾸기 위한 전기변환장치

  • 직류 : 높은 전위에서 낮은 전위로 전선과 같은 도선을 통한 전류의 연속적인 흐름이다. 직류의 전하의 방향, 극성이 항상 같다.
  • 교류 : 시간에 따라 주기적으로 크기와 방향이 변하는 전류다. 교류 전류를 사용하는 전압.

정확한 발진자를 적은 비용으로 효율적으로 만드는 방법이 바로 크리스털을 활용하는 것이다. 전극(전선)을 크리스털에 연결하고 크리스털을 압축하면 크리스털이 전기를 만들어낸다. 그리고 전극에 전기를 가하면 크리스털이 구부러진다. 이런 현상을 피에조 전기(압전) 효과라고 부른다. 크리스털은 음성 진동을 잡아낼 수 있어서 마이크를 만들 때 쓸 수 있다. 또 음성 진동을 만들어냄으로써 여러 전기 기구에서 다양한 경보음을 낼 수 있다.

크리스털을 표현하는 스키매틱 기호


클록

클록은 시간을 셀 수 있게 해주는 신호를 의미한다. 컴퓨터 클록은 밴드에서 드러머가 박자를 맞춰 드럼을 치는 것과 같다. 클록은 회로의 페이스를 결정한다. 회로의 최대 클록 속도나 가장 빠른 템포는 회로의 전파 지연 시간에 의해 결정된다.

컴퓨터 컴포넌트 제작에는 여러 가지 통계가 필요하다. 컴포넌트를 이루는 부품들 사이에 편차가 크기 때문이다. 비닝(바구니에 넣는다는 뜻) 과정은 부품을 측정해서 그 특성에 따라 여러 다른 빈이나 무더기로 분류한다. 지연 시간이 짧아서 빨리 반응할 수 있는 부품은 가장 가격이 높은 빈에 들어가고, 더 느리고 더 싼 부품은 다른 빈에 들어가며, 이런 분류를 여러 단계의 빈을 사용해 반복한다.

  • 오버클로킹 : 통계적으로 빈의 중간 정도에 위치하는 부품을 부품이 고장 나지 않을 범위 안에서 클록을 빠르게 공급하는 도박을 한다는 뜻.

래치

래치는 전자공학에서 1 비트의 정보를 보관, 유지할 수 있는 회로이며 순차 회로의 기본요소이다.


위 그림에서 reset위에 선이 그어져 있는데 하드웨어 기호 위에 선을 그으면 반전 을 뜻한다. 이 말은 이 값이 0일 때 참이고 이 값이 1일 때 거짓이라는 뜻이다. 이를 액티브 하이 에 반대되는 액티브 로우 라고 부른다.

S-R 래치 는 좀 더 효율적으로 1비트 메모리를 만드는 방법이다.
S-R이라는 말은 set-reset(설정-재설정)을 뜻한다.

  • 출력 Q 와 Q' 는 보수 관계이다.
  • 입력 S = 1 이면 Q = 1(SET) ㅡ> __세트 상태(set state)
  • 입력 R = 1 이면 Q = 0(RESET) ㅡ> __리셋 상태(reset state)
  • 입력 S,R 이 모두 1이면 출력이 모두 0이 된다 ㅡ> 예측 불가능 상태 ㅡ> 두 입력을 1로 설정하는 것은 금지 되어 있다.
profile
몰입하는 개발자

0개의 댓글