본문 바로가기
프로그래밍

CODE - The Hidden Language of Computer Hardware and Software를 읽고서

by bantomak 2023. 8. 19.

목차

  • 친한 친구와의 대화
  • 부호와 조합
  • 점자와 이진 부호
  • 전등을 분해해 봅시다
  • 다른 방법을 찾아봅시다
  • 전신과 릴레이
  • 우리가 사용하는 열 개의 숫자들
  • 십진수 이외의 것
  • 비트, 비트, 비트
  • 논리와 스위치
  • 빌 게이츠? 논리 게이트!
  • 이진 덧셈기
  • 그렇다면 뺼셈은 어떨까요?
  • 피드백과 플립플롭
  • 바이트와 16진수
  • 메모리를 만들어봅시다
  • 혼자서 움직이는 컴퓨터
  • 주판에서 반도체까지
  • 두 가지 고전적인 마이크로프로세서들
  • 아스키코드와 문자의 변환
  • 버스에 올라탑시다
  • 운영체제
  • 고정소수점과 부동소수점
  • 고수준 언어와 저수준 언어
  • 그래픽 혁명

 

책 소개

 

CODE 코드 - 예스24

CODE, 하드웨어와 소프트웨어에 숨어 있는 언어손전등, 영국의 미국 침략, 검은고양이, 시소가 컴퓨터와 어떤 연관성을 가지고 있을까요?이 책 『CODE』에서는 다른 사람들과 의사소통하기 위하여

www.yes24.com

 

친한 친구와의 대화

 여러분이 자신을 10살 소년이라고 가정해 봅시다. 가장 친한 친구가 길 건너편 집에 살고 있으며, 친구의 침실 창문은 여러분의 침실 창문과 서로 마주 보고 있습니다. 매일 밤 부모님은 언제나처럼 너무도 일찍 "가서 자라"라고 말씀하시곤 하지요. 하지만 그 이른 시간에 잠자리에 들기에는 친구와 나누고 싶은 많은 생각과 그날 하루 관찰했던 것과 비밀들, 소문, 농담, 꿈들이 있습니다. 다른 사람과 대화하고자 하는 욕구는 인간의 기본적인 욕망 중 하나이므로 누구도 여러분을 비난할 순 없을 겁니다.

 

적어도 여러분과 친구 모두 손전등 정도는 가지고 있겠지요? 다들 아시겠지만 손전등이란 물건은 어린이들이 이불속에서 몰래 책을 보기 위한 용도로 만들어진 것이니까요. 손전등은 어두운 밤에 의사소통을 하는데 유용하게 사용할 수 있을 것 같습니다. 이 유용한 물건은 매우 조용하고, 빛의 직진성도 뛰어나서 침실문 밖으로 빛이 새어나가서 의심 많은 이웃의 주의를 끄는 일이 있을 것 같지도 않습니다.

손전등으로 대화가 가능할지 확신은 없지만 한번 시도해 볼 만은 하겠지요. 초등학교 때에 글자와 단어를 어떻게 적는지는 이미 배웠으니, 그 방법을 손전등으로 적용해 보는 것도 괜찮을 것 같습니다. 하지만 몇 번 시도해 보니 좋은 방법이 아니라는 걸 금방 깨닫게 되었습니다. 아마도 선원들이 바다에서 서로의 배에 불빛을 깜빡거려서 신호를 전달하는 영화를 본 적이 있을 것입니다. 이런 방법이 해결책이 될 수 있겠네요.

자, 간단한 방법부터 시작해 봅시다. 각 알파벳마다 몇 번씩 빛을 깜박거릴지 정하는 겁니다. A는 1번, C는 3번, Z는 26번 빛을 깜빡거리는 거죠. BAD라는 단어를 전달하려면 2번, 1번, 4번을 깜빡거리면 되겠습니다. 물론 친구가 7번 깜빡거린 걸로 인식해서 G로 이해하지 않도록 하기 위해서 글자와 글자 사이에 어느 정도 시간을 두는 것이 필요하겠지요. 단어 사이에는 조금 더 시간을 두면 될 것 같네요.

이 방법은 괜찮을 것 같습니다. 좋은 소식은 이제부터는 손전등을 친구의 창문에 비추고 스위치만 껐다 켰다 하면 되므로 더 이상 손전등을 허공에서 흔들고 있지 않아도 된다는 것이지요. 나쁜 소식은 아마도 첫 번째로 보내는 려고 할 "How are you?"라는 메시지 하나에 총 131번 손전등을 깜빡거려야 한다는 거죠.

 그래도 많이 접근했습니다. 아마 다른 사람들도 분명히 이 문제에 직면했을 것이라고 생각되지 않으세요? 네, 맞습니다. 이 문제에 대해서 알아보기 위해 낮에 도서관을 가서 찾아보면, 모스부호(Morse Code)라 불리는 놀라운 발명을 찾을 수 있을 것입니다. 이것이 여러분이 찾고 있던 바로 그 해결책이지요. 비록 알파벳의 모든 글자를 어떻게 '적어야' 하는지 다시 배우야 한다는 점이 남아 있지만 말입니다.

 모스부호가 어떻게 동작하는지 설명할 때 일반적으로 '짧은 깜빡임'과 '긴 깜빡임'이라고 하지 않고 '점'과 '선'이라고 합니다. 이는 '점'과 '선'이 종이 위에 모스부호를 표현하는 가장 일반적인 방법이기 때문이지요.

 

morsecode

 

이 책에서 부호(코드/Code)라는 용어는 일반적으로 사람과 컴퓨터 간에 정보를 전달하는 체계를 의미합니다. 달리 말하자면 부호란 의사소통을 가능하게 하는 것이라 할 수 있습니다. 가끔 부호라는 것을 암호라 생각할 때가 있는데, 사실 대부분은 그렇지 않습니다. 이것은 대부분의 부호가 인간 의사소통의 기반으로 사용되므로 이해하기 쉬어야만 하기 때문이죠.

 

단어를 발음하기 위해서 입으로 소리를 만드는 것은, 그 목소리를 들을 수 있고, 언어를 이해할 수 있는 사람이라면 누구나 인지할 수 있는 일종의 부호라 할 수 있습니다. 이러한 형태의 부호를 '음성 언어' 혹은 '말'이라 합니다. 다른 형태로 종이(혹은 바위, 나무, 허공)에 쓰인 부호가 있습니다. 이 부호는 손 글씨나 신문, 잡지, 책 등에 인쇄된 모양으로 나타나곤 하는데, 이러한 형태의 부호를 '문자 언어' 혹은 '글'이라 합니다.

 

일반적으로 의사소통을 위해서 수많은 부호들이 사용됩니다. 이는 몇몇 부호들이 다른 것들보다 특정 측면에서 적합하기 때문이지요. 예를 들어, 말은 종이에 저장될 수 없기 때문에 대신 글이 사용되는 것입니다. 어둠에서 소리를 내지 않고 거리가 멀리 떨어진 위치에서 말이나 글로 의사소통하는 것은 불가능합니다. 이러한 경우에는 모스부호가 적절한 대안이 되는 것이지요. 

마찬가지로 컴퓨터에서도 숫자, 소리, 음악, 그림, 영화 등을 저장하고 통신하기 위하여 매우 다양한 부호가 사용됩니다. 컴퓨터는 인간이 지닌 눈, 귀, 입, 손가락과 같은 기관을 정확히 복제하여 가지고 있을 수 없기 때문에, 인간이 사용하는 부호를 직접 사용하는 건 불가능합니다. 그럼에도 기술의 발전에 따라 개인용 데스크톱 컴퓨터에서 점차로 사람이 의사소통에 사용하는 모든 형태의 정보를 취득하고, 저장하고, 가공하고, 표현하는 것이 가능해지고 있으며, 시작적인 표현(글자나 그림), 청각적 표현(말, 소리, 음악) 혹은 그 조합(애니메이션과 영화)이 이용되고 있습니다. 말을 사용할 때 입과 귀라는 인간의 기관이 필요하고 글을 사용하기 위하여 손과 눈이라는 다른 기관이 필요한 것처럼, 모든 형태의 정보에는 각각의 적합한 고유의 부호가 요구됩니다.

 

앞에서 보여드린 모스부호 표도 그 자체로 일종의 부호입니다. 이 표에서는 각 문자를 표현하기 위하여 점과 선의 조합을 보여주고 있지만, 실제적으로 점과 선을 보내는 것은 아니지요. 단지 점과 선은 깜빡임의 종류에 상응하게 됩니다.

 

만일 모스부호 전달이 쉽도록 만들어진 손전등을 가지고 있다면, 모스부호를 전달하기가 훨씬 쉽겠지요. 일반적인 손전등과 다르게 이 손전등은 손전등을 켜고 끄는 스위치 이외에 버튼이 하나 더 있어서, 버튼을 누르고 떼는 것에 따라 불이 켜지고 꺼질 수 있게 만들어져 있습니다. 조금만 연습을 하면 1분에 5~10 단어 정도를 보내고 받을 수 있을 것입니다. 분당 100 단어 정도를 전달할 수 있는 말하기에 비해서는 매우 느리지만, 이 정도면 충분히 의사소통에 활용할 수 있을 정도는 됩니다.

모스부호를 완전히 외우고 난 이후에는 모스부호를 소리로 내어 통상적인 말을 대치할 수도 있습니다. 속도를 올리기 위해서 점(dot)은 '디'로 부르고 (마지막 점인 경우 '딧'이라고 부릅시다), 선(dash)은 '다~'라고 부릅시다. 이러면 모스부호를 적을 때는 점과 선으로, 이걸 읽을 때는 단 두 개의 모음으로 줄일 수 있습니다.

 

여기서 가장 중요한 말은 바로 '두 가지'라는 것입니다. 두 가지 형태의 깜빡임, 두 가지 모음, 실제로 두 가지 다른 것들은 적절히 조합되어 모든 형태의 정보를 전달할 수 있습니다.

 

관련 링크

 

모스 부호 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 모스 부호 문자와 숫자 차트.[1] 모스 부호(Morse code)는 한 종류의 신호발생장치로 짧은 신호(·, 점 또는 단점)와 긴 신호(-, 선 또는 장점)를 적절히 조합하여[1]

ko.wikipedia.org

 

Morse code

StandardRadioBurst   Morse code is a method for encoding text into a series of dashes and dots, that can be sent (transmitted) by means of sound, light or radio waves, and that can be decoded be a skilled listener without special equipment. The system is

www.cryptomuseum.com

댓글