Giáo trình Vi xử lý (Nghề: Điện tử công nghiệp - Cao đẳng): Phần 1 - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội

143 12 0
Giáo trình Vi xử lý (Nghề: Điện tử công nghiệp - Cao đẳng): Phần 1 - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội

Đ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

(NB) Giáo trình Vi xử lý cung cấp cho người học những kiến thức như: Tổng quan về các hệ vi xử lý; các đơn vị vi xử lý trung tâm; bộ nhớ trong của hệ vi xử lý; thiết bị vào ra của hệ vi xử lý. Mời các bạn cùng tham khảo nội dung giáo trình phần 1 dưới đây.

ỦY BAN NHÂN DÂN THÀNH PHỐ HÀ NỘI TRƯỜNG CAO ĐẲNG NGHỀ VIỆT NAM - HÀN QUỐC THÀNH PHỐ HÀ NỘI TRẦN VĂN NAM (Chủ biên) TRƯƠNG VĂN HỢI – NGUYỄN THANH HÀ GIÁO TRÌNH VI XỬ LÝ Nghề: Điện tử cơng nghiệp Trình độ: Cao đẳng (Lưu hành nội bộ) Hà Nội - Năm 2018 LỜI NÓI ĐẦU Để cung cấp tài liệu học tập cho học sinh - sinh viên tài liệu cho giáo viên giảng dạy, Khoa Điện tử Trường CĐN Việt Nam - Hàn Quốc thành phố Hà Nội chỉnh sửa, biên soạn giáo trình “VI XỬ LÝ” dành riêng cho học sinh sinh viên nghề Điện tử công nghiệp Đây mơn học kỹ thuật sở chương trình đào tạo nghề Điện tử cơng nghiệp trình độ Cao đẳng Nhóm biên soạn tham khảo tài liệu: Giáo trình “Vi xử lý” tác giả Trần Văn Trọng Trường ĐHSPKT TP HCM, Giáo trình “Microprocessors and Interfacing” , Doulas V Hall nhiều tài liệu khác Mặc dù nhóm biên soạn có nhiều cố gắng khơng tránh thiếu sót Rất mong đồng nghiệp độc giả góp ý kiến để giáo trình hồn thiện Xin chân thành cảm ơn! Hà Nội, tháng 09 năm 2018 Chủ biên: Trần Văn Nam MỤC LỤC LỜI NÓI ĐẦU GIÁO TRÌNH MƠ ĐUN Bài 1Tổng quan hệ vi xử lý 1.1 Các hệ đếm 1.2 Chuyển đổi lẫn hệ đếm 1.3 Mã hóa thơng tin 11 1.4 Các phép toán số học số hệ nhị phân 18 1.5 Cấu trúc hệ vi xử lý máy vi tính 29 Bài 2Các đơn vi vi xử lý trung tâm 39 2.1 Trung tâm vi xử lý P 8085: 39 2.2 Các trung tâm vi xử lý họ 80x86 81 2.3 Cấu trúc tính số chíp vi xử lý đại 130 Bài 3Bộ nhớ hệ vi xử lý 143 3.1 Bộ nhớ hệ vi xử lý 143 3.2 Tổ chức nhớ cho hệ vi xử lý 152 Bài 4Thiết bị vào hệ vi xử lý 158 4.1 Bàn phím HEX (keyboard) 158 4.2 Màn hình (Monitor) 171 TÀI LIỆU THAM KHẢO 178 GIÁO TRÌNH MƠ ĐUN Tên mơ đun: Vi xử lý Mã số mô đun: MĐ 21 Thời gian mô đun: 120 (LT: 30 giờ; BT: 85 giờ; KT: giờ) I Vị trí, tính chất, ý nghĩa vai trị mơ đun Vị trí mơ đun: Mơ đun bố trí dạy cuối chương trình sau học xong mơn học linh kiện điện tử, đo lường điện tử, kỹ thuật xung số, điện tử cơng suất Tính chất mô đun: Là mô đun bắt buộc Ý nghĩa mô đun: sau học xong mô đun Vi xử lý, người học phải biết lập trình số ứng dụng từ đơn giản đến phức tạp xử lý kết nối máy tính với thiết bị ngoại vi Vai trị mơ đun: Giáo trình mơ đun “Vi xử lý” nhằm cung cấp cho người học kiến thức lập trình giao tiếp với máy tính vi xử lý II Mục tiêu mơ đun + Về kiến thức: Trình bày hệ đếm mã hóa máy tính, tương tác máy tính vi xử lý, vi xử lý intel ứng dụng Giải thích nguyên lý làm việc hệ điều khiển ứng dụng vi xử lý + Về kỹ năng: Lập trình hợp ngữ số tập cách thành thạo Xử lý số dạng kết nối máy tính với vi xử lý thiết bị ngoại vi Phát triển hệ điều khiển sở khối trung tâm vi xử lý + Về thái độ: Rèn luyện tính tỷ mỉ, xác an tồn vệ sinh cơng nghiệp III Nội dung mơ đun Thời gian Mã Tên mô đun Tổng Lý số thuyết Thực Hành Kiểm tra MĐ21-01 Tổng quan hệ vi xử lý 10 1 Các hệ đếm 1,2 0,8 Chuyển đổi lẫn hệ đếm 0,5 Mã hóa thơng tin Các phép tính hệ đếm nhị phân 0,8 1,7 Cấu trúc hệ vi xử lý máy vi tính 0,5 0,5 MĐ21-02 Các đơn vi vi xử lý trung tâm 40 10 29 Trung tâm vi xử lýP 8085 15 11 Các trung tâm vi xử lý họ 15 80x86 11 Cấu trúc tính 10 số chíp vi xử lý đại MĐ21-03 Bộ nhớ hệ vi xử lý 30 23 1 Bộ nhớ hệ vi xử lý 15 12 Tổ chức nhớ cho hệ vi xử 15 lý 11 MĐ21-04 Thiết bị vào hệ vi xử 40 10 28 Bàn phím HEX (keyboard) Ghép nối bàn phím với hệ vi 12 xử lý Mạch điều khiển lập trình thị 1,5 5,5 Màn hình 12 2,5 8,5 120 30 85 Tổng cộng 0,5 0,5 Bài Tổng quan hệ vi xử lý Mục tiêu - Trình bày số hệ đếm, mã thường dùng hệ vi xử lý - Tính tốn, chuyển đổi phép tốn nhị phân - Trình bày cách biểu diễn thông tin hệ vi xử lý - Rèn luyện tính tư duy, tác phong cơng nghiệp 1.1 Các hệ đếm Mục tiêu: Trình bày số hệ đếm, mã thường dùng hệ vi xử lý Nguyên lý việc viết số Một số viết cách đặt kề ký hiệu, chọn tập hợp xác định Mỗi ký hiệu số gọi số mã (số hạng, digital) Ví dụ: Trong hệ thống thập phân (cơ số 10) tập hợp gồm 10 ký hiệu quen thuộc, số từ đến 9: S10= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Khi số gồm nhiều số mã viết, giá trị số mã tùy thuộc vị trí số Giá trị gọi trọng số số mã Trong triển khai, số mũ đa thức vị trí ký hiệu số với quy ước vị trí hàng đơn vị 0, vị trí liên tiếp phía trái 1, 2, 3, Nếu có phần lẻ, vị trí sau dấu phẩy -1, vị trí liên tiếp phía phải -2, -3, Ta thấy, số (sau số 1) có trọng số 900 số thứ hai 90 Với ký hiệu giống hệ 10, ký hiệu đứng trước có trọng số gấp 10 lần ký hiệu đứng sau Điều hồn tồn cho hệ khác Ví dụ, hệ nhị phân ( số 2) tỉ lệ Có nhiều hệ thống số sử dụng kỹ thuật số, hệ đếm thông dụng là: hệ thập phân (decimal number system), nhị phân (binary number system), thập lục phân (hexadecimal number system)… 1.1.1 Hệ thập phân (Decimal Number System) Đây hệ đếm mà sử dụng hàng ngày Hệ đếm sử dụng mười chữ số ‘0’ ’9’để biểu diễn số hệ 10 Chữ số ‘0’ biểu diễn số 0, chữ số ‘1’ biểu diễn số 1,… Khi đếm đến 10 hết số nên phải thêm sang hàng bên trái để thành ‘10’ (mười) lại tiếp tục đếm ‘11’, ‘12’, ‘13’, Một số hệ 10 có giá trị tổng giá trị chữ số nhân với trọng số tương ứng chữ số Trọng số chữ số thứ i 10i Ví dụ: 12345,67 = 1x104+ 2x103 + 3x102 + 4x101 + 5x100 + 6x10-1 + 7x10-2 Khi làm việc với nhiều hệ đếm số hệ 10 có thêm chữ D cuối để số hệ 10 Ví dụ: 12,25D Tổng quát hóa cho hệ đếm số a (a ≥ 2, a ∈ N): Sử dụng a chữ số để biểu diễn số hệ a Chữ số có giá trị nhỏ ‘0’, chữ số có giá trị lớn tùy thuộc vào hệ đếm có giá trị a-1 Giá trị (lượng) số hệ a tổng giá trị chữ số nhân với trọng số tương ứng chữ số Trọng số số thứ i Ví dụ: Số 5346,72 biểu diễn sau: 5346,72 = 5.103 + 3.102 + 4.10 + + 7.10-1 + 2.10-2 Tuy nhiên, mạch điện tử, việc lưu trữ phân biệt 10 mức điện áp khác khó khăn việc phân biệt hai mức điện áp lại dễ dàng Do đó, người ta sử dụng hệ nhị phân để biểu diễn giá trị hệ thống số Trong số thập phân thì: Số tận bên trái số có giá trị lớn MSD ( Most Significant Digit) Số tận bên phải số có giá trị nhỏ LSD ( Least Significant Digit) 1.1.2 Hệ nhị phân (Binary Number System) Hệ nhị phân gồm có chữ số: 1, ký số nhị phân gọi bit (binary digit) Cơ số hệ nhị phân hay gọi số Một số nhị phân (binary digit) thường gọi bit Một chuỗi gồm bit nhị phân gọi nibble, chuỗi bit gọi byte, chuỗi 16 bit gọi word chuỗi 32 bit gọi double word Bit tận bên trái bit có giá trị lớn MSB ( Most Significant bit), bit tận bên phải bit có giá trị nhỏ LSB ( Least Significant bit) Một số hệ nhị phân biểu diễn theo số mũ Ta thường dùng chữ B cuối chuỗi bit để xác định số nhị phân Các linh kiện điện tử cấu tạo nên máy tính có hai trạng thái: có điện khơng có điện Hai trạng thái biểu diễn Chính lý mà hệ đếm số hệ đếm dùng máy tính Trong kỹ thuật máy tính, chữ số nhị phân gọi bit (viết tắt từ tiếng anh binary digit) Một cụm bit tạo thành nible, cụm bit tạo thành byte, cụm 16 bit tạo thành từ (word), cụm 32 bit tạo thành từ kép (double word) Bit bên trái số nhị phân gọi bit có trọng số lớn (Most Significant Bit, MSB), bit tận bên phải gọi bit có trọng số nhỏ (Least Significant Bit, LSB) Ví dụ 1: Số 101110.01b biểu diễn giá trị số: 101110.01b = 1x25 + 0x24 + 1x23 +1x22 + 1x21 + + 0x2-1 + 1x2-2 Ví dụ 2: cho số nhị phân 1100,1102 minh hoạ hình vẽ: 23 1 MSB 22 21 0, 20 2-1 2-2 2-3 dấu phẩy nhị phân LSB 1100,1102 = 1x 23 +1x22 + 0x21 + 0x20 + 1x2-1 + 1x2-2 + 0x2-3 Cách đếm số nhị phân: ta dùng số nhị phân bit Vậy với số nhị phân n bit thì: + Số thập phân tương ứng lớn 2n -1 + Số trạng thái 2n 1.1.3 Hệ thập lục phân (Hexadecimal Number System) Nếu dùng hệ nhị phân cần số lượng lớn bit để biểu diễn Trong thực tế để viết kết biểu diễn số cho gọn lại người ta tìm cách nhóm số hệ hai (1 nibble) thành số hệ mười sáu Khác với hệ BCD hệ 16 dùng hết tổ hợp bit để biểu diễn giá trị số Để làm điều người ta sử dụng chữ số sẵn có hệ mười (0 9) để biểu diễn giá trị số ứng với dùng thêm chữ A F để biểu diễn giá trị lại ứng với 10 15 Để phân biệt số hệ mười sáu với số hệ khác ta kèm thêm chữ H cuối Ta dễ nhận thấy số mười phận hệ mười sáu A biểu diễn cho 10 B biểu diễn cho 11 C biểu diễn cho 12 D biểu diễn cho 13 E biểu diễn cho 14 F biểu diễn cho 15 Khi đếm đến 16 khơng cịn chữ số nên phải thêm sang bên trái để tạo thành ‘10’,… Giá trị số hệ 16 tổng tích giá trị chữ số nhân với trọng số Trọng số chữ số thứ i số hệ 16 16i: S16={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F } Ví dụ 1: Để biểu diễn số 255 ta cần đến bit viết sau: 255 = 111111112 Ví dụ 2: 2AE4H = 2x163 + Ax162 + Ex161 + 4x160 = 10980D 1.1.4 Mã BCD (Binary Coded Decimal) Trong thực tế, số ứng dụng đếm tần, đo điện áp, … ngõ dạng số thập phân, ta dùng mã BCD Mã BCD dùng bit nhị phân để mã hóa cho số thập phân Như vậy, số hex A F không tồn mã BCD Vì tầm quan trọng số BCD nên vi xử lý thường có lệnh thao tác với chúng Ví dụ: Số thập phân Số BCD 0101 0010 1001 1.1.5 Mã hiển thị Led (7-segment display) Đối với ứng dụng dùng hiển thị số liệu Led đoạn, ta dùng mã hiển thị Led đoạn (bảng 1.1) Bảng 1.1: Bảng mã led đoạn Số thập phân Số thập lục Số nhị phân phân Mã Led đoạn Hiển thị 0 0000 1111110 1 0001 0110000 2 0010 1101101 3 0011 1111011 4 0100 0110011 5 0101 1011011 6 0110 1011111 7 0111 1110000 8 1000 1111111 9 1001 11110 11 10 A 1010 1110111 A 11 B 1011 1111111 B 12 C 1100 1001110 C 13 D 1101 1111110 D 14 E 1110 1001111 E 15 F 1111 1000111 F abcdefg 1.2 Chuyển đổi lẫn hệ đếm 1.2.1 Hệ nhị phân hệ thập phân Chuyển số nhị phân thành số thập phân Để chuyển số nhị phân thành số thập phân, ta cần nhân chữ số số nhị phân với giá trị thập phân cộng tất giá trị lại Ví dụ: 1011.11 = 1x23 + 0x22 + 1x21 + 1x20 + 1x2-1 + 1x2-2 = 11.75 Chuyển số thập phân thành số nhị phân: Để chuyển số thập phân thành số nhị phân, ta dùng phương pháp sau: Phương pháp 1: Ta lấy số thập phân cần chuyển trừ 2i 2i số lớn nhỏ hay số thập phân cần chuyển Sau đó, ta lại lấy kết thực tương tự 20 dừng Trong trình thực hiện, ta ghi lại pn_done: popa ret endp ; msg db "Xin moi nhap vao so bit:", 0Dh,0Ah db "N=$" end Ví dụ Nhập chuỗi ký tự chuyển chữ thường thành chữ hoa MODEL SMALL STACK 100h DATA m1 DB 81 DB ? DB 81 DUP(?) m2 DB 'Chuoi da doi:$' CODE main PROC MOV AX,@DATA MOV DS,AX ; Khoi dong ghi DS MOV ES,AX LEA DX,m1 MOV AH,0Ah ; Nhap chuoi INT 21h LEA SI,m1 ADD SI,2 MOV DI,SI Next: LODSB ; Lay ky tu 128 CMP AL,0Dh ; Neu la ky tu Enter thi ket thuc JE quit CMP thi bo qua AL,'a' ; Neu ky tu nhap khong phai la ky ;tu thuong tu ‘a’toi ‘z’ JB cont CMP AL,'z' JA cont SUB AL,20h; Chuyen ky tu thuong ky tu hoa STOSB ; Luu ky tu DEC DI len ta phai giam DI ; Neu la ky tu thuong thi dung lenh ;STOSB nen DI tang cont: INC DI ; JMP next quit: MOV AL,'$' STOSB MOV AX,02h ; Xoa man hinh INT 10h LEA DX,m2 MOV AH,09h INT 21h LEA DX,m1+ MOV AH,09h INT 21h MOV AH,4Ch INT 21h main ENDP END main 129 2.3 Cấu trúc tính số chíp vi xử lý đại Trải qua thập kỷ phát triển, công nghệ chế tạo chip Vi xử lý có bước tiến vũ bão Đã xuất nhiều kiểu cấu trúc chip Vi xử lý CISC (Complete Instruction-set Computer), RISC (Reduced Instruction- Set Computer), xử lý scalar hay superscalar, Vi xử lý VLIW (Very Long Instruction Word), Vi xử lý Superpipelined, Vi xử lý Vector, Vi xử lý biểu tượng (Symbolic µP), nhằm đáp ứng nhu cầu tạo nên máy tính cực mạnh, siêu máy tính, mainfram phục vụ cơng việc tính tốn lớn hay tạo máy tính xử lý song song Đối với họ x86, có trung tâm i486 với cấu trúc RISC, tập lệnh rút gọn với tốc độ xử lý tăng nhanh đáng kể Đó trung tâm xử lý 32 bits thực Không gian địa vật lý không gian nhớ ảo quản lý 32 bits địa chỉ, lên đến 4Gbytes Ngoài ra, đồng xử lý tốn tích hợp tạo nên sức mạnh đáng kể Các trung tâm sử dụng để tạo nên máy tính xử lý song song với cấu trúc đại khả tính tốn lớn cho phép giải tốn phức tạp Năm 1992, chip xử lý Pentium MMX đời, cấu trúc có tới hai đường ống song song (superscalar), hai khối số học logic (ALU) cho phép thi hành hai lệnh máy chu kỳ BUS nội Pentium MMX BUS 64 bits 128 bits, tốc độ trao đổi liệu với nhớ nâng cao đáng kể Đặc biệt, chip Pentium có vùng nhớ gọi vùng đệm đích rẽ nhánh BTB (Branch Target Buffer) 256 lệnh rẽ nhánh Pentium tích hợp đồng xử toán học (Mathematical Coprocessor) với hiệu suất cao nhờ giải thuật nhạnh Dù loại Vi xử lý CISC, Pentium ứng dụng giống loại Vi xử lý RISC tốc độ cao: xử lý đường ống, cấu trúc superscalar dự đoán rẽ nhánh Năm 1999, chip Pentium PIII đời với cấu trúc có thêm 70 lệnh cho truyền thông đa phương tiện, tốc độ xung nhịp vượt qua ngưỡng GHZ Tiếp theo chip Pentium PIV với tốc độ cao hẳn cấu trúc đa phân luồng IBM cho biết họ áp dụng phương pháp sản xuất nhằm cho phép thiết bị xử lý dành cho máy chủ Theo thông tin từ Giám đốc kỹ thuật IBM, họ khơng thu nhỏ kích cỡ bóng bán dẫn (transistor) mà thay đổi phương thức hoạt động silicon đặt lớp cách điện phía lớp silicon gồm khoảng 500 nguyên tử 130 Những cải tiến khiến Power6, sản xuất theo cơng nghệ 65 tìm mắt năm 2007, đạt xung nhịp tới 4-5 GHZ IBM khắng định Power6 cạnh tranh trực tiếp với sản phẩm đôi thủ thư lntel, AMD Sun Microsystems Ngay lntel giới thiệu công nghệ 90nm năm 2003, người ta nhận thấy gây tình trạng thất thóat lượng nghiêm trọng phương pháp sản xuất trước đó, khiến chip tỏa nhiệt chúng không chạy hết công suất Một biện pháp khắc phục tích hợp lõi xử lý chip đơn giảm xung nhịp hoạt động để tăng khả vận hành tránh rắc rối nhiệt độ cao Ngược lại, Power6 xây dựng đề hoạt động xung nhịp cao chưa thấy tiêu thụ điện hiệu Hiện nay, lntel nghiên cứu hai kỹ thuật sản xuất thiết kế nhằm giảm lượng điện tiêu thụ bảng mạch hệ thống Phương pháp thứ cung cấp nguồn điện áp cho CPU nhớ đệm (cache) cách thứ hai tích hợp điều hịa điện áp transistor Thứ tư, 21/6/2006, 10:04 GMT+7, IBM Phát triển chia 500 GHZ "Big Blue" Công ty Georgia Tech chế tạo chip có xung nhịp cao 100 lần so với kỷ lục thiết bị xử lý máy tính trước đó, với điều kiện phải hoạt động nhiệt độ nghe phi thực tế - 268,50OC Ở nhiệt độ phòng, chip đạt tốc độ 350GHZ, tương đương 350 tỷ vòng/giây, nhanh nhiều so với thiết bị xử lý máy tính thời điểm (dao động từ 1,8 GHZ đến 3,8 GHZ) Đây phần dự án khám phá tốc độ tối đa chip silicon-germani (SiGe) SiGe giống công nghệ chip silicon khác tăng cường nguyên tố germani để nâng hiệu suất giảm lượng điện tiêu thụ Trên lý thuyết, SiGe mở rộng tốc độ lên terahertz (THZ), tức nghìn tỷ vịng giây Tuy nhiên thêm thành phần germani đồng nghĩa với chi phí sản xuất wafer tăng cao, SiGe kén chọn thị trường IBM bán hàng trăm triệu chip từ năm 1998, chưa thể địch so với số hàng tỷ chip silicon năm nhờ sản lượng điện thoại di động Chip SiGe hiệu suất lớn ứng dụng hệ thống phòng thủ, phương tiện khám phá vũ trụ thiết bị cảm ứng từ xa 131 2.3.1 Cấu trúc chip Vi xử lý Pentium Pentium loại đơn vị xử lý trung tâm 32 bit loại đơn vị xử lý trung tâm sử dụng kỹ thuật ILP (lnstruction Level Pararellism), kỹ thuật xử lý lệnh song song Kỹ thuật đường ống kỹ thuật xử lý lệnh song song ILP Một lệnh thường xử lý qua năm giai đoạn: Nhập lệnh (FI Fetch the Instruction) Giải mã lệnh (DI Decode the Instruction) Tạo địa toán hạng (GOA Generate Operand Address) Nhập toán hạng (FO Fetch Operands) Thực lệnh (EI Execute Instruction) Với kỹ thuật xử lý lệnh thông thường, đơn vị xử lý trung tâm phải thực xong tất giai đoạn thực lệnh, thường sau chu kỳ máy, chuyển sang nhập thực lệnh Dễ tăng tốc độ xử lý lệnh mà không thiết phải tăng tần số nhịp máy, người ta sử dụng kỹ thuật khác kỹ thuật xử lý lệnh kiểu đường ống (Pipeline) kỹ thuật xử lý lệnh song song (ILP) Kỹ thuật xử lý lệnh kiểu đường ống (Pipeline) Kỹ thuật xử lý lệnh kiểu đường ống sử dụng đơn vị xử lý trung tâm từ đời đơn vị xứ lý trung tâm Intel 8086 Chu kỳ máy Hình 2.32 Chu kỳ máy 132 Đường ống tương tự dây chuyền sản xuất nhiều công đoạn Ở dây chuyền sản xuất, công đoạn thực thao tác sản xuất Sản phẩm chuyển hình thành dần sau cơng đoạn sản xuất, hồn thành công đoạn cuối Trong kỹ thuật xử lý lệnh theo kiểu đường ống, việc thực lệnh thực qua thao tác, thao tác thực giai đoạn, giai đoạn tiếp sau giai đoạn kia, thực xong lệnh Với đường ống 5-giai đoạn, chu kỳ máy có liệu thuộc giai đoạn xử lý gửi vào đường ống thao tác thực đồng thời, nhờ mà sau chu kỳ máy lại có lệnh hoàn thành lệnh nhập Kỹ thuật đường ống với đường ống 5-giai đoạn cho phép tăng tốc độ thực lệnh lên gấp lần Kỹ thuật ILP (xử lý lệnh song song) Kỹ thuật ILP kỹ thuật thiết kế đơn vị xử lý trung tâm chương trình dịch nhằm làm tăng tốc độ thao tác máy (như ghi-đọc nhớ) thực phép tính Trong kỹ thuật ILP có kỹ thuật superscalar, chu kỳ máy nhiều lệnh nhập thực đồng thời nhiều đường ống khác Pentium loại đơn vị xử lý trung tâm thiết kế theo kỹ thuật superscalar, hai lệnh nhập giải mã đồng thời Pentium có hai đường ống thực lệnh song song U V Quá trình thực lệnh mơ tả hình 2.34 Chu kỳ máy: Hình 2.33 Chu kỳ máy 133 Hình 2.34 Cấu trúc trung tâm Vi xử Pentium Pentium đơn vị xử lý trung tâm loại 32bit đơn vị xử lý trung tâm loại CISC (Complex Instruction Set Computer) với đặc điểm: hệ lệnh phức tạp, nhiều kiểu xác định địa chỉ, nhiều khuôn dạng lệnh nhiều kích thước lệnh khác Pentium có BUS địa 32 bit, BUS liệu ngồi 64 bit Pentium có hai cache Kbyte độc lập: cache Kbyte cổng dành cho liệu cache Kbyte chứa lệnh Pentium có hai đường ống thực lệnh song song U V, đơn vị số học-logic ALU Pentium có đường ống riêng thực lệnh dấu phẩy động đồng xử lý dấu phẩy động FPU tích hợp chip 134 Pentium có ghi sau: Các ghi hệ thống: - Các ghi điều khiển 32 bit: CR0, CR1, CR2, CR3 - Các ghi hệ thống quản lý nhớ: GDTR: Thanh ghi bảng mơ tả tồn cục (Global Descriptor Table Register) LDTR: Thanh ghi bảng mô tả cục (Local Descriptor Table Register) IDTR: Thanh ghi bảng mô tả ngắt (Interrupt Descriptor Table Register) TR: Thanh ghi nhiệm vụ (Task Register) - Các ghi đoạn 16 bit (hình 2.35) Hình 2.35 Các ghi cấu trúc bên Vi xử lý Pentium 2.3.2 Cấu trúc RISC, CISC RISC: (Reduced Instruction-set Computer) CISC: (Complete Instruction-set Computer) 135 Hình 2.36 Cấu trúcRISC, CISC co máy tính Cách đơn giản để khảo sát ưu nhược điểm kiến trúc IUSC so sánh việc thực phép toán loại kiến trúc CISC trước Giả sử ta phải thực lệnh nhân hai toán hạng lưu giữ nhớ Hình 2.36 mơ tả tổ chức máy tính Bộ nhớ tạo từ nhớ từ 1: (hàng 1: cột 1) đến 6:4 (hàng 6: cột 4) Khối thực lệnh có nhiệm vụ thực lệnh tính tốn x (nhân), : (chia), + (cộng) - (trừ) Tất nhiên, khối thực tính tốn làm việc với liệu (toán hạng) chứa sẵn ghi A, B, C, D, E F Giả sử ta phải tìm tích số, số thứ chứa ô 2:3 số thứ hai ô 5:2, kết lưu lại vào ô 2:3 Bây ta tiếp cận cách giải vấn đề hai loại CPU, CISC RISC Trên CPU CISC: ưu tiên hàng đầu loại CPU hồn thiện cơng việc với lệnh Điều thực nhờ vào việc xây dựng phần cứng CPU có khả hiệu thực chuỗi tác nghiệp Trong trường hợp cụ thể này, CISC có lệnh xác định nhất, tạm gọi MULT, mà thực hiện, lệnh nạp hai giá trị tốn hạng vào ghi sau thực phép nhân ghi kết vào ghi tương ứng Như công việc thể lệnh sau: MULT 2:3,5:2 Lệnh MULT lệnh hoàn thiện (complex) Lệnh làm việc trực tiếp băng nhớ máy tính, khơng cần người lập trình phải dùng lệnh gọi hay nạp 136 nội dung, ghi nội dung vào ô nhớ Lệnh gần với ngôn ngữ bậc cao Giả sử ta gọi "a" giá trị tốn hạng nhớ 2:3 "b" giá trị tốn hạng nhớ 5:2, lệnh tương ứng ngơn ngữ C "a = a * b” ưu điểm lớn hệ thống CISC chương trình dịch phải làm việc dịch chương trình, hay lệnh ngơn ngữ bậc cao sang ngơn ngữ máy Vì độ dài mã lệnh nhỏ, nên hệ thống cần RAM để ghi nhớ lệnh Dĩ nhiên, việc thiết kế cấu trúc loại CISC đặc biệt phải tích hợp lệnh hồn thiện phần cứng Trên CPU RISC: CPU loại RISC sử dụng lệnh (lnstruction) thực chu kỳ xung nhịp Như lệnh MULT mô tả phần chia thành lệnh nhỏ “LOAD” chuyển liệu (tốn hạng) từ nhớ vào ghi; “PROD" thực phép nhân hai toán hạng lưu giữ ghi, lệnh "STORE" thực việc chuyển kết tính tốn ghi vào nhớ Để thực phép nhân hai tốn hạng, người lập trình phải mã hóa thành lệnh sau: LOAD A, 2:3 LOAD B, 5:2 PROD A, B STORE 2:3, A Có thể thấy với cấu trúc RISC, không thuận lợi cho hồn thành phép tốn nhân hai số phải viết nhiều dòng lệnh hơn, cần nhiều RAM đế lưu giữ lệnh mức assembly Chương trình dịch phải thiện nhiều việc để chuyển đổi lệnh ngôn ngữ bậc cao sang mã máy Thế nhưng, chiến lược RISC mang đến nhiều thuận lợi quan trọng Vì lệnh cần chu kỳ xung nhịp để thực hiện, tồn chương trình cần số chu kỳ xung nhịp thực lệnh MULT hệ thống CISC Nhưng kiến trúc RISC với hệ lệnh rút gọn cần linh kiện khơng gian cho mạch tích hợp, bỏ qua ghi đa Hơn nữa, lệnh thực thi chu kỳ xung nhịp nên việc tổ chức đường ống đơn giản nhiều Việc tách lệnh "LOAD" lệnh "STORE" đơn giản hóa đáng kể khối lượng công việc CPU phải thực Sau thực lệnh MULT cấu trúc CISC, CPU tự động xóa nội dung ghi Nếu tốn hạng cịn tiếp tục sử dụng cho lệnh tiếp theo, CPU phải nạp lại Ở cấu trúc RISC, nội dung toán hạng giữ lại giá trị nạp vào 137 Cuối cùng, để so sánh cách tồn diện hơn, cơng thức sau dùng để đánh giá khả tính tốn, xử lý loại CPU: CISC cố gắng giảm số lệnh chương trình, hy sinh số chu lệnh RISC theo chiến lược ngược lại Chỉ chip họ x86 trung thành với kiến trúc CISC, dĩ nhiên khơng thơng dụng lý khác: Trước hết phát triển vũ bão cơng nghệ tích hợp mạch, cơng nghệ sản xuất linh kiện điện tử Sự giảm giá đến mức khó hiểu nhớ RAM làm đảo lộn cách nhìn nhận nhược điểm CPU theo kiến trúc RISC Giá lMbyte RAM năm 1977 khoảng 5.000USD, đến năm 1994 khoảng 6USD, đến năm 2005 khoảng 0,2 USD Công nghệ chương trình dịch (compiler technology) trở nên hồn thiện nên CPU loại RISC với nhớ RAM dung lượng lớn công nghệ phần mềm trở thành lý tưởng nhiều hãng sản xuất máy tính 2.3.3 Quản lý nhớ Địa (address) phương thức để “xác định vị trí (location)” ô nhớ "không gian địa chỉ” (address space) Địa thể số nguyên nhị phân không dấu lưu giữ ghi chuyên dụng ghi đa với kỹ thuật hoàn thiện Địa giải mã phần cứng để truy xuất đến vị trí nhớ khối nhớ vật lý Ví dụ: Bộ nhớ RAM ROM hay nguồn nhớ đồ hóa (memory mapped resource) Hình 2.35 biểu diễn cách nhìn tổng qt địa chỉ, khơng gian địa vị trí nhớ kiến trúc máy tính 32 bit Có thể thấy địa trỏ (pointer), số nguyên nhị phân tham chiếu đến đối tượng hay vị trí chiếu đến đối tượng hay vị trí nhớ (ơ nhớ) Dĩ nhiên, để tạo trỏ, kỹ thuật phân đoạn (segment), sử dụng độ lệch (offset) giá trị dịch chuyển (displacement) sử dụng tạo nhờ đơn vị giao diện BUS (BIU) CPU 138 Không gian địa tập tất địa chỉ, hình dung hàm riêng tham chiếu đến ô nhớ Thông thường, địa (zero) 2N- 1, N độ rộng BUS địa (l6, 20, 24, 32 64) Khơng gian khơng xác với kiến trúc phân đoạn Trong hệ thống đại, phần lớn khơng gian địa trữ nhờ kiến trúc hệ điều hành, tạm thời khơng đồ hóa Những vấn đề liên quan, tìm thấy tài liệu không gian nhớ ảo không gian nhớ vật lý 139 2.3.4 Bộ nhớ cache Cache chế nhớ tốc độ cao đặc biệt Cache sử dụng vùng nhớ trữ nhớ với chip nhớ tốc độ cao Có hai loại nhớ cache sử dụng chung máy PC, memory cachtng disk caching Hình 2.37: Cache Memory cache gọi nhớ cache hay RAM cache, sử dụng RAM anh (SRAM) tốc độ cao Rất hiệu nhiều chương trình truy nhập liệu lệnh thông qua vùng nhớ Bằng cách lưu giữ liệu lệnh cache, tốc độ truy nhập nhớ nâng cao Cũng có loại memory cache tích hợp trực tiếp CPU CPU 80486 (8KB), Pentium 16KB Chúng gọi cache nội (internal cache), hay cache mức (Li) Các PC hỗ trợ cache ngồi (External cache), cịn gọi cache L2, nhớ dùng trung gian CPU nhớ DRAM Disk cache làm việc giống nguyên lý cache nhớ, thay sử dụng RAM, cache sử dụng DRAM nhớ Phần lớn liệu truy xuất từ cache data lưu giữ vùng nhớ đệm Mỗi chương trình truy xuất data, thơng thường kiểm tra xem, liệu lưu vào vùng cache địa hay chưa Cache đóng vai trị quan trọng việc nâng cao tốc độ truy xuất, truy xuất byte liệu RAM nói nhanh gấp ngàn lần truy xuất byte liệu từ ổ đĩa Khi liệu tìm thấy nhớ cache, tức cache hit, hiệu suất cache đánh giá hit rate Hầu 140 hết hệ thống cache sử dụng kỹ thuật smart caching, có nghĩa hệ thống luôn ghi nhận số loại liệu thường sử dụng Chiến lược xác định thông tin lưu giữ vào nhớ cache vấn đề đặc biệt quan tâm khoa học máy tính Bài tập Bài Sơ đồ khối vi xử lý dùng để A Diễn tả chi tiết cổng logic Flip Flop dùng để thiết kế nên vi xử lý B Diễn tả mạch logic vi xử lý kết nối với thiết bị IO nhớ bên C Dùng để trình bày khối logic có chức xử lý liệu để giải vấn đề D Cả câu Đáp số: D Bài Hầu hết phép toán logic số học vi xử lý thực nội dung ô nhớ nội dung ghi với: A Nội dung ghi Accumulator B Nội dung ghi Program Counter C Nội dung ghi địa D Thanh ghi lệnh Đáp số: A Bài 3: Phân tích đoạn chương trình sau đây: MOV AL, AH MOV CX, 50 INC AL COMP AL, 0FH LOOPNE LAP LAP: 141 Gợi ý: đoạn chương trình lặp, chương trình kết thúc AL = 0FH hay CX = Bài 4: Hãy viết chương trình in chuỗi ký tự “lap trinh 8086” Gợi ý: xem ví dụ trang 124 Bài 5: Hãy viết chương trình nhập chuỗi ký tự chuyển chữ thường thành chữ hoa Gợi ý: xem ví dụ trang 126 142 ... 11 111 10 1 00 01 011 0000 2 0 010 11 011 01 3 0 011 11 110 11 4 010 0 011 0 011 5 010 1 10 110 11 6 011 0 10 111 11 7 011 1 11 10000 8 10 00 11 111 11 9 10 01 111 10 11 10 A 10 10 11 1 011 1 A 11 B 10 11 111 111 1 B 12 C 11 00... 00 01 +1 +1 0000 0 010 +2 +2 011 1 11 01 125 + 12 5 + 12 5 011 1 11 10 12 6 +12 6 +12 6 011 1 11 11 127 +12 7 +12 7 10 00 0000 12 8 -0 - 12 8 10 00 00 01 129 -1 - 12 7 10 00 0 010 13 0 -2 - 12 6 11 11 110 1 12 5... 1: 77 - 88 010 0 11 01 - 010 1 10 00 010 0 11 01 → +10 10 10 00 11 11 - 11 Số 88 = 010 1 10 00 → số bù 10 10 011 1 → 010 1 số bù 2: 10 10 10 00 Kết phép cộng số bù 11 11 010 1 có MSB = nên số âm Số bù 0000 10 10

Ngày đăng: 25/03/2022, 09:03

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

  • Đang cập nhật ...