목차
1. 80x86 프로세서의 구조
2. 인텔 8086과 8088
3. 세그멘티드 메모리(segmented memory)
4. 인텔 80386
5. 80386의 보호모드
6. 인텔 80486
2. 인텔 8086과 8088
3. 세그멘티드 메모리(segmented memory)
4. 인텔 80386
5. 80386의 보호모드
6. 인텔 80486
본문내용
이상, 80386은 2이상, 80486은 1 486은 같은 클럭 속도에서 386의 약 2 배 성능을 보인다.
프로세서 모델 :
집적된 보조프로세서 : 0.8 마이크론 최소회로크기로 백만 개 이상의 트랜지스터를 집적한 칩이다.
부동소수점 프로세서를 내장하였으므로 시스템보드 설계가 간단해지고, 부동소수점 계산이 빨라짐
내장된 8K 캐쉬 : 빨라진 프로세서 클럭에 비하여 메모리 소자는 느리므로 SRAM 캐쉬를 동일 칩에 집적함
- 4갈래 집합 연관(four-way set-associative) 캐쉬로 구성된 즉시 쓰기(write-through, ) 캐쉬임
- 각 캐쉬의 크기는 16byte/line * 128 line = 2KB이고 4way이므로 총 8 KByte이다.
- 캐쉬 교체정책은 LRU(Least Recently Used)이고, LRU 3 bit과 valid 1 bit이 128 line에 추가된다.
- 32비트 메모리주소를 캐쉬로 사상(mapping)하는 법 : [(tag 21 bit) (line number 7 bit) (offset 4 bit)]
- 캐쉬는 프로그램 명령어와 데이터 모두를 저장한다.
** 캐쉬란 무엇인가 ?
버스트 버스 모드(Burst bus mode) : 한 클럭 앞서서 주소를 보내고 연속하는 주소로부터 매 클럭마다 읽기.
- 캐쉬 폴트(cache fault) 때에 캐쉬라인(16byte)을 빨리 (하나의 버스트 버스모드로) 채우기 위하여 사용함.
- 다중 읽기 사이클도 버스트 버스 사이클로 변환될 수 있다.
프로그래밍 모델 :
응용 프로그래머에게는 변화 없음 : 응용 프로그램은 386과 같다.
- 플래그 레지스터에 정열체크(alignment check)라는 제어 플래그(비트)가 추가되었다.
- 부동소수점용 보조 프로세서가 동일 칩에 내장되어 있다.
특수목적 레지스터
- CR0에 3비트 추가 : 동일 칩 캐쉬와 보조프로세서를 제어함
- CR2에 2비트 추가 : 동일 칩 캐쉬를 제어함
- 캐쉬를 검사하는 3개의 레지스터를 추가함 : TR3, TR4, TR5
칩 버전 : 5가지 버전을 출시함
표 3.3 참조
Segment Selector is
Index (12-0)
TI
RPL
Segment Descriptor is element of
Base address(31-24)
G
D
0
AV
Limit(19-16)
P
DPL
S
E
ED/C
R/W
A
Base address(23-16)
Base address(15-0)
Limit(15-0)
Register and it's Descriptor cache
Segment register
Descriptor cache
CS
Base address
Limit
Access
DS
"
"
"
ES
"
"
"
SS
"
"
"
FS
"
"
"
GS
"
"
"
System register
TR
Base address
Limit
Access
LDTR
"
"
"
GDTR
Base address
Limit
IDTR
"
"
프로세서 모델 :
집적된 보조프로세서 : 0.8 마이크론 최소회로크기로 백만 개 이상의 트랜지스터를 집적한 칩이다.
부동소수점 프로세서를 내장하였으므로 시스템보드 설계가 간단해지고, 부동소수점 계산이 빨라짐
내장된 8K 캐쉬 : 빨라진 프로세서 클럭에 비하여 메모리 소자는 느리므로 SRAM 캐쉬를 동일 칩에 집적함
- 4갈래 집합 연관(four-way set-associative) 캐쉬로 구성된 즉시 쓰기(write-through, ) 캐쉬임
- 각 캐쉬의 크기는 16byte/line * 128 line = 2KB이고 4way이므로 총 8 KByte이다.
- 캐쉬 교체정책은 LRU(Least Recently Used)이고, LRU 3 bit과 valid 1 bit이 128 line에 추가된다.
- 32비트 메모리주소를 캐쉬로 사상(mapping)하는 법 : [(tag 21 bit) (line number 7 bit) (offset 4 bit)]
- 캐쉬는 프로그램 명령어와 데이터 모두를 저장한다.
** 캐쉬란 무엇인가 ?
버스트 버스 모드(Burst bus mode) : 한 클럭 앞서서 주소를 보내고 연속하는 주소로부터 매 클럭마다 읽기.
- 캐쉬 폴트(cache fault) 때에 캐쉬라인(16byte)을 빨리 (하나의 버스트 버스모드로) 채우기 위하여 사용함.
- 다중 읽기 사이클도 버스트 버스 사이클로 변환될 수 있다.
프로그래밍 모델 :
응용 프로그래머에게는 변화 없음 : 응용 프로그램은 386과 같다.
- 플래그 레지스터에 정열체크(alignment check)라는 제어 플래그(비트)가 추가되었다.
- 부동소수점용 보조 프로세서가 동일 칩에 내장되어 있다.
특수목적 레지스터
- CR0에 3비트 추가 : 동일 칩 캐쉬와 보조프로세서를 제어함
- CR2에 2비트 추가 : 동일 칩 캐쉬를 제어함
- 캐쉬를 검사하는 3개의 레지스터를 추가함 : TR3, TR4, TR5
칩 버전 : 5가지 버전을 출시함
표 3.3 참조
Segment Selector is
Index (12-0)
TI
RPL
Segment Descriptor is element of
Base address(31-24)
G
D
0
AV
Limit(19-16)
P
DPL
S
E
ED/C
R/W
A
Base address(23-16)
Base address(15-0)
Limit(15-0)
Register and it's Descriptor cache
Segment register
Descriptor cache
CS
Base address
Limit
Access
DS
"
"
"
ES
"
"
"
SS
"
"
"
FS
"
"
"
GS
"
"
"
System register
TR
Base address
Limit
Access
LDTR
"
"
"
GDTR
Base address
Limit
IDTR
"
"