CS 5

최성원·2022년 1월 24일
0

CS

목록 보기
4/16
post-thumbnail

Day-5

2장 전자 회로의 조합 논리

-컴퓨터는 어떤 논리로 비트를 다루는가

1. 디지털 컴퓨터의 사례

1-1 아날로그와 디지털의 차이

  • 아날로그(연속)

아날로그는 연속적인 것이다.
연속적이란 말은 실수를 표현할 수 있다는 것이다.
우리가 일반적으로 사용하는 자나 수직선처럼 수가 끊임없이 이어지는 것이다.
현실의 거의 대부분이 아날로그이다.

  • 디지털(이산)

디지털은 이산적인 것이다.
이산적인 것은 정수만 표현할 수 있는 것이다.
손가락처럼 한 값에서 다음 값으로 바뀔 때 값이 건너뛴다.

  • 아날로그에는 정밀도의 문제가 있다.

    자를 보면 1.1까지는 쉽게 선택할 수 있지만 1.02는 제대로 선택하기 어렵다.

1-2 하드웨어에서 크기가 중요한 이유

  • 현대 컴퓨터는 전자를 움직인다.

  • 전기는 빛의 속도로 움직이는데 이를 더 빠르게 할 방법을 찾지 못했으므로 전자의 여행 시간을 최소화하는 방법은 부품을 가능한 한 가깝게 위치시키는 것뿐이다.

    (자세한 예를 들면 인텔의 한 CPU의 한 면이 18mm이고 전자는 40억분의 1초동안 CPU안을 겨우 
    두 번 왕복할 수 있다. CPU의 크기가 더 작아지면 전자는 같은 시간 동안 더 많이 돌아다닐 수 있
    다.)
  • 게다가 전자의 이동거리가 줄어들면 전력 소모도 줄고 열발생도 감소한다.

즉 컴퓨터에서 모든 것을 작게 만들면 높은 성능과 효율을 달성할 수 있다.

그래서 하드웨어에서 크기가 중요한 것이고 크기를 계속 줄여나가는 것이다.

1-3 디지털의 안정성

하드웨어를 작게 만들면 속도와 효율은 좋아지지만 물체가 너무 작아지면서 서로 간섭하기 쉬워진다.

  • 우주 잡음 등의 외부적인 간섭 존재

    계량컵을 생각해보면 1L짜리 계량컵은 손에 올려둔 채로도 읽기 쉽지만 1ml짜리 계량컵은 손에 
    올려두면 손이 떨리기 때문에 정확하게 값을 읽기 힘들다.
    
    우리 우주에는 잡음이 많기 때문에 이런 우주의 잡음이 작은 하드웨어가 정확한 처리를 하기 힘
    들게 만든다.
  • 전자기력 같은 내부적인 근원의 간섭

    외부에서 오는 간섭도 있지만 간섭에는 전자기력 같은 내부적인 근원이 존재한다.
    
    칩 안에서 선을 통하는 신호가 다른 선에 영향을 끼칠 수 있다.
  • 컴퓨터의 칩은 너무 작아서 이런 간섭들에 영향을 많이 받는다.

    현대 컴퓨터 칩 안의 선은 서로 겨우 몇 나노미터 떨어져 있다.
    (사람의 머리카락 지름은 10만 나노미터)
  • 선과 선 사이를 멀리 떨어뜨리면 간섭의 효과를 줄일 수 있지만, 그러면 크기가 커진다.

  • 이산은 연속보다 간섭에 강하다.

위에서 말한 잡음들이 손가락 같은 이산적인 장치에 영향을 끼치기는 어렵다.

이산적인 장치는 판정 기준이 있기 때문이다.

따라서 이산적인 장치는 연속적인 장치보다 더 안정적이다.

이게 우리가 디지털(이산적인)컴퓨터를 만드는 주된 이유이다.

디지털을 사용하면 더 안정적인 장치를 만들 수 있기 때문이다.

1-4 아날로그를 디지털로 만들자

세상은 너무 아날로그적인(연속적인) 장소다.
우리는 아날로그 세계를 조작해서 안정적인 계산 장치를 만들어야 한다.

다음 그림에서 가운데 큰 곡선은 전이함수라고 불리는 것이다.

1번

2번

3번


위 세 그림에서 가운데 곡선의 모양이 다르다.
곡선이 가파른 정도로 순서를 세우면 3번, 2번, 1번 순이다.
1번 곡선을 통과하면 빨간색 입력값과 초록색 입력값이 별 차이를 보이지 않는다.
2번 곡선을 통과하면 빨간색 입력값과 초록색 입력값이 조금 더 차이를 보인다.
극단적인 3번 곡선을 통과하면 빨간색 입력값과 초록색 입력값이 확실하게 나뉜다.
이 때 값을 극단적으로 나눠지는 그 기준을 문턱값이라고 한다.

이 현상은 연속적인 공간을 이산적인 영역으로 나눠준다.
이로부터 우리는 안정성과 잡음에 대한 내성을 얻을 수 있다.

1-5 10진 숫자 대신 비트를 사용하는 이유

  • 가짓수 측면에서 효율적

    손가락을 사용해 10진 숫자를 나타내면 **10개**만 나타낼 수 있는데
    
    각 손가락을 비트를 표현하는데 사용하면 **1024개**의 숫자를 나타낼 수 있다.
  • 복잡도와 비용 측면에서도 효율적

    10진 숫자를 사용하면 전이 함수를 10가지 문턱값으로 구분해야하는데 간단하지가 않다.
    왼쪽을 구현하는 하드웨어를 만드는 것은 오른쪽을 구현하는 하드웨어를
    10개 만드는 것보다 훨씬 더 복잡하고 비용도 많이 든다.

결론

결론적으로 디지털(이산적인) 방식이 정확하고 안정적이므로 디지털 방식을 사용하고,
아날로그를 디지털로 바꾸는 방법에서 10진 숫자를 사용하는 것보다 비트를 사용하는 것이
효율적이기 때문에 비트를 사용한다.

profile
각성구

0개의 댓글