[OS] 2. 하드웨어의 구성


하드웨어의 구성

  • 컴퓨터는 필수장치주변장치로 이루어진다.
  • 필수장치
    • 중앙처리장치 (CPU) : 명령어를 해석하여 실행하는 장치
    • 메모리 : 작업에 필요한 프로그램과 데이터를 저장하는 장소
  • 주변장치
    • 입력장치
      • 키보드, 마우스
    • 출력장치
      • 프린트, 모니터(+그래픽카드), 스피커(+사운드카드)
    • 저장장치
      • 메모리보다 느리지만 저렴하고 용량이 크며 전원의 ON/OFF 와 상관없이 데이터를 영구적으로 저장한다.
      • 자성을 이용하는 장치: 카세트테이프, 플로피디스크, 하드디스크(HDD)
        • 하드디스크: 운영 체제, 애플리케이션 및 데이터 파일을 저장
      • 메모리를 이용하는 장치: USB 드라이버, SD 카드, SSD
      • 레이저를 이용하는 장치: CD, DVD
  • GPU란(Graphical Processing Uit)?
    • GPU 는 그래픽용 CPU 이다.
    • 과거에는 그래픽 계산을 CPU 가 담당하고 그 결과만 그래픽카드에 전달했다.
    • 최근에는 3D게임 등 많은 계산을 필요로 하는 프로그램이 늘어남에 따라 그래픽카드에 GPU 를 달아서 직접 계산한다.

하드웨어 사양 관련 용어

  • 클록(clock)
    • CPU 속도와 관련된 단위
    • CPU 가 작업할 때의 일정한 박자다. 클록이 일정 간격으로 tick 을 만들면 거기에 맞추어 CPU 안의 모든 구성 부품이 작업을 한다.
    • Tick 은 purse 혹은 clock tick 이라고도 부른다.
    • 메인보드의 클록이 틱을 보낼 때마다 버스는 데이터를 보내거나 받는다.
  • 헤르츠(Hz): 클록틱이 발생하는 속도
    • 1초에 클록틱이 몇번 발생하는지 나타낸다.
  • 시스템 버스
    • 메모리와 주변장치를 연결하는 버스FSB(Front-side bus), 전면 버스라고 한다.
  • CPU 내부 버스
    • CPU 내부에 있는 장치를 연결하는 버스BSB(Back-side bus), 후면 버스라고 한다.
    • CPU 내부 버스의 속도는 CPU 클록과 같아서 시스템 버스보다 훨씬 빠르다.

폰노이만 구조

  • 오늘날의 컴퓨터는 대부분 폰노이만 구조를 따른다.
  • 폰노이만 구조는 CPU, 메모리, 입출력장치, 저장장치가 버스로 연결되어있는 구조를 말한다.
  • 폰노이만 구조가 등장하기 전의 컴퓨터는 hard wiring 형태였기 때문에 다른 용도로 사용하려면 전선의 연결을 바꿔야 했다.
  • 폰노이만은 메모리를 이용하여 프로그래밍이 가능한 컴퓨터 구조, 즉 하드웨어는 그대로 둔채 작업을 위한 프로그램만 교체하여 메모리에 올리는 방식을 제안했다.
  • 가장 중요한 특징은 “모든 프로그램은 메모리에 올라와야 실행할 수 있다.” 이다.
    • e.g. 워드프로세스 보고서를 작성한 경우, 보고서 파일은 하드디스크(저장 장치)에 저장되지만 프로그램과 데이터가 저장장치에서 바로 실행되지 않는다.
    • 저장장치에 있는 프로그램을 실행하려면 프로그램이 메모리에 올라와야하며, 운영체제도 프로그램이기 때문에 메모리에 올라와야 실행이 가능하다.

CPU 와 메모리

CPU

  • CPU의 기본 구성
    • CPU는 산술논리 연산장치, 제어장치, 레지스터로 구성되며 이것들의 협업으로 작업을 처리한다.
    • 필요한 데이터를 가져와 레지스터에 저장하고 산술논리 연산장치를 이용하여 연산을 한 후, 그 결과를 다시 레지스터에 저장했다가 메모리로 옮긴다.
    1. 산술논리 연산장치(Arithmetic and Logic Unit, ALU)
      • 데이터의 덧셈, 뺄셈, 곱셈, 나눗셈같은 산술연산과 AND, OR 같은 논리연산을 수행한다.
    2. 제어장치(Control Unit)
      • 명령어를 해석하여 제어신호를 보내고 CPU 내의 데이터 흐름을 조절한다.
    3. 레지스터(Register)
      • CPU 가 연산을 하기 위해 필요한 데이터를 CPU 로 가져와 임시로 보관하는 장소이다.
      • 사용자 가시 레지스터(user-visible register)와 사용자 불가시 레지스터(user-invisible register)로 나뉜다.
      • 사용자 가시 레지스터
        • 사용자 프로그램에 의해 변경된다.
        • 데이터 레지스터(DR) : CPU 가 명령을 처리하는데 필요한 일반 데이터를 임시로 저장
        • 주소 레지스터(AR) : 데이터 또는 명령어가 저장된 메모리의 주소를 저장
      • 사용자 불가시 레지스터
        • 프로그램 카운터(PC) : 다음에 실행할 명령어의 주소를 기억하고 있다가 제어장치에게 알려준다.
        • 명령어 레지스터(MAR) : 현재 실행중인 명령어를 저장한다.
        • 메모리 주소 레지스터(MAR) : 메모리로부터 읽어오거나 메모리에 쓰기 위한 주소를 가지고 있다.
        • 메모리 버퍼 레지스터(MBR) : 메모리에서 가져온 데이터나 메모리로 옮겨갈 데이터를 임시로 저장한다. 항상 메모리 주소 레지스터와 함께 동작한다.
  • 버스의 종류
    • CPU 와 메모리, 주변장치 간에 데이터를 주고받을 때 사용한다. 버스에는 다음 작업을 지시하는 제어 신호, 메모리의 위치 정보를 알려주는 주소, 처리할 데이터가 오고 가며 각각 제어버스, 주소 버스, 데이터 버스에 실린다.
    • 제어 버스(control bus)
      • 다음에 어떤 작업을 할 지를 지시하는 제어 신호가 오고 간다.
      • 제어버스의 신호는 CPU, 메모리, 주변장치와 양방향으로 오고간다.
    • 주소 버스(address bus)
      • 메모리의 데이터를 읽거나 쓸 때 어느 위치에서 작업할 것인지를 알려주는 위치 정보(주소)가 오고 간다.
      • 메모리 주소 레지스터와 연결되어 있으며 단방향이다.
    • 데이터 버스(data bus)
      • 데이터를 실어서 전달한다.
      • 메모리 버퍼 레지스터와 연결되어 있으며 양방향이다.
    • 버스 관련 용어
      • 대역폭(bandwidth): 한번에 전달할 수 있는 데이터의 최대 크기
        • 버스의 대역폭은 CPU 가 한번에 처리할 수 있는 데이터의 크기와 같다.
        • 버스의 대역폭, 레지스터의 크기, 메모리에 한번에 저장할 수 있는 데이터의 크기는 항상 같다.
      • 워드(word): CPU 가 한번에 처리할 수 있는 데이터의 최대 크기
    • 제어 버스가 다음에 어떤 작업을 할지 신호를 보내주고 주소 버스가 위치 정보를 전달하면 데이터가 데이터 버스에 실려 목적지까지 이동한다.

메모리

  • 모든 프로그램은 메모리에 올라와야 실행될 수 있다.
  • 메모리에는 실행에 필요한 데이터가 존재하며, CPU 와 협업하여 작업이 이루어진다.
  • 메모리는 RAMROM 두종류로 나뉜다.
  • 메모리를 이루는 소자 하나의 크기는 1bit 혹은 0이나 1이 저장된다.
  • 소자 하나만으로 데이터를 표현할 수 없어 메모리 주소byte 단위로 저장되고 메모리에서 데이터를 읽거나 쓸 때는 워드 단위로 움직인다.
  • 메모리의 종류
    1. RAM(Random Access Memory)
      • 읽거나 쓸 수 있다.
      • 무작위로 데이터를 읽어도 저장된 위치와 상관없이 같은 속도로 데이터를 읽을 수 있다는 의미에서 이름이 유래되었다.
      • RAM은 휘발성 메모리와 비휘발성 메모리로 나뉜다.
      • 휘발성 메모리
        • 전력이 끊기면 데이터가 사라진다.
        • DRAM(Dynamic RAM): 저장된 0과 1의 데이터가 일정 시간이 지나면 사라지므로 일정 시간마다 다시 재생시켜야한다.
          • 메인 메모리에 사용
        • SRAM(Static RAM): 전력이 공급되는 동안에는 데이터를 보관할 수 있어 재생할 필요가 없다.
          • 속도가 빠르지만 가격이 비싸다.
          • 캐시 같은 고속 메모리에 사용
        • SDRAM(Synchronous Dynamic Access Memory): 클록틱이 발생할 때마다 데이터를 저장하는 동기 DRAM 이다.
      • 비휘발성 메모리
        • 플래시 메모리(flash memory): 전력이 없어도 데이터를 보관하는 저장장치
          • 디지털 카메라, MP3 플레이어, USB 드라이버
        • SSD: 하드디스크를 대신한다.
          • 가격이 비싸지만 빠른 데이터 접근 속도, 저전력, 내구성 때문에 개인용 컴퓨터, 노트북, 스마트폰 등 많은 기기에 사용된다.
    2. ROM(Read Only Memory)
      • 전력이 끊겨도 데이터를 보관할 수 있지만 데이터를 한 번 저장하면 바꿀 수 없다.
      • 주로 BIOS(Basic Input/Output System)를 ROM 에 저장한다.
  • 부팅(Booting)
    • 운영체제도 CPU 에 의해 실행되는 프로그램이기 때문에 메모리에 올라와야 실행할 수 있다.
    • 따라서 컴퓨터를 켰을 때 운영체제를 메모리에 올리는 과정을 부팅(booting)이라고 한다.
    • 부팅 과정
      1. 사용자가 컴퓨터의 전원을 켜면 ROM 에 저장된 BIOS 가 실행된다.
      2. BIOS 는 CPU, 메모리, 하드디스크, 키보드, 마우스와 같은 주요 하드웨어가 제대로 작동하는지 확인한다.
      3. 이상이 없으면 하드디스크의 MBR(Master Boot Record)에 저장된 부트스트랩 코드를 실행한다.
        • MBR : 하드 디스크의 첫번째 섹터
        • 부트스트랩 코드 : 운영체제를 메모리로 가져와 실행하는 역할을 하는 프로그램
      4. 부트스트랩이 메모리에 올라오면 하드디스크에 저장된 운영체제를 메모리로 불러온다.
맨 위로 이동 ↑

Tag : ,

Category :

Last Modified :

댓글 남기기