Bộ xử lý trung tâm thuộc chương 4 của bộ bài giảng Kiến trúc máy tính do Nguyễn Kim Khánh biên soạn sẽ giới thiệu tới các bạn cấu trúc cơ bản của CPU; tập lệnh; hoạt động của CPU; kiến trúc của các bộ xử lý tiên tiến; kiến trúc Intel.
Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Kiến trúc máy tính Nội dung giáo trình Chương BỘ XỬ LÝ TRUNG TÂM (Central Processing Unit - CPU) Chương Giới thiệu chung Chương Hệ thống máy tính Chương Số học máy tính Chương Bộ xử lý trung tâm Chương Bộ nhớ máy tính Chương Hệ thống vào-ra Chương Kiến trúc máy tính tiên tiến Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội 18 March 2007 Bài giảng Kiến trúc Máy tính NKK-HUT 18 March 2007 Bài giảng Kiến trúc Máy tính NKK-HUT 4.1 Cấu trúc CPU Nội dung chương Nhiệm vụ cấu trúc CPU 4.1 Cấu trúc CPU 4.2 Tập lệnh 4.3 Hoạt động CPU 4.4 Kiến trúc xử lý tiên tiến 4.5 Kiến trúc Intel Nhiệm vụ CPU: 18 March 2007 Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN 18 March 2007 Nhận lệnh (Fetch Instruction): CPU đọc lệnh từ nhớ Giải mã lệnh (Decode Instruction): xác định thao tác mà lệnh yêu cầu Nhận liệu (Fetch Data): nhận liệu từ nhớ cổng vào-ra Xử lý liệu (Process Data): thực phép toán số học hay phép toán logic với liệu Ghi liệu (Write Data): ghi liệu nhớ hay cổng vào-ra Bài giảng Kiến trúc Máy tính Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Sơ đồ cấu trúc CPU Các thành phần CPU 18 March 2007 Bài giảng Kiến trúc Máy tính NKK-HUT Đơ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) Đơn vị nối ghép bus (Bus Interface Unit BIU) Bus bên (Internal Bus) 18 March 2007 Bài giảng Kiến trúc Máy tính NKK-HUT Đơn vị số học logic Mơ hình kết nối ALU Chức năng: Thực phép toán số học phép toán logic: 18 March 2007 Số học: cộng, trừ, nhân, chia, tăng, giảm, đảo dấu Logic: AND, OR, XOR, NOT, phép dịch bit Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN 18 March 2007 Bài giảng Kiến trúc Máy tính Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Đơn vị điều khiển Mơ hình kết nối đơn vị điều khiển Chức 18 March 2007 Điều khiển nhận lệnh từ nhớ đưa vào ghi lệnh Tăng nội dung PC để trỏ sang lệnh Giải mã lệnh nhận để xác định thao tác mà lệnh yêu cầu Phát tín hiệu điều khiển thực lệnh Nhận tín hiệu yêu cầu từ bus hệ thống đáp ứng với yêu cầu Bài giảng Kiến trúc Máy tính NKK-HUT 18 March 2007 Bài giảng Kiến trúc Máy tính 10 NKK-HUT Các tín hiệu đưa đến đơn vị điều khiển Các tín hiệu phát từ đơn vị điều khiển Clock: tín hiệu nhịp từ mạch tạo dao động bên ngồi Mã lệnh từ ghi lệnh đưa đến để giải mã Các cờ từ ghi cờ cho biết trạng thái CPU Các tín hiệu yêu cầu từ bus điều khiển 18 March 2007 Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN Các tín hiệu điều khiển bên CPU: Các tín hiệu điều khiển bên CPU: 11 Điều khiển ghi Điều khiển ALU 18 March 2007 Điều khiển nhớ Điều khiển mô-đun vào-ra Bài giảng Kiến trúc Máy tính 12 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Đơn vị điều khiển vi chương trình Các phương pháp thiết kế đơn vị điều khiển Đơn vị điều khiển vi chương trình (Microprogrammed Control Unit) Đơn vị điều khiển nối kết cứng (Hardwired Control Unit) 18 March 2007 Bài giảng Kiến trúc Máy tính 13 NKK-HUT 18 March 2007 Bài giảng Kiến trúc Máy tính 14 NKK-HUT Đơn vị điều khiển vi chương trình (tiếp) Đơn vị điều khiển nối kết cứng Bộ nhớ vi chương trình (ROM) lưu trữ vi chương trình (microprogram) Một vi chương trình bao gồm vi lệnh (microinstruction) Mỗi vi lệnh mã hoá cho vi thao tác (microoperation) Để hoàn thành lệnh cần thực một vài vi chương trình Tốc độ chậm 18 March 2007 Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN 15 18 March 2007 Bài giảng Kiến trúc Máy tính 16 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Đơn vị điều khiển nối kết cứng (tiếp) 4.Tập ghi Chức đặc điểm: Sử dụng mạch 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 Chứa thông tin tạm thời phục vụ cho hoạt động thời điểm CPU Được coi mức hệ thống nhớ Số lượng ghi nhiều Æ tăng hiệu CPU Có hai loại ghi: 18 March 2007 Bài giảng Kiến trúc Máy tính 17 NKK-HUT 18 March 2007 Bài giảng Kiến trúc Máy tính 18 NKK-HUT Phân loại ghi theo chức Các ghi lập trình Các ghi khơng lập trình Một số ghi điển hình Thanh ghi địa chỉ: quản lý địa ngăn nhớ hay cổng vào-ra 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 18 March 2007 Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN 19 Các ghi địa Bộ đếm chương trình PC (Program Counter) Con trỏ liệu DP (Data Pointer) Con trỏ ngăn xếp SP (Stack Pointer) Thanh ghi sở ghi số (Base Register & Index Register) Các ghi liệu Thanh ghi trạng thái 18 March 2007 Bài giảng Kiến trúc Máy tính 20 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Bộ đếm chương trình PC Minh họa đếm chương trình Cịn gọi trỏ lệnh IP (Instruction Pointer) Giữ địa lệnh nhận vào Sau lệnh nhận vào, nội dung PC tự động tăng để trỏ sang lệnh 18 March 2007 Bài giảng Kiến trúc Máy tính 21 NKK-HUT 18 March 2007 Bài giảng Kiến trúc Máy tính 22 NKK-HUT Thanh ghi trỏ liệu Minh hoạ ghi trỏ liệu Chứa địa ngăn nhớ liệu mà CPU muốn truy nhập Thường có số ghi trỏ liệu 18 March 2007 Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN 23 18 March 2007 Bài giảng Kiến trúc Máy tính 24 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Ngăn xếp (Stack) Con trỏ ngăn xếp SP (Stack Pointer) Ngăn xếp vùng nhớ có cấu trúc LIFO (Last In - First Out) Ngăn xếp thường dùng để phục vụ cho chương trình Đáy ngăn xếp ngăn nhớ xác định Đỉnh ngăn xếp thông tin nằm vị trí ngăn xếp Đỉnh ngăn xếp bị thay đổi 18 March 2007 Bài giảng Kiến trúc Máy tính Chứa địa ngăn nhớ đỉnh ngăn xếp Khi cất thông tin vào ngăn xếp: Khi lấy thông tin khỏi ngăn xếp: 25 NKK-HUT Nội dung SP tự động giảm Thông tin cất vào ngăn nhớ trỏ SP Thông tin đọc từ ngăn nhớ trỏ SP Nội dung SP tự động tăng Khi ngăn xếp rỗng, SP trỏ vào đáy 18 March 2007 Bài giảng Kiến trúc Máy tính 26 NKK-HUT Minh họa trỏ ngăn xếp SP Thanh ghi sở ghi số 18 March 2007 Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN 27 Thanh ghi sở: chứa địa ngăn nhớ sở (địa sở) Thanh ghi số: chứa độ lệch địa ngăn nhớ mà CPU cần truy nhập so với ngăn nhớ sở (chỉ số) Địa ngăn nhớ cần truy nhập = địa sở + số 18 March 2007 Bài giảng Kiến trúc Máy tính 28 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Các ghi liệu Minh họa ghi sở ghi số 18 March 2007 Bài giảng Kiến trúc Máy tính 29 NKK-HUT Chứa liệu tạm thời kết trung gian Cần có nhiều ghi liệu Các ghi số nguyên: 8, 16, 32, 64 bit Các ghi số dấu phẩy động 18 March 2007 Bài giảng Kiến trúc Máy tính 30 NKK-HUT Thanh ghi trạng thái (Status Register) Ví dụ cờ phép tốn Cịn gọi ghi cờ (Flag Register) Chứa thông tin trạng thái CPU Các cờ phép toán: báo hiệu trạng thái kết phép toán Các cờ điều khiển: biểu thị trạng thái điều khiển CPU 18 March 2007 Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN 31 Cờ Zero (cờ rỗng): thiết lập lên kết phép toán Cờ Sign (cờ dấu): thiết lập lên kết phép toán nhỏ Cờ Carry (cờ nhớ): thiết lập lên phép tốn có nhớ ngồi bit cao Ỉ cờ báo tràn với số khơng dấu Cờ Overflow (cờ tràn): thiết lập lên cộng hai số nguyên dấu mà kết có dấu ngược lại Ỉ cờ báo tràn với số có dấu 18 March 2007 Bài giảng Kiến trúc Máy tính 32 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Ví dụ cờ điều khiển Tập ghi số xử lý Cờ Interrupt (Cờ cho phép ngắt): 18 March 2007 Nếu IF = Ỉ CPU trạng thái cho phép ngắt với tín hiệu yêu cầu ngắt từ bên ngồi gửi tới Nếu IF = Ỉ CPU trạng thái cấm ngắt với tín hiệu yêu cầu ngắt từ bên gửi tới Bài giảng Kiến trúc Máy tính 33 NKK-HUT 18 March 2007 Bài giảng Kiến trúc Máy tính 34 NKK-HUT 4.2 Tập lệnh Các thành phần lệnh máy Giới thiệu chung tập lệnh Mỗi xử lý có tập lệnh xác định Tập lệnh thường có hàng chục đến hàng trăm lệnh Mỗi lệnh chuỗi số nhị phân mà xử lý hiểu để thực thao tác xác định Các lệnh mơ tả ký hiệu gợi nhớ Ỉ lệnh hợp ngữ 18 March 2007 Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN Mã thao tác (operation code Ỉ opcode): mã hóa cho thao tác mà xử lý phải thực Địa toán hạng: nơi chứa toán hạng mà thao tác tác động 35 18 March 2007 Toán hạng nguồn: liệu vào thao tác Tốn hạng đích: liệu thao tác Bài giảng Kiến trúc Máy tính 36 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Số lượng địa toán hạng lệnh (1) Số lượng địa toán hạng lệnh (2) Ba địa toán hạng: Hai địa toán hạng: toán hạng nguồn, tốn hạng đích c=a+b Từ lệnh dài phải mã hoá địa cho ba toán hạng Được sử dụng xử lý tiên tiến 18 March 2007 Bài giảng Kiến trúc Máy tính 37 NKK-HUT 18 March 2007 Một tốn hạng vừa tốn hạng nguồn vừa tốn hạng đích; tốn hạng cịn lại tốn hạng nguồn a=a+b Giá trị cũ tốn hạng nguồn bị phải chứa kết Rút gọn độ dài từ lệnh Phổ biến Bài giảng Kiến trúc Máy tính 38 NKK-HUT Số lượng địa toán hạng lệnh (3) Số lượng địa toán hạng lệnh (4) Một địa toán hạng: địa toán hạng: Một toán hạng lệnh Một tốn hạng ngầm định Ỉ thường ghi (thanh chứa –accumulator) Được sử dụng máy hệ trước push a push b add pop c có nghĩa : c = a+b 18 March 2007 Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN Các tốn hạng ngầm định Sử dụng Stack Ví dụ: 39 18 March 2007 không thông dụng Bài giảng Kiến trúc Máy tính 40 10 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Lệnh rẽ nhánh khơng điều kiện Lệnh rẽ nhánh có điều kiện Chuyển tới thực lệnh vị trí có địa XXX: PC Å XXX Trong lệnh có kèm theo điều kiện Kiểm tra điều kiện lệnh: Nếu điều kiện Ỉ chuyển tới thực lệnh vị trí có địa XXX PC Å XXX 18 March 2007 Bài giảng Kiến trúc Máy tính 53 NKK-HUT Nếu điều kiện sai Ỉ chuyển sang thực lệnh_kế_tiếp Điều kiện thường kiểm tra thơng qua cờ Có nhiều lệnh rẽ nhánh có điều kiện 18 March 2007 Bài giảng Kiến trúc Máy tính 54 NKK-HUT Minh hoạ lệnh rẽ nhánh có điều kiện Lệnh CALL RETURN Lệnh gọi chương trình con: lệnh CALL Cất nội dung PC (chứa địa lệnh_kế_tiếp) Stack Nạp vào PC địa lệnh chương trình gọi Æ Bộ xử lý chuyển sang thực chương trình tương ứng Lệnh trở từ chương trình con: lệnh RETURN 18 March 2007 Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN 55 18 March 2007 Lấy địa lệnh_kế_tiếp cất Stack nạp trả lại cho PC Ỉ Bộ xử lý điều khiển quay trở thực tiếp lệnh nằm sau lệnh CALL Bài giảng Kiến trúc Máy tính 56 14 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Minh hoạ lệnh CALL RETURN 18 March 2007 Bài giảng Kiến trúc Máy tính Gọi thủ tục lồng 57 NKK-HUT 18 March 2007 Bài giảng Kiến trúc Máy tính 58 NKK-HUT Sử dụng Stack Các lệnh điều khiển hệ thống 18 March 2007 Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN 59 HALT WAIT Dừng thực chương trình Tạm dừng thực chương trình, lặp kiểm tra điều kiện thoả mãn tiếp tục thực NO OPERATION Khơng thực LOCK Cấm khơng cho xin chuyển nhượng bus UNLOCK Cho phép xin chuyển nhượng bus 18 March 2007 Bài giảng Kiến trúc Máy tính 60 15 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Các phương pháp định địa thông dụng Các phương pháp định địa (addressing modes) Khái niệm định địa (addressing) Tốn hạng lệnh là: Một giá trị cụ thể nằm lệnh Nội dung ghi Nội dung ngăn nhớ cổng vào-ra Phương pháp định địa cách thức địa hóa trường địa lệnh để xác định nơi chứa toán hạng 18 March 2007 Bài giảng Kiến trúc Máy tính 61 NKK-HUT Định địa tức Định địa ghi Định địa trực tiếp Định địa gián tiếp qua ghi Định địa gián tiếp Định địa dịch chuyển 18 March 2007 Bài giảng Kiến trúc Máy tính 62 NKK-HUT Định địa tức Sơ đồ định địa tức Tốn hạng nằm Trường địa lệnh Chỉ tốn hạng nguồn Ví dụ: ADD R1, ; R1Å R1+5 Không tham chiếu nhớ Truy nhập toán hạng nhanh Dải giá trị toán hạng bị hạn chế 18 March 2007 Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN 63 18 March 2007 Bài giảng Kiến trúc Máy tính 64 16 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Định địa ghi Sơ đồ định địa ghi Tốn hạng chứa ghi có tên Trường địa Ví dụ: ADD R1, R2 ; R1Å R1+R2 Số lượng ghi Ỉ Trường địa chỉ cần bit Khơng tham chiếu nhớ Truy nhập toán hạng nhanh Tăng số lượng ghi Æ hiệu 18 March 2007 Bài giảng Kiến trúc Máy tính 65 NKK-HUT 18 March 2007 Bài giảng Kiến trúc Máy tính 66 NKK-HUT Định địa trực tiếp Tốn hạng ngăn nhớ có địa trực tiếp Trường địa lệnh Ví dụ: ADD R1, A ;R1 Å R1 + (A) Sơ đồ định địa trực tiếp Cộng nội dung ghi R1 với nội dung ngăn nhớ có địa A Tìm toán hạng nhớ địa A CPU tham chiếu nhớ lần để truy nhập liệu 18 March 2007 Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN 67 18 March 2007 Bài giảng Kiến trúc Máy tính 68 17 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Định địa gián tiếp qua ghi Sơ đồ định địa gián tiếp qua ghi Tốn hạng ngăn nhớ có địa nằm ghi Trường địa cho biết tên ghi Thanh ghi ngầm định Thanh ghi gọi ghi trỏ Vùng nhớ tham chiếu lớn (2n), (với n độ dài ghi) 18 March 2007 Bài giảng Kiến trúc Máy tính 69 NKK-HUT 18 March 2007 Bài giảng Kiến trúc Máy tính 70 NKK-HUT Định địa gián tiếp qua ngăn nhớ Sơ đồ định địa gián tiếp qua ngăn nhớ Ngăn nhớ trỏ Trường địa lệnh chứa địa tốn hạng Có thể gián tiếp nhiều lần Giống khái niệm biến trỏ biến động lập trình CPU phải thực tham chiếu nhớ nhiều lần để tìm tốn hạng Ỉ chậm Vùng nhớ tham chiếu lớn 18 March 2007 Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN 71 18 March 2007 Bài giảng Kiến trúc Máy tính 72 18 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Định địa dịch chuyển Để xác định toán hạng, Trường địa chứa hai thành phần: Sơ đồ định địa dịch chuyển Tên ghi Hằng số Địa toán hạng = nội dung ghi + số Thanh ghi ngầm định 18 March 2007 Bài giảng Kiến trúc Máy tính 73 NKK-HUT 18 March 2007 Bài giảng Kiến trúc Máy tính 74 NKK-HUT Các dạng định địa dịch chuyển Địa hoá tương PC Chu trình lệnh Thanh ghi Bộ đếm chương trình PC Tốn hạng có địa cách ngăn nhớ trỏ PC độ lệch xác định Định địa sở 4.3 Hoạt động CPU Thanh ghi chứa địa sở Hằng số số Định địa chỉ số 18 March 2007 Hằng số địa sở Thanh ghi chứa số Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN 75 Nhận lệnh Giải mã lệnh Nhận toán hạng Thực lệnh Cất toán hạng Ngắt 18 March 2007 Bài giảng Kiến trúc Máy tính 76 19 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Giản đồ trạng thái chu trình lệnh Nhận lệnh 18 March 2007 Bài giảng Kiến trúc Máy tính 77 NKK-HUT CPU đưa địa lệnh cần nhận từ đếm chương trình PC bus địa CPU phát tín hiệu điều khiển đọc nhớ Lệnh từ nhớ đặt lên bus liệu CPU copy vào ghi lệnh IR CPU tăng nội dung PC để trỏ sang lệnh 18 March 2007 Bài giảng Kiến trúc Máy tính 78 NKK-HUT Sơ đồ mơ tả trình nhận lệnh Giải mã lệnh 18 March 2007 Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN 79 Lệnh từ ghi lệnh IR đưa đến đơn vị điều khiển Đơn vị điều khiển tiến hành giải mã lệnh để xác định thao tác phải thực Giải mã lệnh xảy bên CPU 18 March 2007 Bài giảng Kiến trúc Máy tính 80 20 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Nhận liệu Nhận liệu gián tiếp CPU đưa địa tốn hạng bus địa CPU phát tín hiệu điều khiển đọc Toán hạng đọc vào CPU Tương tự nhận lệnh 18 March 2007 Bài giảng Kiến trúc Máy tính CPU đưa địa bus địa CPU phát tín hiệu điều khiển đọc 81 NKK-HUT Nội dung ngăn nhớ đọc vào CPU, địa toán hạng Địa CPU phát bus địa để tìm tốn hạng CPU phát tín hiệu điều khiển đọc Tốn hạng đọc vào CPU 18 March 2007 Bài giảng Kiến trúc Máy tính 82 NKK-HUT Sơ đồ tả nhận tốn hạng gián tiếp Thực lệnh Có nhiều dạng tuỳ thuộc vào lệnh Có thể là: 18 March 2007 Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN 83 18 March 2007 Đọc/Ghi nhớ Vào/Ra Chuyển ghi Thao tác số học/logic Chuyển điều khiển (rẽ nhánh) Bài giảng Kiến trúc Máy tính 84 21 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Ghi toán hạng CPU đưa địa bus địa CPU đưa liệu cần ghi bus liệu CPU phát tín hiệu điều khiển ghi Sơ đồ mơ tả q trình ghi tốn hạng Dữ liệu bus liệu copy đến vị trí xác định 18 March 2007 Bài giảng Kiến trúc Máy tính 85 NKK-HUT 18 March 2007 Bài giảng Kiến trúc Máy tính 86 NKK-HUT Ngắt Sơ đồ mơ tả chu trình ngắt Nội dung đếm chương trình PC (địa trở sau ngắt) đưa bus liệu CPU đưa địa (thường lấy từ trỏ ngăn xếp SP) bus địa CPU phát tín hiệu điều khiển ghi nhớ Địa trở bus liệu ghi vị trí xác định (ở ngăn xếp) Địa lệnh chương trình điều khiển ngắt nạp vào PC 18 March 2007 Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN 87 18 March 2007 Bài giảng Kiến trúc Máy tính 88 22 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Đường ống lệnh (Instruction Pipelining) Biểu đồ thời gian đường ống lệnh Chia chu trình lệnh thành cơng đoạn cho phép thực gối lên (như dây chuyền lắp ráp) Chẳng hạn có cơng đoạn: Nhận lệnh (Fetch Instruction - FI) Giải mã lệnh (Decode Instruction - DI) Tính địa tốn hạng (Calculate Operand Address-CO) Nhận toán hạng (Fetch Operands - FO) Thực lệnh (Execute Instruction - EI) Ghi toán hạng (Write Operands - WO) 18 March 2007 Bài giảng Kiến trúc Máy tính 89 NKK-HUT 18 March 2007 Bài giảng Kiến trúc Máy tính 90 NKK-HUT Các Hazard đường ống lệnh 4.4 Các kỹ thuật tiên tiến xử lý Hazard cấu trúc: nhiều công đoạn dùng chung tài nguyên Hazard liệu: lệnh sau sử dụng liệu kết lệnh trước Cấu trúc chung xử lý tiên tiến Các kiến trúc song song mức lệnh Kiến trúc RISC Hazard điều khiển: rẽ nhánh gây 18 March 2007 Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN 91 18 March 2007 Bài giảng Kiến trúc Máy tính 92 23 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Các đơn vị xử lý liệu Cấu trúc chung xử lý tiên tiến Các đơn vị số nguyên Các đơn vị số dấu phẩy động Các đơn vị chức đặc biệt 18 March 2007 Bài giảng Kiến trúc Máy tính 93 NKK-HUT 18 March 2007 Đơn vị xử lý liệu âm Đơn vị xử lý liệu hình ảnh Đơn vị xử lý liệu vector Bài giảng Kiến trúc Máy tính 94 NKK-HUT Bộ nhớ cache Được tích hợp chip vi xử lý Bao gồm hai mức cache: Đơn vị quản lý nhớ Cache L1 gồm hai phần tách rời: Cache lệnh Cache liệu Chuyển đổi địa ảo thành địa vật lý Cung cấp chế phân trang/phân đoạn Cung cấp chế độ bảo vệ nhớ Ỉ giải xung đột nhận lệnh liệu 18 March 2007 Cache L2: chung cho lệnh liệu Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN 95 18 March 2007 Bài giảng Kiến trúc Máy tính 96 24 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT Các kiến trúc song song mức lệnh Superpipeline Siêu đường ống (Superpipeline & Hyperpipeline) Siêu vô hướng (Superscalar) VLIW (Very Long Instruction Word) 18 March 2007 Bài giảng Kiến trúc Máy tính 97 NKK-HUT 18 March 2007 Bài giảng Kiến trúc Máy tính 98 NKK-HUT Superscalar 18 March 2007 VLIW (Very Long Instruction Word) Bài giảng Kiến trúc Máy tính Nguyễn Kim Khánh - ĐHBKHN 99 18 March 2007 Bài giảng Kiến trúc Máy tính 100 25 Bài giảng Kiến trúc máy tính 18 March 2007 NKK-HUT NKK-HUT RISC Các đặc trưng RISC CISC RISC CISCỈComplex Instruction Set Computer: Máy tính với tập lệnh phức tạp Các xử lý truyền thống: x86, 680x0 RISCỈReduced Instruction Set Computer: Máy tính với tập lệnh thu gọn SunSPARC, Power PC, RISC đối nghịch với CISC 18 March 2007 Bài giảng Kiến trúc Máy tính 101 NKK-HUT Số lượng lệnh Hầu hết lệnh truy nhập tốn hạng ghi Truy nhập nhớ lệnh LOAD/STORE Thời gian thực lệnh chu kỳ máy Các lệnh có độ dài cố định (32 bit) 18 March 2007 Bài giảng Kiến trúc Máy tính 102 NKK-HUT Các đặc trưng RISC (tiếp) Cửa sổ ghi Số lượng khn dạng lệnh (