컴퓨터의 동작원리
1. 컴퓨터? 프로그래밍?
- 프로그래머?
- 컴퓨터 프로그램을 만드는 사람
- 프로그래밍?
- 컴퓨터 프로그램을 만드는 일
- 프로그램?
- 컴퓨터의 의해 실행될 수 있는 일련의 기능 모음
- 컴퓨터?
- 전자계산기
- 0과 1
2. 컴퓨터의 역사
- 초기모습 :: 십진법 < 이진법(0과 1로 표현)
- 최초의 다용도 디지털 컴퓨터 - ENIAC(사이즈가 공장크기)
- 최초의 프로그램 내장방식 컴퓨터 - EDSAC
- 진공관 - 제 1세대 컴퓨터
- 트랜지스터 - 제 2세대 컴퓨터
- 집적회로 - 제 3세대 컴퓨터 ~ 현재
3. 컴퓨터의 기본구조와 동작원리
CPU, RAM, 하드디스크, ROM
- CPU
- 핵심적인 계산이나 연산 처리
- 연산장치 → 제어장치
- RAM(주기억장치,메모리)
- 휘발성 메모리, 컴퓨터를 끄면 날아감.
- 하드디스크(보조기억장치)
- 비휘발성 메모리, 전원을 꺼도 지속적으로 남아있음.
- ROM(주기억장치, 메모리)
- 비휘발성 메모리
- 기본 입출력 활성화 → 부팅(RAM에 올리는 과정)
- 세탁기, 냉장고 같은 단순한 프로그램에도 쓰임
동작원리
- 평소 우리의 코드는 하드에 저장되어 있음. 프로그램을 실행하는 순간 메모리(RAM)에 복사되어 올라간다.
- CPU는 한 번에 한가지 일처리만 가능.
- 코드는 컴퓨터가 해석할 수 있는 형태의 기계어로 메모리에 올라간다.
- CPU는 메모리에 있는 코드를 한줄씩 차례대로 실행.
- 메모리 실제 모든 공간에 주소가 있어 CPU에서 접근 가능.
메모리 구조
- 코드영역(프로그램)
- 데이터영역
- 데이터
- 힙
- 스택
컴퓨터의 구성
하드웨어
- 컴퓨터와 그 주변을 구성하는 물리적 장치
- 입력장치, 출력장치, 기억장치, 제어장치, 연산장치 등
- 입력장치
- 키보드, 마우스, 터치스크린, 타블렛, 마이크, 조이스틱, 스캐너
- 출력장치
- 스피커, 모니터, 프린터, 헤드폰
- 제어 / 연산장치
- 중앙처리장치 CPU(Central Processing Unit)
- 기억장치
- 주기억장치
- 램, 롬, 속도빠름, 전원이 꺼지면 데이터가 지워짐.
- 보조기억장치
- 하드디스크, 매우느림, 전원이 꺼져도 데이터가 지워지지 않음.
소프트웨어 - 프로그램 명령어의 집합
- 시스템 소프트웨어
- 운영체제 (OS, Operating System)
- 로더 (Loader)
- 장치 드라이버 (Device Driver)
- 컴파일러 (Compliler)
- 어셈블러 (Assembler)
- 링커 (Linker)
- 유틸리티
- 응용 소프트웨어
- == 애플리케이션
- 워드프로세서
- 웹브라우저
- 스프레드시트
- 게임
- OS 상에서 실행되는 모든 프로그램
컴퓨터의 구조
하버드 구조
- 컴퓨터에서 프로그램이 저장되는 기억 장치와 데이터가 저장되는 기억장치를 하드웨어적으로 완전히 분리하여 속도 향상을 꾀하는 구조
폰 노이만 구조
- 프로그램 메모리와 데이터 메모리가 구분되어 있지 않고 하나의 버스를 가지고 있는 구조
- 메모리 속박 문제 및 버스 병목 문제를 가짐
프로그래밍 언어의 발전 관계
- 기계어
10001111
- 어셈블리언어(저급언어)
MOV A 3
- C언어(고급언어)
int a = 3;