E N D
Tìmhiểucấutrúc Vi xửlý 32 bit Môn: Kiếntrúcmáytính Giảngviên: PhạmNguyễnHuyPhương
Thànhviênnhóm: GiápChíThanh • ĐỗHiếuQuang • PhạmTấnTài • VõThànhDanh Nhómtrưởng Thànhviên Thànhviên Thànhviên
Nộidung Giớithiệuvềbộ vi xửlý Intel 80386 1 Đơnvịquảnlýbộnhớ (MMU) vàcơchếphântrang 5 Kiếntrúcnộibộ 2 Tậplệnhvàcáchxửlýlệnh 6 3 Kiếntrúc Bus và tập thanh ghi 7 So sánhvớicácbộ vi khác Các chếđộhoạtđộngcủa Intel 80386 4 Kếtluận 8
01 GIỚI THIỆU VỀ BỘ XỬ LÝ INTEL 80386
INTEL 80386: Vi xửlýđộtphá Vi xửlý 32 bit đầutiên (dòng x86) Nềnmóng 80486, Pentium Kếthừa Intel 80286 (16 bit) Intel 80386 (i386/ 386) Tháng 10 năm 1985
1. SựrađờivàthànhcôngcủaBộ vi xửlý 80386 Cảitiếncấutrúcnềntảng • MMU tíchhợp (phântrang) • Pipeline sâuhơn • Chếđộ Virtual 8086 (VM86) Ý nghĩa • Hệđiềuhànhđanhiệmphứctạp • Hỗtrợbộnhớảohiệuquả • Tươngthíchngược (phầnmềm 16 bit) Thànhcông • Thiếtlập IA-32 (Intel Architecture, 32 bit) • Tiêuchuẩn de facto PC (2 thậpkỷ)
2. Mụctiêunghiêncứuđềtài Tậplệnhvàchếđộhoạtđộng Quytrìnhxửlýlệnh Phântíchkiếntrúc 80386 Cơchếquảnlýbộnhớ Mởđườnghệthốngđiệntoán Tácđộngvà di sản Đónggópkỹthuật
VS 80286DX 80386SX • Bus địachỉ 24 bit, bus dữliệu 16 bit • Góiphẳng 100 chân • 16MB bộnhớ • Chi phíthấp, phổbiến PC tươngtự 80286 • Bus địachỉ 32 bit, bus dữliệu 32 bit • Gói PGA 132 chân • 4GB bộnhớvậtlý HAI PHIÊN BẢN 80286 PHỔ BIẾN
02 KIẾN TRÚC NỘI BỘ
KIẾN TRÚC NỘI BỘ CỦA INTEL 80386 Đơnvịquảnlýbộnhớ (MMU) Các đơnvịchính • CPU (Central Processing) • MMU (Memory Management Unit) • BIU (Bus Interface Unit) • Đơnvịphânđoạnvàphântrang • Dịchđịachỉ (logic sang vậtlý) • Bảo vệbộnhớ Đơnvịgiaodiện Bus (BIU) Đơnvịxửlýtrungtâm (CPU) • Quản lýgiaotiếpvớithànhphầnngoài • Bus địachỉ/ dữliệu 32 bit • Thanh ghi 32 bit toàndiện • Kiếntrúcđườngống (pipelining) • Đơnvịthựcthi: thựchiệnlệnh • Đơnvịlệnh: giảimãlệnh (thành vi mã) • Thanh phần: ALU, bộdịchthùng 64 bit (tăngtốcphéptoán bit)
03 KIẾN TRÚC BUS VÀ TẬP THANH GHI
TẬP THANH GHI 80386 KIẾN TRÚC BUS • Mởrộnglên 32-bit: • Támthanhghiđadụngđượcmởrộnglên 32-bit (EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP). • Duy trìtươngthíchngược: • Vẫnduytrìkhảnăngtruycậptươngthíchvớicácthanhghi 16-bit (AX, BX,...) và 8-bit (AL, AH,...). • Giúpđơngiảnhóaviệcchuyểnđổi (port) mãnguồncũ sang 32-bit. • Hỗtrợhệđiềuhànhphứctạp: • Cung cấpmộttậphợptoàndiệncácthanhghihệthống, điềukhiển, vàgỡlỗi. • Hỗtrợphầncứngmạnhmẽchođanhiệm, bảovệbộnhớvàphântrang. • Bus 32-bit toàndiện: • Sửdụng bus địachỉ 32-bit và bus dữliệu 32-bit. • Cho phéptruycậptrựctiếpkhônggianbộnhớlêntới 4GB. • Tănggấpđôilượngdữliệutruyềnđượctrongmỗi chu kỳ so với 80286. • Thiếtkếhiệuquả: • Việcphântáchđườngđịachỉvàđườngdữliệu • giúpđơngiảnhóathiếtkếphầncứngvàtănghiệusuất. • Tươngthíchngược: • Hỗtrợcácthiếtbị 16-bit thông qua chânBS16#. • Tạođiềukiệnthuậnlợichoviệcchuyểnđổitừhệthống 16-bit lên 32-bit.
THANH GHI: ĐA DỤNG & HỆ THỐNG • Thanh ghiĐadụng (GPRs): • EAX: Thanh ghitíchlũy, dùngtrongphépnhân/chia. • ECX: Bộđếmchocácvònglặpvàlệnhchuỗi. • ESP: Con trỏđỉnhngănxếp (Stack Pointer). • ESI/EDI: Con trỏnguồn/đíchcholệnhchuỗi. • Thanh ghiĐoạn (Segment Registers): • Bao gồm CS, SS, DS, ES, vàhaithanhghimớilàFSvàGS. • Cung cấpthêm "cửasổ" vàocácvùngnhớ, hữuíchchocáccấutrúcdữliệuphứctạp (vídụ: Thread-Local Storage). • Thanh ghiĐiềukhiển (Control Registers): • CR0: Chứacáccờhệthốngquantrọng: PE (BậtChếđộ Bảo vệ), PG (BậtPhântrang). • CR2: Lưu địachỉtuyếntínhđãgâyralỗitrang (page fault). • CR3: ChứađịachỉcơsởcủaBảng Thư mục Trang (PDBR).
04 CÁC CHẾ ĐỘ HOẠT ĐỘNG CỦA INTEL 80386
Các chế độ hoạt động Chếđộbảovệ (ProtectedMode) Chếđộđịachỉthực (Real-Address Mode) • Môi trường 32 bit tự nhiên • Truy cập toàn bộ 4GB bộ nhớ vật lý • Cơ chế bảo vệ mạnh mẽ (4 cấp độ đặc quyền) • Cách ly chương trình • Mặc định khi khởi động • Hoạt động như 8086 tốc độ cao • Chủ yếu dùng để khỏi tạo hệ thống Chếđộảo 8086 (Virtual 8086 Mode) • Tính năng đột phá • Cho phép chạy ứng dụng 8086 cũ • Môi trường đa nhiệm, được bảo vệ • Giải quyết vấn đề tương thích ngược của 80386
04 ĐƠN VỊ QUẢN LÝ BỘ NHỚ (MMU) VÀ CƠ CHẾ PHÂN TRANG
MMU tíchhợplàcảitiếnquantrọngnhấtcủa Intel 80286 Đơnvịphântrang Đơnvịphânđoạn • Chuyểnđổi: địachỉ logic thànhđịachỉtuyếntính • Sửdụng: Bảngmôtả (GDT/LDT) • Thựcthi: Bảo vệdựatrênphânđoạn • Chuyểnđổi: địachỉtuyếntínhthànhđịachỉvậtlý • Sửdụng: cấutrúcbảngtranghaicấp • Chia bộnhớthành: trang 4KB • Cho phéptriểnkhai: Bọnhớảo • Mỗitácvụ: khônggianriêngbiệtvàantoàn • Đơngiảnhóapháttriển HĐH phứctạp
05 TẬP LỆNH VÀ CÁCH XỬ LÝ LỆNH
Cấutrúcđườngống (pipelining) Tậplệnh 80386 • Nền tảng kiến trúc IA-32 • Bao gồm: Lệnh truyền dữ liệu, số học, điều khiển luồng, logic • Hỗ trợ: Định địa chỉ linh hoạt (đặc biệt: base + index * scale + displacement) • Mục đích: Truy cập cấu trúc dữ liệu hiệu quả • Cải tiến lớn về hiệu suất • 6 giai đoạn • Cho phép: Thực hiện đồng thời (tìm nạp, giải mã, thực thi lệnh) • Kết quả: Giảm thời gian thực thi trung bình
07 QUẢN LÝ BỘ NHỚ CHI TIẾT
QUẢN LÝ BỘ NHỚ: PHÂN ĐOẠN & PHÂN TRANG • Quátrìnhdịchđịachỉ: • Bước 1 (Phânđoạn):ĐịachỉLogic (Selector:Offset) ➔ ĐịachỉTuyến tính (Linear Address) 32-bit. • Bước 2 (Phântrang):ĐịachỉTuyến tính 32-bit ➔ ĐịachỉVậtlý (Physical Address) 32-bit. • CơchếPhântrang (Paging): • Địachỉtuyếntính 32-bit được chia thành 3 phần: • 10 bit ➔ ChỉsốtrongBảng Thư mục Trang (Page Directory). • 10 bit ➔ ChỉsốtrongBảng Trang (Page Table). • 12 bit ➔ Offset bêntrongmộttrang 4KB. • Lỗitrang (Page Fault): • Xảyrakhi bit Present (P)trongmụcbảngtrang (PTE/PDE) bằng 0. • CPU tạongoạilệ, lưuđịachỉgâylỗivàoCR2, vàchuyểnquyềncho HĐH xửlý. TĂNG TỐC DỊCH ĐỊA CHỈ: TLB • TLB làgì? • Translation Lookaside Buffer. • Làmộtbộnhớ cache nhỏ, tốcđộcao, tíchhợptrên chip. • Mụcđích: • Lưu trữcáckếtquảdịchđịachỉ (tuyếntính sang vậtlý) đượcdùnggầnđâynhất. • TránhcáctruycậpbộnhớchậmđếnBảng Thư mục Trang vàBảng Trang khicó "TLB hit". • Hiệu quả: • Tỷlệtìmthấy (hit rate) thườngđạt 98-99%, giúptăngtốcđángkểquátrìnhdịchđịachỉ.
08 KIẾN TRÚC TẬP LỆNH
KIẾN TRÚC TẬP LỆNH (ISA) & ĐỊNH DẠNG LỆNH • Đặcđiểm CISC (Complex Instruction Set Computer): • Tậplệnhphongphú, nhiềulệnhphứctạp. • Độdàilệnhthayđổi, từ 1 đến 15 byte. • Việcgiảimãlệnhphứctạphơn so vớikiếntrúc RISC. • Cấutrúcmộtlệnh: • [Tiềntố][Opcode][ModR/M][SIB][Độdời][Tứcthì] • Tiềntố (Prefixes):Tùychọn, dùngđểsửađổihành vi lệnh (vídụ: ghiđèkíchthướctoánhạng66h). • Opcode:Mãlệnh, xácđịnhphéptoáncầnthựchiện. • Byte ModR/M & SIB:Chỉđịnhchếđộđịachỉvàcácthanhghi. • Độdời (Displacement) & Tứcthì (Immediate): Offset bộnhớhoặcdữliệuhằngsốnhúngtronglệnh. CÁC CHẾ ĐỘ ĐỊA CHỈ LINH HOẠT • Cơbản: • Thanh ghi (Register):Toánhạngnằmtrongthanhghi (vídụ: MOV EAX, EBX). • Tứcthì (Immediate):Toánhạnglàhằngsốtronglệnh (vídụ: ADD ECX, 12345). • Trựctiếp (Direct):Lệnhchứađịachỉcủatoánhạng (vídụ: MOV AL, [myVar]). • Phứctạp (hỗtrợngônngữbậccao): • Giántiếp qua Thanh ghi (Register Indirect):MOV EAX, [EBX]. • Cơsở - Chỉsố (Based-Indexed):ADD EBX, [EBP+ESI]. • Cơsở - ChỉsốTỷlệ (Based-Scaled Indexed):MOV ECX, [EAX + (EDI * 4) + myOffset]. • Chếđộnàycựckỳmạnhmẽchoviệctruycậpmảngvàcấutrúcdữliệuphứctạp.
09 SO SÁNH VỚI CÁC BỘ VI XỬ LÝ KHÁC
Intel 80386 Bướctiếnhóaquantrọngtrongdòng x86 So với 80286 • Cáchmạng: kiếntrúc 32 bit • Khônggianbộnhớlớnhơn: 4GB (so với 16MB) • MMU tíchhợpvớiphântrang • Chếđộảo 8086: giảiquyếttươngthíchngược So với 80486 • Cảitiến: duytrìtươngthích • Tíchhợp: Cache 8KB, FPU (bộpđồngxửlýsốhọc) trên chip • Kếtquảtốcđộtăngđángkể So với Pentium • Duy trìtươngthích • Giớithiệu: kiếntrúcsiêuvôhướng (superscalar) • Bus dữliệu 64 bit • Bướcnhảyvọthiệusuất
10 TỔNG KẾT
Intel 80386 • Bộxửlýcáchmạng • Chuyểnđổinềntảng PC • sang kỷnguyên 32 bit • Tácđộng • Tạo nên tảng vững chắc cho • Hệ điều hành đa nhiệm • Chất xúc tác định hình lại • ngành công nghiệp máy tính • Mở đường cho các thế hệ x86 • tiếp theo • Cảitiếncốtlõi • Kiếntrúc 32 bit • MMU tíchhợp • Chếđộảo 8086
CẢM ƠN THẦY VÀ CÁC BẠN ĐÃ LẮNG NGHE