Cấu trúc máy tính chương 5 : Đường đi dữ liệu - điều khiển
lượt xem 51
download
Hiệu suất của máy tính được quyết định bởi 3 yếu tố chính: số câu lệnh, chu kỳ clock và CPI (cycle per instruction) Chương trình dịch và cấu trúc tập lệnh quyết định số câu lệnh của chương trình Chu kỳ clock và CPI được quyết định bởi cách hiện thực của bộ xử lý, cụ thể là đường đi dữ liệu (datapath) Xây dựng đường đi dữ liệu và điều khiển (mang tính minh họa) cho 1 bộ phận của tập lệnh MIPS...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Cấu trúc máy tính chương 5 : Đường đi dữ liệu - điều khiển
- Khoa KH & KT Máy tính Khoa Boä moân Kyõ thuaät Maùy tính Phaïm Töôøng Haûi ng Nguyeãn Quoác Tuaán
- Tài liệu tham khảo “Computer Organization and Design: the hardware/software interface”, John L. Hennessy & David A. Patterson, Second Edition, MORGAN KAUFMANN PUBLISHERS, INC. 1998 “Computer Architecture: a quantitative approach”, John L. Hennessy & David A. Patterson, Third Edition, MORGAN KAUFMANN PUBLISHERS, INC. 2002 Kiến trúc Máy tính - Chap 05 2
- Chương 5. Kiến trúc Máy tính - Chap 05 3
- 5.1 Dẫn nhập Hiệu suất của máy tính được quyết định bởi 3 yếu tố chính: số câu lệnh, chu kỳ clock và CPI (cycle per instruction) Chương trình dịch và cấu trúc tập lệnh quyết định số câu lệnh của chương trình Chu kỳ clock và CPI được quyết định bởi cách hiện thực của bộ xử lý, cụ thể là đường đi dữ liệu (datapath) và điều khiển (control) Xây dựng đường đi dữ liệu và điều khiển (mang tính minh họa) cho 1 bộ phận của tập lệnh MIPS • Lệnh truy xuất bộ nhớ: lw và sw • Lệnh số học – luận lý: add , sub , and , or , và slt • Lệnh nhảy: beq và j Kiến trúc Máy tính - Chap 05 4
- 5.1 ... Bất kỳ câu lệnh nào cũng phải thực thi 2 bước đầu tiên như sau • Gửi nội dung của thanh ghi bộ đếm chương trình (program counter – PC) đến bộ nhớ lệnh để lấy câu lệnh từ bộ nhớ • Đọc một vài thanh ghi (toán hạng) có địa chỉ được xác định bởi các vùng toán hạng của câu lệnh Sau 2 bước thực thi trên, các bước thực thi kế tiếp nhằm hoàn thành câu lệnh phụ thuộc vào từng nhóm lệnh khác nhau Đối với tập con các lệnh MIPS chúng ta chọn để minh họa, các bước thực thi có khá nhiều điểm giống nhau (td. sử dụng bộ số học – luận lý ALU) Điểm khác biệt chủ yếu nằm ở các bước thực thi cuối của câu lệnh Kiến trúc Máy tính - Chap 05 5
- 5.1 ... Các khối mạch được chia làm 2 loại: mạch tổ hợp (combinational circuit) và mạch trạng thái (state circuit) hay mạch tuần tự Sơ đồ tổng quát hiện thực kiến trúc phần cứng ở MIPS Kiến trúc Máy tính - Chap 05 6
- 5.2 Xây dựng đường đi dữ liệu Phương thức xây dựng đường đi dữ liệu • Xác định các phần tử kiến trúc cần thiết cho câu lệnh • Xây dựng dần dần các phân khúc cho đường đi dữ liệu ứng với từng công đoạn trong thực thi câu lệnh • Tiến đến xây dựng hoàn chỉnh đường đi dữ liệu cho câu lệnh Bộ nhớ lệnh (instruction memory) Bộ đếm chương trình (PC) Bộ cộng Kiến trúc Máy tính - Chap 05 7
- 5.2 ... Đường đi dữ liệu cho bước đọc lệnh Tiến hành xây dựng đường đi dữ liệu cho các lệnh R-type ? add $t1 , $t2 , $t2 sub $s0 , $t0 , $t1 slt $t0 , $s0 , $s1 Kiến trúc Máy tính - Chap 05 8
- 5.2 ... Tập thanh ghi (register files) • 2 ngõ đọc dữ liệu • 1 ngõ ghi dữ liệu • 3 ngõ nhận địa chỉ thanh ghi • Tín hiệu điều khiển ghi Đơn vị số học – luận lý (ALU – Arithmetic Logic Unit) • 32-bit ALU đã giới thiệu ở chương 4 • 3-bit các tín hiệu điều khiển • 2 ngõ vào toán hạng 32-bit • 1 ngõ ra kết quả và 1 bit zero Kiến trúc Máy tính - Chap 05 9
- 5.2 ... Đường đi dữ liệu cho lệnh dạng R-type Xây dựng đường đi dữ liệu cho các lệnh truy xuất bộ nhớ ? lw $t0, 0($t1) sw $t1 , 4($sp) Kiến trúc Máy tính - Chap 05 10
- 5.2 ... Bộ nhớ dữ liệu (Data memory unit) • 1 ngõ nhận địa chỉ ô nhớ • 1 ngõ nhận dữ liệu ghi • Tín hiệu điều khiển đọc/ghi • 1 ngõ dữ liệu đọc Bộ mở rộng dấu (Sign- extension unit) • Ngõ nhập dữ liệu 16-bit • Ngõ ra dữ liệu 32-bit Kiến trúc Máy tính - Chap 05 11
- 5.2 ... Đường đi dữ liệu cho lệnh truy xuất bộ nhớ Xây dựng đường đi dữ liệu cho lệnh rẽ nhánh ? beq $s3 , $s4 , L1 Kiến trúc Máy tính - Chap 05 12
- 5.2 ... Đường đi dữ liệu cho lệnh rẽ nhánh Kiến trúc Máy tính - Chap 05 13
- 5.3 Hiện thực bộ xử lý đơn chu kỳ Hiện thực bộ xử lý cho các câu lệnh MIPS đã xét • Xây dựng đường đi dữ liệu cho tất cả các nhóm lệnh trên cơ sở tổng hợp các đường đi dữ liệu đã khảo sát • Thêm vào các tín hiệu điều khiển • Chỉ hiện thực đơn giản bằng kiến trúc đơn chu kỳ (singcle cycle) Xây dựng đường đi dữ liệu cho tất cả các câu lệnh • Đáp ứng thực thi mọi câu lệnh chỉ trong 1 chu kỳ clock • Cần phải nhân số lượng đối với các phần tử kiến trúc được sử dụng nhiều hơn 1 lần trong cùng một câu lệnh • Cần 1 bộ nhớ dành riêng cho câu lệnh và 1 bộ nhớ dành riêng cho dữ liệu • Chia sẽ các phần tử kiến trúc giữa những nhóm lệnh khác nhau nhờ vào các bộ multiplexor hay còn gọi là data selector Kiến trúc Máy tính - Chap 05 14
- 5.3 ... Xây dựng đường đi dữ liệu cho các lệnh bộ nhớ và lệnh R-type ALU operation Read 3 register 1 Read data 1 MemWrite Read ALUSrc MemtoReg Zero register 2 Instruction ALU Registers Write Read data Address Result M M register U U X X Read data 2 Write data Data Regwrite Write data memory Sign extend 16 32 MemRead Kiến trúc Máy tính - Chap 05 15
- 5.3 ... Thêm vào đường đi dữ liệu cho bước đọc lệnh Adder 4 ALU operation Read Instruction 3 PC register 1 address MemWrite Read data 1 Read ALUSrc MemtoReg Instruction Zero register 2 memory ALU Registers Write Read data Address Result M M register U U Instruction X X Read data 2 Write data Data Regwrite Write data memory Sign extend 16 32 MemRead Kiến trúc Máy tính - Chap 05 16
- 5.3 ... Hiện thực đường đi dữ liệu cho cả 3 nhóm lệnh PCSrc M U X Adder Shift left 2 Adder 4 ALU operation Read Instruction 3 PC register 1 address MemWrite Read data 1 Read ALUSrc MemtoReg Instruction Zero register 2 memory ALU Registers Write Read data Address Result M M register U U Instruction X X Read data 2 Write data Data Regwrite Write data memory Sign extend 16 32 MemRead Kiến trúc Máy tính - Chap 05 17
- 5.3 ... Điều khiển ALU ALU control Input Function • Các tín hiệu điều khiển 000 AND 001 OR • Quan hệ với câu lệnh 010 Add 110 Subtract • Thiết kế các tín hiệu điều 111 Set on less than khiển ? Opcode ALUOp Operation Funct field ALU control Input LW 00 XXXXXX 010 load word SW 00 XXXXXX 010 store word BEQ 01 XXXXXX 110 branch equal R-type 10 100000 010 add R-type 10 100010 110 subtract R-type 10 100100 000 AND R-type 10 100101 001 OR R-type 10 101010 111 set on less than Kiến trúc Máy tính - Chap 05 18
- 5.3 ... Dạng thức nhóm lệnh R-type 0 rs rt rd shamt funct 31 - 26 25 - 21 20 -16 15 - 11 10 - 6 5-0 Dạng thức các lệnh load/store 35 hay 43 rs rt address 31 - 26 25 - 21 20 -16 15 - 0 Dạng thức các lệnh rẽ nhánh 4 rs rt address 31 - 26 25 - 21 20 -16 15 - 0 Kiến trúc Máy tính - Chap 05 19
- 5.3 ... Đường đi dữ liệu dưới tác động của câu lệnh PCSrc 0 M U X Adder 1 Shift left 2 Adder 4 Regwrite Instruction [25 - 21] Read Instruction PC register 1 address Read MemWrite data 1 Instruction [20 - 16] Read ALUSrc MemtoReg Instruction Zero register 2 memory ALU Write Registers 0 Read 1 1 Address Result M M data M register Instruction Instruction U U U [15 - 11] [31 - 0] X X Read X Write data 1 0 0 Data data 2 Write memory RegDst data Instruction Sign extend [15 - 0] 16 32 MemRead ALU control Instruction [15 - 0] ALUOp Kiến trúc Máy tính - Chap 05 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng kiến trúc máy tính-Chương 5: Bộ nhớ máy tính
23 p | 714 | 105
-
Bài giảng cấu trúc máy tính - Chương 5 - ThS.Vương Xuân Chí
37 p | 239 | 68
-
Bài giảng Kiến trúc máy tính: Chương 5 - Vi mạch điều khiển và cấu trúc bus trong máy tính
25 p | 188 | 40
-
Bài giảng Kiến trúc máy tính: Chương 5 - TS. Nguyễn Qúy Sỹ
76 p | 160 | 33
-
Bài giảng Cấu trúc máy tính - Chương 5: Các thiết bị ngoại vi (2016)
49 p | 269 | 23
-
Bài giảng Kiến trúc máy tính: Chương 5 - ThS. Lê Văn Hùng
25 p | 156 | 19
-
Bài giảng Cấu trúc máy tính: Chương 5
86 p | 180 | 18
-
Giáo trình Kiến trúc máy tính (Nghề: Quản trị mạng máy tính - Trình độ: Trung cấp) - Trường TCN Quang Trung
97 p | 50 | 14
-
Bài giảng Cấu trúc máy tính: Chương 5 - Phạm Ngọc Hưng
73 p | 128 | 14
-
Bài giảng Kiến trúc máy tính - Chương 5: Tổ chức và cấu trúc bộ nhớ
70 p | 100 | 12
-
Bài giảng Cấu trúc máy tính: Chương 5 - Đào Quốc Phương
45 p | 85 | 12
-
Bài giảng Kiến trúc máy tính - Chương 5: Bộ nhớ chính
44 p | 20 | 11
-
Bài giảng Kiến trúc máy tính - Chương 5: Đĩa và ổ đĩa mềm
30 p | 48 | 10
-
Bài giảng Cấu trúc máy tính: Chương 5 - Hoàng Văn Hiệp
161 p | 79 | 8
-
Bài giảng Kiến trúc máy tính: Chương 5 - Trường ĐH Công nghiệp TP.HCM
58 p | 47 | 7
-
Bài giảng Cấu trúc máy tính: Chương 5 - Lập trình hợp ngữ với 8088
154 p | 103 | 7
-
Bài giảng Cấu trúc máy tính: Chương 5 - ThS. Nguyễn Thị Phong Dung
28 p | 11 | 5
-
Bài giảng Kiến trúc máy tính - Chương 5: Cấu trúc bộ xử lý và thực thi chương trình
14 p | 88 | 3
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