1. Trang chủ
  2. » Giáo án - Bài giảng

Bài giảng Hệ thống máy tính: Chương 4 - Nguyễn Kim Khánh

28 19 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

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 522,72 KB

Nội dung

Bài giảng Hệ thống máy tính: Chương 4 - Nguyễn Kim Khánh giới thiệu đến các bạn các kiến thức về cấu trúc cơ bản của CPU, tập lệnh, hoạt động của CPU, kỹ thuật đường ống lệnh, các kiến trúc song song mức lệnh, một số kiến trúc thông dụng. Để nắm vững hơn nội dung kiến thức bài giảng mời các bạn cùng tham khảo tài liệu.

Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT Hệ thống máy tính Nội dung học phần „ Chương KIẾN TRÚC BỘ XỬ LÝ „ „ „ „ Chương Giới thiệu chung Chương Kiến trúc nhớ Chương Kiến trúc vào-ra Chương Kiến trúc xử lý 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 September 2009 NKK-HUT September 2009 NKK-HUT 4.1 Cấu trúc CPU Nội dung 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 Kỹ thuật đường ống lệnh 4.5 Các kiến trúc song song mức lệnh 4.6 Một số kiến trúc thông dụng „ Nhiệm vụ CPU: „ „ „ „ „ September 2009 Nguyễn Kim Khánh - ĐHBKHN 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 September 2009 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT Sơ đồ cấu trúc CPU Các thành phần CPU „ „ „ „ „ September 2009 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) September 2009 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: „ „ 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 September 2009 Nguyễn Kim Khánh - ĐHBKHN September 2009 Bài giảng Hệ thống máy tính 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 „ „ „ „ „ Đ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 September 2009 NKK-HUT September 2009 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 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 September 2009 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 September 2009 Điều khiển nhớ Điều khiển mô-đun vào-ra 12 Bài giảng Hệ thống máy tính 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) September 2009 13 NKK-HUT September 2009 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 September 2009 Nguyễn Kim Khánh - ĐHBKHN 15 September 2009 16 Bài giảng Hệ thống máy tính 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: „ „ September 2009 17 NKK-HUT September 2009 „ „ „ „ 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 September 2009 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 September 2009 20 Bài giảng Hệ thống máy tính 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 September 2009 21 NKK-HUT September 2009 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 September 2009 Nguyễn Kim Khánh - ĐHBKHN 23 September 2009 24 Bài giảng Hệ thống máy tính 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 September 2009 „ 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 September 2009 26 NKK-HUT Minh họa trỏ ngăn xếp SP Thanh ghi sở ghi số „ „ „ September 2009 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ố September 2009 28 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT Các ghi liệu Minh họa ghi sở ghi số „ „ „ „ September 2009 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 September 2009 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 „ „ September 2009 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 September 2009 32 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT Ví dụ cờ điều khiển 4.2 Tập lệnh Giới thiệu chung tập lệnh „ Cờ Interrupt (Cờ cho phép ngắt): „ „ „ 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 gửi tới Nếu IF = Ỉ CPU trạng thái cấm ngắt với tín hiệu u cầu ngắt từ bên ngồi gửi tới „ „ „ September 2009 33 NKK-HUT 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ữ September 2009 34 NKK-HUT Các thành phần lệnh máy Số lượng địa toán hạng lệnh (1) „ Ba địa toán hạng: „ „ „ „ 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 „ „ „ „ tốn hạng nguồn, tốn hạng đích c=a+b Từ lệnh dài phải mã hố địa cho ba toán hạng Được sử dụng xử lý tiên tiến Toán hạng nguồn: liệu vào thao tác Tốn hạng đích: liệu thao tác September 2009 Nguyễn Kim Khánh - ĐHBKHN 35 September 2009 36 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT Số lượng địa tốn hạng lệnh (2) „ Số lượng địa toán hạng lệnh (3) Hai địa toán hạng: „ „ „ „ „ „ Một toán hạng vừa toán hạng nguồn vừa tốn hạng đích; tốn hạng cịn lại toá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 September 2009 Một địa toán hạng: „ „ „ 37 NKK-HUT 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 September 2009 38 NKK-HUT Số lượng địa toán hạng lệnh (4) „ Đánh giá số địa toán hạng „ địa toán hạng: „ „ „ „ Các toán hạng ngầm định Sử dụng Stack Ví dụ: „ „ push a push b add pop c có nghĩa : c = a+b „ Nhiều địa toán hạng „ „ Ít địa tốn hạng „ „ „ không thông dụng „ September 2009 Nguyễn Kim Khánh - ĐHBKHN 39 Các lệnh phức tạp Cần nhiều ghi Chương trình có lệnh Nhận lệnh thực lệnh chậm September 2009 Các lệnh đơn giản Cần ghi Chương trình có nhiều lệnh Nhận lệnh thực lệnh nhanh 40 10 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT Các lệnh vào chuyên dụng „ „ INPUT Các lệnh chuyển điều khiển Copy liệu từ cổng xác định đưa đến đích „ JUMP (BRANCH) Lệnh nhảy không điều kiện: „ JUMP CONDITIONAL Lệnh nhảy có điều kiện: nạp vào PC địa xác định „ điều kiện Ỉ nạp vào PC địa xác định điều kiện sai Ỉ khơng làm „ OUTPUT Copy liệu từ nguồn đến cổng xác định „ „ CALL Lệnh gọi chương trình con: Cất nội dung PC (địa trở về) vị trí xác định (thường Stack) Nạp vào PC địa lệnh chương trình „ „ „ RETURN Lệnh trở từ chương trình con: Khơi phục địa trở trả lại cho PC để trở chương trình „ September 2009 53 NKK-HUT September 2009 NKK-HUT Lệnh rẽ nhánh không điều kiện Lệnh rẽ nhánh có điều kiện „ „ 54 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 „ „ „ September 2009 Nguyễn Kim Khánh - ĐHBKHN 55 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 September 2009 56 14 Bài giảng Hệ thống máy tính NKK-HUT 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 „ September 2009 57 NKK-HUT 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 September 2009 58 NKK-HUT Minh hoạ lệnh CALL RETURN September 2009 Nguyễn Kim Khánh - ĐHBKHN Gọi thủ tục lồng 59 September 2009 60 15 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT Sử dụng Stack Các lệnh điều khiển hệ thống „ „ „ „ „ September 2009 61 NKK-HUT 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 September 2009 62 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) „ Toá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 September 2009 Nguyễn Kim Khánh - ĐHBKHN „ 63 Đị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 September 2009 64 16 Bài giảng Hệ thống máy tính NKK-HUT 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ế September 2009 65 NKK-HUT September 2009 66 NKK-HUT Sơ đồ định địa ghi Định địa ghi „ „ „ „ „ „ Toá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 tốn hạng nhanh Tăng số lượng ghi Ỉ hiệu September 2009 Nguyễn Kim Khánh - ĐHBKHN 67 September 2009 68 17 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT Định địa trực tiếp „ „ Toá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 tốn hạng nhớ địa A CPU tham chiếu nhớ lần để truy nhập liệu September 2009 69 NKK-HUT September 2009 70 NKK-HUT Định địa gián tiếp qua ghi „ „ „ „ „ Sơ đồ định địa gián tiếp qua ghi Toá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) September 2009 Nguyễn Kim Khánh - ĐHBKHN 71 September 2009 72 18 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT Sơ đồ định địa gián tiếp qua ngăn nhớ Đị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 September 2009 73 NKK-HUT September 2009 74 NKK-HUT Sơ đồ định địa dịch chuyển Định địa dịch chuyển „ Để xác định toán hạng, Trường địa chứa hai thành phần: „ „ „ „ Tên ghi Hằng số Địa toán hạng = nội dung ghi + số Thanh ghi ngầm định September 2009 Nguyễn Kim Khánh - ĐHBKHN 75 September 2009 76 19 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT 4.3 Hoạt động CPU Các dạng định địa dịch chuyển „ Địa hoá tương PC „ „ „ „ „ Định địa sở „ „ „ 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 „ Thanh ghi chứa địa sở Hằng số số „ „ Định địa chỉ số „ „ „ Hằng số địa sở Thanh ghi chứa số September 2009 77 NKK-HUT 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 September 2009 78 NKK-HUT Giản đồ trạng thái chu trình lệnh Nhận lệnh „ „ „ „ September 2009 Nguyễn Kim Khánh - ĐHBKHN 79 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 September 2009 80 20 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT Sơ đồ mơ tả q trình nhận lệnh Giải mã lệnh „ „ „ September 2009 81 NKK-HUT 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 September 2009 82 NKK-HUT Nhận liệu „ Nhận liệu gián tiếp CPU đưa địa toá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 September 2009 Nguyễn Kim Khánh - ĐHBKHN „ CPU đưa địa bus địa „ CPU phát tín hiệu điều khiển đọc „ „ 83 Nội dung ngăn nhớ đọc vào CPU, địa tố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 „ Toán hạng đọc vào CPU September 2009 84 21 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT Sơ đồ tả nhận toá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à: „ „ „ „ „ „ September 2009 85 NKK-HUT Đọ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) September 2009 86 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 September 2009 Nguyễn Kim Khánh - ĐHBKHN 87 September 2009 88 22 Bài giảng Hệ thống máy tính NKK-HUT 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 September 2009 89 NKK-HUT „ 90 NKK-HUT 4.4 Kỹ thuật đường ống lệnh „ September 2009 Giản đồ thời gian cho đường ống lệnh Khái niệm: Đường ống lệnh (Instruction Pipelining) kỹ thuật 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 toá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) September 2009 Nguyễn Kim Khánh - ĐHBKHN 91 September 2009 92 23 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT Các Hazard đường ống lệnh Hazard cấu trúc „ „ Hazard cấu trúc „ Hazard liệu „ Hazard điều khiển „ 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ụ: „ Bus liệu: truyền lệnh liệu Ỉ Bus lệnh riêng, bus liệu riêng (cache lệnh cache liệu) „ September 2009 93 NKK-HUT September 2009 94 NKK-HUT Ví dụ Hazard cấu trúc conflict on arithmetic unit MULT A,B,C MULT D,E,F cache miss Hazard liệu clocks necessary for multiplication I D F E E E W „ „ I D F F F E E E W Nguyên nhân: lệnh sau sử dụng liệu kết lệnh trước Các dạng: „ „ stall „ RAW (Read After Write) WAR (Write After Read) WAW (Write After Write) TLB miss September 2009 Nguyễn Kim Khánh - ĐHBKHN 95 September 2009 96 24 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT Sự phụ thuộc liệu WAR and WAW Read B RAW WAR WAW ADD A,B,C Write-A must be earlier than ADD E,A,D Read-A ADD A,B,C Read-B must be earlier than ADD B,D,E Write-B ADD A,B,C First Write-A must be earlier ADD A,D,E WAR ADD A,B,C I D F E W ADD B,D,E I D F E W Write B Read-B is earlier than Write-B Write A WAW ADD A,B,C ADD A,D,E I D F E W I D F E W first Write-A is earlier than second Write-A Than second Write-A Write A no conflict at in-order pipeline conflict at out-of-order pipeline September 2009 97 NKK-HUT September 2009 98 NKK-HUT RAW Hazard điều khiển Write A Wait for branch ADD A,B,C ADD E,A,D I D F E W set PC calculation I D F E C BEQ A, B, Label I D F E C LOAD C, X Read A Write-A must be earlier Than Read-A address I D F E C ・・・・ Write A Label: LOAD C, Y I D F E W stall I D D D F E W next instruction to a branch instruction cannot be fetched until branch condition Read A defined and PC updated stall September 2009 Nguyễn Kim Khánh - ĐHBKHN 99 September 2009 100 25 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT 4.5 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) September 2009 101 NKK-HUT September 2009 102 NKK-HUT Superscalar September 2009 Nguyễn Kim Khánh - ĐHBKHN VLIW (Very Long Instruction Word) 103 September 2009 104 26 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT 4.6 Một số kiến trúc thông dụng Kiến trúc Intel „ Kiến trúc 4-bit: „ Kiến trúc 8-bit: „ Kiến trúc 16-bit: „ Kiến trúc 32-bit: „ Kiến trúc 64-bit: Kiến trúc 16-bit (IA-16) 4004 8008,8080,8085 8086/8088,80186,80286 80386, 80486, Pentium,Pentium II, Celeron, Pentium III, Pentium 4, Core Itanium, Core September 2009 „ „ „ „ 105 NKK-HUT September 2009 „ „ Kiến trúc 64-bit (IA-64) Các ghi bên trong: 32-bit Xử lý phép toán số nguyên với 32-bit Có ba chế độ làm việc: „ „ „ „ „ Chế độ 8086 thực (Real 8086 mode): làm việc xử lý 8086 Chế độ 8086 ảo (Virtual 8086 mode): làm việc nhiều xử lý 8086 (đa nhiệm 16-bit) Chế độ bảo vệ (Protected mode) „ „ „ 106 NKK-HUT Kiến trúc 32-bit (IA-32) „ Các ghi bên trong: 16-bit Xử lý phép toán số nguyên với 16-bit Quản lý nhớ theo đoạn 64KBytes Mở đầu cho dịng máy tính IBM-PC đa nhiệm 32-bit quản lý nhớ ảo „ „ „ Các ghi bên trong: 64-bit Xử lý phép toán số nguyên với 64-bit Xử lý phép tốn số dấu phẩy động Khơng tương thích phần cứng với xử lý trước Tương thích phần mềm cách giả lập môi trường Xử lý phép toán số dấu phẩy động (từ 80486) September 2009 Nguyễn Kim Khánh - ĐHBKHN 107 September 2009 108 27 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT Một số kiến trúc khác „ „ „ „ „ Kiến trúc MIPS (đã học) Kiến trúc ARM Kiến trúc Sun SPARC Kiến trúc PowerPC … September 2009 Nguyễn Kim Khánh - ĐHBKHN Hết chương 109 September 2009 110 28 ... NKK-HUT September 2009 102 NKK-HUT Superscalar September 2009 Nguyễn Kim Khánh - ĐHBKHN VLIW (Very Long Instruction Word) 103 September 2009 1 04 26 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT 4. 6... miss September 2009 Nguyễn Kim Khánh - ĐHBKHN 95 September 2009 96 24 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT Sự phụ thuộc liệu WAR and WAW Read B RAW WAR WAW ADD A,B,C Write-A must be earlier... một vài vi chương trình Tốc độ chậm September 2009 Nguyễn Kim Khánh - ĐHBKHN 15 September 2009 16 Bài giảng Hệ thống máy tính NKK-HUT NKK-HUT Đơn vị điều khiển nối kết cứng (tiếp) 4. Tập ghi „

Ngày đăng: 08/05/2021, 15:32

TỪ KHÓA LIÊN QUAN