You are on page 1of 14

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA KỸ THUẬT MÁY TÍNH

IT012 – TỔ CHỨC VÀ CẤU TRÚC MÁY TÍNH II

CHƯƠNG 9
BỘ XỬ LÝ
Nội dung
1. Vi kiến trúc
Kiến trúc
2. Datapath
3. Câu hỏi và Bài tập
Vi kiến trúc

Luận lý

Mạch số
2 IT012 – Tổ chức và Cấu trúc Máy tính
1. Vi kiến trúc (1/2)
• Kiến trúc Máy tính bao gồm 3 thành
phần chính:
 Kiến trúc tập lệnh (ISA): Quy định máy
tính có thể làm những việc gì?
Lệnh
 Vi kiến trúc (Tổ chức Phần cứng Máy tính):
Quy định máy tính làm việc như thế nào?
Hiện thực ISA
 Hệ thống Máy tính: Quy định các thành
phần của máy tính phối hợp trong một hệ
thống điện toán như thế nào?
Ảo hóa, Quản lý Bộ nhớ, Xử lý Đồ họa…

3 IT012 – Tổ chức và Cấu trúc Máy tính


1. Vi kiến trúc (2/2)
• Về chức năng, Vi kiến trúc là một tổ chức phần cứng dùng để hiện
thực tập lệnh của một máy tính.
• Về cấu tạo, Vi kiến trúc được chia thành 2 khối:
Khối đường dữ liệu (datapath): Thực thi lệnh
Lưu trữ: Bộ nhớ lệnh, Bộ nhớ dữ liệu, Tập thanh ghi, …
Truyền/nhận: Các đường tín hiệu dữ liệu, địa chỉ, điều khiển
Xử lý: ALU, Bộ so sánh, Mux, Bộ mở rộng dấu, Bộ dịch, …
Khối điều khiển (control unit): Điều khiển datapath hoạt động
Dựa trên opcode của lệnh và trạng thái của datapath

4 IT012 – Tổ chức và Cấu trúc Máy tính


2. Datapath (1/9) – Chu kỳ thực thi lệnh
• Datapath dùng để thực thi lệnh! Một lệnh thực thi như thế nào?
Chu kỳ thực thi lệnh!
Giải mã Truy xuất Lưu kết
Nạp lệnh Giải
lệnhmã Thực thi quả
Bộ nhớ

• Bộ nhớ lệnh • Tập thanh ghi • ALU • Bộ nhớ dữ liệu • Tập thanh ghi
• PC • Bộ nhớ dữ liệu • Bộ so sánh
• Mở rộng dấu

5 IT012 – Tổ chức và Cấu trúc Máy tính


2. Datapath (2/9) – Nạp lệnh
• Lệnh cần nạp lưu trong Bộ nhớ lệnh
• Địa chỉ của lệnh cần nạp lưu trong thanh ghi PC
Tăng PC lên 4 để chuẩn bị nạp lệnh tiếp theo -> cần thêm bộ cộng

I O ADDR DATA_RD

PC IMEM

+
4

6 IT012 – Tổ chức và Cấu trúc Máy tính


2. Datapath (3/9) – Giải mã lệnh – Định dạng lệnh
• Dựa vào opcode để xác định định dạng lệnh

[31:26] [31:26] [31:26]


opcode opcode opcode
[25:21] rs [25:21] rs

ADDR DATA_RD ADDR DATA_RD ADDR DATA_RD


[20:16] rt [20:16] rt
IMEM IMEM IMEM
[15:11] rd [15:0] immediate

[10:6] [25:0] address


shamt

[5:0]
funt

7 IT012 – Tổ chức và Cấu trúc Máy tính


2. Datapath (4/9) – Giải mã lệnh - Nạp toán hạng
• Dựa vào định dạng lệnh mà nạp toán hạng tương ứng
[31:26] [31:26]
opcode opcode

[25:21] rs [25:21] rs ADDR_RDA


ADDR_RDA

[20:16] rt [20:16] rt
ADDR_RDB
ADDR_RDB
DATA_A
DATA_A [15:11]
[15:11] REG FILE
rd REG FILE
ADDR_WR DATA_B
ADDR_RDB DATA_B
[10:6]
shamt
DATA_WR
DATA_WR
[5:0]
funt
immediate
SignExtend

8 IT012 – Tổ chức và Cấu trúc Máy tính


2. Datapath (5/9) – Nạp toán hạng: beq/bne

[31:26]
opcode
[25:21] rs ADDR_RDA
I O
[20:16] rt
PC ADDR_RDB
DATA_A
[15:11]
+ REG FILE
ADDR_WR DATA_B
4

DATA_WR

immediate
SignExtend <<2

9 IT012 – Tổ chức và Cấu trúc Máy tính


2. Datapath (6/9) – Nạp toán hạng: j

[31:26]
opcode

I O ADDR DATA_RD

PC IMEM

+
4 [25:0] address
<<2

[31:28]

10 IT012 – Tổ chức và Cấu trúc Máy tính


2. Datapath (7/9) – Thực thi
• Dựa vào opcode và funt mà quyết định thao tác gì sẽ được thực thi
ALUOp ALUOp

ADDR_RDA ADDR_RDA

ADDR_RDB ADDR_RDB
DATA_A DATA_A
REG FILE REG FILE
ALU ALU
ADDR_RDB DATA_B ADDR_WR DATA_B

DATA_WR DATA_WR

SignExtend

11 IT012 – Tổ chức và Cấu trúc Máy tính


2. Datapath (8/9) – Truy xuất bộ nhớ
• Đọc dữ liệu từ bộ nhớ dữ liệu đối với các lệnh nạp
• Ghi dữ liệu tới bộ nhớ dữ liệu đối với các lệnh lưu
ALUOp ADDR_RDA ALUOp

ADDR_RDB
DATA_A
ADDR REG FILE ADDR
ALU DATA_RD ALU DATA_RD
ADDR_RDB DATA_B
DMEM DMEM
DATA_WR
DATA_WR DATA_WR

SignExtend

12 IT012 – Tổ chức và Cấu trúc Máy tính


2. Datapath (9/9) – Lưu kết quả
• Có thể ghi dữ liệu về lại Tập thanh ghi
RegEn ALUOp

RegEn ALUOp

ADDR_RDA

ADDR_RDA
ADDR_RDB
DATA_A
REG FILE ADDR
ADDR_RDB ALU DATA_RD
DATA_A ADDR_RDB DATA_B
REG FILE ALU DMEM
ADDR_RDB DATA_B
DATA_WR
DATA_WR
DATA_WR
SignExtend

13 IT012 – Tổ chức và Cấu trúc Máy tính


6. Câu hỏi và Bài tập

14 IT012 – Tổ chức và Cấu trúc Máy tính

You might also like