상세 컨텐츠

본문 제목

컴퓨터는 어떻게 데이터를 전송할까? 씨리얼 통신을 알아보자

노베이스도 이해하는 공학이야기

by Tabris4547 2023. 5. 26. 15:22

본문

728x90

여러분들은 손 쉽게 데이터를 주고받습니다.
친구한테 카톡을 보내거나
영상을 내려받거나
사진을 전송하는 등등.
지금이야 기술의 발전으로 
사진이나 영상 등 자유롭게 주고받을 수 있지만
컴퓨터 초기에는 그런 건 꿈도 못꿨죠.
가장 기본이 되는 근본 통신, 
0과 1 데이터를 보내는 씨리얼 통신.
현재는 HW제어에 쓰이는 통신방법입니다.


 
왜 씨리얼 통신을 쓰는가

왜 씨리얼 통신을 써야하는지 알아보기에 앞서
컴퓨터는 이진수의 언어를 다룬다는 걸 알아야합니다.
왜 컴퓨터는 사람이 쓰는 10진수가 아니라
하필 해석하기 어려운 2진수를 쓸까.
그런 논리적으로 가장 편하기 때문입니다.
컴퓨터에 수 많은 핀이 있는데
0은 핀을 off
1은 핀을 on 
이렇게 이해해볼까요?
0110이런 숫자가 들어오면 컴퓨터는
"첫번째 네번째 핀은 off시키고, 두번째 세번째는 on해야겠구나"
라고 판단하고 명령을 수행합니다.
우리가 쓰는 컴퓨터의 수 많은 메모리칩은 이런 과정으로 동작을 합니다.
여러분들이 컴퓨터 스팩이야기할 때
16비트,32비트,64비트 이런 이야기 들어보신 적 있나요?
이 비트가 바로 한 자리수.
명령가짓수는
2^(비트수)가 되어서
64비트->2^64->18,446,744,073,709,551,616개의 명령어를 처리할 수 있다
이런 의미가 됩니다.
 


어떻게 통신하는가

통신과정이 세세하게 들어가면 복잡하니깐

최대한 간단하게 설명하겠습니다.

위의 그림은 개념을 이해하는 용도로 활용해주시면 됩니다.

디지털 신호를 전송하는데 Clk,클락이라는 신호가 있습니다.

이 클락이란 뭐냐하면

신호를 받는 주기라고 보시면 됩니다.

이 클락 주기가 촘촘하면 촘촘할 수록

더 많은 명령을 처리할 수 있습니다.

주기적으로 클락이 딸깍딸깍하는데

신호를 보낼 때 클락에 맞춰서 신호를 조절합니다.

위의 사진대로 설명하면

앞에 두 개는 0이 되는 이유는

클락이 뛸 때, 신호가 내려가 있기 때문입니다.

그 뒤에는 신호가 1에 가있는데

clk이 올라올 때 신호가 1을 계속 가리키기 때문에

계속 1로 입력이 됩니다.

 

왜 clk을 써야하는가?

 

이렇게 그림을 보면

굳이 clk을 쓸 필요가 있을지 의문이 듭니다.

그런데, 제가 쓰려는 신호가 하나가 아니라

수 십개가 된다고 생각해볼까요?

각각의 신호가 정확하게 '아다리'가 맞아야 동작해야하는 케이스가 있다고 해보겠습니다.

제가 위에서 그린 신호는 아주 '이상적'인 케이스지만

현실에서는 신호 파형이 별별 지저분하게 많이 나옵니다.

만약 clk이 없다면 각 신호를 받고 동작해야할 때에

기준이 없기 때문에 동작이 힘들 수 있습니다.

하지만 일정한 수준으로 펄스가 오르는 clk이 있기 때문에

다양한 신호를 복합적으로 받아도

디지털 시스템이 동작할 수 있습니다.

728x90

관련글 더보기

댓글 영역