📚처리장치 개요

  • 처리장치: 데이터를 처리하는 연산 실행
  • 제어장치: 연산의 실행순서를 결정하는 역할
  • 중앙처리장치(CPU): 처리장치와 제어장치가 결합된 형태

CPU


  • 처리장치와 제어장치의 관계
    • 제어신호: 다양한 데이터 처리연산을 구동하는 2진 신호
    • 상태신호: 처리장치의 여러 가지 상태를 나타냄. 제어장치가 상태신호를 이용해 실행할 연산의 순서를 정함

ProcessingAndControl

📄처리장치의 구성

산술논리연산장치와 레지스터들로 구성

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

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



📚마이크로 연산

마이크로 연산은 레지스터나 기억장치에 저장되어 있는 데이터에 대해 이루어지는 기본적인 연산이다.

  • 한 레지스터의 내용을 다른 레지스터로 옮기는 것
  • 두 레지스터의 내요을 더하는 것
  • 레지스터의 내용을 1 증가시키는 것 등

처리장치의 동작원리를 이해하기 위해 마이크로 연산을 이해해야 한다!

  • 마이크로연산의 종류
    • 레지스터 전송 마이크로 연산
    • 산술 마이크로 연산
    • 논리 마이크로 연산
    • 시프트 마이크로 연산

📄레지스터 전송 마이크로 연산

  • 레지스터 표현

Register


  • 레지스터 전송 마이크로 연산

한 레지스터에서 다른 레지스터로 2진 데이터를 전송하는 연산. 레지스터 사이의 데이터 전송은 연산자 ‘<-‘ 로 표시

예시 R2 <- R1 레지스터 R1의 내용이 레지스터 R2로 전송

(R1은 출발 레지스터, R2는 도착 레지스터)


  • 하드웨어 측면에서의 레지스터 전송

RegisterTransfer

(a) 레지스터 R1의 n개 출력은 레지스터 R2의 입력으로 연결된다. n은 레지스터 전송경로에서 R1 부터 R2로의 비트수를 뜻한다. R2는 T1에 의해 구동되는 제어 입력신호를 갖는다. 이 신호는 레지스터에 가해지는 클록과 동기화된 신호로 가정된다.

(b) T1은 시점 t에서 클록 펄스의 상승 모서리와 동기화가 시작되고, 시점 t+1에서 T1 = 1이 된다. 이때 레지스터 R1과 병렬로 연결되어 있는 레지스터 R2로 적재된다. T1이 t+1 클록의 상승 천이 시점에서 0으로 돌아오며 R1에서 R2로 단 한 번 값의 전송이 발생한다.


  • 레지스터 전송문

앞의 그림을 조건문으로 표현 ▶ if(T1 = 1) then (R2 <- R1)

레지스터 전송문으로 표현 ▶ T1 : R2 <- R1


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

RegisterTransferSymbol


📄산술 마이크로 연산

레지스터 내의 데이터에 대해 실행되는 산술연산

기본적인 산술연산: 덧셈, 뺄셈, 1 증가, 1 감소, 보수 연산

ArithmeticOperator


📄논리 마이크로 연산

레지스터 내의 데이터에 대한 비트를 조작하는 연산

기본적인 논리연산: AND, OR, XOR, NOT

LogicalOperator


📄시프트 마이크로 연산

레지스터 내의 데이터를 시프트 시키는 연산

ShiftOperator

  • 시프트 연산을 수행하더라도 R2의 값은 변하지 않음
  • sr이나 sl에 대해 입력 비트는 0으로 가정
  • 출력비트 값은 버려짐



Leave a comment