1 / 35

CPU (Central Processing Unit)

CPU (Central Processing Unit). 2007081044 장준식 2009081058 이현준. INDEX. 순서 페이지 번호 CPU 의 개요 3 명령어 주기 5 1) Fetch Cycle 2) Execute Cycle 명령어형식 8 명령어종류 17

keiki
Download Presentation

CPU (Central Processing Unit)

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. CPU(Central Processing Unit) 2007081044 장준식 2009081058 이현준

  2. INDEX 순서 페이지 번호 • CPU의 개요 3 • 명령어 주기 5 1) Fetch Cycle 2) Execute Cycle • 명령어형식 8 • 명령어종류 17 • 주소지정 방식 18 • 데이터 주소 표현방식 29 • 레지스터 30 • 자료출처 34

  3. 산술 및 논리연산을 수행=>가산기,누산기,보수기,상태 레지스터 • ALU와 레지스터들간의 데이터 이동을 위한 통로=> • 데이터 버스, 제어 버스 CPU란? CPU내의 연산을 빠르게 처리하기위해 사용하는 임시기억장소 • 레지스터(Register) • 산술논리연산장치(ALU) • 제어장치(Control Unit) • 버스접속장치 • (Bus Interface Unit) 입력,기억,출력,연산장치에 대햐여 관리,감독

  4. CPU와 메모리 사이의 속도차 극복 Main Memory CPU Cache Memory CPU

  5. 명령어주기 • 명령어 인출 주기(Fetch Cycle) • 명령어 실행 주기(Execute Cycle)

  6. 인출 사이클

  7. 실행 사이클

  8. 명령어 형식 OP-Code(Operation Code) + Operand OP-Code : 실행할 내용을 나타냄 Operand : 데이터의 저장 장소 나타냄

  9. 0-주소 명령어 방식 • 입력데이터 출처 & 연산 결과 기억장소 고정 • 명령어 형식에서 주소 부분이 없다. • 스택(Stack)을 이용해 연산 및 결과 저장 • 연산을 위해 postfix 형태로 수식 변환 • 소스데이터 모두 상실

  10. 0-주소 명령어 방식 • ex) X = A + B * C • Postfix formula X=ABC*+ • ① Push A • ② Push B • ③ Push C • ④ MUL (B * C) • ⑤ Push (B*C) • ⑥ ADD (A+(B * C)) • ⑦ POP X

  11. 1-주소명령어 방식 • Operand를 1개 포함하고 있는 방식 • 누산기 사용하여명령어 처리

  12. 1-주소 명령어 방식 ex) X = A + (B * C) LOAD B (ACCB) MUL C (ACC ACC * C) ADD A (ACC ACC + A) STORE X (X ACC)

  13. 2-주소 명령어 방식 • Operand를 2개 포함하는 방식 • 연산을 위해 prefix 형태로 수식 변환 • Operand-1부분에 결과 저장 Operand-1 데이터 상실

  14. 2-주소 명령어 방식 Ex) X = A + B * C Prefix형태로 X=+A*BC MUL B C (B B * C) ADD A B (A A + B) STORE X A (X A)

  15. 3- 주소 명령어 방식 • Operand를 3개 포함하는 방식 • 명령어 size가 크다 • Operand - 3은 연산 결과 저장 주소 소스데이터 모두 보존

  16. 3-주소 명령어 방식 Ex) X = A + B * C Prefix형태로 X=+A*BC MUL B C Q (QB * C) ADD A Q X (X A + Q) Q는 Register,임시로 기억

  17. 명령어의 종류 -프로그램제어명령어 -메모리 참조 명령어 -레지스터 참조 명령어 -입출력 참조 명령어

  18. 주소지정 방식 종류 직접 주소지정 방식(direct addressing mode) 간접 주소지정 방식(indirect addressing mode) 즉시 주소지정 방식(immediate addressing mode) 레지스터 주소지정 방식(register addressing mode) 레지스터 간접 주소지정 방식(register-indirect addressing mode) 상대 주소지정 방식(relative addressing mode), 인덱스 주소지정 방식(indexed addressing mode), 베이스- 레지스터 주소지정 방식(base-register addressing mode) A=메모리 주소 (A)=주소에 저장된 Data R=레지스터 주소 (R)=레지스터에 저장된 Data

  19. 직접주소지정방식 • 오퍼랜드 필드의 내용이 유효 주소가 되는 방식 • 가장 일반적인 개념의 주소 방식 Effective Address = A • 데이터 인출을 위해 한 번만 기억장치에 액세스 • 연산 코드를 제외하고 남은 비트들이 주소 비트로 사용 • 지정할 수 있는 기억장소의 수가 제한,많은 수의 주소를 지정 불가능

  20. 간접주소지정방식 • 오퍼랜드 필드에 기억장치 주소가 저장되어 있는 주소가 저장 • 그 주소가 가리키는 기억 장소에서 유효 주소 획득 Effective Address = (A) • 두 번의 액세스 • 첫 번째 액세스는 주소를 읽기 • 두 번째는 그 주소가 지정하는 위치로부터 실제 데이터를 인출 • 장점 • 최대 기억장치용량이CPU 가 한번에 액세스 할 수 있는Word 의 길이에 의해 결정 • 워드 길이가n 비트라면 최대2 의n 승개의 기억장소들을 지정 가능 • 단점 • 실행 사이클 동안 두 번의 기억장치액세스가 필요하다는 단점 • 주소 지정 방식을 표시하는 간접비트(I) 필드가 필요

  21. 간접주소지정방식

  22. 즉시주소지정방식 • 데이터가 명령어에 포함되어 있는 방식 • 오퍼랜드 필드의 내용이 연산에 사용할 실제 데이터 • 프로그램에서 레지스터들이나 변수의 초기 값을 어떤 상수 값(constant value)으로set 하는데 유용 • 데이터를 인출하기 위하여 기억장치를 액세스할 필요가 없다 • 상수 값의 크기가 오퍼랜드 필드의 비트 수에 의하여 제한 200은 주소값이 아닌 실제 데이터 값

  23. 레지스터 주소 지정방식 • 연산에 사용할 데이터가 레지스터에 저장 • 오퍼랜드 부분이 레지스터 번호,유효주소가 레지스터 번호 Effective Address = R • 오퍼랜드 필드가 레지스터들의 번호를 나타내기 때문에 비트 수가 • 적어도 가능 • 데이터 인출을 위하여 기억장치에 액세스 할 필요 없음 • 데이터가 저장될 수 있는 공간이 CPU 내부 레지스터들로 제한

  24. 레지스터 간접 주소지정방식 • 이 방식은 명령어 형식에서 오퍼랜드 필드가 레지스터 번호를 지정 • 레지스터의 내용이 유효 주소 Effective Address = (R) • 주소를 지정 할 수 있는 기억장치 영역이 확장 • 레지스터의 길이에 따라 주소지정 영역이 결정 • 메인 메모리에 한번만 액세스

  25. 상대주소방식 • 프로그램 카운터(PC) 를 레지스터로 사용 • Effective Address = A + (PC) • 하나의 기준 주소로부터 거리 및 상대적위치를 주소로 사용

  26. 인덱스 주소 지정방식 • 인덱스 레지스터(IX) : 인덱스(index) 값을 저장하는 특수 레지스터 • IX의 내용과 변위 A를 더해 유효 주소를 결정하는 방식 • Effective Address = (IX) + A • 방식은 배열 데이터를 액세스할 때 자동 인덱싱(autoindexing) Effective Address = (IX) + A • IX ← IX + 1

  27. 베이스 레지스터 주소지정방식 • 베이스 레지스터의 내용과 변위A 를 더하여 유효주소를 결정하는 방식 • 서로 다른 세그먼트 내 프로그램의 위치를 지정하는데 사용 • Effective Address = (BR) + A

  28. 간접 사이클(Indirect Cycle) • 간접 주소지정 방식(indirect addressing mode) 에서 사용되는 명령어 • 명령어에 포함되어 있는 주소를 이용하여, 실제 명령어 실행에 필요한 데이터를 인출하는 사이클 • 인출 사이클과 실행 사이클 사이에 위치

  29. 데이터 주소의 표현 방식 (1)주소 표현 방식 -완전 주소,약식 주소, 생략 주소,데이터 자신

  30. 범용레지스터 • CPU가작업을 위해 다목적으로 사용 • 주소 지정, 연산을 위한 데이터 보관용, 제어용 정보의 보관 • Accumulator(누산기): 사칙 연산을 한 결과 등을 일시적으로 저장 • 베이스 레지스터,,등등

  31. 전용 레지스터 • 특수한 용도로 사용 • 명령어 레지스터(IR) : 현재 수행 중인 명령어를 저장 • 메모리 지정 레지스터 : MAR,MBR,PC,Index Register,세그먼트 레지스터 • Stack Register(스택 레지스터) • Status Register(상태 레지스터)

  32. 명령어 지정 레지스터 • MAR => 데이터나 명령을 주 기억 장치에서 읽어 내거나 주 기억 장치에 써넣기 위한 주소를 기억 • MBR => 기억 장치에서 읽어 내거나 주 기억 장치에 써넣기 위한 데이터나 명령을 기억 • Index Register => 명령어의 Operand 값과 더하여 여러 주소 지정 모드를 만들어 낸다. • PC(Program Counter) => • 다음에 실행할 명령의 주소를 기억 • 제어 장치가 올바른 순서로 프로그램을 수행하도록 하는 정보를 제공

  33. 전용 레지스터 • Stack Register(스택 레지스터) • 이전 작업 내용, 상태 보존 위한 영역 • 베이스 포인터:메모리의 특정 번지 나타냄 • 스택 포인터: 스택(stack)의 최상위 주소를 저장 • Status Register(상태 레지스터) • 연산 경과의 상태를 나타내는 플래그들을 저장 • 레지스터에 저장된 데이터의 상태 표시 • SignBit: 양수/음수 표시 • Zero Bit: 해당 데이터가 0이라는 것을 표시 • Overflow Bit: 연산의 결과 오버플로우 발생시 표시 • Carry Bit: 자리 올림 수가 발생시 1로 Set

  34. 참고자료 • 속에多있다2008정보처리기능사필기 • 컴퓨터구조와 원리 • 컴퓨터구조 • http://nengjung.kit.ac.kr/~yskim/lecture/index_main.html

More Related