Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
707,48 KB
Nội dung
TS Lê Hữu Bình lhbinh@husc.edu.vn; lhbinh@hueic.edu.vn Huế, 9/2021 KIẾN TRÚC MÁY TÍNH KIẾN TRÚC MÁY TÍNH Tài liệu tham khảo David A Patterson, John L Hennessy Computer Organization and Design, Revised 4th edition, 2012 William Stallings, Computer Organization and Architecture, 9th edition, 2013 Nguyễn Kim Khánh, Bài giảng kiến trúc máy tính, Viện Cơng nghệ Thông tin Truyền thông, Trường Đại học Bách khoa Hà Nội, Version: CA-2017 Chương Tổ chức xử lý trung tâm 3.1 Cấu trúc xử lý trung tâm (CPU) ❖ Nhiệm vụ CPU thực lệnh chương trinh, bao gồm: ➢ Nhận lệnh (Fetch Instruction): CPU nhận 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ớ hay cổng vào ➢ Xử lý liệu (Process Data): thực phép toán số học logic liệu ➢ Ghi liệu (Write Data): Ghi liệu nhớ hay cổng vào Chương Tổ chức xử lý trung tâm 3.1 Cấu trúc xử lý trung tâm (CPU) ❖ Đơ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 định sẵn ❖ Đơn vị số học logic (Arithmetic and Logic Unit - ALU): thực phép toán số học phép toán logic ❖ Tập ghi (Register File - RF): lưu giữ 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) Chương Tổ chức xử lý trung tâm 3.1 Cấu trúc xử lý trung tâm (CPU) ❖ Đơn vị số học logic (ALU): ➢ Thực phép toán số học phép toan 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,… Chương Tổ chức xử lý trung tâm 3.1 Cấu trúc xử lý trung tâm (CPU) ❖ Đơn vị điều khiển (CU): ➢ Đ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 Chương Tổ chức xử lý trung tâm 3.1 Cấu trúc xử lý trung tâm (CPU) ❖ Đơn vị điều khiển (CU): ➢ ➢ Các tín hiệu đưa đến đơn vị điều khiển: ✓ Clock: tín hiệu xung 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 Các tín hiệu phát từ đơn vị điều khiển: ✓ Các tín hiệu điều khiển bên CPU: • Điều khiển ghi • Điều khiển ALU ➢ Các tín hiệu điều khiển bên ngồi CPU: ✓ Điều khiển nhớ ✓ Điều khiển mô-đun nhập xuất Chương Tổ chức xử lý trung tâm 3.1 Cấu trúc xử lý trung tâm (CPU) ❖ Tập ghi: ➢ Thực chất vùng nhớ CPU nhận biết qua tên ghi có tốc độ truy xuất cực nhanh ➢ Chứa thông tin tạm thời phục vụ cho hoạt động thời điểm CPU ➢ Số lượng ghi tuỳ thuộc vào vi xử lý cụ thể → tăng hiệu CPU ➢ Thanh ghi chia loại: ✓ Thanh ghi lập trình ✓ Thanh gih khơng lập trình Chương Tổ chức xử lý trung tâm 3.1 Cấu trúc xử lý trung tâm (CPU) ❖ Tập ghi: ➢ Phân loại ghi theo chức năng: ✓ Thanh ghi địa chỉ: Thanh ghi sử dụng để quản lý địa ngăn nhớ hay cổng vào ✓ Thanh ghi liệu: Thanh ghi dùng để lưu trữ liệu tạm thời ✓ Thanh ghi đa năng: Thanh ghi chứa liệu địa ✓ Thanh ghi điều khiển/trạng thái: Thanh ghi chứa thông tin trạng thái CPU ✓ Thanh ghi lệnh: ghi chứa lệnh thực 10 Chương Tổ chức xử lý trung tâm 3.2 Tập lệnh phương pháp định địa ❖ Các lệnh chuyển liệu: ➢ MOVE Copy liệu từ nguồn đến đích ➢ LOAD Nạp liệu từ nhớ đến xử lý ➢ STORE Cất liệu từ xử lý đến nhớ ➢ EXCHANGE Trao đổi nội dung nguồn đích ➢ CLEAR Chuyển bit vào tốn hạng đích ➢ SET Chuyển bit vào tốn hạng đích ➢ PUSH Cất nội dung tốn hạng nguồn vào ngăn xếp ➢ POP Lấy nội dung đỉnh ngăn xếp đưa đến tốn hạng đích 22 Chương Tổ chức xử lý trung tâm 3.2 Tập lệnh phương pháp định địa ❖ Các lệnh số học: ➢ ADD Cộng hai toán hạng ➢ SUBTRACT Trừ hai toán hạng ➢ MULTIPLY Nhân hai toán hạng ➢ DIVIDE Chia hai toán hạng ➢ ABSOLUTE Lấy trị tuyệt đối toán hạng ➢ NEGATE Đổi dấu toán hạng (lấy bù 2) ➢ INCREMENT Tăng toán hạng thêm ➢ DECREMENT Giảm toán hạng ➢ COMPARE Trừ hai toán hạng để lập cờ 23 Chương Tổ chức xử lý trung tâm 3.2 Tập lệnh phương pháp định địa ❖ Các lệnh logic: ➢ AND Thực phép AND hai toán hạng ➢ OR Thực phép OR hai toán hạng ➢ XOR Thực phép XOR hai toán hạng ➢ NOT Đảo bit toán hạng (lấy bù 1) ➢ TEST Thực phép AND hai toán hạng để lập cờ 24 Chương Tổ chức xử lý trung tâm 3.2 Tập lệnh phương pháp định địa ❖ Các lệnh logic - Ví dụ minh họa: ➢ Giả sử có hai ghi chứa liệu sau: (R1) = 1010 1010 (R2) = 0000 1111 R1 (R1) AND (R2) = 0000 1010 ➢ Phép toán AND dùng để xoá số bit giữ nguyên số bit cịn lại tốn hạng R1 (R1) OR (R2) = 1010 1111 ➢ Phép toán OR dùng để thiết lập số bit giữ nguyên số bit cịn lại tốn hạng R1 (R1) XOR (R2) = 1010 0101 ➢ Phép toán XOR dùng để đảo số bit giữ nguyên số bit lại toán hạng 25 Chương Tổ chức xử lý trung tâm 3.2 Tập lệnh phương pháp định địa ❖ Các lệnh logic (tt): ➢ SHIFT Dịch trái (phải) toán hạng ➢ ROTATE Quay trái (phải) toán hạng 26 Chương Tổ chức xử lý trung tâm 3.2 Tập lệnh phương pháp định địa ❖ Các lệnh logic vào chuyên dụng: ➢ INPUT Copy liệu từ cổng xác định đưa đến đích ➢ OUTPUT Copy liệu từ nguồn đến cổng xác định 27 Chương Tổ chức xử lý trung tâm 3.2 Tập lệnh phương pháp định địa ❖ Các lệnh chuyển điều khiển: ➢ JUMP (BRANCH) Lệnh nhảy không điều kiện: ✓ ➢ ➢ ➢ Nạp vào PC địa xác định JUMP CONDITIONAL Lệnh nhảy có điều kiện: ✓ điều kiện → nạp vào PC địa xác định ✓ điều kiện sai → khơng làm 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 trinh 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 28 Chương Tổ chức xử lý trung tâm 3.2 Tập lệnh phương pháp định địa ❖ Lệnh rẽ nhánh không điều kiện: 29 Chương Tổ chức xử lý trung tâm 3.2 Tập lệnh phương pháp định địa ❖ Lệnh rẽ nhánh có điều kiện: ➢ 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 ✓ 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 30 Chương Tổ chức xử lý trung tâm 3.2 Tập lệnh phương pháp định địa ❖ Lệnh CALL RETURN ➢ Lệnh gọi chương trì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 - RETURN: ✓ 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 31 Chương Tổ chức xử lý trung tâm 3.2 Tập lệnh phương pháp định địa ❖ Các lệnh điều khiển hệ thống ➢ HALT: Dừng thực chương trinh ➢ WAIT: 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 32 Chương Tổ chức xử lý trung tâm 3.3 Các phương pháp định địa ❖ 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 33 Chương Tổ chức xử lý trung tâm 3.3 Các phương pháp định địa ❖ Các phương pháp định địa thông dụng: ➢ Đị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 34 Chương Tổ chức xử lý trung tâm 3.3 Các phương pháp định địa ❖ Định địa tức thì: ➢ 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ế 35 Chương Tổ chức xử lý trung tâm 3.3 Các phương pháp định địa ❖ Đị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 36