개발 일지/CS

[CS] 컴퓨터의 이해

미숫가루설탕많이 2022. 12. 16. 11:13

 

 컴퓨터란, 입력받은 데이터를 정해진 규칙대로 처리해서 처리 결과를 저장하고 출력하는 전자 장치이다.

 

  • 컴퓨터는 사람으로부터 데이터를 받아들인다. 즉, 컴퓨터는 데이터를 입력장치를 통해 입력받는다.
  • 정해진 규칙은 프로그램을 의미하며, 프로그램은 소프트웨어 및 애플리케이션이라고도 한다.
  • 위에서 언급한 정해친 규칙대로 연산을 수행한다. 즉, 컴퓨터는 중앙처리장치를 통해 연산을 수행한다.
  • 컴퓨터는 데이터 처리 결과를 사람이 감각할 수 있는 형태의 정보로 사람에게 전달한다. 즉, 컴퓨터는 처리 결과물을 출력장치를 통해 출력한다.

 

 

 

컴퓨터는 소프트웨어와 하드웨어로 구성되며, 이 둘의 상호작용을 통해 동작한다.

 

 

소프트웨어 (Software)


 소프트웨어는 물리적인 형태가 존재하지 않는 컴퓨터의 구성 요소로서, 하드웨어가 어떻게 동작해야 하는지 규정해놓은 명령어의 집합이며 크게 시스템 소프트웨어응용 소프트웨어로 분류된다.

 

 

시스템 소프트웨어 (System Software)

 시스템 소프트웨어는 응용 소프트웨어를 실행하기 위한 일종의 플랫폼 역할을 수행하며, 하드웨어와의 직접적인 소통을 통해 하드웨어 장치들이 제대로 동작할 수 있게 해준다. 따라서, 응용 소프트웨어의 실행 환경이며 하드웨어 장치를 관리한다.

 

응용 소프트웨어 (Application Software)

 응용 소프트웨어는 소프트웨어에서 시스템 소프트웨어를 제외한 모든 소프트웨어를 의미한다. 줄여서 애플리케이션 및 앱이라고도 하며, 일반적으로 프로그램이라고도 불린다. 종류는 사무용, 교육용, 멀티미디어, 통신용, 게임 등 매우 다양하다.

 

 

 

 

하드웨어 (Hardware)


 하드웨어는 컴퓨터를 구성하는 기계적 장치들의 집합이다. 즉, 내가 손으로 만질 수 있는 컴퓨터의 물리적인 장치들을 하드웨어라고 한다. 하드웨어는 중앙처리장치, 기억장치, 입력장치, 출력장치로 분류되며, 각 장치는 시스템버스로 연걸되어있다.

 

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

 CPU는 프로그램의 실행과 데이터 처리를 담당하는 컴퓨터의 핵심 장치로, 프로세서라고도 한다. CPU는 제어장치, 연산장치, 레지스터로 구성되는데, 각 요소의 동작이 어우러져 CPU의 기능을 수행한다.

 

제어장치
  • CPU의 모든 동작과 데이터 흐름을 통제하고 관리한다.
  • 운영체제와 소통하며 컴퓨터의 자원을 관리한다.

 

연산장치
  • 프로그램에 기술되어져 있는 명령어를 수행한다.
  • 코드를 실질적으로 실행시키는 장치이다.

 

레지스터
  • CPU 내에 존재하는 작고 빠른 기억장치이다.
  • 연산장치의 동작에 필요한 데이터들을 임시적으로 보관하며 제공한다.

 

기억장치 (Memory Device)

 기억장치는 CPU의 동작에 필요한 데이터들을 장기적 또는 단기적으로 보관한다. 여기서 장기적으로 저장하는 장치를 보조기억장치라고 하며, 단기적으로 데이터를 저장하는 장치를 주기억장치라고 한다.

 

보조기억장치
  • 컴퓨터에게 필요한 모든 정보를 반영구적으로 저장한다.
  • 큰 용량의 데이터를 저장할 수 있지만, 데이터를 읽고 쓰는 속도가 느리다.
  • CPU의 연산 속도는 엄청나게 빠른 반면, 보조기억장치는 느리기 때문에 CPU는 보조기억장치와 직접적으로 소통하지 않는다.
  • Ex. SSD (Solid State Drive), HDD (Hard Disk Drive)

 

주기억장치
  • 컴퓨터가 프로그램을 수행하는 동안 필요한 모든 데이터들을 저장한다.
  • 큰 용량의 데이터를 저장할 수는 없지만, 데이터를 읽고 쓰는 속도가 빠르다.
  • CPU의 연산 속도를 어느 정도 따라 잡을 수 있을 정도로 빠르기 때문에 CPU는 주기억장치와 직접적으로 소통한다.
  • Ex. RAM (Random Access Memory), ROM (Read Only Memory)

 

캐시 메모리 (Cache Memory)

 캐시 메모리는 한 번 CPU가 사용한 데이터와 관련된 데이터 중, 재사용 가능성이 높은 데이터를 주기억장치로부터 미리 불러와서 대기시켜놓는 역할을 한다.

 

입력장치 (Input Device)

 입력장치는 사용자로부터 컴퓨터 내부로 데이터를 입력 받는 장치이다. 키보드, 마우스, 마이크, 트랙패드 등이 입력장치에 속한다.

 

출력장치 (Output Device)

 출력장치는 컴퓨터 내부로부터 사용자에게 사람이 감각할 수 있는 형태로 데이터를 출력해주는 장치이다. 모니터, 스피커, 프린터 등이 출력장치에 속한다.

 

시스템 버스 (System Bus)

 시스템 버스는 CPU를 포함한 각 하드웨어 장치 간의 통로이다. 즉, 각 하드웨어 장치를 물리적으로 연결한 전선을 의미하기 때문에 시스템 버스 또한 하드웨어에 포함된다.

  • 데이터 버스 : 하드웨어 간에 데이터를 전달하는 통로
  • 주소 버스 : 데이터가 어디에 도착해야 하는지에 대한 정보를 전달하는 통로
  • 제어 버스 : CPU의 제어장치가 생성한 제어 신호를 다른 장치로 전달하는 통로

'개발 일지 > CS' 카테고리의 다른 글

[자료구조] 큐(Queue)  (0) 2023.01.16
[자료구조] 스택(Stack)  (0) 2023.01.16
[Data Type] JSON(JavaScript Object Notation)  (0) 2023.01.13
[알고리즘] 재귀(Recursive)  (0) 2023.01.12
[CS] 프로그래밍의 이해  (0) 2022.12.16