티스토리 뷰

😊[1일 1로그 100일 완성 IT지식] 책을 기반으로 study한 내용을 정리합니다. 

 

1부 요약- 컴퓨터 하드웨어에 관해 설명, 하드웨어가 만들어지는 방식같은 물리적 세부 사항보다는 컴퓨팅 시스템의 논리적 아키텍처에 초점 

  1. 컴퓨터의 구조와 구성 요소 개괄적 설명
  2. 컴퓨터가 어떻게 비트, 바이트, 이진수로 정보를 표현할까?
  3. 컴퓨터가 실제로 계산을 어떻게 수행할까? (어떤 일을 수행하기 위해 비트와 바이트를 어떻게 처리하는 지 살펴보기)

 

우리는 살아가는데 있어서 10진수을 이용해 수학적으로 접근 하기에 0~9의 숫자로 계산하고 보는 것이 더 편하다. 하지만 컴퓨터에게는 2진수이 더 쉽게 다가온다. 그 이유는 무엇일까?

컴퓨터가 2진수를 사용하는 이유

컴퓨터는 기본적으로 전기로 동작하는 기계이다. 컴퓨터 내부에는 수많은 트렌지스터가 존재하는데 여기서 트랜지스터란 트랜스(Trans, 바꿈)과 레지스터(Resistor, 저항)의 합성어로 전자회로 내에서 전자의 증폭과 스위칭을 담당하는 반도체 소자로 전기신호를 받아 작동한다.
전기 신호는 ON/OFF시스템으로 이루어져 신호가 들어오면 ON 또는 TRUE 상태이고 이때 컴퓨터는 1로 인식하며 반대로 신호가 없으면 OFF 또는 FALSE 상태이고, 컴퓨터는 0으로 인식한다. 그러기 때문에 3이상의 n진수를 사용하게 되면, 전기 신호는 n가지의 수를 구분해야하기 때문에 오류 발생과 소요 시간 및 비용이 증가하는 현상이 생겨 기계적으로 처리하기에는 그렇게 좋아 보이지 않는다.
그렇기 때문에 전기신호의 ON/OFF 대응하기 쉬운 2진수가 컴퓨터에게 오류를 최소화 해주고 비용과 시간을 아껴주는 효율성을 볼 수 있어 가장 적합해 보인다.

참고 자료

https://velog.io/@psj0810/CPU%EC%9D%98-%EC%9E%91%EB%8F%99%EC%9B%90%EB%A6%AC

 

CPU의 작동원리

CPU는 트랜지스터라고하는 반도체로 만들어졌습니다.먼저 트랜지스터가 어떻게 작동하는지 알아보겠습니다.반도체는 주로 실리콘으로 만들어집니다.실리콘은 최외각 전자가 4개로 다른 원자들

velog.io


여덟 개의 비트로 구성된 바이트

바이트라는 용어는 IBM에 근무했던 독일계 미국인 컴퓨터 과학자 베르너 부흐홀츠 Werner Buchholz가 만든 단어다. 대부분의 컴퓨터의 데이터 처리와 메모리 구성의 기억장치 기본 단위는 8비트 길이를 가지는 바이트이다.
컴퓨터 특성상 '0'과 '1'로 모든 정보를 표현하는데 여기에 해당 하는 데이터가 바로 '비트'이다. 하지만 비트만으로는 컴퓨터의 수많은 데이터를 처리하기에는 턱없이 부족하기 때문에 바이트를 사용하게 되었다.
1바이트는 256개(2의 8승, 0과 1 여덟 개로 이루어진 모든 조합)의 구별되는 값을 인코딩할 수 있다.인코딩 된 값을 문자로 나타날때에는 영어, 숫자나 특수문자(아스키코드 문자)같은 경우에는 1바이트, 한글과 같은 동양권 문자(유니코드 문자) 2바이트가 필요하다.

바이트를 숫자 값으로 표현하고자 할때는 16진수로 사용한다. 바이트를 10진수가 아닌 16진수로 표현하는 이유는 뭘까?
16진수에서 2진수로 변환할 때 16진수 한자리를 2진수 4비트 즉, 16진수 하나가 4비트(2의 4승)을 표현할 수 있다는 뜻이다. 그렇다면 왜 2진수로는 표현이 가능한데 하지않는가라는 의문이 든다면 그 이유는 2진수로 표현하게 될 경우 너무 많은 공간을 차지해 비효율적이기 때문에 16진수 대안 표기법을 일반적으로 사용한다.

2진수(위) / 16진수(아래) 표

16진수 사용 예

1. RGB 색상

프로그래머가 흔히 볼 수 있는 웹페이지의 색상에서 16진수가 사용되는 것을 볼 수 있다. 컴퓨터에서의 색상은 적색의 양, 녹색의 양, 청색의 양을 표현하는데 쓰인다. 이 방법을 RGB 인코딩이라고 한다. 각 색상 성분이 단일 바이트로 저장 되므로 색상마다 256개를 표현할 수 있다. 세가지 색상을 조합하면 약 1천6백만가지의 색상을 표현할 수 있다.
웹 페이지의 컬러 값을 표현하는 방법은 CSS에서 color 값 코드를 적을때 #ff0000으로 표현 되는 것을 볼 수 있는데 이것은 적색최대값(255) 녹색없음(00) 청색없음(00)으로 구성되어 있다는 뜻이다.



2. 32비트와 64비트

내 PC에서 컴퓨터 사양을 보면 64비트 운영체제인지 32비트 운영체제인지 확인이 가능하다. 여기서 64비트와 32비트의 차이는 CPU의 차이를 나타내는거다. 즉, 저장 장치의 bit 폭으로 보면 되는데 이 저장 장치를 '레지스터'라고 부른다. 레지스터란 CPU가 요청을 처리하는 데 필요한 데이터를 일시적으로 저장하는 기억장치라고 보면 되는데 그 저장하는 장소를 우리가 흔히 알고 있는 RAM이라고 부른다.
이 레지스터가 클수록 한번에 처리 할 수 있는 정보의 양이 늘어나는데 이것을 다른말로 하자면 처리할 수 있는 한계를 뜻하기도 한다. 32비트인 시스템을 용량으로 변환하면 2^32 = 4GB가 되고 64비트의 시스템을 용량으로 변환하면 2^64 = 16GB가 된다. 32비트인 경우에는 4GB만 인식이 가능해 8GB의 RAM을 가지고 있어도 4GB까지 밖에 저장을 못한다.
이러한 운영체제로도 16진수를 사용해 저장용량을 나눴다는것을 알 수 있다.

용량단위 표

 

 
댓글