중앙처리장치의 개요

  • 중앙처리장치 (CPU)
    • 컴퓨터에서 명령어를 수행하고 데이터를 처리하는 장치
    • 프로그램이 수행되는 전반적인 과정을 제어
    • 처리장치제어장치로 구성

중앙처리장치의 내부 구조

  • 구성요소
    • 산술논리연산장치
    • 레지스터 세트
    • 제어장치
    • 내부버스

  1. 산술논리연산장치(ALU)
    • 산술연산장치
    • 논리연산장치
    • 시프터
    • 상태 레지스터
      • 연산결과의 상태를 나타내는 플래그를 저장하는 레지스터
    • 보수기
      • ALU내의 데이터에 대해 보수 연산을 수행

  2. 레지스터 세트
    • CPU내의 레지스터 집합
    • 기억장치 중 액세스 속도가 가장 빠르다
    • 따라서 CPU에서의 빠른 처리속도를 지원
    • 빠른 속도를 갖지만 가격이 비싸므로, CPU내의 레지스터의 수는 제한된다

  3. 제어장치
    • 프로그램에 의한 연산의 순서대로 기억장치, 연산장치, 입출력장치에 제어신호를 발생한다
    • 제어장치의 동작
      1. 명령어를 해독하고 명령어 레지스터에 저장
      2. 명령어 레지스터에 저장된 명령어 실행

  4. 내부버스
    • ALU와 레지스터 간의 데이터 전송을 위한 통로
      • 데이터 버스와 제어버스로 구성
    • 외부장치(기억장치, 입출력장치)와 데이터 전송
      • 시스템 버스와 연결
      • 시스템 버스 : 데이터, 주소, 제어 버스로 구성

1

레지스터

레지스터의 종류

  1. 범용 레지스터
    • 데이터를 일시적으로 저장

  2. 특수 레지스터
    • 특수한 기능을 수행

  3. 범용 레지스터
    • 데이터 저장과 같은 일반적인 목적을 위한 레지스터
    • CPU 내부에 있는 소규모의 일시적인 기억장치로, 프로그램의 진행 도중 가까운 시간 내에 사용할 데이터나 연산결과를 일시적으로 기억시키는데 사용
    • 데이터를 연산할 때 메모리로부터 데이터를 인출할 경우 호출시간이 많이 걸리기 때문에 CPU 내부의 레지스터에 데이터를 기억시켜두고 연산한다

    • 범용 레지스터의 형태

      2
  4. 특수 레지스터
    1. 주소를 기억하는 레지스터 (AR)
      • 프로그램 카운터(PC)
        • 다음에 수행되어질 명령어가 있는 주소를 갖고 있다
        • 즉, 데이터가 저장되어 있는 기억장치의 주소를 지정
        • 현재 처리하려고 하는 데이터를 인출한 후에는 자동적으로 1 증가
        • 프로그램 카운터의 비트 수는 기억장치의 용량에 따라 결정된다

      • 기억장치 주소 레지스터 (MAR)
        • 기억장치 주소를 임시 저장하는 레지스터

      • 스택 포인터(SP)
        • 스택 주소지정방식에서 사용
        • 스택 영역의 번지를 지정해 주는 포인터
        • 스택 영역은 실제로 데이터가 피신되는 기억장소로써 기억장치에 위치
        • 프로그램 카운터와 같은 크기의 비트 수를 가짐

      • 제어 주소 레지스터 (CAR)
        • 제어기억장치에 있는 마이크로명령어의 주소를 나타냄

      • 인텍스 레지스터 (XR)
        • 인덱스된 주소지정방식에서 사용
        • 명령어의 주소 영역에 대한 상대적인 변윗값을 저장하는데 사용

      • 베이스 레지스터 (BR)
        • 베이스 레지스터 주소지정방식에서 사용
        • 명령어의 주소 부분에 저장된 변윗값에 더해질 기준주소를 저장하는데 사용

    2. 명령을 기억하는 레지스터 (IR)
      • 명령어 레지스터 (IR)
        • 프로그램의 수행 중 가장 최근에 기억장치로부터 인출되어진 명령어를 갖고 있다
        • 명령어 레지스터의 비트 수는 명령어의 연산코드의 비트 수와 같다
        • 명령어 레지스터에 있는 명령어는 명령어 해독기(디코더)에 의해 해독된 후 그 명령어에 해당되는 제어신호가 각 구성요소에 전달된다

    3. 데이터를 기억하는 레지스터 (DR)
      • 기억장치 버퍼 레지스터 (MBR)
        • 기억장치로 쓰여질 데이터나 혹은 기억장치로부터 읽혀질 데이터를 임시로 저장하는 레지스터

      • 누산기 (AC)
        • 데이터를 일시적으로 저장하는 레지스터
        • 입력장치로부터 데이터를 받아들이거나, 출력장치로 데이터를 전송하는데 사용
        • 산술 및 논리연산이 이루어질 경우에는 오퍼랜드나 연산 결과를 일시적으로 기억하는 레지스터
        • CPU가 연산을 수행 한 후 그 결과는 반드시 누산기에 저장

Updated: