Presentation is loading. Please wait.

Presentation is loading. Please wait.

9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직

Similar presentations


Presentation on theme: "9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직"— Presentation transcript:

1 9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
레지스터의 조직 명령어 사이클 명령어 파이프 라이닝

2 Section 01 컴퓨터 본체에서 CPU의 위치 살펴보기
[그림 9-1] 주 회로기판에서 중앙처리장치와 주기억장치

3 Section 02 CPU의 성능 성능 측정 요소 클럭 주파수 워드크기 캐시 메모리 명령어집합의 복잡성 파이프라이닝 병렬처리

4 성능 측정 요소 클럭 주파수 워드크기 수행되는 연산의 타이밍을 맞추기 위한 펄스 컴퓨터의 명령어 수행 속도 결정
하나의 클럭 동안에 명령어 부 사이클 수행 클럭의 주기가 짧을 수록 많은 명령을 처리 워드크기 CPU가 한번에 읽고 쓸 수 있는 비트수 시스템에 따라 다르게 적용 워드가 큰 시스템은 워드가 작은 시스템에 비해 한 명령어에서 더 많은 데이터 처리 가능

5 성능 측정 요소 캐시 메모리 명령어 집합의 복잡성 CPU가 데이터를 빠르게 접근할 수 있는 고속 기억장치
읽기와 쓰기의 속도 향상 명령어 집합의 복잡성 복잡 명령어 집합 컴퓨터(CISC : Complex Instruction Set Computer) CPU에 많은 복잡한 명령어가 내재된 컴퓨터 축소 명령어 집합 컴퓨터 (RISC : Reduced Instruction Set Computer) CPU 내부에 빠르게 수행되는 제한된 수의 간단한 명령어만이 내재된 컴퓨터

6 성능 측정 요소 파이프라이닝 병렬처리 프로세서가 이전명령 마치기 전에 다음명령을 수행
다수의 CPU가 있는 컴퓨터에서 한번에 여러 개의 명령어를 동시에 처리하는 방법 [그림 9-2] 파이프라이닝의 동작 원리 [그림 9-3] 병렬 처리의 동작 원리

7 Section 03 CPU의 기능 명령어 인출 명령어 해독 캐시나 주기억장치에 저장되어 있는 명령어를 읽어오는 기능
읽혀진 명령어에 대해 수행해야 할 동작을 결정하기 위해 인출된 명령어 해독 기능 내용 데이터 인출(Data Fetch) 기능 명령어 실행을 위해 기억장치 또는 입출력장치로부터 데이터를 읽어오는 과정이다. 데이터 처리(Data Process)기능 읽어 온 데이터에 대한 산술적 또는 논리적 연산을 수행한다. 데이터 쓰기(Data Store)기능 데이터 처리과정에서의 수행 결과를 저장하는 기능이다. [표 9-1] 명령어의 기능

8 Section 04 CPU의 조직 CPU 내부 구조 연산장치 레지스터 세트 제어장치 내부 CPU 버스

9 연산장치(Arithmetic and Logic Unit)
CPU 내부 구조 연산장치(Arithmetic and Logic Unit) 상태 플래그 : ALU 내의 상태 표시 이동기 : 데이터의 좌우 이동 보수기 : 보수 연산 산술 및 부울 로직 : 산술 연산과 논리 연산 레지스터 세트 CPU 내부의 레지스터 집합 레지스터는 컴퓨터의 기억장치들 중 액세스속도가 가장 빠름 제한된 수의 레지스터가 CPU 내부에 존재

10 내부 CPU 버스(internal CPU bus)
제어장치 프로그램에 의해 주어진 연산의 순서대로 실행하기 위해 기억,연산,입출력장치에 제어신호 발생 제어장치의 동작 1단계 : 명령어를 해독 제어장치내의 명령어 레지스터에 저장 2단계 : 명령어 레지스터에 저장된 명령어를 실행 내부 CPU 버스(internal CPU bus) ALU와 레지스터들간의 데이터 이동을 위한 통로 데이터 선과 제어선으로 구성 외부의 시스템 버스와 연결되지 않음 버퍼레지스터 또는 버스 인터페이스 회로를 통해 시스템 버스와 접속

11 CPU의 동작 데이터는 주기억장치로부터 레지스터 1번으로 외부 시스템 버스를 통해 연결
제어장치는 레지스터 1과 레지스터 2에 저장되어 있는 데이터를 덧셈하라는 제어신호를 ALU로 전달 ALU 에서는 제어신호에 의해 덧셈을 수행, 그 결과를 누산기에 저장 계산결과는 외부시스템 버스를 통해 주기억장치에 전달 [그림 9-6] CPU의 기본 동작

12 제어장치의 기본 동작 주 기억 장치에서 명령어를 읽어서 제어장치 내에 명령어 레지스터로 저장된다.
명령어의 포인터에는 다음에 실행될 명령어의 주소가 저장된다. 제어장치가 명령어 레지스터의 명령어를 해석한다. 해석된 명령어는 해당되는 제어신호를 발생하게 된다. [그림 9-7] 제어장치의 기본 동작

13 CPU는 주기억장치에서 읽어온 명령어와 데이터를 임시적으로 보관하는 장소 필요 ALU의 처리 결과 임시적 보관장소 필요
Section 05 레지스터의 조직 CPU는 주기억장치에서 읽어온 명령어와 데이터를 임시적으로 보관하는 장소 필요 ALU의 처리 결과 임시적 보관장소 필요 레지스터 CPU에서 사용되는 임시적인 저장장치 사용자에게 보이는 레지스터 제어 및 상태 레지스터

14 사용자에게 보이는 레지스터 어셈블리 프로그래밍을 위해서는 프로그래머가 명칭과 용도를 알아야 하는 레지스터 목적에 따른 분류
어셈블리 프로그래밍을 위해서는 프로그래머가 명칭과 용도를 알아야 하는 레지스터 목적에 따른 분류 일반 목적용 레지스터 여러 가지 용도로 사용, 연산을 위한 모든 종류의 피연산자들의 저장이 가능 데이터 레지스터 데이터 저장에만 사용, 누산기 주소레지스터 특정 주소 지정 방식을 위해 사용되는 레지스터 세그먼트 포인터: 세그먼트의 시작 주소를 저장 인덱스 레지스터: 변위 주소 지정방식에 해당하는 인덱스 주소 지정에 사용 스택 포인터: 스택(stack)의 최상위 주소를 저장하는 레지스터 조건코드 레지스터에 저장된 데이터의 상태 표시 부호비트: 양수/음수 표시 영(zero)비트: 해당 데이터가 0이라는 것을 표시 오버플로우 비트: 연산의 결과 오버플로우 발생시 표시

15 프로그램 실행 과정에서 CPU 내부적으로 사용되는 레지스터 (사용자에게 보이지 않음)
제어 및 상태 레지스터 프로그램 실행 과정에서 CPU 내부적으로 사용되는 레지스터 (사용자에게 보이지 않음) 프로그램 카운터(Program Counter) 명령어 레지스터(Instruction Register) 기억장치 주소 레지스터(Memory Address Register) 기억장치 버퍼 레지스터(Memory Buffer Register) 입/출력 주소 레지스터(I/O AR: I/O Address Register) 입/출력 버퍼 레지스터(I/O BR: I/O Buffer Register) 프로그램 상태 단어(Program Status Word): 제어 및 상태 레지스터에 저장된 데이터의 상태와 조건을 나타내기 위하여 추가된 조건 코드 비트 부호(sign)비트, 영(zero)비트, 올림수(carry)비트, 동등(equal)비트, 오버플로우(overflow)비트, 인터럽트 가능/불가능(interrupt enable/disable)비트 , 슈퍼바이저(supervisor)비트

16 명령어 인출 사이클(fetch cycle) 명령어 실행 사이클(execute cycle)
Section 06 명령어 사이클 명령어 인출 사이클(fetch cycle) 명령어 실행 사이클(execute cycle) [그림 9-9] 명령어 사이클

17 CPU가 주 기억장치로 부터 명령어를 읽어 오는 단계
명령어 인출 사이클 CPU가 주 기억장치로 부터 명령어를 읽어 오는 단계 프로그램 카운터(PC)는 다음에 인출할 명령어의 주소 프로세서는 PC가 가리키는 기억장소로부터 명령어를 인출. PC 내용을 증가 인출된 명령어가 명령어 레지스터(IR)로 적재. 프로세서는 명령어를 해석하고, 요구된 동작을 수행 CPU 클럭 마이크로 연산 동작 t0 MAR → PC PC 내용을 MAR로 전송 t1 MBR → M[MAR] PC → PC + 1 해당주소 기억장치의 명령어가 MBR로 적재 PC의 내용에 1을 증가 t2 IR → MBR MBR에 있는 명령어 코드가 IR로 이동 [표 9-2] 인출 사이클의 마이크로 연산

18 인출 사이클에서 주소와 명령어 흐름 [그림 9-10] 인출 사이클에서 주소와 명령어 흐름

19 명령어 실행 사이클 명령어 실행의 종류 프로세서와 기억장치 간에 데이터가 전송 프로세서와 I/O 모듈 간에 데이터가 전송
데이터에 대하여 지정된 산술 혹은 논리 연산이 수행 제어(control)동작 점프(jump)와 같이 실행될 명령어의 순서가 변경될 때 사용된다.

20 명령어 실행 사이클 덧셈 연산의 실행 사이클 CPU 클럭 마이크로 연산 동작 t0 MAR → IR(addr)
MBR에 저장될 데이터의 기억장치의 주소를 MAR로 전송 t1 MBR → M[MAR] 저장할 데이터를 버퍼 레지스터인 MBR로 이동 t2 AC → AC + MBR MBR 데이터와 AC의 내용을 더하고 결과값을 다시AC에 저장 [표 9-3] ADD 실행 사이클의 마이크로 연산

21 ADD 명령어 실행 사이클 동안의 정보흐름 [그림 9-11] ADD 명령어 실행 사이클 동안의 정보 흐름

22 명령어 파이프라이닝 2단계 명령어 파이프라인 4단계 명령어 파이프라인 6단계 명령어 파이프라인 파이프라인에 의한 속도 향상

23 2단계 명령어 파이프라이닝 인출(fetch stage), 실행(execute stage) 두개의 독립적 파이프라인 모듈로 분리 실행 명령어 처리 속도가 약 2배 향상 처리시간이 동일하지 않으면 2배의 속도 향상을 기대할 수 없다. [그림 9-12] 2단계 명령어 파이프라인과 시간 흐름도

24 명령어 인출(IF : Instruction Fetch) 명령어 해독(ID : Instruction Decode)
4단계 명령어 파이프라인 명령어 인출(IF : Instruction Fetch) 명령어를 기억장치로부터 인출 명령어 해독(ID : Instruction Decode) 인출된 명령어 해석 오퍼랜드 인출(OF : Operand Fetch) 기억장치로부터 변수 또는 데이터 인출 실행(EX : Execute) 지정된 연산을 수행 2단계 명령어 파이프 라인에 비해 더 빠른 속도

25 4단계 명령어 파이프 라인과 시간 흐름도 [그림 9-13] 4단계 명령어 파이프라인과 시간 흐름도

26 FI (Fetch Instruction) DI (Decode Instruction)
6단계 명령어 파이프라인 FI (Fetch Instruction) DI (Decode Instruction) CO (Calculation Operand) FO (Fetch Operand) EI (Execute Instruction) WO (Write Operand) 처리 속도의 향상 최대 6개의 명령어 단계가 동시에 처리

27 6단계 명령어 파이프 라인과 시간 흐름도 [그림 9-14] 6단계 명령어 파이프라인 시간 흐름도

28 파이프라인에 의한 속도 향상 파이프라인 단계 수 = k 실행할 명령어들의 수 = N
각 파이프라인 단계가 한 클럭 주기씩 걸린다고 가정 파이프라인에 의한 전체 명령어 실행 시간 T T = k + (N - 1) 첫번째 명령어를 실행하는데 k 주기 소요 (N - 1)개의 명령어들은 각각 한 주기씩만 소요 만약 파이프라인 되지 않은 경우에는 N개의 명령어들을 실행하는 데는 k × N 주기가 소요

29 속도 향상의 예 [예] 파이프라이닝의 속도 향상 : 속도향상 = (10 × 4) / 13 ≒ 3.08 배
파이프라인 단계 수 = 4 파이프라인 클럭 = 1 MHz(각 단 계에서의 소요시간 = 1 ㎲)인 경우 첫 번째 명령어 실행에 걸리는 시간 = 4 ㎲ 다음부터는 매 1 ㎲ 마다 한 개씩의 명령어 실행 완료 10개의 명령어 실행 시간 = 4 + (10 - 1) = 13 ㎲ 파이프라이닝의 속도 향상 : 속도향상 = (10 × 4) / 13 ≒ 3.08 배

30 속도 향상의 예 [예] 파이프라인 단계 수 = 4 명령어의 수 N 증가
N = 100 이라면, Sp = 400 / 103 = 3.88 N = 1000 이라면, Sp = 4000 / 1003 = 3.99 N = 이라면, Sp = / = 3.998 N → ∞, Sp = 4 파이프라인 단계수 만큼 속도 증가

31


Download ppt "9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직"

Similar presentations


Ads by Google