Peter Ahn
Peter의 우아한 프로그래밍
Peter Ahn
전체 방문자
오늘
어제
  • 전체 (115)
    • 영어공부 (15)
    • 물생활 (9)
    • 독서 (2)
    • 일상 (1)
    • IT 소식 (15)
      • 최신 기술 소식 (10)
      • 보안 소식 (5)
    • 인공지능 (AI) (2)
    • OS (19)
      • Linux (19)
    • Web (0)
      • Vue.js (0)
    • 객체지향 (1)
      • 개념과 원리 (1)
      • 디자인패턴 (0)
    • 프로그래밍 (37)
      • C (14)
      • C++ (3)
      • C# (1)
      • Python (3)
      • Javascript (2)
      • Bash (4)
      • Vim (9)
    • Database (3)
      • DB2 (3)
      • MongoDB (0)
    • 프레임워크 (1)
      • Ionic (1)
    • Cloud (1)
      • AWS (1)
    • 3D Printer (2)
    • 기록보관소 (5)
    • 초대장 (2)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

  • 프로그래밍의 세계에 오신 것을 환영합니다.

인기 글

태그

  • 생활영어
  • 리눅스
  • vim
  • 물생활
  • 딥러닝
  • 영어표현
  • Linux
  • AI
  • 어항
  • 구피
  • typescript
  • bash
  • 쉘 프로그래밍
  • 랜섬웨어
  • call by reference
  • 프로그래밍
  • C언어 강좌
  • 리눅스 명령어
  • bash shell
  • vim 강좌
  • 영어 표현
  • 인공지능
  • C++
  • 구피어항
  • 영어 회화
  • C언어
  • 4차 산업혁명
  • vim 비주얼모드
  • c강좌
  • 하프블랙구피

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Peter Ahn

Peter의 우아한 프로그래밍

0과 1밖에 모르는 CPU
카테고리 없음

0과 1밖에 모르는 CPU

2016. 11. 10. 01:31
반응형

앞서 0과 1밖에 모르는 컴퓨터에 대해 얘기를 했었는데 정확하게 말하면 0과 1밖에 모르는 것은 CPU입니다. 그렇다면 왜 CPU는 왜 0과 1밖에 모르는 걸까요?

이에 대해 이해하려면 먼저 기존의 뜬구름 잡는 듯한 논리적인 관점에서의 0과 1에서 벗어나 물리적인 0과 1의 의미를 알아야 합니다.


CPU는 반도체 소재로 만들어집니다.

반도체는 무엇인가요?

전기가 잘 통하는 물질은 도체라고 하며 전기가 통하지 않는 물질은 부도체라고 하는데요.

반도체란 특정 조건에서는 전기가 잘 통하지만 그렇지 않은 경우 전기가 통하지 않는 성질을 지닌 물질을 말합니다.  여기서  전기를 통하는 것을 전압이 인가된다고 말합니다.


이러한 반도체의 성질을 이용하여 논리 회로를 만듭니다. 예를 들어 AND 논리 회로의 경우 입력 단자 x, y 2개 모두 전압이 인가되면 출력 F에 전압이 인가되고, 어느 한 쪽이라도 전압이 인가되지 않으면 출력 F의 전압이 인가되지 않는 특성을 지녔습니다.



이렇게 만들어진 OR, AND, NOR, NOT, NAND, XOR, XNOR 등의 논리 회로(게이트)들이 복잡하게 조합하면 여러개의 입력값을 논리적으로 해석해 연산을 하거나 제어를 할 수 있게 되는 것입니다.

이런 복잡한 회로들이 모여서 CPU를 구성하게 됩니다.



반도체에 전압이 인가되면  1, 인가되지 않으면 0을 의미합니다. 그래서 CPU는 0과 1(전압을 인가하거나 안하거나)밖에 모른다고 하는 겁니다. 따라서 CPU를 통해 무엇인가 연산을 하려면 0과 1로  이루어진 인스트럭션을 전달해줘야 합니다.



여러분들이 개발한 프로그램은 컴파일러를 거쳐 0과 1로 이루어진 인스트럭션들(기계어)로 변환되고, Disk의 자성에 따라 0과 1로 구분되어 저장되어 있다가 프로그램이 실행 될 때 메모리에 Load됩니다. 그 후 메모리에서 각 인스트럭션들이 CPU에서 하나씩 처리 되는 것이죠.



여담으로 프로그래밍 관점에서 볼 때 0과 1의 의미는 조금 다르게 해석됩니다.

일반적으로 0은 False 1을 포함한 0이외의 모든 값은 True로 인식된다는 점 기억해두세요.

반응형
저작자표시 비영리 동일조건 (새창열림)
    '전체' 카테고리의 다른 글
    • GOTO 문에 대해서
    Peter Ahn
    Peter Ahn
    IT 정보 공유, 프로그래밍 지식 공유

    티스토리툴바