제5강 처리 장치 2
강의내용 처리장치의 구성과 동작원리 내부버스 산술논리연산장치 상태 레지스터 쉬프터
처리장치의 구성요소 여러 개의 레지스터(레지스터 세트) 산술논리연산장치(ALU) 내부 버스(internal bus)
처리장치의 내부구성 n / R0 n / n / R1 n / n / R2 n / n / R3 MUX B MUX A n / 클럭 적재 R0 n / 적재 n / R1 n / 적재 n / R2 입력데이타 n / 적재 n / R3 n / 1 2 3 n / B선택 MUX B MUX A A선택 디코더 B버스 A버스 산술논리연산장치(ALU) S Z V C 도착선택(D) 연산선택(F) 상태 비트 쉬프터 쉬프트선택(H) n / 출력데이타
처리장치의 동작원리 마이크로연산의 수행과정을 통해 처리장치의 동작을 이해 마이크로연산의 수행과정 지정된 출발 레지스터의 내용이 ALU의 입력으로 전달 2) ALU에서 그 연산을 실행 3) 그 결과가 도착 레지스터에 전송
처리장치의 동작원리 처리장치의 동작은 구성요소들의 선택신호에 의해 제어됨 마이크로연산의 예 : R0 ← R1+ R2 마이크로연산의 예 : R0 ← R1+ R2 ① 선택신호 A는 R1의 내용을 버스 A로 적재하기 위한 것이다 ② 선택신호 B는 R2의 내용을 버스 B로 적재하기 위한 것이다 ③ 선택신호 F는 ALU에서 산술연산 A+B를 수행하기 위한 것이다 ④ 선택신호 H는 쉬프터에서 쉬프트 연산을 수행하기 위한 것이다 ⑤ 선택신호 D는 연산결과를 R0로 적재하기 위한 것이다
내부버스 레지스터들 간의 데이터 전송을 위한 공통선로의 집합. 내부버스의 개념도 레지스터세트 A L U 입력버스 출력버스
내부버스 내부버스를 구성하는 방법 멀티플렉서와 디코더를 이용 - 멀티플렉서는 출발 레지스터 선택 - 디코더는 도착 레지스터를 선택
내부버스(네 레지스터의 버스시스템) MUX 선택입력 클럭 디코더 공통버스 MUX R0 R1 MUX 1 . R2 MUX n-1 1 적재 MUX 1 2 3 1 R0 n-1 적재 1 R1 n-1 1 MUX 1 1 2 3 적재 . 1 R2 n-1 적재 1 1 R3 n-1 MUX n-1 1 2 3 1 2 3 선 n-1 디코더 공통버스 선1 선0 도착선택입력
내부버스 선택신호 적재 MUX 0 R0 MUX 1 적재 MUX 2 R1 MUX 3 0 1 디코더 선택신호
산술논리연산장치 산술연산과 논리연산을 실행하는 조합논리회로 산술연산회로와 논리연산회로의 결합 A0 A1 An-1 G0 B0 Bn-1 Cin S0 S1 S2 데이터 입력A G0 G1 Gn-1 Cout . 데이터 출력G . n비트 산술논리 연산장치 (ALU) 데이터 입력B . 출력캐리 캐리입력 연산선택 <n비트 ALU의 블록도> 방식선택
산술논리연산장치 산술연산회로 여러 개의 전가산기(FA)를 연속적으로 연결한 병렬가산기로 구성. 병렬가산기로 들어가는 제어입력 값을 선택하여 여러 가지 형태의 산술연산을 실행. 블록도 Cin n n-비트 병렬가산기 A B S0 S1 X Y G=X+Y+Cin n n B입력변환 논리회로 n Cout
산술논리연산장치 산술연산의 종류 선택신호 입력값 G = A + Y + Cin S1 S0 Y Cin = 0 Cin = 1 모두 0 G = A(전송) G = A + 1(증가) 1 B G = A + B(가산) G = A + B + 1 1 G = A + B B G = A + + 1(감산) B 1 1 모두 1 G = A -1(감소) G = A(전송)
산술논리연산장치 논리연산회로 A 레지스터에 있는 각 비트를 독립된 2진 변수로 간주하여 비트별 연산을 실행. AND, OR, XOR, NOT연산 등이 있으며, 이를 이용하여 복잡한 연산을 유도. 논리연산회로와 함수표 S0 S1 S0 S1 1 2 3 4-to-1 MUX S0 S1 0 0 0 1 1 0 1 1 출 력 G = AΛ B G = A∨ B G = A⊕ B G = 연 산 AND OR XOR NOT Ai Bi Gi A (a) 논리도 (b) 함수표
산술논리연산장치 산술논리 연산장치 산술연산장치와 논리연산장치를 결합 한 단계의 ALU 구성도 Cin+1 산술회로의 한 상태 Ai Bi 2-to-1 MUX Gi 1 논리회로의 한 상태 s S0 S1 S2
산술논리연산장치 연 산 기 능 B B A 8비트 데이터의 경우 S2 S1 S0 Cin 1 1 1 1 X G = A 1 1 1 1 X G = A G = A +1 G = A + B G = A+ B +1 G = A+ G = A+ +1 G = A – 1 G = A∧B G = A∨B G = A⊕ B G = A의 전송 A에 1`더하기 덧셈 캐리값 1과 더하기 A에 B의 1의 보수 더하기 뺄셈 A에서 1빼기 AND OR XOR A의 보수 B B A
상태 레지스터(flag register) ALU에서 산술연산이 수행된 후 연산결과에 의해 나타나는 상태 값을 저장. 상태 레지스터들은 C(carry bit), S(sign bit), Z(zero bit), V(overflow bit)로 구성. Flag Register A B S Z V C Cn+1 S2 S1 S0 Cin 산술논리연산장치 Cout
쉬프터(shifter) 입력데이터의 모든 비트들을 각각 서로 이웃한 비트로 자리를 옮기는 쉬프트연산을 수행 0 1 2 3 MUX 직렬출력 IR G3 G2 G1 G0 IL H1 H0 S3 S2 S1 S0
쉬프터(shifter) H1 H0 연 산 기 능 쉬프트 연산 1 1 S←shr G S←shl G S←0 쉬프트 없이 전송 기 능 1 1 S←G S←shr G S←shl G S←0 쉬프트 없이 전송 우측 쉬프트하여 전송 좌측 쉬프트하여 전송 모든 출력비트에 0을 전송