PowerPoint Presentation VŨ NGỌC THANH SANG TRỊNH TẤN ĐẠT KHOA CÔNG NGHỆ THÔNG TIN ĐẠI HỌC SÀI GÒN Email trinhtandatsgu edu vn Website https sites google comsitettdat88 BỘ VI XỬ LÝ mailto trinhtandatsgu edu vn https sites google comsitettdat88 Nội Dung Khoa Công Nghệ Thông Tin – Đại học Sài Gòn Kiến Trúc Máy Tính • Tổ chức bộ vi xử lý (CPU) • Đơn vị xử lý • Thanh ghi • Tập lệnh • Kỹ thuật ống dẫn Pipeline • Siêu vô hướng (superscalar) TỔ CHỨC BỘ VI XỬ LÝ TRUNG TÂM (CPU) – CẤU TRÚC CƠ BẢ.
BỘ VI XỬ LÝ VŨ NGỌC THANH SANG TRỊNH TẤN ĐẠT KHOA CƠNG NGHỆ THƠNG TIN ĐẠI HỌC SÀI GỊN Email: trinhtandat@sgu.edu.vn Website: https://sites.google.com/site/ttdat88 Nội Dung • Tổ chức vi xử lý (CPU) • Đơn vị xử lý • Thanh ghi • Tập lệnh • Kỹ thuật ống dẫn Pipeline • Siêu vơ hướng (superscalar) Khoa Cơng Nghệ Thơng Tin – Đại học Sài Gịn Kiến Trúc Máy Tính TỔ CHỨC BỘ VI XỬ LÝ TRUNG TÂM (CPU) – CẤU TRÚC CƠ BẢN ❑Cấu trúc bao gồm: • Đơn vị điều khiển (Control Unit – CU) • Đơn vị số học logic (Arithmetic and Logic Unit – ALU) • Tập ghi (Register File – RF), nhớ (memory) buses để kết nối thành phần Khoa Công Nghệ Thông Tin – Đại học Sài Gịn Kiến Trúc Máy Tính TỔ CHỨC BỘ VI XỬ LÝ TRUNG TÂM (CPU) – CẤU TRÚC CƠ BẢN • Đơn vị điều khiển (Control Unit – CU): điều khiển hoạt động máy tính theo chương trình thiết kế sẵn • Đơn vị số học logic (Arithmetic and Logic Unit – ALU): Thực phép tồn số học phép tốn logic • Tập ghi (Register File – RF): Lưu trữ thông tin tạm thời phục vụ cho hoạt động CPU • Đơn vị nối ghép bus (Bus Interface Unit – BIU): kết nối trao đổi thông tin bus bên (Internal Bus) bus bên (External Bus) Khoa Cơng Nghệ Thơng Tin – Đại học Sài Gịn Kiến Trúc Máy Tính ĐƠN VỊ ĐIỀU KHIỂN – CONTROL UNIT Các cờ cho biết trạng thái CPU • Chức đơn vị điều khiển: o Điều phối chuỗi di chuyển liệu vào, nhiều đơn vị xử lý o Giải mã lệnh để xác định phép tính mà lệnh yêu cầu o Điều khiển dòng liệu bên xử lý o Nhận chuỗi tín hiệu điều khiển chuyển đổi từ tập lệnh ghi o Điều khiển đơn vị thực thi (ALU, ghi, …) chứa CPU o Đảm nhiệm đa tác vụ: Nạp (fetching), giải mã (Decoding), thực thi lệnh, lưu trữ kết Tín hiệu xung nhịp từ mạch tạo dao động bên ngồi Khoa Cơng Nghệ Thơng Tin – Đại học Sài Gịn Kiến Trúc Máy Tính ĐƠN VỊ ĐIỀU KHIỂN - CONTROL UNIT • Gồm loại: o Đơn vị điều khiển vi chương trình (Microprogrammed Control Unit) o Đơn vị điều khiển phần cứng (Hardwired Control Unit) Khoa Cơng Nghệ Thơng Tin – Đại học Sài Gịn Kiến Trúc Máy Tính ĐƠN VỊ ĐIỀU KHIỂN VI CHƯƠNG TRÌNH – MICROPROGRAMMED CONTROL UNIT • Bộ nhớ vi chương trình (ROM) lưu trữ vi chương trình (microprogram) • Bao gồm vi lệnh (microinstruction) • Mỗi vi lệnh mã hóa cho vi thao tác (microoperation) • Để hồn thành lệnh cần thực một vài vi chương trình • Tốc độ chậm Khoa Cơng Nghệ Thơng Tin – Đại học Sài Gịn ĐƠN VỊ ĐIỀU KHIỂN PHẦN CỨNG – HARDWIRED CONTROL UNIT • Sử dụng vi mạch phần cứng để giải mã tạo tín hiệu điều khiển thực lệnh • Tốc độ nhanh • Đơn vị điều khiển phức tạp Khoa Cơng Nghệ Thơng Tin – Đại học Sài Gịn Kiến Trúc Máy Tính TẬP THANH GHI • Là thành phần lưu liệu bên CPU • Mỗi ghi có độ dài định (32 bit, 16 bit bit) tùy theo kiến trúc nhận biết tên riêng • Tùy vào độ dài chức mà ghi có cơng dụng chứa liệu kết phép toán, địa dùng để định vị nhớ cần thiết • Nội dung ghi truy xuất thông qua tên riêng nó, tên ghi từ khóa quan trọng cần phải lưu ý lập trình Khoa Cơng Nghệ Thơng Tin – Đại học Sài Gịn Kiến Trúc Máy Tính PHÂN LOẠI CÁC THANH GHI • Thanh ghi địa chỉ: quản lý địa nhớ hay cổng IO • Thanh ghi liệu: chứa tạm thời liệu • Thanh ghi đa năng: chứa địa liệu • Thanh ghi điều khiển/trạng thái: chứa thông tin điều khiển trạng thái CPU • Thanh ghi lệnh: chứa lệnh thực Khoa Công Nghệ Thơng Tin – Đại học Sài Gịn Kiến Trúc Máy Tính KỸ THUẬT ỐNG DẪN PIPELINE Lưu ý: • Kỹ thuật pipeline không giúp giảm thời gian thực thi lệnh riêng lẻ mà giúp giảm tổng thời gian thực thi đoạn lệnh/ chương trình chứa nhiều lệnh ➔ giảm thời gian trung bình lệnh • Các chương trình thực tế có đến hàng tỉ lệnh, việc giúp giảm thời gian thực thi quan trọng Khoa Công Nghệ Thông Tin – Đại học Sài Gịn Kiến Trúc Máy Tính KỸ THUẬT ỐNG DẪN PIPELINE – XUNG ĐỘT ỐNG DẪN (PIPELINE HAZARD) • Xung đột trạng thái mà lệnh thực thi chu kỳ pipeline sau (hoặc thực thi cho kết sai) Ba nguyên nhân gây xung đột: o Xung đột cấu trúc (Structural hazard): Xảy hai lệnh truy xuất vào tài nguyên phần cứng lúc o Xung đột liệu (Data hazard): Xảy lệnh dự kiến thực thi chu kỳ pipeline liệu mà lệnh cần chưa sẵn sàng o Xung đột điều khiển (Control/Branch hazard): Xảy lệnh nạp vào lệnh cần, luồng thực thi chứa lệnh nhảy Khoa Công Nghệ Thông Tin – Đại học Sài Gịn Kiến Trúc Máy Tính KỸ THUẬT ỐNG DẪN PIPELINE – XUNG ĐỘT ỐNG DẪN (PIPELINE HAZARD) Do cấu trúc: • Nguyên nhân: Dùng chung tài nguyên • Khắc phục: nhân tài nguyên để tránh xung đột, làm trễ • Ví dụ: Lệnh nhân cần nhiều chu trình thực Khoa Cơng Nghệ Thơng Tin – Đại học Sài Gịn Kiến Trúc Máy Tính KỸ THUẬT ỐNG DẪN PIPELINE – XUNG ĐỘT ỐNG DẪN (PIPELINE HAZARD) Do liệu: • Nguyên nhân: Lệnh sau sử dụng liệu kết lệnh trước • Khắc phục: o Chờ thêm n chu kỳ xung clock lệnh I nạp vào o Áp dụng kỹ thuật nhìn trước (forwarding hay bypassing) để rút ngắn số chu kỳ rỗi thay chờ them n chu kỳ Đây kỹ thuật gắn thêm đệm phụ bên trong, liệu cần lưu trữ đệm để sẵn sàng truy xuất nhanh chóng • Ví dụ: add $s0, $t0, $t sub $t2, $s0, $t3 Khoa Công Nghệ Thông Tin – Đại học Sài Gịn Kiến Trúc Máy Tính KỸ THUẬT ỐNG DẪN PIPELINE – XUNG ĐỘT ỐNG DẪN (PIPELINE HAZARD) Do liệu (tiếp theo): Ví dụ: add $s0, $t0, $t sub $t2, $s0, $t3 Giải pháp: Chờ thêm chu kỳ xung clock lệnh sub nạp vào Khoa Cơng Nghệ Thơng Tin – Đại học Sài Gịn Kiến Trúc Máy Tính KỸ THUẬT ỐNG DẪN PIPELINE – XUNG ĐỘT ỐNG DẪN (PIPELINE HAZARD) Do liệu (tiếp theo): Ví dụ: add $s0, $t0, $t sub $t2, $s0, $t3 Giải pháp 2: Sau ALU hoàn thành tính tốn tổng cho lệnh add kết cung cấp cho công đoạn EX lệnh sub (thông qua đệm liệu gắn thêm) để ALU tính tốn kết cho sub nhanh Khoa Cơng Nghệ Thơng Tin – Đại học Sài Gịn Kiến Trúc Máy Tính KỸ THUẬT ỐNG DẪN PIPELINE – XUNG ĐỘT ỐNG DẪN (PIPELINE HAZARD) Do liệu (tiếp theo): Lưu ý: Kỹ thuật forwarding hỗ trợ giải xung đột liệu hiệu quả, nhiên khơng thể ngăn chặn tất trường hợp chu kỳ rỗi ví dụ sau Khoa Cơng Nghệ Thơng Tin – Đại học Sài Gịn Kiến Trúc Máy Tính KỸ THUẬT ỐNG DẪN PIPELINE – XUNG ĐỘT ỐNG DẪN (PIPELINE HAZARD) Do điều khiển: • Nguyên nhân: Do lệnh rẽ nhánh gây Khi lệnh rẽ nhánh thực thi, lệnh bị đẩy khỏi pipepline lệnh tải ➔Đây dạng khó khăn gây nhiều thiệt hại cho ống lệnh: Toàn lệnh ống phảu hủy • Giải pháp: o Đích rẽ nhánh (target): lệnh thực lệnh đích rẽ nhánh (target) khơng phải lệnh vị trí o Rẽ nhánh có điều kiện: làm chậm rẽ nhánh, dự báo rẽ nhánh Khoa Công Nghệ Thông Tin – Đại học Sài Gịn Kiến Trúc Máy Tính KỸ THUẬT ỐNG DẪN PIPELINE – XUNG ĐỘT ỐNG DẪN (PIPELINE HAZARD) Do điều khiển (tiếp theo): • Ví dụ: Tại chu kỳ thứ ba beq thực thi công đoạn ID (giải mã lệnh) lệnh lw nạp vào Nhưng điều kiện lệnh beq xảy ➔ Lệnh thực thi label ➔ Xảy xung đột điều khiển Khoa Cơng Nghệ Thơng Tin – Đại học Sài Gịn Kiến Trúc Máy Tính KỸ THUẬT ỐNG DẪN PIPELINE – XUNG ĐỘT ỐNG DẪN (PIPELINE HAZARD) Do điều khiển (tiếp theo): • Ví dụ: Giải pháp đích rẽ nhánh (với lệnh beq): Chờ tới điều kiện tính tốn lệnh nạp vào ➔ Lãng phí chu kỳ xung clock để chờ điều kiện xảy Khoa Công Nghệ Thông Tin – Đại học Sài Gịn Kiến Trúc Máy Tính KỸ THUẬT ỐNG DẪN PIPELINE – XUNG ĐỘT ỐNG DẪN (PIPELINE HAZARD) Do điều khiển (tiếp theo): • Ví dụ: Giải pháp dự đoán (với lệnh beq): Dự đoán điều kiện xảy ➔ Nhánh nhảy tới lấy Dự đốn điều kiện khơng xảy ➔ Nhánh nhảy tới khơng lấy Nếu dự đốn ➔ chương trình khơng lãng phí chu kỳ xung clock Ngược lại, lệnh nạp lại lãng phí chu kỳ xung clock Khoa Cơng Nghệ Thơng Tin – Đại học Sài Gịn Kiến Trúc Máy Tính KỸ THUẬT ỐNG DẪN PIPELINE – XUNG ĐỘT ỐNG DẪN (PIPELINE HAZARD) Do điều khiển (tiếp theo): Dự đốn Dự đốn sai Khoa Cơng Nghệ Thơng Tin – Đại học Sài Gịn Kiến Trúc Máy Tính SIÊU VƠ HƯỚNG – SUPERSCALAR • Máy tính siêu vơ hướng thực đồng thời nhiều lệnh chu kỳ clock • Phần cứng phải quản lý việc đọc thực thi đồng thời nhiều lệnh ➔ phải có khả quản lý quan hệ số liệu với • Cần phải chọn lệnh có khả thực thi lúc Khoa Cơng Nghệ Thơng Tin – Đại học Sài Gịn Kiến Trúc Máy Tính SIÊU VƠ HƯỚNG – SUPERSCALAR Khoa Cơng Nghệ Thơng Tin – Đại học Sài Gịn Kiến Trúc Máy Tính SIÊU VƠ HƯỚNG – SUPERSCALAR • Khi xử lý lệnh, máy siêu vô hướng cắt lệnh nhỏ • Các lệnh xử lý đồng thời không xảy tranh chấp liệu: o Tranh chấp liệu lệnh sử dụng kết lệnh khác tạo Trong trường hợp phải xét thứ tự lệnh Sau đó, xử lý liên kết kết xử lý thành phần • Trong vài trường hợp xuất vấn đề rẽ nhánh ➔ “gọi nhầm” dãy lệnh từ nhớ ➔ gây phức tạp cho việc xử lý dãy lệnh Khoa Công Nghệ Thông Tin – Đại học Sài Gịn Kiến Trúc Máy Tính ... vi xử lý (CPU) • Đơn vị xử lý • Thanh ghi • Tập lệnh • Kỹ thuật ống dẫn Pipeline • Siêu vơ hướng (superscalar) Khoa Công Nghệ Thông Tin – Đại học Sài Gịn Kiến Trúc Máy Tính TỔ CHỨC BỘ VI XỬ LÝ... MICROPROGRAMMED CONTROL UNIT • Bộ nhớ vi chương trình (ROM) lưu trữ vi chương trình (microprogram) • Bao gồm vi lệnh (microinstruction) • Mỗi vi lệnh mã hóa cho vi thao tác (microoperation) •... o Điều phối chuỗi di chuyển liệu vào, nhiều đơn vị xử lý o Giải mã lệnh để xác định phép tính mà lệnh yêu cầu o Điều khiển dòng liệu bên xử lý o Nhận chuỗi tín hiệu điều khiển chuyển đổi từ tập