Bài giảng Kiến trúc máy tính - Chương 4: Bộ xử lý (the processor)
lượt xem 15
download
Bài giảng "Kiến trúc máy tính - Chương 4: Bộ xử lý (the processor)" cung cấp cho người đọc các kiến thức phần xây dựng đường dữ liệu (Datapath) bao gồm: Giới thiệu, nhắc lại các quy ước thiết kế logic, xây dựng đường dữ liệu (datapath) đơn giản, hiện thực datapath đơn chu kỳ. Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Kiến trúc máy tính - Chương 4: Bộ xử lý (the processor)
- CE KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 BỘ XỬ LÝ (THE PROCESSOR) 1
- CE KIẾN TRÚC MÁY TÍNH CHƯƠNG 4 BỘ XỬ LÝ (THE PROCESSOR) Phần 1. Xây dựng đường dữ liệu (Datapath) Phần 2. Kỹ thuật ống dẫn (Pipeline) 2
- CE BỘ XỬ LÝ Nội dung phần 1 1. Giới thiệu 2. Nhắc lại các quy ước thiết kế logic 3. Xây dựng đường dữ liệu (datapath) đơn giản 4. Hiện thực datapath đơn chu kỳ 3
- CE BỘ XỬ LÝ Nội dung 1. Giới thiệu 2. Nhắc lại các quy ước thiết kế logic 3. Xây dựng đường dữ liệu (datapath) đơn giản 4. Hiện thực datapath đơn chu kỳ 4
- CE Giới thiệu Hiệu suất của một máy tính được xác định bởi ba yếu tố: – Tổng số câu lệnh Được xác định bởi trình biên dịch và kiến trúc tập lệnh – Chu kỳ xung clock Được xác định bởi quá – Số chu kỳ xung clock trên một lệnh trình hiện thực bộ xử lý (Clock cycles per instruction − CPI) Mục đích chính của chương này: - Giải thích quy tắc hoạt động và hướng dẫn xây dựng datapath cho một bộ xử lý chứa một số lệnh đơn giản (giống kiến trúc tập lệnh dạng MIPS), gồm hai ý chính: • Thiết kế datapath • Hiện thực datapath đã thiết kế MIPS (bắt nguồn từ chữ viết tắt của ‘Microprocessor without Interlocked Pipeline Stages’) là một kiến trúc tập tập lệnh dạng RISC, được phát triển bởi MIPS Technologies (trước đây là MIPS Computer Systems, Inc.) 5
- CE Giới thiệu Chương này chỉ xem xét 8 lệnh trong 3 nhóm chính của tập lệnh MIPS: Nhóm lệnh tham khảo bộ nhớ (lw và sw) Nhóm lệnh liên quan đến logic và số học (add, sub, AND, OR, và slt) Nhóm lệnh nhảy (Lệnh nhảy với điều kiện bằng beq) 6
- CE Giới thiệu Tổng quan các lệnh cần xem xét: Nhóm lệnh tham khảo bộ nhớ: Nạp lệnh Đọc một/hai thanh ghi Sử dụng ALU Truy xuất bộ nhớ để đọc/ghi dữ liệu Nhóm lệnh logic và số học: Nạp lệnh Đọc một/hai thanh ghi Sử dụng ALU Ghi dữ liệu vào thanh ghi Nhóm lệnh nhảy: Nạp lệnh Đọc một/hai thanh ghi Sử dụng ALU Chuyển đến địa chỉ lệnh tiếp theo dựa trên kết quả so sánh 7
- CE Giới thiệu Hình ảnh datapath của một bộ xử lý với 8 lệnh MIPS: add, sub, AND, OR, slt, lw, sw và beq 8
- CE BỘ XỬ LÝ Nội dung 1. Giới thiệu 2. Nhắc lại các quy ước thiết kế logic 3. Xây dựng đường dữ liệu (datapath) đơn giản 4. Hiện thực datapath đơn chu kỳ 9
- CE Quy ước thiết kế Phần này nhắc lại các khái niệm: Mạch tổ hợp (Combinational): ALU Mạch tuần tự (Sequential): instruction/data memories và thanh ghi Tín hiệu điều khiển (Control signal) Tín hiệu dữ liệu (Data signal) Asserted (assert): Khi tín hiệu ở mức cao hoặc ‘true’ Deasserted (deassert): Khi tín hiệu ở mức thấp hoặc ‘false’ Bus 10
- CE BỘ XỬ LÝ Nội dung 1. Giới thiệu 2. Nhắc lại các quy ước thiết kế logic 3. Xây dựng đường dữ liệu (datapath) đơn giản 4. Hiện thực datapath đơn chu kỳ 11
- CE Quy trình thực thi lệnh Instruction Fetch (tìm nạp lệnh): Instruction – Nạp lệnh từ bộ nhớ (memory) Fetch – Địa chỉ của lệnh lưu trong thanh ghi Program Instruction Counter (PC) Next Instruction Decode Instruction Decode (giải mã lệnh): – Tìm ra lệnh thực hiện Operand Fetch Operand Fetch (tìm nạp toán hạng): – Lấy các toán hạng cần thiết cho lệnh Execute Execute (thực thi): Result – Thực hiện câu lệnh Write Result Write (lưu trữ): – Lưu trữ kết quả 12
- CE Quy trình thực thi lệnh của MIPS Bảng sau mô tả ba giai đoạn thực thi lệnh trong ba nhóm lệnh cơ bản của MIPS (Giai đoạn Fetch and Decode không được hiển thị) add $3, $1, $2 lw $3, 20( $1 ) beq $1, $2, label Fetch & Decode standard standard standard o Đọc thanh ghi $1, xem o Đọc thanh ghi $1, xem o Đọc thanh ghi $1, xem như Operand như toán hạng opr1 như toán hạng opr1 toán hạng opr1 Fetch o Đọc thanh ghi $2, xem o Sử dụng 20 như toán o Đọc thanh ghi $2, xem như như toán hạng opr2 hạng opr2 toán hạng opr2 o MemAddr = opr1 + opr2 Taken = (opr1 == opr2 )? Execute Result = opr1 + opr2 o Sử dụng MemAddr để Target = PC + Label* đọc dữ liệu từ bộ nhớ Dữ liệu của từ nhớ có địa Result Result được lưu trữ vào if (Taken) chỉ MemAddr được được Write $3 PC = Target lưu trữ vào $3 opr = Operand MemAddr = Memory Address * = simplification, not exact 13
- CE Quy trình thực thi lệnh của MIPS (5 công đoạn) Thay đổi thiết kế các giai đoạn thực hiện lệnh: – Gộp giai đoạn Decode và Operand Fetch – Giai đoạn Decode của MIPS khá đơn giản – Tách giai đoạn Execute thành ALU (Calculation) và Memory Access add $3, $1, $2 lw $3, 20( $1 ) beq $1, $2, label Đọc lệnh (địa chỉ của lệnh Đọc lệnh (địa chỉ của lệnh Đọc lệnh (địa chỉ của lệnh lưu Fetch lưu trong thanh ghi PC) lưu trong thanh ghi PC) trong thanh ghi PC) o Đọc thanh ghi $1, xem o Đọc thanh ghi $1, xem o Đọc thanh ghi $1, xem như Decode & như toán hạng opr1 như toán hạng opr1 toán hạng opr1 Operand o Đọc thanh ghi $2, xem o Sử dụng 20 như toán o Đọc thanh ghi $2, xem như Fetch như toán hạng opr2 hạng opr2 toán hạng opr2 Taken = (opr1 == opr2 )? ALU Result = opr1 + opr2 MemAddr = opr1 + opr2 Target = PC + Label* Memory Sử dụng MemAddr để đọc Access dữ liệu từ bộ nhớ Dữ liệu của từ nhớ có địa Result if (Taken) Result được lưu trữ vào $3 chỉ MemAddr được được Write PC = Target lưu trữ vào $3 14
- CE Quy trình thực thi lệnh của MIPS (5 công đoạn) Fetch Instruction Fetch (Nạp lệnh) Instruction Instruction Decode & Operand Fetch Decode (Giải mã và lấy các toán hạng cần thiết, Gọi tắt là Next Instruction “Instruction Decode”) ALU ALU (Giai đoạn sử dụng ALU hay giai đoạn thực Memory thi) Access Memory Access (Giai đoạn truy xuất vùng nhớ) Result Result Write (Giai đoạn ghi lại kết quả/lưu trữ) Write 15
- CE Quy trình thực thi lệnh của MIPS (5 công đoạn) Fetch Instruction Fetch (Nạp lệnh) Instruction Instruction Decode & Operand Fetch Decode (Giải mã và lấy các toán hạng cần thiết, Gọi tắt là Next Instruction “Instruction Decode”) ALU ALU (Giai đoạn sử dụng ALU hay giai đoạn thực Memory thi) Access Memory Access (Giai đoạn truy xuất vùng nhớ) Result Result Write (Giai đoạn ghi lại kết quả/lưu trữ) Write 16
- CE Giai đoạn tìm nạp lệnh (Instruction Fetch) Giai đoạn nạp lệnh: 1. Sử dụng thanh ghi Program Counter (PC) để tìm nạp lệnh từ bộ nhớ • Thanh ghi PC là một thanh ghi đặc biệt trong bộ vi xử lý 2. Tăng giá trị trong thanh ghi PC lên 4 đơn vị để lấy địa chỉ của lệnh tiếp theo • Tại sao địa chỉ lệnh tiếp theo là PC + 4? • Chú ý, lệnh rẽ nhánh (branch) và lệnh nhảy (jump) là một trường hợp ngoại lệ Kết quả của giai đoạn này là đầu vào cho giai đoạn tiếp theo (Decode): – Lệnh sẽ được thực thi 17
- CE Giai đoạn tìm nạp lệnh (Instruction Fetch) Bộ cộng Add 4 PC Read Decode Stage address Instruction Instruction Instruction memory Thanh ghi PC Vùng nhớ lưu trữ lệnh 18
- CE Khối Instruction Memory Vùng nhớ lưu trữ lệnh Đầu vào: là địa chỉ của lệnh Instruction Address Đầu ra: là nội dung lệnh tương ứng với Instruction địa chỉ được cung cấp Instruction Memory Memory ……….. Cách sắp xếp của bộ nhớ giống như hình bên 2048 add $3, $1, $2 phải 2052 sll $4, $3, 2 2056 andi $1, $4, 0xF …… ……….. 19
- CE Bộ cộng Mạch logic kết hợp để cộng 2 số - bộ cộng Đầu vào: A – Hai số 32-bit A, B A+B Add Sum Đầu ra: B – A+B 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Kiến trúc máy tính: Chương 1 - TS. Nguyễn Qúy Sỹ
46 p | 269 | 52
-
Bài giảng Kiến trúc máy tính: Chương 3 - Cấu trúc phần cứng của máy tính
12 p | 269 | 48
-
Bài giảng Kiến trúc máy tính - ĐH Hàng Hải
95 p | 207 | 32
-
Bài giảng Kiến trúc máy tính (238tr)
238 p | 149 | 23
-
Bài giảng Kiến trúc máy tính: Chương 1 - Phạm Hoàng Sơn
70 p | 138 | 20
-
Bài giảng Kiến trúc máy tính: Chương 1 - ThS. Lê Văn Hùng
17 p | 147 | 11
-
Bài giảng Kiến trúc máy tính - Chương 1: Tổng quan về kiến trúc máy tính
40 p | 29 | 9
-
Bài giảng Kiến trúc máy tính: Chương 1 - ThS. Nguyễn Hằng Phương
24 p | 110 | 9
-
Bài giảng Kiến trúc máy tính và hệ điều hành: Chương 1 - Nguyễn Ngọc Duy
30 p | 56 | 6
-
Bài giảng Kiến trúc máy tính: Chương 7 - ThS. Lê Văn Hùng
18 p | 122 | 5
-
Bài giảng Kiến trúc máy tính - Kiến trúc bộ lệnh
78 p | 82 | 4
-
Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu
51 p | 78 | 3
-
Bài giảng Kiến trúc máy tính và Hệ điều hành: Chương 3 - Vũ Thị Thúy Hà
89 p | 12 | 3
-
Bài giảng Kiến trúc máy tính và Hệ điều hành: Chương 1 - Vũ Thị Thúy Hà
83 p | 9 | 2
-
Bài giảng Kiến trúc máy tính và Hệ điều hành: Chương 2 - Vũ Thị Thúy Hà
106 p | 4 | 2
-
Bài giảng Kiến trúc máy tính và Hệ điều hành: Chương 4 - Vũ Thị Thúy Hà
64 p | 5 | 2
-
Bài giảng Kiến trúc máy tính và Hệ điều hành: Chương 5 - Vũ Thị Thúy Hà
20 p | 6 | 2
-
Bài giảng Kiến trúc máy tính và Hệ điều hành: Chương 6 - Vũ Thị Thúy Hà
74 p | 13 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn