컴퓨터 구조 시작

Computer Science/OS + CA · 2023. 3. 28. 19:15

컴퓨터 구조를 알아야 하는 이유 

1. 문제 해결 

프로그래밍 언어의 문법만 알고 있는 사람은 제대로 된 디버깅을 하기가 어렵다. 

ex) 실습이나 실무 상황에서, 같은 코드를 작성하여 실행시켰을 때 어떤 컴퓨터에서는 실행이 되고, 어떤 컴퓨터는 실행되지 않는 현상을 종종 마주할 수 있다. 

컴퓨터 구조를 이해하고 있다면, 더욱더 심층적인 문제 상황 판단과 문제 해결의 실마리를 찾을 수 있다. 

 

2. 성능, 용량, 비용 

컴퓨터를 필요로 하는 상황에서, 어떤 특징의 CPU를 사용해야하고, 어떤 메모리를 사용해야 되는지를 현명하게 선택할 수 있고, 이는 성능, 용량, 비용을 고려하는 개발하는 개발자가 될 수 있다. 

컴퓨터 구조를 제대로 알면, 프로그램을 위한 최적의 컴퓨터 환경을 스스로 판단할 수 있다.

 

컴퓨터 구조의 큰 그림 

알아야할 컴퓨터 구조 지식 2가지는, '컴퓨터가 이해하는 정보' '컴퓨터 네가지 핵심 부품'이다.

 

컴퓨터가 이해하는 정보

1. 데이터 

데이터는 컴퓨터가 이해할 수 있는 숫자, 문자, 이미지, 동영상 등과 같은 정적인 정보이다. 

2. 명령어

데이터를 움직이고 작동시키는 정보이다. 

 

컴퓨터의 4가지 핵심 부품

세상에는 정말 다양한 종류의 컴퓨터가 있지만, 컴퓨터를 이루는 핵심 부품에는 중앙처리장치(CPU), 주기억장치(메모리), 보조기억장치, 입출력장치가 있다.

메모리

메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품이다. 저장된 값에 빠르고 효율적인 접근을 위한 "주소"라는 개념이 사용되며, 주소를 통해 메모리 내 원하는 위치의 접근이 가능하다. 

  • 프로그램 실행을 위해서는 반드시 메모리의 저장이 필요하다
  • 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장한다.
  • 메모리에 저장된 값의 위치는 주소를 통해 알 수 있다. 

CPU

CPU는 메모리의 저장된 명령어를 읽고, 해석하고, 실행하는 부품이다.

CPU의 가장 중요한 구성 요소 3가지는 산술논리연산장치(ALU), 레지스터, 제어장치이다. 

  • ALU
    컴퓨터의 주요 연산 장치로 산술연산, 논리연산을 계산하는 디지털 회로이다. 
  • 레지스터
    CPU 내부의 작은 임시 저장 장치로, CPU 내부의 여러 개의 레지스터가 존재하며 프로그램을 실행하는데 필요한 값들을 임시로 저장한다. 
  • 제어장치
    제어 신호라는 전기 신호를 내보내고 명령어를 해석하는 장치이다. 메모리 읽기/쓰기 제어 신호를 보내어, 메모리에서 값을 읽거나 쓸 수 있다. 

보조기억장치

보조기억장치는 컴퓨터의 전원이 꺼져도 보관될 프로그램을 저장하는 부품이다. 앞서 소개한 메모리는 실행되는 명령어와 데이터를 저장하기 때문에, 전원이 꺼지면 저장된 내용을 잃는다. 또한 가격이 비싸고 저장 용량이 적다. 따라서, 용량이 더 크고 저장된 내용을 잃지 않아서 메모리를 보조하는 저장하는 장치로 보조기억장치를 사용한다.

  • 보조기억장치에는 하드 디스크, SSD, USB, DVD, CD-ROM 등이 있다.

입출력장치

컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치이다. 

  • 입출력장치에는 마이크, 스피커, 키보드, 프린터, 마우스 등이 있다. 

메인보드와 시스템 버스

메인보드는 마더보드라고 불리며, CPU, 메모리, 보조기억장치 입출력장치 등을 포함해서, 여러 컴퓨터 부품들을 부착하고 연결하는 부품이다. 이러한 메인보드에는 장치들을 연결할 수 있는 슬롯과 단자들이 존재한다.  

메인보드 내부에는 서로 정보를 주고받을 수 있게 하는 여러 다양한 통로인 버스들이 존재한다. 그리고 이 버스들 가운데 시스템 버스는 컴퓨터의 네가지 핵심부품(CPU, 메모리, 보조기억장치, 입출력장치)을 연결하는 가장 중요한 버스이다. 

  • 시스템 버스는 주소 버스, 데이터 버스, 제어 버스로 이루어져 있다. 
    • 주소 버스는 주소를 주고 받는 통로이다.
    • 데이터 버스는 명령어와 데이터를 주고받는 통로이다.
    • 제어 버스는 제어 신호를 주고받는 통로이다. 

 

본 게시물은 한빛 미디어 <혼자 공부하는 컴퓨터구조+운영체제>를 공부한 것을 정리하여 기록한 게시물입니다.