Ế
KI N TRÚC MÁY TÍNH
ả
ạ
ậ
ạ
Ths Ph m Thanh Bình Gi ng viên: ỹ ộ B môn K thu t máy tính & m ng http://vn.myblog.yahoo.com/CNTTwru http://ktmt.wru.googlepages.com
ậ
ạ
ộ
ỹ
ế
B môn K thu t máy tính & m ng – Khoa CNTT
Ki n trúc máy tính 4
1
ươ
Ch
ng 4:
Ộ
Ử B VI X LÝ CPU
ử ử
ệ ơ ả ủ
ọ
ơ ồ ệ ố S đ h th ng x lý ộ ế Ki n trúc b vi x lý Quá trình thi hành l nhệ Các chân tín hi u c b n c a CPU H VXL Intel 8x86
ế
Ki n trúc máy tính 4
2
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ơ ồ ệ ố
ử
S đ h th ng x lý:
Bus
ộ
ạ
ớ B nh trong
M ch vào/ra
CPU
ế
Ki n trúc máy tính 4
3
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ố ử
ộ ộ
ầ ủ Các thành ph n c a kh i x lý (Central Processing Unit): Là ề
ộ
ạ
ể ộ ế
ể ề
ể
ệ
ế
Đ đi u khi n vi c giao ti p
ế ố
ạ ớ
ậ
ộ
i v i
ử B vi x lý – CPU ủ ử b não c a máy tính, nó x lý các thông tin và đi u ủ ạ ộ ọ khi n m i ho t đ ng c a máy tính. ự ả ớ ớ Là b nh có kh năng liên l c tr c B nh trong: ụ ụ ữ ữ ệ ơ ư ử ớ ộ ti p v i b vi x lý,là n i l u tr d li u ph c v cho quá trình x lý.ử ạ Các m ch vào ra: ạ ế ị ớ t b ngo i vi. v i thi ệ ố K t n i các b ph n trên l H th ng Bus: nhau. ộ
ế
Ki n trúc máy tính 4
4
ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Chi ti
t:ế
ế
Ki n trúc máy tính 4
5
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
BUS:
ớ
ệ ố ữ
ẫ ớ ộ
ạ
ạ
ị
ề
ể
ố ể BUS: Là h th ng dây d n và cáp n i đ ạ liên l c gi a CPU v i b nh và các vi m ch vào ra. ỉ : Bus đ a ch (Address Có ba lo i BUS ữ ệ bus), Bus d li u (Data bus), Bus đi u khi n (Control bus).
ế
Ki n trúc máy tính 4
6
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ị
ể
ỉ ủ
ề ỉ Dùng đ truy n đ a ch c a ô
ầ
CPU c n liên l c.
ề ữ ệ ề
ể
ệ
ể Dùng đ truy n các tín ể ệ
ụ
ị
ậ
ị Bus Đ a ch : ớ ạ nh mà ể ữ ệ Dùng đ truy n d li u. Bus D li u: ề Bus Đi u khi n: ạ ề hi u đi u khi n trong quá trình liên l c (Ví d : tín hi u xác đ nh quá trình truy ớ Đ cọ hay Ghi) ộ nh p b nh là
ế
Ki n trúc máy tính 4
7
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ạ
Các m ch vào ra
ớ
ể
ự ế
ả
ạ
ộ
ạ CPU không th liên l c tr c ti p v i các ạ ế ị vi t b ngo i vi mà ph i thông qua các thi ạ m ch vào/ra. ứ ỗ M i vi m ch này ch a m t vài thanh ghi ổ ọ c ng vào/ra (Input/Output Port). g i là ươ ng t T ượ cũng đ
ổ ớ các c ng vào/ra ự ư ộ nh b nh , ỉ ị c đánh đ a ch .
ế
Ki n trúc máy tính 4
8
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ử
ạ Phân lo i vi x lý
1000 ÷ 10000
ợ
ọ
ư ở
ứ
ố
slide
ề Multi chip: dùng 2 hay nhi u chip LSI (Large ợ ừ Scale Intergration: tích h p t transistor) cho ALU và control. Microprocessor: dùng 1 chip LSI/VLSI (Very Large Scale Intergration: tích h p ÷ 10000 transistor) cho ALU và control. Single chip microprocessor (còn g i là microcomputer / microcontroller): là 1 chip ộ LSI/VLSI ch a toàn b các kh i nh tr
ế
Ki n trúc máy tính 4
9
c.ướ ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ộ ậ ạ
ế
Ki n trúc máy tính 4
10
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ử
ế
ộ
Ki n trúc b vi x lý
ơ ồ Xem s đ :
ế
Ki n trúc máy tính 4
11
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ế
Ki n trúc máy tính 4
12
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ứ
ử
ộ
ố
B vi x lý có 2 kh i ch c năng:
Đ m ả
ố ệ ố
ệ ệ (BIU – Bus interface
ớ
ự Kh i th c thi (EU Execution unit): ự ệ nhi m vi c th c hi n l nh. ế Kh i giao ti p bus ữ ạ unit): Liên l c gi a EU v i Bus ngoài.
ế
Ki n trúc máy tính 4
13
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ố
ự Kh i th c thi (EU)
ệ
ự
ượ
ừ
ộ
bus n i
ề
ạ
ố ố
ủ
ể m ch ạ
ệ
ố ọ ệ ALU: Th c hi n các l nh s h c và logic. ứ ạ c ch a trong các thanh Các toán h ng đ ữ ệ data register) hay thanh ghi đ a ị ghi d li u ( ch (ỉ address register), hay t (internal bus). CU (Control Unit): Kh i đi u khi n ho t ộ đ ng c a EU. Trong kh i này có ả i mã l nh (Instruction decoder). gi
ế
Ki n trúc máy tính 4
14
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ả
ự
Quá trình thi hành l nh:ệ ấ ệ L y l nh Gi
ệ i mã – Th c hi n
ế
Ki n trúc máy tính 4
15
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Quá trình thi hành l nh:ệ
i mã l nh
ươ con tr ỏ ắ ầ ng trình b t đ u, Thanh ghi ỉ ị ươ ỉ ầ ẽ ở ị đ a ch đ u ch ng trình. Đ a ch này ớ ộ ể Address bus. c chuy n qua b nh thông qua ư Control bus, n i dung ẽ ư ẽ ệ
ộ ệ . i mã l nh ầ ộ
ộ ả b gi ệ s kh i đ ng các phép toán c n t đ th c thi l nh. Quá trình này đòi h i m t
ỳ
machine cycle) tu theo l nh.
ẽ ặ
ệ s đ t
ự ị
ế
ộ ả b gi ỉ ủ ệ ạ
ế
Ki n trúc máy tính 4
16
Khi ch l nhệ s ượ đ Khi tín hi u ệ Read đ a vào ớ ộ b nh liên quan s đ a vào ở ộ ộ ả B gi ế ể ự ỏ thi ỳ ố ệ s chu k máy ( ệ i mã l nh Sau khi l nh đã th c thi, ế ỏ ệ đ n đ a ch c a l nh k . Con tr l nh ỹ ậ B môn K thu t máy tính & m ng – Khoa CNTT
ộ
ệ ơ ả ủ
Các chân tín hi u c b n c a CPU
ế
Ki n trúc máy tính 4
17
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ậ
ệ
ạ i ạ
ẵ
ụ ụ
ầ ượ ử ụ
ả ệ
c s d ng
ề
ầ
ị CK: Chân nh n tín hi u xung nh p ở ộ Reset: Chân kh i đ ng l ị Ready/Wait: Xác đ nh tr ng thái s n sàng ờ ph c v hay ph i ch . Bus Req: Tín hi u yêu c u đ Bus ậ Bus Ack: Xác nh n yêu c u v Bus
ế
Ki n trúc máy tính 4
18
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ể ể
ầ
ỉ
ị
ị
ớ ộ
ế
ớ
ữ ệ
ọ ề Read: Đi u khi n đ c ề Write: Đi u khi n ghi Address: Các chân xác đ nh đ a ch khi c n giao ti p v i b nh Data: Các chân dành cho d li u.
...
ế
Ki n trúc máy tính 4
19
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
H vi x lý Intel 8x86 ủ
ử ộ
ầ
ờ
ọ 4004 là b VXL đ u tiên c a Intel, ra đ i năm 1971. Nó ch a ứ 2300 transitor:
ế
Ki n trúc máy tính 4
20
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ộ
ệ Pentium 4 hi n nay ch a
ứ 55 tri u ệ
B VXL transistor:
ế
Ki n trúc máy tính 4
21
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ế
Ki n trúc máy tính 4
22
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ế
Ki n trúc máy tính 4
23
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ế
Ki n trúc máy tính 4
24
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ế
ủ Ki n trúc c a Intel 8086
ơ ồ
ậ
ố S đ kh i Quá trình thi hành l nhệ ủ Các chân c a VXL 8086 ắ L p trình ng t
ế
Ki n trúc máy tính 4
25
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ế
Ki n trúc máy tính 4
26
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ố
ế
ự
ấ
ớ
ầ ứ ể
ị ớ
ươ
ữ ệ ừ ế
ứ
ệ ố
ả
ữ ệ ủ
ấ ấ ả
ự
t c các d li u c a nó
8086 có 2 thành ph n: ầ BIU (Kh i giao ti p Bus) ố và EU (Kh i th c thi). ứ BIU cung c p các ch c năng ph n c ng, bao ạ ồ ể ữ ỉ ộ g m t o các đ a ch b nh và I/O đ chuy n d ữ EU v i bên ngoài VXL. ệ li u gi a ậ ệ ng trình và d li u t EU nh n các mã l nh ch ả ệ ự BIU, th c thi các l nh này và ch a các k t qu trong các thanh ghi. Chú ý r ng ằ EU không có bus h th ng nên ph i ậ ệ th c hi n nh n và xu t t thông qua BIU.
ế
Ki n trúc máy tính 4
27
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Quá trình thi hành l nh:ệ
ớ
ặ
ậ
ừ ộ
b nh và đ t chúng
ờ ệ
ơ
ị ự
ẽ ả
i mã
ự
ị EU và BIU làm vi c đ c
ả
ớ
ậ ệ
c
ẽ ấ
ự
ệ
ệ
ế
Ki n trúc máy tính 4
28
ệ BIU nh n các mã l nh t vào hàng ch l nh. EU (Execute Unit – đ n v th c thi) s gi ệ ệ và th c hi n các l nh trong hàng. ệ ộ ơ ằ Chú ý r ng các đ n v ộ ậ BIU có kh năng nh n m t l p v i nhau nên ướ ự ớ ệ EU đang th c thi l nh tr l nh m i trong khi đó. ệ Khi EU th c hi n xong l nh, nó s l y mã l nh ợ ệ ế ế k ti p trong hàng đ i l nh. ạ ỹ ộ B môn K thu t máy tính & m ng – Khoa CNTT
ậ
So sánh 8086 và 8088:
ệ
ự
ở BIU.
t gi a VXL
8086 và 8088 là
ữ ệ ộ
8 bit, còn c a ủ
ợ ệ
ủ 8088
ế
ộ VXL này gi ng nhau 8086 có th ch y
ổ
ữ S khác bi ử ụ 8088 s d ng bus d li u r ng 8086 là 16 bit. Ngoài ra hàng đ i l nh c a dài 4 byte trong khi c a ủ 8086 là 6 byte. ủ Tuy nhiên do EU c a hai b nên các ch ng trình vi ượ c trên đ
ố ươ ể ạ t cho ả ầ 8088 mà không c n thay đ i gì c .
ế
Ki n trúc máy tính 4
29
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ủ Các chân c a VXL 8086
ế
Ki n trúc máy tính 4
30
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ả
Gi
i thích:
ỉ 20 bit, bus d li u
ị ồ
ữ ệ 16 17 chân dùng cho các
ứ
ể ả
ề ộ
ệ
ờ ỹ
ứ
ề
ậ
ờ
8086 có bus đ a ch bit, 3 chân ngu n và ể ch c năng đi u khi n. Tuy nhiên m t chân có th đ m nhi m nhi u ch c năng ta (nh k thu t phân kênh theo th i gian time multiplexing).
ế
Ki n trúc máy tính 4
31
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ừ
ỉ
ị
ng
(A16/S3 ÷ A19/S6)
ề
ị
ụ ể C th : ữ ệ 16 chân (AD0 ÷ AD15): v a là chân d li u, ườ ẽ ừ v a là chân đ a ch . Các chân này s là các đ ạ ữ ệ ỉ ị T1 và d li u trong các đ a ch trong tr ng thái ạ T2 – T4. tr ng thái ạ ỉ ị 4 chân đ a ch và tr ng thái 3 chân ngu n ồ (VCC, GND1, GND20) ể ờ 17 chân đ nh th i và đi u khi n
ế
Ki n trúc máy tính 4
32
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ế
Ki n trúc máy tính 4
33
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ứ
ủ Ch c năng c a các chân
ế ộ ố
2 ch đ : t
ở i đa (
ệ ố
ể i thi u maximum mode). ể ch dùng cho các h th ng
ứ
dùng cho các h th ng ph c ộ ế
ệ ố ớ
ạ ộ ể 8086 có th ho t đ ng ố (minimum mode) và t ỉ ế ộ ố i thi u Ch đ t ả ơ VXL đ n gi n. ế ộ ố Ch đ t i đa ớ ơ ạ t p h n, giao ti p v i các b nh và I/O riêng.
ế
Ki n trúc máy tính 4
34
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ả
ố
ế ộ Các chân dùng chung cho c hai ch đ ố t
i đa và t
ể i thi u:
ế
Ki n trúc máy tính 4
35
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ế ộ ố
ể i thi u:
Các chân ch ỉ dùng cho ch đ t
ế
Ki n trúc máy tính 4
36
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ế ộ ố
ỉ
Các chân ch dùng cho ch đ t
i đa:
ế
Ki n trúc máy tính 4
37
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Các chân Ngu n:ồ
ử ụ
ệ +5V (VCC)
ệ ự ạ
340 mA (10 mA cho
ồ ấ 8086 s d ng ngu n c p đi n và có 2 chân đ t ấ (GND). Dòng đi n c c đ i là lo i ạ CMOS)
ế
Ki n trúc máy tính 4
38
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Xung nh p:ị
ử ụ
ạ
ị
ỳ ớ
ạ
ờ
ậ ố
ữ 8086 s d ng xung nh p d ng xung ch nh t có chu k v i th i gian c nh lên và ỏ ơ 10 ns (đi vào chân CLK). xu ng nh h n
ế
Ki n trúc máy tính 4
39
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ạ
Các chân tr ng thái bus (S0, S1, S2):
ế
Ki n trúc máy tính 4
40
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ề
ể Các chân đi u khi n bus (HOLD, HLDA, RQ/GT0 , RQ/GT1, LOCK):
Ch đ t
ể i thi u:
ộ
ứ
ỏ ộ
ế ị
ể
ủ t c các bus c a nó, tách VXL ử t b khác x
ấ
ọ
ở ạ ớ ệ ố ớ ự ế
ậ
ầ
ể
ế ộ ố HOLD (gi ):ữ Ngõ vào tác đ ng m c cao làm cho ấ ả VXL h m ch t kh i b nh và I/O đ cho phép thi lý bus h th ng. Quá trình này g i là truy xu t ộ b nh tr c ti p (DMA – Direct Memory Access). HLDA (Hold acknowledge): Ghi nh n yêu c u DMA đ i v i b đi u khi n DMA.
ế
Ki n trúc máy tính 4
41
ố ớ ộ ề ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ậ ạ ộ
Ch đ t
i đa:
ứ
ậ
ả
nh n yêu c u
ầ ) và ra
ế ộ ố RQ/GT0, RQ/GT1 (Request / Grant): Các chân này dùng c hai ch c năng vào ( ậ (ch p nh n yêu c u
ầ ).
ề
ề
ộ
ể bus
ấ + Khi m t thi
ư
ứ
ệ
ố ấ t b mu n l y quy n đi u khi n c c bụ ộ, nó s phát yêu c u b ng cách đ a tín ằ ầ hi u m c th p vào
tr ng thái
chân yêu c uầ . ầ ệ
ẽ ở ạ + Sau khi nh n yêu c u, 8086 s ậ
Ở
ế ị ẽ ấ ậ ử
ấ ộ ư
ơ
ế
ể t không th
ế ị t b khác bi ạ
ế
Ki n trúc máy tính 4
42
HOLD và g i tín hi u ch p nh n ra chân này. đây, chân RQ/GT0 có đ u tiên cao h n chân RQ/GT1. LOCK: báo cho các thi ộ ậ ỹ B môn K thu t máy tính & m ng – ụ ộ ử ụ s d ng bus c c b . Khoa CNTT
Chân RESET:
ứ
i h th ng. ượ ử ụ
ộ ạ ệ ố ng đ
c s d ng khi
ạ ộ Ho t đ ng khi có xung tác đ ng m c cao, ở ộ ể dùng đ kh i đ ng l ườ Chân RESET th ự ố ệ ố h th ng có s c .
ế
Ki n trúc máy tính 4
43
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ề
ể Các chân đi u khi n bus (READY, IO/M, RD, WR, DEN, DT/R...):
ấ ẽ ứ
ứ
ứ
ớ ạ
ẵ
ậ
ấ
ị ệ ớ ộ
ệ ấ
ứ
ứ
ở ứ m c th p s ng READY: Chân này ẵ ớ ạ v i tr ng thái không s n sàng, còn m c cao thì ng v i tr ng thái s n sàng. ộ Chân IO/M (IO/Memory – Xu t nh p /B ỳ nh ):ớ xác đ nh chu k bus hi n hành đang ớ làm vi c v i b nh (m c th p) hay I/O (m c cao).
ế
Ki n trúc máy tính 4
44
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ề
ề
ế
ị b nh hay I/O đ n VXL.
ệ
ượ ớ c v i ề ữ ệ ừ
ế
Chân RD (Read): Xác đ nh chi u truy n ớ ữ ệ ừ ộ d li u t Chân WR (Write): tín hi u này ng ề ị RD, nó xác đ nh chi u truy n d li u t ớ ộ VXL đ n I/O hay b nh .
ế
Ki n trúc máy tính 4
45
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ớ
ượ
ộ ệ
ữ ệ Chân này c dùng v i DT/R đ cho phép n i các b đ m
ề
ố ừ ự
ằ
ữ ệ
ạ
ấ ế
ị
ư
ườ ỉ ủ ộ
ữ ệ ớ
ữ ị
ề
ề ủ
ể ề
ể
ộ ệ ở ứ
ệ
ỉ ự ệ
ụ
ế
Ki n trúc máy tính 4
46
DEN (Data Enable – cho phép d li u): ể đ hai chi u vào data bus. Nó ngăn ng a s tranh ộ ệ ấ ch p bus b ng cách c m các b đ m d li u cho ỉ ng d li u / đ a ch đ n tr ng thái T2, khi các đ ữ không còn l u tr đ a ch c a b nh hay I/O n a. ậ Chân DT/R (Data transmit/receive – truy n/nh n ữ ữ ệ dùng đ đi u khi n chi u c a lu ng d ồ d li u): ệ ữ ệ ủ ế li u qua các b đ m (n u có) vào bus d li u c a ụ ấ ệ ố m c th p, nó ch th c hi n tác v h th ng. Khi ỉ ự ở ứ ọ m c cao nó ch th c hi n tác v ghi. đ c và khi ộ ậ ỹ B môn K thu t máy tính & m ng – ... Khoa CNTT
ạ
ậ
ng trình đang
ắ L p trình ng t ộ ệ
ử
ừ ộ ượ ọ
ươ ng trình khác ươ
ch
ng trình x lý
ẽ ừ
ệ ủ
ề
ươ
ắ ử ng trình x lý ng t. ể
ắ ộ
ầ i cho ch ầ ặ
ế ị t b ươ
ng
ế
Ki n trúc máy tính 4
47
ắ Ng t là hành đ ng d ng ch ạ ể ự ươ ch y đ th c hi n m t ch ươ c g i là ng trình này đ (ch ng tắ ). ệ ự ộ B VXL s d ng các công vi c đang th c hi n ậ ượ c khi chân INTR hay chân NMI c a nó nh n đ ề ệ tín hi u yêu c u ng t. Sau đó nó trao quy n đi u ể ạ khi n l ắ ệ Tín hi u yêu c u ng t có th do m t thi ộ ệ ầ ứ ph n c ng ho c do m t l nh INT trong ch trình sinh ra. ộ ậ ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ạ
ắ ượ
ả
ướ
Quá trình ng t đ
c mô t
trong hình d
i đây:
ươ ị Ch ắ ng trình b ng t
ươ Ch ắ ử ng trình x lý ng t
ệ ệ L nh 1 L nh 2
ệ ệ L nh 1 L nh 2 ...
...
INT <...> ...
IRET
ế
Ki n trúc máy tính 4
48
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ử
ươ
IRET đ sau khi th c hi n xong ệ ng
ử
ể 8086 có th qu n lý ố ầ ượ ừ 0, 1, 2,..., t t
c đánh s l n l
ả
ắ
ắ ầ ượ ế ươ c k t thúc ng trình x lý ng t c n đ Ch ự ệ ể ệ ằ b ng l nh ế ở ề ự ể có th quay tr v th c hi n ti p ch ắ ướ ị trình b ng t tr c đó. ề ể ệ ạ ắ Có nhi u lo i tín hi u ng t khác nhau, đ ố ệ ủ ắ ầ ự ệ t các ng t c n d a vào s hi u c a phân bi ả ộ 256 chúng. B vi x lý ượ ng tắ , đ FFh. ướ D i đây là b ng danh sách các ng t: ộ
ế
Ki n trúc máy tính 4
49
ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ố ệ
ứ
ắ S hi u ng t
Ch c năng
ắ ủ
0 – 1Fh
Ng t c a BIOS
ắ ủ
20h – 3Fh
Ng t c a DOS
40h – 7Fh
D trự ữ
ươ
80h – F0h
ng trình BASIC
ế
Ki n trúc máy tính 4
50
Dùng cho ch trong ROM ử ụ Không s d ng F1h – FFh ạ ỹ ậ B môn K thu t máy tính & m ng – Khoa CNTT
ộ
ắ
ộ ộ
ể ể
ườ ử ụ
ệ
ệ
ắ
ắ Không ph i s hi u ng t
“Ng t”ắ và ả ố ệ ắ ươ ứ
ộ
t s n
ả
ở c x lý b i các ch ủ ế ROM BIOS (ch y u là gi
ơ ả
ẽ
ố ệ ừ 20h – 3Fh thì s do h ệ ử
ề
ạ
ế
Ki n trúc máy tính 4
51
ả Gi i thích: ậ ủ ử ươ ng trình x lý ng t có th là m t b ph n c a Ch BIOS hay c a ủ DOS, cũng có th do ng i s d ng ự ế t t. vi ầ Ta c n phân bi t rõ hai khái ni m: ử ươ “Ch ng trình x lý ng t”. ươ ử nào cũng có có ch ng ng. ng trình x lý ng t t ố ệ ừ 0 – 1Fh xu t hi n thì ắ ấ ệ Khi m t ng t có s hi u t ế ẵ ươ ẽ ượ ử chúng s đ ng trình vi ế ằ n m trong i quy t các ầ yêu c u vào/ ra c b n). ắ ế Còn n u ng t có s hi u t DOS x lý. đi u hành ộ ậ ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ắ
ạ Phân lo i ng t:
ạ ầ ự
Đ phân lo i c n d a trên m t tiêu chí nào
ở
ạ
ẽ
ộ ắ ự
đây ta s phân lo i ng t d a trên cách
ắ ạ
ạ
ể đó, ứ th c phát sinh ng t, t m chia làm hai lo i sau: ề ắ Ng t m m ắ ứ Ng t c ng
ế
Ki n trúc máy tính 4
52
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ề
ượ
c phát
ắ ờ ọ
ệ
ắ ế ắ ằ i g i ng t b ng l nh
INT trong
ươ
ng trình.
ố ệ
ắ ề
Ng t m m
ộ
ọ
Ta g i m t ng t là ng t m m n u nó đ
sinh khi có l
ch
ủ ệ
Cú pháp c a l nh INT là:
ắ
INT
Ví d :ụ
ủ ủ
ắ ắ
ọ ọ
INT 21h ;G i ng t 21h c a DOS INT 13h ;G i ng t 13h c a BIOS
ế
Ki n trúc máy tính 4
53
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ầ
t b ph n
ắ ứ ử
ầ
ắ ứ Ng t c ng ế ị ộ ộ M t ng t c ng phát sinh khi có m t thi ử ắ ớ ộ ệ ứ c ng g i tín hi u yêu c u ng t t i b vi x lý. Ví d :ụ
ử
ộ ầ
ấ ể
t b ngoài (bàn
ắ ứ (hay ng t c ng n i b
ộ ộ).
ộ Khi ta gõ m t phím trên bàn phím hay b m chu t, ẽ ắ ử ớ ộ ệ s có tín hi u ng t g i t i b vi x lý đ yêu c u ừ ệ ự ộ ử x lý hành đ ng v a th c hi n. ế ị ạ ừ ắ ượ thi c kích ho t t Các ng t đ ụ ư ố ượ ọ ộ c g i là phím, chu t...) gi ng nh ví d trên đ ở ắ ế Ng t c ng ngoài. Còn n u ng t phát sinh b i các ượ ọ ổ ợ ằ c g i kinh ki n b tr n m trên mainboard thì đ là Ng t c ng trong ộ
ế
Ki n trúc máy tính 4
54
ắ ứ ệ ắ ứ ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ạ ậ
ắ
Ng t 17h – Vào/ra máy in:
ứ
ả
ắ
Đây là ng t do BIOS qu n lý, nó có ba ch c
ự
ra máy in
ố ố ố
năng: ộ ư ứ Ch c năng s 0: Đ a m t kí t ở ạ ổ ứ Ch c năng s 1: Kh i t o c ng máy in ạ ể ứ Ch c năng s 2: Ki m tra tr ng thái máy in
ế
Ki n trúc máy tính 4
55
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ứ
ư
ố
ộ
ự
ra máy
Ch c năng s 0: Đ a m t kí t in
Các tham s :ố
ủ
ự ầ
c n in
AH = 0 AL = Mã ASCII c a kí t ố ệ DX = S hi u máy in
ự
Ví d :ụ ử G i kí t
‘A’ ra máy in.
ế
Ki n trúc máy tính 4
56
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
Gi
i:ả
ự ầ
ế
ự ố
xu ng dòng
MOV AH, 0 MOV AL, ‘A’ ;Kí t c n in MOV DX, 0 ;Máy in s 0ố INT 17h MOV AH, 0 MOV AL, 0Ah ;in ti p kí t INT 17h
ế
Ki n trúc máy tính 4
57
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ắ
Ng t 21h
ấ ủ
ề
ướ
ứ
ử ụ ố
ầ
ể
ẽ
ộ ố ứ
ư ụ
ừ ồ
ộ ờ
ố ố
ổ đĩa ồ ệ đ ng h h
ấ ắ Đây là ng t hay dùng nh t c a DOS, nó có r t Ở ầ ứ c ta đã s d ng nhi u ch c năng. ph n tr ứ ắ ủ ố b n ch c năng c a ng t này (ch c năng s 1, 2, 9 và 4Ch). Trong ph n này ta s tìm hi u thêm m t s ch c năng khác: ạ ứ Ch c năng s 39h: T o m t th m c trên ấ ứ Ch c năng s 2Ch: L y th i gian t th ngố ...
ế
Ki n trúc máy tính 4
58
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ứ
ư ụ
ộ
ố
ổ
ạ Ch c năng s 39h: T o m t th m c trên đĩa
tham
ỗ
ị
Các s :ố
ứ ậ
ườ
ả
AH = 39h ỉ ủ DS:DX = Đ a ch c a chu i ch a ỗ ng d n (chu i này ph i có t n
ẫ đ cùng là 0)
Ví d :ụ ạ
ổ
ư ụ T o th m c ASM trong
đĩa C.
ế
Ki n trúc máy tính 4
59
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ố ỉ ạ ủ ị
ọ ế
ế
Ki n trúc máy tính 4
60
ậ ạ
TITLE Tao thu muc .MODEL SMALL .STACK 100H .DATA DuongDan DB ’C:\ASM’, 0 .CODE MAIN PROC MOV AX, @DATA MOV DS, AX ư ụ ứ MOV AH, 39h ;Ch c năng s 39h: t o th m c ỗ ấ LEA DX, DuongDan ;L y đ a ch offset c a chu i đ tặ ;vào DX ắ INT 21h ;G i ng t MOV AH, 4Ch ;K t thúc INT 21h MAIN ENDP ỹ ộ B môn K thu t máy tính & m ng – END MAIN Khoa CNTT
ứ
ấ
ờ
ố
ừ ồ
đ ng
Ch c năng s 2Ch: L y th i gian t ồ ệ ố h h th ng
Vào: Ra:
AH = 2Ch ờ (0 ≤ CH ≤ 23) CH = gi CL = phút (0 ≤ CL ≤ 59) DH = giây (0 ≤ DH ≤ 59) DL = % giây (0 ≤ DL ≤ 99)
ờ
Vi
ng trình hi n ra màn hình gi
ệ ươ i c a h th ng. ạ
ế
Ki n trúc máy tính 4
61
Ví d :ụ ế t ch ệ ạ ủ ệ ố hi n t ậ ộ ỹ B môn K thu t máy tính & m ng – Khoa CNTT
TITLE Hien thoi gian .MODEL SMALL .STACK 100H .DATA Time_Buf DB ’00:00:00$’ .CODE MAIN PROC MOV AX, @DATA MOV DS, AX
ố ọ
ế
Ki n trúc máy tính 4
62
ọ ắ ạ ậ
ờ ứ MOV AH, 2Ch ;Ch c năng s 2Ch: đ c th i gian INT 21h ;G i ng t ỹ ộ B môn K thu t máy tính & m ng – Khoa CNTT
ờ ừ ố ậ ồ s th p phân sang mã ASCII r i
ấ
ờ ể vào AX
ố
ươ ố ư ơ
ố ụ ơ ị
ấ
ế
Ki n trúc máy tính 4
63
ậ ạ ộ
ổ ;Đ i Gi (trong CH) t ;c t vào Time_Buf MOV AL, CH ;Chuy n Gi MOV AH, 0 MOV DL, 10 ;Chia AX cho 10 ụ ng = S hàng ch c DIV DL ;AL = Th ị ;AH = S d = S hàng đ n v ổ ố ADD AL, 30h ;Đ i s hàng ch c sang mã ASCII ổ ố ADD AH, 30h ;Đ i s hàng đ n v sang mã ASCII ỗ MOV Time_Buf, AL ;C t vào chu i MOV Time_Buf+1, AH ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ổ ừ ố ậ ồ s th p phân sang mã ASCII r i
ấ
ứ
ụ
ủ ị ủ ố ố
ổ
ấ ỗ
;Đ i Phút (trong CL) t ;c t vào Time_Buf MOV AL, CL ;AX ch a Phút MOV AH, 0 MOV DL, 10 ;Chia AX cho 10 ứ DIV DL ;AL ch a s hàng ch c c a Phút ơ ứ ;AH ch a s hàng đ n v c a Phút ADD AL, 30h ;Đ i sang mã ASCII ADD AH, 30h ấ MOV Time_Buf+3, AL ;C t vào chu i (sau d u hai ch m)ấ MOV Time_Buf+4, AH
ế
Ki n trúc máy tính 4
64
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ổ ừ ố ậ s th p phân sang mã ASCII
ấ
ứ
ụ
ủ ị ủ ố ố ơ
;Đ i Giây (trong DH) t r i ồ ;c t vào Time_Buf MOV AL, DH ;AX ch a Giây MOV AH, 0 MOV DL, 10 ;Chia AX cho 10 ứ DIV DL ;AL ch a s hàng ch c c a Giây ứ ;AH ch a s hàng đ n v c a Giây ổ OR AX, 3030h ;Đ i sang mã ASCII MOV Time_Buf+6, AL MOV Time_Buf+7, AH
ế
Ki n trúc máy tính 4
65
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ỗ ệ ứ
ố
ỉ ị ứ ấ ự ặ ỗ đ t
ọ
ế
ờ ;Hi n chu i ch a th i gian (Time_Buf) ra màn hình. MOV AH, 9 ;Ch c năng s 9 LEA DX, Time_Buf ;L y đ a ch chu i kí t vào ;thanh ghi DX ắ INT 21h ;G i ng t MOV AH, 4Ch ;K t thúc INT 21h MAIN ENDP END MAIN
ế
Ki n trúc máy tính 4
66
ộ ậ ạ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT
ế
ầ
H t Ph n 4
ế
Ki n trúc máy tính 4
67
ộ ạ ậ
ỹ B môn K thu t máy tính & m ng – Khoa CNTT

