Bài giảng môn kiến trúc máy tính và hệ điều hành chương 2 khối xử lý trung tâm

49 769 1
Bài giảng môn kiến trúc máy tính và hệ điều hành   chương 2  khối xử lý trung tâm

Đ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

6/25/2014 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH VÀ HỆ ĐIỀU HÀNH Giảng viên: ThS Nguyễn Thị Ngọc Vinh Bộ môn: Khoa học máy tính- Khoa CNTT1 Email: ntngocvinh@yahoo.com CHƯƠNG 2: KHỐI XỬ LÝ TRUNG TÂM www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 6/25/2014 CHƯƠNG 2: NỘI DUNG CHÍNH Khối xử lý trung tâm       www.ptit.edu.vn Sơ đồ khối tổng quát Chu kỳ xử lý lệnh Thanh ghi Khối điều khiển (CU) Khối số học logic (ALU) Bus CPU GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang CHƯƠNG 2: NỘI DUNG CHÍNH Tập lệnh máy tính      Khái niệm lệnh, tập lệnh Chu kỳ pha thực lệnh Các dạng toán hạng Các chế độ địa Một số dạng lệnh thông dụng Giới thiệu chế ống lệnh www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 6/25/2014 2.1 KHỐI XỬ LÝ TRUNG TÂM www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH Trang BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 CPU – SƠ ĐỒ KHỐI TỔNG QUÁT CU: (Control Unit) Khối điều khiển IR: (Instruction Register) Thanh ghi lệnh PC: (Program Counter) Bộ đếm chương trình Y, Z: (Temporary Register) Thanh ghi tạm thời FR: (Flag Register) Thanh ghi cờ IR Y PC MBR: (Memory Buffer Register) Thanh ghi nhớ đệm A: (Accumulator Register) Thanh ghi tích lũy A A Bus D Bus MAR Gfdsfd ALU Z MBR ALU: (Arithmetic and Logic Unit) Khối tính toán số học -logic www.ptit.edu.vn Internal Bus MAR: (Memory Address Register) Thanh ghi địa nhớ CU GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 FR Trang 6/25/2014 CHU KỲ XỬ LÝ LỆNH Khi chương trình chạy, hệ điều hành tải mã chương trình vào nhớ Địa lệnh chương trình đưa vào ghi PC Địa ô nhớ chứa lệnh chuyển tới bus A qua ghi MAR Tiếp theo, bus A truyền địa tới khối quản lý nhớ MMU (Memory Management Unit) MMU chọn ô nhớ sinh tín hiệu READ www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang CHU KỲ XỬ LÝ LỆNH Lệnh chứa ô nhớ chuyển tới ghi MBR qua bus D MBR chuyển lệnh tới ghi IR Sau IR lại chuyển lệnh tới CU CU giải mã lệnh sinh tín hiệu xử lý cho đơn vị khác, ví dụ ALU để thực lệnh Địa PC tăng lên để trỏ tới lệnh chương trình thực 10 Thực lại bước 3->9 để chạy hết lệnh chương trình www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 6/25/2014 THANH GHI  Thanh ghi thành phần nhớ bên CPU:    Lưu trữ tạm thời lệnh liệu cho CPU xử lý Dung lượng nhỏ, số lượng Tốc độ cao (bằng tốc độ CPU)  Các CPU hệ cũ (80x86) có 16 – 32 ghi CPU hệ (Intel Pentium 4, Core Duo) có hàng trăm ghi  Kích thước ghi phụ thuộc vào thiết kế CPU: 8, 16, 32, 64, 128 256 bit    8086 80286: 16 bit 80386, Pentium II: 16 – 32 bit Pentium IV, Core Duo: 32, 64 128 bit www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang THANH GHI TÍCH LŨY A (Accumulator)  Thanh ghi tích lũy hay ghi A ghi quan trọng CPU   Lưu trữ toán hạng đầu vào Lưu kết đầu  Kích thước ghi A tương ứng với độ dài từ xử lý CPU: 8, 16, 32, 64 bit  Cũng sử dụng để trao đổi liệu với thiết bị vào www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 10 6/25/2014 BỘ ĐẾM CHƯƠNG TRÌNH PC  Program Counter hay Instruction Pointer lưu địa nhớ lệnh  PC chứa địa ô nhớ chứa lệnh chương trình kích hoạt tải vào nhớ  Sau CPU chạy xong lệnh, địa ô nhớ chứa lệnh tải vào PC  Kích thước PC phụ thuộc vào thiết kế CPU: 8, 16, 32, 64 bit www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 11 THANH GHI TRẠNG THÁI FR  Mỗi bit ghi cờ lưu trữ trạng thái kết phép tính ALU thực  Có kiểu cờ:   Cờ trạng thái: CF, OF, AF, ZF, PF, SF Cờ điều khiển: IF, TF, DF  Các bit cờ thường dùng điều kiện rẽ nhánh lệnh tạo logic chương trình  Kích thước FR phụ thuộc thiết kế CPU www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 12 6/25/2014 THANH GHI TRẠNG THÁI FR        ZF: Zero Flag, ZF=1 kết =0 ZF=0 kết 0 SF: Sign Flag, SF=1 kết âm SF=0 kết dương CF: Carry Flag, CF=1 có nhớ/mượn bit trái AF: Auxiliary Flag, AF=1 có nhớ bit trái nibble OF: Overflow Flag, OF=1 có tràn, OF=0 ngược lại PF: Parity Flag, PF=1 tổng số bit kết số lẻ, PF=0 ngược lại IF: Interrupt Flag, IF=1: ngắt phép, IF=0: cấm ngắt www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 13 THANH GHI TRẠNG THÁI CỦA 8086 www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 14 6/25/2014 CON TRỎ NGĂN XẾP (SP: Stack Pointer)  Ngăn xếp đoạn nhớ đặc biệt hoạt động theo nguyên tắc vào sau trước (LIFO)  Con trỏ ngăn xếp ghi trỏ tới đỉnh ngăn xếp  thao tác với ngăn xếp:  Push: đẩy liệu vào ngăn xếp SP  SP + {SP}  Data  SP Pop: lấy liệu khỏi ngăn xếp Register  {SP} SP  SP - Stack www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 15 CÁC THANH GHI ĐA NĂNG  Có thể sử dụng cho nhiều mục đích:   Lưu toán hạng đầu vào Lưu kết đầu  Ví dụ: CPU 8086 có ghi đa     AX: Accumulator Register BX: Base Register CX: Counter Register DX: Data Register www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 16 6/25/2014 THANH GHI LỆNH IR  Lưu trữ lệnh xử lý  IR lấy lệnh từ MBR chuyển tới CU để giải mã lệnh MBR www.ptit.edu.vn IR CU GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 17 THANH GHI MBR VÀ MAR  MAR: ghi địa nhớ   Giao diện CPU bus địa Nhận địa nhớ lệnh từ PC chuyển tới bus địa  MBR: ghi đệm nhớ   Giao diện CPU bus liệu Nhận lệnh từ bus liệu chuyển tới IR www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 18 6/25/2014 CÁC THANH GHI TẠM THỜI  CPU thường sử dụng số ghi tạm thời để:     Lưu trữ toán hạng đầu vào Lưu kết đầu Hỗ trợ xử lý song song (tại thời điểm chạy nhiều lệnh) Hỗ trợ thực lệnh theo chế thực tiên tiến kiểu không trật tự (OOO – Out Of Order execution) GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH www.ptit.edu.vn Trang 19 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 KHỐI ĐIỀU KHIỂN CU Internal control signal CLK External control signal Control Unit CU ALU Flags IR www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 20 10 6/25/2014 XUNG ĐỘT DỮ LIỆU ADD R1, R1, R3; R1  R1 + R3 SUB R4, R1, R2; R4  R1 + R2 www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 69 HƯỚNG KHẮC PHỤC XUNG ĐỘT DỮ LIỆU  Nhận biết xảy  Ngưng pipeline (stall): phải làm trễ ngưng pipeline cách sử dụng vài phương pháp tới có liệu xác  Sử dụng complier để nhận biết RAW và:   Chèn lệnh NO-OP vào lệnh có RAW Thay đổi trình tự lệnh chương trình chèn lệnh độc lập liệu vào vị trí lệnh có RAW  Sử dụng phần cứng để xác định RAW (có CPUs đại) dự đoán trước giá trị liệu phụ thuộc www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 70 35 6/25/2014 HƯỚNG KHẮC PHỤC XUNG ĐỘT DỮ LIỆU  Làm trễ trình thực lệnh SUB cách chèn NOOP www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 71 HƯỚNG KHẮC PHỤC XUNG ĐỘT DỮ LIỆU  Chèn lệnh độc lập liệu vào ADD SUB www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 72 36 6/25/2014 QUẢN LÝ CÁC LỆNH RẼ NHÁNH TRONG PIPELINE  Tỷ lệ lệnh rẽ nhánh chiếm khoảng 10 - 30% Các lệnh rẽ nhánh gây ra:   Gián đoạn trình chạy bình thường chương trình Làm cho Pipeline rỗng biện pháp ngăn chặn hiệu  Với CPU mà pipeline dài (P4 với 31 giai đoạn) nhiều pipeline chạy song song, vấn đề rẽ nhánh trở nên phức tạp vì:   Phải đẩy lệnh thực pipeline gặp lệnh rẽ nhánh Tải lệnh từ địa rẽ nhánh vào pipeline Tiêu tốn nhiều thời gian để điền đầy pipeline www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 73 QUẢN LÝ CÁC LỆNH RẼ NHÁNH  Khi lệnh rẽ nhánh thực hiện, lệnh bị đẩy khỏi pipeline lệnh tải www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 74 37 6/25/2014 GIẢI PHÁP QUẢN LÝ CÁC LỆNH RẼ NHÁNH  Đích rẽ nhánh (branch target)  Rẽ nhánh có điều kiện (conditional branches)   Làm chậm rẽ nhánh (delayed branching) Dự báo rẽ nhánh (branch prediction) www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 75 ĐÍCH RẼ NHÁNH  Khi lệnh rẽ nhánh thực hiện, lệnh lấy lệnh địa đích rẽ nhánh (target) lệnh vị trí lệnh nhảy JUMP ADD R1, R2 Address: SUB R3, R4 www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 76 38 6/25/2014 ĐÍCH RẼ NHÁNH  Các lênh rẽ nhánh xác định giai đoạn ID, biết trước chúng cách giải mã trước  Sử dụng đệm đích rẽ nhánh (BTB: branch target buffer) để lưu vết lệnh rẽ nhánh thực thi:   Địa đích lệnh rẽ nhánh thực Lệnh đích lệnh rẽ nhánh thực  Nếu lệnh rẽ nhánh sử dụng lại (trong vòng lặp):  Các địa đích chúng lưu BTB dùng mà không cần tính lại  Các lệnh đích dùng trực tiếp không cần load lại từ nhớ  Điều địa lệnh đích thường không thay đổi www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 77 ĐÍCH RẼ NHÁNH CỦA PIII www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 78 39 6/25/2014 LỆNH RẼ NHÁNH CÓ ĐIỀU KIỆN  Khó quản lý lệnh rẽ nhánh ko có điều kiện vì:    Có lệnh đích để lựa chọn Không thể xác định lệnh đích tới lệnh rẽ nhánh thực xong Sử dụng BTB không hiệu phải đợi tới xác định lệnh đích www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 79 LỆNH RẼ NHÁNH CÓ ĐIỀU KIỆN – CÁC CHIẾN LƯỢC  Làm chậm rẽ nhánh  Dự đoán rẽ nhánh www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 80 40 6/25/2014 LÀM CHẬM RẼ NHÁNH  Dựa ý tưởng:   Lệnh rẽ nhánh không làm rẽ nhánh Mà bị làm chậm vài chu kỳ đồng hồ phụ thuộc vào độ dài pipeline  Các đăc điểm làm chậm rẽ nhánh:    Hoạt động tốt vi xử lý RISC lệnh có thời gian xử lý Pipeline ngắn (thông thường giai đoạn) Lệnh sau lệnh nhảy thực hiện, không phụ thuộc vào kết lệnh rẽ nhánh www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 81 LÀM CHẬM RẼ NHÁNH  Cài đặt:   Sử dụng complier để chèn NO-OP vào vị trí sau lệnh rẽ nhánh, Chuyển lệnh độc lập từ trước tới sau lệnh rẽ nhánh www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 82 41 6/25/2014 LÀM CHẬM RẼ NHÁNH  Xét lệnh: ADD R2, R3, R4 CMP R1,0 JNE somewhere  Chèn NO-OP vào vị trí sau lệnh rẽ nhánh ADD R2, R3, R4 CMP R1,0 JNE somewhere NO-OP  Chuyển lệnh độc lập từ trước tới sau lệnh rẽ nhánh CMP R1,0 JNE somewhere ADD R2, R3, R4 www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 83 LÀM CHẬM RẼ NHÁNH www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 84 42 6/25/2014 LÀM CHẬM RẼ NHÁNH – CÁC NHẬN XÉT     Dễ cài đặt nhờ tối ưu trình biên dịch (complier) Không cần phần cứng đặc biệt Nếu chèn NO-OP làm giảm hiệu pipeline dài Thay lệnh NO-OP lệnh độc lập làm giảm số lượng NO-OP cần thiết tới 70% www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 85 LÀM CHẬM RẼ NHÁNH – CÁC NHẬN XÉT  Làm tăng độ phức tạp mã chương trình (code)  Cần lập trình viên người xây dựng trình biên dịch có mức độ hiểu biết sâu pipeline vi xử lý => hạn chế lớn  Giảm tính khả chuyển (portable) mã chương trình chương trình phải viết biên dịch lại VXL www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 86 43 6/25/2014 DỰ ĐOÁN RẼ NHÁNH  Có thể dự đoán lệnh đích lệnh rẽ nhánh:    Dự đoán đúng: nâng cao hiệu Dự đoán sai: đẩy lệnh load phải load lại lệnh đích rẽ nhánh Trường hợp xấu dự đoán 50% 50% sai www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 87 DỰ ĐOÁN RẼ NHÁNH  Các sở để dự đoán:  Đối với lệnh nhảy ngược (backward): • •  Đối với lệnh nhảy xuôi (forward), khó dự đoán hơn: • • www.ptit.edu.vn Gfdsfd Thường phần vòng lặp Các vòng lặp thường thực nhiều lần Có thể kết thúc lệnh loop Có thể nhảy có điều kiện GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 88 44 6/25/2014 AMD K6-2 pipeline www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 89 Branch Prediction – Intel PIII www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 90 45 6/25/2014 Pipeline –Pen III, M www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 91 Intel Pen Pipeline www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 92 46 6/25/2014 Intel Core Duo pipeline www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 93 Intel Atom 16-stage pipeline www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 94 47 6/25/2014 SIÊU PIPELINE (superpipelining)  Siêu pipeline kỹ thuật cho phép:    Tăng độ sâu ống lệnh Tăng tốc độ đồng hồ Giảm thời gian trễ cho giai đoạn thực lệnh  Ví dụ: giai đoạn thực lệnh ALU kéo dài -> chia thành số giai đoạn nhỏ -> giảm thời gian chờ cho giai đoạn ngắn  Pentium siêu ống với 20 giai đoạn www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 95 Trang 95 PENTIUM SIÊU ỐNG VỚI 20 GIAI ĐOẠN www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 96 48 6/25/2014 Branch Prediction – Intel P4 www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 97 Intel Core Duo – Super Pipeline www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 98 49 [...]... #100; CLEAR R2; LAP: ADD R0, 1000(R2); INCREMENT R2; DECREMENT R1; BRANCH_IF>0 LAP; STORE 20 00, R0; www.ptit.edu.vn Gfdsfd R0 0 R1 100 R2 0 R0R0+ M[R2+1000] R2 R2+1 R1 R1-1 go to LAP if R1>0 M [20 00] R0 GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 52 26 6 /25 /20 14 BÀI TẬP 1 Cho đoạn lệnh sau: ADD R2, (R0); SUBSTRACT R2, (R1); MOVE 500(R0), R2; LOAD R2, #5000;... BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 44 Trang 44 22 6 /25 /20 14 LỆNH SỐ HỌC VÀ LOGIC  Thực hiện các thao tác số học và logic giữa các thanh ghi và nội dung ô nhớ  Ví dụ: ADD R1, R2, R3; R2 + R3 -> R1 SUBSTRACT R1, R2, R3; R2 – R3 -> R1 www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 45 CÁC LỆNH TÍNH TOÁN SỐ HỌC THÔNG DỤNG       ADD: cộng 2 toán... lạc 2 chiều  Bus trong có giao diện để trao đổi thông tin với bus ngoài (bus hệ thống)  Bus trong luôn có băng thông lớn và tốc độ nhanh hơn so với bus ngoài www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 24 12 6 /25 /20 14 2. 2 TẬP LỆNH MÁY TÍNH www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 25 ... tiếp chương trình gọi www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 49 Trang 49 MỘT SỐ LỆNH ĐIỀU KHIỂN THÔNG DỤNG LOAD R1, #100 LAP: ADD R0, (R2) DECREMENT R1 BRANCH_IF >0 LAP www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 50 25 6 /25 /20 14 CÁC LỆNH VÀO/ RA  Được dùng để truyền dữ liệu giữa máy tính và. .. www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH Trang 21 BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 KHỐI SỐ HỌC VÀ LOGIC ALU IN IN ADD SUB MUL DIV SHR ROL NOT AND SHL NEG OR ROR XOR OUT www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 22 11 6 /25 /20 14 KHỐI SỐ HỌC VÀ LOGIC ALU  Bao gồm các đơn vị chức năng con để thực hiện các phép toán số học và logic:... NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 55 2. 3 GIỚI THIỆU CƠ CHẾ ỐNG LỆNH PIPELINE www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 56 28 6 /25 /20 14 NỘI DUNG CHÍNH  Giới thiệu về CPU pipeline  Các vấn đề của pipeline  Xử lý xung đột dữ liệu và tài nguyên  Xử lý rẽ nhánh (branch)  Super pipeline GIẢNG VIÊN: THS NGUYỄN... (đối với các lệnh có 2 toán hạng) Đoạn lệnh trên thực hiện công việc gì? GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 54 27 6 /25 /20 14 BÀI TẬP  Cho một mảng gồm 10 số, được lưu trữ liên tiếp nhau trong bộ nhớ, bắt đầu từ vị trí ô nhớ 1000 Viết đoạn chương trình tính tổng các số dương trong mảng đó và lưu kết quả vào ô nhớ 20 00 www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN... LOAD R2, #5000; STORE 100(R2), R0; Biết R0=1500, R1=4500, R2=1000, M[1500]=3000, M[4500]=500 Hãy chỉ ra giá trị của thanh ghi và tại vị trí trong bộ nhớ qua mỗi lệnh thực hiện www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 53 BÀI TẬP 2 Cho đoạn lệnh sau: MOVE R0, #100; CLEAR R1; CLEAR R2; LAP: ADD R1, 20 00(R2); ADD R2, #2; DECREMENT R0; BRANCH_IF>0... www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 39 CHẾ ĐỘ ĐỊA CHỈ TƯƠNG ĐỐI  Địa chỉ của toán hạng có được bằng cách cộng thêm hằng số vào nội dung của một thanh ghi, là thanh ghi con đếm chương trình PC  Ví dụ LOAD Ri, X(PC); M[X+PC]  Ri www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 40 20 6 /25 /20 14... dữ liệu Các lệnh số học và logic Các lệnh điều khiển chương trình Các lệnh vào/ ra www.ptit.edu.vn Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 42 21 6 /25 /20 14 LỆNH VẬN CHUYỂN DỮ LIỆU  Chuyển dữ liệu giữa các phần của máy tính  Giữa các thanh ghi trong CPU MOVE Ri, Rj ;   Rj -> Ri Giữa thanh ghi CPU và một vị trí trong bộ nhớ MOVE Rj,1000; M[1000] -> Rj ...6/25/2014 CHƯƠNG 2: NỘI DUNG CHÍNH Khối xử lý trung tâm       www.ptit.edu.vn Sơ đồ khối tổng quát Chu kỳ xử lý lệnh Thanh ghi Khối điều khiển (CU) Khối số học logic (ALU) Bus CPU GIẢNG VIÊN:... Gfdsfd GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1 Trang 6/25/2014 2.1 KHỐI XỬ LÝ TRUNG TÂM www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH Trang BỘ MÔN: KHOA... MÁY TÍNH – KHOA CNTT1 FR Trang 6/25/2014 CHU KỲ XỬ LÝ LỆNH Khi chương trình chạy, hệ điều hành tải mã chương trình vào nhớ Địa lệnh chương trình đưa vào ghi PC Địa ô nhớ chứa lệnh chuyển tới bus

Ngày đăng: 14/04/2016, 15:26

Từ khóa liên quan

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

Tài liệu liên quan