처리장치의 개요

  • 중앙처리장치(CPU: Central Processing Unit)
    • 좀 더 세부적으로면 제어장치(연산의 실행 순서를 결정)와 처리장치(데이터 연산을 실행. 레지스터세트 및 산술논리연산장치) 두개의 기능으로 분리됨
    • 이 페이지에서 서술하는 ‘처리장치’는 중앙처리장치 안의 처리장치를 뜻 함

처리장치와 제어장치의 관계

화면 캡처 2023-09-05 202721

처리장치의 구성

  • 산술논리연산장치(ALU)와 레지스터들로 구성
    • 산술논리연산장치 : 산술, 논리, 비트연산 등의 연산을 수행
    • 레지스터 : 연산에 사용되는 데이터나 연산의 결과를 저장

  • 산술논리연산장치(ALU)는 독립적으로 데이터를 처리하지 못하며, 반드시 레지스터들과 조합하여 데이터를 처리

마이크로 연산

  • 레지스터에 저장되어 있는 데이터에 대해 이루어지는 기본적인 연산
    • 한 레지스터의 내용을 다른 레지스터로 옮기는 것
    • 두 레지스터의 내용을 합하는 것
    • 레지스터의 내용을 1만큼 증가시키는 것 등

  • 처리장치의 동작원리를 이해하기 위해서는 마이크로 연산을 이해해야 함

마이크로 연산의 종류

  1. 레지스터 전송 마이크로 연산
    • 레지스터의 표현

      화면 캡처 2023-09-06 014006

    • 한 레지스터에서 다른 레지스터로 2진 데이터를 전송하는 연산
    • 레지스터 사이의 데이터 전송은 연산자 ‘←’로 표시
    • ex) R2←R1 : 레지스터 R1의 내용을 레지스터 R2로 전송
      • R1 : 출발 레지스터
      • R2 : 도착 레지스터

    • 레지스터 전송문 : if(T₁=1) then (R2←R1) => T₁ : R2←R1

    • 레지스터 전송문장에서 사용되는 기본적인 기호

기호 의미 사용 예
영문자(숫자와 함께) 레지스터를 표시 AR, R2, DR, IR
괄호 레지스터의 일부분 R2(1), R2(7:0), AR(1)
화살표 자료의 이동 표시 R1←R2
쉼표 동시에 실행되는 두 개 이상의 마이크로 연산을 구분 R1←R2, R2←R1
대괄호 메모리에서의 주소 DR ← M[AR]
  1. 산술 마이크로 연산
    • 레지스터 내의 데이터에 대해서 실행되는 산술연산
    • 기본적인 산술연산으로는 덧셈, 뺄셈, 1 증가, 1 감소, 그리고 보수연산이 있음

기호 표시 의미
R0 ← R1+R2 R1과 R2의 합을 R0에 저장
R2 ← R2의 보수 R2의 보수(1의 보수)를 R2에 저장
R2 ← R2의 보수 + 1 R2에 2의 보수를 계산 후 저장
R0 ← R1 + R2의 보수 + 1 R1에 R2의 2의 보수를 더한 후 R0에 저장
R1 ← R1 + 1 R1에 1 더함
R1 ← R1 - 1 R2에 1 뺌
  1. 논리 마이크로 연산
    • 레지스터 내의 데이터에 대한 비트를 조작하는 연산

  2. 시프트 마이크로 연산
    • 레지스터 내의 데이터를 시프트 시키는 연산
    • 데이터의 측면이동에 사용
    • 시프트를 하더라도 출발 레지스터의 값은 변하지 않는다
    • sr이나 sl에 대해서 입력 비트는 0으로 가정한다
    • 출력비트의 값은 버려진다

Updated: