Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 122 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
122
Dung lượng
806,68 KB
Nội dung
Bay giảng KỹthuậtVixử lý
Ngành Điện tử-Viễn thông
Đại học Bách khoa Đà Nẵng
của Hồ Viết Việt, Khoa CNTT-ĐTVT
Tài liệu tham khảo
[1] Kỹ thuậtvixử lý, Văn Thế Minh, NXB Giáo
dục, 1997
[2] Kỹ thuậtvixửlý và Lập trình Assembly cho
hệ vixử lý, Đỗ Xuân Tiến, NXB Khoa học & kỹ
thuật, 2001
Chương 3
Vi xửlý 8088-Intel
3.1 Kiến trúc và hoạt động của 8088
- Nguyên lý hoạt động
- Sơ đồ khối chức năng
3.2 Cấu trúc thanh ghi của 8088
3.3 Phương pháp quản lý bộ nhớ
3.4 Mô tả tập lệnh Assembly
Lấy - Giải mã - Thực hiện lệnh
Tìm và copy
các byte lệnh từ bộ nhớ
Giải mã lệnhTạo ra các tín hiệu điều khiển
để thực hiện lệnh
Nguyên lý hoạt động của một bộ vixử lý
Chu kỳ lệnh và Chu kỳ máy
• Chu kỳ lệnh: Tổng thời gian tìm lệnh, giải
mã lệnh và thực hiện 1 lệnh
• Nói chung, Chu kỳ lệnh của các lệnh khác
nhau là khác nhau
• Chu kỳ lệnh bao giờ cũng bằng một số
nguyên lần chu kỳ máy
• Chu kỳ máy bằng nghịch đảo của tần số
hoạt động (tốc độ đồng hồ) của bộ vixử lý
3.1 Kiến trúc và Hoạt động của 8088
Đơn vị giao tiếp Bus - BIU
• Phát các tín hiệu địa chỉ đến bộ nhớ và các
cổng I/O thông qua A-Bus
• Đọc mã lệnh từ bộ nhớ thông qua D-Bus
• Đọc dữ liệu từ bộ nhớ thông qua D-Bus
• Ghi dữ liệu vào bộ nhớ thông qua D-Bus
• Đọc dữ liệu từ các cổng I thông qua D-Bus
• Ghi dữ liệu ra các cổng O thông qua D-Bus
Đơn vị thực hiện - EU
• Bao gồm CU và ALU
• CU : Giải mã lệnh để tạo ra các tín hiệu
điều khiển nhằm thực hiện lệnh đã được
giải mã
• ALU: thực hiện các thao tác khác nhau đối
với các toán hạng của lệnh
Tổ chức của microprocessor
ALU
BIU
Control
Control
registers
General
purpose
registers
Status
Registers
Control
Data
Address
CPU
Xử lý lệnh của các vixửlý trước 8086/8088
• Một thủ tục đơn giản gồm 3 bước:
– Lấy lệnh từ bộ nhớ
– Giải mã lệnh
– Thực hiện lệnh
• Lấy các toán hạng từ bộ nhớ (nếu có)
• Lưu trữ kết quả
Fetch
1
Decode
1
Execute
1
Fetch
2
Decode
2
Execute
2
…
Busy Idle Busy … Busy Idle Busy
Microprocessor
Bus
Cơ chế Pipelining
P ipelin ing
B us
Fe tch
1
Fe tch
2
Fe tch
3
Fe tch
4
S tore
1
Fe tch
5
…
Fe tc h
6
Fe tc h
7
Loa d
2
In stru ctio n
U nit
D ecod e
1
D eco d e
2
D eco d e
3
D eco d e
4
Id le
D ecod e
5
…
D ecod e
6
Id le
D ecod e
7
E xec.
1
E xec.
2
E xec.
3
E xec.
4
Id le
Id le E xec.
5
E xec.
6
E xec.
7
Id le
E xec ution
U nit
M em o ry re q uest M em o ry re q uest
[...]... Input/output privilege level (O) Overflow (D) Direction (I) Interrupt (T) Trace (S) Sign (Z) Zero (A) Auxiliary Carry (P) Parity (C) Carry 8086, 8088, 80186 80286 80386, 80486DX 80486SX 3.3 Phương pháp qu n lý b nh - B nh ư c xem là m t t p h p các ô nh - M i ô nh ư c nh n d ng b ng m t a ch v t lý duy nh t 20-bit - Trong ho t ng truy c p m t ô nh , a ch v t lý c a nó ư c t o ra t hai giá tr 16-bit: a ch... 16-bit: a ch segment và a ch Offset - a ch logic = a ch segment: a ch offset M i liên h gi a CVL và CLG A=Bus 19 0 ịa chỉ vật lý 15 0 Thanh ghi offset 15 0 Thanh ghi Segment 0000 3.4 Mô t t p l nh Assembly c a 8086/8088 - Khuôn d ng: Mnemonics Các toán h ng - Nhóm l nh chuy n s li u - Nhóm l nh s h c - Nhóm l nh logic - Nhóm l nh R nhánh - Nhóm l nh thao tác string - Nhóm l nh h n h p Nhóm l nh chuy... Destination Index - Lưu tr IP SP BP SI DI a ch offset c a m t ô nh c n truy c p - K t h p v i các thanh ghi segment nh t nh Thanh ghi c 15 x 0 x x x OF DF IF TF SF ZF x AF x PF x CF - Không ph i t t c các bit u ư c s d ng - M i bit ư c s d ng ư c g i là m t c - Các c u có tên và có th ư c L p/Xoá riêng l - Bao g m các c tr ng thái và các c i u khi n Flags register AC (Alignment check) (VM) Virtual mode... Transfer Instructions - XCHG Khuôn d ng: XCHG T/h1,T/h2 - Tác d ng: (T/h1) - T/h1: có th là: (T/h2) 1 M t thanh ghi 8 ho c 16 bit c a VXL 2 M t v trí nh (1 ho c 2 ô nh liên ti p nhau) - T/h2: có th là: 1 M t thanh ghi 8 ho c 16 bit c a VXL 2 M t v trí nh (1 ho c 2 ô nh liên ti p nhau) M t s lưu ý i v i XCHG - T/h1 và T/h2 ph i có cùng kích c - T/h1 và T/h2 không th ng th i thu c b nh - T/h1 và T/h2 không... p Nhóm l nh chuy n s li u Data Transfer Instructions -Chuy n s li u (sao chép s li u) t v trí này sang v trí khác - Ngu n s li u không thay i - ich s có giá tr như giá tr c a Ngu n - Các l nh chuy n s li u không nh hư ng n các c tr ng thái trên thanh ghi c - M t s l nh tiêu bi u: MOV, XCHG Data Transfer Instructions MOV Khuôn d ng: MOV ích,Ngu n - Tác d ng: ( ích) ích: có th là: (Ngu n) 1 M t thanh... Counter Data 0 AH BH CH DH 7 0 AL BL CL DL AX BX CX DX - Có th truy c p như các thanh ghi 8-bit - Lưu tr t m th i d li u truy c p nhanh hơn và tránh kh i ph i truy c p b nh - Có công d ng c bi t i v i m t s câu l nh Các thanh ghi segment 15 Code Segment Data Segment Stack Segment Extra Segment - Lưu tr 0 CS DS SS ES a ch segment c a m t ô nh c n truy c p - K t h p v i các thanh ghi offset nh t nh Các thanh... ch - Khi th c hi n l nh, VXL s th c hi n nh ng thao tác nh t nh trên s li u, các s li u này ư c g i chung là các toán h ng - Các toán h ng trong m t câu l nh có th là m t ph n c a câu l nh ( d ng mã máy), có th n m m t thanh ghi c a VXL ho c B nh -Cách xác nh toán h ng trong các câu l nh ư c g i là các mode ( nh) a ch Các mode a ch - Mode a ch thanh ghi: MOV AX,BX - Mode a ch t c thì: MOV AL,55h - Các... AX the 16-bit value pointed to by DS:DI Indexed 8B 05 OP MODE MOV [DI], AX Move to address DS:DI the 16-bit value in AX Indexed 89 05 OP MODE MOV AX, [BX] Move to AX the 16-bit value pointed to by DS:BX Register Indirect 8B 07 OP MODE MOV [BX], AX Move to the memory address DS:BX the 16-bit value stored in AX Register Indirect 89 07 OP MODE MOV [BP], AX Move to memory address SS:BP the 16-bit value... n t t b ng Các ví d Instruction Comment Addressing Mode Memory Contents MOV AX, BX Move to AX the 16-bit value in BX Register 89 D8 OP MODE MOV AX, DI Move to AX the 16-bit value in DI Register 89 F8 OP MODE MOV AH, AL Move to AL the 8-bit value in AX Register 88 C4 OP MODE MOV AH, 12h Move to AH the 8-bit value 12H Immediate B4 12 OP DATA8 MOV AX, 1234h Move to AX the value 1234h Immediate B8 34 OP... (Ngu n) 1 M t thanh ghi 8 ho c 16 bit c a VXL 2 M t v trí nh (1 ho c 2 ô nh liên ti p nhau) - Ngu n: có th là: 1 M t thanh ghi 8 ho c 16 bit c a VXL 2 M t v trí nh (1 ho c 2 ô nh liên ti p nhau) 3 M t giá tr c th M t s lưu ý i v i MOV - ích và Ngu n ph i có cùng kích c - ích và Ngu n không th ng th i thu c b nh - N u ích là m t thanh ghi segment c a VXL thì Ngu n không th là m t giá tr c th (nói cách . Bay giảng Kỹ thuật Vi xử lý
Ngành Điện tử -Vi n thông
Đại học Bách khoa Đà Nẵng
của Hồ Vi t Vi t, Khoa CNTT-ĐTVT
Tài liệu tham khảo
[1] Kỹ thuật vi xử lý, .
dục, 1997
[2] Kỹ thuật vi xử lý và Lập trình Assembly cho
hệ vi xử lý, Đỗ Xuân Tiến, NXB Khoa học & kỹ
thuật, 2001
Chương 3
Vi xử lý 8088-Intel
3.1 Kiến