1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Giáo trình Kỹ thuật vi xử lý: Phần 2 - Nguyễn Trung Đồng

69 12 0

Đ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

Nội dung

Tiếp nội dung phần 1, Giáo trình Kỹ thuật vi xử lý: Phần 2 cung cấp cho người học những kiến thức như: Bộ nhớ trong của hệ vi xử lý; các chip khả lập trình (programmable); thiết bị vào ra của hệ vi xử lý. Mời các bạn cùng tham khảo!

Giáo trình Kỹ thuật vi xử lý CHƢƠNG III BỘ NHỚ TRONG CỦA HỆ VI XỬ LÝ III.1 Bộ nhớ hệ Vi xử lý Bộ nhớ sử dụng để lưu giữ mã lệnh chương trình liệu cần xử lý Bộ nhớ ghép nối trực tiếp với CPU qua BUS hệ thống nơi CPU truy xuất tới để lấy thông tin khởi động hệ thống Yêu cầu đặt cho nhớ phải cho phép truy xuất với tốc độ cao để đáp ứng kịp thời đòi hỏi CPU Chỉ có nhớ bán dẫn đáp ứng yêu cầu cao tốc độ truy xuất cao (hàng trăm đến hàng chục nsec) Bộ nhớ bán dẫn chia hai loại: Bộ nhớ đọc ROM ( Read Only Memory) nhớ truy xuất ngẫu nhiên RAM (Random Access Memory) III.1.1 nhớ Phần tử nhớ, vi mạch nhớ, từ nhớ dung lƣợng a) Phần tử nhớ Phần tử nhớ thông thường mạch điện ghi lại lưu giữ hai giá trị biến nhị phân, “0” “1”, tương ứng với khơng có điện áp có điện áp, gọi bit Trên mạch điện (Hình III.1), dây D1 khơng có điện áp (do cơng tắc mở), dây D2 có điện áp (vì cơng tắc đóng, hay thông qua diode mắc theo chiều thuận), gần giá trị nguồn nuôi Vcc, tương ứng với bit D1 = “0” bit D2 = “1” D1 +Vcc D2 D1 D2 +Vcc Phương pháp tạo phần tử nhớ D1 = D2 = mạch điện đơn giản Hình III.1 Mơ phần tử nhớ Mạch flip-flop RS (còn gọi triger RS) đồng mạch có khả lưu giữ giá trị “0” “1” lối Có thể dùng RS flipflop làm mạch lưu giữ tín hiệu vào R cách chốt liệu lại đầu Q (hình III.2a) Các hãng chế tạo thực mạch cơng nghệ cao, nên kích thước vơ nhỏ, có hàng nhiều triệu phần tử nhớ diện tích 1mm2 Các vi mạch nhớ thơng thường chế tạo với độ dài từ nhớ số lượng từ nhớ cố định Số bit nhớ liên kết vị trí nhớ (có địa chỉ) chip nhớ gọi từ nhớ Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 85 Giáo trình Kỹ thuật vi xử lý chip nhớ, thường chọn 1, 4, 8bit Để tạo từ nhớ nhớ, tức từ nhớ có độ dài (số bit từ) chuẩn (theo chuẩn IBM bits), số trường hợp định cần phải tiến hành ghép chip nhớ lại với Hình III.2 a), b) c) cho ta khái niệm khả tạo từ nhớ (byte) từ nhớ chip nhớ 1bit, 2bits bits Trong trường hợp độ dài từ nhớ chip nhớ bits, việc liên kết không cần thiết R Q CK Q Địa Địa RAM ROM Dữ liệu WR a) OE RD b) CS Dữ liệu CS BIT PER CHIP D7 D6 D5 D4 D3 D2 D1 D0 BYTE BITs PER CHIP BITs PER CHIP D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 c) BYTE BYTE Hình III.2 a) Mạch Flip-flop RS phần tử nhớ giá trị nhị phân b)Chip nhớ RAM chip nhớ ROM c) Ghép chip nhớ có độ dài từ nhớ khác để tạo từ nhớ có độ dài bits III.1.2 Vài nét nhớ hệ Vi xử lý máy tính PC Do ưu điểm tương thích tuyệt đối kích thước, tiêu thụ lượng thấp mức logic, đặc biệt tốc độ truy nhập, nên nhớ bán dẫn sử dụng làm nhớ (Main Memory) hệ Vi xử lý máy tính PC, nhiều ghép nối bo mạch chính, thiết kế vỉ nhỏ cắm vào khe cắm riêng bo mạch Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 86 Giáo trình Kỹ thuật vi xử lý Nhờ tiến vượt bậc công nghệ vi mạch, đặc biệt công nghệ cao (High Technology) chip nhớ chế tạo ngày nhỏ có dung lượng tương đối lớn, tốc độ truy nhập cao giá thành thấp Hiện có chip nhớ có dung lượng hàng trăm triệu từ nhớ, cấu thành từ hàng chục tỷ transistor một cấu trúc cỡ 1mm2 Bộ nhớ hệ Vi xử lý gồm hai loại chính:  Bộ nhớ ROM – nhớ đọc (Read Only Memory), thông thường chứa chương trình giám sát (monitoring) hoạt động chức hệ Vi xử lý: chương trình thiết lập hệ thống, chương trình vào/ra liệu, quản lý phân phát nhớ, quản lý thiết bị vào/ra v.v…Đối với máy tính PC, chương trình hệ thống vào/ra sở (BIOS – Basic Input Output System) Đặc điểm nhớ bảo tồn liệu khơng có nguồn ni  Bộ nhớ RAM – nhớ ghi/đọc tuỳ tiện (Random Access Memory) Vì có khả ghi/đọc tuỳ theo người dùng, nên nhớ sử dụng để chứa liệu, chương trình ứng dụng thời người dùng v.v… Trong máy tính PC, nhớ nơi chương trình hệ điều hành nạp khởi động máy, hay nơi chứa chương trình ứng dụng lúc thực thi Bộ nhớ bị liệu bị nguồn nuôi Trong hệ Vi xử lý đơn giản, hai nhớ thường thiết kế lắp ráp từ chip nhớ riêng biệt thành vỉ nhớ Địa giải mã cho chip nhớ nhờ khối giải mã, thông thường vi mạch giải mã hay xây dựng từ mạch tổ hợp logic Các tín hiệu điều khiển việc ghi/đọc nhớ CPU cung cấp Mạch triger RS đồng mạch có khả lưu giữ giá trị “0” “1” lối Có thể dùng RS flip-flop làm mạch lưu giữ tín hiệu vào R cách chốt liệu lại đầu Q (hình III.2) Bộ nhớ xây dựng từ chip nhớ Các chip nhớ RAM (SRAM DRAM) thường có từ nhớ có độ dài bit, bits bits Từ chíp nhớ loại xây dựng nhớ với ô nhớ chứa byte liệu (8 bits)  Xây dựng nhớ với chip SRAM Giả sử cần xây dựng nhớ kích thước 16Kbyte sở chíp SRAM loại 16Kx1bit Băng nhớ SRAM 16Kbyte xây dựng sở chip SRAM loại 16K x 1bit, để có nhớ có độ dài bits (từ nhớ bản) Để làm điều người ta đặt chip SRAM loại 16K x 1bit cho chip vị trí xác định đảm nhiệm lưu trữ bit liệu có trọng số tương ứng byte liệu Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 87 Giáo trình Kỹ thuật vi xử lý Cấu trúc chip SRAM DI -CS A13 A13 A7 Ma trận bit nhớ, 128 hàng 128 7 cột x Giải mã hàng DO Ao 16Kx1 -W/R -CS Đệm liệu Logic Ghi/Đọc -W/R DI DO Giải mã cột A6 A0 Hình III.3 Chip nhớ RAM 64K bit (64K x 1) Các đường tín hiệu : A13 - A0 BUS địa -CS: Tín hiệu chọn chip Nếu CS = truy nhập chip -W/R: Tín hiệu điều khiển ghi/đọc W=0 điều khiển ghi A14 BUS địa A13 A13 DI DO D0 A -W/R -W/R D0 CS A13 A A BUS liệu chiều CS CS -W/R DI DO D1 DI DO D7 D1 D7 Hình III.4 Sơ đồ vỉ nhớ 16KB xây dựng từ chip 16Kx1 Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 88 Giáo trình Kỹ thuật vi xử lý D0 - D7: Các đường dây truyền bit liệu từ D0 đến D7 Chu kỳ ghi nhớ SRAM : BUS địa Địa ô nhớ CS -W/R BUS liệu Dữ liệu cần ghi Hình III.5 - Biểu đồ thời gian ghi đọc nhớ  Tổ chức nhớ với DRAM Cấu trúc chip DRAM: -RAS -CAS -W/R BUS địa A0 -A7 Điều khiển Ghi/Đọc Đệm địa Mạch nạp trước Giải mã hàng DI Ma trận bit nhớ Đệm liệu DO Giải mã cột Hình III.6 - Cấu trúc bên chip DRAM DRAM dùng phương pháp dồn kênh để nạp (2 lần) địa hàng địa cột vào đệm địa Tín hiệu điều khiển : + RAS: RAS (Row Access Strobe) tích cực địa hàng nạp (chốt lại) + CAS: CAS (Column Access Strobe) tích cực địa cột nạp (chốt lại) + WE: WE  “0” điều khiển ghi chip, WE  “1” điều khiển đọc chip Việc xây dựng nhớ từ chip DRAM thực gần tương tự với SRAM Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 89 Giáo trình Kỹ thuật vi xử lý III.1.3 Phân loại chip nhớ ROM, RAM Các chip nhớ ROM (Read Only Memory) phân loại theo khả ghi đọc sau:  ROM, nhớ đọc, liệu chip nhớ loại ghi hãng sản xuất chip nhớ theo đơn đặt hàng nhà sản xuất thiết bị cần sử dụng  EPROM, chip nhớ ROM có khả xố nội dung ghi lại nội dung Nội dung xoá tia cực tím nhờ thiết bị chuyên dùng  EEPROM, chip nhớ ROM có khả xố, ghi lại nhờ sử dụng xung điện Các chip nhớ RAM chủ yếu chia thành loại chủ yếu sau:  RAM tĩnh (SRAM), phần tử nhớ mạch flip-flop, q trình sử dụng khơng cần quan tâm đến việc liệu lưu giữ không bị nguồn nuôi  RAM động (DRAM), phần tử nhớ dùng cơng nghệ nạp điện tích lên tụ điện Trong q trình sử dụng cần thiết chế độ làm tươi Dây từ Dây từ +Ec FAMOS Dây bit Cầu chì Dây bit Phần tử nhớ EPROM (cầu chì Transistor FAMOS) Phần tử nhớ PROM (cầu chì hợp kim Ni-Cr) X Phần tử nhớ +E D +E T Dây bit B C T T Dây bit B T T T T T Dây lỉệu D D Y Phần tử nhớ RAM tĩnh: Một mạch Flip-flop Hình III.7a – Sơ đồ cấu trúc phần tử nhớ Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 90 Giáo trình Kỹ thuật vi xử lý +ED +E0 T6 T5 Xung nạp trước X T4 W1 T3 T2 Dây bit B W0 C2 C1 T1 CB Dây liệu D W2 Dây bit B CB Y W3 Dây liệu D D3 D2 D1 D0 Phần tử RAM động (Dynamic RAM) MOS Transistors Hình III.7b – Sơ đồ cấu trúc phần tử nhớ III.3 Tổ chức nhớ cho hệ Vi xử lý III.3.1 Tổ chức nhớ vật lý Tổ chức nhớ cho hệ Vi xử lý (máy vi tính) phụ thuộc khơng vào hệ Vi xử lý cụ thể, mà phụ thuộc vào cách bố trí thuận lợi bên hệ thống Trước hết, làm quen với khái niệm chip nhớ từ nhớ để phân tích vấn đề tổ chức vật lý nhớ, sau mở rộng khái niệm tổ chức theo quan điểm người lập trình (tổ chức logic) Các chip nhớ sản xuất nhiều kích cỡ khác nhau, phụ thuộc vào công nghệ chế tạo Chip nhớ vi mạch cụ thể, bố trí chân Hình III.8 Các chân chip nhớ thông thường gồm lối vào BUS địa chỉ, lối liệu, chân điều khiển chọn chip, ghi/đọc chân nguồn A0 ÷ A9 D1 ÷ D4 CS WE Vcc GND Các chân địa Các chân liệu Chân chọn chip Điều khiển Ghi/Đọc Chân nguồn ni +5V Chân nối đất Hình III.8 Sơ đồ nối chân vi mạch nhớ RAM 1Kx4 A6 18 Vcc A5 A7 A4 A8 A3 A9 A0 D1 A1 D2 A2 D3 CS D4 GND 10 WE Tuỳ theo chip, số lượng chân địa số lượng chân liệu khác phụ thuộc vào độ dài từ nhớ chip dung lượng chip nhớ Độ dài từ nhớ chip nhớ 1bit, bits bits, số chân địa từ 10 trở lên tuỳ thuộc vào dung lượng Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 91 Giáo trình Kỹ thuật vi xử lý chip nhớ Trong trường hợp độ dài từ nhớ chip bit, ta cần phải ghép song song chip để tạo thành byte, ghép song song 16 chip để tạo từ word – bytes) 1 BIT PER CHIP BYTE BITs PER CHIP BYTE BITs PER CHIP BYTE Hình III.8 Tạo từ nhớ bit từ chíp nhớ có độ dài từ nhớ nhỏ III.3.2 Thiết kế vỉ nhớ cho hệ Vi xử lý Thiết kế vỉ nhớ việc quan trọng cần thiết việc xây dựng hệ Vi xử lý Các vỉ nhớ thiết kế thông thường EPROM, loại vỉ nhớ RAM, từ chip nhớ có sẵn Thơng thường, chíp nhớ chọn chip thông dụng thị trường, có thơng số kỹ thuật chủ yếu sau: a Dung lượng nhớ chip nhớ tính theo đơn vị Kbyte b Độ dài từ nhớ chíp nhớ tính theo số bits c Một số thơng số kỹ thuật khác thời gian truy xuất, công suất tiêu tán chip v.v…Những thơng số khơng có ảnh hưởng lớn đến trình thiết kế xây dựng vỉ nhớ Các thông số cho trước việc thiết kế vỉ nhớ bao gồm: a Loại chip nhớ ví dụ dùng EPROM 2764 (8Kx8) hay RAM TMS 2064 (8Kx8) v.v… b Dung lượng vỉ nhớ dung lượng vỉ nhớ phải có, ví dụ 64KB, 128KB v.v… c Địa đầu vùng nhớ ví dụ vỉ nhớ có địa đầu A0000H chẳng hạn Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 92 Giáo trình Kỹ thuật vi xử lý Ví dụ minh hoạ: Dùng EPROM 2764 (8Kx8bit) xây dựng vỉ nhớ có dung lượng 32KB, địa đầu 22000H Giải: Dựa yêu cầu đề ra, phải thực bước sau: Xác định số chip nhớ cần thiết để tạo từ nhớ (độ dài bits), tính theo cơng thức: n n số chip cần để tạo từ nhớ k k độ dài từ nhớ chip nhớ Tín hiệu chọn vỏ CS chip nối chung với nhau, chip coi chip liên thông, bit liệu định vị theo thứ tự từ D7 ÷ D0 tương ứng với bit từ D7 ÷ D0 BUS liệu Xác định số chip nhớ, số chip liên thông để tạo dung lượng nhớ theo yêu cầu Trong trường hợp cụ thể đề ra, cần chip để tạo dung lượng nhớ 32KB Tính theo cơng thức: M  Q Q dung lượng vỉ nhớ D D dung lượng chip nhớ dung lượng chip liên thông M số chip nhớ số chip liên thông cần thiết Xác định số dây địa sở (tức số dây địa thấp nối trực tiếp vào chip nhớ chip liên thông): Số dây địa m phụ thuộc vào dung lượng nhớ chip nhớ chip liên thông theo biểu thức sau: 2m = D D dung lượng chip nhớ m số dây địa sở Từ số chip số chip liên thông, xác định số dây địa cần thiết để tạo dây chọn chip riêng biệt Tính theo cơng thức: 2i = M i số dây địa cần để giải mã xác định tín hiệu chọn chip cho chip nhớ chip liên thông M số lượng chip số lượng chip liên thông Xây dựng mạch tổ hợp tạo tín hiệu chọn chip CSi Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 93 Giáo trình Kỹ thuật vi xử lý Các dây địa lại sử dụng để tạo tín hiệu xác định vùng nhớ vỉ nhớ không gian nhớ (được gán cho vỉ nhớ theo địa đầu vỉ nhớ theo yêu cầu) D7 ÷ D0 A12 ÷ A0 D7 ÷ D0 A12 ÷ A0 WR RD OE CS CS Sơ đồ nối chân chip nhớ ROM 2764 Sơ đồ nối chân RAM TMS 4064 Hình II.9 Sơ đồ nối chân chip nhớ ROM chip nhớ RAM Sơ đồ khối vỉ nhớ sau, mạch tổ hợp logic xây dựng theo kiến thức học môn học Kỹ thật điện tử số Từ BUS địa A12 ÷ A0 A12 ÷ A0 C0 BUS liệu D7 ÷ D A12 ÷ A0 C1 C3 CS0 CS1 RD CS3 A14 A13 Mạch tổ hợp logic giải mã tạo tín hiệu chọn chip CS0, CS1, CS2 CS3 Tín hiệu cho phép mạch giải mã chọn chip nhớ A19 ÷ A15 Hình II 10 Mạch tổ hợp logic giải mã chọn địa vùng Sơ đồ khối vỉ nhớ 32KB từ chip ROM 2764 Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 94 Giáo trình Kỹ thuật vi xử lý tính ký tự hiển thị, phải tạo điểm nháy CRTC phải tạo hai tín hiệu đồng ảnh ngang - dọc làm tươi hình Tần số làm tươi tối thiểu 50 Hz Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 139 Giáo trình Kỹ thuật vi xử lý PHỤ LỤC PHỤ LỤC A Bảng tóm tắt hệ lệnh Trung tâm Vi xử lý họ x86 Từ gợi nhớ Chức Chức Từ gợi nhớ Các lệnh họ 80x86 AAA Chỉnh sau phép cộng số dạng ASCII CMP So sánh tốn hạng đích gốc AAD Chỉnh hai số mã ASCII trước phép chia CMPS So sánh chuỗi Byte hay từ AAM Chỉnh sau phép nhân số mã ASCII CMPSB So sánh xâu (byte) AAS Chỉnh sau phép trừ số mã ASCII CMPSW So sánh xâu (từ) ADC Cộng có cờ nhớ CWD Biến đổi từ thành từ kép ADD Cộng toán hạng DAA Hiệu chỉnh thập phân sau phép cộng AND Và bít tương ứng toán hạng DAS Hiệu chỉnh thập phân sau phép trừ CALL Gọi chương trình DEC Giảm tốn hạng đích CBW Chuyển byte thành từ DIV Chia khơng dấu CLC Xố cờ nhớ ESC Thốt CLD Xoá cờ hướng HLT Treo CLI Xoá cờ ngắt IDIV Chia số nguyên CMC Lấy bù cờ nhớ IMUL Nhân số nguyên IN Đọc cổng vào JS Nhảy có cờ dấu INC Tăng tốn hạng đích lên JZ Nhảy INT Gọi ngắt LAHF Nạp bit thấp cờ vào AH INTO Ngắt bị tràn LDS Nạp ô nhớ từ kép vào ghi đoạn liệu IRET Trở chỗ bị ngắt LEA Nạp địa hiệu dụng JA Nhảy LES Nạp trỏ dùng ES JAE Nhảy LOCK Khoá bus JB Nhảy thấp LODS Nạp xâu JBE Nhảy thấp LODSB Nạp xâu (byte) JC Nhảy có cờ nhớ LODSW Nạp xâu (từ) JCXZ Nhảy CX = LOOP Vòng lặp JE Nhảy LOOPE Lặp lại JG Nhảy lớn LOOPNE Lặp lại không JGE Nhảy lớn LOOPNZ Lặp không JL Nhảy nhỏ LOOPZ Lặp JLE Nhảy nhỏ MOV Chuyển nguồn tới đích JMP Nhảy khơng điều kiện MOVS Chuyển xâu JNA Nhảy không MOVSB Chuyển xâu (byte) JNAE Nhảy không MOVSW Chuyển xâu (từ) JNB Nhảy không MUL Phép nhân JNBE Nhảy không NEG Đảo dấu hay lấy bù JNC Nhảy khơng có cờ nhớ NOP Khơng hành động Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 140 Giáo trình Kỹ thuật vi xử lý JNE Nhảy không NOT Đảo dấu (lấy bù 1) JNG Nhảy không lớn OR Hoặc bit tương ứng toán hạng JNGE Nhảy không lớn OUT Viết cổng vào/ra JNL Nhảy không nhỏ POP Hồi phục nộng dung (các ghi, ) JNLE nhảy không nhỏ POPF Hồi phục nội dung cờ JNO Nhảy không tràn PUSH Đẩy nội dung ( ghi, ) vào ngăn xếp JNP Nhảy khơng có cờ chẵn lẻ PUSHF Đẩy nội dung cờ vào ngăn xếp JNS Nhảy khơng có cờ dấu RCL Quay trái qua cờ nhớ JNZ Nhảy không RCR Quay phải qua cờ nhớ JO Nhảy có cờ tràn REP Lặp lại JP Nhảy có cờ chẵn lẻ REPE Lặp lại JPE Nhảy có cờ lẻ chẵn REPNE Lặp lại khơng JPO Nhảy lẻ lẻ REPNZ Lặp lại không REPZ Lặp lại STC Đặt cờ nhớ RET Trở STD Đặt cờ hướng ROL Quay trái STI Đặt cờ ngắt ROR Quay phải STOS Lưu trữ xâu SAHF Lưu trữ AH vào byte thấp cờ STOSB Lưu trữ xâu (byte) SAL Dịch trái số học STOSW Lưu trữ xâu (từ) SAR Dịch phải số học SUB Phép trừ SBB Trừ có mượn TEST Kiểm tra ( nhân logic đích với gốc) SCAS Quét xâu WAIT Đợi SCASB Quét xâu (byte) XCHG Tráo đổi SCANW Quét xâu (từ) XLAT Chuyển đổi bảng SHL Dịch trái XOR Hoặc tuyệt đối tương ứng số SHR Dịch phải Các lệnh có 80286, 80386 80486 ARPL Chỉnh trường RPL chọn LSL Nạp độ dài đoạn nhớ BOUND Kiểm tra biên trường LTR Nạp ghi nhiệm vụ CLTS Xoá cờ chuyển nhiệm vụ OUTS Xuất xâu cổng vào/ra ENTER Tạo khối thông số để vào CTC POPA Phục hồi tất tranh ghi đa INS Nhập xâu từ cổng vào/ra PUSHA Đẩy vào ngăn xếp ghi đa LAR Nạp quyền thâm nhập SGDT Lưu trữ ghi bảng mơ tả tồn cục LEAVE RA khỏi CTC (chương trình con) SIDT Lưu trữ ghi bảng mô tả ngắt LGDT Nạp ghi bảng mơ tả tồn cục SLDT Lưu trữ ghi bảng mô tả cục LIDT Nạp ghi bảng mô tả ngắt SMSW Lưu trữ từ trạng thái máy LLDT Nạp ghi bảng mô tả cục STR Lưu trữ ghi nhiệm vụ LMSW Nạp từ trạng thái máy VERR Kiểm tra chọn đoạn để đọc VERW Kiểm tra chọn đoạn để viết Các lệnh có tronmg 80386 80486 BSF Quét bit phía trước SETL Đặt byte nhỏ BSR Quét bit phía sau SETLE Đặt byte nhỏ BT Kiểm tra bit SETNA Đặt byte không Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 141 Giáo trình Kỹ thuật vi xử lý BTC Kiểm tra đảo bit SETNAE Đặt byte không BTR Kiểm tra xố bit SETNB Đặt byte khơng BTS Kiểm tra đặt bit SETNBE Đặt byte không CDQ Biến đổi từ kép thành từ kép bốn SETNC Đặt byte không nhớ CMPSD So sánh xâu (từ kép) SETNE Đặt byte không CWDE Biến đổi từ thành từ kép EAX SETNG Đặt byte không lớn JECXZ Nhảy ECX SETNGE Đặt byte không lớn LFS Nạp trỏ dùng FS SETNL Đặt byte không nhỏ LGS Nạp trỏ dùng GS SETNLE Đặt byte không nhỏ LSS Nạp trỏ dùng SS SETNO Đặt byte không tràn LODSD Nạp xâu (từ kép) SETNP Đặt byte khơng có chẵn lẻ MOVSD Chuyển xâu (từ kép) SETNS Đặt byte không dấu MOVSX Chuyển với Sigh-eXtend SETNZ Đặt byte không MOVZX Chuyển với Zero-eXtend SETO Đặt byte tràn SCASD Quét xâu (từ kép) SETP Đặt byte có chẵn lẻ SETA Đặt byte SETPE Đặt byte chẵn lẻ chẵn SETAE đặt byte SETPO Đặt byte có chẵn lẻ lẻ SETB Đặt byte SETS Đặt byte có dấu SETBE Đặt byte SETZ Đặt byte SETC Đặt byte có cờ nhớ SHLD Dịch trái( từ kép) SETE Đặt byte SHRD Dịch phải (từ kép) SETG Đặt byte lớn STOSD Lưu trữ xâu (từ kép) SETGE ĐẶt byte lớn Các lệnh có 80486 BSWAP Hốn chuyển byte INVLPG Vơ hiệu hố TLB (cho chế độ trang) CMPXCHG So sánh tráo đổi WBINVD Ghi trở lại nhớ vào nhớ ngầm INVD Vơ hiệu hố nhớ ngầm XADD Hoán chuyển cộng Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 142 Giáo trình Kỹ thuật vi xử lý PHỤ LỤC B Bảng luỹ thừa 2n 2n 2-n n 1 0.5 0.25 0.125 16 0.0625 32 0.03125 64 0.015625 128 0.0078125 256 0.00390625 512 0.001953125 1,024 10 0.000976563 2,048 11 0.0004882815 4,096 12 0.00024414125 8,192 13 0.000122070625 16,384 14 0.000061035156 32,768 15 0.000030517578 65,536 16 0.000015258789 131,072 17 0.000007629395 262,144 18 0.000003814697 524,288 19 0.000001907349 1,048,576 20 0.000000953674 2,097,152 21 0.000000476837 4,194,304 22 0.000000238419 8,388,608 23 0.000000119209 16,777,216 24 0.000000059605 33,554,432 25 0.000000029802 67,108,864 26 0.000000014901 134,217,728 27 0.000000007451 268,435,456 28 0.000000003725 536,870,912 29 0.000000001863 1,073,741,824 30 0.000000000931 2,147,483,648 31 0.000000000466 4,294,967,296 32 0.000000000233 Từ 2-14 giá trị làm tròn lấy 10 số sau dấu phẩy Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 143 Giáo trình Kỹ thuật vi xử lý PHỤ LỤC C Bảng mã ASCII | Dec 16 32 48 64 80 96 112 ROW | Bin 000 001 010 011 100 101 110 111 Dec Bin Hex | Hex 10 20 30 40 50 60 70 -+ -0 0000 | NUL DLE SP @ P ` p | 0001 | SOH XON ! A Q a q | 0010 | STX DC2 " B R b r | 0011 | ETX XOFF # C S c s | 0100 | EOT DC4 $ D T d t | 0101 | ENQ NAK % E U e u | 0110 | ACK SYN & F V f v | 0111 | BEL ETB ' G W g w | 1000 | BS CAN ( H X h x | 1001 | HT EM ) I Y i y | 10 1010 A | LF SUB * : J Z j z | 11 1011 B | VT ESC + ; K [ k { | 12 1100 C | FF FS , < L \ l | | 13 1101 D | CR GS = M ] m } | 14 1110 E | SO RS > N ^ n ~ | 15 1111 F | SI US / ? O _ o DEL Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 144 Giáo trình Kỹ thuật vi xử lý PHỤ LỤC D CÁC NHÓM LỆNH CỦA µC8051 Tạo vòng lặp lệnh nhảy: a Tạo vịng lặp - Q trình lặp lại chuỗi lệnh với số lần định gọi vòng lặp Vòng lặp 8051 thực lệnh “DJNZ ghi, nhãn“ Để tổ chức vòng lặp lồng cần sử dụng ghi để lưu số đếm b Lệnh nhảy Lệnh nhảy có điều kiện Lệnh JZ JNZ DJNZ CJNE A,byte CJNE re,#data JC JNC JB JNB JBC Ý Nghĩa Nhảy A=0 Nhảy A khác Giảm nhảy A khác Nhảy A khác byte Nhảy byte khác data Nhảy CY=1 Nhảy CY=0 Nhảy bit=1 Nhảy bit=0 Nhảy bit=1 xố Lệnh nhảy khơng điều kiện : Lệnh nhảy dài : Là lệnh byte Byte đầu mã lệnh, byte lại địa 16 bit đích Địa đích byte cho phép lệnh nhảy đến vị trí nhớ khơng gian nhớ 0000 đến FFFF Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 145 Giáo trình Kỹ thuật vi xử lý Lệnh nhảy ngắn : Lệnh nhảy ngắn lệnh byte Byte mã lệnh, byte thứ địa tương đối địa đích Địa đích tương đối có nghĩa so với giá trị đếm chương trình Lệnh gọi Call Lệnh call dùng để gọi chương trình Lệnh gọi dài Lcall (longcall) : Đây lệnh byte Byte đầu mã lệnh, byte lại địa chương trình đích sau thực xong chương trình con, để 8051 biết chỗ quay trở địa lệnh đứng sau lệnh gọi Lcall tự đông cất vào ngăn xếp Lệnh gọi tuyệt đối Acall : Lệnh Acall lệnh byte, địa đích chương trình phải nằm khoảng Kbyte địa có 11 bit byte dùng để xác định địa Thực tế số biến thể 8051 có Kbyte ROM chip Trong trường hợp đó, sử dụng lệnh Acall tiết kiệm số byte nhớ khơng gian ROM chương trình so với lệnh Lcall Nhóm lệnh 8051: Tập lệnh 8051 chia thành nhóm: - Số học - Luận lý - Chuyển liệu - Chuyển điều khiển - Rẽ nhánh Các chi tiết thiết lập lệnh: Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 146 Giáo trình Kỹ thuật vi xử lý Rn Thanh ghi R0 đến R7 bank ghi chọn Data bit địa vùng liệu bên Nó vùng RAM liệu (0-127) ghi chức đặc biệt @Ri bit vùng RAM liệu (0-125) đánh giá địa gián tiếp qua ghi R0 R1 #data Hằng bit chức câu lệnh #data 16 Hằng 16 bit chứa câu lệnh Addr16 16 bit địa đích dùng lệnh LCALL LJMP Addr11 11 bit địa đích dùng lệnh LCALL AJMP Rel Byte offset bit có dấu dùng lệnh SJMP lệnh nhảy có điều kiện Bit Bit định địa trực tiếp RAM liệu nội ghi chức đặc biệt a Nhóm lệnh xử lý số học: ADD A,Rn (1byte chu kỳ máy) : cộng nội dung ghi Rn vào ghi A ADD A,data (21): Cộng trực tiếp byte vào ghi A ADD A,@Ri (11): Cộng gián tiếp nội dung RAM chứa địa khai báo Ri vào ghi A ADD A,#data (21): Cộng liệu tức thời vào A ADD A,Rn (11): Cộng ghi cờ nhớ vào A ADD A,data (21): Cộng trực tiếp byte liệu cờ nhớ vào A ADDC A,@Ri (11): Cộng gián tiếp nội dung RAM cờ nhớ vào A ADDC (21): Cộng liệu tức thời cờ nhớ vào A A,#data SUBB A,Rn (11): Trừ nội dung ghi A cho nội dung ghi Rn Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 147 Giáo trình Kỹ thuật vi xử lý cờ nhớ SUBB A,data (21): Trừ trực tiếp A cho số cờ nhớ SUBB A,@Ri (11): Trừ gián tiếp A cho số cờ nhớ SUBB A,#data (21): Trừ nội dung A cho số tức thời cờ nhớ INC A (11): Tăng nội dung ghi A lên INC Rn (11): Tăng nội dung ghi Rn lên INC data (21): Tăng liệu trực tiếp lên INC @Ri (11): Tăng gián tiếp nội dung vùng RAM lên DEC A (11): Giảm nội dung ghi A xuống DEC Rn (11): Giảm nội dung ghi Rn xuống DEC data (21): Giảm liệu trực tiếp xuống DEC @Ri (11): Giảm gián tiếp nội dung vùng RAM xuống INC DPTR (12): Tăng nội dng trỏ liệu lên MUL AB (14): Nhân nội dung ghi A với nội dung ghi B DIV AB (14): Chia nội dung ghi A cho nội dung ghi B DA A (11): hiệu chỉnh thập phân ghi A b Nhóm lệnh luận lý: ANL A,Rn (11): AND nội dung ghi A với nội dung ghi Rn ANL A,data (21): AND nội dung ghi A với liệu trực tiếp ANL A,@Ri (11): AND nội dung ghi A với liệu gián tiếp RAM ANL A,#data (21): AND nội dung ghi với liệu tức thời ANL data,A (21): AND liệu trực tiếp với A ANL (32): AND liệu trực tiếp với A liệu tức data,#data thời ANL C,bit (22): AND cờ nhớ với bit trực tiếp Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 148 Giáo trình Kỹ thuật vi xử lý ANL C,/bit (22): AND cờ nhớ với bù bit trực tiếp ORL A,Rn (11): OR ghi A với ghi Rn ORL A,data (21): OR ghi A với liệu trực tiếp ORL A,@Ri (11): OR ghi A với liệu gián tiếp ORL A,#data (21): OR ghi A với liệu tức thời ORL data,A (21): OR liệu trực tiếp với ghi A ORL (31) :OR liệu trực tiếp với liệu tức thời data,#data ORL C,bit (22): OR cờ nhớ với bit trực tiếp ORL C,/bit (22): OR cờ nhớ với bù bit trực tiếp XRL A,Rn (11): XOR ghi A với ghi Rn XRL A,data (21): XOR ghi A với mộ liệu trực tiếp XRL A,@Ri (11): XOR ghi A với liệu gián tiếp XRL A,#data (21): XOR ghi A với mộ liệu tức thời XRL data,A (21): XOR liệu trực tiếp với ghi A XRL (31): XOR liệu trực tiếp với liệu tức thời data,#data SETB C (11): Đặt cờ nhớ SETB bit (21): Đặt bit trực tiếp CLR A (11): Xóa ghi A CLR C (11): Xóa cờ nhớ CPL A (11): Bù nội dung ghi A CPL C (11): Bù cờ nhớ CPL bit (21): Bù bit trực tiếp RL A (11): Quay trái nội dung ghi A RLC A (11): Quay trái nội dung ghi A qua cờ nhớ RR A (11): Quay phải nội dung ghi A RRC A (11): Quay phải nội dung ghi A qua cờ nhớ Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 149 Giáo trình Kỹ thuật vi xử lý SWAP (11): Quay trái nội dung ghi A nibble (1/2byte) c Nhóm lệnh chuyển liệu: MOV A,Rn (11):Chuyển nội dung ghi Rn vào ghi A MOV A,data (21): Chuyển liệu trực tiếp vào ghi A MOV A,@Ri (11): Chuyển liệu gián tiếp vào ghi A MOV A,#data (21): Chuyển liệu tức thời vào ghi A MOV Rn,data (22): Chuyển liệu trực tiếp vào ghi Rn MOV Rn,#data (21): Chuyển liệu tức thời vào ghi Rn MOV data,A (21): Chuyển nội dung ghi A vào liệu trực tiếp MOV data,Rn (22): Chuyển nội dung ghi Rn vào liệu trực tiếp MOV data,data (32): Chuyển liệu trực tiếp vào liệu trực tiếp MOV data,@Ri (22): Chuyển liệu gián tiếp vào liệu gián tiếp MOV data,#data (32): Chuyển liệu tức thời vào liệu trực tiếp MOV @Ri,A (11): Chuyển nội dung ghi A vào liệu gián tiếp MOV @Ri,data (22): Chuyển liệu trực tiếp vào liệu gián tiếp MOV @Ri,#data (21): Chuyển liệu tức thời vào liệu gián tiếp MOV (32): Chuyển 16 bit vào ghi trỏ DPTR,#data liệu MOV C,bit (21): Chuyển bit trực tiếp vào cờ nhớ MOV bit,C (22): Chuyển cờ nhớ vào bit trực tiếp Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 150 Giáo trình Kỹ thuật vi xử lý MOV (12): Chuyển byte nhớ chương trình có địa A,@A+DPTR là@A+DPRTvào ghi A MOVC (12): Chuyển byte nhớ chương trình có địa A,@A+PC @A+PC vào ghi A MOVX A,@Ri (12): Chuyển liệu (8 bit địa chỉ) vào ghi A MOVX (12): Chuyển liệu (16 bit địa chỉ) vào A,@DPTR ghi A MOVX @Ri,A (12): Chuyển nội dung A liệu (8 bit địa chỉ) MOVX (12): Chuyển nội dung A liệu bên (16 bit @DPTR,A địa chỉ) PUSH data (22): Chuyển liệu trực tiếp vào ngăn xếp tăng SP POP data (22): Chuyển liệu trực tiếp vào ngăn xếp giảm SP XCH A,Rn (11): Trao đổi liệu ghi Rn v2 ghi A XCH A,data (21): Trao đổi ghi A liệu trực tiếp XCH A,@Ri (11): Trao đổi ghi A liệu gián tiếp XCHD A,@R (11): Trao đổi nibble thấp (LSN) ghi A LSN liệu gián tiếp d Nhóm lệnh chuyền điều khiển: ACALL addr11 (22): Gọi chương trình dùng địa chì tuyệt đối LCALL addr16 (32): Gọi chương trình dùng địa dài RET (12): Trở từ lệnh gọi chương trình Nguyễn Trung Đồng - Viện Cơng nghệ Thông tin – Tel 098 341 0866 151 Giáo trình Kỹ thuật vi xử lý RETI (12): Trở từ lệnh gọi ngắt AJMP addr11 (22): Nhảy tuyệt đối LJMP addr16 (32): Nhảy dài SJMP rel (22):Nhảy ngắn JMP @A+DPTR (12): Nhảy gián tiếp từ trỏ liệu JZ rel (22): Nhảy A=0 JNZ rel (22): Nhảy A không JC rel (22): Nhảy cờ nhớ đặt JNC rel (22): Nhảy cờ nhớ không đặt JB bit,rel (32): Nhảy tương đối bit trực tiếp đặt JNB bit,rel (32):Nhảy tương đối bit trực tiếp không đặt JBC bit,rel (32): Nhảy tương đối bit trực tiếp đặt, xóa bit CJNE A,data,rel (32): So sánh liệu trực tiếp với A nhảy không CJNE A,#data,rel (32): So sánh liệu tức thời với A nhảy không CJNE (32): So sánh liệu tức thời với nội dung ghi Rn,#data,rel Rn nhảy không CJNE (32): So sánh liệu tức thời với liệu gián tiếp @Ri,#data,rel nhảy không DJNZ Rn,rel (22): Giảm ghi Rn nhảy không DJNZ data (32): Giảm liệu trực tiếp nhảy không Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 152 Giáo trình Kỹ thuật vi xử lý TÀI LIỆU THAM KHẢO [ ] Nguyễn Tăng Cường, Phan Quốc Khánh: Cấu trúc lập trình họ Vi điều khiển 8051 NXB KH&KT hà Nội-2004 [ ] Vũ Chấn Hưng: Giáo trình Kiến trúc máy tính NXB Giao thông vận tải - Hà Nội 2002 [ ] Văn Thế Minh: Kỹ thuật Vi xử lý – NXB Thống kê – Hà Nội 1983 [ ] Phịng Kỹ thuật số - Viện Khoa học Tính toán Điều khiển: Kỹ thuật Vi xử lý - Nhà Xuất Thống kê – Hà Nội 1983 [ ] Alan Clements: Principles of Computer Hardware – PWS-KENT Publishing Company – Boston 1992 [ ] Intel® Corporation: Component Data Catalog 1982 [ ] David Hergert, Nancy Thibeault: PC Architecture from Assembly Language To C Prentice-Hall, Inc 1997 [ ] Christopher L Morgan and Mitchell Waite: 8086/8088 16-bit Micrro-Processor Primer – McGraw-Hill, Inc 1982 [ ] V.M Rooney: Microprocessors and Microcomputers - McMilan Publishing Company – New York 1983 [ 10 ] James L., Turley: Advanced 80386 programming techniques Osborne Mc Graw-Hill 1988 Nguyễn Trung Đồng - Viện Công nghệ Thông tin – Tel 098 341 0866 153 ... bit ký tự Nguyễn Trung Đồng - Vi? ??n Công nghệ Thông tin – Tel 098 341 0866 116 Giáo trình Kỹ thuật vi xử lý đồng chức kỹ thuật thu phát thơng tin Chính nhờ vậy, giao diện CPU USART- 825 1 hoàn toàn... Để hiểu chế độ làm vi? ??c này, giả Nguyễn Trung Đồng - Vi? ??n Công nghệ Thông tin – Tel 098 341 0866 121 Giáo trình Kỹ thuật vi xử lý thiết 825 1 hai vi mạch độc lập: mạch thu phát đồng mạch thu phát... đưa 825 1về đặt Mode ENTER HUNT MODE – Cho phép săn tìm ký tự đồng Hình IV.1 1- Khn dạng từ lệnh 825 1 Nguyễn Trung Đồng - Vi? ??n Công nghệ Thơng tin – Tel 098 341 0866 126 Giáo trình Kỹ thuật vi xử

Ngày đăng: 18/01/2022, 09:58

TỪ KHÓA LIÊN QUAN