[CS]Hardware

o_jooon_·2024년 4월 9일
0

CS

목록 보기
6/6
post-thumbnail

이번 포스팅은 CS 관련 지식 중 하드웨어에 관한 것입니다.
컴퓨터 구조에서 대표적인 CPU, RAM, Disk(HDD, SSD), 캐시 등에 대해 알아 볼 건데, 각 장치의 내부 과정은 다음에 따로 포스팅하고 이번 시간에는 큼지막하게 알아볼 것입니다!


Hardware

컴퓨터를 물리적으로 구성하는 요소이며, 컴퓨터에 연결되어 추가적인 기능을 수행한다.

컴퓨터에서 하드웨어의 개념은 간략하게 이렇습니다. 눈으로 직접 볼 수 있는 물리적인 요소들을 뜻하죠.
하드웨어에는 다양한 형태와 구성 요소가 있습니다.
컴퓨터가 어떤 원리, 어떤 방식으로 동작하는지 알기 위해서는 하드웨어의 구성요소를 반드시 알아야 하며,
컴퓨터를 구매하려는 소비자들 또한 다양한 하드웨어의 기능과 차이점에 대해 잘 알수록 현명하게 컴퓨터를 구매할 수 있습니다.

컴퓨터의 하드웨어는 크게 다음과 같이 이루어져 있습니다.

각 하드웨어는 빨간 화살표와 같이 서로 상호작용하게 됩니다.
마우스로 바탕화면의 프로그램을 실행시킨 경우의 대략적인 과정은 다음과 같습니다.

  1. 마우스(입력 장치)가 데이터를 RAM에 전달합니다. -> 마우스의 움직임 및 프로그램 클릭
  2. RAM은 CPU에 해당 데이터를 전달합니다. -> 마우스가 움직였다는 정보와 클릭했다는 정보 전달
  3. CPU는 해당 데이터를 처리하여 다시 RAM으로 전달합니다. -> 마우스를 실제로 움직이고 프로그램 실행
  4. RAM은 프로그램 실행을 위해 디스크에 접근합니다. -> 프로그램을 로컬 디스크에서 확인
  5. 디스크는 프로그램의 데이터들을 RAM으로 전달합니다. -> RAM에 해당 프로그램 로딩
  6. 위의 과정들을 모니터(출력 장치)에 전달합니다. -> 마우스, 프로그램의 정보 등을 모니터에 출력

그럼 초록색 번호가 매겨진 하드웨어들을 순서대로 알아보도록 하겠습니다.

1. CPU(Central Processing Unit)

컴퓨터 시스템을 통제하고 프로그램의 연산을 실행 · 처리하는 가장 핵심적인 컴퓨터의 제어 장치

CPU는 중앙처리장치 라고도 불리며, 프로세서 라고도 합니다.
CPU는 다양한 입력 장치로부터 데이터를 받아서 처리한 후, 그 결과를 출력장치로 보내는 일련의 과정을 제어하고 저장하는 일을 수행합니다.

따라서, CPU는 다른 하드웨어들과 정보를 교환하면서 컴퓨터 시스템 전체를 제어하는 장치로, 모든 컴퓨터의 작동과정이 CPU의 제어를 받습니다.
인간으로 따지면 두뇌의 역할을 하는 것이죠!!

CPU는 데이터를 아주 빠른 속도로 처리할 수 있지만, 한 번에 처리할 수 있는 용량이 제한적이기 때문에 다른 하드웨어(캐시, RAM 등)의 도움을 받아야 합니다.
정확히 말하면, CPU는 내부에 존재하는 레지스터에 데이터를 저장하고 처리하는데, 레지스터의 크기와 데이터의 처리량이 제한적이기 때문에 외부의 도움을 필요로 하는 것입니다.

CPU의 구성 요소

CPU의 내부는 복잡한 구조로 이루어져 있으며, 주요 구성 요소는 제어 장치(CU), 산술 논리 장치(ALU), 레지스터(Register) 입니다.

해당 구성 요소들은 CPU의 핵심 부분으로, 서로 상호작용하며 명령어를 실행하고 데이터를 처리합니다.
내부의 자세한 구성은 CPU의 설계에 따라 다를 수 있으므로 어떤 역할을 하는지만 설명하겠습니다.

제어 장치(Control Unit, CU):

제어 장치는 CPU의 동작을 제어하고 명령어의 실행을 조정합니다.
명령어를 해독하고 실행하기 위한 제어 신호를 생성하여 CPU의 동작을 조정합니다.

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

산술 논리 장치는 CPU에서 산술 및 논리 연산을 수행합니다.
산술 연산은 덧셈, 뺄셈, 곱셈, 나눗셈과 같은 연산을 말합니다.
논리 연산은 AND, OR, NOT, XOR과 같은 연산을 말합니다.

레지스터(Register):

레지스터는 CPU 내부에 위치한 고속 메모리로, 데이터나 명령어를 일시적으로 저장합니다.
레지스터는 빠른 액세스 속도를 제공하므로 CPU가 데이터를 신속하게 처리할 수 있습니다.

2. RAM(Random Access Memory)

프로그램이 실행되고 데이터가 일시적으로 저장되는 주기억장치

RAM은 컴퓨터의 성능에 아주 중요한 역할을 합니다.
위에 사진을 보면 알다시피, 데이터 처리의 모든 과정은 이 RAM을 거쳐 이루어지는 것을 보면 알 수 있죠.

RAM이 클 수록 더 많은 프로그램을 동시에 실행하거나 더 큰 데이터를 처리할 수 있습니다.

RAM은 CPU가 직접 접근하여 데이터를 읽고 쓸 수 있는 특징을 갖고 있습니다.
프로그램이 실행되는 동안 프로그램의 코드, 변수, 스택, 힙 등의 데이터를 저장합니다.
CPU는 이 데이터에 빠르게 접근하여 데이터를 처리하는 것이죠.

RAM의 특징

컴퓨터의 핵심적인 기능을 담당하는 RAM은 다음과 같은 특징이 있습니다.

랜덤 액세스:

RAM은 주소를 통해 임의의 위치에 있는 데이터에 빠르게 접근할 수 있습니다.
데이터를 순차적으로 읽고 쓰는 것이 아니라, 필요한 주소로 직접 이동하여 데이터에 접근할 수 있다는 말이죠.
그렇기 때문에 속도가 아주 빠릅니다. (CPU, 캐시보다는 느림)

휘발성 메모리:

RAM은 프로그램이 실행되는 동안 필요한 데이터나 명령어를 일시적으로 저장합니다.
프로그램이 종료되면 RAM에 저장된 데이터는 사라지므로, 데이터의 일시적인 보관에 적합합니다.
마찬가지로, 컴퓨터의 전원이 종료되어도 데이터는 사라집니다.

3. Disk

컴퓨터의 데이터를 장기적으로 저장하는 보조기억장치

일반적으로 우리가 아는 HDD와 SSD가 디스크에 해당합니다.
휘발성 데이터를 가진 RAM과는 다르게 데이터를 반영구적으로 저장하며, GB 및 TB 단위의 큰 용량을 가지고 있습니다.

프로그램은 보통 실행 파일의 형태로 디스크에 저장되며, 실행 파일에는 프로그램의 명령어들과 필요한 데이터가 포함되어 있습니다.
유저가 프로그램을 실행시키는 경우, 운영 체제는 이 실행 파일을 디스크에서 읽어와 RAM으로 복사하고, CPU가 프로그램을 실행할 수 있도록 필요한 초기화 작업을 수행합니다. -> 위에서 번호 순서대로 설명한 것이 바로 이것이죠.

Disk의 특징

디스크는 다음과 같은 특징들을 가지고 있습니다.

비휘발성 메모리:

디스크에 저장된 데이터는 프로그램이 종료되거나 전원이 꺼져도 지속됩니다.
RAM과 대조적인 특성이며, 반영구적으로 데이터가 저장되도록 합니다.

데이터 보관:

디스크는 파일 시스템을 통해 데이터를 구성하고 저장합니다.
파일 시스템은 파일을 디렉토리로 구성하고 디스크에 저장된 데이터에 대한 메타데이터를 유지합니다.

데이터 속도:

CPU와 RAM에 비해서는 상대적으로 느린 속도를 가지고 있습니다.
HDD는 회전하는 디스크 플래터에 데이터를 저장하고, 데이터에 접근하기 위해 플래터를 회전시키고 읽기/쓰기 헤드를 이동시킵니다.
SSD는 플래시 메모리를 사용해 데이터를 관리하기 때문에, HDD보다 빠른 속도를 가지고 있습니다.

주요한 데이터 저장:

디스크는 운영 체제, 응용 프로그램, 문서, 미디어 파일 등을 포함한 다양한 종류의 주요한 데이터를 저장합니다.

4. 입력 장치(Input Devices)

사용자가 컴퓨터에 정보를 입력하는 데 사용되는 장치

컴퓨터에 정보를 입력하는 키보드, 마우스 등과 같은 장치들이 입력 장치에 해당합니다.
가장 대중적인 입력 장치들은 다음과 같습니다.

  • 키보드: 문자, 숫자 및 기타 특수 문자를 입력하는 데 사용됩니다.
  • 마우스: 커서를 이동시키고 클릭하여 사용자가 GUI(Graphic User Interface)를 통해 컴퓨터를 제어합니다.
    -> GUI는 사용자가 프로그램을 컨트롤하기 쉽게 파일을 아이콘처럼 나타내는 것을 말합니다.
  • 터치패드: 보통 노트북에서 사용되며, 마우스와 유사한 기능을 제공합니다.
  • 스캐너: 문서, 사진과 같은 종이 기반의 정보를 디지털 형식으로 컴퓨터에 입력하는 데 사용됩니다.
  • 마이크: 음성 명령 및 음성 인식을 통해 컴퓨터와 상호작용하는 데 사용됩니다.
  • 카메라: 이미지 및 동영상을 디지털 형식으로 컴퓨터에 입력하는 데 사용됩니다.

5. 출력 장치(Output Devices)

컴퓨터가 처리한 정보를 사용자에게 표시하거나 외부로 전달하는 데 사용되는 장치

컴퓨터의 정보를 표시하거나 전달하는 모니터, 스피커 등과 같은 장치들이 출력 장치에 해당합니다.
가장 대중적인 출력 장치들은 다음과 같습니다.

  • 모니터: 컴퓨터의 그래픽 및 텍스트 출력을 표시하는 디스플레이 장치입니다.
  • 프린터: 컴퓨터에서 생성된 문서, 그림 및 사진을 종이에 출력하는 장치입니다.
  • 스피커: 컴퓨터에서 생성된 오디오 신호를 재생하는 장치입니다.

CS 공부를 다시 하나씩 하면서, 컴퓨터 구조에서 하드웨어에 관한 부분을 크게 다루어봤습니다.
다음에는 데이터를 CPU 내부에서 어떤 식으로 처리하는지 포스팅 하겠습니다!

profile
iOS개발 공부 중입니다.

0개의 댓글