Tải bản đầy đủ (.doc) (23 trang)

Nghiên cứu tìm hiểu về thế hệ VXL 80386 (SL, SX, DX,...)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (435.44 KB, 23 trang )

Vi xö lý 80386
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP LỚN
ĐỀ TÀI:
Giảng viên hướng dẫn :
Nhóm thực hiện :
Lớp :
Kỹ thuật phần mềm 2 – k6
1
Vi xử lý 80386
Họ vi xử lý Intel 80386
Mở đầu
Trái tim của một bản mạch chính là bộ vi xử lý. Cho đến nay bộ vi xử lý
đợc coi là sản phẩm nhân tạo phát triển nhanh nhất và có vai trò quan trọng nhất
trong lịch sử loài ngời. Bộ vi xử lý CPU là cốt lõi của một máy vi tính. Từ các bộ
vi xử lý để chế tạo ra máy tính cá nhân và Intel đang hớng cấu trúc máy vi tính
cá nhân hiện đại. Vai trò của máy vi tính trong nửa cuối thế kỷ hai mơi đợc
chứng minh bởi đà phát triển chức năng theo hàm mũ của bộ vi xử lý và mức độ
thâm nhập của nó trong xã hội. Máy tính đã thay đổi hoàn toàn công nghệ, thay
đổi hình thức buôn bán thậm trí thay đổi cấu trúc xã hội loài ngời. Vì vậy sau
đây chúng ta cùng tìm hiểu về tất cả những gì thuộc về bộ vi xử lý và cụ thể là bộ
vi xử lý 80386 là bộ vi xử lý 32 bit đầu tiên mở đầu cho công nghệ phát triển
máy tính sau này.
Bố cục chung của báo cáo:
Báo cáo gồm 8 phần:
I.Lịch sử phát triển họ vi xử lý iX86
II.Cấu trúc khối
III. Các chế độ vận hành của bộ vi xử lí 80386
IV.Hệ thống vào ra


V.Quản lý bộ nhớ
VI.Kiến trúc tập lệnh
VII.Công nghệ mới
VIII.Kết luận
Bài viết dới đây do nhóm gồm : Nguyn Th Sim,Bựi Vn Thng,Chu Vn
Thõn,Nguyn Trng Sn cùng nhau tìm tài liệu và thảo luận trong thời gian
khá dài. Tuy nhóm đã có nhiều cố gắng và nghiên cứu để làm tài liệu này rất
nghiêm túc song không tránh khỏi sai sót. Rất mong Thầy giáo và các bạn đọc
tài liệu cùng tham khảo và cho ý kiến để tài liệu đợc hoàn chỉnh hơn. Chân thành
cảm ơn!
I.Lịch sử phát triển họ vi xử lý iX86
1.VXL 16 bit
- 80186 sử dụng chủ yếu trong những ứng dụng những bộ thiết bị điều khiển
đầu cuối
- 80286 là vi xử lý đầu tiến của Intel có thể chạy đợc tất cả các ứng dụng viết
cho các VXL trớc đó. Có hai chế độ hoạt động là chế độ thực và chế độ bảo vệ
K thut phn mm 2 k6
2
Vi xử lý 80386
2.VXL 32 bit
Intel 386 gồm các họ 386DX,386SX,386LX là một bớc nhảy vọt so với
các VXL trớc đó. Có khả năng xử lý đa nhiệm, có thể chạy nhiều chơng trình
cùng một thời điểm
Intel 486 gồm các phiên bản 486DX,486SX,486SL. Những phiên bản
này có bộ nhớ sơ cấp có thiết kế pipeline
II.Cấu trúc khối
1. Đóng vỏ và các chân chức năng:
Các chip 80386 đóng vỏ gốm (ceramic pin grind package) 132 pin với
công nghệ CHMOS III
80386 SX có cấu trúc bên trong giống nh 80386 DX nhng chỉ có bit địa

chỉ là 24 bit và bus dữ liệu là 16 bit. 386 SX phù hợp với thiết bị nhớ và ngoại vi
8 bit và 16 bít. 386 LX cũng đợc dùng trong nhiều loại IBM PC/XT
80386 dùng diện thế Vss,Vcc = 5.0 V tiêu thụ dòng trung bình 550 mB
phiên bản tần số 25MHz, 600mA phiên bản tần số 20MHz
Các chân tín hiệu :
80386 có 20 chân tín hiệu : A31 A3; D31-D0; BE#-BE0;
M/ìO#;W/R#;ADS#(address data strobe); RESET
Với 32 bit địa chỉ không gian địa chỉ của CPU386 là 4 GB. CPU 386 có 64
K cứa vào/ra 8 bit, 16 bit, 32 bit
CPU 386 có thể hoạt động với bộ đồng xử lý toán học 387
K thut phn mm 2 k6
3
Vi xử lý 80386
2.Hệ thống bus
- Bus là tập hợp các đờng dây để vận chuyển thông tin (bit) từ phần
mạch này đến phần mạch khác trong phạm vi máy tính
Bản chất vật lý : không có điện áp truyền 0
Có điện áp truyền 1


1bit tại (tại 1 thời điểm)
- Có chức năng liên kết các thành phần khác nhau trong hệ thống do
vậy còn gọi là bus liên kết hệ thống
- Tập các đờng dây vận chuyển thông tin đồng thời đợc gọi là độ rộng
của bus ( ví dụ 8 đờng dây thì độ rộng là 8 bit)
- Chức năng của bus :
Bus chia làm 3 loại : +bus địa chỉ
+bus dữ liệu
+bus điều khiển
Chú ý : chỉ có bus địa chỉ và bus dữ liệu mới có khái niệm độ rộng


Bus địa chỉ

Bus dữ liệu
Bus điều khiển
Sơ đồ khối phối ghép bus
Lý do tồn tại của các loại bus:
+ Bus địa chỉ :
- CPU muốn trao đổi dữ liệu với ngăn nhớ nào, với cổng vào ra nào thì cần
phải có bus địa chỉ
Bus địa chỉ vận chuyển địa chỉ từ CPU đến bộ nhớ hay cổng vào ra để xác
định ngăn nhớ nào hay cổng vào ra nào cần trao đổi thông tin
K thut phn mm 2 k6
4
CPU Bộ nhớ
chính
Mạch
ghép nối
vào ra
Các thiết
bị vào ra
Vi xử lý 80386
- Bus địa chỉ nói tổng quát gồm n đờng dây Ao - An-1 thì gọi độ rộng bus
là n bit và n bit này đợc dùng để đánh dấu địa chỉ , do đó có khả năng quản lý tối
đa 2
n
địa chỉ ngăn nhớ hay 2
n
byte nhớ ( vì bộ nhớ chính quản lý theo byte) và
với 386 thì n =32 quản lý tối đa 2

32
byte = 4 GB
+Bus dữ liệu :
- Vận chuyển dữ liệu từ bộ nhớ đến CPU
- Vận chuyển dữ liệu giữa các thành phần với nhau
Bus dữ liệu kí hiệu Do Dm-1 thì độ rộng bus là m bit m trong 386 là 32
tức là vận chuyển cùng một lúc 4 byte
+Bus điều khiển dữ liệu
- Là tập hợp các tín hiệu điều khỉên hoặc phát ra từ CPU để điều khiển bộ
nhớ hay hệ thống vào ra hoặc là từ bộ nhớ hay hệ thống vào ra đến yêu cầu CPU
3. Khối quản lý bộ nhớ
Bộ vi xử lý có khả năng quản lý bộ nhớ trực tiếp bằng cách đánh địa chỉ
vật lý hay định địa chỉ ảo ( phân trang ). Khi dùng định địa chỉ vật lý, địa chỉ
tuyến tính đợc coi là địa chỉ vật lý
Khi dùng phân trang các đoạn mã, dữ liệu, ngăn xếp, hệ thống, GDT và
IDT đều đợc nhận phân trang, chỉ có trang vừa truy nhập là nằm trong địa chỉ vật
lý. Vị trí của trang ( hay còn gọi là khung trang đợc xác định qua hai dạng cấu
trúc hệ thống :
o Một th mục trang
o Nhiều bảng trang
Cả hai cấu trúc đều nằm trong bộ nhớ vật lý. Dữ liệu lu trữ trong th mục
trang bao gồm địa chỉ cơ sở của bảng trang, quyền truy nhập và thông tin quản lý
bộ nhớ. Dữ liệu lu trữ trong bảng trang bao gồm địa chỉ vật lý của khung trang,
quyền truy nhập và thông tin quản lý bộ nhớ. Địa chỉ cơ sở của th mục trang nằm
trong thanh ghi điều khỉên CR3. Không gian địa chỉ tuyến tính (32 bit) đợc chia
ra làm 3 phần : 10 bit định vị danh mục trang, 10 bit định vị bảng trang, 12 bit
định vị khung trang. Nh vậy kích thớc của một trang là 2
12
=4 Kbyte. Mỗi nhiệm
vụ có thể có một danh mục trang riêng của nó, có nghĩa là hệ vi xử lý có thể

quản lý đợc nhiều danh mục trang khác nhau.
4. Khối điều khiển
Dùng để điều khiển và để đồng bộ các hoạt động của hệ thống, cụ thể:
- Điều khiển nhận lệnh từ bộ nhớ và sau đó tăng nội dung PC( bộ đếm ch-
ơng trình program counter) để trỏ sang lệnh tiếp theo
- Giải mã lệnh nằm ở thanh ghi lệnh để xác định yêu cầu của lệnh và phát
ra tín hiệu điều khiển thực hịên lệnh đó
- Nhận các tín hiệu yêu cầu từ bên ngoài, xử lý và đáp ứng yêu cầu đó
Mã lệnh
K thut phn mm 2 k6
5
Thanh ghi lệnh
Vi xử lý 80386
Các cờ từ
Thanh ghi cờ Mã lệnh các tín hiệu điều
Khiển bên trong CPU Các thanh ghi
clock -Vận chuyển dữ liệu
giữa
tín hiệu tạo các thanh ghi
xung nhịp -ALU
các tín các tín hiệu yêu cầu
điều khiển bên ngoài từ bên ngoài
Bus điều khiển
- Đơn vị điều khiển gồm hai phần chính : khối giải mã lệnh và khối tạo
xung nhịp điều khiển thực hiện lệnh

5. Khối giải mã lệnh
Bộ giải mã lệnh gồm ba bộ giải mã cũn làm việc song song: hai bộ giải mã
lệnh đơn giản và một bộ giải mã phức tạp. Một bộ giải mã chuyển một mã lệnh
thành một hay nhiều vi lệnh ba thành phần ( hai nguồn lôgic vầ một đích lôgic).

Vi lệnh là những lệnh sơ đẳng đợc 6 bộ thực hiện của bộ vi xử lý thực hiện song
song
Nhiều mã lệnh đợc chuyển trực tiếp thành một vi lệnh duy nhất qua bộ giải
mã lệnh đơn giản. Một số mã lệnh khác đợc chuyển thành một hay bốn vi lệnh.
Bộ giải mã cũng chịu trách nhiệm giải mã phần đầu lệnh và lệnh quay vòng . Bộ
giải mã lệnh có thể tạo ra đến 6 vi lệnh trong một chu kỳ đồng hồ ( 2 từ hai bộ
giải mã lệnh đơn giản và 4 từ bộ giải mã lệnh phức tạp )
6. Khối chức năng đặc biệt
Gồm :
- Khối xử lý đồ hoạ
- Khối xử lý tín hiệu : những bộ có khả năng tính toán, tính chập, hàm tơng
quan
- Khối xử lý ảnh: có phép tính tơng tự xử lý tín hiệu nhng là hai chiều
- Tính toán vectơ, ma trận
7. Khối số nguyên
8.Thanh ghi
Thanh ghi thực chất là bộ nhớ bán dẫn có tốc độ truy nhập cực cao( mức
CPU) và có dung lợng nhỏ. Tập các thanh ghi nằm trong CPU. Mỗi thanh ghi là
một đơn vị lu trữ dữ liệu có chức năng riêng biệt không thể thiếu trong CPU
K thut phn mm 2 k6
6
đơn vị điều
khiển
Vi xử lý 80386
Thanh ghi 80386 đều là thanh ghi 32 bit, một số thanh ghi có thề chia thành
16 bit hoặc 8 bit
Với 32 bit địa chỉ không gian địa chỉ của CPU 386 là 4 GB. CPU 386 có 64K
cửa vào / ra 8 bit , 16 bit, 32 bit
CPU có thể hoạt động với bộ đồng xử lý toán học
Tập các thanh ghi:

Thanh ghi đa dụng và thanh ghi con trỏ : đợc mở rộng thành thanh
ghi 32 bit : EAX, EBX,ESP tuy nhiên vẫn có thể sử dụng thanh ghi 8 bit hoặc
16 bit. Chúng có trách nhiệm lu trữ những nội dung sau:
-Tham số của các phép toán logic và số học
-Tham số của các phép tính địa chỉ
- Con trỏ bộ nhớ
Tuy vậy, tất cả các thanh ghi này đều có thể dùng để lu trữ mọi tham số
kết quả và con trỏ. Cần lu ý khi dùng thanh ghi ESP vì thanh ghi này chỉ dùng
cho con trỏ ngăn xếp và không đợc phép dùng cho mục đích khác
Một số lệnh cần một thanh ghi nhất định để lu trữ tham số của nó. ví dụ
lệnh chuỗi dùng các thanh ghi ECX,ESI, EDI. Khi sử dụng bộ nhớ mô hình phân
đoạn , một số cặp thanh ghi đợc ngầm định để lu địa chỉ lôgic( vi dụ DS:EBX)
Ngoài ra, mỗi thanh ghi còn có một nhiệm vụ đặc biệt đợc liệt kê sau:
- EAX : thanh ghi kết quả các phép toán
- EBX : thanh ghi con trỏ mà địa chỉ đoạn nẳm trong DS
- ECX : thanh ghi số đếm cho các phép toán chuỗi và quay vòng
- EDX : thanh ghi địa chỉ cổng cứng
- ESI : thanh ghi con trỏ địa chỉ nằm trong ES con trỏ nguồn của phép toán
chuỗi
- EDI : thanh ghi con trỏ mà địa chỉ đoạn nằm trong ES con trỏ đích của
phép toán chuỗi
- ESP : thanh ghi con trỏ ngăn xếp mà địa chỉ đoạn nằm trong SS
K thut phn mm 2 k6
7
Vi xử lý 80386
Các thanh ghi đa chức năng
31 0
EAX
EBX
ECX

EDX
ESI
EDI
EBP
ESP
Hình trên cho thấy, 16 bit cuối của những thanh ghi đa chức năng đợc
dùng nh các thanh ghi của thế hệ 8086, 80286. Ngời lập trình có thể sử dụng nó
qua tên thanh ghi AX, BX,CX,DX,BP,SP,SI,DL. Hai byte cuối của EAX,
EBX,ECX,EDX,đợc gọi là AH, BH, CH, DH(bit cao) và AL, BL, CL, DL(bit
thấp)
Các thanh ghi đoạn : vẫn giữ nguyên chiều dài 16 bit nhng có hai
thanh ghi đoạn FS và GS đợc dùng giống nh thanh ghi ES . Các thanh ghi đoạn
(CS,DS,SS,ES,FS,GS) lu trữ bộ chọn đoạn 16 bit. Một bộ chọn đoạn là một con
trỏ đặc biệt chỉ đến bộ mô tả đoạn là nơi lu trữ địa chỉ và đặc tính của đoạn . Để
truy nhập một đoạn trong bộ nhớ bộ chọn đoạn phải nằm trong thanh ghi đoạn t-
ơng ứng
Khi viết một chơng trình ứng dụng ngời lập trình chọn đoạn qua lệnh định h-
ớng trong hợp ngữ . Hợp ngữ dùng lệnh định hớng của hợp ngữ hay dụng cụ lập
trình để tạo nên đoạn và các gía trị tơng ứng trong bộ chọn đoạn cũng nh bộ mô
tả đoạn
Cách sử dụng thanh ghi đoạn phụ thuộc vào mô hình bộ nhớ mà hệ thống
điều hành sử dụng. Nếu sử dụng mô hình bộ nhớ phẳng ( không phân đoạn ),
thanh ghi đoạn lu trữ bộ chọn đoạn trỏ lên những đoạn chồng lên nhau. Mỗi
đoạn đều bắt đầu từ địa chỉ số 0 của không gian địa chỉ tuyến tính. Thông thờng
có hai đoạn chồng lên nhau: một đoạn cho mã lệnh, một đoạn cho dữ liệu và
ngăn xếp. Thanh ghi CS trỏ đến đoạn mã lệnh các thanh ghi đoạn khác trỏ đến
đoạn dữ liệu
K thut phn mm 2 k6
8
Vi xử lý 80386

Các thanh ghi đoạn
15 0 CS
DS
SS
ES
FS
GS GS
Các thanh ghi đoạn trong mô hình nhớ phẳng
Nếu sử dụng mô hình bộ nhớ phân đoạn, mỗi thanh ghi đoạn chứa một bộ
chọn đoạn trỏ tới các đoạn khác nhau trong không gian địa chỉ tuyến tính. Chơng
trình có thể truy nhập đồng thời 6 đoạn khác nhau. Mỗi thanh ghi đều liên hệ
trực tiếp với ba loại nhớ : mã lệnh, dữ liệu và ngăn xếp. ví dụ : thanh ghi CS chứa
bộ chọn đoạn mã lệnh. Bộ xử lý lấy lệnh từ đoạn mã lệnh bằng địa chỉ đoạn
trong CS và con trỏ lệnh trong EIP. Thanh ghi EIP chứa địa chỉ tuyến tính của tới
cần đợc thực hiện trong đoạn mã lệnh. Chơng trình ứng dụng bên ngoài không
thể thay đổi đợc thanh ghi CS. Chỉ các phép lệnh điều khiển chơng trình bên
trong bộ vi xử lý mới thay đổi đợc giá trị của CS( nh gọi tiểu trình, phục vụ ngắt
thay đổi nhiệm vụ
Các thanh ghi đoạn
CS các đoạn đều cùng nằm
DS trong một không
gian
SS bộ nhớ tuyến
tính
ES
FS
GS
Cách sử dụng thanh ghi đoạn trong mô hình bộ nhớ phân đoạn
Các thanh ghi DS , ES, FS, GS chứa bộ chọn đoạn trỏ đến 4 bộ mô tả đoạn
dữ liệu. Bốn đoạn dữ liệu riêng rẽ này đảm bảo an toàn truy nhập an toàn vào các

dạng cấu trúc dữ liệu khác nhau
Thanh ghi SS chứa bộ chọn đoạn ngăn xếp. Khác với thanh ghi CS thanh
ghi SS có thể đợc ghi từ bên ngoài bởi chơng trình ứng dụng. Điều này cho phép
K thut phn mm 2 k6
9
40 Gbyte
đoạn
chồng lên
nhau
đoạn mã
lệnh
đoạn ễ
liệu
đoạn ngân
xếp
đoạn
dữ
liệu
đoạn
dữ
liệu
đoạn
dữ
liệu
Vi xử lý 80386
chơng trình dùng nhiều ngăn xếp khác nhau. Bốn thanh ghi đoạn CS, DS, SS, ES,
có từ đời 8086. Hai thanh ghi FS và GS bắt đầu xuất hiện ở 80386
Thanh ghi trạng thái SR và thanh ghi đếm chơng trình : cũng nh đợc
nâng lên 32 bit gồm 16 bit thấp nh trong 286 và 16 bit cao. Thanh ghi trạng thái
để quản lý trạng thái của hệ thống nó chứa các thông tin trạng thái của CPU

Có hai thông tin trạng thái chính :
- trạng thái 0
- trạng thái 1
Gồm có các thanh ghi cờ. Mỗi bit cờ phản ánh trạng thái làm việc của
CPU. :Cờ trạng thái (bit 0,2,4,6,7,11) trong thanh ghi EFLAGS đợc dùng để ghi
lại trạng thái kết quả của các lệnh số học nh : ADD, SUB, MUL,DIV
- IF( interrupt flag): cờ ngắt: nếu IF=1 thì CPU cho phép ngắt ngợc lại IF=0
thì CPU cấm ngắt
- CF( carry flag) : cờ nhớ : nếu kết quả phép tính có nhớ thì CF=1
- SF(Sign flag) :cờ dấu : nếu kết quả phép tính là số âm thì SF=1
- OF(overflow flag): cờ tràn: nếu kết quả là số bù 2 vợt quá giới hạn biểu
diễn dành cho nó thì OF=1. Cờ này đánh dấu trạng thái tràn của phép toán số
học có dấu
- PF(parity flag) cờ chẵn lẻ: đợc đặt về 1 khi số 1 trong byte thấp nhất của
kết quả là số chẵn
- AF( adjust flag) cờ chỉnh: đợc đặt về 1 khi phép toán gây ra nhớ hoặc mợn
tại bít 3 của kết quả. Cờ này đợc sử dụng trong phép toán số học với mã BCD
- ZF(zero flag ) cờ không: đợc đặt về 1 khi kết quả bằng 0
Trong các cờ trên chỉ có cờ CF là có thể gây ra trực tiếp bằng các lệnh
STC,CLC,CMC. Những lệnh thay đổi bit nh BT, BTS,BTR,BTC. Có thể chuyển
một bít nhất định về cờ CF. Các cờ trạng thái dành cho phép toán số học có kết
quả dới ba dạng dữ liệu khác nhau: số nguyên có dấu, số nguyên không dấu, số
nguyên BCD. Nếu kết quả là số nguyên không dấu thì cờ CF đánh dấu trạng thái
nhớ hoặc mợn. Nếu kết quả là số BCD thì cờ AF đánh dấu nhớ hoặc mợn. Cờ SF
ghi lại dấu của số nguyên có dấu. Cờ ZF đánh dấu trạng thái bằng 0 của số
nguyên có và không có dấu. Cờ CF đợc dùng để cộng thêm hay trừ đi khi dùng
lệnh ADC(cộng với số nhớ) hay lệnh SBB( trừ với số mợn ) để tiến hành phép
toán số học chính xác. Các lệnh nhảy có điều kiện Jcc, đặt byte có điều kiện
SETcc quay vòng có điều kiện LOOPcc và dịch chuyển có điều kiện CMOVcc
( cc là mã điều kiện ) dùng một hay nhiều cờ trạng thái để rẽ nhánh đặt byte hay

quay vòng
Các thanh ghi gỡ rối (DR0-DR7) và kiểm tra (TR0-TR1):
Bộ vi xử lý có nhiều lệnh dùng để kiểm tra quyền truy nhập bộ chọn đoạn và
bộ mô tả đoạn. Những lệnh này lặp lại việc kiểm tra quyền truy nhập mà bộ vi
xử lý tiến hành tự động. Chúng cho phép hệ điều hành và các chơng trình ở mức
u tiên 0 ngăn không cho ngoại lệ xảy ra:
K thut phn mm 2 k6
10
Vi xử lý 80386
- ARPL: chỉnh mức u tiên đợc yêu cầu RPL của bộ chọn đoạn cho thích hợp
với mức u tiên của các chơng trình dùng đoạn đó
- LAR: chứng nhận khả năng truy nhập vào một đoạn và nạp quyền truy nhập
từ bộ mô tả đoạn về một thanh ghi đa chức năng. Chơng trình ứng dụng sau đó
có thể kiểm tra quyền truy nhập đoạn trực tiếp từ thanh ghi đa chức năng
- LSL: chứng nhận khả năng truy nhập vào một đoạn và kích thớc đoạn từ bộ
mô tả đoạn về một thanh ghi đa chức năng. Chơng trình ứng dụng sau đó có thể
so sánh kích thớc đoạn với địa chỉ lệch để bíêt địa chỉ có nằm bên trong đoạn
hay không
- VERR và VERW: kiểm tra khả năng ghi lên hay đọc từ một đoạn bộ nhớ
Thanh ghi quản lý bộ nhớ : thanh ghi GDTR,LDTR,IDTR,TR có chức
năng giống nh trong 286 chỉ khác ở chỗ: địa chỉ cơ sở 32 bit và giá trị giới hạn là
20 bit. Bốn thanh ghi trên đợc dùng để xác định vị trí của các bảng quản lý bộ
nhớ. Để truy nhập và lập trình các thanh ghi này ngời ta cần có những lệnh
chuyên dùng .
` - Thanh ghi bảng bộ mô tả toàn cục GDTR
Thanh ghi bảng cục bộ mô tả toàn cục GDTR lu trữ 32 bít địa chỉ cơ sở và
16 bit kích thớc của bảng mô tả toàn cục. Địa chỉ cơ sở là địa chỉ tuyến tính (vật
lý ) của byte đầu tiên trong bảng. Kích thớc cho biết số byte tối đa có thể lu trữ
đợc trong bảng. Để nạp và ghi lên GDTR ta dùng lệnh LGDT và lệnh SGDT. Khi
khởi động bộ vi xử lý địa chỉ cơ sở đợc đặt về 0 và giới hạn đợc đặt về FFFFh vì

thế chơng trình khởi động BIOS cần nạp một giá trị mới vào GDTR
- Thanh ghi bảng mô tả cục bộ LDTR
Thanh ghi bảng bộ mô tả cục bộ LDTR lu trữ 32 bit địa chỉ cơ sở , 16 bit
kích thớc và các tham số bộ mô tả cho bảng mô tả cục bộ LDT. Để nạp và ghi lên
GDTR ta dùng lệnh LLDT và lệnh SLDT. Đoạn bộ nhớ chứa LDT phải có một bộ
mô tả đoạn tơng ứng nằm trong bảng mô tả toàn cục GDT. Khi lệnh LLDT nạp
một bộ chọn đoạn vào LDTR, địa chỉ cơ sở kích thớc và tham số bộ mô tả tự
động đợc nạp lên LDTR. Khi cần chuyển nhiệm vụ, bộ chọn đoạn và đoạn mô tả
LDT của nhiệm vụ mới tự động đợc nạp vào thanh ghi LDTR. Tơng tự nh GDTR
, địa chỉ cơ sở và kích thớc trong LDTR đợc đặt về 0 và FFFF h khi khởi động
máy
- Thanh ghi bảng bộ mô tả ngắt IDTR
Thanh ghi bảng bộ mô tả ngắt IDTR chứa 32 bit địa chỉ cơ sở và 16 bit kích
thớc của bảng mô tả ngắt IDT. Để nạp và ghi lên IDTR ta dùng lệnh LIDT và
SIDT
- Thanh ghi nhiệm vụ TR
Thanh ghi nhiệm vụ TR chứa cho nhiệm vụ đang chạy 16 bit bộ chọn
đoạn, 32 bit địa chỉ cơ sở, 16 bit kích thớc và tham số bộ mô tả cho đoạn trạng
thái nhiệm vụ TSS. Địa chỉ cơ sở là địa chỉ của byte 0 trong TSS. Lệnh LTR và
STR đọc và ghi tên phần bộ chọn đoạn của thanh ghi nhiệm vụ. Khi lệnh LTR
nạp bộ chọn đoạn vào thanh ghi nhiệm vụ, các phần khác của thanh ghi nhiệm
vụ đợc tự động nạp lên từ bộ mô tả đoạn trạng thái nhiệm vụ TSS. Trạng thái của
thanh ghi TR khi khởi động tơng tự nh các thanh ghi hệ thống khác
K thut phn mm 2 k6
11
Vi xử lý 80386
Thanh ghi điều khiển: thanh ghi CR0, CR1, CR2,CR3,CR4 xác định chế
độ làm việc của bộ vi xử lý cũng nh các đặc điểm của nhiệm vụ đang chạy
- CR0 chứa cờ đièu khiển hệ thống,các cờ này điều khiển chế độ làm việc và
trạng thái của bộ vi xử lý.

- CR1 dự trữ
- CR2: chứa địa chỉ gây ra lỗi trang ( page fault ).
- CR3: chứa địa chỉ cơ sở của th mục trang và hai cờ PCD PWT. Thanh ghi
này còn đợc gọi là thanh ghi cơ sở th mục trang PDPR( page directory base
register ).Chỉ có 20 bit cao của địa chỉ cơ sở đợc ghi trong CR3, 12 bit thấp đợc
mặc định bằng 0 vì địa chỉ danh mục trang phải đợc phân theo đơn vị nhỏ nhất là
trang (4 KB, 12 bit).Cờ PCD và PWT kiểm tra quá trình lu trữ danh mục trang
trong bộ đệm bên trong . Khi sử dụng địa chỉ vật lý mở rộng ( physical address
extension ), thanh ghi CR3 chứa địa chỉ cơ sở của bảng con trỏ th mục trang
( page directory pointer table ).
- CR4 : chứa một nhóm cờ cho phép mở rộng cấu trúc bộ vi xử lý.
Lệnh MOV cho phép đọc nội dung các thanh ghi điều khiển từ chơng trình
chạy trên một mức u tiên bất kỳ . Chỉ những chơng trình có mức u tiên 0 là đợc
phép ghi lên các thanh ghi này.Nội dung các cờ trong thanh ghi điều khiển đợc
liệt kê sau đây:
- Cờ phân trang PG Paging (bit 31 của CR0) cho phép phân trang khi đặt lên
1. Khi phân trang bị cấm ( PG=0) địa chỉ tuyến tính đợc coi nh địa chỉ vật lý. Cờ
PG không có ý nghĩa nếu nh cờ PE( bit 0 của CR0) không đợc đặt về 1. Đặt cờ
PG=1 mà PE=0 gây ra ngoại lệ #GP(general protection exception)
- Cờ cấm đệm CD cache disable( bit 30 của CR0). Xoá cờ CD và NW về 0
cho phép đệm toàn bộ nhớ vật lý. Cờ CD=1 ngăn bộ vi xử lý truy nhập các bộ
đệm của nó
- Cờ cấm ghi xuyên NW not write- through( bit 29 của CR0). Xoá cờ NW và
CD về 0 cho phép ghi lại hay ghi xuyên
- Cờ khuôn chỉnh vị AM alignment mask ( bit 18 của CR0). AM = 1 cho
phép kiểm tra tự động chỉnh vị. Tự động chỉnh vị chỉ xảy ra khi AM = 1, AC của
thanh ghi EFLAGS =1, mức u tiên CPL = 3 và bộ vi xử lý đang hoạt động trong
một trong chế độ : bảo vệ hoặc 8086 ảo
- Cờ bảo vệ viết WP write protect( bit 16 của CR0) WP=1 cấm các chơng
trình ở mức quản lý ghi vào các trang chỉ đợc đọc của mức ngời sử dụng. Cờ này

cho phép cài đặt phơng pháp copy on write thờng đợc dùng trên hệ điều hành
UNIX
- Cờ lỗi số học NE numeric error( bit 5 của CR0) NE= 1 cho phép báo các lỗi
đơn vị dấu chấm động FPU theo phơng pháp trong. NE=0 báo lỗi theo phơng
pháp của máy tính cá nhân. Nếu NE=0 và chân IGNE# của bộ vi xử lý đợc kích ,
lỗi FPU bị bỏ qua. Nếu NE=0 và chân IGNE# không bị kích , lỗi FPU không che
xuất hiện và khiến bộ vi xử lý đa ra tín hiệu tại chân FERR#. Tín hiệu này báo
một ngắt ngoài dừng thực hiện lệnh trớc khi thực hiện một lệnh số học mới hay
lệnh WAIT/FWAIT. Chân FERR# tơng ứng với chân ERROR# của các bộ đồng
xử lý 287, 387 DX đợc nối với bộ điều khiển ngắt bên ngoài
K thut phn mm 2 k6
12
Vi xử lý 80386
- Cờ loại mở rộng ET( bit 4 của CR0) đợc dùng để ghi nhận sự tồn tại của bộ
đồng xử lý toán học
- Cờ chuyển nhiệm vụ TS ( bit 3 của CR0) cho phép làm chậm lu trữ trạng
thái FPU đến khi FPU đợc nhiệm vụ mới truy nhập. Bộ vi xử lý đặt cờ này lên 1
mỗi khi chuyển trạng thái và kiểm tra nó mỗi khi dịch một lệnh số học. Nếu TS
=1 ngoại lệ không có thiết bị #NM xuất hiện trớc khi thực hiện lệnh số học. Nếu
cờ TS =1 và MP =1( bit 1 của CR0) ngoại lệ trên xuất hiện trớc cả khi thực hiện
lệnh WAIT/FWAIT. Bộ vi xử lý không tự động lu trữ trạng thái của FPU nó chỉ
đặt TS lên 1 và gây lên ngoại lệ #NM. Chơng trình xử lý ngoại lệ #NM có thể
dùng để xoá cờ TS và lu trữ trạng thái FPU. Nh vậy, nếu nhiệm vụ không bao giờ
dùng đến lệnh số học thì nội dung FPU không bao giờ đợc lu trữ
- Cờ mô phỏng EM( bit 2 của CR0) EM =1 cho biết bộ nhớ không có đơn vị
xử lý toán học. Nếu EM =1 các lệnh số học gây ra ngoại lệ không có thiết bị
#NM. Nếu bộ vi xử lý có đơn vị đồng xử lý mà dùng phần mềm mô phỏng
- Cờ quan sát bộ đồng xử lý MP( bit 1 của CR0) kiểm tra tơng quan giữa lệnh
WAIT và cờ TS . Nếu MP =1, TS =1 lệnh WAIT gây nên ngoại lệ #NM. Nếu
MP=0 lệnh WAIT bỏ qua cờ TS

- Cờ cho phép bảo vệ PE ( bit 0 của CR0) cho phép chế độ bảo vệ khi PE=1.
Bộ vi xử lý hoạt động trong chế độ thực khi PE=0. Cờ này không trực tiếp cho
phép phân trang. Để phân trang cờ PE và PG đều cần đợc đặt lên 1
- Cờ cấm đệm mức trang PCD ( bít 4 của CRE3) kiểm tra đệm của th mục
trang hiện thời. Khi PCD =1 th mục trang không đợc đệm. Cờ này chỉ quản lý bộ
nhớ đệm bên trong bộ vi xử lý. Bộ vi xử lý bỏ qua cờ này nếu nh phân trang
không đợc sử dụng
- Cờ PWT (bit 3 của CR3) kiểm tra phơng pháp ghi xuyên hay ghi lại của th
mục trang hiện tại. Nếu PWT =1 phơng pháp ghi xuyên đợc dùng. Cờ này chỉ
quản lý bộ nhớ đệm bên trong bộ vi xử lý. Bộ vi xử lý bỏ qua cờ này nếu nh phân
trang không đợc sử dụng
- Cờ ngắt ảo chế độ bảo vệ PVI ( bit 1 của CR4) PVI =1 cho phép dùng phần
cứng cho cờ ngắt ảo trong chế độ bảo vệ
- Cờ cấm đánh dấu thời gian TSD( bit 2 của CR4) TSD =1 hạn chế lệnh
RDTSC chỉ chạy trên mức u tiên 0. TSD =0 cho phép lệnh này chạy trên mọi u
tiên
- Cờ mở rộng debugDE (bit3 của CR4) DE =1gây ra ngoại lệ mã lệnh vô
danh #UD. Nếu DE =1 bộ vi xử lý so sánh các thanh ghi DR4 và DR5 để đảm
bảo tơng thích với các bộ vi xử lý thế hệ trớc
- Cờ mở rộng kích thớc trang PSE (bit 4 của CR4) PSE =1 cho phép phân
trang theo không gian địa chỉ vật lý 36 bit. Nếu PAE =0 thì bộ vi xử lý phân
trang trong không gian 32 bit
- Cờ cho phép kiểm tra máy MCE( bit 6 của CR4) MCE =1 cho phép ngoại
lệ kiểm tra máy
Các cờ VME, PVI, TSD, DE, PSE, PAE, MCE, PGE, PCE trong thanh ghi
điều khiển CR4 đến phụ thuộc vào dạng vi xử lý. Sự tồn tại của chúng đợc kiểm
tra bằng lệnh CPUID trớc khi sử dụng
K thut phn mm 2 k6
13
Vi xử lý 80386

III. Các chế độ vận hành của bộ vi xử lí 80386
CPU 80386 có thể vận hành theo một trong 3 chế độ khác nhau: chế độ thực (
real mode); chế độ bảo vệ( protected mode) và chế độ 8086 ảo ( virtual 8086
mode).Chế độ vận hành của CPU phải đợc thiết lập trớc bằng phần cứng.
1.Chế độ thực : chế độ thực của bộ vi xử lí 80386 hoàn toàn tơng thích với
chế độ vận hành của bộ vi xử lí 8086. Trong chế độ này, không gian địa chỉ của
80386 bị giới hạn ở mức 220= 1MB giống nh không gian địa chỉ của 8086 mặc
dù địa chỉ của 80386 có 32 đờng dây. Thanh ghi cờ cho chế độ này chỉ là 16 bit.
Khi khởi động , 80386 làm việc ở chế độ thực. Mục đích chính của chế độ này là
khởi đầu cho 80386 chuẩn bị cho chế độ bảo vệ. Môi trờng thực hiện lệnh của bộ
vi xử lý trong chế độ này sao chép môi trờng của bộ vi xử lý 8086. Đối với một
chơng trình 8086, bộ vi xử lý đợc coi nh một vi mạch 8086 tốc độ nhanh. Những
đặc điểm chính của chế độ này là:
Bộ vi xử lý dùng không gian địa chỉ vật lý 1Mbyte. Không gian này đợc
chia làm nhiều đoạn, mỗi đoạn dài 64 kbyte. Địa chỉ cơ sở của đoạn nằm trong
bộ chọn đoạn hay thanh ghi đoạn16 bit. Giá trị này đợc nhân với 16 và cộng với
địa chỉ lệch để tính địa chỉ vật lý 20 bit
Mọi tham số của 8086 đều dài 8 hay 16 bit
Chơng trình dùng 8 thanh ghi đa chức năng 16 bit AX, BX,CX,DX,SP, BP,
SI, DI
Có 4 thanh ghi đoạn: CS, DS, SS, ES . CS chứa bộ chọn đoạn mã lệnh. DS
và ES chứa bộ chọn đoạn dữ liệu. SS chứa bộ chọn đoạn ngăn xếp
Con trỏ lệnh 16 bit IP đợc ánh xạ vào 16 bit thấp của EIP
Thanh ghi cờ 16 bitFLAGS đợc ánh xạ vào 16 bit thấp của FLAGS
Mọi mã lệnh của 8086 đều dùng đợc
Một ngăn xếp có chiều rộng 16 bit dành cho tiểu trình, ngắt và ngoại lệ.
Ngăn xếp này nằm trong đoạn ngăn xếp mà thanh ghi SS trỏ tới. Con trỏ ngăn
xếp SP chứa địa chỉ lệch nằm trong đoạn ngăn xếp. Ngăn xếp nở xuống ( hớng
địa chỉ lệch thấp hơn). Thanh ghi con trỏ cơ sở BS cũng chứa một địa chỉ lệch
của đoạn ngăn xếp BS có thể dùng để trỏ đến một danh sách tham số. Khi lệnh

CALL đợc thực hiện, bộ vi xử lý đa con trỏ lệnh hiện tại cũng nh nội dung thanh
ghi đoạn mã lệnh CS vào ngăn xếp. Khi quay lại từ lệnh RET, những giá trị này
đợc phục hồi từ ngăn xểp trở lại các thanh ghi tơng ứng. Khi xuất hiện ngắt hay
ngoại lệ bộ vi xử lý đa nội dung EIP, CS và EFLAGS vào ngăn xếp và phục hồi
chúng sau khi quay lại từ chơng trình xử lý ngắt với lệnh IRET
Bộ vi xử lý dùng một bảng vectơ ngắt duy nhất để lu trữ địa chỉ các chơng
trình xử lý ngắt. những địa chỉ này dài 4 byte, thay vì bộ mô tả 8 byte trong bảng
mô tả ngắt của chế độ bảo vệ. Số ngắt xác định vị trí vecto ngắt trong bảng, vectơ
này trỏ đến chơng trình xử lý ngắt tơng ứng
Đơn vị dấu chấm trợt FPU vẫn hoạt động và đợc dùng cho các lệnh FPU
trong chế độ địa chỉ thực. Các điểm sau đây đợc bổ sung thêm vào chế độ địa chỉ
thực của vi xử lý 32 bit. Nếu chơng trình cần có tơng thích ngợc, những đặc điểm
này không đợc dùng để lập trình:
- Thêm hai thanh ghi đoạn FS và GS
K thut phn mm 2 k6
14
Vi xử lý 80386
- Nhiều lệnh bổ sung vào cấu trúc vi xử lý sau này cũng chạy đợc trong chế
độ địa chỉ thực. Những lệnh này cho phép truy nhập các thanh ghi đa chức năng
32 bit
2.Chế độ bảo vệ: (còn gọi là chế độ đa nhiệm) chế độ bảo vệ đã đợc đầu tiên
đa vào bộ vi xử lí 80286.Chế độ này cho phép bộ vi xử lí 80386 dùng hết không
gian địa chỉ của nó là 232=4096 MB và cho phép nó vận hành dới một hệ điều
hành đa nhiệm. Trong hệ điều hành đa nhiệm, nhiều tiến trình có thể chạy đòng
thời và đợc bảo vệ chống lại các thâm nhập trái phép vào vùng ô nhớ bị cấm. Bộ
vi xử lý quản lý bộ nhớ trong chế độ bảo vệ theo hai phơng pháp chính: phân
đoạn và phân trang
Phân đoạn chia bộ nhớ thành từng phần riêng biệt dành cho mã lệnh, dữ
liệu và ngăn xếp. Nh vậy, nhiều chơng trình có thể chạy cùng một lúc mà không
ảnh hởng lẫn nhau. Phơng pháp này cho phép thiết kế nhiều hệ điều hành khác

nhau cho bộ vi xử lý Intel : từ mô hình phẳng( dùng rất ít phân đoạn để bảo vệ
chơng trình) đến mô hình đa đoạn (dùng phân đoạn để đảm bảo một môi trờng
an toàn cho nhiều nhiệm vụ)
- Mô hình phẳng cơ sở
Là mô hình nhớ đơn giản của một hệ thống. Mô hình này cho phép hệ điều
hành và chơng trình truy nhập một không gian địa chỉ liên tục và không phân
đoạn. Để thiết kế một mô hình bộ nhớ phẳng với cấu trúc Intel bộ vi xử lý cần ít
nhất hai bộ mô tả đoạn. Hai đoạn này ánh xạ trực tiếp lên toàn không gian địa
chỉ tuyến tính. Điều này có nghĩa là cả hai đoạn đều có địa chỉ cơ sở là 0 và cùng
có kích thớc 4 Gbyte. Bằng cách đặt kích thớc đoạn lên 4 Gbyte bộ vi xử lý
tránh đợc sự xuất hiện của ngoại lệ tràn đoạn.
- Mô hình phẳng bảo vệ
Tơng tự mô hình phẳng cơ sở điểm khác biệt duy nhất là kích thớc đoạn đợc
đặt đúng bằng kích thớc bộ nhớ vật lý đang tồn tại. Ngoại lệ lỗi bảo vệ xuất hiện
khi bộ vi xử lý truy nhập ra ngoài vùng bộ nhớ vật lý. Có thể làm mô hình này
phức tạp hơn để tăng khả năng bảo vệ. Mô hình bảo vệ này cùng phơng pháp
phân trang đơn giản bảo vệ hệ điều hành trớc các chơng trình ứng dụng. Nếu
dùng cấu trúc phân trang cho chơng trình ứng dụng, mô hình này cũng có thể
bảo vệ các chơng trình ứng dụng với nhau. Các mô hình tơng tự rất hay đợc dùng
trong các hệ điều hành chức năng thông dụng
- Mô hình đa đoạn
Sử dụng mọi chức năng của phơng pháp phân đoạn để bảo vệ các cấu trúc dữ
liệu, mã lệnh, chơng trình, nhiệm vụ. Trong mô hình này từng chơng trình đợc
phân cho một bộ mô tả đoạn riêng và một đoạn bộ nhớ riêng. Chơng trình có thể
dùng riêng đoạn bộ nhớ hay chia sẻ nó với các chơng trình khác. Phần cứng
kiểm tra việc truy nhập vào đoạn hay môi trờng thực hiện chơng trình. Truy nhập
bộ nhớ đợc kiểm tra xem có vợt quá giới hạn đoạn không hay vi phạm quyền
truy nhập không.
- Phân trang và phân đoạn
Phân trang đựơc dùng cho mô hình phân đoạn . Bộ vi xử lý chia không gian

địa chỉ tuyến tính thành từng trang. Các trang của không gian địa chỉ tuyến tính
này đợc ánh xạ đến không gian địa chỉ vật lý. Phựơng pháp phân trang có thể
bảo vệ theo trang. Khả năng này đợc dùng cùng hay thay thế cho khả năng bảo
vệ theo đoạn
K thut phn mm 2 k6
15
Vi xử lý 80386
Phân trang sử dụng bộ nhớ ảo chia thành nhiều trang, chỉ một phần của
chơng trình đang chạy đợc nạp vào bộ nhớ vật lý nếu cần thiết. Phân trang đợc
dùng để tách biệt các nhiệm vụ đang chạy trong cùng một thời điểm. Cho phép
bất kỳ một địa chỉ tuyến tính nào đợc tạo ra trong chơng trình đợc đặt trong một
trạng thái nhớ vật lý. Một trang nhớ tuyến tính là trang đợc định địa chỉ bằng các
giá trị selection và offset trong chế độ thực và chế độ ảo. một trang nhớ tồn tại
trong bộ nhớ vật lý có dung lợng 4 kbyte. Th mục trang chiếm một vùng nhớ
gồm 1024 bảng chuyển đổi trang PTT. Mỗi PTT chuyển đổi một địa chỉ logic
thành một địa chỉ vật lý. Để sử dụng chế độ này phải có một phần mềm đặc biệt
nh Quaterdeck Office Sytem DéQiew hoặc Microsoft Windows. Bảng trang chứa
1024 địa chỉ tuyến tính thành địa chỉ vật lý. Cơ chế phân trang cho phép bộ nhớ
vật lý đợc gán cho bất kỳ địa chỉ tuyến tính nào
Khi làm việc trong chế độ bảo vệ, cấu trúc Intel cho phép không gian địa chỉ
tuyến tính ánh xạ trực tiếp lên một bộ nhớ vật lý lớn ( chẳng hạn 4 Gbyte RAM)
hay gián tiếp lên một bộ nhớ nhỏ hơn và đĩa cứng ( dùng phân trang). Cách thứ
hai còn đợc gọi là bộ nhớ ảo. Khi nhiều chơng trình cùng chạy đồng thời mỗi ch-
ơng trình chiếm giữ một đoạn riêng của nó
Khi dùng phân trang, bộ vi xử lý chia không gian địa chỉ tuyến tính thành
nhiều trang có kích thớc cố định ( thờng là 4 Gbyte) các trang này có thể ánh xạ
vào bộ nhớ hay đĩa cứng. Khi một chơng trình yêu cầu truy nhập một địa chỉ
lôgic, bộ vi xử lý dịch địa chỉ lôgic này ra địa chỉ tuyến tính. Sau đó dùng phơng
phân trang, bộ vi xử lý biên dịch địa chỉ tuyến tính sang địa chỉ vật lý tơng ứng.
Nếu trang chứa địa chỉ tuyến tính trên không tồn tại trong bộ nhớ vật lý, bộ vi xử

lý gây ra ngoại lệ lỗi trang #PF. Chơng trình xử lý ngoại lệ này nạp trang cần
truy nhập vào từ đĩa cứng về bộ nhớ vật lý ( và có thể nạp một trang khác từ bộ
nhớ vật lý lên đĩa cứng để lấy chỗ ). Sau khi trang cần truy nhập có trong bộ nhớ
vật lý lệnh return từ chơng trình xử lý ngoại lệ khiến bộ vi xử lý thực hiện lại
lệnh đã gây ra ngoại lệ #PF. Thông tin mà bộ vi xử lý dùng để ánh xạ địa chỉ
tuyến tính vào không gian địa chỉ vật lý ( cũng nh để tạo ra ngoại lệ lỗi trang)đợc
lu trữ trong danh mục trang và bảng trang. Danh mục trang và bảng trang đều
nằm trong bộ nhớ vật lý.
Phân trang khác với phân đoạn ở chỗ nó dùng trang có kích thớc cố định.
kích thớc đoạn thờng chỉ lớn bằng đúng kích thớc dữ liệu hay mã lệnh bên trong
chúng. Nếu dùng phân trang nội dung một cấu trúc dữ liệu nằm một phần trong
bộ nhớ một phần trên đĩa cứng.
Để giảm tối thiểu số chu kì bus dành cho biên dịch địa chỉ, giá trị mới nhất
của danh mục trang và bảng trang đợc lu trữ trong một đệm đợc gọi là bộ đệm
biên dịch TLB. Chu kỳ bus chỉ đợc dùng tới khi địa chỉ trang không nằm trong
TLB
Trong chế độ bảo vệ, các thanh ghi đoạn không đợc xem nh địa chỉ bắt đàu
của đoạn mà là thanh ghi chọn ( selector ) gán các u tiên khác nhau cho các tiến
trình. Phần cốt lõi của hệ điều hành có u tiên cao nhất và ngời sử dụng có u tiên
thấp nhất. Chế độ bảo vệ của bộ vi xử lý cho phép chơng trình ứng dụng truy
nhập hệ điều hành theo một phơng thức chặt chẽ và đảm bảo. Quá trình kiểm tra
quyền truy nhập đợc tiến hành song song với quá trình biên dịch địa chỉ nên
không làm giảm tốc độ xử lý
3.Chế độ ảo: Chế độ này cho phép thiết lập một kiểu vận hành đa nhiệm
trong đó các chơng trình dùng trong chế độ thực, có thể chạy song song với các
K thut phn mm 2 k6
16
Vi xử lý 80386
tiến trình khác. Hoàn toàn tơng thích với chế độ ảo của 8086. Chế độ 8086 ảo
chạy trong chế độ bảo vệ. Khi hệ điều hành chuyển một nhiệm vụ sang chế độ

8086 ảo, bộ vi xử lý mô phỏng hoàn toàn vi xử lý 8086. Điểm khác nhau duy
nhất giữa chế độ địa chỉ ảo và chế độ địa chỉ thực của 8086 là chế độ mô phỏng
8086 dùng đến một số dịch vụ của chế độ bảo vệ( ngắt trong chế độ bảo vệ, xử lý
ngoại lệ và phân trang)
Tơng tự nh chế độ địa chỉ thực mọi chơng trình đợc hợp dịch hay biên dịch
của 8086 đều chạy đợc chế độ 8086 ảo. Dùng khả năng đa nhiệm của bộ vi xử
lý, nhiều chơng trình 8086 ảo có thể chạy song song với nhau
Bộ vi xử lý vào chế độ 8086 ảo khi cờ máy ảo VM trong thanh ghi FELAGS
đợc đặt lên 1. cờ này chỉ đợc phép đặt lên 1 khi bộ vi xử lý chuyển sang một
nhiệm vụ bảo vệ mới hay khi quay về chế độ 8086 ảo qua lệnh IRET. Hệ điều
hành không thể đổi trực tiếp đợc giá trị thanh ghi cờ nằm trong đoạn trạng thái
nhiệm vụ TSS sau khi chơng trình xử lý ngắt hoặc ngoại lệ. Bộ vi xử lý kiểm tra
cờ VM trong ba trờng hợp:
- Khi nạp thanh ghi đoạn để kiểm tra có phải biên dịch địa chỉ theo phơng
pháp 8086 không
- Khi giải mã lệnh để kiểm tra xem lệnh có thích hợp với chế độ 8086 không
- Khi giải mã lệnh để kiểm tra xem lệnh có thích hợp với chế độ 8086 không
- Khi kiểm tra các lệnh đợc u tiên, khi truy nhập trang ( chế độ địa chỉ ảo chỉ
hoạt động trên mức u tiên số 3)
IV.Hệ thống vào ra
1.Hệ thống vào ra(I/O system) của 80386 dựa trên nguyên tắc chung đã dùng
chung cho các loại 8086/8088 có 64 kb khác nhau của không gian vào/ ra. Địa
chỉ cổng vào ra xuất hiện trên bus địa chỉ A15-A2 với các tín hiệu BE3#-BE0#
để chọn một byte, môt từ , một kép của dữ liệu vào ra
2.Điểm khác : 80386 sử dụng hệ thống vào ra 32 bit và chia thành 4 băng
3. Các vùng vào/ra đợc đánh số từ 0000h-FFFFh. Bộ đồng xử lý toán học
80387 sử dụng vùng vào ra 800000F8 h để kết nối giữa 80387 và 80386
V.Quản lý bộ nhớ
Không gian bộ nhớ: bộ nhớ vật lý của 80386DX tối đa là 4 GB. Không
gian địa chỉ ảo có thể đến 64TB và sắp xếp thành các không gian nhớ vật lý dung

lợng 4 GB nhờ MMU. MMU bên trong 80386 tơng tự nh MMU bên trong 80286
nhng ngoài đơn vị phân đoạn của 80386 có thêm đơn vị phân trang
Với độ rộng dữ liệu 32 bit có thể tổ chức truy nhập trực tiếp bộ nhớ theo
từng byte, từ và từ kép trong một chu trình nhớ, trong khi đó 8088 phải cần tới 4
chu trình nhớ và 80286 cần tới 2 chu trình nhớ. Các byte trong hệ thống máy tính
80386 đợc đánh địa chỉ bằng 8 chữ số hệ 16 từ 00000000h-FFFFFFFFh
phơng pháp kỹ thuật kết nối các bộ nhớ tốc độ thấp với 8038
Kỹ thuật nhớ xen kẽ : nhằm mục đích kéo dài thời gian truy cập bộ nhớ
mà không cần phải đa vào các trạng thái chờ đợi trong chu kỳ bus. Bộ nhớ xen
kẽ chia thành hai phần một phần có các địa chỉ 32 bit 00000000h-00000003h,
000008-00000B phần còn lại có các địa chỉ 000004h-000007h, 00000C-
00000Ftrong khi vi xử lý truy cập tới vùng nhớ 000000-000007h thì logic điều
khiển xen kẽ tạo ra tín hiệu định thời địa chỉ cho vùng nhớ 000004h-000007h
K thut phn mm 2 k6
17
Vi xử lý 80386
Quá trình này liên tục do vi xử lý đa ra các địa chỉ các vùng nhớ liên tiếp
nhau. Thời gian truy nhập bộ nhớ nhờ kỹ thuật xen kẽ tăng từ 78ns đến 145.5ns
với nhịp đồng hồ hệ thống là 16Mhz. kỹ thuật đờng ống là một đặc điểm nhằm
giảm thời gian cho các hệ thống tốc độ chậm
Đánh địa chỉ ô nhớ
- 80386 sử dụng các thanh ghi mô tả tơng tự nh ở 80286. Trong cả 80286 và
80386 mỗi thanh ghi mô tả có độ dài 8 byte chứa thông tin về vị trí của đoạn cần
truy nhập. Thanh ghi chọn của 80386 đợc sử dụng nh là một chỉ số để trỏ tới
thanh ghi mô tả nằm trong bảng mô tả
- Sự khác nhau chính giữa 80286 và 80386 là 80386 có thêm các thanh ghi
đoạn FS và CS vì thế nó có thêm các thanh ghi mô tả cho các đoạn này. Ngoài ra,
các thanh ghi mô tả của 80386 sử dụng địa chỉ cơ sở 32 bit và các giá trị giới hạn
đoạn cho địa chỉ cơ sở 24 bit và giá trị Limit 16bit của các thanh ghi mô tả trong
80286. Nh vậy, 80386 đánh địa chỉ tới 4GB nhớ và phân bộ nhớ thành các đoạn

kích thớc tới 1 MB - Thanh ghi mô tả của 80386 cũng bao gồm : địa chỉ cơ sở
đoạn giới hạn đoạn và quyền truy cập tới đoạn. Giá trị thanh ghi chọn là mã 13
bit nó xác định một trong 8192 thanh ghi mô tả trong bảng mô tả đoạn.
- Giá trị thanh ghi chọn có bit TI và 2 bit RPL. Nếu TI=0 thì chọn bảng GDT
nếu TI=1 thì chọn bảng LDT. Ngoài GDT và LDT, còn có bảng mô tả ngắt hay
các cổng
- 80386 có 3 loại bảng mô tả: GDT, LDT, IDT để quản lý chúng có các thanh
ghi GDTR, LDTR, IDTR. Những thanh ghi này đợc nạp giá trị nhờ các lệnh tơng
ứng:LGDT, LLDT, LIDT.
- Các thanh ghi mô tả có hai dạng: thanh ghi mô tả đoạn và thanh ghi mô tả
hệ thống. Thanh ghi mô tả đoạn xác định các đoạn dữ liệu, đoạn ngăn xếp và
đoạn mã. Còn thanh ghi mô tả hệ thống chứa thông tin về các bảng, các nhiệm
vụ và các cổng của hệ thống
- Còn thanh ghi mô tả hệ thống chứa thông tin về các bảng các nhiệm vụ và
các cổng của hệ thống
- Thanh ghi mô tả hệ thống của 80386 đợc sử dụng khi 80386 ở trong chế
độ bảo vệ. Giá trị 4 bit của Type trong Access Rights trong thanh ghi mô tả
hệ thống cho ta 16 tổ hợp có ý nghĩa
VI.Kiến trúc tập lệnh
80386 có tập lệnh lớn và phức tạp là loại VXL kiến trúc CISC( complex
Instructions Set Computer)
Mod Ss index
base
Add disp imm
Mã lệnh (2 bytes); mod r/m byte ( 1 byte); s-i-b byte(1byte);(1,2,4 hoặc 0
byte)
Trong đó: mod r/m byte : 2 bit chế độ ( mod) và 3 bit r/m ( thanh ghi/bộ
nhớ) tạo ra 5 bit dùng để chỉ ra chế độ địa chỉ cho các toàn hạng của lệnh
s-i-b-byte: 2 bit cho ss( trong chế độ địa chỉ số)
K thut phn mm 2 k6

18
Vi xử lý 80386
3 bit cho index( thanh ghi chỉ số)
3 bit cho base ( thanh ghi cơ sở)
Add disp ( address displacement): địa chỉ dịch chuyển có thể có hoặc không
Imm (immediate data): dữ liệu tức thì ( trong chế độ địa chỉ tức thì) có thể có
hoặc không
Một số đặc điểm của kiến trúc CISC là sử lý một lệnh lớn các lệnh trong
đó nhiều lệnh thực hiện những tính toán có mức phù hợp cao. Đặc điểm này phù
hợp với các nghiên cứu ở những năm 70, nhiều lệnh phức hợp đã đợc tạo ra ngay
trong CPU mà ngời lập trình hay bộ biên dịch không bao giờ sử dụng đến. Kinh
phí rất lớn cho việc gắn một số lợng lớn các lệnh vào CPU cộng với công việc là
trên 60% transitor trên chip đều đợc các bộ giải mã lệnh sử dụng. Đó cũng một
số điểm hạn chế của kiến trúc CISC.
Bộ xử lý CISC các lệnh có thể là 1.2 thậm chí là 6 byte. Kích thớc thay đổi
và đặc điểm này làm cho công việc của bộ giải mã lệnh khó khăn hơn nhiều. Dữ
liệu có thể đợc sử lý trong bộ nhớ.
Và để khắc phục những hạn chế của CISC đã ra đời với sự kế thừa những
điểm tốt của CISC và thay đổi một số đặc điểm để phù hợp với công nghệ ngày
nay
VII.Công nghệ mới
80386 là VXL đầu tiên sử dụng thanh ghi 32 bit cho phép tăng không gian
nhớ lên đến 4 GB với 4 băng nhớ, không gian địa chỉ ảo có thể lên tới 64 GB.
Ngoài ra, 80386 còn có 1 số thanh ghi đặc biệt mà các VXLtrớc đó không có: đó
là thanh ghi gỡ rối ( DR0-DR4) và kiểm tra (TR0-TR4) các thanh ghi điều khiển
(CR0- CR4) 80386 có chế độ 8086 ảo cho phép chuyển đổi dễ dàng giữa 2 chế
độ thực 8086 và chế độ bảo vệ. đây là điểm rất khác biệt so với 80286
80386 có tốc độ vợt trội mà không có loại DRAM nào vào thời điểm đó t-
ơng thích đợc, do đó 80386 đã sử dụng phơng pháp nhớ trung gian tốc độ nhanh
mà các thế hệ trớc cha có

Sau sự thành công của vi xử lý 80386 là hàng loạt vi xử lý hiện đại ra đời
khắc phục đợc những nhợc điểm cũng nh kế thừa những u điểm và bổ sung thêm
một số phần so với vi xử lý 80386. ví dụ nh bộ vi xử lý của Intel: 80486, pentium
I, pentium II, pentium III, pentium pro những vi xử lý trên hơn hẳn vi xử lý
80386 ở tốc độ truy nhập cũng nh khả năng xử lý và lu dữ liệu trên câc thanh ghi
Hiện nay trên thế giới khi nói đến chip điện tử ngời ta nghĩ ngay đến tập
đoàn Intel. Không chỉ dừng lại ở chip 80386 Intel đã thể hiện sức mạnh bằng
việc cho ra đời bộ vi xử lý 80486 với những tính năng vợt trội so với 80386 là sự
hiện diện của bộ đồng xử lý dấu chấm động, bộ điều khiển bộ nhớ và 8 K bộ nhớ
( cache) truy nhập nhanh trên một chip đơn. Thêm vào đó 80486 nhanh hơn
80386 từ 2 đến 4 lần cũng nh thích hợp hơn với các hệ thống đa xử lý. Với tốc độ
xử lý 35 MHZ những phiên bản tiếp theo có tốc độ là 33 MHZ và 50 MHZ ,
Chip 80486 SX đơc sản xuất vào năm 1991 và phiên bản giá thành thấp của
80486 có nhiều nét giống 80486 DX nhng không có bộ đồng xử lý dấu chấm
động
K thut phn mm 2 k6
19
Vi xử lý 80386
Năm 1992, 80486 đợc tăng cờng tốc độ ở các phiên bản DX2, DZ4. ta có
một số các điển hình sau:
40MHZ DX2 cho những PC có tốc độ bus cao hơn 16 MHZ hoặc 20 MHZ
50 MHZ DX2 cho những PC có tốc độ bus cao hơn 25 MHZ
66 MHZ DX2 cho những PC có tốc độ bus cao hơn 33 MHz
100 MHz DX4 cho những PC có tốc độ bus cao hơn 100 MHz
Tháng 10 năm 1992 Intel công bố chip Pentium hay còn gọi là chip 80586.
chíp này xuất hiện trên thị trờng vào tháng 3 năm 1993. Pentium hoàn toàn tơng
thích với các chip trớc đây nh 80386 và 80486 nhng cũng có nhiều đặc trng khác
biệt
Pentium có khả năng thực hiện cả hai chơng trình cùng một lúc gọi là công
nghệ siệu bo hớng công nghệ này có khả năng kết hợp với các mấy có tập chỉ

thị thu nhỏ RIC. Pentium tơng thích 100% với các phần mềm của 80386 và
80486 nhng có thời gian thực thi nhanh hơn nhiều, Intel đã phát triển nhiều trình
biên dịch đẻ tận dụng khả năng mạnh mẽ của chip này
Pentium 32 bit địa chỉ và 64 bit dữ liệu mặc dù vẫn chỉ có những thanh ghi 32
bit bên trong
Pentium có hai bộ nhớ truy cập nhanh (cache) ở bên trong mỗi bộ có 8 K kèm
theo bộ điều khiển cache
Pentium có tốc độ bus cao vợt trội các loại khác trớc đó 75/100/120/133/150
Mhz
Pentium cũng có nhiều thế hệ, thế hệ 1 có tốc độ 60.66 Mhz, tích hơp khoảng
3.3 triệu transitor trên một chip. Pentium thế hệ thứ hai có các phiên bản
75/100/120/133/150/166/200 Mhz, tích hợp trên 3.3 transistor trên một chip.
(các tốc độ bus trên board mẹ nhân với một hệ số, thờng là 1.5,2,2.5,3) ở thế hệ
thứ 3 có các loại nh: pentium MMX đợc công bố vào tháng 1 năm 1997 có các
phiên bản 166/200/233 với trên 4.5 triệu transistor trên một chip. Công nghệ
MMX đợc Intel sử dụng để đáp ứng nhu cầu về truyền thông đa phơng tiện.
Pentium MMX có thêm 57 chỉ thị mới để quản lý dữ liệu video, âm thanh và đồ
hoạ
Tháng 5 năm 1997, Intel bắt đầu công bố chip pentium II có loại tốc độ bus là
233/266/300 Mhz với tích hợp hơn 7.5 triệu transistor trên một chip. Pentium
chip này có bus cache là tích hợp 64 bit, bus dữ liệu bên ngoài 64 bit và có tốc
độ rộng bên trong là 300 bit
Một thời gian ngắn sau đó, pentium III ra đời với các phiên bản có tốc độ bus
300/500/800 Mhz
Hiện nay các máy tính đời mới dùng chip Intel pentium IV, đợc hỗ trợ Hyper
Threading Technology( HT Technologi). Đây là một tiến bộ lớn của sản phẩm
Intel. Bộ vi xử lý Pentium IV đợc thiết kế tăng cờng hiệu quả công việc hỗ trợ
mạng cá nhân ứng dụng trên Internet, xử lý ảnh , các ứng dụng 3D, game dòng
sản phẩm CPU Pentium IV Extreme Edition có tốc độ 3.2Ghz và Pentium IV có
tốc độ 3.20; 2.80; 2.60; 2.40 có bus hệ thống 800MHz là 3.20; 2.80; 2.66; 2.53;

2.40. Bus 400MHz có các loại 2.60; 2.50; 2.40. Chúng đợc tích hợp cache L3
K thut phn mm 2 k6
20
Vi xử lý 80386
dugn lợng 2 MB chỉ có ở CPU Pentium IV Extreme Edition tốc độ 3.20 GHz,các
loại khác không tích hợp bộ nhớ cache dung lợng 512 KB có ở Pentium IV tốc
độ từ 2.40 đén 3.20 GHz bao gồm 3.20; 2.80; 2.60 GHz với bus hẹ thống 800
MHz.
Việc ứng dụng công nghệ HT Technology đã nói ơ trên đaz giúp cho ngời sử
dụng Pentium IV triển khai đợc nhiều ứng dụng mạnh mà vẫn đạt đợc hiệu suất
làm việc tối đa.Ngời sử dụng có thể sử dụng nhiều chơng trình, xử l ý thông tin
cùng lúc mà vẫn không sợ bị treo hệ thống.Sự phát triển của tập đoàn Intel luôn
đI cùng với sự phát triển của công nghiệp máy tính.Từ những CPU 4 bit hiện nay
đã có các CPU 64 bit với vô số các tính năng u việt về tốc độ, độ bền, độ tiết
kiệm điện và với xu thế giá cả ngày càng phải chăng. chắc chắn Internet còn vô
số dự định phát triển trong tơng lai để đa đén cho chúng ta những bộ vi xử lý
mạnh mẽ nhất, đáp ứng nhu cầu xử lý thông tin ngày càng cao của toàn thế giới.
K thut phn mm 2 k6
21
Vi xử lý 80386
VIII.Kết luận
80386 là một bộ vi xử lý 32 bit do hãng Intel đa ra vào tháng 10 năm 1985
và đợc dùng trong các máy IBM và tơng thích chẳng hạn nh PS/2 Model 80. Intel
80386 đại diện cho bớc tiến có tính cách mạng so với tiền thân của nó
Chip 80386 là một bộ vi xử lý hoàn toàn 32 bit có nghĩa là nó các thanh
ghi 32 bit truyền thông tin mỗi lần 32 bit trên bus dữ liệu và có thể dùng 32 bit
để định địa chỉ giao tiếp này gọi là giao tiếp cục bộ
Sau khi thực hiện viết tài liệu này chúng tôi thấy rằng kiến thức của mình
về bộ vi xử lý ngày càng sâu hơn. Đã hiểu hơn về cách hoạt động cũng nh sự
phát triển cùng với tầm quan trọng của bộ vi xử lý. Học đợc cách làm việc theo

nhóm cũng: đó là rất cần sự đoàn kết và sự tự giác của mỗi thành viên mỗi thành
viên trong nhóm luôn ý thức rất cao về công việc của mình.
Để có đợc tài liệu trên chúng tôi đã tham khảo tài liệu của một số thầy và
tác giả cùng vi một số website sau:
Giáo trình kiến trúc máy tính- Ths Vơng Quốc Dũng
Sách Cấu trúc máy vi tính và thiết bị ngoại vi -Nguyễn Nam
Trung
Website:
K thut phn mm 2 k6
22
Vi xử lý 80386
Mục lục
Mở đầu 1
Lịch sử phát triển của họ vi xử lý iX86 1
Cấu trúc khối 3
Các chế độ vận hành của vi xử lý 80386 13
Hệ thống vào ra 17
Quản lý bộ nhớ 17
Kiến trúc tập lệnh 18
Công nghệ mới 19
Kết luận 22
Tài liệu tham khảo 23

K thut phn mm 2 k6
23

×