제4강 처리장치 1
처리장치의 개요 처리장치(datapath) : 데이터를 처리하는 연산을 실행 제어장치(control unit) : 연산의 실행순서를 결정 중앙처리장치(CPU: Central Processing Unit) - 처리장치와 제어장치가 결합된 형태 처리장치 제어신호 레지 스터 세트 A L U 제어장치
처리장치의 동작 처리장치와 제어장치의 관계 제어신호 제어장치 처리장치 제어입력 데이터출력 상태신호 제어출력 데이터입력
처리장치의 구성 레지스터들로 구성. 못하며, 반드시 레지스터들과 조합하여 데이터를 처리. 산술논리연산장치(ALU: Arithmetic and Logic Unit)와 레지스터들로 구성. - 산술논리연산장치: 산술, 논리, 비트연산 등의 연산을 수행 레지스터: 연산에 사용되는 데이터나 연산의 결과를 저장 산술논리연산장치는 독립적으로 데이터를 처리하지 못하며, 반드시 레지스터들과 조합하여 데이터를 처리.
마이크로연산의 개요 레지스터에 저장되어 있는 데이터에 대해 이루어지는 기본적인 연산 - 한 레지스터의 내용을 다른 레지스터로 옮기는 것 - 두 레지스터의 내용을 합하는 것 - 레지스터의 내용을 1만큼 증가시키는 것 등 처리장치의 동작원리를 이해하기 위해서는 마이크로연산을 이해해야 한다.
마이크로연산의 종류 레지스터 전송 마이크로연산 ( register transfer micro-operation ) 산술 마이크로연산 ( arithmetic micro-operation ) 논리 마이크로연산 ( logic micro-operation ) 쉬프트 마이크로연산 ( shift micro-operation )
레지스터 전송 마이크로연산 한 레지스터에서 다른 레지스터로 2진 데이터를 전송하는 연산 레지스터 사이의 데이터 전송은 연산자 ‘←’로 표시 예) R2 ← R1 <의미> 레지스터 R1의 내용이 레지스터 R2로 전송 - 여기서 R1 : 출발 레지스터(source register) R2 : 도착 레지스터(destination register)
레지스터 전송 마이크로연산 하드웨어적인 측면에서의 레지스터 전송 레지스터 R1에서 R2로의 전송 T1 클럭 R1 R2 T1 여기서 전송이 일어난다 T1 t t+1 로드 클럭 n R1 R2 T1 클럭 (b) 타이밍도 (a) 블록도 <T1 =1인 상태에서 R1 에서 R2 로의 데이터 전송>
레지스터 전송 마이크로연산 레지스터 전송문 - 앞의 그림을 조건문(conditional statement)으로 표현하면 If(T1=1) then (R2 ← R1) - 레지스터 전송문으로 표현하면 T1 : R2 ← R1
레지스터 전송 마이크로연산 기 호 의 미 사 용 예 영문자(숫자와 함께) 레지스터를 표시 레지스터의 일부분 자료의 이동 표시 기 호 의 미 사 용 예 영문자(숫자와 함께) 괄호 화살표 쉼표 레지스터를 표시 레지스터의 일부분 자료의 이동 표시 동시에 실행되는 두개 이상 의 마이크로연산을 구분 메모리에서의 어드레스 AR, R2, DR, IR R2(1), R2(7:0), AR(L) R1 ← R2 R1 ← R2, R2 ← R1 DR ← M[AR]
산술 마이크로연산 레지스터 내의 데이터에 대해서 실행되는 산술연산 기본적인 산술연산으로는 덧셈, 뺄셈, 1 증가, 1 감소 그리고 보수연산이 있다 기호 표시 의 미 R0 ← R1+ R2 R2 ← R2 ← +1 R0 ← R1+ +1 R1 ← R1+1 R1 ← R1-1 R1과 R2의 합을 R0에 저장 R2의 보수(1의 보수)를 R2에 저장 R2에 2의 보수를 계산 후 저장 R1에 R2의 2의 보수를 더한 후 R0에 저장 R1에 1 더함 (상승 카운트) R1에 1 뺌 (하강 카운트) — R2 — R2 — R2
논리 마이크로연산 기 호 의 미 레지스터 내의 데이터에 대한 비트를 조작하는 연산. 기본적인 논리연산으로는 AND, OR, XOR, NOT 연산이 있다. 레지스터에 저장되어 있는 비트의 데이터를 조작하는데 유용하다. 기 호 의 미 — R1 R0 ← R0 ← R1∧ R2 R0 ← R1∨ R2 R0 ← R1⊕ R2 비트별 논리적 NOT(1의 보수) 비트별 논리적 AND(비트 클리어) 비트별 논리적 OR(비트 세트) 비트별 논리적 XOR(비트별 보수)
쉬프트 마이크로연산 레지스터 내의 데이터를 쉬프트시키는 연산 데이터의 측면이동에 사용 유형 기호표시 왼쪽 쉬프트 오른쪽 쉬프트 8비트 데이터의 경우 유형 기호표시 출발지 R2 쉬프트 후: 목적지 R1 왼쪽 쉬프트 오른쪽 쉬프트 R1 ← sl R2 R1 ← sr R2 10011110 11100101 00111100 01110010 - 쉬프트 연산을 수행하더라도 R2 의 값은 변하지 않는다. - sr 이나 sl 에 대해서 입력 비트는 0으로 가정한다. - 출력비트의 값은 버려진다.
수고하셨습니다. <다음 강의> 제5강 처리장치2