1 / 36

처리 장치

처리 장치. 처리장치의 구성과 동작 원리 마이크로 연산 처리장치 구성요소들의 역할 산술논리연산장치의 구조와 연산종류 쉬프트장치의 구조와 연산종류 제어단어의 개념. 처리장치의 개요. 컴퓨터 시스템에서 인간의 신경망에 해당하는 부분 중앙처리장치 = 처리장치 + 제어장치 처리장치 : 데이터 처리 연산을 실행 제어장치 : 연산의 실행 순서를 결정 제어신호 : 다양한 데이터 처리 연산을 구동하는 2 진신호 상태신호 : 처리장치의 여러 상태를 나타내며 실행할 연산의 순서를 제어장치가 정할 때 이용

Download Presentation

처리 장치

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 처리 장치 처리장치의 구성과 동작 원리 마이크로 연산 처리장치 구성요소들의 역할 산술논리연산장치의 구조와 연산종류 쉬프트장치의 구조와 연산종류 제어단어의 개념

  2. 처리장치의 개요 • 컴퓨터 시스템에서 인간의 신경망에 해당하는 부분 • 중앙처리장치 = 처리장치 + 제어장치 • 처리장치: 데이터 처리 연산을 실행 • 제어장치: 연산의 실행 순서를 결정 • 제어신호 : 다양한 데이터 처리 연산을 구동하는 2진신호 • 상태신호 : 처리장치의 여러 상태를 나타내며 실행할 연산의 순서를 제어장치가 정할 때 이용 • 처리장치 • 산술/논리 연산장치와 레지스터로 구성 • ALU는 독립적으로 데이터를 처리하지 못하며 반드시 레지스터와 조합해 데이터를 처리 • 마이크로 연산 • 레지스터에 저장되어 있는 데이터에 대해 실행하는 기본 연산

  3. CPU에서의 처리장치 중앙 처리 장치 처리 장치 레 지 스 터 세 트 산 술 / 논 리 장 치 데이터출력 제어장치 제어신호 제어입력 상태신호 제어출력 데이터입력

  4. 마이크로 연산의 정의 • 마이크로 연산의 정의 • 레지스터나 기억장치에 있는 데이터에 가해지는 기본적인 연산 • 마이크로 연산의 종류 • 레지스터 전송 마이크로연산(register transfer micro-operation) • 한 레지스터에서 다른 레지스터로 2진 데이터를 전송하는 연산 • 산술 마이크로 연산(arithmetic micro-operation) • 레지스터 내의 데이터에 대해서 실행되는 산술연산 • 논리 마이크로 연산(logic micro-operation) • 레지스터 내의 데이터에 대한 비트를 조작하는 연산 • 쉬프트 마이크로 연산(shift micro-operation): • 레지스터 내의 데이터를 쉬프트시키는 연산

  5. 기본 기호 및 개념 • 레지스터 이름 • 자신의 기능을 나타내는 대문자로 표시 • AR (Address Register), PC, R1, … • 플립플롭(Flip-Flop) • 0부터 n-1번까지 번호를 부여 • 0 : 최하위 비트(가장 오른쪽)의 위치 • 레지스터의 블록도 R 7 6 5 4 3 2 1 0 레지스터 R 8bit 레지스터의 개별 비트 15 0 15 8 7 0 R PC(H) PC(L) 16bit 레지스터의 순서 16bit 레지스터의 분할

  6. 레지스터 R1에서 R2로의 전송 • 레지스터 전송 • R2  R1 • 연산자 로 표시 • R1을 출발 레지스터, R2를 도착 레지스터 • R1의 내용은 불변이고 R2만 R1의 값을 가짐 • 레지스터 전송 표기 • 클럭 펄스가 발생할 때마다 실행되지 않고 특정 제어 신호가 가해질 때만 실행 • If (T1 = 1) then (R2  R1) --- 조건문 표현 • T1은 제어장치에서 발생시키는 제어신호 • T1 : R2  R1 --- 부울식 • 콜론(:)은 T1=1일 때만 해당 하드웨어에서 전송이 실행

  7. 여기서 전송이 일어난다 t+1 t 클럭 K 1 ( a) 블록도 ( b) 타이밍도 레지스터 R1에서 R2로의 전송 블록도 제어 입력신호 클럭의 천이 • R1의 n개(비트 수)의 출력은 R2의 입력으로 연결 • R2는 T1에 의해서 구동되는 제어입력신호를 가짐 • 클럭과 동기화된 신호로 가정 • 타이밍도 설명 • 시점 t+1에서 T1 =1이 되고 R2의 입력은 병렬로 레지스터에 적재 • T1이 t+1 클럭의 상승 천이 시점에서 0으로 리셋 • R1에서 R2로 단 한번 값의 전송이 발생 T 1 load load R1 R1 R2 R2 클럭

  8. 클럭 • 클럭 • 디지털 시스템의 논리를 순차적으로 변화시키는것 • 주기적이고 안정한 구형파이어야 함 • 클럭 사이클 시간 • 클럭 파형의 한 주기 • 모든 논리소자들은 한 클럭 사이클보다 적은 시간 내에 상태전이를 마쳐야 함

  9. 동기 동작 • 상태의 변화 • 클럭의 전이가 low에서 high로 또는 high에서 low로 될 때 발생 • + 전이(PT, Positive Transition) : low  high • - 전이(NT, Negative Transition) : high  low • 비동기 동작 • 클럭과 관계없이 푸시 버튼을 누르면 즉시 동작

  10. 레지스터 전송 마이크로 연산 • 레지스터 전송문장에서 사용하는 기본 기호 • M : 기억장치 단어를 표시 • [ ] : 기억장치에 있는 단어의 주소를 표시

  11. 산술 마이크로 연산 • 기본적인 산술 연산 • 1 증가 : R1 <- R1 + 1 (상승 카운트) • 1 감소 • 보수 : 1의 보수와 2의 보수 • 덧셈 • 기타 연산 • 뺄셈 연산 • 보수 연산과 가산으로 구성 • R2 <- R0 + R1 + 1 • R1 : R1의 1의 보수 • R2 <- R0 – R1 • 곱셈 : *로 표시 • 5 * 3  5 + 5 + 5 • 나눗셈 : /로 표시 R1의 2의 보수 = R1+1

  12. 산술 마이크로 연산의 표시

  13. 논리 마이크로 연산 • 레지스터에 저장되어 있는 비트의 데이터를 조작하는데 유용 • 비트 값을 바꾸거나 소거 • 새로운 비트 값을 레지스터에 저장 • AND 마이크로 연산 ( ) • 하나 이상의 비트를 0으로 만드는데 사용 • X0 = 0, X1=X를 이용 • 한 비트나 여러 개의 비트는 0으로 AND하면 클리어 됨 • 1100101001010011 R0 (데이터) • 1111000000001111 R1 (마스크) • 1100000000000011 R0 <- R0 AND R1

  14. 논리 마이크로 연산 • OR 마이크로 연산(V) • 하나 이상의 비트를 1로 설정하는데 사용 • X + 1=1과 X + 0=X 이용 • 2진 값 X가 0과 OR를 취했을 때 값이 변하지 않음 • 1100101001010011 R0 (데이터) • 1111000000001111 R1 (마스크) • 1111101001011111 R0 <- RO OR R1 • XOR 마이크로 연산(+ ) • 하나 이상의 비트를 반전시키는데 사용. • 0과 XOR를 취했을 때 값이 변하지 않음 • 1100101001010011 R0 (데이터) • 1111000000001111 R1 (마스크) • 0011101001011100 R0 <- RO XOR R1

  15. 쉬프트 마이크로연산 • 데이터의 측면이동에 사용 • 데이터를 순차적으로 이동하는데 사용 • 산술, 논리 연산이나 제어 과정에서 레지스터의 내용을 변경하는데 사용 • 표준 기호 • shl, shr로 표시 • 연산 결과 • 출발 레지스터에 있는 내용을 왼쪽/오른쪽으로 쉬프트 • 출발 레지스터의 내용은 변하지 않음 • R0 <- sr R1, R0 <- sl R1 • 입력 비트는 0으로 가정하고 출력 비트는 버림

  16. 쉬프트 마이크로연산 입력 비트는 0으로 가정하고 출력 비트는 버림

  17. 처리 장치의 구성 요소 • 처리 장치의 내부 구성 (pp. 65) • 여러 개의 레지스터, ALU, 내부 버스로 구성 • ALU(Arithmetic Logic Unit) • 여러 개의 레지스터를 공용으로 사용하는 구조의 산술/논리장치 • 내부 버스 • 레지스터들간의 데이터 전송을 위한 공용선로의 집합 • ALU와 레지스터를 연결 • 하나의 마이크로 연산 실행 방법 • 지정된 출발 레지스터의 내용이 ALU의 입력으로 전달 • ALU에서 그 연산을 실행한 후 • 그 결과가 도착 레지스터로 전송

  18. 처리장치의 구성 요소 설명(1) • 멀티플렉서 (2개 사용) • 선택 신호를 이용하여 특정 Reg를 선택 • 선택된 연산은 ALU에 의해 산술/논리연산 실행 • 쉬프터(쉬프트 레지스터) • ALU에서 실행된 마이크로 연산의 결과를 선택 신호에 의해 디코더에 전달 • 디코더 • 선택 신호에 따라 도착 Reg를 결정 • 도착 Reg • 수행된 마이크로 연산의 결과가 저장

  19. 처리장치의 구성 요소 설명(2) • 상태 비트 • ALU에서의 연산 결과에 대한 정보가 저장된 것 • CPU의 제어장치가 다음 동작을 결정하는데 사용 • 캐리(C), 오버플로(V), 부호(S), 제로(Z) • 상태 레지스터(status/flag Reg.) • 상태 비트가 저장되는 특수 레지스터 • 선택 신호 • 처리장치에서 수행되는 각종 마이크로 연산을 제어하는 신호로 제어장치에서 발생 • 멀티플렉서, ALU 쉬프터, 디코더 등에 있음 • 제어단어 • 선택 신호의 묶음

  20. 입력버스 레지스터 세트 ALU 출력버스 내부버스 • 내부버스 • CPU 내부에서 정보를 전달할 수 있는 신호의 경로를 의미하며 레지스터간의 연결 통로가 됨 • 내부버스를 구성하는 방법 (pp.68) • 멀티플렉서와 디코더를 이용 • 멀티플렉서는 출발 레지스터 선택 • 디코더는 도착 레지스터를 선택 • 외부버스 • 시스템 버스로서 컴퓨터 시스템의 각 구성 요소간의 통신이 가능하도록 하는 기능

  21. 산술/논리 연산장치(ALU) • 본적인 산술연산과 논리연산을 실행하는 조합논리회로(pp.69) • 선택 입력선 • K개의 선택 입력으로 2k에 해당하는 연산 표시 • 데이터 입력선 • A와 B에서 n개의 데이터가 입력 • 데이터 출력 • G의 출력으로 n개의 데이터가 출력 • 방식 선택입력 • S2 : 산술 연산과 논리 연산을 구분하는데 이용 • 연산 선택입력 • S0, S1 : 실행할 산술연산 혹은 논리 연산을 지정 • 입출력 캐리 • 산술 연산을 수행할 때만 의미를 가짐

  22. A0 A1 데이터 입력 A … G0 An-1 G1 데이터 출력 G B0 … n비트 산술/논리연산장치 (ALU) B1 Gn-1 데이터 입력 B … Bn-1 캐리 입력 Cin Cout 출력 캐리 S0 연산 선택 S1 방식 선택 S2 N비트 ALU 블럭도

  23. 산술연산회로 • 가장 기본적인 요소는 여러 개의 병렬 가산기 • 여러 개의 전가산기를 연속적으로 연결하여 만듬 • 병렬 가산기로 들어가는 제어 입력값을 선택하여 여러 형태의 산술 연산을 실행 • 2개의 입력(A,B)과 출력(G)가 n비트로 구성 • G = X + Y + Cin • X : 입력으로부터 오는 n비트의 값 • Y : 입력논리회로 B로부터 오는 n 비트의 값 • Cin : 입력 캐리로 0Eh는 1을 가짐 • + : 산술가산 • Cout 출력 : 전가산기의 최상위 비트에서 구해짐

  24. Cin n X A n비트 병렬가산기 n B 입력변환 논리회로 B n n Y G=X+Y+Cin S0 S1 Cout 산술연산회로의 블럭도 입력 캐리 • G = A + B + Cin • A : 입력으로부터 오는 n비트의 값 • B : 입력논리회로 B로부터 오는 n 비트의 값 • Cin : 입력 캐리로 0 또는 1을 가짐 • + : 산술가산 • Cout 출력 : 전가산기의 최상위 비트에서 구해짐 • S0, S1 : 선택 신호 입력 출력 선택신호 출력 캐리

  25. 산술연산에 대한 연산표 • 병렬 가산기의 출력값 • G = X + Y + Cin • B의 입력 값이 무시되고 Y=0을 입력 • 출력값 G = X + 0 + Cin • Cin = 0  G=A : 입력 A에서 출력 G로 직접 전송 • Cin = 1  G=A+1 : 입력 A의 값이 1만큼 증가 • 산술 가산 • 입력 B는 병렬 가산기의 Y로 입력 • Cin=0  G=A+B • 산술감산 • 입력 B의 보수를 병렬 가산기의 Y로 입력 • Cin=1  G=A+B+1 • 2의 보수(B+1)를 더하는 것으로 감산의 결과를 얻음

  26. 산술연산에 대한 연산표의 정리 • 2개의 선택입력 S0과 S1을 조절하여 Y값을 제어함에 따라 얻어질 수 있는 여러 산술 연산

  27. Cin S1 C0 S0 A0 X0 B0 FA G0 Y0 C1 A1 X1 B1 FA G1 Y1 … C3 A3 X1 B3 FA G3 Y1 C4 Gout 4비트 산술연산회로 • 4개의 전가산기(병렬가산기) • 선택변수 : S0, S1, Cin로 구성

  28. S S 0 0 S S 1 1 4 - to - 1 MUX A i 0 B S S 출 력 연 산 i 0 1 G i G = A ∧ B AND 0 0 1 G = A ∨ B OR 0 1 2 Å G = A B XOR 1 0 3 G = A NOT 1 1 (a) 논리도 (b) 함수표 논리연산회로 • 레지스터에 있는 각 비트를 독립된 2진 변수로 간주하여 비트별 연산을 실행 • AND, OR, XOR, NOT 등이 있음 • 4개의 게이트와 4X1 멀티플렉서로 구성

  29. 산술/논리연산장치 • ALU는 산술연산회로와 논리연산회로를 결합 • S2=1(논리연산) Vs S2=0(산술연산) 출력이 선택 • ALU의 한 단계 구성(pp.74)

  30. 쉬프터 • 쉬프트 연산 • ALU에는 비트 단위로 이동시키는 쉬프트 기능이 없음  ALU 출력단에 쉬프터를 연결하여 수행 • 좌측 쉬프트, 우측 쉬프트 • 조합회로 쉬프터 • 4개의 멀티플렉서를 이용하여 구성 • 선택신호 H0, H1은 연산 종류를 선택하기 위하여 4개의 멀티플렉서에 연결

  31. 직접출력 G3 G3 G3 G3 직접출력 IL IR 0 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 H1 H0 MUX MUX MUX MUX S3 S2 S1 S0 4비트 쉬프터

  32. 제어단어 • 선택신호 • 처리장치 내에서 수행되는 마이크로 연산을 선택하는 변수 • 처리장치의 버스, ALU, 쉬프터, 도착 레지스터 등을 제어 • 제어변수로 표현 • 마이크로 연산을 제어하기 때문에 • 제어단어 • 처리장치에 있는 16개의 2진 제어변수(16비트)들의 집합 • A : ALU로 입력되는 A 버스 선택(3비트) - 출발레지스터 • B : ALU로 입력되는 B 버스 선택(3비트) - 출발레지스터 • F : ALU 마이크로 연산 선택(4비트) – 12가지 연산 중 선택 • H : 쉬프터 마이크로 연산 선택(3비트) –쉬프트 유형 선택 • D : 도착 레지스터 선택(3비트)

  33. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 A B D F H 입력 데이터 레지스터 세트 (R1~R7) 클럭 4 1 B 버스 선택 A 버스 선택 B 5 2 A 7 도착 레지스터 선택 6 3 D 8 9 10 ALU 11 S Z V C 클럭 F 12 13 14 쉬프터 15 H 16 출력 데이터 처리장치의 블록도

  34. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 A B D F H 제어단어를 표기한 처리장치의 구조 및 내역 제 어 단 어

  35. 감산 마이크로 연산의 예 • R1  R2 – R3 (pp.80) • A : ALU의 A 버스 입력으로 R2의 내용을 내보냄 • B : ALU의 B 버스 입력으로 R3의 내용을 내보냄 • D : 연산 결과를 도착 레지스터 R1으로 보냄 • F : ALU에서 감산 연산(G=A-B)을 수행 • H : 쉬프트 없음 • 기타 다른 예 (pp. 81 참조)

  36. 제어단어를 생성시키는 방법 • 제어단어를 이용하면 마이크로 연산의 수행이 가능 • 제어 단어를 생성시키는 효과적인 방법 • 제어단어를 기억장치에 저장 • 기억장치의 출력을 처리장치의 각 구성요소의 선택신호로 연결 기억장치로부터 연속적인 제어단어를 읽음으로써 처리장치에서의 마이크로 연산이 정해진 순서대로, 연속적으로 수행됨 • 마이크로 프로그램에 의한 제어 • 처리장치의 제어를 위해 제어장치가 따로 구성된 형태의 제어구조

More Related