1. 폰 노이만의 저장 프로그램

  • 폰 노이만의 저장 프로그램(Stored Program)

1.1. 프로그램 내장 방식

  • 개념

    • 폰 노이만이 고안한 방식으로, 메모리에 데이터뿐만 아니라 프로그램(명령어)도 함께 저장하는 방식이다.
  • 작동 원리

    • 중앙처리장치(CPU)가 메모리에서 필요한 자료와 명령어를 가져와 순차적으로 실행한다.
  • 장점

    • 이전의 에니악(ENIAC) 처럼 작업 때마다 전기 회로를 물리적으로 바꿀 필요 없이, 메모리에 저장된 프로그램만 교체하면 된다.

1.2. 명령어 형식

  • 명령어(Instruction) 형식
    • 구성: 연산 부분(Opcode, 기능) + 피연산 부분(Operand, 데이터 주소)
    • 16비트 구성 예시: 4비트(연산 종류) + 12비트(메모리 주소 또는 레지스터)

1.3. 저급 언어

  • 기계어(Machine Language)

    • 컴퓨터가 직접 이해하는 0과 1로 구성된 언어
  • 어셈블리어(Assembly Language)

    • 기계어를 사람이 이해하기 쉬운 기호(ADD, LDA, HLT 등)로 1:1 대응시킨 언어

2. 다양한 기억장치

2.1. 주기억장치의 구조

  • 주소(Address)

    • 메모리 저장소는 바이트 단위로 고유 식별 주소를 가진다.
    • (워드 단위: 32비트 또는 64비트)
  • 버스(Bus)

    • CPU와 메모리, 입출력 장치 간의 데이터 전달 통로
    • (주소 버스, 자료 버스, 제어 버스)

2.2. RAM

  • RAM(Random Access Memory)
    • 특징: 임의 접근 가능, 소멸성(Volatile, 전원 꺼지면 데이터 삭제), 읽기/쓰기 가능
    • 종류
      • DRAM(Dynamic RAM)
        • 전원이 있어도 주기적 재충전 필요, 주로 주기억장치(SDRAM)로 사용
      • SRAM(Static RAM)
        • 전원 연결 시 데이터 유지, 속도가 빠름, 주로 캐시 메모리로 사용

2.3. ROM

  • ROM(Read Only Memory)
    • 특징: 읽기 전용, 비소멸성(Non-volatile)
    • 종류
      • Mask ROM(수정 불가)
      • PROM(1회 기록)
      • EPROM(자외선/X선으로 삭제 후 기록)

2.4. BIOS와 POST

  • BIOS

    • 부팅을 위한 펌웨어, 전원 인가 시 하드웨어 점검(POST) 수행
  • POST

    • 하드웨어 이상 유무 확인 후 이상 없으면 OS를 RAM에 로드

2.5. 캐시 메모리

  • 캐시 메모리(Cache Memory)
    • 목적: CPU(빠름)와 주기억장치(상대적으로 느림) 사이의 속도 차이 해결
    • 특징: 고가/고속의 SRAM 사용, L1/L2 캐시 등이 있음

2.6. 버퍼

  • 버퍼(Buffer)
    • 목적: 속도 차이가 나는 두 장치 간의 효율적 처리를 위한 임시 저장 공간
      • (주로 입출력 장치와 프로세서 사이)

2.7. 보조기억장치

  • HDD(Hard Disk Drive)

    • 대용량, 비소멸성
    • 헤드와 디스크(플래터)를 이용한 방식
  • SSD(Solid State Drive)

    • 플래시 메모리 기반
    • HDD 대비 고속, 저전력, 무소음, 내구성 우수
  • 기타

    • 외장하드, USB 메모리(휴대성, 플래시 메모리 기반)

2.8. 저장장치의 계층 구조

  • 속도, 용량, 비용의 상관관계에 따라 계층화

  • 계층

    • 레지스터(CPU 내부, 가장 빠름)
    • → 캐시 메모리(SRAM)
    • → 주기억장치(DRAM)
    • → 보조기억장치(HDD/SSD, 대용량)

3. 중앙처리장치(CPU)

3.1. 주요 구성 요소

  • 연산장치(ALU)

    • 산술 및 논리 연산 수행
    • 누산기(AC)와 데이터 레지스터(DR) 등을 이용
  • 제어장치(Control Unit)

    • 명령어를 해석하고 각 장치에 신호를 보내 작업을 제어(인간의 뇌와 유사)
    • 해독기(Decoder)와 제어기로 구성
  • 레지스터(Register)

    • CPU 내부의 초고속 임시 기억장소
  • 버스

    • 내부 자료 전달 경로

3.2. 주요 레지스터 종류

  • DR(Data Register)

    • 피연산자 저장
  • AR(Address Register)

    • 주소 기억
  • AC(Accumulator)

    • 연산 결과 임시 저장
  • IR(Instruction Register)

    • 현재 수행 중인 명령어 저장
  • PC(Program Counter)

    • 다음에 실행할 명령어의 주소 저장

4. 프로그램 실행 과정

4.1. 명령어 처리 과정

  • 주기억장치 → 레지스터로 명령어/자료 전송 → CPU 처리 → 결과 주기억장치 전송

4.2. 기계 주기

  • 기계 주기(Machine Cycle)
    • 인출(Fetch): PC가 가리키는 주소의 명령어를 가져와 IR에 저장 (PC 값 증가)
    • 해독(Decode): 제어장치가 명령어를 해석
    • 실행(Execute): 각 구성 요소에 작업 지시 및 연산 수행

4.3. 실행 예시

두 정수의 합 구하기

  • 고급 언어

    • C <- A + B
  • 저급 언어 처리

    1. LDA A: 메모리 A의 값을 누산기(AC)로 가져옴
    2. ADD B: 메모리 B의 값을 가져와 AC 값과 더함
    3. STA C: AC의 결과값을 메모리 C 주소에 저장
    4. HLT: 종료

5. 마이크로프로세서

5.1. 성능 결정 요소

  • 자료 버스 폭

    • CPU가 한 번에 처리할 수 있는 데이터 크기(워드 크기)
    • 레지스터 크기와 비례 (예: 64비트 프로세서).
    • 병목 현상: 레지스터는 큰데 버스 폭이 좁으면 성능 저하 발생
  • 클럭 속도(Hz)

    • 초당 진동 횟수, 연산 속도와 비례
  • 병렬 처리

    • 멀티 코어 등을 이용해 여러 명령어 동시 실행

5.2. 마이크로프로세서의 발전

  • 인텔(Intel)

    • 4004(최초) → 8088(IBM PC) → 펜티엄(64비트 버스) → 코어 i시리즈
  • 무어의 법칙

    • 마이크로 칩의 처리 능력(저장 용량)은 18개월마다 2배로 증대된다.
    • (최근엔 물리적 한계로 인해 성능보다는 효율/기능 중심으로 변화)

5.3. 프로세서 분류

구분CISC(Complex Instruction Set)RISC(Reduced Instruction Set)
특징복잡하고 많은 명령어 집합 (100-250개)축소된 명령어 집합, 단순한 구조
대표 예인텔 x86 계열 (PC)ARM, PowerPC (스마트폰, 워크스테이션)
명령어가변 길이, 복잡한 연산 가능고정 길이, 단순 명령
장점적은 수의 명령어로 프로그램 작성 가능명령어 처리 속도가 매우 빠름 (파이프라이닝 유리)
단점회로 복잡, 발열/전력 소모 많음, 비쌈코드 양이 많아질 수 있음