Bài giảng Vi xử lý - Chương 2: Kiến trúc CPU và tập lệnh - Hồ Trung Mỹ

Bus nội và ngoại
• Bus nội (Internal bus) là đường dẫn để truyền
dữ liệu giữa các thanh ghi và ALU trong VXL
• Bus ngoại (External bus) dùng cho bên ngoài
nối đến RAM, ROM và I/O
• Độ rộng của bus nội và ngoại có thể khác nhau.
• Thí dụ
– 8088: bus nội là 16 bit, bus ngoại là 8 bit
– 8086: bus nội là 16 bit, bus ngoại là 16 bit 
pdf 15 trang thamphan 28/12/2022 2660
Bạn đang xem tài liệu "Bài giảng Vi xử lý - Chương 2: Kiến trúc CPU và tập lệnh - Hồ Trung Mỹ", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfbai_giang_vi_xu_ly_chuong_2_kien_truc_cpu_va_tap_lenh_ho_tru.pdf

Nội dung text: Bài giảng Vi xử lý - Chương 2: Kiến trúc CPU và tập lệnh - Hồ Trung Mỹ

  1. 02-Mar-11 ĐHBK Tp HCM-Khoa Đ-ĐT BM ĐT GVPT: H ồ Trung M ỹ Ni dung Môn h ọc: Vi X ử Lý 2.1 S KH I CPU 8 BIT C B N 2.2 T CH C CÁC THANH GHI Ch ươ ng 2 2.3 T CH C B NH 2.4 GHÉP N I BUS H TH NG KI ẾN TRÚC CPU VÀ T ẬP L ỆNH 2.5 CHU K BUS, CHU K MÁY 2.6 CÁC PH Ư NG PHÁP NH A CH 2.7 T P L NH Vi x ử lý Bus n ội và ngo ại • Có nhi u l ai vi x lý (VXL) t r t n gi n n r t ph c t p • Bus n i (Internal bus) là ng d n truy n • Ph thu c vào r ng bus d li u và thanh ghi và d li u gi a các thanh ghi và ALU trong VXL ALU, có các VXL 4 bit , 8 bit , 16bit, 32 bit , 64 bit • Bus ngo i (External bus) dùng cho bên ngoài • Thí d ni n RAM, ROM và I/O – Z80 là VXL 8 bit • r ng c a bus n i và ngo i có th khác nhau. – 8086/88 là VXL 16 bit • Thí d •Tt c các VXL có – 8088: bus n i là 16 bit, bus ngo i là 8 bit – Bus a ch – 8086: bus n i là 16 bit, bus ngo i là 16 bit – Bus d li u – Các tín hi u iu khi n: RD, WR, CLK , RST, INT, . . . 2.1 S Ơ ĐỒ KH ỐI CPU 8 BIT C Ơ B ẢN 1
  2. 02-Mar-11 Mô t ả chân Z80 Ki ến trúc h ệ th ống RESET Reset (input, active Low). RESET initializes the CPU as follows: Resets the IFF Clears the PC and registers I and R Sets the interrupt status to Mode 0. During reset time, the address and data bus go to a high-impedance state And all control output signals go to the inactive state. must be active for a minimum of three full clock cycles before the reset operation is complete. Z80 CPU B 8 U F INTERNAL DATA BUS (8 BIT) F E R DATA BUS MUX MUX A F TMP INSTRUCTION W' Z' W Z REGISTER I R A' F' 2.2 TỔ CH ỨC CÁC THANH GHI B' C' B C D' E' D E H' L' H L ACT DECODER IX IY SP ALU CONTROLLER PC SEQUENCER ± k ± k CONTROL SECTION B ADDRESS BUS 16 U F INTERNAL ADDRESS BUS (16 BIT) F E R B CONTROL BUS 13 U F INTERNAL CONTROL BUS F E R Mô hình l ập trình Z80 Tập thanh ghi • A : Accumulator Register •F : Flag register • Two sets of six general-purpose registers – may be used individually as 8-bit A F B C D E H L (A’ F’ B’ C’ D’ E’ H’ L’ ) – or in pairs as 16-bit registers AF BC DE HL (AF’ BC’ DE’ HL’ ) • The Alternative registers ( A’ F’ B’ C’ D’ E’ H’ L’ ) not visible to the programmer but can access via: – EXX (BC) (BC') , (DE) (DE') , (HL) (HL') – EX AF, AF ’ (AF) (AF') what is this instruction useful for? 3
  3. 02-Mar-11 Giao ti ếp ROM 1KB và 2 RAM 256 x 4 Giao ti ếp v ới RAM A9 A0 A7 A0 A7 A0 Ta mu n Z80 k t n i v i các b nh (v i các chip ROM 1K x 8 và RAM 256 x 4) theo b ng b nh sau ROM 1 KB : 0000H–03FFH RAM 256 bytes : 0400H–04FFH Giao ti ếp v ới SRAM 1KB Thí d ụ giao ti ếp DRAM 8 KB xây d ựng từ các DRAM 4KB Hệ máy tính Z80 t ối thi ểu 2.4 GHÉP N ỐI BUS H Ệ TH ỐNG 5
  4. 02-Mar-11 Chu k ỳ nh ận l ệnh (chu k ỳ M1) Thanh ghi R (Refresh) • c t ng m i chu k M1. • Bit 7 c a nó không bao gi b thay i b i M!; ch có 7 bit th p tham gia trong phép c ng. Vì vy bit 7 gi nguyên tr c . • Ta ch có th thay i bit 7 b ng l nh LD R,A • LD A,R và LD R,A truy c p thanh ghi R sau khi nó c t ng • R th ng c dùng làm giá tr ng u nhiên trong ch ơ ng trình nh ng d nhiên nó th t s không ng u nhiên. Thêm m t tr ng thái i vào chu k T1 Chu k ỳ đọ c ho ặc ghi b ộ nh ớ Chu k ỳ nh ập ho ặc xu ất Thêm tr ạng thái đợ i vào b ất k ỳ (Input or Ouput Cycle) chu k ỳ b ộ nh ớ nào During I/O operations a single wait state is automatically inserted 7
  5. 02-Mar-11 Các ch ế độ ng ắt • Mode 0: – An 8 bit opcode is Fetched from Data BUS and executed – The source interrupt device must put 8 bit opcode at data bus – 8 bit opcode usually is RST p instructions • Mode 1: – A jump is made to address 0038h – No value is required at data bus • Mode 2: – A jump is made to address (register I × 256 + value from interrupting device that puts at bus) –I is high 8 bit of interrupt vector – Value is low 8 bit of interrupt vector Chu k ỳ thoát kh ỏi HALT nh thì RESET iu ki n thoát: INT, NMI, RESET CPU Reset 2.6 CÁC PH ƯƠ NG PHÁP ĐỊ NH ĐỊ A CH Ỉ 9
  6. 02-Mar-11 nh a ch t ươ ng i nh a ch theo ch s •S d ng 1 byte d li u theo sau mã l nh ch d i so v i a ch l nh k và l nh nh nh y n. d i D • Byte d li u theo mã l nh là d i D (s có này s có d u bi u di n theo s bù 2 và a ch th t du bù 2) ư c c ng vào v i thanh ghi ch s ư c tính nh ư sau (theo d i D và a ch l nh hi n ti A): (IX ho c IY) ch n ô nh d li u, ngh a là EA = D + A + 2 EA = IX (ho c IY) + D. Lo i l nh này có mã lnh dài 2 byte và trong mã l nh có các bit ch d i D có th có giá tr t -128 n +127. ra thanh ghi ch s nào ư c ch n IX ho c IY. • Thí d : LD A, (IX + 10H) LD B, (IY + 20H) • Thí d: JR 10H nh a ch thanh ghi nh a ch hi u ng m • Nhi u mã l nh Z80 ch a các bit thông tin cho • Mã l nh cho bi t 1 hay nhi u thanh ghi CPU bi t thanh ghi CPU nào ư c s d ng trong ch a toán h ng. Thí d có m t s l nh hi u lnh. toán h ng thanh ghi tích l y. • Thí d : LD A, B nh a ch gián ti p qua thanh ghi nh a ch cho bit • Z80 có nhi u l nh t bit, xóa bit và ki m tra bit. Các l nh này • Lo i nh a ch này cho bi t c p thanh ghi 16 cho phép b t c v trí b nh nào ho c thanh ghi CPU s ư c s bit nào (nh ư HL) ư c dùng làm con tr ch t i dng cho các phép toán bit qua m t trong 3 cách nh a ch tr ư c (thanh ghi, gián ti p qua thanh ghi và theo ch s ) và 3 bit v trí ô nh . trong mã l nh s cho bi t bit nào trong 8 bit ư c x lý. • Thí d : LD A, (HL) Thí d : BIT 3, A LD (HL), 10H SET 0, (HL) RES 7, (IX + 10H) Chú ý là có nh ng l nh k t h p m t s cách a ch chung trong mt l nh. 11
  7. 02-Mar-11 5. MACRO ( nh ngh a m t on ch ư ng trình mà trình h p ng s t ng chèn vào 4. ORG (Origin = b t u; nh ngh a a ch b t u) toàn b on ch ư ng trình này khi có tham và END (k t thúc ch ư ng trình) chi u tên macro ó và b t u on macro Thí d : bng MACRO và k t thúc b ng ENDM ) ORG 100H ; Ch ươ ng trình b ắt đầ u t ừ 100H START: LD A, 1FH ; b ắt đầ u ch ươ ng trình Thí d : INC A REF: MACRO OUT (11H), A LD H, (IX+1) END ; k ết thúc ch ươ ng trình LD L, (IY+1) INC IX INC IY ENDM • Thí d : in các s 0 vào các ô nh có a ch t 8100H n 817FH. • Thí d : Nhân 10 l n giá tr ư c c t trong c p ORG 8000H thanh ghi HL. LD HL, 8100H MULT10: ADD HL, HL ; 2X HL LD A, 00H LD D, H ; (HL)=>(DE) LD C, 80H LD E, L LOOP: LD (HL), A ADD HL, HL ; 4 x HL INC HL ADD HL, HL ; 8 x HL DEC C ADD HL, DE ; (8+2) x HL JP NZ, LOOP RET HALT END • Thí d : Chuy n chu i d li u 737 byte v trí b nh DATA n v trí b nh BUFFER, tác v này ư c l p trình nh ư sau LD HL, DATA ; L ấy đị a ch ỉ b ắt đầ u c ủa DATA LD DE, BUFFER ; L ấy đị a ch ỉ b ắt đầ u c ủa BUFFER LD BC, 737 ; Chi ều dài c ủa chu ỗi ký t ự LDIR ; Chuy ển chu ỗi–Chuy ển b ộ nh ớ ch ỉ ; bởi HL vào ô nh ớ đượ c ch ỉ b ởi DE ; t ăng HL và DE lên 1 ;Gi ảm b ớt BC đi 1, cho đế n khi BC= 0. 13
  8. 02-Mar-11 15