Nghiên cứu tìm hiểu về CPU 8086 của intel và nguyên lý làm việc thông qua các chân tín hiệu

15 1.2K 1
Nghiên cứu tìm hiểu về CPU 8086 của intel và nguyên lý làm việc thông qua các chân tín hiệu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRNG I HC CễNG NGHIP H NI KHOA CễNG NGH THễNG TIN LP CNTT3-K17 BI TP LN KIN TRC MY TNH TI: Nghiờn cu tỡm hiu v CPU 8086 ca Intel v nguyờn lý lm vic thụng qua cỏc chõn tớn hiu Giỏo viờn hng dn : Nhúm sinh viờn thc hin : CHNG II: H VI X Lí INTEL 80x86 Li m u Khoa hc ngy cng phỏt trin mnh m, nhu cu s dng nhng cụng ngh ngy cng cao T yờu cu ú, ngi cn phi sn xut v phỏt minh nhng cụng c, sn phm ng dng v phỏt trin ngnh cụng ngh thụng tin Vi x lý l mt IC s cú tt c cỏc hm s c bn, thc hin c mt bi toỏn hay mt cụng vic no ú, cỏc hm s c bn s c cho phộp thc hin mt cỏch tun t theo mt thut toỏn nht nh cho phộp mt hm s hot ng cn phi cung cp tớn hiu chn hm, v chn d liu x lý hm vic cung cp cỏc tớn hiu nh vy c gi l cung cp mt lnh cho vi x lý B x lý 8086 ó mang li s bựng n cụng ngh vi s cú mt hu ht cỏc mỏy tớnh thi k ny hiu rừ hn v s chc nng CPU 8086, c im chc nng cỏc CPU 8086 v cu trỳc lnh cựng lnh ca 8086, chỳng em xin trỡnh by mt s nột bi bỏo cỏo ny Nhúm sinh viờn thc hin: H v tờn Phm Quc Vit Mó sinh viờn 1731060211 Nhn xột v úng gúp ý kin ca giỏo viờn: Chỳng em xin chõn thnh cm n! I CU TRC CA B VI X Lí 8086 TNG QUAN õy l b vi x lý ni ting mt thi ca hóng Intel v c s dng nhiu cỏc lnh vc khỏc Cỏc chng trỡnh vit cho 80x86 cú th chy c trờn trờn cỏc h tiờn tin sau ny Cỏc h vi x lý ca cỏc hóng cú khỏc nhng xột cho cựng cú khỏ nhiu im ch yu rt ging nhau, ú mt ó nm vng cỏc k thut ca 8086 ta s cú c s nm bt cỏc b vi x lý khỏc cựng h ca Intel hoc cỏc h khỏc V gúc s phm thỡ õy l b vi x lý khỏ n gin vỡ vy vic hiu nú l tng i n gin cho nhng ngi mi bt u nhp vo lnh vc ny Cỏc thụng s ca 8086 nh sau: - Nm sn xut: 6/1978 - fclkmax (ng hụ nhp): 10MHz - MIPS (triu lnh/s): 0, 33 - S tranzitor: 29000 - Bus s liu: 16 bit - Bus a ch: 20 bit - Kh nng a ch: MB - S chõn: 40 - di b nh m lnh (hng i): byte - Cú th thao tỏc vi bit, byte, t, t - Cú kh nng thc hin phộp tớnh vi cỏc s v 16 bit cú du hoc khụng cú du dng nh phõn hoc thp phõn, bao gm c phộp chia v nhõn 1.1 CU TRC BấN TRONG V HOT NG CA VI X Lí 8086 Sau õy l s cu trỳc bờn ca vi x lý 8086 (hỡnh 2.1.2) - EU: Execution Unit, thc hin lnh - BIU: Bus Interface Unit, phi ghộp bus - ALU: Arithmetic and Logic Unit, s hc v logic 1.1.1 Cỏc chc nng ca CPU Chc nng bờn vi x lý v mt logic c chia lm hai x lý Khi th nht l giao din bus (BIU) v th hai l thc hin lnh (EU) BIU: Cung cp cỏc chc nng liờn quan n vic nhn lnh v xp hng lnh, lu tr cỏc toỏn hng v nh v cỏc a ch Khi ny cng cung cp cỏc chc nng iu khin BUS c s Trong hu ht cỏc trng hp thi gian thc hin lnh v ly lnh v thc hin lnh l trựng Chớnh iu ny lm tng kh nng hot ng ca vi x lý thụng qua vic ci thin Bus Trong khi thc hin lnh ang bn rn vi lnh hin thi thỡ BIU ó cú th bt u vic ly cỏc lnh k tip t b nh v phn cui ca chỳng c t mt RAM ni b tc cao c gi l hng i di ca hng i ny vi vi x lý 8086 l 6byte K thut hng i lnh cho phộp BIU s dng b nh rt hiu qu BIU s ly mó lnh b nh ri a vo hng i Theo cỏch ny BIU cú th cung cp cỏc lnh mt cỏch liờn tc m khụng c chim BIU iu ny lm gim ỏng k thi gian cht trờn Bus Hng i lnh lm vic nh mt b m lnh FIFO (First In First Out, vo trc trc) E.U (Execution Unit) Các ghi đa Các ghi trỏ số B.I.U (Bus Interface Unit) Bus địa 20 bit AX Bus liệu 16 bit BX CX DX SP BP Các ghi đoạn trỏ lệnh CS SI DI Bus CPU 16 bit liệu 20 bit địa Bus liệu ALU (16 bit) Bus Logi c BU S Khối điều khiển EU Thanh ghi cờ SS điều khiển Các ghi tạm thời ALU DS byte Hỡnh 2.1.2 S cu trỳc bờn ca vi x lý 8086 Nu cú s vo/ra liờn tc ca dũng mó lnh b m ny thỡ cú ngha l cú s phi hp hot ng hiu qa gia hai EU v BIU theo c ch x lý xen k liờn tc dũng mó lnh lm tng tc x lý tng th K thut xen k liờn tc dũng mó lnh s khụng cũn tỏc dng tng tc x lý ca CPU na nu nu nh m lnh cú cha cỏc mó lnh ca cỏc lnh CALL (gi chng trỡnh con) hoc JMP (nhy), bi vỡ lỳc gp cỏc lnh ny ni dung c ca b m lnh s b xoỏ v thay th vo ú l ni dung mi c np bi cỏc lnh mi lnh nhy hoc gi quyt nh Vic ny tiờu tn nhiu thi gian hn so vi trng hp m ch cú mó lnh ca cỏc lnh tun t EU: Nhn cỏc lnh c ly trc t hng i lnh v cung cp cỏc toỏn hng, cỏc a ch cho BIU ny c lnh v d liu Trong ú bn thõn EU s gii mó lnh, thc hin, ri li chuyn cỏc kt qu ti BIU lu tr Thao tỏc c thc hin trc tiờn ca EU l vic gii mó lnh v khong thi gian ny cú v nh l lóng phớ i vi CPU m dng nh chng cú mt hot ng v mt in no din trờn Bus Nhng thc t, chớnh khong thi gian ny l khong thi gian c BIU khai thỏc ly trc cỏc cõu lnh tip theo nh ó c mụ t trờn Cỏc lnh cha hng i lnh chớnh l nhng lnh ct cỏc ụ nh liờn tip v k tip lnh ang c thc hin Nu EU thc hin mt lnh ri chuyn iu khin n mt ni khỏc thỡ BIU s xoỏ hng i, ly lnh t a ch mi, chuyn cho EU ri li bt u ly tip cỏc lnh a vo Ghi i CPU: hng Vi xử lý hệ thứ BUS: EU: Vi xử lý 8086/8088 Bận Nhận lệnh Thực Bận Thực Nhận lệnh Bận Đọc Bận Thực BIU: Nhận lệnh Nhận lệnh BUS: Bận Bận Ghi lệnh Bận Thực Thực Nhận lệnh Bận Đọc Bận C cu nhn lnh v thc hin lnh ca vi x lý 8086/8088 Ch dn lnh: Lnh (ó cú sn): Thc hin v ghi kt qu Lnh 2: Ch thc hin lnh Lnh 3: c toỏn hng v thc hin Nhận lệnh Bận Khi EU c to thnh t cỏc ghi chung ca vi x lý 8086/8088 Nh chỳng ta ó bit, tt c cỏc ghi v cỏc ng truyn ca d liu ni b u cú rng 16 bit õy khụng cú s giao tip trc tip gia EU v mụi trng bờn ngoi m nú nhn cỏc lnh t hng i c BIU cung cp (EU khụng ni vi Bus h thng m ly lnh t hng i) Khi mt lnh yờu cu truy nhp ti b nh hoc I/O, EU s lnh cho BIU truyn/nhn d liu Tt c cỏc d liu c EU iu khin u l a ch 16 bit Nhng thụng qua vic di chuyn v trớ b nh c BIU thc hin (nh v li a ch) EU cú th truy cp ti ton b b nh MB ALU: õy ch l mt ca EU, nhng thc t nú ging nh mt phn cú cu trỳc c lp, chu trỏch nhim thc hin cỏc thao tỏc s hc v cỏc thao tỏc logic Cỏc toỏn hng cú th l d liu tc thỡ, d liu t cỏc ghi hoc d liu c lu tr b nh Trong ú kt qu li c nh v mt ghi hoc b nh v c trng thỏi c cp nht da trờn kt qu ca cỏc thao tỏc ny 1.2 Cỏc ghi ca CPU Cỏc ghi cú th c chia lm nhúm ln lt cú tờn l: - Cỏc ghi on: CS, DS, SS, ES - Cỏc ghi a nng: AX, BX, CX, DX - Cỏc ghi tr v ch s: IP, BP, SP, SI, DI - Thanh ghi c FR (Flag) Thanh ghi on Khi BIU a trờn BUS a ch 20 bit a ch Nh vy 8086 cú kh nng phõn bit c 220 = 1048576 =1M ụ nh hay 1MB Trong khụng gian 1MB ny b nh cn c chia thnh cỏc vựng khỏc dnh riờng : - Cha mó chng trỡnh - Cha d liu v kt qu trung gian ca chng trỡnh - To mt vựng nh c bit gi l ngn xp (stack) dựng vo vic qun lý cỏc thụng s ca b vi x lý gi chng trỡnh hoc tr v t chng trỡnh Trong thc t vi x lý 8086/8088 cú cỏc ghi 16 bit liờn quan n a ch u ca cỏc vựng (on) k trờn v chỳng c gi l cỏc ghi on (Segment register) ú l cỏc ghi: - CS (Code Segment): Thang ghi on mó, cha a ch bt u ca on chng trỡnh (on mó) mang nhng lnh thc hin c v thụng thng l mt vựng nh cha d liu dng hng khụng th thay i c hoc l mt vựng ROM/EPROM - DS (Data Segment): Thanh ghi on d liu, cha a ch bt u ca on d liu, bao gm cỏc tham s, cỏc bin, cỏc mng s liu - SS (Stack Segment): Thanh ghi on ngn xp, cha a ch bt u ca mng stack õy l mt mng ca RAM, ni m d liu tn ti cỏc ghi c lu tr sut quỏ trỡnh ngt - ES (Extra Segment): Thanh ghi on d liu ph, cha a ch bt u ca vựng nh b sung Dung lng ln nht ca mi on nh ny l 64 Kbyte Vic thay i giỏ tr cỏc ghi on tng ng cú th dch chuyn linh hot phm vi khụng gian Mbyte Vỡ vy cỏc on ny cú th nm cỏch thụng tin cn lu tr chỳng ũi hi dung lng 64 Kbyte hoc cng cú th nm trựm lờn cú nhng on khụng cn dựng ht dung lng 64 Kbyte Ni dung ca ghi on cho phộp ta xỏc nh a ch ụ nh nm u on a ch ny gi l a ch c s, a ch ca cỏc ụ nh khỏc nm on c tớnh bng cỏch cng thờm vo a ch c s mt giỏ tr gi l a ch lch hay lch (offset) lch ny c xỏc nh bi mt ghi 16 bit khỏc úng vai trũ ghi lch (offset register) Mi s trao i thụng tin h thng vi x lý u dựng a ch vt lý, cũn a ch c to bi ghi on v ghi lch nh trờn c gi l a ch logic v c ký hiu nh sau: a ch logic = Thanh ghi on: Thanh ghi lch a ch logic tn ti di dng giỏ tr cỏc ghi c th bờn CPU v cn thit truy nhp ụ nh no ú thỡ nú phi c i a ch vt lý ri a lờn bus a ch Vic chuyn i ny mt b to a ch thc hin (phn t trờn hỡnh v) a ch vt lý ca ụ nh c tớnh theo cụng thc sau: lch 20 bit a ch vt lý = Thanh ghi on x 16 + Thanh ghi Vớ d: Cp CS:IP s ch a ch ca lnh sp thc hin on mó Nu ti mt thi im no ú ta cú CS = F000H v IP = FFF0H thỡ CS:IP ~ F000Hx16 + FFF0H = F0000H + FFF0H = FFFF0H a ch FFFF0H chớnh l a ch ng ca 8086/8088 Du ~ õy l ch s tng ng T núi n a ch ca mt ụ nh ta cú th s dng c a ch logic ln a ch vt lý vỡ bao gi cng cú s tn ti tng ng gia hai loi a ch ny Ta cng cn chỳ ý rng mt giỏ tr a ch vt lý s cú nhiu cỏch to t nhiu giỏ tr ghi on v ghi lch Vớ d: a ch vt lý ca 32412H cú th c to t cỏc giỏ tr Thanh ghi on Thanh ghi lch 3000H 2412H 3200H 0412H 3240H 0012H Cỏc ghi a nng Trong EU cú ghi a nng AX, BX, CX, DX iu c bit l cn cha d liu bit thỡ mi ghi ny cú th tỏch lm ghi bit cao v thp lm vic c lp nhau, ú l cỏc ghi AH v AL, BH v BL, CH v CL, DH v DL Mi ghi cú th c dựng mt cỏch nng cha cỏc loi d liu khỏc nhau, nhng cng cú nhng cụng vic c bit nht nh ch thao tỏc vi mt vi ghi no ú v chớnh vỡ vy cỏc ghi thng c gỏn cho nhng cỏi tờn c bit rt cú ý ngha - AX (Accumulator, Acc): Thanh cha, cỏc kt qu ca cỏc thao tỏc thng c cha õy, nu kt qu l bit thỡ ghi AL c gi l Acc - BX (Base): Thanh ghi c s, thng cha a ch c s ca mt bng b nh - CX (Count): Thanh ghi m, thng dựng cha s ln lp ca lnh lp LOOP, cũn CL thng dựng cha sú ln dch hoc quay cỏc lnh dch hoc quay - DX (Data): Thanh ghi d liu DX v AX tham gia vo thao tỏc ca cỏc phộp nhõn hoc chia 16 bit, DX cũn dựng cha a ch ca cỏc cng cỏc lnh vo/ra d liu trc tip (IN/OUT) Cỏc ghi tr v ch s 8086 cú ghi tr v ghi ch s 16 bit, cỏc ghi ny (tr IP) u cú th c dựng nh cỏc ghi a nng, nhng ng dng chớnh ca mi ghi l chỳng c ngm nh nh l ghi lch cho cỏc on tng ng - IP (Instruction Pointer): Con tr lnh, IP luụn tr vo lnh tip theo s c thc hin nm on mó CS a ch y ca lnh tip theo ny ng vi CS:IP v c xỏc nh theo cỏch ó núi trờn - BP (Base Pointer): Con tr c s, BP luụn tr vo mt d liu nm on ngn xp SS a ch y ca mt phn t on ngn xp ng vi SS:BP v c xỏc nh theo cỏch ó núi trờn - SP (Stack Pointer): Con tr ngn xp, luụn tr vo nh hin thi ca ngn xp nm on ngn xp SS a ch y ca nh ngn xp ng vi SS:SP v c xỏc nh theo cỏch ó núi trờn - SI (Source Index): Ch s ngun, SI ch vo d liu on d liu DS m a ch y tng ng vi DS:SI v c xỏc nh theo cỏch ó núi trờn - DI (Destination Index): Ch s ớch, DI ch vo d liu on d liu DS m a ch y tng ng vi DS:DI v c xỏc nh theo cỏch ó núi trờn Thanh ghi c FR (Flag Register) õy l ghi khỏ c bit CPU mi bit ca nú phn ỏnh mt trng thỏi nht nh ca kt qa phộp toỏn ALU thc hin hoc mt hot ng ca EU Da vo cỏc c ny m ngi lp trỡnh cú th a cỏc lnh thớch hp tip theo cho vi x lý (cỏc lnh nhy cú iu kin) Thanh ghi c cú 16 bit nhng ch s dng bit lm bit c X X X X O D I T S Z X A X P X C x: Khụng c nh ngha Cỏc c c th: Cỏc c trng thỏi - C hoc CF (Carry Flag): C nh CF = cú nh hoc mn t MSB - F hoc PF (Parity Flag): C chn l, phn ỏnh tớnh chn l ca tng s bit cú kt qu CF = tng s bit kt qu l chn - A hoc AF (Auxiliary carry Flag): c nh ph, rt cú ý ngha ta lm vic vi cỏc s BCD, AF = cú nh hoc mn t mt s BCD thp (4 bit thp) sang mt s BCD cao (4bit cao) - Z hoc ZF (Zero Flag): C rng, ZF = kt qa bng - S hoc SF (Sign Flag): C du, SF = kt qu õm - O hoc OF (Overflow Flag): C trn, OF = kt qu l s bự hai vt ngoi giỏ tr biu din ca nú Cỏc c iu khin (cú th lp hoc xoỏ bng cỏc lnh riờng) - T hoc TF (Trap Flag): C by, TF = thỡ CPU lm vic ch chy tng lnh (ch ny dựng cn tỡm li chng trỡnh) - I hoc IF (Interrupt enable Flag): C cho phộp ngt, IF = thỡ CPU cho phộp cỏc yờu cu ngt c tỏc ng - D hoc DF (Direction Flag): C hng, DF = CPU lm vic vi chui ký t theo ký t t phi sang trỏi (vỡ vy D chớnh l c lựi) Mễ T CHC NNG CC CHN CA VI X Lí 8086 Hỡnh 2.1.3 l s b trớ chõn ca vi x lý 8086 Chế độ Chế độ MIN GND AD14 AD13 Vcc AD15 39 A17/S4 A18/S538 AD10 A19/S6 AD9 40 A16/S3 AD12 AD11 MAX SS0 AD8 37 (BHE/S7) MN/MX AD7 AD6 RD HOLD AD5 HLDA AD4 AD3 WR IO/M AD2 AD1 DT/R AD0 NMI 10 INTR CLK GND 11 12 8086 36 35 34 33 (RQ/GT0) (RQ/GT1) (LOCK) (S2) (S1) DEN 32 (S0) ALE (QS0) INTA 31 (QS1) TEST 30 READY RESET29 Hỡnh 2.1.3 S chõn ca vi x lý 8086 - - Ta ký hiu I/O tng ng l tớn hiu i vo v i Vi x lý AD0 ữ AD15 [I, O]: Cỏc chõn dn kờnh cho cỏc tớn hiu ca bus d liu v bus a ch Xung ALE s bỏo cho mch ngoi bit no trờn cỏc ng ú cú tớn hiu d liu (ALE=0) hoc a ch (ALE=1) Tớn hiu ny chuyn sang trng thỏi tr khỏng cao Bus ni b ghi nhn tớn hiu treo A16/S3, A17/S4, A18/S5, A19/S6 [O]: a ch/trng thỏi õy l ng a ch cao nht a ch A16 A19 s cú mt ti cỏc chõn ú ALE=1 cũn ALE=0 thỡ trờn cỏc chõn ú cú tớn hiu trng thỏi S3 S6 AD17/S4 AD16/S3 Truy nhp n 0 on d liu ph (ES) on ngn xp (SS) on mó (CS) hoc khụng on no S6 luụn l on d liu (DS) Bng cỏc bit trng thỏi v vic truy nhp cỏc ghi on Bit S6=0 liờn tc, bit S5 phn ỏnh giỏ tr bit IF ca ghi c, hai bit S3, S4 phi hp vi ch vic truy nhp cỏc ghi on Tớn hiu ny chuyn sang trng thỏi tr khỏng cao Bus ni b ghi nhn tớn hiu treo - RD [O]: c Tớn hiu c cho bit b vi x lý ang thc hin c b nh hay c I/O ph thuc vo trng thỏi chõn S2 RD=0 thỡ bus d liu sn sng nhn s liu t b nh hoc thit b ngoi vi Tớn hiu ny chuyn sang trng thỏi tr khỏng cao Bus ni b ghi nhn tớn hiu treo - READY [I]: Tớn hiu bỏo cho CPU bit tỡnh trng sn sng ca thit b ngoi vi hay b nh Khi READY=1 thỡ CPU thc hin c/ghi m khụng cn chốn thờm cỏc chu k i Ngc li thit b ngoi vi hay b nh cú tc hot ng chm, chỳng cú th a tớn hiu READY=0 bỏo cho CPU bit m ch chỳng, lỳc ny CPU t ng kộo di thi gian thc hin lnh c/ghi bng cỏch chốn thờm cỏc chu k i - INTR [I]: tớn hiu yờu cu ngt che c Khi cú yờu cu ngt m c cho phộp ngt IF=1 thỡ CPU kt thỳc lnh ang lm d, sau ú i vo chu k chp nhn ngt v a bờn ngoi tớn hiu INTA=0 - TEST [I]: Tớn hiu ti chõn ny c kim tra bi lnh WAIT (xem phn lnh) Khi CPU thc hin lnh WAIT m lỳc ú tớn hiu TEST=1 nú s ch cho n TEST=0 thỡ nú mi thc hin lnh tip theo - NMI [I]: Tớn hiu yờu cu ngt khụng che c Tớn hiu ny khụng chu s khng ch ca c IF v nú s c CPU nhn bit bng tỏc ng ca sn lờn ca xung yờu cu ngt Nhn c yờu cu ny CPU kt thỳc lnh ang lm d sau ú nú chuyn sang chng trỡnh phc v ngt kiu INT -RESET [I]: Tớn hiu ng li 8086 Khi RESET=1 kộo di ớt nht thi gian chu k ng h thỡ 8086 buc phi ng li: nú xoỏ cỏc ghi DS, ES, SS, IP, FR v v bt u thc hin chng trỡnh ti a ch CS:IP=FFFF:0000H (c IF=0 cm cỏc yờu cu ngt tỏc ng vo CPU v c TF=0 b vi x lý khụng b t ch chy tng lnh) - CLK [I]: Tớn hiu ng h (xung nhp) Xung nhp cú rng l 77% v cung cp nhp lm vic cho CPU - Vcc [I]: Chõn ngun nuụi, ti õy CPU c cung cp ngun +5V10%, 340mA - GND [O]: Hai chõn ngun ni vi im 0V ca ngun nuụi - MN/MX [I]: Chõn iu khin hot ng ca CPU theo ch MIN/MAX Ch MIN: Chõn MN/MX c ni thng vo +5V m khụng qua in tr Trong ch MIN tt c cỏc tớn hiu iu khin liờn quan n thit b ngoi vi truyn thng v b nh ó cú sn 8086, vỡ vy vic phi ghộp vi cỏc thit b ú rt d dng v chớnh vỡ tn dng c cỏc phi ghộp ngoi vi cú sn nờn cú th gim giỏ thnh h thng - IO/M [O]: Tớn hiu ny phõn bit thi im ó nh phn t no cỏc thit b vo/ra (IO) hoc b nh (M) c chn lm vic vi CPU Trờn bus a ch lỳc ú s cú cỏc a ch tng ng ca cỏc thit b ú Chõn ny trng thỏi tr khỏng cao àP chp nhn treo - WR [O]: Xung cho phộp ghi Khi CPU a WR=0 thỡ trờn bus d liu cỏc d liu ó n nh v chỳng s c ghi vo b nh hoc thit b ngoi vi ti thi im t bin WR=1 Chõn ny trng thỏi tr khỏng cao àP chp nhn treo - ALE [O]: Xung cho phộp cht a ch Khi ALE=1 cú ngha l trờn bus dn kờnh AD cú cỏc a ch ca thit b vo/ra hay ca ụ nh ALE khụng bao gi trng thỏi tr khỏng cao, CPU b treo thỡ ALE=0 - DT/R [O]: Tớn hiu iu khin cỏc m hai chiu ca bus d liu chn chiu chuyn trờn bus D Chõn ny trng thỏi tr khỏng cao àP chp nhn treo - DEN [O]: Tớn hiu bỏo cho bờn ngoi bit l lỳc ny trờn bus dn kờnh AD cú d liu n nh Chõn ny trng thỏi tr khỏng cao àP chp nhn treo - HOLD [I]: Tớn hiu yờu cu treo CPU mch ngoi thc hin vic trao i d liu vi b nh bng cỏch thõm nhp trc tip (Direct Memory Access, DMA) Khi HOLD=1, CPU s t tỏch h thng bng cỏch treo bus A, bus D, bus C ca nú (cỏc bus trng thỏi tr khỏng cao) b iu khin DMA (DMA Controller, DMAC) cú th ly c quyn iu khin h thng lm cỏc cụng vic trao i d liu - HLDA [O]: Bỏo tớn hiu cho bờn ngoi bit yờu cu treo CPU dựng cỏc bus ó c chp nhn v CPU 8086 ó treo cỏc bus A, bus D v mt s tớn hiu ca bus C - SS0 [O]: Tớn hiu trng thỏi Tớn hiu ny ging nh S0 ch MAX v c dựng kt hp vi IO/M, DT/R gii mó cỏc chu k hot ng ca bus I DT/R O SS0 Chu k iu khin bus c mó lnh c b nh Ghi b nh 1 Bus ri 0 Chp nhn yờu cu ngt c thit b ngoi vi Ghi thit b ngoi vi 1 Dng Bng cỏc chu k ca bus qua cỏc tớn hiu SS0, IO/M, DT/R Ch MAX: Chõn MN/MX ni t Trong ch ny mt s tớn hiu iu khin cn thit c to trờn c s cỏc tớn hiu trng thỏi nh dựng thờm bờn ngoi mt b mch iu khin bus 8288 Ch MAX c s dng h thng cú mt b ng x lý toỏn hc 8087 - S2, S1, S0 [O]: Cỏc chõn trng thỏi dựng ch MAX ghộp ni vi mch iu khin bus 8288 (xem phn iu khin bus ch MAX) Cỏc tớn hiu ny c 8288 dựng to cỏc tớn hiu iu khin cỏc chu k hot ng ca bus S2 S1 S0 Chu k iu khin bus Tớn hiu 0 Chp nhn yờu cu ngt INTA 0 c thit b ngoi vi IORC Ghi thit b ngoi vi IOWC, AIOWC 1 Dng Khụng 0 c mó lnh MRDC 1 c b nh MRDC 1 Ghi b nh MWTC, AMWC 1 Bus ri Khụng Bng cỏc tớn hiu iu khin ca 8288 RQ/GT0 v RQ/RT1 [I/O]: Cỏc tớn hiu yờu cu dựng bus ca cỏc b vi x lý khỏc hoc thụng bỏo chp nhn treo ca CPU cho phộp cỏc b vi x lý khỏc dựng bus RQ/GT0 cú mc u tiờn cao hn RQ/RT1 - LOCK [O]: Tớn hiu CPU a cm cỏc b vi x lý khỏc dựng bus nú ang thi hnh mt lnh no ú t sau lnh LOCK (xem phn lnh vi x lý 8086) - QS0 v QS1 [O]: Tớn hiu thụng bỏo cỏc trng thỏi khỏc ca m lnh (hng i) QS1 QS0 Trng thỏi m lnh 0 Khụng hot ng c byte mó lnh u tiờn t m lnh m lnh rng 1 c byte tip theo t m lnh Bng cỏc trng thỏi ca m lnh [...]... RQ/GT0 và RQ/RT1 [I/O]: Các tín hiệu yêu cầu dùng bus của các bộ vi xử lý khác hoặc thông báo chấp nhận treo của CPU để cho phép các bộ vi xử lý khác dùng bus RQ/GT0 có mức ưu tiên cao hơn RQ/RT1 - LOCK [O]: Tín hiệu do CPU đưa ra để cấm các bộ vi xử lý khác dùng bus trong khi nó đang thi hành một lệnh nào đó đặt sau lệnh LOCK (xem phần tập lệnh vi xử lý 8086) - QS0 và QS1 [O]: Tín hiệu thông báo các. .. được quyền điều khiển hệ thống để làm các công việc trao đổi dữ liệu - HLDA [O]: Báo tín hiệu cho bên ngoài biết yêu cầu treo CPU để dùng các bus đã được chấp nhận và CPU 8086 đã treo các bus A, bus D và một số tín hiệu của bus C 7 - SS0 [O]: Tín hiệu trạng thái Tín hiệu này giống như S0 ở chế độ MAX và được dùng kết hợp với IO/M, DT/R để giải mã các chu kỳ hoạt động của bus I DT/R O 0 SS0 Chu kỳ điều... CLK GND 11 12 8086 36 35 34 33 (RQ/GT0) (RQ/GT1) (LOCK) (S2) (S1) DEN 32 (S0) ALE (QS0) INTA 31 (QS1) TEST 30 READY RESET29 Hình 2.1.3 Sơ đồ chân của vi xử lý 8086 - - Ta ký hiệu I/O tương ứng là tín hiệu đi vào và đi ra khỏi Vi xử lý AD0 ÷ AD15 [I, O]: Các chân dồn kênh cho các tín hiệu của bus dữ liệu và bus địa chỉ Xung ALE sẽ báo cho mạch ngoài biết khi nào trên các đường đó có tín hiệu dữ liệu... [O]: Hai chân nguồn để nối với điểm 0V của nguồn nuôi - MN/MX [I]: Chân điều khiển hoạt động của CPU theo chế độ MIN/MAX Chế độ MIN: Chân MN/MX được nối thẳng vào +5V mà không qua điện trở Trong chế độ MIN tất cả các tín hiệu điểu khiển liên quan đến thiết bị ngoại vi truyền thống và bộ nhớ đã có sẵn trong 8086, vì vậy việc phối ghép với các thiết bị đó rất dễ dàng và chính vì tận dụng được các phối... thì 8086 buộc phải khởi động lại: nó xoá các thanh ghi DS, ES, SS, IP, FR về 0 và bắt đầu thực hiện chương trình tại địa chỉ CS:IP=FFFF:0000H (cờ IF=0 để cấm các yêu cầu ngắt tác động vào CPU và cờ TF=0 để bộ vi xử lý không bị đặt trong chế độ chạy từng lệnh) 7 - CLK [I]: Tín hiệu đồng hồ (xung nhịp) Xung nhịp có độ rỗng là 77% và cung cấp nhịp làm việc cho CPU - Vcc [I]: Chân nguồn nuôi, tại đây CPU. .. các bit trạng thái và việc truy nhập các thanh ghi đoạn Bit S6=0 liên tục, bit S5 phản ánh giá trị bit IF của thanh ghi cờ, hai bit S3, S4 phối hợp với nhau để chỉ ra việc truy nhập các thanh ghi đoạn Tín hiệu này chuyển sang trạng thái trở kháng cao khi Bus nội bộ ghi nhận tín hiệu treo - RD [O]: Đọc Tín hiệu đọc cho biết bộ vi xử lý đang thực hiện đọc bộ nhớ hay đọc I/O phụ thuộc vào trạng thái chân. .. đó tín hiệu TEST=1 nó sẽ chờ cho đến khi TEST=0 thì nó mới thực hiện lệnh tiếp theo - NMI [I]: Tín hiệu yêu cầu ngắt không che được Tín hiệu này không chịu sự khống chế của cờ IF và nó sẽ được CPU nhận biết bằng tác động của sườn lên của xung yêu cầu ngắt Nhận được yêu cầu này CPU kết thúc lệnh đang làm dở sau đó nó chuyển sang chương trình phục vụ ngắt kiểu INT 2 -RESET [I]: Tín hiệu khởi động lại 8086. .. chờ chúng, lúc này CPU tự động kéo dài thời gian thực hiện lệnh đọc/ghi bằng cách chèn thêm các chu kỳ đợi - INTR [I]: tín hiệu yêu cầu ngắt che được Khi có yêu cầu ngắt mà cờ cho phép ngắt IF=1 thì CPU kết thúc lệnh đang làm dở, sau đó đi vào chu kỳ chấp nhận ngắt và đưa ra bên ngoài tín hiệu INTA=0 - TEST [I]: Tín hiệu tại chân này được kiểm tra bởi lệnh WAIT (xem phần tập lệnh) Khi CPU thực hiện lệnh... thiết bị ngoại vi 1 1 Dừng Bảng các chu kỳ của bus qua các tín hiệu SS0, IO/M, DT/R Chế độ MAX: Chân MN/MX nối đất Trong chế độ này một số tín hiệu điều khiển cần thiết được tạo ra trên cơ sở các tín hiệu trạng thái nhờ dùng thêm ở bên ngoài một bộ mạch điều khiển bus 8288 Chế độ MAX được sử dụng khi trong hệ thống có mặt bộ đồng xử lý toán học 8087 - S2, S1, S0 [O]: Các chân trạng thái dùng trong chế... - IO/M [O]: Tín hiệu này phân biệt trong thời điểm đã định phần tử nào trong các thiết bị vào/ra (IO) hoặc bộ nhớ (M) được chọn làm việc với CPU Trên bus địa chỉ lúc đó sẽ có các địa chỉ tương ứng của các thiết bị đó Chân này ở trạng thái trở kháng cao khi µP chấp nhận treo - WR [O]: Xung cho phép ghi Khi CPU đưa ra WR=0 thì trên bus dữ liệu các dữ liệu đã ổn định và chúng sẽ được ghi vào bộ nhớ hoặc

Ngày đăng: 25/05/2016, 19:57

Từ khóa liên quan

Mục lục

  • Nhóm sinh viên thực hiện : .................2...................

Tài liệu cùng người dùng

Tài liệu liên quan