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
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
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
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
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
-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
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
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
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ờ 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
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
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
đề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
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.
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
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;
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