1. Trang chủ
  2. » Luận Văn - Báo Cáo

Kỹ Thuật Vi Xử Lý.pdf

161 0 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

vi xử lý,phạm hoàng duy,hvcnbcvt HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ***** PHẠM HOÀNG DUY BÀI GIẢNG KỸ THUẬT VI XỬ LÝ HÀ NỘI 2011 CuuDuongThanCong com https //fb com/tailieudientucntt http //cuudu[.]

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG ***** PHẠM HOÀNG DUY BÀI GIẢNG KỸ THUẬT VI XỬ LÝ HÀ NỘI 2011 CuuDuongThanCong.com https://fb.com/tailieudientucntt CuuDuongThanCong.com https://fb.com/tailieudientucntt LỜI NÓI ĐẦU Các vi xử lý sử dụng phổ biến hệ thống số hệ thống thông tin liên lạc, hệ thống điều khiển Tài liệu tập trung giới thiệu vi xử lý Intel 8086 ghép nối tiêu biểu để tạo nên hệ vi xử lý Hệ vi xử lý dựa Intel 8086 tương đối đơn giản bổ ích cho việc tìm hiểu phát triển hệ vi xử lý phức tạp Cấu trúc tài liệu sau Chương giới thiệu khái niệm tổng quan hệ vi xử lý phận cấu thành hệ vi xử lý nói chung Chương tóm tắt q trình phát triển phân loại vi xử lý đến Chương trình bày chi tiết vi xử lý Intel 8086 bao gồm sơ đồ khối cách tổ chức nhớ Ngoài ra, chương giới thiệu tập lệnh x86 trình thực lệnh Chương cung cấp kiến thức để lập trình với vi xử lý 8086 cách giới thiệu cấu trúc chương trình cấu trúc rẽ nhánh lặp tiêu biểu kết hợp với ví dụ Chương tập trung giới thiệu cách thức ghép nối vi xử lý 8086 với thiết bị khác để tạo thành hệ vi xử lý Chương trình bày chu trình đọc/ghi vi xử lý 8086 Đây sở để tiến hành ghép nối liệu với thiết bị khác nhớ hay thiết bị vào/ra khác Chương giới thiệu chế truyền thông nối tiếp cách thức ghép nối với vi xử lý 8086 Chương cung cấp kiến thức kỹ thuật trao đổi liệu với thiết bị ghép nối với hệ vi xử lý nói chung bao gồm vào/ra thăm dị (lập trình), vào/ra sử dụng ngắt vào/ra trực tiếp nhớ Trong ba phương pháp, vào/ra trực tiếp nhớ cho phép trao đổi khối lượng liệu lớn với tốc độ cao cần có vi mạch đặc biệt Chương giới thiệu vi mạch trợ giúp cho phương pháp vào vi mạch điều khiển ngắt, vi mạch điều khiển vào trực tiếp nhớ Chương trình bày sơ khái niệm hệ vi điều khiển (hay hệ vi xử lý vi mạch) Chương cịn cung cấp thơng tin hệ vi điều khiển Intel 8051 số ứng dụng Chương 7, chương cuối cùng, giới thiệu số vi xử lý tiên tiến Sun Microsystems Intel dựa kiến trúc IA-32 IA-64 CuuDuongThanCong.com https://fb.com/tailieudientucntt Tài liệu biên soạn dựa “Kỹ thuật Vi xử lý” tác giả Văn Thế Minh, tài liệu tham khảo khác, dựa trao đổi kinh nghiệm giảng dạy với đồng nghiệp phản hồi sinh viên Học viện Cơng nghệ Bưu Viễn thơng Tài liệu dùng làm tài liệu học tập cho sinh viên đại học, cao đẳng ngành công nghệ thông tin Trong q trình biên soạn, dù có nhiều cố gắng song khơng tránh khỏi thiếu sót, nhóm tác giả mong nhận góp ý cho thiếu sót ý kiến cập nhật hoàn thiện nội dung tài liệu Hà nội, 2011 Tác giả CuuDuongThanCong.com https://fb.com/tailieudientucntt MỤC LỤC MỤC LỤC LỜI NÓI ĐẦU Chương TỔNG QUAN VỀ VI XỬ LÝ VÀ HỆ VI XỬ LÝ 10 GIỚI THIỆU VỀ VI XỬ LÍ 10 HỆ VI XỬ LÍ 11 CÁC ĐẶC ĐIỂM CẤU TRÚC CỦA VI XỬ LÍ 13 3.1 Cấu trúc 13 3.1.1 3.1.2 3.1.3 3.1.4 Các ghi 13 Đơn vị xử lý số học lơ-gíc ALU 15 Đơn vị điều khiển CU 15 Kiến trúc RISC CISC 16 LỊCH SỬ PHÁT TRIỂN VÀ PHÂN LOẠI CÁC BỘ VI XỬ LÍ 17 4.1 Giai đoạn 1971-1973 17 4.2 Giai đoạn 1974-1977 17 4.3 Giai đoạn 1978-1982 18 4.4 Giai đoạn 1983-1999 18 4.5 Giai đoạn 2000-2006 19 4.6 Giai đoạn 2007-nay 20 Chương BỘ XỬ LÝ INTEL 8086 21 CẤU TRÚC BÊN TRONG CỦA 8086 21 1.1 Sơ đồ khối 21 1.1.1 Đơn vị giao tiếp buýt thực thi EU 22 1.1.2 Các ghi 22 1.2 Phân đoạn nhớ 8086 25 BỘ ĐỒNG XỬ LÍ TỐN HỌC 8087 27 TẬP LỆNH CỦA 8086 28 3.1 Khái niệm lệnh, mã hố lệnh q trình thực lệnh 28 3.2 Các chế độ địa 8086 29 CuuDuongThanCong.com https://fb.com/tailieudientucntt MỤC LỤC 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 Chế độ địa ghi 30 Chế độ địa tức 30 Chế độ địa trực tiếp 30 Chế độ gián tiếp qua ghi 31 Chế độ địa tương đối sở 31 Chế độ địa tương đối số sở 32 Phương pháp bỏ ngầm định ghi đoạn 32 3.3 Tập lệnh 8086 33 3.3.1 3.3.2 3.3.3 3.3.4 Các lệnh trao đổi liệu 33 Các lệnh tính tốn số học lơ gíc 35 Điều khiển, rẽ nhánh lặp 38 Điều khiển vi xử lý 39 NGẮT VÀ XỬ LÍ NGẮT TRONG 8086 40 4.1 Sự cần thiết phải ngắt CPU 40 4.2 Các loại ngắt hệ 8086 40 4.3 Đáp ứng CPU có yêu cầu ngắt 41 4.4 Xử lý ưu tiên ngắt 43 Chương LẬP TRÌNH HỢP NGỮ VỚI 8086 45 GIỚI THIỆU KHUNG CỦA CHƯƠNG TRÌNH HỢP NGỮ 45 1.1 Cú pháp chương trình hợp ngữ 45 1.2 Dữ liệu cho chương trình 46 1.2.1 Biến 47 1.2.2 Khung chương trình hợp ngữ 50 CÁCH TẠO VÀ CHẠY CHƯƠNG TRÌNH HỢP NGỮ 58 CÁC CẤU TRÚC LẬP TRÌNH CƠ BẢN 59 3.1 Cấu trúc 60 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 Cấu trúc IF - THEN 60 Cấu trúc IF - THEN - ELSE 61 Cấu trúc CASE 62 Cấu trúc lặp FOR - DO 63 Cấu trúc lặp WHILE - DO 65 Cấu trúc lặp REPEAT - UNTIL 65 CuuDuongThanCong.com https://fb.com/tailieudientucntt MỤC LỤC MỘT SỐ VÍ DỤ 66 4.1 Ví dụ 67 4.2 Ví dụ 68 4.3 Ví dụ 70 4.4 Ví dụ 72 4.5 Ví dụ 73 Chương PHỐI GHÉP VI XỬ LÍ VỚI BỘ NHỚ VÀ CÁC THIẾT BỊ VÀO/RA 75 CÁC TÍN HIỆU CỦA VI XỬ LÍ VÀ CÁC MẠCH PHỤ TRỢ 75 1.1 Các tín hiệu 8086 75 1.2 Phân kênh để tách thông tin việc đệm cho buýt 79 1.3 Mạch tạo xung nhịp 8284 80 1.4 Mạch điều khiển buýt 8288 82 1.5 Biểu đồ thời gian lệnh ghi/đọc 83 PHỐI GHÉP VI XỬ LÍ VỚI BỘ NHỚ 86 2.1 Giới thiệu nhớ 86 2.2 Giải mã địa cho nhớ 88 2.2.1 2.2.2 2.2.3 2.2.4 Giới thiệu 88 Thực mạch giải mã mạch lơ-gíc đơn giản 90 Thực giải mã dùng mạch giải mã tích hợp 91 Thực giải mã dùng PROM 93 PHỐI GHÉP VI XỬ LÍ VỚI THIẾT BỊ VÀO RA 94 3.1 Giới thiệu thiết bị vào/ra 94 3.2 Giải mã địa thiết bị vào 95 3.2.1 Giới thiệu 95 3.2.2 Các mạch cổng đơn giản 96 GIỚI THIỆU MỘT SỐ VI MẠCH HỖ TRỢ VÀO RA 98 4.1 Ghép nối song song dùng 8255A 98 4.1.1 Giới thiệu 98 4.1.2 Lập trình 8255A 102 4.2 Truyền thông nối tiếp 104 CuuDuongThanCong.com https://fb.com/tailieudientucntt MỤC LỤC 4.2.1 Mạch USART 8251A 105 Chương TỔNG QUAN VỀ CÁC PHƯƠNG PHÁP VÀO RA DỮ LIỆU 112 GIỚI THIỆU 112 VÀO/RA BẰNG PHƯƠNG PHÁP THĂM DÒ 113 VÀO/RA BẰNG NGẮT 114 3.1 Giới thiệu 114 3.2 Bộ xử lý ngắt ưu tiên 8259 114 3.2.1 Các khối chức 8259A 115 3.2.2 Các tín hiệu 8259A 116 3.2.3 Lập trình cho PIC 8259A 117 VÀO/RA BẰNG TRUY NHẬP TRỰC TIẾP BỘ NHỚ 126 4.1 Khái niệm phương pháp truy nhập trực tiếp vào nhớ 126 4.2 Các phương pháp trao đổi liệu 128 4.2.1 Trao đổi mảng liệu 128 4.2.2 Treo CPU để trao đổi byte 129 4.2.3 Tận dụng thời gian CPU không dùng buýt để trao đổi liệu 129 4.3 Bộ điều khiển truy nhập trực tiếp vào nhớ Intel 8237A 129 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 Giới thiệu 129 Các tín hiệu 8237A -5 130 Các ghi bên DMAC 8237A 132 Các lệnh đặc biệt cho DMAC 8237A 137 Lập trình cho ghi địa ghi số đếm: 137 Chương CÁC BỘ VI ĐIỀU KHIỂN 141 GIỚI THIỆU VỀ VI ĐIỀU KHIỂN VÀ CÁC HỆ NHÚNG 141 1.1 Giới thiệu 141 1.2 Các kiểu vi điều khiển 141 HỌ VI ĐIỀU KHIỂN Intel 8051 142 2.1 Sơ đồ khối 143 2.2 Các ghi 145 2.3 Tập lệnh 146 GIỚI THIỆU MỘT SỐ ỨNG DỤNG TIÊU BIỂU CỦA VI ĐIỀU KHIỂN 147 CuuDuongThanCong.com https://fb.com/tailieudientucntt MỤC LỤC 3.1 Chuyển đổi số tương tự (D/A) 147 3.2 Chuyến đổi tương tự số (A/D) 148 Chương GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN 151 CÁC VI XỬ LÍ TIÊN TIẾN DỰA TRÊN KIẾN TRÚC INTEL IA-32 151 1.1 Giới thiệu IA-32 151 1.2 Các vi xử lý hỗ trợ IA-32 154 CÁC VI XỬ LÍ TIÊN TIẾN DỰA TRÊN KIẾN TRÚC INTEL IA-64 156 CÁC VI XỬ LÍ TIÊN TIẾN CỦA SUN MICROSYSTEMS 158 TÀI LIỆU THAM KHẢO 161 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG TỔNG QUAN VỀ VI XỬ LÍ VÀ HỆ VI XỬ LÍ Chương TỔNG QUAN VỀ VI XỬ LÝ VÀ HỆ VI XỬ LÝ GIỚI THIỆU VỀ VI XỬ LÍ Một máy tính thơng thường bao gồm khối chức như: khối xử lí trung tâm CPU (Central Processing Unit), nhớ, khối phối ghép với thiết bị ngoại vi (I/O, input/output) Tuỳ theo quy mô, độ phức tạp hiệu khối chức kể mà người ta phân máy tính điện tử sử dụng thành loại sau: Máy tính lớn (Mainframe) loại máy tính thiết kế để giải tốn lớn với tốc độ nhanh Máy tính thường làm việc với số liệu từ 64 bít lớn trang bị nhiều xử lý tốc độ cao nhớ lớn Chính máy tính lớn kích thước vật lý Chúng thường dùng để tính tốn điều khiển hệ thống thiết bị dùng quân hệ thống máy móc chương trình nghiên cứu vũ trụ, để xử lý thông tin ngành ngân hàng, ngành khí tượng, cơng ty bảo hiểm Máy tính (Minicomputer) dạng thu nhỏ kích thước tính máy tính lớn Nó đời nhằm thoả mãn nhu cầu sử dụng máy tính cho ứng dụng vừa phải mà dùng máy tính lớn vào gây lãng phí Máy tính thường dùng cho tính tốn khoa học kỹ thuật, gia cơng liệu quy mơ nhỏ hay để điều khiển quy trình cơng nghệ Máy vi tính (Microcomputer) loại máy tính thơng dụng Một máy vi tính vi điều khiển (microcontroller), máy vi tính vi mạch (one-chip microcomputer), hệ vi xử lí có khả làm việc với số liệu có độ dài bít, bít, bít, 16 bít lớn Hiện số máy vi tính có tính so sánh với máy tính con, làm việc với số liệu có độ dài từ 32 bít (thậm chí 64 bít) Ranh giới để phân chia máy vi tính máy tính ngày khơng rõ nét Các vi xử lý có tên thị trường thường xếp theo họ phụ thuộc vào nhà sản xuất chúng đa dạng chủng loại Các nhà sản xuất vi xử lý tiếng kể tới Intel với sản phẩm x86, Motorola với 680xx, Sun Microsystems với SPARC Tính đến thời điểm chương trình viết cho tập lệnh x86 Intel chiếm tỷ lệ áp đảo mơi trường máy vi tính 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG CÁC BỘ VI ĐIỀU KHIỂN GIỚI THIỆU MỘT SỐ ỨNG DỤNG TIÊU BIỂU CỦA VI ĐIỀU KHIỂN Việc chuyển đối tín hiệu tương tự sang số ngược lại thường gặp ta muốn kết nối máy tính với giới tương tự Trong phần giới thiệu sử dụng vi điều khiển kết nối với chuyển đổi tương tự số (A/D) ngược lại (D/A) Thông thường chuyển đổi cho phép kết nối thơng qua kênh liệu bít, ba trạng thái cho phép điều khiển thơngqua tín hiệu đọc/ghi, chọn chíp 3.1 Chuyển đổi số tương tự (D/A) Hình 6-3 giới thiệu kết nối vi điều khiển 8051 chuyển đổi D/A khái quát Bộ chuyển đổi D/A có đặc điểm sau: Vout = -Vref×(byte đầu vào/100H) Vref = 10V Thời gian chuyển đổi 5s Trình tự điều khiển ~CS ~WR Cổng nối với tín hiệu liệu chuyển đổi cịn cổng dùng để điều khiển Trong ví dụ này, thiết bị tạo sóng hình sin với chu kỳ 1000Hz thay đổi theo chương trình Vref đặt -10V dạng tín hiệu đầu thay đổi từ 0V tới +9, 96V Chương trình dùng bảng tra cứu để sinh biên độ sóng sin Chu kỳ thiết lập vào khoảng thời gian truyền liệu cho chuyển đổi Với S điểm lấy mẫu, chu kỳ ngắt Tmin= 5×S s tần số tối đa fmax = 200 000/S Hình 6-3 Ghép nối chuyển đổi D/A với 8051 Với sóng có tần số 1000Hz, cần số lượng mẫu 200 Tuy nhiên thực tế chạy chương trình cho thấy thời gian để tạo mẫu cần 6s thời gian để chuyển sang mẫu 2s Như thực tế cho phép số lượng mẫu 166 147 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG CÁC BỘ VI ĐIỀU KHIỂN Ví dụ 6-2 Chương trình chuyển đổi D/A org 0000h daconv: clr p3, ; Chọn chíp mov dptr, #bang : lấy địa sở bảng repeat: mov r1, #0A6h ; Khởi tạo R1 = 166 next: mov a, r1 ; Lấy địa offset bảng movc a, @a+dptr ;Lấy giá trị mẫu mov p1, a ; Gửi mẫu cổng clr p3, setb p3, djnz r1, next sjmp repeat ; Bảng chuyển đổi sử dụng hàm cosin để tính giá trị biên tín hiệu đầu 83 giá ;trị đầu thể biên độ từ cực đại tới nhỏ 0, 83 giá trị lại từ tới cực đại Với 83 ; mẫu cho nửa chu kỳ giá trị góc hàm cosin thay đổi 2, 17 độ cho mẫu bang: db 00H ; db ffH ; s1:FF×cos(0) db feH ; s2:7FH+FF×cos(2, 17) db feH ; s3:7FH+FF×cos(2, 17×2) db 81H ; s42:7FH+FF×cos(88, 9) db 00H ; s84:7FH+FF×cos(180) db feH 3.2 ; s166:7FH+FF×cos(2, 17) Chuyến đổi tương tự số (A/D) Hình 6-4 sử dụng chuyển đổi tương tự số bít có đặc tính sau: Tín hiệu lấy mẫu: Vin = Vref-, liệu =00h ; Vin=Vref+, liệu = FFh Thời gian lấy mẫu: s 148 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG CÁC BỘ VI ĐIỀU KHIỂN Trình tự điều khiển: CS, WR RD (ở mức tích cực thấp) Trong hình vẽ, cổng 8051 nối với kênh liệu chuyển đổi cịn cổng nối với tín hiệu điều khiển Hình 6-4 Ghép nối 8051 chuyển đổi A/D Ví dụ 6-3 Chương trình chuyển đổi A/D Đoạn chương trình sau số hóa tín Vref với chu kỳ 100s lưu kết vào nhớ RAM 4000H:43E7H equ begin, 4000H ;Địa bắt đầu adconv: next: equ delay, 74H ;trễ 87s equ end1, 43H ;Địa kết thúc byte cao equ end2, e8H ;Địa kết thúc byte thấp mov dptr, #begin clr p3, ; Gửi ~CS tới A/D clr p3, ; Tạo xung ~WR tới A/D setb p3, ; clr p3, ;Tạo xung ~RD mov a, p1 ;Đọc liệu từ A/D setb p3, ;Kết thúc đọc mov @dptr, a ;Lưu vào RAM inc dptr ;Tăng trỏ RAM lên mov a, dph ;Kiểm tra kết thúc 149 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG CÁC BỘ VI ĐIỀU KHIỂN cjne a, #end1, wait mov a, dpl cjne a, #end2, wait sjmp done ; Kết thúc tới vị trí cuối wait: mov r1, #delay ;Trễ 87s here: djnz r1, here sjmp next done: sjmp done end 150 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN Chương 1.1 GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN CÁC VI XỬ LÍ TIÊN TIẾN DỰA TRÊN KIẾN TRÚC INTEL IA-32 Giới thiệu IA-32 IA-32 kiến trúc 32 bít hãng sản xuất Intel phát triển lần giới thiệu vi xử lý Intel386 Kiến trúc IA-32 hỗ trợ ba chế độ hoạt động: chế độ bảo vệ (protected mode), chế độ thực (real mode) chế độ quản lý hệ thống SMM (System Management Mode) Các chế độ hoạt động định lệnh chức mà chương trình truy nhập:  Chế độ bảo vệ: chế độ xử lý Chế độ cho phép chạy phần mềm 8086 môi trường đa nhiệm bảo vệ Chế độ gọi chế độ 8086 ảo  Chế độ địa thực: Ché độ cung cấp môi trường lập trình 8086 với số tính mở rộng chuyển sang chế độ bảo vệ Để xử lý hoạt động chế độ thông thường phải khởi động lại xử lý  Chế độ quản lý hệ thống - SMM: Chế độ cung cấp cho hệ điều hành chế suốt phục vụ nhiệm vụ cụ thể quản lý lượng hay bảo mật hệ thống Chế độ kích hoạt thơng qua tín hiệu SMM tín hiệu nhận từ điều khiển ngắt tiên tiến Trong chế độ xử lý chuyển qua lại không gian địa riêng biệt lưu lại ngữ cảnh chương trình chạy Các đoạn mã SMM thực hoàn toàn suốt Ngay quay trở lại từ chế độ SMM, xử lý khôi phục lại trạng thái giống trước ngắt SMM xảy Bất kỳ chương trình chạy xử lý IA-32 cung cấp tài nguyên để thực lệnh, lưu đoạn mã, liệu thông tin trạng thái Các tài nguyên tạo lập nên môi trường thực thi cho chương trìnhh:  Khơng gian địa chỉ: chương trình đánh địa khơng gian nhớ tuyến tính tới 232 byte hay 4GB khơng gian địa vật lý lên tới 236 sử dụng cách đánh địa mở rộng  Các ghi thực thi bản: bao gồm ghi dùng chung, sáu ghi đoạn, ghi cờ trỏ lệnh EIP 151 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN  Các ghi đấu phẩy động x87FPU: bao gồm ghi liệu, ghi điều khiển, ghi trạng thái, ghi lệnh, ghi trỏ toán hạng, thẻ mã lệnh Các ghi cho phép thực phép toán với độ xác kép mở rộng hay với số nguyên byte  Các ghi MMX: bao gồm ghi hỗ trợ chế thực lệnh nhiều liệu với thao tác số nguyên (1 byte, byte hay byte) xếp vào gói 64 bít  Các ghi XMM: hỗ trợ thao tác số nguyên số thực xếp vào gói 128 bít Các vi xử lý hệ sau hỗ trợ IA-32 áp dụng tính thực thi lệnh tiên tiến cho phép thực nhiều lệnh chu trình lệnh kỹ thuật đường ống, siêu vô hướng, hay siêu phân luồng Các hệ Pentium sử dụng vi kiến trúc siêu vô hướng cho phép thực lệnh chu kỳ xung nhịp với siêu đường ống 12 đoạn chế thực thi vô hướng (out-of-order execution) Vi kiến trúc Netburst Hình 7-1 Vi kiến trúc Netburst tăng cường tính kiến trúc Pentium hệ đầu việc tăng cường lực đơn vị xử lý, cao hiệu đệm tích hợp, mở rộng giao tiếp buýt Các vi xử lý IA-32 hệ hỗ trợ chế đa nhân (multi-core) bên cạnh kiến trúc siêu phân luồng cho phép chạy nhiều ứng dụng đồng thời Việc kết hợp hai kiến trúc làm cho chương trình ứng dụng sử dụng vi xử lý lơ-gíc bơ vi xử lý vật lý Bên cạnh đó, xử lý hệ hỗ trợ cơng nghệ ảo hóa cho phép nhiều hệ điều hành ứng dụng chạy máy ảo khác chia sẻ hệ thống phần cứng 152 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN Hình 7-1 Vi kiến trúc Netburst Kiến trúc IA-32 cung cấp chức hỗ trợ hệ điều hành hay phần mềm hệ thống Với thao tác vào/ra chế độ bảo vệ, thao tác bị hạn chế thông qua:  Cờ đặc quyền IOPL (I/O privilege level) trạng thái quyền vào/ra phân đoạn trạng thái chương trình TSS (Task state segment)  Cơ chế bảo vệ đoạn trang nhớ Về mơ hình nhớ, chương trình khơng truy nhập trực tiếp vào nhớ vật lý Thay vào đó, chương trình sử dụng mơ hình truy nhập: Tuyến tính: Chương trình coi nhớ chuỗi liên tiếp byte Đoạn mã, liệu ngăn xếp nằm không gian địa Phân đoạn: Bộ nhớ chia thành không gian khác gọi đoạn Thông thường liệu, đoạn mã, ngăn xếp sử dụng đoạn khác 153 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN Bộ xử lý hỗ trợ IA-32 cung cấp 16383 đoạn với kích cỡ khác nhau, kích cỡ lớn đoạn 4GB Địa thực: mơ hình nhớ 8086 Phân trang nhớ ảo: nhớ chương trình chia thành trang ánh xạ vào nhớ ảo Sau đó, nhớ ảo ánh xạ vào nhớ thực Nếu hệ điều hành sử dụng phân trang, chế ánh xạ hồn tồn suốt chương trình ứng dụng 1.2 Các vi xử lý hỗ trợ IA-32 Với ưu công nghệ thiết kế vi kiến trúc mới, hệ vi xử lý IA32 vượt ngưỡng tốc độ (tần số hoạt động) lực thực vi xử lý hệ trước Bảng liệt kê vi xử lý IA-32 hệ đầu khơng có đệm tích hợp vi xử lý (GP-thanh ghi dùng chung; FPU-thanh ghi dấu phẩy động) Bảng 7-1 Vi xử lý hỗ trợ IA-32 hệ đầu Vi xử lý Năm sản xuất Tần số (MHz) Số ghi Buýt liệu mở rộng Bộ nhớ tối đa Bộ đệm 80386DX 1985 20 32GP 32 4GB Intel 486DX 1989 25 32GP 80 FPU 32 4GB 8KB L1 Pentium 1993 60 32GP 80 FPU 64 4GB 16KB L1 Pentium Pro 1995 200 32GP 80 FPU 64 64GB 16KB L1 256512KB L2 266 32GP 80 FPU 64 MMX 64 64GB 32KB L1 256512KB L2 500 32GP 80 FPU 64 MMX 128 XMM 64 64GB 32KB L1 512KB L2 Pentium II Pentium III 1997 1999 154 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN Bảng 7-2 Vi xử lý IA-32 hệ sau Năm Vi xử lý sản xuất Pentium Pentium Pentium M 2000 2002 2003 Pentium 2005 Extreme Core Duo Atom Z5xx 2006 2008 Vi kiến trúc Netburst Tần số (GHz) 1, Số ghi Băng thông buýt hệ thống 32 GP 80 FPU 64 MMX 3, 2GB/s 128 XMM Netburst, Siêu phân 3, 06 luồng 32 GP 80 FPU 64 MMX 4, 2GB/s 128 XMM Pentium M 32 GP 80 FPU 64 MMX 3, 2GB/s 128 XMM 1, Netburst, Siêu phân 3, 73 luồng 32 GP 80 FPU 64 MMX 8, 5GB/s 128 XMM Pentium M, Lõi 2, 16 kép 32 GP 80 FPU 5, 64 MMX GB/s 128 XMM Atom, Ảo 1, 86 hóa 32 GP 80 FPU 64 MMX 4, 2GB/s 128 XMM Bộ nhớ tối đa Bộ đệm 64GB 8KB L1 256KB L2 64GB 8KB L1 256KB L2 64GB 64KB L1 1MB L2 64GB 16KB L1 2MB L2 4GB 64KB L1 2MB L2 4GB 56KB L1 512KB L2 155 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN CÁC VI XỬ LÍ TIÊN TIẾN DỰA TRÊN KIẾN TRÚC INTEL IA-64 Kiến trúc Intel IA-64 bổ sung khơng gian địa chương trình 64 bít hỗ trợ khơng gian nhớ vật lý tới 40 bít chế độ IA-32e so với kiến trúc IA-32 trước Kiến trúc IA64 đảm bảo tính tương thích ngược cho phép chạy chương trình viết cho kiến trúc IA-32 Các chế độ IA-64 bao gồm:  Chế độ tương thích: cho phép chạy ứng dụng 16 32 bít mà khơng phải biên dịch lại Chế độ tương tự chế độ bảo vệ IA-32 Các ứng dụng truy nhập 4GB đầu khơng gian nhớ tuyến tính Tuy nhiên, ứng dụng sử dụng khơng gian nhớ lớn với chế độ mở rộng địa vật lý  Chế độ 64 bít Cho phép chương trình truy nhập khơng gian nhớ tuyến tính 64 bít Chế độ mở rộng số lượng ghi dùng chung ghi XMM từ lên 16 Các ghi dùng chung có kích cỡ 64 bít Chế độ 64 kích hoạt sở đoạn mã Kích cỡ mặc định cho địa 64 bít cịn tốn hạng 32 bít Kích cỡ tốn hạng thay đổi theo lệnh sử dụng tiền tố REX Điều giúp cho câu lệnh cũ chuyển sang chế độ 64 bít ghi địa Bảng 7-3 Vi xử lý hỗ trợ IA-64 Vi xử lý Năm sản xuất Tần Vi kiến trúc số (GHz) Số ghi Băng thông buýt hệ thống Bộ nhớ tối đa Bộ đệm 32, 64 GP Xeon 2004 Netburst, Siêu phân luồng, IA64 80 FPU 3, 64 MMX 6, 4GB/s 64GB 128 XMM Xeon 2005 Pentium 2005 3, 03 Netburst, 3, 73 80 FPU 64 MMX 5, 3GB/s 1024GB 128 XMM 32 GP 1MB L2 8MB L3 8, 5GB/s 64GB 156 CuuDuongThanCong.com 1MB L2 16KB L1 32, 64 GP Netburst, Siêu phân luồng, IA64 16KB L1 https://fb.com/tailieudientucntt 16KB CHƯƠNG GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN Extreme Siêu phân luồng, IA64 80 FPU L1 64 MMX 2MB L2 128 XMM 16KB L1 32, 64 GP DualCore Xeon 2005 Pentium 2005 672 Core Extreme 2006 X6800 Xeon 7140 Xeon 5472 2006 2007 Netburst, Siêu phân luồng, Đa nhân, IA-64 Netburst, Siêu phân luồng, IA64, Ảo hóa, Đa nhân Netburst, Siêu phân luồng, IA64, Ảo hóa, Đa nhân Netburst, Siêu phân luồng, IA64, Ảo hóa, Đa nhân Netburst, Siêu phân luồng, IA64, Ảo hóa, Đa nhân (4 nhân) 80 FPU 64 MMX 6, 4GB/s 64GB 128 XMM 2MB L2 (Tổng 4MB) 32, 64 GP 80 FPU 3, 64 MMX 6, 4GB/s 64GB 128 XMM 16KB L1 2MB L2 32, 64 GP 80 FPU 2, 93 64 MMX 8, 5GB/s 64GB 128 XMM 3, 40 64 MMX 12, GB/s 64GB 128 XMM 3, 00 64 MMX 1MB L2 (tổng 2MB) 16MB L3 64KB L1 32, 64 GP 80 FPU 4MB L2 64KB L1 32, 64 GP 80 FPU 64KB L1 12, GB/s 128 XMM 256GB 6MB L2 (Tổng 12MB) 157 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN 56KB L1 32, 64 GP Atom Core i7 2008 2008 Atom, IA64, Ảo hóa, Đa nhân (4 nhân) Netburst, Siêu phân luồng, IA64, Ảo hóa, Đa nhân (4 nhân) 80 FPU 1, 60 64 MMX 12, GB/s 64GB 128 XMM 64KB L1 32, 64 GP 80 FPU 3, 20 64 MMX 512KB L2 (Tổng 1MB) 6, GT/s 64GB 128 XMM 256KB L2 8MB L3 CÁC VI XỬ LÍ TIÊN TIẾN CỦA SUN MICROSYSTEMS Sun Microsystems hỗ trợ thiết kế xử lý mở rộng SPARC (Scalable Processor Architecture) Kiến trúc chịu ảnh hưởng máy tính Berkeley RISC I Tập lệnh tổ chức ghi xử lý SPARC giống với Berkeley RISC SPARC cho phép triển khai từ ứng dụng nhúng máy chủ lớn, tất dùng chung tập lệnh Hiện nay, xử lý SPARC thường sử dụng rộng rãi môi trường máy chủ, trạm làm việc sử dụng hệ điều hành SUN, Unix Linux Bộ xử lý SPARC thường có tới 128 ghi dùng chung Tại thời điểm nào, phần mềm sử dụng tức 32 ghi bao gồm ghi toàn cục, 24 ghi ngăn xếp Các ghi ngăn xếp tạo thành cửa số ghi (register window) tối đa 32 cửa số cho phép tối ưu thao tác gọi hàm trở Mỗi cửa số có ghi cục dùng chung ghi với cửa sổ kề Các ghi chia sẻ dùng để truyền tham số giá trị trả cho hàm ghi cục dùng để lưu giá trị cục lời gọi hàm Hầu hết lệnh xử lý SPARC sử dụng toán hạng ghi Các lệnh nạp lưu chuyên dùng để trao đổi liệu ghi nhớ Ngoài chế dộ địa ghi, SPARC sử dụng chế độ địa dịch chuyển Trong chế độ này, địa hiệu dụng toán hạng dịch chuyển đoạn tương ứng với giá trị ghi Để thực câu lệnh nạp ghi, trình thực lệnh cần thêm giai đoạn để tính địa ô nhớ 158 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN Vi xử lý hỗ trợ SPARC 32 bít phiên cho phép sử dụng 16 ghi dấu phẩy động với độ xác kép, 32 ghi với độ xác đơn Các cặp chẵn-lẻ ghi độ xác kép kết hợp với để nâng độ xác lên gấp đơi mức SPARC 64 bít phiên 9, xuất vào năm 1993, có thêm 16 ghi độ xác kép ghi không tách thành ghi có độ xác đơn Bảng liệt kê số tính vi xử lý sử dụng SPARC Bảng 7-4 Tính số vi xử lý SPARC Tên Tần số MHz Năm sản xuất Số luồng x Số nhân Số chân tín hiệu Đệm liệu L1 (k) Đệm lệnh L1 (k) Đệm L2 (k) UltraSPARC IIs (Blackbird) 250–400 1997 1×1 521 16 16 1024 – 4096 UltraSPARC IIs (Sapphire-Black) 360–480 1999 1×1 521 16 16 1024– 8192 UltraSPARC IIi (Sabre) 270–360 1997 1×1 587 16 16 256– 2048 UltraSPARC IIi (Sapphire-Red) 333–480 1998 1×1 587 16 16 2048 UltraSPARC IIe (Hummingbird) 400–500 1999 1×1 370 16 16 256 UltraSPARC IIi (IIe+) (Phantom) 550–650 2000 1×1 370 16 16 512 UltraSPARC III (Cheetah) 600 2001 1×1 1368 64 32 8192 UltraSPARC III Cu (Cheetah+) 1002–1200 2001 1×1 1368 64 32 8192 159 CuuDuongThanCong.com https://fb.com/tailieudientucntt CHƯƠNG GIỚI THIỆU MỘT SỐ VI XỬ LÍ TIÊN TIẾN UltraSPARC IIIi (Jalapo) 1064–1593 2003 1×1 959 64 32 1024 UltraSPARC IV (Jaguar) 1050–1350 2004 1×2 1368 64 32 16384 UltraSPARC IV+ (Panther) 1500–2100 2005 1×2 1368 64 64 2048 UltraSPARC T1 (Niagara) 1000–1400 2005 4×8 1933 16 3072 UltraSPARC T2 (Niagara 2) 1000–1600 2007 8×8 1831 16 4096 UltraSPARC T2 Plus (Victoria Falls) 1200–1600 2008 8×8 1831 16 4096 160 CuuDuongThanCong.com https://fb.com/tailieudientucntt TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO Crisp J Introduction to microprocessors and microcontrollers, Newnes 2004 David Calcutt, Fred Cowan,Hassan Parchizadeh, 8051 Microcontrollers An Applications-Based Introduction, Newnes 2004 Douglas V Hall Microprocessor and Interfacing- programming and hardware, 2nd edition McGraw Hill 1997 Hari BalaKrishnan & Samel Madden The lecture notes on Computer Systems Engineering, Open Courses Ware Massachusets Institute of Technology Hồ Khánh Lâm, Kỹ thuật vi xử lý, NXB Bưu điện 2005 Intel Corp Intel® 64 and IA-32 Architectures Software Developer’s Manual Rafiquzzaman M Microprocessor theory and applications with 68000/68020 and Pentium, John Wiley&Sons 2008 Văn Thế Minh Kỹ thuật vi xử lý NXB Giáo dục 1999 161 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Ngày đăng: 16/01/2024, 11:03

w