• 입력장치
  • 출력장치
  • 중앙처리장치
    • 산술/논리 연산 장치(ALU)
    • 제어 장치
    • 레지스터 - CPU의 내부 메모리, CPU에서 사용하는 데이터를 일시적으로 저장하는 장소
  • 저장장치
    • 주기억장치 - 주로 정보를 저장해 두었다가 필요할 때 읽어들이는 저장소
    • 보조기억장치 - 대용량

CPU 구조

산술/논리 연산 장치(ALU), 제어 장치, 레지스터

CPU 구조



산술/논리 연산 장치(ALU)


가산기, 보수기, 누산기, 기억 레지스터, 데이터 레지스터 등

레지스터에 저장된 데이터를 이용하여 산술 연산 수행

부동소숫연산장치(FPU), 정수연산장치, 논리연산(AND, OR 등)장치 등


레지스터


구분

  • 범용 레지스터(General-Purpose Register) - 산술 연산 논리장치에 의해 사용
  • 레지스터(Dedicated-Purpose Register) - PC 등 특수 목적에 사용

종류

  • IR(Instruction Register) - 수행 중에 있는 명령어 부호를 저장
  • PC(Program Counter) - 명령이 저장된 메모리의 주소를 가리킴
  • AC(Accumulator) : 산술 및 논리 연산 결과를 임시로 기억

제어장치


CPU가 자신 및 주변기기들을 컨트롤하는 장치

  • 프로그램 계수기 - 프로그램 수행 순서 제어
  • 명령 레지스터 - 수행중인 명령어 내용 임시 기억
  • 명령해독기 - 명령 레지스터에 수록된 명령을 해독, 수행될 장치에 제어신호를 보냄

장치 구현의 방식

  1. 고정 배선 제어(Hardwired)
  • 제어진호가 Harddwired Circuit에 의해 생성되도록 하드웨어 구성, 상태계수기와 PLA(Programmable Logic Array) 회로로 구성
  • 고속처리, 고가
  • RISC에 적용
  1. Micro Program
  • 발생 가능한 제어 신호들의 조합을 미리 구성, ROM 에 저장, 필요 시 신호를 발생시키는 Software 방식
  • 비교적 저속, 저렴
  • CISC에 적용

CPU 기능

명령어 및 명령어 수행 과정과 처리 방식

명령어


시스템이 특정 동작을 수행시키는 작은 단위

  • 동작 코드(Op-code) - 각 명령어의 실행 동작을 구분하여 표현
  • 오퍼랜드(Operand) - 명령어의 실행에 필요한 자료나 실제 자료의 저장 위치

명령어 수행 과정


  1. 읽기(Fetch Instruction, FI) - 메모리에서 명령을 가져옴
  2. 해석(Decode Instruction, DI) - 명령 해석
  3. 실행(Execute Instruction, EI) - 명령 수행
  4. 기록(Write Back, WB) - 수행한 결과 기록

명령어 처리 방식


  • CISC
    • 여러 사이클로 명령어 처리
    • 많은 명령어가 메모리를 참조
    • 파이프라이닝 사용 어려움(Pipelining - 명령어의 데이터 경로 세분화, 각기 다른 세부 단계를 동시에 수행, 중첩 수행 가능하게 만들어 성능 향상)
    • 복잡한 마이크로 프로그램 구조
  • RISC
    • 하나의 사이클로 명령어 처리
    • 메모리 Load / Store 명령만 처리
    • 파이프라이닝, 슈퍼스칼라의 사용 가능(Superscalar - CPU 내에 파이프라인을 여러 개 두어 명령어 동시 실행)

댓글남기기