본문 바로가기
Computer Science

컴퓨터의 기본 구성 장치와 동작 원리

by DuncanKim 2022. 6. 21.
728x90

컴퓨터의 기본 구성 장치와 동작 원리

 

20세기의 천재 폰 노이만은 현대 컴퓨터의 구조를 만들었다. 이전 까지의 컴퓨터(계산기라고 하는 것이 더 맞음)는 인풋, 아웃풋 디바이스의 경계도 모호했다. 이전까지는 CPU와 메모리가 같이 합쳐져 있었다. 그렇지만, 폰 노이만의 설계에 의해 새롭게 탄생된 컴퓨터는 현재 70년이 지난 지금에 있어서도 기본 컴퓨터 구조로 사용되고 있다.

20세기 언터쳐블 최고의 천재 폰 노이만의 컴퓨터 아키텍쳐

 

알아볼 것들

1. 컴퓨터의 기본 구성 장치

2. 운영 체제와 부팅 과정
3. 이진법의 활용

 

1. 컴퓨터의 기본 구성 장치

 

CPU

  •  cpu는 중앙처리장치이다. 프로그램의 명령어를 해석하고 돌아가도록 제어하는 부분, 칩이다. 컴퓨터에서 기억, 해석, 연산, 제어라는 4대 주요 기능을 관할한다.
  • 우리 뇌의 기억과 사고를 담당하는 부분이 있다고 하면, cpu는 우리 두뇌에서 사고와 연산을 담당하고 있는 부분이라고 할 수 있다. cpu 안에 코어들이 있는데, 컴퓨터에서 핵심적인 역할을 하는 것이다.
  • 연산이 아닌, 데이터 단기 기억 담당은 RAM, 장기기억은 SSD와 HDD가 담당한다.

 

메모리

  • 전자회로에서 데이터나 상태, 명령어 등을 기록하는 장치.
  • 공장으로 비유하면, CPU는 근로자, 메모리는 작업장, 보조기억장치는 창고.

 

보조기억장치(SSD, HDD)

  • 다양한 데이터들을 보관하는 저장소.
  • LP 판과 똑같은 원리로 자기 디스크에 정보를 저장한다. 헤드가 그 정보들을 읽어온다.
  • 디스크가 빠르게 회전할수록 정보를 읽어오는 속도가 더 빨라진다(성능이 좋다).

 

  • SSD의 경우, 디스크가 들어가 있지 않고, 램과 비슷한 것이 들어가 있는 저장장치라고 보면 된다.
  • 영속 저장이 가능한 성능 떨어지는 램이라고 할 수 있다.

 

 

 

++ 현재 삼성은 512gb 램을 생산하고 있다. 이것을 기억장치로 쓰면서 컴퓨터 구동이 가능할까?
: 불가능하다. SSD와 다르게 주기억장치로 쓰이는 RAM은 전력공급이 사라지면 저장된 데이터가 사라진다.

 

 

램은 왜 존재하는 것인가?

 

컴퓨터가 느리면 램을 업그레이드해야 한다? 개발자라면 이 부분을 설명할 수 있어야 한다.

 

아래의 개념을 이해해보자.

 

중앙 처리 장치 - 주기억장치 - 보조기억장치 간의 관계 CPU가 롤을 실행한다고 하자. A데이터를 필요로 한다. CPU가 하드디스크에게 A데이터를 직접 요구하면, 굉장히 오랜 시간이 걸린다. 방대한 저장창고에서 특정 데이터를 찾기란 어렵기 때문이다. 그래서 램에 일부 필수 요소들을 가져다가 쓰면서 계속 실행을 하는 것이다.

 

느린 하드디스크의 약점을 보완하기 위해 병렬로 하드디스크를 활용하는 RAID를 활용하기도 한다. RAID는 여러 개의 하드 디스크에 일부 중복된 데이터를 나눠서 저장하는 기술이다.

 

램에 적재되는 데이터들은 파레토 법칙(80:20)에 따라서 보조기억장치에 저장된 전체 데이터의 20%만을 가져와서 적재한다. 그 데이터들을 활용하는 것이다. 여기에는 로직, 리소스 등이 로드된다.

 

 

메모리 계층 구조

파레토 최적을 활용하여 레지스터와 보조기억 장치 간에는 다음과 같은 계층 구조가 있다.

CPU - L1 캐시메모리(SRAM) - L2 캐시메모리(SRAM) - L3 캐시메모리(SRAM) - 주기억장치(DRAM) - 버퍼(디스크 캐시) - 보조기억장치

 

  • cpu와 레지스터의 속도도 차이가 나는데, 캐시메모리가 그 중간의 역할을 한다.

 

  • L1, 2, 3 : ram에 로드된 데이터들 중에 자주 사용되는 데이터가 있다. 그 중 일부가 l3로 적재된다.
  • 캐시메모리는 l3, l2, l1 등 다양하게 존재하기도 한다. 여기에서 데이터는 파레토 법칙에 따라 관리된다.

 

  • 메모리(DRAM)는 사용자가 건드릴 수 있는 부분(코딩으로 건드리는 부분 new Class())과 건드릴 수 없는 부분(커널, 드라이버가 올라가는 것)이 있다.

 

  • cpu에 근접할수록 용량은 적고 속도는 높으며, disk로 갈수록 용량은 많고 속도는 낮다.

 

 

전체를 다시 정리해보겠다.

간단히 레지스터에 있는 데이터를 읽는 것은 머릿속에 있는 기억을 떠올리는 행동으로, 주기억장치에 있는 데이터를 읽는 것은 책장에 꽂혀 있는 책에서 특정한 책을 찾아 내용을 읽는 행동으로, 보조기억장치에 있는 데이터를 읽는 것은 도서관을 풀 스캔해서 특정한 내용을 찾아오는 것으로 비유된다.

 

 

2. 운영체제(OS)와 부팅

 

운영체제란?

 

사용자의 하드웨어, 시스템 리소스를 제어하고 프로그램에 대한 일반적인 서비스를 지원하는 소프트웨어.
종류로는 Windows, macOS, Linux 등이 있다.

 

운영체제가 해주는 일들

시스템 보호 / 시스템이 지속 가능하도록 한계를 지정 / 일의 효율성 확보를 위한 룰 집행

 

운영체제와 램과의 상관관계

  • 하드디스크에 있는 OS 커널을 메모리로 데이터들을 로딩한다. 하드에서 메모리로 적재되는 속도는 하드디스크의 속도를 따른다.
  • 하드에서 램으로 옮기는 작업(제어)도 CPU가 작업을 담당한다.
  • 운영체제 별로 메모리 관리법은 그렇게 다르지는 않다. 메모리 관리법은 대동소이하다.

 

 

컴퓨터를 켤 때 일어나는 일(부팅)

부팅은 컴퓨터에서 사용자가 운영 체제를 시동할 때 운영 체제를 시작하는 부트스트래핑 과정이다.

운영체제가 실행되기까지 다음과 같은 과정을 거친다.

 

전원 공급 - 부트 프로그램(부트로더) 실행 - 하드웨어 검사 - 운영체제 커널 로드 - 운영체제 실행

 

운영체제 커널 로드에 대해 알 필요가 있는데,

 

부트로더는 운영 체제가 시동되기 이전에 미리 실행되면서 커널이 올바르게 시동되기 위해 필요한 모든 관련 작업을 마무리하고 최종적으로 운영 체제를 시동시키기 위한 목적을 가진 프로그램이다. 비휘발성 메모리이다. 

 

 

 

3. 2진수 사용

 

반도체의 두 가지 상태를 이용하기 위해서 컴퓨터는 2진수를 사용한다. 전기가 통하는 상태와 통하지 않는 상태로 어떤 정보를 전달한다고 볼 수 있다.

 

3진법 반도체도 있긴 하다. 전기도 흐르는 상태 흐르지 않는 상태를 유지하는 것은 쉽지만, 흐르다 마는 상태 등등 세밀하게 파악하는 것이 비용이 많이 들고 한다. 삼성은 3진법 반도체를 만들어버렸다.

3진법은 3, 9, 27, 81, 243, 729, 2187, 6561 … 순으로 늘어난다.

2진법은 2, 4, 8, 16, 32, 64, 128, 256 … 순으로 늘어난다.

이렇게 보면 표현할 수 있는 양이 급격하게 많아질 수 있다는 것을 알 수 있으며, 처리 속도 또는 연산속도가 급증할 수 있을 것이라고 예측할 수 있다.

728x90

댓글