Đăng ký Đăng nhập
Trang chủ KIẾN TRÚC CPU VÀ TẬP LỆNH...

Tài liệu KIẾN TRÚC CPU VÀ TẬP LỆNH

.PDF
91
57
55

Mô tả:

KIẾN TRÚC CPU VÀ TẬP LỆNH
Bùi Minh Thành Hi u đính t bài gi ng c a th y H Trung M (BMDT- DHBK) KIẾN TRÚC CPU VÀ TẬP LỆNH 1 N i dung 2.1 Sơ đồ khối CPU 8 bit cơ bản 2.2 Tổ chức các thanh ghi 2.3 Tổ chức bộ nhớ 2.4 Ghép nối bus hệ thống 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 2 Vi xử lý Có nhiều loại vi xử lý (VXL) từ rất đơn giản đến rất phức tạp Phụ thuộc vào độ rộng bus dữ liệu, thanh ghi và ALU, có các VXL 4 bit , 8 bit , 16bit, 32 bit , 64 bit … Thí dụ Z80 là VXL 8 bit 8086/88 là VXL 16 bit Tất cả các VXL có Bus địa chỉ Bus dữ liệu Các tín hiệu điều khiển: RD, WR, CLK , RST, INT, . . . 3 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 4 2.1 SƠ ĐỒ KHỐI CPU 8 BIT CƠ BẢN 5 6 Sơ ñ ch c năng và gán chân chip Z80 7 Có 6 nhóm tín hiệu: Bus địa chỉ 16 đường (A0 đến A15) Bus dữ liệu 8 đường (D0 đến D7) 6 đường điều khiển hệ thống 5 đường điều khiển CPU 2 đường điều khiển bus CPU ( ) 3 đường dành cho nguồn cấp điện và xung nhịp (+5V, GND, và CLK) 8 Mô tả chân Z80 1) Bus ñ a ch : A15-A0 Bus ñ a ch (xu t, tích c c cao, 3-state). Dùng ñ truy c p b nh và các c ng I/O 2) Bus d li u: D7-D0 Bus d li u (nh p/xu t, tích c c cao, 3-state). Dùng ñ trao ñ i d li u v i b nh , I/O và ng t. 9 Mô tả chân Z80 3) 6 ñư ng ñi u khi n h th ng Báo cho b nh và các thi t b ngo i vi bi t khi nào chúng có th s d ng các tín hi u trên bus ñ a ch và bus d li u -/M1: + M t chu kỳ máy (xu t, tích c c th p). + Báo cho thi t b ngoài bi t Z80 ñang nh n l nh + Cùng v i MREQ ch ra chu kỳ n p mã l nh (Opcode) + Cùng v i IORQ ch ra chu kỳ xác nh n INT 10 Mô tả chân Z80 3) 6 ñư ng ñi u khi n h th ng Báo cho b nh và các thi t b ngo i vi bi t khi nào chúng có th s d ng các tín hi u trên bus ñ a ch và bus d li u - /MREQ, /IORQ: Báo cho thi t b ngoài bi t r ng Z80 có d li u ñ a ch h p l trên bus ñ a ch dành cho b nh ho c cho thi t b I/O. - /RD, /WR: Báo cho thi t b ngoài bi t r ng : + D li u trên bus d li u là h p l (/WR) + Z80 s n sàng ñ c d li u trên bus d li u (/RD) - /RFSH: Tín hi u làm tươi các DRAM 11 Mô tả chân Z80 4) 5 ñư ng ñi u khi n CPU Báo cho thi t b ngoài bi t r ng Z80 s ho t ñ ng (halt) ch ñ nào ho c khi nó b treo - /HALT Z80 ñang b treo - /WAIT Dùng trong trư ng h p b nh ch m ho c thi t b I/O ch m, Z80 c n “ñ i” các thi t b này. 12 Mô tả chân Z80 4) 5 ñư ng ñi u khi n CPU Báo cho thi t b ngoài bi t r ng Z80 s ho t ñ ng treo (halt) ch ñ nào ho c khi nó b - /INT + Yêu c u ng t (vào, tích c c th p) + ðư c phát b i thi t b ngo i vi. + ðư c ki m tra t i th i ñi m cu i c a l nh hi n hành. - /NMI + Ng t không che ñư c (Non-Maskable Interrupt), Input, negative edge-triggered + Có ñ ưu tiên cao hơn INT. + Nh n d ng t i th i ñi m cu i c a l nh hi n hành. PC ñư c thi t l p t i ñ a ch 0066H 13 Mô tả chân Z80 4) 5 ñư ng ñi u khi n CPU Báo cho thi t b ngoài bi t r ng Z80 s ho t ñ ng treo (halt) ch ñ nào ho c khi nó b - /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. 14 Mô tả chân Z80 5) 2 ñư ng ñi u khi n bus CPU Cho phép thi t b ngoài yêu s d ng các bus ñ a ch và bus d li u - /BUSREQ Cho phép các thi t b ngoài yêu c u s d ng các bus ñ a ch và bus d li u. Cho phép các thi t b ngoài làm vi c tr c ti p v i b nh không c n thông qua CPU. o Bus Request (input, active Low). o Ưu tiên cao hơn NMI o Recognized at the end of the current machine cycle. Forces the CPU address bus, data bus, and MREQ, IORQ, RD, and WR to high-Z. - /BUSACK o Bus Acknowledge (output, active,Low) o Thông báo cho thi t b yêu c u bi t là bus ñ a ch , d li u và các tín hi u ñi u khi n MREQ, IORQ, RD, WR vào tr ng thái t ng tr cao. Các bus ñưa v cho CPU ñi u khi n khi BUSREQ không tích c c 15 Ki n trúc h th ng 16 2.2 T CH C CÁC THANH GHI 17 Z80 CPU B U F F E R 8 INTERNAL DATA BUS (8 BIT) MUX A INSTRUCTION REGISTER W' W Z B' C' B E' D H A' F' E L' F TMP C H' R Z' D' I DATA BUS MUX L DECODER ACT IX IY SP CONTROLLER SEQUENCER CONTROL SECTION ALU PC ±k ±k ADDRESS BUS INTERNAL ADDRESS BUS (16 BIT) B U F F E R CONTROL BUS INTERNAL CONTROL BUS B U F F E R 16 13 Nhóm thứ nhất: Gồm 8 thanh ghi 8-bit chính: Thanh ghi tích lũy A, thanh ghi cờ F và 6 thanh ghi đa dụng B, C, D, E, H, L 18 Mô hình l p trình Z80 Bô thanh ghi thay phiên cho phép người lập trình nhanh chóng chuyển từ việc thực thi một chương trình này sang thực thi chương trình thứ 2. Chỉ cần thực thi một lệnh hoán đổi. 19 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? 20
- Xem thêm -

Tài liệu liên quan