Computer Architectur..

Download Report

Transcript Computer Architectur..

Computer Architecture
CPU
2007081069 강민
2009081092 문형준
1
Index
• CPU
…3
• Register
…5
• Instruction
…12
2
CPU
Central Processing Unit
3
Inside a CPU
ALU/FPU
Control
논리연산, 산술연산, 부동소수점을 연산
Unit 명령어를 Control Unit,
Prefetch Unit에게 전달받은
ALU/FPU가
이해할
수 있도록
Request Instruction, Main
Memory,
Cache의
작업을해석
Prefetch
계산하고 예측하여 CPU의 Data 처리 지연을 방지하기
Unit
위해 미리 Data와 Instruction
Code를
전달
Decode
Unit에게
명령어를 받아 적절한 시기에
ALU, FPU, Register를 제어
Decode
임시 기억장치
Registers
Unit
Input/Output 하는 Data를 저장,
CPU와 Main Memory의
처리 속도 차이로 생기는 병목 현상을 최소화
Main
Memory
Bus
Interface
Unit
CPU와 Main Memory, External Cache 사이의
Internal Cache
Input/Output 작업
4
Register
Register
5
Register - GPR
General Purpose Register
• SPR과 대비되는 개념
• 주소 색인, 계산 결과 임시 저장
• 산술 및 논리 연산
• Accumulater Register, Base Register,
Count Register, Data Register
계산의 중간 결과를 저장하는 Register
Accumulater Register를 이용하여 연산 가능
6
Register - SPR
Special Purpose Register
• 명령어 레지스터
• 메모리 지정 레지스터
• 스택 레지스터
• 상태 레지스터
7
Register - SPR
명령어 레지스터
• IR(Instruction Register)
• 현재 수행중인 명령어 부호를 저장
• Main Memory → Bus Interface Unit →
Prefetch Unit → Decode Unit → IR
동작코드
오퍼랜드
8
Register - SPR
메모리 지정 레지스터
MAR
Index Register
Segment Register
MBR
SI, DI
PC
Index Register
Segment
Memory
Source
Program
Index,
Address
Buffer
Counter
Register
Destination
Register
Register Index
• SI
다음에
데이터와
필요한
MAR이
: 데이터를
데이터가
데이터나
수행될
지정하는
명령어의
이동하거나
명령어의
저장된
명령어의
주소의
상대주소를
기억장치의
주소를
데이터를
복사할
세그먼트
저장
저장
때저장
원본의
주소 저장
주소를 저장
Main Memory
• 분기
Index
CS,
DS,
명령어가
Addressing
SS, ES 실행될
Mode에
경우 사용
목적지 주소가 갱신
• DI : 데이터를 이동하거나 복사할 목적지의
Segment
주소를 저장
#1
MAR
Main Memory
MBR
9
Register - SPR
스택 레지스터
• 이전의 작업 내용과 상태를 저장
Job (3)
Stack Pointer
Stack Pointer
Job (3)
(7)
Job (3)
Job (7)
Job (10)
Stack Register
Processing
10
Register - SPR
상태 레지스터
• 다양한 산술 연산 결과의 상태를 저장
Z
제로
C
캐리
A
보조캐리
V/O/W
오버플로
N/S
네거티브, 사인
I/E
인터럽트
P
패리티
D
디렉션
D/T
디버그, 트랩
6502 – Flag Bite
7
6
N
V
5
4
3
2
1
0
D
I
Z
C
10
9
8
7
6
D
I
T
S
Z
8086 – Flag Register
15
14
13
12
11
5
4
A
3
2
1
P
0
C
11
명령어 집합
명령어?
• 기계어를 사람이 이해하기 쉽게 표현한 것
CPU
주기억장치
읽기를 반복
프로그램
12
명령어 형식(1/4)
0-주소 명령어 형식
• Op-Code 부 만으로 구성
• 스택을 사용하므로 원래의 자료가 남지 않음
스택 구조
삽입
동작코드
(OP Code)
삭제
자료 n
ㆍ
ㆍ
ㆍ
자료 2
자료 1
TOP
BOTTOM
13
명령어 형식(2/4)
1-주소 명령어 형식
• 누산기 구조에서 사용됨
• 하나의 입력 데이터의 주소를 생략할 수 있음
• 연산결과도 누산기에 기억하도록 함
- 연산결과 주소지정이 필요 없음
동작코드
(OP Code)
주 소
14
명령어 형식(3/4)
2-주소 명령어 형식
• 연산 후 입력 데이터를 저장할 필요가 없음
• 연산결과를 입력 데이터가 기억된 장소에 기억시킴
동작코드
(OP Code)
주 소1
주 소2
15
명령어 형식(4/4)
3-주소 명령어 형식
• 연산시 원 자료의 보존이 가능
• 프로그램의 길이가 짧아짐
• 하지만 데이터의 주소로 인해 명령어 길이가 길어짐
동작코드
(OP Code)
주 소1
주 소2
주 소3
16
주소 지정 방식(1/5)
즉시 주소 지정 방식
• 오퍼랜드값 자체가 실제 데이터 값을 지정하는 방식
• 오퍼랜드가 참조할 주소가 아닌 주어지는 ‘값’ 자체
• 변수의 초기값, 상수를 사용할때 정의
장점
동작코드
메모리 참조가 없으므로
(OP Code)
처리속도가 빠름
단점
실제 데이터
오퍼랜드의 크기, 즉
자료의 길이에 제한이 있음
17
주소 지정 방식(2/5)
직접 주소 지정 방식
• 주소 필드가 오퍼랜드의 실제적인 주소를 포함
• 프로그램의 주소와 기억 장치의 주소가 동일함
동작코드
(OP Code)
피연산자
(1001)
장점
명령어 형식이 간단하다
Memory
단
실제데이터
점
제한된 주소 공간을
제공하므로 융통성이 없다
1000
1001
1002
1003
18
주소 지정 방식(3/5)
간접 주소 지정 방식
• 오퍼랜드 필드가 메모리내에 주소를 참조하여
그 주소로부터 유효 번지를 계산하여 접근
• 두 번의 메모리 엑세스가 일어남
동작코드
(OP Code)
피연산자
(1001)
장점
짧은 길이의 명령어로
큰 용량의 주소를 기억
Memory
단점
주소값(1022)
두 번의 메모리 참조로 인해
처리 속도가 느림
실제데이터
1000
1001
ㆍ
ㆍ
ㆍ
1022
19
주소 지정 방식(4/5)
레지스터 직접 주소 지정 방식
• 해당 레지스터에 실제 데이터가 기억됨
• 직접 주소 지정 방식과 유사함
Register
동작코드
(OP
Code)
장점
피연산자
(R)
실행시간이나 메모리를
절약할 수 있게 함
실제데이터
단점
주소 지정이 가능한
공간이 적음
20
주소 지정 방식(5/5)
레지스터 간접 주소 지정 방식
• 간접 주소 지정 방식과 유사함
동작코드
(OP Code)
피연산자
(n)
Memory
장점
주소값(1001)
데이터가 표 형식으로
연속된 경우에는Register
편리함
단점
주소값(1022)
데이터가 불규칙하면
매우 불편함
실제데이터
1000
1001
ㆍ
ㆍ
ㆍ
1022
21
끄읏 ㅇㅅㅇ