Bài giảng Kiến trúc máy tính - Tuần 11: Bộ xử lý Processor (Tiếp theo)

Trường op (hay opcode) luôn chứa bits từ 31:26.

Hai thanh ghi dùng để đọc trong tất cả các lệnh luôn luôn là rs và rt, tại vị trí bits từ 25:21 và 20:26.

Thanh ghi nền cho lệnh load và store luôn là rs và tại vị trí bits 25:21.

 16 bits offset cho beq, lw và sw thì luôn tại vị trí 15:0.

 Các thanh ghi đích dùng để ghi kết quả vào ở hai vị trí: Với lw, thanh ghi đích tại vị trí bits từ 20:16 (rt), trong khi với nhóm lệnh logic và số học, thanh ghi đích ở vị trí 15:11 (rd). Vì vậy, một multiplexer cần sử dụng ở đây để lựa chọn thanh ghi nào sẽ được ghi.

 

Bài giảng Kiến trúc máy tính - Tuần 11: Bộ xử lý Processor (Tiếp theo) trang 1

Trang 1

Bài giảng Kiến trúc máy tính - Tuần 11: Bộ xử lý Processor (Tiếp theo) trang 2

Trang 2

Bài giảng Kiến trúc máy tính - Tuần 11: Bộ xử lý Processor (Tiếp theo) trang 3

Trang 3

Bài giảng Kiến trúc máy tính - Tuần 11: Bộ xử lý Processor (Tiếp theo) trang 4

Trang 4

Bài giảng Kiến trúc máy tính - Tuần 11: Bộ xử lý Processor (Tiếp theo) trang 5

Trang 5

Bài giảng Kiến trúc máy tính - Tuần 11: Bộ xử lý Processor (Tiếp theo) trang 6

Trang 6

Bài giảng Kiến trúc máy tính - Tuần 11: Bộ xử lý Processor (Tiếp theo) trang 7

Trang 7

Bài giảng Kiến trúc máy tính - Tuần 11: Bộ xử lý Processor (Tiếp theo) trang 8

Trang 8

Bài giảng Kiến trúc máy tính - Tuần 11: Bộ xử lý Processor (Tiếp theo) trang 9

Trang 9

Bài giảng Kiến trúc máy tính - Tuần 11: Bộ xử lý Processor (Tiếp theo) trang 10

Trang 10

Tải về để xem bản đầy đủ

pptx 24 trang xuanhieu 6160
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Tuần 11: Bộ xử lý Processor (Tiếp theo)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Kiến trúc máy tính - Tuần 11: Bộ xử lý Processor (Tiếp theo)

Bài giảng Kiến trúc máy tính - Tuần 11: Bộ xử lý Processor (Tiếp theo)
Tuần 11 
BỘ XỬ LÝ 
PROCESSOR 
(Tiếp theo) 
03/2017 
Copyrights 2017 CE-UIT. All Rights Reserved. 
1 
KIẾN TRÚC MÁY TÍNH 
BỘ XỬ LÝ 
Mục đích: 
Hiểu cơ chế thực thi lệnh và các quy ước về thiết kế logic 
Thiết kế Datapath với 8 lệnh cơ bản cho một bộ xử lý và cách hiện thực thiết kế này. 
2 
Slide tham khảo từ: 
Computer Organization and Design: The Hardware/Software Interface , Patterson, D. A., and J. L. Hennessy, Morgan Kaufman, Revised Fourth Edition, 2011. 
NUS , Singapore 
03/2017 
Copyrights 2017 CE-UIT. All Rights Reserved. 
BỘ XỬ LÝ 
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ỳ 
3 
03/2017 
Copyrights 2017 CE-UIT. All Rights Reserved. 
Hiện thực datapath 
4 
Datapath với đầy đủ dữ liệu input cho từng khối 
1. Inputs của khối “Registers”, “Control” và “Sign-extend” 
03/2017 
Hiện thực datapath 
5 
Datapath với đầy đủ dữ liệu input cho từng khối 
??? ? 
1. Inputs của khối “Registers”, “Control” và “Sign-extend” 
MUX có thêm 0 và 1 ở các ngõ vào ??? 
03/2017 
Hiện thực datapath 
6 
Trường op (hay opcode) luôn chứa bits từ 31:26. 
Hai thanh ghi dùng để đọc trong tất cả các lệnh luôn luôn là rs và rt, tại vị trí bits từ 25:21 và 20:26. 
Thanh ghi nền cho lệnh load và store luôn là rs và tại vị trí bits 25:21. 
 16 bits offset cho beq, lw và sw thì luôn tại vị trí 15:0. 
 Các thanh ghi đích dùng để ghi kết quả vào ở hai vị trí: Với lw , thanh ghi đích tại vị trí bits từ 20:16 ( rt ), trong khi với nhóm lệnh logic và số học, thanh ghi đích ở vị trí 15:11 ( rd ). Vì vậy, một multiplexer cần sử dụng ở đây để lựa chọn thanh ghi nào sẽ được ghi. 
Hiện thực datapath 
7 
Datapath với đầy đủ dữ liệu input cho từng khối 
03/2017 
Hiện thực datapath 
8 
2. Khối “ALU Control” 
??? ? 
03/2017 
Hiện thực datapath 
9 
Bộ ALU của MIPS gồm 6 chức năng tính toán dựa trên 4 bits điều khiển đầu vào: 
Tùy thuộc vào từng nhóm lệnh mà ALU sẽ thực hiện 1 trong 5 chức năng đầu (NOR sẽ được dùng cho các phần khác) 
Với các lệnh load word và store word , ALU sử dụng chức năng ‘add’ để tính toán địa chỉ của bộ nhớ 
Với các lệnh thuộc nhóm logic và số học , ALU thực hiện 1 trong 5 chức năng ( AND, OR, subtract, add, và set on less than ), tùy thuộc vào giá trị của trường funct (6 bits) trong mã máy lệnh. 
Với lệnh nhảy nếu bằng , ALU thực hiện chức năng ‘subtract’ để xem điều khiện bằng có đúng không. 
03/2017 
Copyrights 2017 CE-UIT. All Rights Reserved. 
Hiện thực datapath 
10 
Như vậy, để sinh ra 4 bits điều khiển ALU, một trong số các cách hiện thực có thể là sử dụng thêm một khối điều khiển “ALU Control” 
“ALU Control” nhận input là 6 bits từ trường funct của mã máy, đồng thời dựa vào 2 bits “ALUOp” được sinh ra từ khối “Control” để sinh ra output là 4 bits điều khiển ALU, theo quy tắc như bảng sau: 
Một gợi ý để sinh ra 4 bits điều khiển ALU dựa vào trường “opcode” và trường “funct” của mã máy. 
03/2017 
Copyrights 2017 CE-UIT. All Rights Reserved. 
Hiện thực datapath 
11 
Bảng sự thật: Từ quy tắc hoạt động, bảng sự thật gợi ý cho khối “ALU Control” như sau 
03/2017 
Copyrights 2017 CE-UIT. All Rights Reserved. 
Hiện thực datapath 
12 
3. Khối điều khiển chính “Control” 
??? 
03/2017 
Hiện thực datapath 
13 
Tác động của các tín hiệu điều khiển 
Các tín hiệu điều khiển 
Tác động khi ở mức thấp 
Tác động khi ở mức cao 
RegDst 
Thanh ghi đích cho thao tác ghi sẽ từ thanh ghi rt (bits từ 20:16) 
Thanh ghi đích cho thao tác ghi sẽ từ thanh ghi rd (bits từ 15:11) 
RegWrite 
Khối “Registers” chỉ thực hiện mỗi chức năng đọc thanh ghi 
Ngoài chức năng đọc, khối “Register” sẽ thực hiện thêm chức năng ghi. Thanh ghi được ghi là thanh ghi có chỉ số được đưa vào từ ngõ “Write register” và dữ liệu dùng ghi vào thanh ghi này được lấy từ ngõ “Write data” 
ALUSrc 
Input thứ hai cho ALU đến từ “Read data 2” của khối “Registers” 
Input thứ hai cho ALU đến từ output của khối “Sign-extend” 
Branch 
Cho biết lệnh nạp vào không phải “beq”. Thanh ghi PC nhận giá trị là PC + 4 
Lệnh nạp vào là lệnh “beq”, kết hợp với điều kiện bằng thông qua cổng AND nhằm xác định xem lệnh tiếp theo có nhảy đến địa chỉ mới hay không. Nếu điệu kiện bằng đúng, PC nhận giá trị mới từ kết quả của bộ cộng “Add” 
MemRead 
(Không ) 
Khối “Data register” thực hiện chức năng đọc dữ liệu. Địa chỉ dữ liệu cần đọc được đưa vào từ ngõ “Address” và nội dung đọc được xuất ra ngõ “Read data” 
MemWrite 
(Không ) 
Khối “Data register” thực hiện chức năng ghi dữ liệu. Địa chỉ dữ liệu cần ghi được đưa vào từ ngõ “Address” và nội dung ghi vào lấy từ ngõ “Write data” 
MemtoReg 
Giá trị đưa vào ngõ “Write data” đến từ ALU 
Giá trị đưa vào ngõ “Write data” đến từ khối “Data memory” 
03/2017 
Hiện thực datapath 
14 
Giá trị các tín hiệu điều khiển tương ứng với mỗi lệnh như sau: 
Khối “Control” trong datapath nhận input là 6 bits từ trường “opcode” của mã máy, dựa vào đó các tín hiệu điều khiển được sinh ra tương ứng như bảng. 
03/2017 
Copyrights 2017 CE-UIT. All Rights Reserved. 
Hiện thực datapath 
15 
Bảng sự thật khối “Control”: 
Bảng sự thật khối “Control” 
03/2017 
Copyrights 2017 CE-UIT. All Rights Reserved. 
Hiện thực datapath 
16 
3. Khối điều khiển chính “Control” 
??? 
03/2017 
Hiện thực datapath 
17 
3. Khối điều khiển chính “Control” 
03/2017 
Hiện thực datapath 
18 
Hiện thực bộ xử lý đơn chu kỳ (Single-cycle implementation hay single clock cycle implementation): là cách hiện thực sao cho bộ xử lý đáp ứng thực thi mỗi câu lệnh chỉ trong 1 chu kỳ xung clock đòi hỏi chu kỳ xung clock phải bằng thời gian của lệnh dài nhất. 
Cách hiện thực bộ xử lý như đã trình bày trên là cách hiện thực đơn chu kỳ : 
 Lệnh dài nhất là lw, gồm truy xuất vào “Instruction memory”, “Registers”, “ALU”, “Data memory” và quay trở lại “Registers”, trong khi các lệnh khác không đòi hỏi tất cả các công đoạn trên chu kỳ xung clock thiết kế phải bằng thời gian thực thi lệnh lw. 
Mặc dù hiện thực bộ xử lý đơn chu kỳ có CPI = 1 nhưng hiệu suất rất kém, vì một chu kỳ xung clock quá dài, các lệnh ngắn đều phải thực thi cùng thời gian với lệnh dài nhất. 
	Vì vậy, Hiện thực đơn chu kỳ hiện tại không còn được sử dụng (hoặc chỉ có thể chấp nhận cho các tập lệnh nhỏ) 
03/2017 
Copyrights 2017 CE-UIT. All Rights Reserved. 
19 
Xem lại Datapath với từng nhóm lệnh 
Các đường đỏ là các đường hoạt động khi lệnh thuộc nhóm logic và số học thực thi 
03/2017 
20 
Xem lại Datapath với từng nhóm lệnh 
Các đường đỏ là các đường hoạt động khi lệnh lw thực thi 
03/2017 
21 
Xem lại Datapath với từng nhóm lệnh 
Các đường đậm nét (đỏ) là các đường hoạt động khi lệnh sw thực thi 
03/2017 
22 
Xem lại Datapath với từng nhóm lệnh 
Các đường đậm nét (đỏ) là các đường hoạt động khi lệnh beq thực thi 
03/2017 
BỘ XỬ LÝ 
23 
Tổng kết: 
Hoàn chỉnh datapath cho 8 lệnh cơ bản: 
add, sub, and, or, slt 
lw, sw 
beq 
Hiểu cách hiện thực các khối chức năng cơ bản trong datapath (khối Control, khối ALU Control) 
03/2017 
Copyrights 2017 CE-UIT. All Rights Reserved. 
BỘ XỬ LÝ 
Lý thuyết: Đọc sách tham khảo 
Mục: 4.4 
 Sách: Computer Organization and Design: The Hardware/Software Interface , Patterson, D. A., and J. L. Hennessy, Morgan Kaufman, Revised Fourth Edition, 2011. 
Bài tập: file đính kèm 
24 
03/2017 
Copyrights 2017 CE-UIT. All Rights Reserved. 

File đính kèm:

  • pptxbai_giang_kien_truc_may_tinh_tuan_11_bo_xu_ly_processor_tiep.pptx