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/CNTT­wru 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