Tài liệu Đề cương vi xử lý

94 447 0
Tài liệu Đề cương vi xử lý

Đ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

Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin

Trờng đại học s phạm kỹ thuật hng yên Khoa Công nghệ Thông tin WX Giáo trình học phần Vi xử lý (Hệ Đại học) Tài liệu lu hành nội bộ Hng Yên 2005 Giáo trình VI XỬ LÝ http://www.ebook.edu.vn Bộ môn Kỹ thuật máy tính – Khoa CNTT – ĐHSPKT_HY http://www.ebook.edu.vn MỤC LỤC Chương 1. BỘ VI XỬ LÝ 8086/8088 …………………………… ……………………2 1.1. Tổng quan về các bộ vi xử lý của Intel 2 1.2. Cấu trúc bộ vi xử lý 8086 3 1.2.1. Sơ đồ khối 3 1.2.2. Giải thích các thành phần trong sơ đồ 3 1.2.3. Một số khái niệm cơ bản 4 1.3. Tập thanh ghi của bộ vi xử lý 8086 5 1.3.1. Các thanh ghi dữ liệu 5 1.3.2. Các thanh ghi đoạn: CS, DS, ES, SS 6 1.3.3. Các thanh ghi con trỏ và chỉ số: SI, DI, SP, BP 6 1.3.4. Thanh ghi con trỏ lệnh: IP 7 1.3.5. Thanh ghi cờ 7 1.4. Tập lệnh của bộ vi xử lý 7 1.4.1. Sơ lược về tập lệnh của bộ vi xử lý 7 1.4.2. Tập lệnh của CPU 8 1.4.3. Nhóm lệnh di chuyển dữ liệu 8 1.4.4. Nhóm lệnh số học 10 1.4.5. Nhóm lệnh logic 11 1.4.6. Nhóm lệnh dịch chuyển và quay 12 1.4.7. Nhóm lệnh điều khiển rẽ nhánh 13 1.4.8. Nhóm lệnh vào ra cổng 14 1.4.9. Nhóm lệnh điều khiển 14 1.5. Chế độ địa chỉ của bộ vi xử lý 8086 14 1.5.1. Tổng quan 14 1.5.2. Các chế độ địa chỉ dữ liệu 15 1.5.3. Chế độ địa chỉ thanh ghi 15 1.5.4. Chế độ địa chỉ tức thì 15 1.5.5. Chế độ địa chỉ trực tiếp 15 1.5.6. Chế độ địa chỉ gián tiếp thanh ghi 16 1.5.7. Chế độ địa chỉ tương đối cơ sở(Base Relative Addressing) 16 1.5.8. Chế độ địa chỉ tương đối chỉ số(Indexed Relative Addressing) 17 1.5.9. Chế độ địa chỉ tương đối chỉ số cơ sở(Base Indexed Relative) 17 1.5.10. Bảng tóm tắt các chế độ địa chỉ 18 1.6. Phân tích mã lệnh mã máy 18 1.6.1. Khuôn dạng lệnh 18 1.6.2. Một số mã lệnh mã máy 20 1.6.3. Một số ví dụ minh họa 21 1.7. Lập trình và gỡ rối bằng DEBUG 22 1.7.1. Giới thiệu về lệnh của DEBUG 22 1.7.2. Lập trình bằng DEBUG 24 1.7.3. Gỡ rối chương trình bằng DEBUG 25 Chương 2. CÁC BỘ VI XỬ LÝ TIÊN TIẾN CỦA INTEL 26 2.1. Bộ vi xử lý 80286 26 2.1.1. Các thanh ghi 26 2.1.2. Tập lệnh 27 Giáo trình VI XỬ LÝ http://www.ebook.edu.vn Bộ môn Kỹ thuật máy tính – Khoa CNTT – ĐHSPKT_HY http://www.ebook.edu.vn 2.2. Bộ vi xử lý 80386 28 2.2.1. Sơ đồ khối của 80386 28 2.2.2. Các thanh ghi 28 2.2.3. Quản lý bộ nhớ 30 2.2.4. Tập lệnh 32 2.3. Bộ vi xử lý 80486 32 2.3.1. Các phần tử xử lý CISC và RISC 32 2.3.2. Vi xử lý 80486 33 2.4. Các bộ vi xử lý Intel Pentium 35 2.4.1. Đặc điểm chung 35 2.4.2. Cấu trúc và tính năng 35 2.5. Bộ đồng xử lý toán 80x87 39 2.5.1. Sơ lược về các số thực 39 2.5.2. Cấu trúc của 8087 39 2.5.3. Tập lệnh của 8087 39 2.6. Cấu trúc và chức năng của 8087 39 2.6.1. Sơ đồ khối bên trong của 8087 39 2.6.2. Nối 8087 với CPU 42 2.7. Đồng xử lý 80287 42 Chương 3. CẤU TRÚC LẬP TRÌNH ASSEMBLY 43 3.1. Tổng quan về ngôn ngữ lập trình ASSEMBLY 43 3.1.1. Khái niệm 43 3.1.2. So sánh hợp ngữ với các ngôn ngữ bậc cao 43 3.2. Các đoạn trong một chương trình 44 3.3. Cấu trúc chung của một lệnh ASSEMBLY 44 3.4. Khai báo dữ liệu và kiểu dữ liệu 45 3.4.1. Biến byte 45 3.4.2. Biến Word 46 3.4.3. Biến mảng 46 3.4.4. Biến chuỗi 47 3.5. Khung của một chương trình ASSEMBLY 47 3.5.1. Cấu trúc chương trình để dịch ra tệp *.EXE 47 3.5.2. Cấu trúc chương trình để dịch ra tệp *.COM 50 3.6. Cách tạo một chương trình hợp ngữ 52 Chương 4. CÁC CẤU TRÚC LẬP TRÌNH 55 4.1. Tổng quan 55 4.1.1. Các lệnh chuyển điều khiển 55 4.2. Cấu trúc tuần tự 56 4.3. Cấu trúc rẽ nhánh 57 4.3.1. Cấu trúc IF…THEN… 57 4.3.2. Cấu trúc IF THEN…ELSE 58 4.3.3. Cấu trúc rẽ nhánh CASE…OF… 59 4.3.4. Cấu trúc rẽ nhánh với điều kiện kép 60 4.4. Cấu trúc lặp 61 4.4.1. Cấu trúc FOR…TO…DO… 61 4.4.2. Cấu trúc WHILE…DO… 62 Giáo trình VI XỬ LÝ http://www.ebook.edu.vn Bộ môn Kỹ thuật máy tính – Khoa CNTT – ĐHSPKT_HY http://www.ebook.edu.vn 4.4.3. Cấu trúc REPEAT…UNTIL… 63 4.5. Cấu trúc chương trình con 63 4.5.1. Cấu trúc của chương trình con 64 4.5.2. Cách gọi và thực hiện một chương trình con 66 4.6. MACRO 67 4.6.1. Định nghĩa MACRO 67 4.6.2. Gọi MACRO trong chương trình 68 4.6.3. Gọi MACRO từ đoạn chương trình khác 70 Chương 5. MỘT SỐ VẤN ĐỀ NÂNG CAO 72 5.1. Lập trình xử lý số nguyên 72 5.2. Cấu trúc dữ liệu mảng 72 5.2.1. Khai báo mảng 72 5.2.2. Sử dụng mảng 73 5.3. Cấu trúc dữ liệu xâu ký tự 75 5.3.1. Cờ định hướng 75 5.3.2. Lệnh chuyển đổi một chuỗi 76 5.3.3. Lệnh lưu chuỗi 77 5.3.4. Lệnh nạp chuỗi 77 5.4. Lập trình xử lý số thực 80 5.5. Lập trình cho các bộ vi xử lý tiên tiến 80 Chương 6. LIÊN KẾT ASSEMBLY VỚI CÁC NGÔN NGỮ BẬC CAO 80 6.1. Lập trình mã lệnh mã máy 80 6.1.1. Cú pháp 81 6.1.2. Thực hiện 81 6.1.3. Một số chú ý 81 6.1.4. Ví dụ 81 6.2. Lập trình mã lệnh gợi nhớ 83 6.2.1. Chèn khối lệnh ASSEMBLY 83 6.3. Ngắt và lập trình ngắt trong ngôn ngữ bậc cao 85 6.3.1. Khái niệm về ngắt 85 6.3.2. Phân loại ngắt 86 6.3.3. Giới thiệu về một số ngắt 86 Giáo trình VI XỬ LÝ http://www.ebook.edu.vn Bộ môn Kỹ thuật máy tính – Khoa CNTT – ĐHSPKT_HY Trang 2 Phần I BỘ VI XỬ LÝ Chương 1. BỘ VI XỬ LÝ 8086/8088 1.1. Tổng quan về các bộ vi xử lý của Intel Một hệ vi xử lý được gọi là một hệ thống trong đó bao gồm: - Đơn vị nhập xuất: Được sử dụng để nhập và xuất số liệu, dữ liệu. - Đơn vị xử lý: Xử lý các dữ liệu nhập vào, sau đó xuất ra các thiết bị ra. - Bộ nhớ: Lưu trữ thông tin, dữ liệu trong quá trình xử lý Tất cả các thiết bị có các chức năng như vậy đều có thể được gọi là một hệ vi xử lý. Máy vi tính là một hệ thống vi xử lý. Một thành phần quan trọng trong hệ thống máy vi tính, đó là bộ vi xử lý. Trên thực tế, có rất nhiều hãng chế tạo bộ vi xử lý cho các máy vi tính như: IBM, Intel, Cyrix, AMD, Motorola Nhưng thông dụng nhất vẫn là bộ vi xử lý của Intel. Các bộ vi xử lý của Intel được phát triển qua các th ời kỳ như sau: o Năm 1971, Intel đưa ra bộ vi xử lý 4004 với 4 bit dữ liệu, 12 bit địa chỉ; 0,8MHz o Năm 1972, bộ vi xử lý Intel 8080 ra đời với 8bit dữ liệu, 12 bit địa chỉ; tốc độ xử lý 0,8-5MHz o Năm 1974, bộ vi xử lý Intel 8085 ra đời với 8bit dữ liệu, 16 bit địa chỉ; tốc độ xử lý 5MHz o Năm 1978, bộ vi xử lý Intel 8086 ra đời với 16bit dữ liệu, 20 bit đị a chỉ; tốc độ xử lý 10MHz o Năm 1979, bộ vi xử lý Intel 8088 ra đời nhằm mục đích giảm giá bộ vi xử lý và tương thích với hệ thống 8086 cũ o Năm 1982 bộ vi xử lý 80286 ra đời với 16bit dữ liệu, 20 bit địa chỉ, tốc độ xử lý là 20MHz có thể định địa chỉ ở chế độ bảo vệ và chế độ thực. o Năm 1985-1988, b ộ vi xử lý 80386 ra đời với 32 bit dữ liệu và 32 bit địa chỉ tốc độ xử lý 33-40MHz o Năm 1989, bộ vi xử lý 80486 ra đời với 32 bit dữ liệu và 32 bit địa chỉ tốc độ xử lý 50-60MHz o Năm 1993, bộ vi xử lý Pentium ra đời với 64 bit dữ liệu, tốc độ xử lý 100MHz Sau đó là các bộ vi xử lý Pentium Pro, Pentium II, Pentium III, Celeron, Pentium 4, Giỏo trỡnh VI X Lí http://www.ebook.edu.vn B mụn K thut mỏy tớnh Khoa CNTT HSPKT_HY Trang 3 1.2. Cu trỳc b vi x lý 8086 1.2.1. S khi 1.2.2. Gii thớch cỏc thnh phn trong s Khi phi ghộp Bus (Bus Interface Unit - BIU) Khi thc hin lnh (Execution Unit - EU) n v EU E.U (execution unit) B.I.U (Bus interface unit) Các thanh ghi đa năng Các thanh ghi con trỏ v chỉ số Các thanh ghi tạm thời AX BX CX DX SP BP SI DI CS DS SS ES IP ALU Thanh ghi c ờ Khối điều khiển của EU Logic điều khiển Bus Đệm lệnh (hng đợi lệnh) (6 byte cho 8086) Bus ngoi Bus dữ liệu (8 bit) Bus trong của CPU 8 bit dữ liệu 20 bit địa ch ỉ Bus địa chỉ (20 bit) Các thanh ghi đoạn v con trỏ lệnh Accumulator Base Count Data Stack pointer Base pointer Source index Destination index Code segment Data segment Stack segment Extra segment Intruction pointer Bus dữ liệu ALU (16 bit) Hình 1.1 : Sơ đồ cấu trúc bên trong bộ vi xử lý 8086/808 8 Giáo trình VI XỬ LÝ http://www.ebook.edu.vn Bộ môn Kỹ thuật máy tính – Khoa CNTT – ĐHSPKT_HY Trang 4 Đơn vị EU của 8086 và 8088 là giống nhau nó bao gồm ALU, các thanh ghi cờ, thanh ghi đệm và các thanh ghi đa năng. Các kênh truyền dữ liệu bên trong EU đều là 16 bit. EU không nối trực tiếp với thế giới bên ngoài, nó lấy lệnh từ hàng đợi lệnh của BIU. Nếu lệnh cần truy xuất bộ nhớ hoặc cổng vào/ra (là nơi liên hệ với thiết bị ngoại vi ) thì EU yêu cầu BIU nhận hoặc gửi dữ liệu. Tất cả các địa chỉ mà BIU thao tác đều là 16 bit, khi gửi sang cho BIU sẽ sắp đặt lại để tạo thành địa chỉ vật lý 20 bit phát ra các chân ra địa chỉ của chip.  Đơn vị BIU Đơn vị BIU thực hiện tất cả các thao tác với Bus mà BIU yêu cầu, ngoài ra khi BIU đang thực hiện một lệnh, thì BIU có thể lấy lệnh từ bộ nhớ về đặt trong hàng đợi lệnh. Hàng đợi lệnh của 8086 dài 6 byte, của 8088 dài 4 byte. Việc lấ y lệnh về của BIU và việc thực hiện lệnh của BIU thực hiện song song với nhau (trừ một số trường hợp ngoại lệ) làm cho hiệu năng của vi xử lý tăng lên. 1.2.3. Một số khái niệm cơ bản * Pipelining: Là một phương pháp xử lý lệnh trên một đường ống lệnh, có thể xử lý nhiều lệnh đồng thời trong cùng một khoảng thời gian. Trong khi lệnh này đ ang được xử lý thì lệnh tiếp sau nó đã được nhận vào Chúng ta có thể so sánh phương pháp xử lý bằng pipeline và phương pháp xử lý dòng lệnh tuần tự như hai hình dưới đây: a) Instruction 1 1 2 3 4 Instruction 3 1 2 Instruction 2 1 2 3 4 Time b) Instruction 1 1 2 3 4 Instruction 2 1 2 3 4 Time 1 2 3 4 1 2 3 4 Instruction 3 Instruction 4 Hình 1.2. So sánh pipeline và tuần tự a) Xử lý tuần tự b) Xử lý bằng Pipeline * CISC, RISC và VLIW CISC – Complex Instruction Set Computer (Máy tính với tập lệnh đầy đủ) RISC – Reduced Instruction Set Computer (Máy tính với tập lệnh rút gọn) VLIW – Very Long Instruction Word (Máy tính với từ lệnh cực dài) Về cơ bản, công nghệ hiện nay vẫn dựa trên cơ sở bộ vi xử lý CISC và RISC. Chúng ta có thể so sánh sơ bộ về hai công nghệ này: Giáo trình VI XỬ LÝ http://www.ebook.edu.vn Bộ môn Kỹ thuật máy tính – Khoa CNTT – ĐHSPKT_HY Trang 5 RISC CISC  Cấu thành từ một vài lệnh đơn  Các lệnh được thực thi bằng phần cứng  Kích thước của một lệnh và thời gian thực thi của mỗi lệnh gần như nhau  Đầy đủ với độ phân cấp  Các lệnh được thực thi bằng các vi chương trình  Kích thước và thời gian thực hiện của các lệnh khác nhau. 1.3. Tập thanh ghi của bộ vi xử lý 8086 1.3.1. Các thanh ghi dữ liệu Mặc dù bộ vi xử lý có thể thao tác với dữ liệu bộ nhớ nhưng một lệnh như vậy sẽ được thực hiện nhanh hơn (cần ít chu kỳ đồng hồ hơn), nếu dữ liệu được lưu trong các thanh ghi. Đó cũng là nguyên nhân tại sao ngày nay các bộ vi xử lý được sản xuất với xu hướng có nhiều thanh ghi h ơn. Với các thanh ghi dữ liệu các byte thấp và byte cao có thể được truy nhập một cách riêng biệt, sử dụng từng 8 bit một cách riêng rẽ. Byte cao của thanh ghi AX được gọi là AH và các byte thấp được gọi là AL. Tương tự cho các thanh ghi BX, CX, DX có BH, BL, CH, CL, DH, DL. Chức năng chuyên biệt của từng thanh ghi dữ liệu : 1. Thanh ghi AX (thanh ghi chứa- Accumulator register) AX là thanh ghi được sử dụng nhiều nhất trong các lệnh số học, logic, và chuyể n dữ liệu bởi vì việc sử dụng chúng tạo ra mã máy ngắn nhất. Trong các phép toán nhân chia một trong các số hạng tham gia phải được chứa trong thanh ghi AX (nếu là 16 bit) và AL (nếu là 8 bit). Các thao tác vào ra cũng sử dụng thanh ghi AX hoặc AL. 2. Thanh ghi BX (thanh ghi cơ sở- Base register) Thanh ghi này ngoài việc thao tác dữ liệu nó thường chứa địa chỉ cơ sở của một bảng dùng cho lệnh XLAT.(dịch AL thành 1 giá trị trong bảng BX) 3. Thanh ghi CX (thanh ghi đếm- Count register) Việc xây dựng một chương trình lặp được thực hiện dễ dàng bằng cách sử dụng thanh ghi CX, trong đó CX đóng vai trò bộ đếm số vòng lặp (REP, LOOP). CL được dùng làm bộ đếm trong các lệnh dịch và quay bit. 4. Thanh ghi DX (thanh ghi dữ liệu - Data register) DX và AX cùng được sử dụng trong các thao tác của phép nhân hoặc chia các số 16 bit. DX còn được sử dụng để ch ứa địa chỉ của các cổng trong các lệnh vào ra dữ liệu trực tiếp (In/Out). Giáo trình VI XỬ LÝ http://www.ebook.edu.vn Bộ môn Kỹ thuật máy tính – Khoa CNTT – ĐHSPKT_HY Trang 6 1.3.2. Các thanh ghi đoạn: CS, DS, ES, SS Khối BIU đưa ra trên Bus địa chỉ 20 bit địa chỉ, như vậy 8088 có khả năng phân biệt được 2 20 = 1. 048. 576 = 1 Mbyte ô nhớ. Nói cách khác không gian địa chỉ của 8088 là 1 Mbyte. Trong không gian 1 Mbyte bộ nhớ này cần chia thành nhiều đoạn khác nhau : - Đoạn chứa chương trình - Đoạn chứa dữ liệu và kết quả trung gian của chương trình - Tạo ra vùng nhớ đặc biệt gọi là ngăn xếp Trong thực tế bộ vi xử lý 8088 có các thanh ghi 16 bit liên quan đến địa chỉ đầu của các đoạn trên và chúng được gọi là các thanh ghi đoạn (Segment Registers): CS, DS, SS, ES. Các thanh ghi đoạn này chỉ ra địa chỉ đầu của 4 đoạn trong bộ nhớ dung lượng lớn nhất của 4 đoạn này là 64 Kbyte. Các đoạn có thể nằm cách nhau hoặc trùm lên nhau Nội dung của thanh ghi sẽ xác định địa chỉ của ô nhớ đầu tiên của đoạn, địa chỉ này gọi là địa chỉ cơ sở. Địa chỉ của các ô nhớ khác trong cùng đoạn được tính bằ ng cách cộng thêm vào địa chỉ cơ sở một giá trị gọi là địa chỉ lệch hay độ lệch (offset) Địa chỉ vật lý (20 bit) của một ô nhớ được xác định như sau : Điạ chỉ vật lý = Điạ chỉ đoạn *10h+ thanh ghi lệch (hay offset) và điạ chỉ logic trong máy tính luôn được biểu diễn dưới dạng : Segment:Offset Tại mọi thời điểm thì chỉ những ô nhớ được định địa chỉ bởi 4 đoạn trên mới được truy cập. 1.3.3. Các thanh ghi con trỏ và chỉ số: SI, DI, SP, BP Trong 8088 có 3 thanh ghi con trỏ và 2 thanh ghi chỉ số 16 bit. Các thanh ghi này (trừ IP), đều có thể được dùng như các thanh ghi đa năng, nhưng ứng dụng chính của mỗi thanh ghi là chúng được gầm định như là thanh ghi lệch cho các đoạn tương ứng. Cụ thể như sau : 1. Thanh ghi BP : (con trỏ cơ sở - Base Pointer) BP luôn trỏ vào một dữ liệu nằm trong đoạn ngăn xếp SS. Địa chỉ cụ thể SS:BP được xác định như trên. 2. Thanh ghi SP(con trỏ ngăn xếp - Stack Pointer) Được sử dụng kết hợp với SS để truy nhập vào đoạn ngăn xếp. SP luôn trỏ vào đỉnh hiện thời của ngăn xếp trong đoạn ngă n xếp SS. Địa chỉ cụ thể SS:SP 3. Thanh ghi SI(chỉ số nguồn - Source Index). SI chỉ vào dữ liệu trong đoạn dữ liệu DS mà địa chỉ cụ thể tương ứng với DS:SI. Bằng cách tăng nội dung của SI chúng ta có thể truy nhập dễ dàng đến các ô nhớ liên tiếp. 4. Thanh ghi DI (chỉ số đích - Destination Index). Giáo trình VI XỬ LÝ http://www.ebook.edu.vn Bộ môn Kỹ thuật máy tính – Khoa CNTT – ĐHSPKT_HY Trang 7 SI chỉ vào dữ liệu trong đoạn dữ liệu DS mà địa chỉ cụ thể tương ứng với DS:DI. Có một số lệnh gọi là các thao tác chuỗi sử dụng DI để truy nhập đến các ô nhớ được định địa chỉ bởi ES. 1.3.4. Thanh ghi con trỏ lệnh: IP Các thanh ghi bộ nhớ chúng ta vừa trình bày dùng để truy cập dữ liệu, để truy nhập đến các lệnh, 8088 s ử dụng các thanh ghi CS và IP. Thanh ghi CS chứa điạ chỉ của lệnh tiếp theo còn IP chứa địa chỉ offset của lệnh đó. Thanh ghi IP được cập nhập mỗi khi có một lệnh được thực hiện. 1.3.5. Thanh ghi cờ Đây là thanh ghi 16 bit, mỗi bit được sử dụng để thể hiện một trạng thái của bộ vi xử lý tại một thời đ iểm nhất định trong quá trình thực hiện chương trình. Mới chỉ có 9 bit được sử dụng và người ta gọi mỗi bit là một cờ. x x x x OF DF IF TF SF ZF x AF x PF x CF * Các cờ trạng thái CF (Carry Flag): được thiết lập khi phép toán thực hiện có nhớ hoặc có vay mượn PF(Parity Flag): được thiết lập khi kết quả của phép toán có tổng số bit có giá trị 1 là một số chẵn (ở phần thấp của kết quả) . AF (Auxiliary Flag): được thiết lập khi có nhớ từ "bit có trọng số lớn nhất ở phần thấp" sang "bit có trọng số thấ p nhất ở phần cao". ZF (Zero Flag) : Được thiết lập khi tất cả các bit của kết quả có giá trị 0. SF ( Sign Flag): được thiết lập khi bit MSB của kết quả có giá trị 1. OF (Overflow Flag): được thiết lập khi kết quả nằm ngoài giới hạn cho phép. *Các cờ điều khiển TF (Trace Flag): Nếu bit này có giá trị 1 thì bộ vi xử lý cho phép thực hiện từng bước chương trình IF (Interrupt Flag) : Nếu bit này có giá tr ị 1 thì bộ vi xử lý cho phép các ngắt cứng có thể thực hiện. DF (Direction Flag): Nếu bit này có giá trị 1 thì bộ vi xử lý cho phép duyệt chuỗi từ phải sang trái hoặc từ địa chỉ cao đến địa chỉ thấp. 1.4. Tập lệnh của bộ vi xử lý 1.4.1. Sơ lược về tập lệnh của bộ vi xử lý Tập lệnh của bộ vi xử lý là thành phần cơ bả n nhất để máy tính có thể thực hiện các yêu cầu của người sử dụng. Tất cả các thao tác, các chương trình do người dùng lập ra đều được bộ vi xử lý thực hiện bằng việc ánh xạ chúng dưới dạng mã máy, mã lệnh riêng của bộ vi xử lý. [...]... trỡnh VI X Lí http://www.ebook.edu.vn Thụng thng, vi cỏc lp trỡnh vi n, cỏc lnh ca b vi x lý c hiu di gúc l cỏc lnh gi nh (Mnemonic) Vi mó lnh gi nh thỡ mt lnh ca b vi x lý bao gm cỏc thnh phn sau: [Mó lnh] [Cỏc toỏn hng] Trong ú: Mó lnh - C bn trng ny cha mó lnh di dng mó gi nh Cỏc toỏn hng - L cỏc thnh phn m cỏc lnh s dng thc hin lnh Nu l cỏc lnh tht thỡ õy chớnh l cỏc toỏn hng ca lnh Vi b vi x lý. .. mó mỏy 1.6.1 Khuụn dng lnh Mó lnh dnh cho vi x lý c vit di dng nh phõn Nhng ngi lp trỡnh cú th hiu v lp trỡnh c thỡ cỏc lnh ca vi x lý c biu din di dng mó lnh gi nh (Mnemonic) Song, v c bn chỳng ta cng cm phi bit v mó lnh mó mỏy ca b vi x lý cú th hiu rng mt lnh c b vi x lý thc hin ra sao v cu trỳc ca cỏc lnh ú nh th no Vn ta cn phi hiu l mt lnh ca b vi x lý 8086 cú di lnh ti a l 6 byte Cu trỳc... ghi vi thanh ghi: 001000dw mod reg r/m V trc tip vi thanh ghi: 0010010w data V trc tip vi ụ nh hay thanh ghi: 1000000w mod 100 r/m data g/ Lnh OR Hoc ụ nh hay thanh ghi vi thanh ghi: 000010dw mod reg r/m Hoc d liu trc tip vi thanh ghi: 0000110w data Hoc trc tip vi ụ nh hay thanh ghi: 1000000w mod 001 r/m data h/ Lnh XOR XOR ụ nh hay thanh ghi vi thanh ghi: 001100dw mod reg r/m XOR toỏn hng trc tip vi. .. trỡnh trờn b li ti v trớ lnh SUB Ta cn sa li nh sau: Cn phi gừ lnh DEBUG vi tham s Xem on chng trỡnh cú li khụng Lnh gõy li a ch ca lnh sai Cn phi sa li Sau ú ghi li Chng 2 CC B VI X Lí TIấN TIN CA INTEL 2.1 B vi x lý 80286 V c bn, b vi x lý 80286 cú cu trỳc ging nh 8086, nhng cú mt s c im khỏc bit nh sau: 2.1.1 Cỏc thanh ghi B vi x lý 80286 cú thờm mt s thanh ghi - Thanh ghi t trng thỏi (MSW - Machine... gi ngt vi s_hiu_ngt c) HLT Lnh treo mỏy dng chng trỡnh d) NOP : No Operation khụng thc hin lnh no c 1.5 Ch a ch ca b vi x lý 8086 1.5.1 Tng quan Cỏc ch a ch chớnh l phng phỏp xỏc nh toỏn hng hoc kiu toỏn hng trong cỏc cõu lnh B vi x lý 8086/8088 cú tng s trờn 20 ch a ch cho cỏc thnh phn khỏc nhau nh mó lnh, d liu, ngn xp Nhng trờn thc t, vic lp trỡnh, phõn tớch lnh, ngi ta ch qua tõm n vic d liu... lnh 2.3 B vi x lý 80486 2.3.1 Cỏc phn t x lý CISC v RISC H 80x86 ca Intel thng hot ng theo nguyờn tc dựng vi x lớ cú tp lnh phc tp CISC (Complex Instruction Set Computer) c im l nú cú s lng lnh ln (thng hn 300 lnh), cú kh nng nh a ch phc tp, cỏc lnh c vi lnh hoỏ cú ngha l CPU hot ng bng vi chng trỡnh Nghiờn cu iu tra thng kờ ó ch ra nhng kt lun sau: - Trong nhiu chng trỡnh in hỡnh c x lớ bng b vi x lớ... cỏc lnh loi ny khụng cn chuyn cho b gii mó vi lnh na m c thc hin ngay Nh bờn phi hỡnh 59, cỏc lnh mỏy trong hng nhn lnh trc PQ c trc tip chy ngay m khụng cn phi c gii mó thnh mt chui cỏc vi lnh Rừ rng thi gian thc hin mt lnh õy c rỳt ngn i nhiu so vi trng hp b vi x lớ CISC 2.3.2 Vi x lý 80486 2.3.2.1 c im chung Chip i486 cú mt tớch hp rt cao gm bờn trong mt vi x lớ i386 ó ci tin, mt b ng x lớ toỏn... HSPKT_HY Trang 31 Giỏo trỡnh VI X Lí http://www.ebook.edu.vn Cỏch tớnh a ch hiu dng offset Ch s a ch c s B chn Thanh ghi chn on B nh vt lý dch chuyn offset 32bit Ch s ti b mụ t a ch tuyn tớnh n v qun lý theo on a ch n v qun lý vt lý theo trang Sau khi chuyn sang ch bo v, lnh nhy gia cỏc on s c thc hin xp li hng nhn lnh trc PQ Tip theo cỏc on s liu c np vo bng cỏc b chn vi giỏ tr khi u Mt cỏch khỏc... ch tuyn tớnh, cú ngha rng ta cú th tỡm thy cỏc a ch tuyn tớnh ln hn ch ti mt on lụgic nm vựng a ch thp a ch tuyn tớnh 32 bit bng 32 bit a ch c s cng vi 32 bit offset Vic s dng a ch on lụgic cú vi iốu bt tin (vớ d nh trong vic trao i, swapping, cỏc on nh vi a t) nờn 80386 c tran b thờm cỏch qun lớ b nh theo trang s c trỡnh by trong cỏc phn sau 1 nh a ch ch thc Sau khi bt ngun hay reset, 80386 ch... - LMSW: Np t trng thỏi mỏy - CLTS: xoỏ bit TS (task Switch) - HALT: Dng hot ng ca CPU B mụn K thut mỏy tớnh Khoa CNTT HSPKT_HY Trang 27 Giỏo trỡnh VI X Lí http://www.ebook.edu.vn 2.2 B vi x lý 80386 2.2.1 S khi ca 80386 n v qun lý theo on nh n v qun lý theo b nh Cỏc thanh ghi Cỏc thanh ghi on ALU B chuyn i on B m chuyn húa riờng B chuyn húa trang n v thc hin n v BUS B ghộp ni BUS B gii mó lnh Hng . bộ vi xử lý 80486 ra đời với 32 bit dữ liệu và 32 bit địa chỉ tốc độ xử lý 50-60MHz o Năm 1993, bộ vi xử lý Pentium ra đời với 64 bit dữ liệu, tốc độ xử lý 100MHz Sau đó là các bộ vi xử lý. đời với 8bit dữ liệu, 12 bit địa chỉ; tốc độ xử lý 0,8-5MHz o Năm 1974, bộ vi xử lý Intel 8085 ra đời với 8bit dữ liệu, 16 bit địa chỉ; tốc độ xử lý 5MHz o Năm 1978, bộ vi xử lý Intel 8086. 16bit dữ liệu, 20 bit đị a chỉ; tốc độ xử lý 10MHz o Năm 1979, bộ vi xử lý Intel 8088 ra đời nhằm mục đích giảm giá bộ vi xử lý và tương thích với hệ thống 8086 cũ o Năm 1982 bộ vi xử lý 80286

Ngày đăng: 23/10/2014, 13:47

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan