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

NGHIÊN CỨU TÌM HIỂU VỀ THẾ HỆ VI XỬ LÝ 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 (307.57 KB, 18 trang )

Vi x lý 80386 Cõu 23

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 môn
Kiến trúc máy tính
Đề tài: Nghiên cứu tìm hiểu về thế hệ vi xử lý
80386 (SL, SX, DX..)
Sinh viờn thc hin: ao Vn Thụng
Mó s SV: 1331060108
Lp: Cao ng Tin3 K13

Giáo viên hớng dẫn: Th.S Vơng Quốc Dũng
Hà Nội, Ngày 22 tháng 6 năm 2012

Mở đầu:

Tổng quan về báo cáo vi xử lý 8086
Vi xử lý là thiết bị gây đợc nhiều ấn tợng nhất trong hệ thống máy tính. Chúng
làm tờng hợp bộ náo máy tính vào một thiết bi điện tử riêng 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, càng ngày càng khẳngđịnh đợc tầm ảnh hởng của nó tới mọi lĩnh vực
của cuộc sống. 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.
1
Kin trỳc mỏy tớnh


Vi x lý 80386 Cõu 23

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. Khái quát về bộ vi xử lý 80386 và lịch sử phát triển
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

I.Khái quát về bộ vi xử lý 80386 và lịch sử phát triển
Các Intel 80386 hay còn gọi là i386, hoặc 386 là một 32-bit, bộ vi xử lý đ ợc
giới thiệu bởi Intel vào năm 1986. Các phiên bản đầu tiên đã có 275000 bóng bán dẫn
và đã đợc sử dụng nh là đơn vị trung tâm (CPU) của nhiều trạm máy,các máy tính cá
nhân. Khi thực hiện ban đầu của 32-bit mở rộng của 80386,kiến trúc ,tập lệnh 80386,
mô hình lập trình và mã nhị phân là mẫu chung cho tất cả 32-bit x86, bộ xử lý. Điều
này gọi là x86, IA-32, hoặc các kiến trúc i386, tùy thuộc vào ngữ cảnh.
Các 80386 cụ thể thực thi mã
một cách chính xác nhất dành cho bộ xử
lý x86 16-bit trớc đó nh 8088 và 80286
đó đợc phổ biến vào đầu máy tính. Thế
hệ mới tiếp theo thế hệ mới bộ vi xử lý
64-bit x86 cụ thể chạy hầu hết các chơng trình viết cho các chíp cũ hơn, tất
cả các cách quay trở lại nguyên bản 16bit 8086 của năm 1978. Trong những

năm qua , mới triển khai thực hiện liên Intel 80386 DX đợc xếp hạng ở 16 MHx
tiếp cùng một kiến trúc đã trở thành vài
từ 1986 đến tháng chin
trăm lần nhanh hơn với ban đầu 80386 Sản xuất:
năm 2007
(và hàng ngàn lần so với 8086). Một 33
Intel
Nhà
sản
xuất:
MHz 80386 đó đợc báo cáo đánh giá
AMD
Sẩn
xuất
hoạt động ở khoảng 11,4 MIPS.
IBC
Các 80386 đợc đa ra vào tháng Max CPU tốc
12 MHz đến 40 MHz
Mời năm 1985 có đầy đủ các tính năng đồng hồ
của chip,lần đầu tiên đợc đa ra vào quý
kích thớc
1.5m để 1m
III năm 1986. Bo mch chủ cho máy Min
tính
năng
tính dựa trên hệ thống-80386, tuy lúc
đầu rất rờm rà và tốn kém những sản
xuất là hợp lý khi 80386 chính thức đợc Hỡng dẫn thiết x86 ( IA-32 )
thông qua. Việc đầu tiên máy tính cá lập
132-pin PGA , 132-pin

nhân để làm cho việc sử dụng của 80386 Gói(s)
PQFP ; SX biến thế : 88đợc thiết kế và sản xuất bởi compaq và
pin PGA, 100-pin PQFP
đánh dấu lầ đầu tiên một thành phần cơ
2
Kin trỳc mỏy tớnh


Vi x lý 80386 Cõu 23

bản trong các máy máy IBM PC tơng thích chuẩn đã đợc cập nhật bởi một công ty
khác hơn so với IBM.
Trong năm 2006, Intel đã công bố rằng sẽ ngừng sản xuất 80386 vào cuối tháng
9 năm 2007. Mặc dù từ lâu đã lỗi thời nh là một máy tính cá nhân CPU, Intel và những
nhà sản xuât khác đã tiếp tục làm cho các chíp cho các thế hệ thống nhũng. Hệ thống
nh vậy bằng cách sử dụng một 80386 hoặc một trong nhiều chất dẫn xuất là phổ biến
trong thế giới công nghệ.
Bộ vi sử lý là một quá trình phát triển đáng kể trong các x86 kiến trúc, tiền thân
của x86 là bắt đầu từ Intel 8008.VSL 80286 là thế hệ tiền của 80386, sử dụng hệ thống
xử lý 16 bit với sử dụng kỹ thuật phân đoạn bộ nhớ và quản lý dựa trên hệ thống bảo
vệ. VSL 80386 sử dụng hệ thống 32-bit và kỹ thuật phân trang dịch thuật đơn vị, làm
cho nó dễ dàng hơn để thực hiện điều hành hệ thống sử dùng bộ nhớ ảo. Nó cũng đã hố
trợ cho phần cứa khắc phục và sửa lỗi.
Các đặc chế độ hoạt động cơ bản của 80386 gồm 3 đặc trng: Chế độ thực, bảo
vệ chế độ và chế độ ảo. Các chế độ trong 286 đã đợc phát triển trong 386 tăng địa chỉ
lên đến 4 GB bộ nhớ. Tất cả các chế độ bộ nhớ ảo 8086 (hoặc VM86) đã làm cho nó
chạy một hoặc nhiều chế độ thực các chơng trình trong môi trờng bảo vệ, mặc dù một
số chơng trình không tơng thích.
Kiểu bộ nhớ 32-bit của 386 cho là sẽ có sự thay đổi tính năng quan trọng nhất
đối với họ hàng nhà x86 cho đến khi AMD phát hành x86-64 vào năm 2003.

Kiến trúc s trởng trong sự phát triển của 80386 là John H. Crawford. Ông chịu
trách nhiệm mở rộng 32-bit của kiến trúc 80286 và tập lệnh.
Các 80486 và P5 Pentium đều thiết kế dựa trên kiến trúc của vi xử lý 80386.
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
3
Kin trỳc mỏy tớnh


Vi x lý 80386 Cõu 23

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

CPU

Bộ nhớ
chính

Bus địa chỉ
Mạch
Các thiết
ghép nối
bị vào ra
vào ra

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
- 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 2n 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 232 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
4
Kin trỳc mỏy tớnh


Vi x lý 80386 Cõu 23

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à 212=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
lệnh
Thanh ghi
Các cờ từ
Thanh ghi cờ
clock
tín hiệu tạo
xung nhịp


Mã lệnh
đơn vị điều
khiển

các tín
điều khiển bên ngoài

Bus
iu khin

các tín hiệu điều
Khiển bên trong CPU Các thanh ghi
-Vận chuyển dữ liệu giữa
các thanh ghi
-ALU

các tín hiệu yêu cầu
từ bên ngoài

- Đơ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
Kin trỳc mỏy tớnh


Vi x lý 80386 Cõu 23

5. Khối giải mã lệnh

Bộ giải mã lệnh gồm ba bộ giải mã con 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
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
6
Kin trỳc mỏy tớnh


Vi x lý 80386 Cõu 23

- 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
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
Các thanh ghi đoạn
40 Gbyte
15
0 CS
đoạn

DS
chồng lên
nhau
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
7
Kin trỳc mỏy tớnh


Vi x lý 80386 Cõu 23

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
DS
SS
ES
FS
GS


đoạn mã
lệnh
đoạn dữ
liệu
đoạn ngân
xếp

các đoạn đều cùng nằm
trong một không gian
bộ nhớ tuyến tính
đoạn
dữ
liệu
đoạn
dữ
liệu
đoạn
dữ
liệu

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 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
8
Kin trỳc mỏy tớnh


Vi x lý 80386 Cõu 23

-

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:
- 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
9
Kin trỳc mỏy tớnh


Vi x lý 80386 Cõu 23

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
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
- 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ó
10
Kin trỳc mỏy tớnh


Vi x lý 80386 Cõu 23

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.
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
11
Kin trỳc mỏy tớnh


Vi x lý 80386 Cõu 23

đ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 bit FLAGS đợ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
- 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 ch12
Kin trỳc mỏy tớnh


Vi x lý 80386 Cõu 23

ơ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
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ý
13
Kin trỳc mỏy tớnh


Vi x lý 80386 Cõu 23

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 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, 00000800000B 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
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ả
14
Kin trỳc mỏy tớnh


Vi x lý 80386 Cõu 23

- 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
base

index

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ố)
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

15
Kin trỳc mỏy tớnh


Vi x lý 80386 Cõu 23

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
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ạ
16
Kin trỳc mỏy tớnh


Vi x lý 80386 Cõu 23

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 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.
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 em 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ý.
Để có đợc tài liệu trên em đã tham khảo tài liệu của một số thầy và tác giả cùng
vói 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: /> /> />
17
Kin trỳc mỏy tớnh



Vi x lý 80386 Cõu 23

Mục lục

I.Khái quát về bộ vi xử lý 80386 và lịch sử phát triển....................................................2
II.Cấu trúc khối..............................................................................................................3
1. Đóng vỏ và các chân chức năng:...........................................................................3
2.Hệ thống bus...........................................................................................................4
3. Khối quản lý bộ nhớ...............................................................................................5
4. Khối điều khiển.....................................................................................................5
5. Khối giải mã lệnh...................................................................................................6
6. Khối chức năng đặc biệt.........................................................................................6
7. Khối số nguyên......................................................................................................6
8.Thanh ghi................................................................................................................6
III. Các chế độ vận hành của bộ vi xử lí 80386.............................................................11
IV.Hệ thống vào ra.......................................................................................................14
V.Quản lý bộ nhớ.........................................................................................................14
VI.Kiến trúc tập lệnh....................................................................................................15
VII.Công nghệ mới......................................................................................................16
VIII.Kết luận................................................................................................................17

18
Kin trỳc mỏy tớnh



×