////
Search

1 : 컴퓨터 구조의 큰그림

컴퓨터가 이해하는 정보
컴퓨터의 핵심 부품(정보를 이용해 프로그램을 실행하는 하드웨어)

컴퓨터가 이해하는 정보

프로그램 개발을 위해서는 프로그래밍 언어로 소스 코드 작성 필요
그러나, 컴퓨터는 프로그래밍 언어를 직접 이해할 수 없음
컴퓨터가 이해 가능한 정보 : 데이터 & 명령어
우리가 작성한 소스 코드는 내부적으로 컴퓨터가 이해 가능한 데이터와 명령어의 형태로 변환된 뒤 실행
컴퓨터 명령어는 수행할 동작 & 수행할 대상으로 이뤄짐
ADD EAX, EBX
Assembly
복사
명령어는 다음과 같음(위는 어셈블리어) : 어셈블리어를 기계어로 변환하면 이진수가 되어 컴퓨터가 이해하는 정보가 됨

데이터 & 명령어

데이터
숫자, 문자, 이미지, 동영상 같은 정적인 정보
컴퓨터와 주고받는 정보나 컴퓨터에 저장된 정보 자체
명령어에 종속적인 정보, 명령의 대상, 명령어의 재료
있는 그대로의 정보
명령어
데이터를 활용하는 정보
데이터와 명령어 또한 0과 1로 이뤄져 있음. 즉, 컴퓨터는 0과 1만으로 다양한 숫자와 문자 데이터를 표현하며, 이 데이터를 활용해 명령어를 실행.
이 명령어를 실행하는 주체가 CPU. CPU의 종류에 따라 실행 가능한 세부적인 명령어의 종류와 처리 양상이 달리질 수 있음을 의미(큰 틀에서 보면, CPU 종류와 무관하게 공통적으로 활용되는 명령어는 어느 정도 정해져 있음).

컴퓨터의 핵심 부품

CPU(중앙처리장치) 메모리(주기억장치) 캐시 메모리 보조기억장치 입출력장치

1 : CPU

정보(데이터 & 명령어)를 읽어 들이고, 해석하고, 실행하는 부품
중요 포인트 : CPU의 주요 구성 요소, 빠른 명령어 처리를 위한 기술
아래와 같이 ALU, CU를 포함한 여러 레지스터들이 존재

산술논리연산자(ALU)

연산(사칙, 논리)을 수행할 회로로 구성된 일종의 계산기
CPU가 처리할 명령어를 실질적으로 연산하는 요소

제어장치(CU)

명령어를 해석해 제어 신호라는 전기 신호를 내보내는 장치
제어 신호 : 부품을 작동시키기 위한 신호
CPU가 메모리를 향해 제어신호를 보내면 메모리를 작동시킬 수 있고, 입출력장치를 향해 제어 신호를 보내면 입출력장치를 작동시킬 수 있음

️ 레지스터

CPU 내부의 작은 임시 저장장치
정보(데이터 & 명령어)를 처리하는 과정의 중간값을 저장
CPU 내 여러 개의 레지스터가 존재하며, 각기 다른 이름과 역할 존재
CPU가 처리하는 명령어는 반드시 레지스터에 저장 → 레지스터 값만 잘 관찰해도 프로그램이 어떻게 실행되는지 가장 낮은 단계에서 파악 가능

2 : 메모리와 캐시 메모리

메인 메모리(메모리) 역할을 하는 하드웨어는 RAM, ROM
일반적으로 RAM을 메모리라고 지칭하는 경우가 대다수
CPU가 읽어 들이고, 해석하고, 실행하는 정보를 저장하는 장치
즉, 현재 실행 중인 프로그램을 구성하는 정보(데이터 & 명령어)를 저장하는 부품
중요 포인트 : 실행 중인 프로그램을 저장

메모리 관련 키워드1 : 주소

CPU가 원하는 정보로 접근하기 위해 사용되는 개념

메모리 관련 키워드2 : 휘발성

전원이 공급되지 않을 때 저장하고 있는 정보가 지워지는 특성
메모리(램)은 휘발성 저장장치로, 메모리에 저장된 정보는 컴퓨터의 전원이 꺼지면 모두 삭제됨

3 : 보조기억장치

전원이 꺼져도 저장된 정보가 사라지지 않는 비휘발성 저장장치
메모리(램)의 휘발성을 보조하기 위함
EX : 하드 디스크 드라이브(HDD), 플래시 메모리 기반 SSD
보관할 프로그램을 저장
유의할 점 : CPU가 보조기억장치에 저장된 프로그램을 곧장 가져와 실행할 수 없음
프로그램을 실행하려면, 보조기억장치에서 보관하고 있는 프로그램을 메모리로 복사해야함

4 : 입출력장치

컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치
주변장치
보조기억장치와 입출력장치는 완전히 배타적인 개념이 아님
보조기억장치도 결국 메모리를 보조하는 임무를 수행하는 특별한 입출력장치로 볼 수 있음

5 : 메인 보드와 버스

메인 보드(마더 보드)
컴퓨터 핵심 부품을 비롯한 여러 부품들을 연결할 수 있는 슬롯과 연결 단자가 존재
버스
메인 보드에 연결된 부품들이 각자의 역할을 적절히 수행하기 위해 서로 정보를 주고받을 때, 각 컴퓨터 부품들이 정보를 주고받는 통로
시스템 버스 : 핵심 부품들을 연결 (버스 종류는 다양하지만, 시스템 버스가 가장 중요)

참고) 저장장치의 계층 구조