Giao tiếp giữa KIT vi xử lý 8085 và máy tính Nguồn, chương 2

Chia sẻ: Nguyen Van Dau | Ngày: | Loại File: PDF | Số trang:9

0
138
lượt xem
58
download

Giao tiếp giữa KIT vi xử lý 8085 và máy tính Nguồn, chương 2

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Cấu trúc của một vi xử lý cơ bản : Một vi xử lý về cơ bản gồm có 3 khối chức năng: đơn vị thực thi (Execution), bộ điều khiển tuần tự (Sequencer) và bus giao tiếp. - Đơn vị thực thi : Xử lý các lệnh số học và logic. Các toán hạng liên quan có mặt ở các thanh ghi dữ liệu hoặc địa chỉ hoặc từ bus nội. - Bộ điều khiển tuần tự : Bao gồm bộ giải mã lệnh (Intrustruction Đecoer) và bộ đếm chương trình (Program Counter). + Bộ đếm chương trình gọi...

Chủ đề:
Lưu

Nội dung Text: Giao tiếp giữa KIT vi xử lý 8085 và máy tính Nguồn, chương 2

  1. Chöông 2: CAÁU TRUÙC VI XÖÛ LYÙ 8085 I. CAÁU TAÏO BEÂN TRONG VI XÖÛ LYÙ 8085 1. Caáu truùc cuûa moät vi xöû lyù cô baûn : Moät vi xöû lyù veà cô baûn goàm coù 3 khoái chöùc naêng: ñôn vò thöïc thi (Execution), boä ñieàu khieån tuaàn töï (Sequencer) vaø bus giao tieáp. - Ñôn vò thöïc thi : Xöû lyù caùc leänh soá hoïc vaø logic. Caùc toaùn haïng lieân quan coù maët ôû caùc thanh ghi döõ lieäu hoaëc ñòa chæ hoaëc töø bus noäi. - Boä ñieàu khieån tuaàn töï : Bao goàm boä giaûi maõ leänh (Intrustruction Decoder) vaø boä ñeám chöông trình (Program Counter). + Boä ñeám chöông trình goïi caùc leänh chöông trình tuaàn töï. + Boä giaûi maõ leänh thì khôûi ñoäng caùc böôùc caàn thieát ñeå thöïc hieän leänh. Boä ñieàu khieån tuaàn töï taïo thaønh moät heä thoáng logic tuaàn töï maø caùch thöùc hoaït ñoäng cuûa noù ñöôïc chöùa trong ROM. Noäi dung chöùa trong ROM ñöôïc goïi laø vi chöông trình. Caùc leänh beân ngoaøi trong tröôøng hôïp naøy xaùc ñònh caùc ñòa chæ vaøo vi chöông trình. Khi chöông trình baét ñaàu thöïc hieän thì boä ñeám chöông trình PC ñöôïc ñaët ôû ñòa chæ baét ñaàu, thöôøng laø ñòa chæ 0000H (vôùi xi xöû lyù 8 bit). Ñòa chæ naøy ñöôïc chuyeån ñeán boä nhôù thoâng qua bus ñòa chæ (Address Bus). Khi tín hieäu Read ñöôïc ñöa vaøo ôû bus ñòa chæ noäi dung cuûa boä nhôù lieân quan xuaát hieän treân bus döõ lieäu (data bus) vaø seõ ñöôïc chöùa ôû boä giaûi maõ leänh (Instruction Decoder).
  2. Sau khi khôûi ñoäng moät soá böôùc caàn thieát ñeå thöïc thi leänh nhôø moät soá chu kyø maùy vaø khi leänh ñaõ thöïc thi, thì boä giaûi maõ leänh laøm cho boä ñeám chöông trình chæ ñeán oâ ñòa chæ cuûa leänh keá. Trong ñeà taøi naøy, söû duïng vi xöû lyù 8085 laø moät vi xöû lyù 8 bit neân döôùi ñaây xin trình baøy caáu truùc cuûa vi xöû lyù 8085. Instruction Decoder Data Register ALU Address Register Program Counter Logic Control Hình 1.1 : Sô ñoà khoái cuûa moät vi xöû lyù 8 bit. 16 bit Address Memory Address Accumulator (A) Status Register Register High Low Register B Register C SP Register D Register E PC Register H Register L 8 bit Internal data bus Bus 8 bit Data Bus C Instruction TEMP-1 TEMP-2 ontrol Register Logic IN IN Instruction Decoder ALU Out
  3. Hình 1.2 : Sô ñoà caáu truùc cuûa moät vi xöû lyù. Qua sô ñoà treân, ta thaáy vi xöû lyù bao goàm caùc khoái chính sau: khoái ñôn vò soá hoïc/logic ALU (Arithmatic Logic Unit), caùc thanh ghi vaø khoái Control Logic. Caùc khoái naøy lieân heä vôùi nhau qua caùc ñöôøng daây truyeàn tín hieäu. 2. Chöùc naêng vaø nhieäm vuï cuûa caùc khoái trong vi xöû lyù: a. Khoái ALU (Arithmatic Logic Unit). Khoái ñôn vò soá hoïc/ logic laø khoái quan troïng nhaát beân trong vi xöû lyù, khoái ALU chöùa caùc maïch ñieän logic coù chöùc naêng chính laø thöïc hieän caùc pheùp toaùn, caùc pheùp thay ñoåi soá lieäu. Cô sôû chính cuûa khoái ALU laø maïch coäng, neân noù coù khaû naêng thöïc hieän caùc pheùp xöû lyù soá nhò phaân. Khoái ALU coù hai ngoõ vaøo vaø moät ngoõ ra, caùc ngoõ vaøo coù chöùc naêng chuyeån tín hieäu ngoõ vaøo vaøo khoái ALU ñeå tính toaùn, sau ñoù döõ lieäu ñöôïc chuyeån ñeán ngoõ ra ñeå chuyeån ra ngoaøi. Döõ lieäu tröôùc khi vaøo khoái ALU ñöôïc chöùa ôû thanh ghi TEMP 1 vaø TEMP 2 laø caùc thanh ghi ñeäm. Trong vi xöû lyù coù moät
  4. thanh ghi ñaëc bieät coù teân laø thanh ghi A, haàu heát moïi hoaït ñoäng cuûa ALU ñeàu thoâng qua thanh ghi naøy. Thoâng thöôøng khoái ALU nhaän döõ lieäu töø thanh ghi A roài xöû lyù döõ lieäu, sau khi xöû lyù xong thì laïi gôûi döõ lieäu ra thanh ghi A. b. Caùc thanh ghi beân trong vi xöû lyù. Caùc thanh ghi beân trong cuûa vi xöû lyù coù chöùc naêng löu tröõ taïm thôøi caùc döõ lieäu khi xöû lyù. Trong soá ñoù coù moät vaøi thanh ghi ñaëc bieät khi thöïc hieän leänh, coøn caùc thanh ghi coøn laïi laø caùc thanh ghi thoâng duïng. Caùc thanh ghi naøy giuùp cho ngöôøi laäp trình thöïc hieän chöông trình deã daøng hôn, soá löôïng thanh ghi phuï thuoäc vaøo töøng loaïi vi xöû lyù. Caùc thanh ghi trong moät vi xöû lyù goàm coù: thanh ghi tích luõy (Accumulator Register), thanh ghi PC (Program Counter Register), thanh ghi con troû ngaên xeáp (Stack Pointer Register), thanh ghi traïng thaùi (Status Register), caùc thanh ghi thoâng duïng, thanh ghi ñòa chæ vaø thanh ghi leänh (Instruction Register). * Thanh ghi tích luõy (thanh ghi A – Accumulator Register) : Thanh ghi A laø moät thanh ghi quan troïng cuûa vi xöû lyù coù chöùc naêng löu tröõ döõ lieäu khi tính toaùn. Haàu heát caùc pheùp toaùn soá hoçc vaø pheùp toaùn logic ñeàu xaûy ra giöõa ALU vaø thanh ghi A, nhöng caàn löu yù raèng haàt heát sau khi thöïc hieän pheùp tính, ALU thöôøng gôûi döõ lieäu vaøo thanh ghi A laøm döõ lieäu trong thanh ghi A tröôùc ñoù bò maát. Thanh ghi A thöôøng laøm trung gian ñeå trao döõ lieäu cuûa vi xöû lyù vôùi caùc thieát bò ngoaïi vi. Vôùi vi xöû lyù 8085A, thanh ghi A coù ñoä daøi 8 bit. * Thanh ghi PC (Program Counter Register) :
  5. Thanh ghi PC laø thanh ghi quan troïng nhaát cuûa vi xöû lyù. Khi thöïc hieän moät chöông trình, caùc leänh cuûa chöông trình seõ ñöôïc quaûn lyù baèng thanh ghi PC. Thanh ghi PC seõ chöùa ñòa chæ cuûa caùc leänh ñang thöïc hieän cuûa moät chöông trình. Chính vì vaäy, tröôùc khi vi xöû lyù thöïc hieän moät chöông trình thì thanh ghi PC phaûi ñöôïc naïp moät döõ lieäu, ñoù chính laø ñòa chæ ñaàu tieân cuûa chöông trình. Trong quaù trình thöïc hieän chöông trình, vi xöû lyù töï ñoäng taêng noäi dung thanh ghi PC ñeå chuaån bò ñoùn caùc leänh tieáp theo, tuy nhieân trong chöông trình coù leänh coù khaû naêng laøm thay ñoåi noäi dung thanh ghi PC. Vôùi vi xöû lyù 8085, thanh ghi PC coù ñoä daøi 16 bit vaø khi vi xöû lyù ñöôïc reset laïi, thanh ghi PC seõ töï ñoäng naïp cho mình giaù trò 0000H. * Thanh ghi traïng thaùi (Status Register): Thanh ghi traïng thaùi coøn goïi laø thanh ghi côø (Flag Register – thanh ghi F) duøng ñeå löu tröõ keát quaû cuûa moät soá leänh kieåm tra. Vieäc löu tröõ keát quaû cuûa caùc leänh kieåm tra giuùp cho ngöôøi laäp trình coù khaû naêng ñieàu khieån chöông trình theo caùc nhaùnh khaùc nhau. Vôùi vi xöû lyù 8085 caáu truùc cuûa thanh ghi traïng thaùi nhö sau: 7 6 5 4 3 2 1 0 S Z x AC x P x CY Trong ñoù: S (signal): bit daáu : S = 1 khi keát quaû aâm, S = 0 khi keát quaû döông. Z (Zero): bit Zero: Z = 1 khi keát quaû baèng 0, Z = 0 khi keát quaû khaùc 0. AC (Auxiliary carry): bit traøn: AC = 1 : pheùp tính bò
  6. traøn treân bit 4. AC = 0 : pheùp tính khoâng bò traøn treân bit 4. P (Parity): bit chaün, leû: P = 1 khi keát quaû laø soá chaün. P = 0 khi keát quaû laø soá leû. CY (Carry): bit nhôù: CY = 1 khi keát quaû coù soá nhôù. CY = 0 khi keát quaû khoâng coù soá nhôù. Caùc bit x laø caùc bit khoâng ñöôïc söû duïng thoâng duïng neân khoâng giôùi thieäu trong ñeà taøi naøy. * Thanh ghi con troû ngaân xeáp (Stack Pointer Register – thanh ghi SP): Thanh ghi con troû ngaên xeáp laø thanh ghi quan troïng cuûa vi xöû lyù, ñoä daøi döõ lieäu cuûa thanh ghi SP baèng vôùi ñoä daøi döõ lieäu cuûa thanh ghi PC. Chöùc naêng cuûa thanh ghi SP laø duøng ñeå quaûn lyù boä nhôù ngaên xeáp khi muoán löu tröõ taïm thôøi döõ lieäu vaøo ngaên xeáp, cuõng gioáng nhö thanh ghi PC, thanh ghi SP cuõng töï ñoäng chæ tôùi oâ nhôù keá. Trong caùc vi xöû lyù, vò trí con troû ngaên xeáp luoân töï ñoäng giaûm ñeå chæ tôùi oâ nhôù keá tieáp, vì vaäy khi thieát laäp giaù trò cho thanh ghi con troû ngaên xeáp phaûi laø ñòa chæ cuoái cuøng cuûa chöông trình vaø noù phaûi naèm trong vuøng nhôù RAM. Neáu khoâng khôûi taïo ñòa chæ con troû ngaên xeáp, noù seõ chæ ñeán moät ñòa chæ ngaãu nhieân, do ñoù döõ lieäu caát vaøo ngaên xeáp coù theå ghi choàng leân phaàn chöông trình laøm chöông trình chaïy sai hoaëc SP khoâng naèm trong vuøng nhôù RAM laøm noù khoâng thöïc hieän ñuùng chöùc naêng
  7. cuûa mình. * Thanh ghi ñòa chæ boä nhôù: Thanh ghi ñòa chæ oâ nhôù coù chöùc naêng taïo ñuùng ñòa chæ oâ nhôù maø vi xöû lyù muoán truy xuaát döõ lieäu. Thanh ghi ñòa chæ luoân baèng vôùi thanh ghi PC. * Thanh ghi leänh : Thanh ghi naøy coù chöùc naêng chöùa leänh maø vi xöû lyù ñang thöïc hieän. Ñaàu taeân, leänh ñöôïc ñoùn töø boä nhôù ñeán chöùa trong thanh ghi leänh, tieáp theo leänh seõ ñöôïc thöïc hieän, trong khi thöïc hieän leänh, boä giaûi maõ leänh seõ ñoïc döõ lieäu trong thanh ghi leänh ñeå xöû lyù vaø baùo chính xaùc cho vi xöû lyù bieát yeâu caàu cuûa leänh. Trong suoát quaù trình naøy thanh ghi leänh khoâng ñoåi, noù chæ thay ñoåi khi thöïc hieän leänh keá tieáp. Vôùi vi xöû lyù 8085 thanh ghi leänh coù ñoä daøi döõ lieäu laø 8 bit. Ngöôøi laäp trình khoâng coù khaû naêng taùc ñoäng vaøo thanh ghi naøy. * Thanh ghi chöùa döõ lieäu taïm thôøi (Temporary Data Register): Thanh ghi chöùa döõ lieäu taïm thôøi duøng ñeå trôï giuùp khoái ALU trong quaù trình thöïc hieän caùc pheùp toaùn. Trong moãi loaïi vi xöû lyù, soá löôïng caùc thanh ghi taïm thôøi khaùc nhau. c. Khoái ñieàu khieån logic (Logic Control): Khoái ñieàu khieån logic thöïc chaát laø caùc maïch ñieàu khieån logic, coù chöùc naêng nhaän leänh hay tín hieäu ñieàu khieån töø boä giaûi maõ leänh vaø thöïc hieän vieäc ñieàu khieån theo ñuñng yeâu caàu cuûa leänh. Khoái ñieàu khieån logic ñöôïc xem nhö laø boä xöû lyù cuûa vi xöû lyù. Caùc tín hieäu ñieàu khieån cuûa khoái ñieàu khieån logic laø caùc tín hieäu ñieàu khieån caùc thieát bò beân ngoaøi giao tieáp vôùi vi xöû lyù vaø
  8. caùc ñöôøng ñieàu khieån vi xöû lyù töø caùc thieát bò beân ngoaøi. Ngoõ vaøo tín hieäu quan troïng nhaát trong khoái ñieàu khieån logic laø ngoõ vaøo xung clock, phaûi coù tín hieäu naøy thì khoái ñieàu khieån môùi hoaït ñoäng ñöôïc. Ñoàng thôøi giuùp heä thoáng hoaït ñoäng ñöôïc ñoàng boä. d. Caùc thaønh phaàn khaùc beân trong vi xöû lyù. Khoái giaûi maõ leänh (Instruction Decoder): Chöùc naêng cuûa khoái giaûi maõ leänh laø nhaän leänh töø thanh ghi leänh, sau ñoù tieán haønh giaûi maõ leänh roài ñöa tín hieäu ñieàu khieån ñeán khoái ñieàu khieån logic. Caùc ñöôøng daây daãn: Caùc khoái beân trong cuûa vi xöû lyù lieân heä vôùi nhau thoâng qua caùc ñöôøng daây daãn. Caùc ñöôøng daây daãn ñöôïc chia laøm ba nhoùm chính: ñöôøng döõ lieäu, ñöôøng ñòa chæ vaø ñöôøng ñieàu khieån. - Ñöôøng ñòa chæ: trong vi xöû lyù 8085, ñöôøng döõ lieäu cuûa noù goàm 16 ñöôøng daây daãn song song ñeå truyeàn taûi caùc bit ñòa chæ. Soá ñöôøng ñòa chæ cho ta bieát soá oâ nhôù toái ña maø vi xöû lyù coù khaû naêng truy xuaát ñöôïc, soá oâ nhôù ñöôïc tính baèng coâng thöùc 2n vôùi n laø soá ñöôøng daây daãn. Vaäy vôùi vi xöû lyù 8085A, khaû naêng truy xuaát oâ nhôù toái ña laø 65536 oâ nhôù. Vôùi nhieäm vuï ñònh ra ñòa chæ cuûa thieát bò caàn truy xuaát neân ñöôøng ñòa chæ mang tính moät chieàu vaø chæ coù vi xöû lyù môùi coù khaû naêng ñöa ñòa chæ leân ñöôøng ñòa chæ. - Ñöôøng döõ lieäu: duøng ñeå keát noái caùc thanh ghi beân trong vi xöû lyù vôùi caùc khoái khaùc beân trong vi xöû lyù vaø chuyeån döõ lieäu ra ngoaøi. Vi xöû lyù 8085A coù 8 ñöôøng döõ lieäu. Ñeå caùc thanh ghi beân trong vöøa coù khaû naêng nhaän döõ lieäu vöøa coù khaû naêng xuaát döõ lieäu thì ñöôøng döõ lieäu phaûi coù tính chaát hai chieàu.
  9. - Ñöôøng ñieàu khieån: bao goàm caùc tín hieäu ñieàu khieån ñeå baûo ñaûm söï hoaït ñoäng ñoàng boä vôùi nhau giöõa caùc khoái. Moãi tín hieäu ñieàu khieån coù moät chieàu nhaát ñònh.

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản