1 / 52

5 장 CPU

5 장 CPU. 5.1 논리연산과 논리회로 5.2 CPU 의 구성과 동작 5.3 명령어의 처리방식 5.4 CPU 의 종류. 컴퓨터의 기본 구조. 저장장치. 입력장치. CPU ( 중앙처리장치 ). 출력장치. 주기억장치. 입력장치 CPU 주기억장치 저장장치 출력장치. CPU 의 기본 구조. CPU (Central Processing Unit) 중앙처리장치 데이터의 처리를 담당 대수의 사칙연산 및 논리연산 메모리는 데이터 및 명령을 저장 명령 및 데이터의 이동 ( 메모리 >> CPU)

mei
Download Presentation

5 장 CPU

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. 5장 CPU 5.1 논리연산과 논리회로 5.2 CPU의 구성과 동작 5.3 명령어의 처리방식 5.4 CPU의 종류

  2. 컴퓨터의 기본 구조 저장장치 입력장치 CPU (중앙처리장치) 출력장치 주기억장치 • 입력장치 • CPU • 주기억장치 • 저장장치 • 출력장치

  3. CPU의 기본 구조 • CPU (Central Processing Unit) • 중앙처리장치 • 데이터의 처리를 담당 • 대수의 사칙연산 및 논리연산 • 메모리는 데이터 및 명령을 저장 • 명령 및 데이터의 이동(메모리 >> CPU) • 프로그램 카운터, 명령 레지스터, 명령 디코더, 버스 • 명령의 수행(연산부) • 레지스터 뱅크, 멀티플렉서, ALU, 쉬프터 등 • 모든 CPU의 부분들은 논리회로로 구성 • 논리연산 : 논리회로 • 사칙연산 : 논리연산으로 구성 >> 논리회로 • 이외의 모든 CPU 구성부들은 논리회로로 구성됨

  4. CPU의 기본 구조 주 메모리 외부버스 명령 디코더 명령 레지스터 프로그램 카운터 메모리 인터페이스 내부버스 연 산 부 CPU 레지스터(뱅크) 디코더 MUX-A MUX-B 연산장치(ALU) 쉬프터(shifter)

  5. 5장 CPU 5.1 논리연산과 논리회로 - 논리회로 진리표, 논리식, 조합 논리회로 순서 논리회로 논리회로와 IC, 컴퓨터

  6. 논리회로 • ‘0’, ‘1’의 전기적 표현 • 논리회로 : 논리연산을 수행하는 전기 장치 • 참(1), 거짓(0)이 전기적으로 표현되어야 함 전압(V) 0 없다 거짓 0 시간 전압(V) 1, 3.3, 5 1 있다 참 0 시간 논리연산과 논리회로

  7. 논리회로 • 논리회로 • 전기적 입력(0,1)에 대하여 논리연산의 결과를 전기(0,1)적으로 출력 • 논리합 회로 : OR 회로(OR gate) • 논리곱 회로 : AND 회로(AND gate) • 논리부정 회로 : NOT 회로(NOT gate) • 논리식과 논리회로 • 논리식은 피연산자와 논리연산으로 구성됨 • 논리회로는 피연산자(0, 1 또는 전압의 있고 없음)를 입력으로 갖는 논리회로들의 조합으로 구성됨 • 논리식과 논리회로는 1:1의 대응 가능 논리연산과 논리회로

  8. 논리회로 OR AND NOT 논리연산과 논리회로

  9. 진리표, 논리식, 조합 논리회로 장치의 기능 진리표 논리식 논리회로 • CPU의 구성부 • 레지스터, 쉬프터, 멀티플렉서, 연산장치 등 • 진리표로 기능이 정의 되고, 논리회로로 구현된다. • 설계과정 • BCD 디코더(decoder)를 이용하여 설계과정을 살펴본다. 논리연산과 논리회로

  10. 진리표, 논리식, 조합 논리회로 1 : on a f b g e c d 0 : off • 기능의 분석 • LED 숫자판 : 0 ~ 9까지의 숫자 표시 논리연산과 논리회로

  11. 진리표, 논리식, 조합 논리회로 a a BCD 디코더 X b c f b Y g d e Z f e c g W d • 기능의 분석 • BCD 코드 : 0~9까지의 숫자를 4 비트로 표시 • (1010)b부터는 사용하지 않는다. • 4 비트 입력에 따라 7개의 LED를 on/off • 입력이 4, 출력이 7인 진리표로 구성가능 논리연산과 논리회로

  12. 진리표, 논리식, 조합 논리회로 • 진리표 작성 논리연산과 논리회로

  13. 진리표, 논리식, 조합 논리회로 • 논리식의 생성 • 하나의 진리표에 에 다수개의 논리식 존재 • 카르노프맵(karnaugh map) • 이중 가장 간단한 논리식을 찾는 방법 • 논리식의 축약이 가능 • a = XZ + XYW + YZW + XYZ • b = XY + XZW + XZW + XYZ • c = XY + XW + YZW + XYZ • d = XZW + XYZ + YZW + XYZ + XYZW • e = XZW + YZW • f = XYZ + XZW + XYW + XYZ • g = XZW + XYZ + XYZ + XYZ 논리연산과 논리회로

  14. 진리표, 논리식, 조합 논리회로 • 논리회로의 생성 • 논리식은 논리회로로 1:1 대응됨 • 이때 연산의 우선순위가 사용됨 : 논리부정, 논리곱, 논리합 • e번 LED에 대한 논리회로 : e = XZW + YZW • 나머지 LED에 대한 논리회로도 같은 방법으로 • 논리식에 해당하는 조합논리회로 생성 논리연산과 논리회로

  15. 순서 논리회로 • D 플립플롭 • 1 비트 정보를 저장할 수 있다. • 클록에 의해 기억되는 순간이 결정 기억 A B C D 플립플롭 Q C : 클럭 D Q D Q C : 클럭 Q 논리연산과 논리회로

  16. 순서 논리회로 • 조합논리회로 : 저장 능력이 없음(memoryless) • 현재의 입력이 현재의 출력 결정 • 순서논리회로 : 저장 능력이 있음 • 현재의 입력 및 과거의 입력이 현재의 출력을 결정 • 플립플롭과 조합논리회로로 구성 입력 출력 조합 논리회로 (combinational circuit) 플립플롭 클록 : clock 논리연산과 논리회로

  17. 논리회로, IC, 컴퓨터 • 컴퓨터 > IC > 논리회로 > 저항, 캐패시터, 트랜지스터 커패시터 트랜지스터 저항 논리연산과 논리회로

  18. 5장 CPU 5.2 CPU의 구성과 동작 - CPU의 구성 CPU의 동작 CPU의 동작과 프로그램

  19. CPU의 개념적 구성 및 동작 • 명령 레지스터에 현재 실행할 명령을 복사 • 프로그램 카운터는 현재 실행될 명령의 어드레스를 지시 • 메모리의 해당 어드레스로부터 명령을 명령 레지스터로 이동 • 명령의 해석 • 명령을 해석하여 데이터를 메모리로부터 레지스터 이동 • 연산을 수행하기 위해 필요한 제어신호 생성 • 명령의 수행 및 저장 • 2)에서 얻어진 데이터 및 제어신호를 이용하여 명령을 수행 • 수행된 결과를 레지스터뱅크 또는 주 메모리에 기억시킨다 CPU의 구성과 동작

  20. CPU의 구성 주 메모리 외부버스 2 1 1 명령 디코더 명령 레지스터 프로그램 카운터 메모리 인터페이스 내부버스 연 산 부 2 CPU 레지스터(뱅크) 디코더 MUX-A MUX-B 연산장치(ALU) 3 쉬프터(shifter) CPU의 구성과 동작

  21. 레지스터 및 레지스터 뱅크 R0 R1 R2 R3 load n n n n 8 비트 레지스터 load 0 입력 출력 레지스터 뱅크 4  N 비트 레지스터 load 1 C : 클럭 8 8 load 2 load 3 C : 클럭 N 비트 입력 • CPU에서 처리될 데이터는 임시로 CPU내에 저장 • N 비트 레지스터는 N 개의 플립플롭으로 구성 • N 비트 저장 가능 • load로 입력 조절 CPU의 구성과 동작

  22. 연산의 분석 • R0 = R1 + R2 • 레지스터 뱅크에 있는 레지스터들 중 R1과 R2를 선택 • 멀티플렉서 • 선택된 레지스터에 보관된 값의 덧셈을 수행 • 연산장치 • 그 결과를 레지스터 뱅크의 레지스터들 중 R0에 저장 • 디코더 CPU의 구성과 동작

  23. M 비트 멀티플렉서 R0 R1 R2 R3 M  (N 비트) N N N N 멀티플렉서 MUX-A 레지스터 뱅크 M  N 비트 레지스터 멀티플렉서 MUX-B M 멀티플렉서 (N 비트) S0 C : 클럭 Load A B S1 N 비트 N 비트 N MP N 비트 출력 입력 출력 • M 비트 입력 중 1 비트만 선택하여 출력 • 선택을 위해 log2M 비트의 선택 비트(A, B) 필요 CPU의 구성과 동작

  24. 연산장치 • ALU : arithmetic logic unit • 대수 및 논리연산을 수행하는 장치 • 덧셈기, 곱셈기, 나눗셈기, 논리합, 곱, 부정 등으로 구성 • 모든 연산은 논리식으로 치환되고 • 논리식은 앞서의 설계 방법에 따라 논리회로로 구성됨 • 덧셈기의 예 • 덧셈기는 한 비트씩 볼 때 진리표로 정의 가능 • 이를 논리회로로 구성 • 한 비트 덧셈기 N개를 사용하여 N 비트 덧셈기 구성 CPU의 구성과 동작

  25. 한 비트 덧셈기에 대한 진리표 CPU의 구성과 동작

  26. 4비트 덧셈기 X3 Y3 X2 Y2 X1 Y1 X0 Y0 1 비트 덧셈기 1 비트 덧셈기 1 비트 덧셈기 1 비트 덧셈기 C3 C2 C1 C0 0 S3 S2 S1 S0 CPU의 구성과 동작

  27. 연산부의 구성 M  (N 비트) 멀티플렉서 MUX-A 레지스터 뱅크 M  N 비트 레지스터 멀티플렉서 MUX-B M Load C : 클럭 A B N 비트 N 비트 출력 N 비트 출력 연산장치 ALU 입력 F 출력 N 비트 • 나머지 연산장치도 마찬가지로 구성 가능 • ALU는 여러 연산을 수행하므로 선택 비트(F) 필요 • 연산의 종류가 L개 일 때 log2 L 비트 필요 CPU의 구성과 동작

  28. 디코더(Decoder) • 연산기의 출력을 특정 레지스터에만 공급 • 해당 레지스터의 load만 ‘0’, 나머지는 ‘0’ • 선택비트(D) 필요 : log2 M (M은 레지스터의 수) CPU의 구성과 동작

  29. 디코더를 포함한 연산부의 구성 M  (N 비트) Load 디코더 멀티플렉서 MUX-A 레지스터 뱅크 M  N 비트 레지스터 멀티플렉서 MUX-B M D C : 클럭 A B N 비트 N 비트 출력 N 비트 출력 연산장치 ALU 입력 F 출력 N 비트 CPU의 구성과 동작

  30. 쉬프터와 카운터 • 쉬프터(shifter) • (0010)b =2를 1 비트만큼 오른쪽으로 이동(shift) :(0001)b =1 • (0010)b =2를 1 비트만큼 왼쪽으로 이동(shift) :(0100)b =4 • 효율적인 연산 가능 • 카운터(counter) CPU의 구성과 동작

  31. 쉬프터를 포함한 연산부의 구성 M  (N 비트) Load 디코더 멀티플렉서 MUX-A 레지스터 뱅크 M  N 비트 레지스터 멀티프렉서 MUX-B M D C : 클럭 A B N 비트 N 비트 출력 N 비트 출력 연산장치 ALU 입력 F 쉬프터 (shifter) S 출력 N 비트 CPU의 구성과 동작

  32. 간단한 CPU의 예 : 하드웨어 구성 연산장치(ALU) 디코더 멀티플렉스 A, B 쉬프터 NOP : No operation CPU의 구성과 동작

  33. 간단한 CPU의 예 : 명령어 구성 • 명령 또한 ‘0’, ‘1’ 형태의 선택비트로 H/W에 입력 CPU의 구성과 동작

  34. CPU의 동작 음성신호 수치화 (샘플링) 데이터 정지영상 동영상 숫자 이진수 변환 사용자의 요구사항 문자 이진 코드 컴퓨터 01010011 처리방식 알고리즘 연산 명령 ‘0’/’1’ CPU의 구성과 동작

  35. CPU의 동작과 프로그램 • 알고리즘 • 요구사항을 연산의 형태로 바꾸는 작업 • 프로그래밍 • 연산을 컴퓨터가 이해하는 언어로 바꾸는 과정 • 앞장에서는 ‘0’, ‘1’의 조합 • 프로그램 • 언어로 변환된 연산의 집합 • 프로그램 언어 • 언어 그 자체 CPU의 구성과 동작

  36. CPU의 동작과 프로그램 • 프로그램 언어 • 기계어 • 연산부 제어신호의 집합 : 0, 1 로 구성 • 컴퓨터가 이해하는 궁극적인 언어 • 프로그래밍 및 해독이 어렵다 • 어셈블리 언어 • 기계어와 1:1 대응관계가 성립하는 심벌 • 어셈블러가 기계어로 변환 • 기계어에 비하여 프로그래밍 및 해독이 쉽다 • 고급언어 : Fortran, C/C++, Pascal CPU의 구성과 동작

  37. 5장 CPU 5.3 명령어의 처리방식 - 메모리와 CPU의 결합 명령어의 처리단계 CPU와 명령어 세트

  38. 메모리와 CPU의 결합 • 컴퓨터와 탁상용 계산기의 차이 • “1부터 100까지의 수 중 짝수의 합을 구하라” • i=1 대수 • Sum = 0 대수 • i/2의 나머지가 0이면 4)를 수행, 아니면 5)를 수행 논리 • sum = sum + i 대수 • i=i+1 대수 • i가 100이하면 3)-6) 반복, 아니면 종료 논리 • 연산과정을 메모리에 저장하고 이를 순차적으로 실행 • 1945년 폰 노이만(Von Neuman) 보고서 • 프로그램 내장방식의 컴퓨터 제안 • 현대의 모든 컴퓨터는 프로그램 내장방식의 컴퓨터임 명령어의 처리방식

  39. 메모리와 CPU의 결합 보조기억장치 입력장치 CPU (중앙처리장치) 출력장치 주기억장치 • 폰 노이만형 프로그램 내장방식의 컴퓨터 구조 • 메모리 : ‘0’, ‘1’을 저장하는 전기 장치 • 일반적으로 8비트(1 바이트) 단위로 어드레스싱 명령어의 처리방식

  40. 메모리와 CPU의 결합 • ADD R0 R1 R2 • ADD M[ADDR1] R1 M[ADDR2] 명령어의 처리방식

  41. 명령어 처리의 단계 • 명령어 처리의 단계 • 1) 페치(fetch) • 명령 카운터가 지시하는 어드레스로부터 • 명령을 명령 레지스터로 이동 • 2) 해석(decode) • 명령으로부터 제어신호 생성 • 명령에 포함된 주소의 데이터를 레지스터로 이동 • 3) 실행 및 저장(execute/store) • 제어신호와 레지스터의 데이터를 이용하여 연산을 수행 • 결과를 주 메모리에 저장한다 • 다음 명령을 위해 명령 카운터의 값이 증가 명령어의 처리방식

  42. 명령어 처리의 단계 CPU 명령 (1) 명령 레지스터 명령 디코더 A, B, F, S, D (2) CPU의 일부분 (그림 5-27) 실행 (3) 메 모 리 데이터 (2) 프로그램 카운터 명령의 어드레스 (1) 명령어의 처리방식

  43. CPU와 명령어 세트 • 명령(instruction) • 연산(operation)부와 피연산자(operand)로 구성 • ADD M[ADDR1] R1 M[ADDR2] 연산 피연산자 피연산자 • 명령은 명령 레지스터에서 해석됨 • Opcode • 데이터 또는 데이터가 저장된 어드레스 • 프로그램을 위해서는 모든 명령어를 알고 있어야 함 • 명령어 세트 • CPU설계에 대한 정보 (기계어), 또는 어셈블러 형태로 제공 • 명령어 세트 (instruction set) 명령어의 처리방식

  44. 5장 CPU 5.4 CPU의 종류 CPU의 성능 CPU의 종류

  45. CPU의 성능 • CPU의 성능 • MIPS (Million Instructions per Second) • FLOPS (Floating-Point Operations per Second) • CPU성능에 영향을 주는 요소 • 레지스터 비트의 수 • CPU에서 사용되는 클럭의 수 • CPU성능 개선 기법 • 파이프 라인 • 수퍼스칼라 • 캐쉬 CPU의 종류

  46. 파이프 라인(Pipeline) • 명령처리의 각 단계(페치, 해석, 실행 및 저장)는 독립적 • 여러 명령을 각 단계별로 동시에 실행 • 각 단계에 레지스터가 관여 하므로 실행속도 개선 페치 명령 1 명령 2 명령 3 명령 4 해석 명령 1 명령 2 명령 3 실행 및 저장 명령 1 명령 2 CPU의 종류

  47. 수퍼스칼라(Superscalar) • CPU내에 ALU가 2개 이상으로 구성됨 • 동시에 한 개 이상의 명령을 수행 • ADD R1 R0 R3 • ADD R2 R5 R4 • 경우에 따라 하나만 실행되기도 함 • ADD R3 R0 R1 • ADD R2 R1 R4 • CPU내에 predictor가 내장되어 명령들을 분석 CPU의 종류

  48. 캐쉬(cache) 메모리 • CPU와 메모리간 속도차 발생 • CPU 1GHz, 메모리(DRAM) 133 MHz : 펜티엄 컴퓨터의 경우 • 고속의 SRAM을 사용 • 당장 수행할 명령 및 데이터를 SRAM에 일시 저장 • Cache라고 함 • CPU와 주 메모리 사이에 위치 CPU CPU (그림 5-30) 캐쉬 메모리 (SRAM) 주 메모리 (DRAM) CPU의 종류

  49. CISC/RISC • CISC(Complex Instruction Set Computer)RISC(Reduced Instruction Set Computer) • 설계기법상의 차이 • CPU의 발전에 따라 점점 더 복잡한 명령이 요구됨 • CISC 복잡한 명령을 한번에 처리할 수 있는 명령을 추가 • 기능이 강력해짐 • 명령어 길이가 길어짐, 해석이 복잡해짐, CPU 설계가 어려움 • Intel 계열 • RISC 기존 명령어를 이용하여 효율적으로 명령 수행 • 명령어 길이가 짧음, 해석 간단, CPU 설계 용이 • SPARC, Power PC 계열 CPU의 종류

  50. CPU의 종류 • 인텔 (Intel) • Zeon, Celeron CPU의 종류

More Related