•
컴퓨터가 이해하는 정보
•
컴퓨터의 핵심 부품(정보를 이용해 프로그램을 실행하는 하드웨어)
컴퓨터가 이해하는 정보
•
프로그램 개발을 위해서는 프로그래밍 언어로 소스 코드 작성 필요
그러나, 컴퓨터는 프로그래밍 언어를 직접 이해할 수 없음
•
컴퓨터가 이해 가능한 정보 : 데이터 & 명령어
우리가 작성한 소스 코드는 내부적으로 컴퓨터가 이해 가능한 데이터와 명령어의 형태로 변환된 뒤 실행
•
컴퓨터 명령어는 수행할 동작 & 수행할 대상으로 이뤄짐
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 : 메인 보드와 버스
•
메인 보드(마더 보드)
◦
컴퓨터 핵심 부품을 비롯한 여러 부품들을 연결할 수 있는 슬롯과 연결 단자가 존재
•
버스
◦
메인 보드에 연결된 부품들이 각자의 역할을 적절히 수행하기 위해 서로 정보를 주고받을 때, 각 컴퓨터 부품들이 정보를 주고받는 통로
◦
시스템 버스 : 핵심 부품들을 연결
(버스 종류는 다양하지만, 시스템 버스가 가장 중요)
