컴퓨터의 요소

하드웨어 구성

https://codybuilder.com/27

  • 크게 연산을 담당하는 CPU, 기억을 담당하는 메모리, 입출력 장치로 나눌 수 있음
  • 시스템 버스는 각 요소들과 연결되어 있고 데이터와 명령 제어 신호를 각 장치로 실어 나름

 

데이터 접근 방식

  • 순차접근
    • 데이터를 순차적으로 접근하는 방식
    • 데이터의 위치에 따라 접근 시간이 달라짐
  • 임의접근
    • 어디든 접근할 수 있다고 하여 임의접근, 랜덤접근이라 불림
    • 기억 장소에 관계없이 동일한 접근 시간이 소요됨
    • 임의접근이 잘 되도록 만든 장치가 바로 RAM

 


중앙처리장치(CPU, Central Processing Unit)

CPU의 역할

  • 인터럽트에 의해 단순히 메모리에 존재하는 명령어를 해석해서 실행하는 일꾼
  • 운영체제의 커널이 프로그램을 메모리에 올려 프로세스로 만들면 일꾼인 CPU가 이를 처리함
  • 주기억장치에서 프로그램 명령어와 데이터를 읽어와 처리하고 명령어의 수행 순서를 제어함

 

CPU의 구성

  • CPU는 산술논리연산장치, 제어장치, 레지스터로 구성
  • 산술논리연산장치(ALU): 비교와 연산을 담당
  • 제어 장치: 명령어의 해석과 실행을 담당
  • 레지스터: 속도가 빠른 데이터 기억장소

 

제어 장치(CU, Control Unit)

  • 명령어를 순서대로 실행할 수 있도록 제어하는 장치
  • 컴퓨터를 구성하는 모든 장치들은 제어장치의 제어를 받음
  • 명령어 레지스터에서 프로그램 명렁어를 꺼내 해독하고, 그 결과에 따라 필요한 제어 신호를 연산장치, 기억장치, 입출력장치로 보냄
  • 또한 장치가 보낸 신호를 받아 다음에 수행할 동작을 결정함

 

레지스터

  • CPU 안에 있는 고속 임시 기억장치
  • CPU와 직접 연결되어 있어 연산 속도가 메모리보다 수십~수백 배 빠름
  • CPU는 자체적으로 데이터를 저장할 방법이 없기 때문에 레지스터를 거쳐 데이터를 전달함
  • 명령어 주소, 코드, 연산에 필요한 데이터, 연산 결과 등을 임시로 저장
  • 기능에 따라 다양한 종류로 나눠짐

 

산술논리연산장치(ALU, Arithmetic Logic Unit)

  • 제어장치의 명령에 따라 실제로 연산을 수행하는 장치
  • 덧셈, 뺄셈 같은 두 숫자의 산술 연산과 배타적 논리합, 논리곱 같은 논리 연산을 계산
  • 연산에 필요한 데이터를 레지스터에서 가져오고, 연산 결과를 다시 레지스터로 보냄

 

CPU의 동작 과정

  1. 제어장치가 메모리와 레지스터에 계산할 값을 로드함
  2. 제어장치가 레지스터에 있는 값을 계산하라고 산술논리연산장치에 명령함
  3. 제어장치가 계산된 값을 다시 레지스터에서 메모리로 저장함

 


기억 장치(Memory)

정의 및 특징

  • CPU는 계산을 담당하고, 메모리는 기억을 담당함
  • 메모리가 크면 클수록 많은 일을 동시에 할 수 있음
  • 주기억장치와 보조기억장치로 분류됨

 

주기억장치(Main Memory)

  • 물리적인 디스크가 아니라 컴퓨터 내부에서 현재 CPU가 처리하고 있는 내용을 저장하고 있는 기억장치
  • 보조 저장장치보다 저장 용량이 적지만, 속도가 빨라 실행되는 프로그램이 적재되어 있음
  • CPU는 store과 load의 방식으로 기억장치에 엑세스
  • ROM(Read Only Memory)
    • 전원이 끊겨도 기록된 데이터가 소멸되지 않는 비휘발성 메모리
    • 오직 기억된 데이터를 읽기만 가능한 장치
  • RAM(Random Access Memory)
    • 읽고 쓰기가 가능하며 임의 접근이 가능함
    • 응용 프로그램, 운영체제 등을 불러와 CPU가 작업할 수 있도록 하는 기억장치
    • 전원을 끄면 데이터가 사라지는 휘발성 메모리이나 속도가 빠름

 

보조기억장치(Secondary Memory)

  • 물리적인 디스크가 연결되어 있는 기억 장치
  • 주기억장치보다 속도는 느리지만 가격이 저렴하고 저장 용량이 더 큼
  • 컴퓨터의 전원을 끄더라도 저장된 데이터가 사라지지 않는 비휘발성을 가짐
  • HDD(Hard Disk Driver)
    • 물리적인 디스크를 고속으로 회전시켜 데이터를 저장하는 장치
    • SSD의 등장으로 많이 소멸되는 추세
  • SSD(Solid-State Driver)
    • 흔히 쓰는 USB가 발전된 형태
    • 물리적으로 회전하거나 움직이는 요소가 없으며, 전기적으로 데이터를 저장함
    • 속도가 HDD보다 훨씬 빠르나 가격이 비쌈

 

데이터 적재/저장

  • 니모닉: 기계어를 인간이 인식할 수 있는 것으로 바꾸어주는 것

  • 적재(Load)
    • 기억장치에 저장된 데이터를 읽어 CPU의 레지스터로 적재
    • 주소 버스를 통해 CPU가 요구하는 데이터의 주소값과 제어 버스를 통해 Read 신호가 전달
  • 저장(Store)
    • CPU이 레지스터에서 기억장치의 특정 주소에 데이터를 저장
    • 주소 버스를 통해 특정 주소와 제어 버스를 통해 Write 신호가 전달
  • 워드(Word)
    • CPU가 한 번에 접근하는 데이터를 의미
    • CPU가 지원하는 비트 수와 크기가 같음
    • 32bit CPU에서는 32bit, 64bit CPU에서는 64bit

 


기타

시스템 버스(System Bus)

  • 컴퓨터의 각 구성요소 간 데이터, 신호를 전달하기 위한 데이터 전달 통로

  • 데이터 버스: CPU와 기억장치/입출력장치 사이에서 데이터를 전달하는 ‘양방향’ 버스
  • 주소 버스: CPU가 기억장치/입출력장치에게 데이터를 보내기 위해 주소를 전달하는 ‘단방향’ 버스
  • 제어 버스: 데이터 버스와 주소 버스를 제어하기 위한 신호를 전달하는 ‘양방향’ 버스로, CPU가 Memory를 Read할지, Write할지에 대한 정보를 전달

⇒ 몇 번지에 데이터가 존재하는지 주소를 싣고 다니고(address bus), 해당 번지수의 데이터를 받아 싣고 다니며(data bus), 이 데이터를 보낼건지 받을건지의 신호를 싣고 다님(control bus)
 

DMA 컨트롤러

  • IO 디바이스가 메모리에 직접 접근할 수 있도록 하는 하드웨어 장치
  • CPU에만 너무 많은 인터럽트 요청이 들어오기 때문에 CPU 부하를 막아주며 CPU 의 일을 부담하는 보조 일꾼
  • 하나의 작업을 CPU와 DMA 컨트롤러가 동시에 하는 것을 방지함

 

타이머

  • 몇 초 안에는 작업이 끝나야 한다는 것을 정하고 특정 프로그램에 시간 제한을 다는 역할
  • 시간이 많이 걸리는 프로그램이 작동할 때 제한을 걸기 위해 존재

 

디바이스 컨트롤러

  • 컴퓨터와 연결되어 있는 IO 디바이스들의 작은 CPU를 말함

 


References

+ Recent posts