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

Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của intel

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 (796.73 KB, 28 trang )

INTEL © 2013

BÀI TẬP LỚN

PHÂN TÍCH KIẾN TRÚC

NGUYÊN LÝ LÀM VIỆC
CỦA
BỘ VI XỬ LÍ 32 BIT CỦA

KHOA HỌC MÁY TÍNH 1 – K7 - HaUI


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

KIẾN TRÚC MÁY TÍNH

PHÂN TÍCH KIẾN TRÚC VÀ NGUYÊN
LÝ LÀM VIỆC CỦA BỘ VXL 32 BIT
CỦA INTEL

Lớp:
KHMT1-K7
Khoa: Công Nghệ Thông Tin
Trường: ĐH Công Nghiệp HN

2


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel


LỜI NÓI ĐẦU
Từ thủa xa xưa, con người đã biết dùng những cục đá, khúc cây
để tính toán. Sau rồi đến những công cụ tính toán cổ xưa như bàn
tính gảy. Nhưng trong thời đại khoa học kỹ thuật phát triển , và do
nhu cầu tính toán ngày càng cao của con người, những công cụ thô
sơ không còn đáp ứng được nữa, những cồn cụ tính toán sử dụng điện
đầu tiên ra đời với hơn trăm transistor, đã giải quyết được một số
phép tính đơn giản. Từ đó, máy tính tiếp tục được phát triển với tốc
độ ngày càng nhanh và nhỏ hơn rất nhiều do sử dụng vi mạch tích
hợp, gọi là bộ vi xử lý .
Bộ Vi Xử Lý , viết tắt CPU (tiếng anh Central Processing Unit,
có nghĩa là Đơn vị xử lý trung tâm).
Có nhiều loại CPU, do nhiều hãng sản xuất khác nhau với
nhiều mục đích sử dụng. Sau đây sẽ chỉ nói đến bộ vi xử lý 32 bit của
Intel.
Trong sách có sử dụng một số thuật ngữ được viết lại nhiều lần,
xin được phép viết tắt VXL (Vi xử lý), BVXL (Bô vi xử lý).
.
Bài viết do nhóm gồm 5 thành viên: Đào Văn Hải, Hoàng Đình
Giáp, Đồng Phú Hảo, Lê Thị Thu Hằng, Nghiêm Xuân Hải thực
trong thời gian dài, nhưng không thể tránh được những khiếm khuyết.
Rất mong Thầy giáo và các bạn thông cảm và cho ý kiến nhận xét,
phê bình. Chúng em chân thành cảm ơn!

3


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

PHẦN 1

TÓM TẮT LỊCH SỬ PHÁT TRIỂN VXL INTEL

Intel ra đời chip vi xử lý đầu tiên vào năm 1971, nhưng họ lại quyết định chọn
mốc thời gian 1978 để làm sinh nhật đầu tiên cho dòng Vi xử lý (VXL) máy tính vì đó
là thời điểm tên tuổi chip Intel 8088 được cả thế giới biết đến. CPU của Intel có cả 32
bit lẫn 64 bit, nhưng trong cuốn sách này sẽ chỉ nhắc đến CPU 32 bit.
- 1971 : Intel bắt đầu phát triển vi xử lý từ năm 1969 theo dự án của nhà sản xuất
máy tính Nhật Busicom. Kế hoạch ban đầu của Busicom là xây dựng 12 chip có khả
năng tùy biến. Nhưng kỹ sư Ted Hoff của Intel đã hình thành ý tưởng về một thiết bị
logic đa mục đích hoạt động hiệu quả hơn.
Ban đầu, Busicom nắm giữ các quyền liên quan tới bộ vi xử lý đó và trả cho Intel
60.000 USD. Nhận thấy tiềm năng của "bộ não" này, Intel quyết định trả lại số tiền
trên để đổi lấy quyền thiết kế chip. Ngày 15/11/71, họ giới thiệu 4004 ra thị trường thế
giới với giá 200 USD. 4004 có tốc độ 108 KHz với 2.300 bóng bán dẫn.
- 1972 : Phiên bản 8008 mạnh gấp đôi 4004. Mark-8 là một trong những máy
tính đầu tiên dành cho người sử dụng gia đình - một hệ thống mà nếu theo các tiêu
chuẩn ngày nay thì rất khó xây dựng, bảo trì và vận hành..
- 1974 : 8080 trở thành bộ não của máy tính cá nhân đầu tiên mang tên Altair, đặt
theo tên địa danh hạ cánh của phi hành đoàn Starship trong loạt phim truyền hình Star
Trek nổi tiếng. Giá một bộ Altair lúc ấy là 395 USD nhưng hàng chục ngàn máy đã
được bán hết sạch chỉ trong vài tháng đầu.
- 1978 : 8086-8088 được bán chủ yếu cho IBM để tạo nên dòng PC IBM nổi
tiếng. Sự thành công của chip 8088 đưa Intel vào hàng Fortune 500 và được tạp chí
Fortune bình bầu là một trong những công ty thành công trong thập niên 70 (Business
Triumphs of the Seventies).
-1982 : Intel286, tên đầy đủ là Intel 80286, là chip đầu tiên của Intel tương thích
ngược với tất cả phần mềm trước đó, giúp tiếp tục duy trì thế mạnh của dòng vi xử lý
Intel. Trong 6 năm, trên thế giới đã có khoảng 15 triệu PC 286 được bán ra. 8088 có
tốc độ 5 MHz, 8 MHz và 10 MHz với 29.000 bóng bán dẫn.
- 1985 : Intel386 trang bị 275.000 transistor (gấp 100 lần so với 4004), dùng

giao tiếp 32-bit và có khả năng xử lý đồng thời nhiều tác vụ (multi tasking). Tốc độ 16
MHz, 20 MHz, 25 MHz và 33 MHz.
- 1989 : Intel486 DX đã giúp người dùng quên đi giao diện dòng lệnh và chuyển
sang giao diện đồ họa tương tác bằng chuột máy tính. Lần đầu tiên có thêm bộ đồng
xử lý toán học, nhận bớt phần xử lý các phép toán phức tạp cho CPU nhằm tăng hiệu
năng hệ thống. Tốc độ 25 MHz, 33 MHz và 50 MHz với 1,2 triệu bóng bán dẫn.
- 1993 : Intel Pentium cho phép máy tính xử lý được nhiều dạng dữ liệu thực tế
như giọng nói, âm thanh, chữ viết và hình ảnh.
Pentium có tốc độ 60 MHz và 66 MHz với 3,1 triệu bóng bán dẫn.

4


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

- 1995 : Intel Pentium Pro được thiết kế cho máy chủ và trạm ứng dụng 32-bit,
giúp nâng cao tốc độ tính toán cho ngành khoa học, cơ khí và thiết kế trên máy tính.
Pentium Pro được trang bị bộ đệm thứ cấp tốc độ cao và tích hợp được tới 5,5 triệu
transistor.
- 1997 : Pentium II tích hợp 7,5 triệu transistor và trang bị thêm công nghệ MMX
để xử lý dữ liệu video, âm thanh và hình ảnh hiệu quả hơn. Với chip này, người sử
dụng có thể chụp, chỉnh sửa và chia sẻ ảnh số với bạn bè và người thân qua Internet,
biên tập và thêm nội dung text, nhạc hoặc chuyển đổi cảnh trong phim...
Pentium II có tốc độ 200 MHz, 233 MHz, 266 MHz và 300 MHz với
7,5 triệu bóng bán dẫn.
- 1998 : Intel Pentium Xeon được thiết kế nằm đáp ứng yêu cầu của dòng máy
chủ cao cấp và tầm trung chuyên cung cấp dịch vụ Internet, lưu trữ dữ liệu, tạo nội
dung kĩ thuật số, thiết kế tự động. Sử dụng Xeon, hệ thống có thể kết hợp 4 hoặc 8
VXL với nhau.
- 1999 : Intel Celeron được thiết kế riêng cho thị trường bình dân với tiêu chí đạt

hiệu năng cao nhất, trong mức giá hợp lý, được tối ưu hóa cho trò chơi và phần mềm
giáo dục.
Cũng trong năm, Intel Pentium III ra đời, có thêm 70 lệnh mới (Internet
Streaming SIMD Extension) giúp tối ưu hiệu ứng xử lý ảnh, 3D, âm thanh trực tuyến,
video và nhận dạng giọng nói. BVXL này được tích hợp 9,5 triệu transistor và sản
xuất dựa trên công nghệ 0,25 micro mét, có tốc độ từ 650 MHz đến 1,2 GHz.
Intel Pentium III Xeon mở rộng thị trường sang máy chủ, máy trạm chạy ứng
dụng thương mại điện tử hoặc ứng dụng cấp doanh nghiệp lớn.
- 2000 : Pentium IV có thể tạo ra những bộ phim mang tính chuyên nghiệp, liên
kết thời gian thực giữa video và thoại, chồng hình đồ họa 3D, nhanh chóng mã hóa
nhạc và chạy các ứng dụng đa phương tiện. Tích hợp 42 triệu transistor, sản xuất theo
công nghệ 0,18 micromet, đạt tần số 1,5Ghz.
- 2003 : Intel Pentium M kết hợp cùng chipset Intel 855 và card mạng Intel
Pro/Wireless 2100 tạo ra nền tảng cơ bản cho công nghệ di động Centrino nhằm nâng
cao tính di động và hiệu năng cho máy tính trong môi trường mạng LAN không dây.
Công nghệ Centrino còn giúp kéo dài thời gian thiết bị hoạt động với pin và giúp
mỏng, nhẹ hóa hơn nữa máy tính xách tay.
6/2003 , Intel giới thiệu BVXL Mobile Pentium IV với mục tiêu mang sức
mạnh công nghệ của dòng Pentium IV cho máy PC vào máy tính xách tay, giúp giảm
giá thành sản phẩm, tăng sức mạnh xử lý nhưng lại không hỗ trợ tính năng di động
như Pentium M.
Từ năm 2005 trở đi, Intel bắt đầu sản xuất chip lõi kép.

5


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

PHẦN 2
VI XỬ LÝ 32 BIT CỦA INTEL

I. Một số bộ Vi xử lý 32bit tiêu biểu của Intel:
Intel 386 gồm các họ 386DX, 386SX và 386SL. Intel386DX là vi xử lý 32 bit
đầu tiên Intel giới thiệu vào năm 1985, được dùng trong các máy tính của IBM và PC
tương thích. Intel386 là một bước nhảy vọt so với các vi xử lý trước đó. Đây là vi xử
lý 32 bit có khả năng xử lý đa nhiệm. 386 sử dụng các thanh ghi 32 bit, có thể truyền
32 bit dữ liệu cùng lúc trên bus dữ liệu và dùng 32 bit để xác định địa chỉ. Hoạt động
ở 2 chế độ: chế độ thực(real mode) và chế độ bảo vệ (protect mode).

Bộ xử lý Intel 386 SX năm 1985

486DX sử dụng công nghệ 1 µm, 1,2 triệu transistor, bộ nhớ mở rộng 4GB;
gồm các phiên bản 25 MHz, 35 MHz và 50 MHz (0,8 µm). 486SX (năm 1991) dùng
trong dòng máy tính cấp thấp, có thiết kế giống hệ 486DX nhưng không tích hợp bộ
đồng xử lý toán học. 486DX sử dụng công nghệ 1 µm (1,2 triệu transistor) và 0,8 µm
(0,9 triệu transistor), bộ nhớ mở rộng 4GB; gồm các phiên bản 16, 20, 25, 33 MHz.

Bộ xử lý Intel 486 SX năm 1991

6


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

Pentium MMX, phiên bản cải tiến của Pentium với công nghệ MMX được
Intel phát triển để đáp ứng nhu cầu về ứng dụng đa phương tiện và truyền thông.
MMX kết hợp với SIMD (Single Instruction Multiple Data) cho phép xử lý nhiều dữ
liệu trong cùng chỉ lệnh, làm tăng khả năng xử lý trong các tác vụ đồ họa, đa phương
tiện.

Bộ xử lý Intel MMX SX năm 1996


Pentium II:
Pentium II đầu tiên, tên mã Klamath, sản xuất trên công nghệ 0,35 µm, có 7,5
triệu transistor, bus hệ thống 66 MHz, gồm các phiên bản 233,266, 300MHz.
Pentium II, tên mã Deschutes, sử dụng công nghệ 0,25 µm, 7,5 triệu transistor,
gồm các phiên bản 333MHz (bus hệ thống 66MHz), 350, 400, 450 MHz (bus hệ thống
100MHz). Celeron (năm 1998) được “rút gọn” từ kiến trúc Vi xử lý Pentium II, dành
cho dòng máy cấp thấp. Phiên bản đầu tiên, tên mã Covington không có bộ nhớ đệm
L2 nên tốc độ xử lý khá chậm, không gây được ấn tượng với người dùng. Phiên bản
sau, tên mã Mendocino, đã khắc phục khuyết điểm này với bộ nhớ đệm L2 128KB.
- Xuất hiện năm 1997
- Kiểu đóng gói : Kiểu gắn trên khe Slot1 hoặc Slot2, chíp được hàn cố định
trên một vỉ nằm nghiêng
- Tốc độ xử lý : gồm các phiên bản 233MHz, 266, 300, 333, 350, 400 và
450MHz
- Tốc độ FSB : 66MHz , 100MHz
- Cache từ 512KB trở xuống

CPU Pentium II được hàn trên vỉ rồi cắm vào khe Slot1

7


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

Pentium III:
Pentium III (năm 1999) gồm các tên mã Katmai, Coppermine và Tualatin.
Coppermine có bộ nhớ đệm L2 – 256 KB được tích hợp bên trong nhằm tăng
tốc độ xử lý. Đế cắm socket 370 FC-PGA (Flip-chip pin grid array), có các tốc độ như
500, 550, 600, 650, 700, 750, 800, 850 MHz (bus 100MHz), 533, 600, 667, 733, 800,

866, 933, 1000, 1100 và 1133 MHz (bus 133MHz).
Tualatin có bộ nhớ đệm L1 32KB, L2 256 KB hoặc 512 KB tích hợp bên
trong BXL, socket 370 FC-PGA (Flip-chip pin Grid Array), bus hệ thống 133 MHz.
Có các tốc độ như 1133,1200, 1266, 1333, 2900 MHz.
Celeron Coppermine (năm 2000) được “rút gọn” từ kiến trúc vi xử lý Pentium
III Coppermine, có bộ nhớ đệm L1 32KB, L2 256 KB tích hợp bên trong vi xử lý,
socket 370 FC-PGA, Có các tốc độ như 533, 566, 600, 633, 667, 700, 733, 766, 800
MHz (bus 66 MHz), 850, 900, 950, 1000, 1100, 1200, 1300 MHz (bus 1000 MHz).
Celeron Tualatin (năm 2000) được “rút gọn” từ kiến trúc vi xử lý Pentium III
Tualatin, có bộ nhớ đệm L1 32KB, L2 256 KB tích hợp, socket 370 FC-PGA, bus hệ
thống 100 MHz, gồm các tốc độ 1,0, 1,1, 1,2, 1,3 GHz.
- Xuất hiện năm 1999
- Kiểu đóng gói: Soket 370
- Tốc độ xử lý: có các tốc độ như 500, 550, 600, 650, 700, 750, 800, 850 MHz
(bus 100MHz), 533, 600, 667, 733, 800, 866, 933, 1000, 1100 và 1133 MHz (bus
133MHz).
- Tốc độ bus FSB: 100MHz , 133MHz
- Cache từ 512KB trở xuống

CPU Pentium 3 Soket 370

Pentium IV:
Intel Pentium 4 (P4) là vi xử lý được giới thiệu vào tháng 11 năm 2000.
Pentium IV sử dụng vi kiến trúc NetBurst có thiết kế hoàn toàn mới so với các vi xử
lý cũ (Pentium II, Pentium III và Celeron sử dụng vi kiến trúc P6).
Pentium 4 đầu tiên (tên mã Willamette) xuất hiện cuối năm 2000, có bus hệ
thống (system bus) 400 MHz, bộ nhớ đệm tích hợp L2- 256 KB, socket 423 và 478.
P4 Willamette có một số tốc độ như 1,3, 1,4, 1,5, 1,6, 1,7,1,8, 1,9, 2,0 GHz.
8



Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

Socket 423 chỉ xuất hiện trong khoảng thời gian rất ngắn, từ tháng11 năm 2000
đến tháng 8 năm 2001 và bị thay thế bởi socket 478.
Xung thực (FSB) của Pentium 4 là 100 MHz nhưng với công nghệ Quad Data
Rate cho phép BXL truyền 4 bit dữ liệu trong 1 chu kỳ, nên bus hệ thống của vi xử lý
là 400 MHz.

CPU Pentium 4 Willamette

P4 Northwood. Xuất hiện vào tháng 1 năm 2002, có bộ nhớ cache L2 512 KB,
socket 478. Northwood có 3 dòng gồm Northwood A (system bus 400 MHz), tốc độ
1,6, 1,8, 2,0, 2,2, 2,4, 2,5, 2,6 và 2,8 GHz. Northwood B (system bus 533 MHz), tốc
độ 2,26, 2,4, 2,53, 2,66, 2,8 và 3,06 GHz (riêng 3,06 GHz có hỗ trợ công nghệ siêu
phân luồng Hyper Threading – HT). Northwood C (system bus 800 MHz, tất cả hỗ trợ
HT), gồm 2,4, 2,6, 2,8, 3,0, 3,2, 3,4 GHz.
P4 Prescott (năm 2004). Là vi xử lý đầu tiên Intel sản xuất theo công nghệ 90
nm, có bộ nhớ đệm tích hợp L2 của P4 Prescott gấp đôi so với P4 Northwood (1MB
so với 512 KB). Ngoài tập lệnh MMX, SSE, SSE2, Prescott được bổ sung tập lệnh
SSE3 giúp các ứng dụng xử lý video và game chạy nhanh hơn. Đây là giai đoạn “giao
thời” giữa socket 478 – 775LGA, system bus 533 MHz – 800 MHz

CPU P4 Northwood SX năm 2002 và CPU P4 Prescott SX năm 2004

Prescott A (FSB 533 MHz) có các tốc độ 2,26, 2,4, 2,66, 2,8 (socket 478),
Prescott 505 (2,66 GHz), 505J (2,66 GHz), 506 (2,66 GHz), 511 (2,8GHz), 515
(2,93GHz), 515J (2,93 GHz), 516 (2,93 GHz), 519J (3,06 GHz), 519K (3,06 GHz) sử
dụng socket 775LGA.
9



Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

Prescott E, F (năm 2004) có bộ nhớ đệm L2 1 MB (các phiên bản sau được
mở rộng 2 MB), bus hệ thống 800 MHz. Ngoài tập lệnh MMX, SSE, SSE2, SSE3 tích
hợp, Prescott E, F còn hỗ trợ công nghệ siêu phân luồng, một số phiên bản sau có hỗ
trợ tính toán 64 bit.
Dòng sử dụng socket 478 gồm Pentium 4 HT 2.8E (2,8 GHz), 3.0E (3,0 GHz),
3.2E (3,2 GHz), 3.4E (3,4 GHz). Dòng sử dụng socket 775LGA gồm Pentium 4 HT
3.2F, 3.4F, 3.6F, 3.8F với các tốc độ tương ứng từ 3,2 GHz đến 3,8 GHz, Pentium 4
HT 517, 520, 520J, 521, 524, 530, 530J, 531, 540, 540J, 541, 550, 550J, 551, 560,
560J, 561, 570J, 571 với các tốc độ từ 2,8 GHz đến 3,8 GHz.

Celeron:
Vi xử lý Celeron được thiết kế với mục tiêu dung hòa giữa công nghệ và giá cả,
đáp ứng các yêu cầu phổ thông như truy cập Internet, Email, chat, xử lý các ứng dụng
văn phòng. Điểm khác biệt giữa Celeron và Petium là về công nghệ chế tạo và số
lượng Transistor trên một đơn vị.
Celeron Willamette 128 (2002), bản “rút gọn” từ P4 Willamette, có bộ nhớ
đệm L2 128 KB, bus hệ thống 400 MHz, socket 478. Celeron Willamette 128 hỗ trợ
tập lệnh MMX, SSE, SSE2. Một số vi xử lý thuộc dòng này như Celeron 1.7 (1,7
GHz) và Celeron 1.8 (1,8 GHz).
Celeron NorthWood 128, “rút gọn” từ P4 Northwood, có bộ nhớ đệm tích hợp
L2 128 KB, bus hệ thống 400 MHz, socket 478. Celeron NorthWood 128 cũng hỗ trợ
các tập lệnh MMX, SSE, SSE2, gồm Celeron 1.8A, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7,
2.8 tương ứng với các tốc độ từ 1,8 GHz đến 2,8 GHz.
Celeron D (Presscott 256), được xây dựng từ nền tảng P4 Prescott, có bộ nhớ
đệm tích hợp L2 256 KB (gấp đôi dòng Celeron
NorthWood), bus hệ thống 533 MHz, socket 478 và

775LGA. Ngoài các tập lệnh MMX, SSE, SSE2,
Celeron D hỗ trợ tập lệnh SSE3, một số phiên bản
sau có hỗ trợ tính toán 64 bit. Celeron D gồm 310,
315, 320, 325, 325J, 326, 330, 330J, 331, 335, 335J,
336, 340, 340J, 341, 345, 345J, 346, 350, 351, 355
với các tốc độ tương ứng từ 2,13 GHz đến 3,33 GHz
Pentium 4 Extreme Edition
Pentium 4 Extreme Edition (P4EE) xuất hiện vào tháng 9 năm 2003, là vi xử lý
được Intel “ưu ái” dành cho game thủ và người dùng cao cấp. P4EE được xây dựng từ
BXL Xeon dành cho máy chủ và trạm làm việc. Ngoài công nghệ HT “đình đám” thời
bấy giờ, điểm nổi bật của P4EE là bổ sung bộ nhớ đệm L3- 2 MB. Phiên bản đầu tiên
của P4 EE (nhân Gallatin) sản xuất trên công nghệ 0,13 µm, bộ nhớ đệm L2 512 KB,
L3- 2 MB, bus hệ thống 800 MHz, sử dụng socket 478 và 775LGA, gồm P4 EE 3.2
(3,2 GHz), P4 EE 3.4 (3,4 GHz).

10


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

II. Cấu trúc và nguyên lý làm việc của VLX Intel 32 bit:
1. Đặc điểm:
Các bộ vi xử lý 32bit của intel là một bước nhảy vọt trong lĩnh vực thiết kết
chip điện tử. Đặc điểm lớn nhất của dòng vi xử lý 32bit là nó có khả năng xử lý đa
nhiệm, giúp cho máy vi tính có thể chạy được nhiều chương trình cùng một lúc.
2. Cấu trúc khối:
a. Đóng vỏ và các chân chức năng:
- Các chip 32bit của Intel thường được đóng vỏ gốm PGA (ceramic pin grind
package) 132 pin với công nghệ CHMOS III.
- Các chip 32bit của Intel khá giống như các dòng 80386 và 80486, bit địa chỉ

thường là 24bit và bit dữ liệu là 32bit, các chip 32bit này phù hợp với các thiết bị nhớ
và ngoại vi 8bit, 16bit và 32bit. Các chip 32bit của Intel được dùng khá phổ biến trong
các loại máy tính thông dụng hiện nay.

- Các chip Intel 32bit 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 :
+ Các chip Intel 32bit có 20 chân tín hiệu : A31 –A3; D31-D0; BE#-BE0;
M/IFO#;W/R#;ADS#(address data strobe); RESET…
+ Với 32 bit địa chỉ không gian địa chỉ của CPU là 4 GB. CPU có 64K cứa
vào/ra 8 bit, 16 bit, 32 bit
b. 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
- 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ỉ có bus địa chỉ và bus dữ liệu mới có khái niệm độ rộng.

11


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

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 Intel
32bit 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
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ểnbộ
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
c. 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 :
• Một thư mục trang
• Nhiều bảng trang


12


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

Cả hai cấu trúc đều nằm trong bộ nhớ vật lý. Dữ liệu lưu 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 lưu 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.
d.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 đó.
Cờ từ
Cờ thanh ghi

Thanh ghi lệnh

Đồng hồ

-Các thanh ghi
-Vận chuyển dữ liệu giữa các

thanh ghi
-ALU

Mã lệnh

(register flag)

đơn vị điều khiển

Tín hiệu tạo
xung nhịp
Các tín hiệu điều khiển
bên ngoài

Các tín hiệu yêu cầu 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
e. 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).

13


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

f. Khối các 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 nhưng là hai chiều
- Tính toán vectơ, ma trận
g. 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ị
lưu 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 lưu 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 để lưu trữ mọi tham số kết
quả và con trỏ. Cần lưu ý 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 để lưu 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 để lưu đị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
Các thanh ghi đa chức năng
Các thanh ghi đa năng dữ liệu và địa chỉ

14


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

31
AX
BX
CX
DX
SI

DI
BP
SP

16 15
EAX
EBX
ECX
EDX
ESI
EDI
EBP
ESP

0

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 nhưng 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) lưu 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 lưu 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 lưu 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:
15
0
CS code
SS stack
DS data
ES data
FS data
GS data
Các thanh ghi đoạn trong mô hình nhớ phẳng

15


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

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ụ.
Đoạn mã lệnh
Đoạn dữ liệu
Đoạn ngăn xếp

CS
DS
SS
ES

Đoạn dữ liệu

FS
GS

Đ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

16


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

 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:
- 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:

17


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

Thanh ghi bảng cục bộ mô tả toàn cục GDTR lưu 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ể lưu 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 lưu 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

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 lưu 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
18



Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

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 lưu 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 lưu 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à lưu 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 lưu 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

19


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

- 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.
3. Các chế độ vận hành:
a. Chế độ thực : chế độ thực của bộ vi xử lí không gian địa chỉ 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 Intel 32bit có
32 đường dây. Thanh ghi cờ cho chế độ này chỉ là 16 bit. Khi khởi động , VXL Intel
32bit làm việc ở chế độ thực. Mục đích chính của chế độ này là khởi đầu cho VXL
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

20


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

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 để lưu 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
b. 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í Intel 32bit 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

21


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

-

-

-

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

 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ó
22


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

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 lưu 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 lưu 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ý
c. 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
23


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

- 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)
4. Hệ thống vào ra:
a. Hệ thống vào ra(I/O system) của VXL Intel 32bit 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
b. Điểm khác : VXL Intel 32bit sử dụng hệ thống vào ra 32 bit và chia thành 4
băng
c. Các vùng vào/ra được đánh số từ 0000h-FFFFh.
5. Quản lý bộ nhớ:
 Không gian bộ nhớ: bộ nhớ vật lý của VXL Intel 32bit 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 VXL Intel 32bit tương tự như
MMU bên trong 80286 và 80386 nhưng ngoài đơn vị phân đoạn của VXL Intel
32bit 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
VXL Intel 32bit được đánh địa chỉ bằng 8 chữ số hệ 16 từ 00000000hFFFFFFFFh
 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, 00000C00000F…trong 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ớ 000004h000007h
 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ớ

 VXL Intel 32bit sử dụng các thanh ghi mô tả tương tự như ở 80286. Trong cả
80286 và VXL Intel 32bit 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 VXL Intel 32bit đượ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à Intel 32bit là Intel 32bit 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 VXL Intel 32bit 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, VXL Intel 32bit đá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 VXL Intel 32bit cũng bao gồm : địa chỉ cơ sở đoạn giới hạn đoạn và
24


Phân tích kiến trúc và nguyên lý làm việc của bộ vi xử lý 32 bits của Intel

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
 VXL Intel 32bit 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 Intel 32bit được sử dụng khi Intel 32bit ở 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.
6. Kiến trúc tập lệnh:
VXL Intel 32bit 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ố)
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
7. Công nghệ mới:
VXL Intel 32bit 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. Tiêu biểu là các
25


×