intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Cấp vi lập trình

Chia sẻ: Bùi Trọng Quốc Viễn | Ngày: | Loại File: PDF | Số trang:9

84
lượt xem
8
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nghiên cứu cách thức: -Vi chương trình điều khiển các thành phần phần cứng -Vi chương trình phiên dịch các chỉ thị của cấp máy quy ước Vi hợp ngữ Nguyên tắc: vi chương trình được viết dưới dạng số nhị phân, mỗi vi lệnh dài 32 bit Ví dụ: Để cộng AC với A và chứa kết quả vào AC

Chủ đề:
Lưu

Nội dung Text: Cấp vi lập trình

  1. Caáp vi lập trình Mục tieâu Nghieân cöùu caùch thöùc: - Vi chöông trình ñieàu khieån caùc thaønh phaàn phaàn cöùng - Vi chöông trình phieân dòch caùc chæ thò cuûa caáp maùy quy öôùc
  2. Caáp vi lập trình 16 thanh ghi (16 bits) Caùch thöùc keát noái Bus A Bus B Bus C Bus A,B daãn döõ lieäu PC Ñöôøng döõ lieäu ñeán ALU 16 bits AC SP IR TIR Bus C naïp noäi dung töø ALU vaøo thanh ghi 0 +1 -1 AMASK MAR naïp ñòa chæ töø SMASK choát B nhôø ñöôøng Bus A,B khoâng tröïc A ñieàu khieån M0 tieáp ñöa döõ lieäu ñeán B ALU maø thoâng qua 2 C Ñeà truyeàn vôùi boä maïch choát D nhôù, ñöa MAR vaø E MBR vaøo vi caáu truùc F Keânh Amux xaùc ñònh döõ lieäu vaøo töø choát A  L1 To address bus L0  L(A) L(B)  M0 Address out hay MBR nhôø A0 M1 naïp döõ MAR lieäu cho Data in To data bus MBR, M2,3 AMUX ALU thöïc hieän 4 chöùc MBR A0   M1 M2  ñieàu khieån naêng: A+B, A ^ B, A, F0  N M3  ñoïc vaø ghi boä Not A nhôø F vaø F vaø ALU  Z 2 traïng thaùi 0 Z 1 F1  nhôù N, Data out  S0 Shifter  S1
  3. Caáp vi lập trình Caùch thöùc keát noái Bus A Bus B Bus C Maõ hoùa thoâng tin PC baèng 4 bit vaø duøng Khuoân daïng vi leänh maïch giaûi maõ 416 AC ñeå tieát kieäm 32 bits SP IR TIR 0 - 16 tín hieäu ñieàu khieån naïp cho Bus A töø thanh ghi +1 - 16 tín hieäu ñieàu khieån naïp cho Bus B töø thanh ghi -1 - 16 tín hieäu ñieàu khieån naïp cho thanh ghi töø Bus C AMASK SMASK - 2 tín hieäu ñieà khieån choát A,B A - 2 tín hieäu ñieàu khieån chöùc naêng ALU B C - 2 tín hieäu ñieàu khieån maïch dòch bit D - 4 tín hieäu ñieàu khieån MAR vaø MBR E - 2 tín hieäu ñieàu khieån ñoïc, ghi boä nhôù F - 1 tín hieäu ñieàu khieån Amux  L1 L0  L(A) L(B)  M0 To address bus Address out MAR Data in To data bus AMUX MBR A0   M1 M2  F0  N M3  ALU F1  Z Data out  S0 Shifter  S1
  4. Caáp vi lập trình Caùch thöùc keát noái Maõ hoùa thoâng Khuoân daïng vi leänh tin baèng 4 bits coù 32 bits Khuoân daïng vi leänh ñieàu khieån 3 bus A,B,C, duøng ñeå choïn thanh ghi Theâm COND quaûn lyù Bit theâm vaøo ENC trình töï vi leänh keá tieáp (Enable C) Theâm COND quaûn lyù ñòa chæ vi leänh keá tieáp Duøng RS vaø WR ñieàu khieån choát MBR Bits 1 2 2 2 1 1 1 1 1 4 4 4 8 A C A S M M R W E M O L H B A D R N C B A ADDR U N U R R C COND=1, nhaûy ñeán ADDR neáu N=1 X D COND=2, nhaûy ñeán ADDR neáu Z=1 COND=3, nhaûy ñeá ADDR Ñk caát keát quaû ALU vaøo boä nhôù nhaùp (=1) hoaëc khoâng (=0) RD,WR yeâu caàu ñoïc/ghi döõ lieäu (=1) hoaëc khoâng (=0) Naïp ñòa chæ cho MAR töø maïch choát B (=1) hoaëc khoâng (=0) Naïp döõ lieäu cho MBR töø maïch dòch bit (=1) hoaëc khoâng (=0) Maïch dòch bit phaûi (=01), traùi (=10), khoâng dòch (=00) Choïn chöùc naêng ALU: A+B (=00), A and B (01), A (=10), Not A (11) Ñk choïn döõ lieäu töø choát A (=0) hoaëc MBR (=1) ñeán ALU
  5. Caáp vi lập trình C decode Sô ñoà khoái ñaày ñuû 16 4 cuûa vi caáu truùc B decode 4 16 A decode 4 16 4 3 Clock 2 Subcycles A B 1 C 16 register Mmux LA LB MPC Increment MAR 256 x 32 Control Store MIR A C A S M M R W EN AMUX MBR M O L H B A D R C C B A ADDR U N U R R N X D 2 ALU Z2 2 Shifter RD WR
  6. Caáp vi lập trình Vi hợp ngữ Nguyeân taéc: vi chöông trình ñöôïc vieát döôùi daïng soá nhò phaân, moãi vi leänh daøi 32 bit Ví duï: Ñeå coäng AC vôùi A vaø chöùa keát quaû vaøo AC 0 00 00 00 0 0 0 0 1 0001 0001 0010 00000000 B=1 A=10 ADDR=0 ENC=1 C=1 MBR,MAR,RD,WR=0 SH=0  Coù theå vieát: ALU=0 (Pheùp coäng) ENC=1,C=1,B=1,A=10 Cond=0 Amux=0
  7. Caáp vi lập trình Vi hợp ngữ Bus A Bus B Bus C PC Nguyeân taéc: söû duïng kyù hieäu cuûa AC SP ngoân ngöõ caáp cao moâ taû chæ thò maùy. IR TIR 0 A C A +1 M OA D MM E -1 U N L S B A R WN D AMASK X DU HRRDRCC B A R SMASK Mar:=pc;rd 0 0 2 0 0 1 1 0 0 0 0 0 00 A B Ir:=mbr 1 0 2 0 0 0 0 0 1 3 0 0 00 C Pc:=pc+1 0 0 0 0 0 0 0 0 1 0 6 0 0 D Alu:=tir;if n then goto 15 0 1 2 0 0 0 0 0 0 0 0 4 15 E F  L1 L0  L(A) L(B)  M0 Address out MAR Data in To data bus AMUX MBR A0   M1 M2  F0  N M3  ALU F1  Z Data out  S0 Shifter  S1
  8. Caáp vi lập trình Ví duï moät vi chöông trình thöïc hieän leänh coäng (ADD) 1. Vi leänh: PC-MAR: - ALU noái Bus D vaø Bus S 1. mar:=pc;rd; - Bus D noái PC 2. pc:=pc+1;rd; - Bus S noâi MAR 3. ir:=mbr; ..... 2. Vi leänh: |ADDR|MBR 4. mar:=ir;rd ; {LODD} - Ñoïc MEM ra MBR 5. rd; 6. ac:=mar;goto 0; 3. Vi leänh: (MBR)IR ....... - ALU noái Bus M vaø bus S 7. mar:=ir;rd ; {ADDD} - MBR noái Bus M 8. Rd; - Bus S noái IR 9. ac:=mbr+ac;goto 0; ....... 4. Vi leänh: DECODE 10. mar:=ir;rd; {SUBD} Nhaûy ñeán ñòa chæ maõ leänh (ñaõ giaûi 11. ac:=ac+1;rd; {x-y = } maõ) 12. a:=inv(mbr); {x+1+Not y} 5. Vi leänh: (IA)MAR 13. ac:=ac+a;goto 0; - ALU noái Bus D vaø Bus S - Noái IA (cuûa IR) vaø Bus D - Bus S noâi MAR 6. Vi leänh: |DATA|MBR- Ñoïc döõ lieäu töø MEM ra MBR 7. Vi leänh: MBR+A - Coäng noäi dung treân Bus D vaø Mus M vaø ñöa ra Bus S - MBR noái Bus M - Noái Bus S vôùi AC 8. Vi leänh: PC+1 - Noái Bus D vaø Bus S qua ALU, PC coäng 1 - Noái PC vaø Bus D - Noái Bus S vaø PC
  9. Caáp vi lập trình Ví duï moät vi chöông trình thöïc hieän leänh coäng (ADD) AC A MO D A M M E UN D L B A N S R W XD R U R R C H D R C B A 1. mar:=pc;rd; 0 00 10 0 0 1 1 0 0 0000 0000 0000 00000000 2. pc:=pc+1;rd; 0 00 00 0 0 0 0 0 1 0000 0110 0000 00000000 3. ir:=mbr; 1 00 10 0 0 0 0 0 1 0011 0000 0000 00000000 ..... ..... 4. mar:=ir;rd; {LODD} 0 00 10 0 0 1 1 0 0 0000 0011 0000 00000000 5. rd; 0 00 00 0 0 0 1 0 0 0000 0000 0000 00000000 6. .......... .... Vi chöông trình vieát döôùi Vi chöông trình vieát döôùi daïng vi leänh nhò daïng ngoân ngöõ töôïng tröng, phaân, moãi vi leänh daøi 32 bits söû duïng kyù hieäu cuûa ngoân ngöõ caáp cao
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2