THIẾT KẾ VI XỬ LÝ 16 BIT THEO KIẾN TRÚC TẬP LỆNH ĐƠN GIẢN
KHOA KĨ THUẬT MÁY TÍNH
LỚP CE118.Q17
Trường đại học Công Nghệ Thông Tin – ĐHQG Thành phố Hồ Chí Minh
Báo cáo đồ án cuối kì
Nhóm 5
1
LỚP …
www.9slide.vn
Nội dung trình bày:
Copyrights 2025 UIT. All Rights Reserved.
2
30 May 2025
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
1. Giới thiệu tổng quan về đề tài
Copyrights 2025 UIT. All Rights Reserved.
3
15 December 2025
a. Lĩnh vực nghiên cứu:
b. Vấn đề nghiên cứu:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
2. Thông tin thành viên
Copyrights 2025 UIT. All Rights Reserved.
4
15 December 2025
STT | Họ và tên | Nội dung đảm nhận | Mức độ hoàn thành |
1 | Trần Lê Minh Đạt | Thiết kế khối ALU, Pipeline | 100% |
2 | Võ Thanh Toàn | Thiết kế Register File, Data memory, Pipeline | 100% |
3 | Trịnh Nguyễn Hoàng Long | Thiết kế Datapath, hỗ trợ viết báo cáo & slide | 100% |
4 | Võ Hồng Đức | Hỗ trợ thiết kế khối ALU, Viết báo cáo chính | 100% |
5 | Trần Hoàng Trung Đức | Thiết kế JUMP | 100% |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
2. Thông tin thành viên
Copyrights 2025 UIT. All Rights Reserved.
5
15 December 2025
STT | Họ và tên | Nội dung đảm nhận | Mức độ hoàn thành |
6 | Ngô Tiến Đạt | Thiết kế Control Unit | 100% |
7 | Trần Quang Nhất | Thiết kế Register File | 100% |
8 | Nguyễn Thanh Hiếu | Thiết kế Register File, Hỗ trợ thiết kế Data Memory | 100% |
9 | Nguyễn Đình Nhật Nguyên | Thiết kế Datapath, Thiết kế Slide chính | 100% |
10 | Lê Hưng Phát | Thiết kế Control Unit | 100% |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Các thành phần trong Datapath
Copyrights 2025 UIT. All Rights Reserved.
6
15 December 2025
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
7
15 December 2025
Lưu đồ tập lệnh:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
8
15 December 2025
Thiết kế tổng quan:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
9
15 December 2025
Lưu đồ ASM mô tả mô hình thực thi lệnh qua các giai đoạn:
Execution
Instruction fetch & Decode
Register Access
Memory access
Write back to Register
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
10
15 December 2025
3.1 ALU
Vai trò: Là trái tim của bộ vi xử lý, chịu trách nhiệm thực thi toàn bộ các phép toán số học và logic dựa trên tín hiệu điều khiển.
Đầu vào: Nhận dữ liệu từ hai thanh ghi nguồn - Source Registers (Rs1, Rs2) hoặc một thanh ghi và một hằng số (Imm - Immediate).
Đầu ra: Trả về kết quả tính toán (Result) và cờ trạng thái (Zero Flag) để phục vụ cho các lệnh rẽ nhánh.
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
11
15 December 2025
3.1 ALU
Mã chức năng | Các phép toán hỗ trợ |
0000 | add |
0001 | sub |
0010 | inc |
0011 | dec |
0100 | and |
0101 | or |
0110 | xor |
0111 | nand |
1000 | shfl |
1001 | shfr |
1010 | shll |
1011 | shrr |
1100 | slll |
1101 | srrr |
1110 | mul |
1111 | div |
Tín hiệu điều khiển:
Nguyên tắc giải mã lệnh:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
12
15 December 2025
3.1 ALU
Các tập lệnh chính:
Lệnh | Opcode | ALUop | Mã chức năng | Phép toán thực thi |
add | 000 | 10 | 0000 | add |
sub | 000 | 10 | 0001 | sub |
inc | 000 | 10 | 0010 | inc |
dec | 000 | 10 | 0011 | dec |
and | 000 | 10 | 0100 | and |
or | 000 | 10 | 0101 | or |
xor | 000 | 10 | 0110 | xor |
nand | 000 | 10 | 0111 | nand |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
13
15 December 2025
3.1 ALU
Các tập lệnh chính:
Lệnh | Opcode | ALUop | Mã chức năng | Phép toán thực thi |
shfl | 000 | 10 | 1000 | shfl |
shfr | 000 | 10 | 1001 | shfr |
shll | 000 | 10 | 1010 | shll |
shrr | 000 | 10 | 1011 | shrr |
slll | 000 | 10 | 1100 | slll |
srrr | 000 | 10 | 1101 | srrr |
mul | 000 | 10 | 1110 | mul |
div | 000 | 10 | 1111 | div |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
14
15 December 2025
3.1 ALU
Các tập lệnh chính:
Lệnh | Opcode | ALUop | Mã chức năng | Phép toán thực thi |
addi | 001 | 00 | 0000 | add |
subi | 010 | 01 | 0001 | sub |
lw | 011 | 00 | 0000 | - |
sw | 100 | 00 | 0000 | - |
beq | 101 | 01 | 0001 | sub (Rs1 - Rs2) |
jpnz | 110 | 01 | 0001 | sub [Rs1 – (Rs2 ← 0)] |
li | 111 | 00 | 0000 | add [Rs1 + (Imm ← 0)] |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
15
15 December 2025
3.1 ALU
Các tập lệnh chính:
Lệnh | Opcode | ALUop | Mã chức năng | Phép toán thực thi |
nop | 001 | 00 | 0000 | add |
not | 000 | 10 | 0111 | nand |
jmp | 101 | 01 | 0001 | sub |
mov | 000 | 10 | 0100 | and |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
16
15 December 2025
3.1 ALU
Thiết kế Schematic của ALU:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
17
15 December 2025
3.1 ALU
Schematic khối MUL:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
18
15 December 2025
Schematic khối DIV:
3.1 ALU
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
19
15 December 2025
3.2 Register Files
Định nghĩa: Là một khối bộ nhớ nhỏ nhưng có tốc độ truy xuất cực nhanh, nằm ngay bên trong vi xử lý.
Vai trò chính:
Tổ chức phần cứng:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
20
15 December 2025
3.2 Register Files
Vấn đề về tốc độ | |
REGISTER FILE | DATA MEMORY |
→ Đáp ứng kịp thời tốc độ xử lý của ALU. |
→ Hiệu năng hệ thống giảm sút nghiêm trọng. |
=> Kết luận: Register File là thành phần then chốt hiện thực hóa kiến trúc Load/Store, đảm bảo ALU hoạt động với hiệu suất tối đa.
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
21
15 December 2025
3.2 Register Files
Các tín hiệu giao tiếp:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
22
15 December 2025
3.2 Register Files
Lệnh | Meaning | Read Reg1 | Read Reg2 | Read Data1 | Read Data2 | Write Register | Write Data |
add | Rd ← Rs1 + Rs2 | Rs1 | Rs2 | Reg[Rs1] | Reg[Rs2] | Rd | ALU (Add) |
sub | Rd ← Rs1 - Rs2 | Rs1 | Rs2 | Reg[Rs1] | Reg[Rs2] | Rd | ALU (Sub) |
inc | Rd ← Rs1 + 1 | Rs1 | _ | Reg[Rs1] | _ | Rd | ALU (Reg[Rs1] + 1) |
dec | Rd ← Rs1 - 1 | Rs1 | _ | Reg[Rs1] | _ | Rd | ALU (Reg[Rs1] - 1) |
and | Rd ← Rs1 & Rs2 | Rs1 | Rs2 | Reg[Rs1] | Reg[Rs2] | Rd | ALU (AND) |
or | Rd ← Rs1 | Rs2 | Rs1 | Rs2 | Reg[Rs1] | Reg[Rs2] | Rd | ALU (OR) |
xor | Rd ← Rs1 ^ Rs2 | Rs1 | Rs2 | Reg[Rs1] | Reg[Rs2] | Rd | ALU (XOR) |
nand | Rd ← ~(Rs1 & Rs2) | Rs1 | Rs2 | Reg[Rs1] | Reg[Rs2] | Rd | ALU (NAND) |
shfl | Rd ← Reg[Rs1] << 1 (logical shift left 1) | Rs1 | _ | Reg[Rs1] | _ | Rd | Shifter (<< 1) |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
23
15 December 2025
3.2 Register Files
Lệnh | Meaning | Read Reg1 | Read Reg2 | Read Data1 | Read Data2 | Write Register | Write Data |
shfr | Rd ← Reg[Rs1] >> 1 (logical shift right 1) | Rs1 | _ | Reg[Rs1] | _ | Rd | Shifter (>> 1) |
shll | Rd ← Reg[Rs1] << 2 | Rs1 | _ | Reg[Rs1] | _ | Rd | Shifter (<< 2) |
shrr | Rd ← Reg[Rs1] >> 2 | Rs1 | _ | Reg[Rs1] | _ | Rd | Shifter (>> 2) |
slll | Rd ← Reg[Rs1] << 3 | Rs1 | _ | Reg[Rs1] | _ | Rd | Shifter (<< 3) |
srrr | Rd ← Reg[Rs1] >> 3 | Rs1 | _ | Reg[Rs1] | _ | Rd | Shifter (>> 3) |
mul | Rd ← Rs1 * Rs2 | Rs1 | Rs2 | Reg[Rs1] | Reg[Rs2] | Rd | Multiplier unit (ALU_mul) |
div | Rd ← Rs1 ÷ Rs2 | Rs1 | Rs2 | Reg[Rs1] | Reg[Rs2] | Rd | Divider unit (ALU_div) |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
24
15 December 2025
3.2 Register Files
Lệnh | Meaning | Read Reg1 | Read Reg2 | Read Data1 | Read Data2 | Write Register | Write Data |
addi | Rd ← Rs1 + Imm | Rs1 | – | Reg[Rs1] | – | Rd | ALU (Rs1 + Imm) |
subi | Rd ← Rs1 − Imm | Rs1 | – | Reg[Rs1] | – | Rd | ALU (Rs1 − Imm) |
beq | Nếu Reg[Rs1] == Reg[Rs2] → PC ← PC + Imm | Rs1 | Rs2 | Reg[Rs1] | Reg[Rs2] | – | – |
Lệnh | Meaning | Read Reg1 | Read Reg2 | Read Data1 | Read Data2 | Write Register | Write Data |
lw | Rd ← Mem[Imm] | – | – | – | – | Rd | Memory |
sw | Mem[Imm] ← Reg[Rd] | Rd | – | Reg[Rd] | – | – | – |
jpnz | PC = Reg[Rd] != 0 ? Imm : PC + 1 | Rd | – | Reg[Rd] | – | – | – |
li | Rd ← Imm | – | – | – | – | Rd | Immediate |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
25
15 December 2025
3.2 Register Files
Lệnh | Meaning | Read Reg1 | Read Reg2 | Read Data1 | Read Data2 | Write Register | Write Data |
nop | – | – | – | – | – | – | – |
not | Rd ← ~Reg[Rs1] | Rs1 | – | Reg[Rs1] | – | Rd | Alu (Nand) |
jmp | PC ← Imm | – | – | – | – | – | – |
mov | Rd ← Reg[Rs1] | Rs1 |
| Reg[Rs1] |
| Rd | Reg[Rs1] |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
26
15 December 2025
3.2 Register Files
Thiết kế Schematic:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
27
15 December 2025
3.3 Data Memory
Vai trò: Là nơi lưu trữ dữ liệu chính của chương trình (biến toàn cục, mảng, dữ liệu tính toán...) khi Register File không đủ chỗ chứa hoặc cần lưu trữ lâu dài.
Thông số kỹ thuật:
Các cổng giao tiếp (Ports):
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
28
15 December 2025
3.3 Data Memory
Thành phần | Chi tiết | Kích thước |
Đầu vào (Input) | ADDRESS (Địa chỉ) | 5 bit |
Input (Dữ liệu vào để Ghi) | 16 bit | |
MemRead (Tín hiệu Đọc Bộ nhớ) | 1 bit | |
MemWrite (Tín hiệu Ghi Bộ nhớ) | 1 bit | |
Clock (Xung nhịp) | 1 bit | |
Đầu ra (Output) | Output (Dữ liệu ra khi Đọc) | 16 bit |
Dữ liệu Đầu vào/Đầu ra:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
29
15 December 2025
3.3 Data Memory
Cơ chế Đọc/Ghi (Read/Write Logic): Hoạt động dựa trên trạng thái của 2 tín hiệu điều khiển MemRead và MemWrite.
Đặc điểm quan trọng:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
30
15 December 2025
3.3 Data Memory
MemWrite | MemRead | Mô tả Hành động | Output |
0 | 0 | Bộ nhớ không hoạt động: Không có thao tác Đọc hay Ghi. | Output giữ nguyên giá trị trước đó hoặc là Z. |
0 | 1 | Đọc dữ liệu: Dữ liệu từ vị trí bộ nhớ được chỉ định bởi ADDRESS (5 bit) được đưa ra chân Output (16 bit). Input (16 bit) bị bỏ qua. | Output hiển thị dữ liệu đã lưu tại ADDRESS �(Nếu chưa lưu gì trước đó thì giá trị là 0). |
1 | 0 | Ghi dữ liệu: Dữ liệu từ chân Input (16 bit) được ghi vào vị trí bộ nhớ được chỉ định bởi ADDRESS (5 bit). | Output là Z (Trạng thái trở kháng cao) hoặc không xác định vì không ở chế độ đọc. |
Chức năng hoạt động:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
31
15 December 2025
3.3 Data Memory
Thiết kế Schematic:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
32
15 December 2025
3.4 Control Unit
Vai trò: Là bộ não của bộ vi xử lý, nó quyết định khối nào được hoạt động và hoạt động như thế nào tại mỗi thời điểm.
Nhiệm vụ chính:
Đầu vào: 3 bit Opcode (Q2, Q1, Q0) và các cờ từ ALU (Zero Flag).
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
33
15 December 2025
3.4 Control Unit
Nguyên lý thiết kế: Control Unit được thiết kế dựa trên mạch tổ hợp (Combinational Logic). Các tín hiệu đầu ra được tổng hợp từ bảng chân trị (Truth Table) và rút gọn thành các phương trình Boolean.
Các tín hiệu điều khiển quan trọng (được tạo ra từ Opcode Q2, Q1, Q0):
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
34
15 December 2025
3.4 Control Unit
Bảng chân trị:
Lệnh | OC�(Q2Q1Q0) | Func�(F3F2F1F0) | RegWrite�(WE) | RegDst�(WA) | ALUSrc | MemRead | MemWrite | MemToReg | Branch | ALUop | Output�(ALU Control) | Jump |
add | 000 | 0000 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 10 | 0000 | 0 |
sub | 000 | 0001 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 10 | 0001 | 0 |
inc | 000 | 0010 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 10 | 0010 | 0 |
dec | 000 | 0011 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 10 | 0011 | 0 |
and | 000 | 0100 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 10 | 0100 | 0 |
or | 000 | 0101 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 10 | 0101 | 0 |
xor | 000 | 0110 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 10 | 0110 | 0 |
nand | 000 | 0111 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 10 | 0111 | 0 |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
35
15 December 2025
3.4 Control Unit
Bảng chân trị:
Lệnh | OC�(Q2Q1Q0) | Func�(F3F2F1F0) | RegWrite�(WE) | RegDst�(WA) | ALUSrc | MemRead | MemWrite | MemToReg | Branch | ALUop | Output�(ALU Control) | Jump |
shfl | 000 | 1000 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 10 | 1000 | 0 |
shfr | 000 | 1001 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 10 | 1001 | 0 |
shll | 000 | 1010 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 10 | 1010 | 0 |
shrr | 000 | 1011 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 10 | 1011 | 0 |
slll | 000 | 1100 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 10 | 1100 | 0 |
srrr | 000 | 1101 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 10 | 1101 | 0 |
(mul) | 000 | 1110 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 10 | 1110 | 0 |
(div) | 000 | 1111 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 10 | 1111 | 0 |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
36
15 December 2025
3.4 Control Unit
Bảng chân trị:
Lệnh | OC�(Q2Q1Q0) | RegWrite�(WE) | RegDst�(WA) | ALUSrc | MemRead | MemWrite | MemToReg | Branch | ALUop | Output�(ALU Control) | Jump |
addi | 001 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 00 | 0000 | 0 |
subi | 010 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 01 | 0001 | 0 |
beq | 011 | 0 | X | 0 | 0 | 0 | X | 1 | 01 | 0001 | 0 |
lw | 100 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 00 | 0000 | 0 |
sw | 101 | 0 | X | 1 | 0 | 1 | X | 0 | 00 | 0000 | 0 |
addi | 001 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 00 | 0000 | 0 |
subi | 010 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 01 | 0001 | 0 |
beq | 011 | 0 | X | 0 | 0 | 0 | X | 1 | 01 | 0001 | 0 |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
37
15 December 2025
3.4 Control Unit
Bảng chân trị:
Lệnh | OC�(Q2Q1Q0) | RegWrite�(WE) | RegDst�(WA) | ALUSrc | MemRead | MemWrite | MemToReg | Branch | ALUop | Output�(ALU Control) | Jump |
jpnz | 110 | 0 | X | X | 0 | 0 | X | 1 | 01 | 0001 | 1 |
li | 111 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 00 | 0000 | 0 |
Lệnh | OC�(Q2Q1Q0) | RegWrite�(WE) | RegDst�(WA) | ALUSrc | MemRead | MemWrite | MemToReg | Branch | ALUop | Output�(ALU Control) | Jump |
nop(addi) | 001 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 00 | 0000 | 0 |
not(nand) | 000 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 10 | 0111 | 0 |
jmp(beq) | 011 | 0 | X | 0 | 0 | 0 | X | 1 | 01 | 0001 | 0 |
mov(and) | 000 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 10 | 0100 | 0 |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
38
15 December 2025
3.4 Control Unit
Phương trình Boolean:
RegWrite | Q2' + Q1Q0 |
RegDst | Q1’Q0’ |
ALUSrc | Q1 + Q2'Q0 + Q2Q0' |
MemRead | Q2'Q1Q0 |
MemWrite | Q2Q1'Q0' |
MemToReg | Q2'Q1Q0 |
Branch | Q2Q1'Q0 + Q2Q1Q0' |
Jump | Q2Q1'Q0 |
ALUop[1] | Q2'Q1'Q0' |
ALUop[0] | Q1Q0' + Q2Q1'Q0 |
RI_Signal | Q2 |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
39
15 December 2025
3.4 Control Unit
Thiết kế Schematic:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
40
15 December 2025
3.5 Jump/Branch
Vai trò cốt lõi:
Các lệnh hỗ trợ:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
41
15 December 2025
3.5 Jump/Branch
Giai đoạn | Mô tả hoạt động | Tín hiệu/Điều kiện hoạt động |
Program Counter (PC) | Đọc lệnh JMP từ địa chỉ của PC, xuất ra Opcode và Address; chuyển đến Control Unit và các khối liên quan. | |
Instruction Memory (IM) | Giải mã: Opcode = 101. Kích hoạt tín hiệu Jump. | Jump: Kích hoạt. ALUop = 01. |
Control Unit | Tín hiệu Jump yêu cầu MUX chọn Jump Address (Địa chỉ mục tiêu) thay vì PC + 1 | MUX chọn Jump Address. Địa chỉ mới được ghi vào PC. |
MUX / PC Update | Chương trình tiếp tục thực thi từ địa chỉ mới. |
|
PC Update | Đọc lệnh JMP từ địa chỉ của PC, xuất ra Opcode và Address; chuyển đến Control Unit và các khối liên quan. |
|
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
42
15 December 2025
3.5 Jump/Branch
Giai đoạn | Mô tả hoạt động | Tín hiệu/Điều kiện hoạt động |
Program Counter (PC) | PC chứa địa chỉ lệnh. Địa chỉ này được truyền đến IM để truy xuất lệnh. | |
Instruction Memory (IM) | Đọc lệnh từ địa chỉ của PC, xuất ra Opcode và Address; chuyển đến Control Unit và các khối liên quan. |
|
Register | Đọc dữ liệu từ Rs1 và Rs2. |
|
Control Unit | Giải mã: Opcode = 011. | Branch: Kích hoạt nếu Zero Flag = 1. |
ALU | Thực hiện phép trừ: ALU_result = Rs1 − Rs2. | ALUop = 01 (Phép trừ). |
Zero Flag | Nếu: (Rs1 = Rs2) ⟹ Zero Flag = 1 �Ngược lại: ⟹ Zero Flag = 0 |
|
MUX / PC Update | Nếu Zero Flag = 1 (Rs1 = Rs2): MUX chọn Branch Target Address để thực hiện lệnh tiếp theo. | Zero Flag = 1 ⟹ MUX chọn Branch Target Address. |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
3. Nội dung nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
43
15 December 2025
3.5 Jump/Branch
Giai đoạn | Mô tả hoạt động | Tín hiệu/Điều kiện hoạt động |
Program Counter (PC) | PC chứa địa chỉ lệnh. Địa chỉ này được truyền đến IM để truy xuất lệnh. |
|
Instruction Memory (IM) | Đọc lệnh từ địa chỉ của PC, xuất ra Opcode và Address; chuyển đến Control Unit và các khối liên quan. |
|
Register | Đọc dữ liệu từ Rd. |
|
Control Unit | Giải mã: Opcode = 110. ALUop = 01 (Phép trừ, nhưng ở đây dùng để set Zero Flag). | Branch: Kích hoạt nếu Zero Flag = 0. |
ALU | ALU_result = Rd. | ALUop = 01 (Được dùng để set Zero Flag dựa trên Rd). |
Zero Flag | Nếu Rd = 0⟹ Zero Flag =1� Ngược lại ⟹ Zero Flag = 0 |
|
MUX / PC Update | Nếu Zero Flag = 0 (Rd ≠ 0): MUX chọn Branch Target Address để thực hiện lệnh tiếp theo (Jump). | Zero Flag = 0 ⟹ MUX chọn Branch Target Address. |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
44
15 December 2025
4.1 Schematic Final của Đồ án:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
45
15 December 2025
Mục tiêu: Kiểm tra tính đúng đắn của toàn bộ Datapath và Control Unit thông qua các kịch bản test - Test Cases.
Hai loại mô phỏng đã thực hiện:
Công cụ: ModelSim / Quartus II Waveform Editor.
4.2 Kiểm thử đồ án
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
46
15 December 2025
Chỉ số đánh giá chính:
4.2 Kiểm thử đồ án
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
47
15 December 2025
TEST CASE #1 - Các lệnh cơ bản: Kiểm tra các phép toán số học và logic đơn giản (RRR).
4.2 Kiểm thử đồ án
// Khởi tạo giá trị�li r0, 2 ; Gán R0 = 2�li r1, 36 ; Gán R1 = 36�li r2, 25 ; Gán R2 = 25�li r3, 100 ; Gán R3 = 100
// Kiểm tra phép Toán học�add r0, r1, r4 ; R4 = R0 + R1 = 2 + 36 = 38�sub r1, r0, r5 ; R5 = R1 - R0 = 36 - 2�inc r2, r6 ; R6 = R2 + 1 = 26�dec r2, r7 ; R7 = R2 - 1 = 24
// Kiểm tra phép Logic�and r1, r3, r4 ; R4 = 36 AND 100�or r0, r2, r5 ; R5 = 2 OR 25�xor r0, r1, r6 ; R6 = 38�nand r1, r3, r7 ; R7 = 65499��sw r1, 1�lw r2, 1�add r1, r2, r3
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
48
15 December 2025
TEST CASE #1 - Các lệnh cơ bản:
4.2 Kiểm thử đồ án
li r0, 2 �li r1, 36 �li r2, 25 �li r3, 100 �add r0, r1, r4 �sub r1, r0, r5 �inc r2, r6 �dec r2, r7 �and r1, r3, r4 �or r0, r2, r5 �xor r0, r1, r6 �nand r1, r3, r7�sw r1, 1�lw r2, 1�add r1, r2, r3
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
49
15 December 2025
TEST CASE #1 - Các lệnh cơ bản:
4.2 Kiểm thử đồ án
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
50
15 December 2025
TEST CASE #1 - Các lệnh cơ bản:
4.2 Kiểm thử đồ án
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
51
15 December 2025
TEST CASE #1 - Các lệnh cơ bản:
4.2 Kiểm thử đồ án
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
52
15 December 2025
TEST CASE #1 - Các lệnh cơ bản:
4.2 Kiểm thử đồ án
Về chức năng (Functional):
Về định thời (Timing):
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
53
15 December 2025
TEST CASE #2 - Các lệnh phức tạp: Kiểm tra các phép dịch bit và toán học phức tạp
4.2 Kiểm thử đồ án
li r0, 2�li r1, 36�li r2, 25�li r3, 100��// Các phép Dịch bit (Shift)�shfl r2, r4 ; Shift Left 1 bit: Dịch trái R2 1 bit, lưu vào R4 �shfr r1, r5 ; Shift Right 1 bit: Dịch phải R1 1 bit, lưu vào R5 �shll r2, r4 ; Shift Left 2 bit: Dịch trái R2 2 bit, lưu vào R4 �shrr r1, r5 ; Shift Right 1 bit: Dịch phải R1 1 bit, lưu vào R5�slll r2, r4 ; Shift Left 3 bit: Dịch trái R2 3 bit, lưu vào R4 �srrr r1, r5 ; Shift Right 3 bit: Dịch phải R1 3 bit, lưu vào R5 ��// Các phép Toán mở rộng (Extend)�mul r1, r2, r4 ; Nhân: R4 = R1 * R2�div r3, r0, r1 ; Chia: R3 = R0 / R1 ��// Các phép tính với hằng số (Immediate)�addi r3, r3, 3 ; R3 = R3 + 3�subi r3, r3, 1 ; R3 = R3 - 1
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
54
15 December 2025
TEST CASE #2 - Các lệnh phức tạp:
4.2 Kiểm thử đồ án
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
55
15 December 2025
TEST CASE #2 - Các lệnh phức tạp:
4.2 Kiểm thử đồ án
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
56
15 December 2025
TEST CASE #2 - Các lệnh phức tạp:
4.2 Kiểm thử đồ án
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
57
15 December 2025
TEST CASE #2 - Các lệnh phức tạp:
4.2 Kiểm thử đồ án
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
58
15 December 2025
TEST CASE #2 - Các lệnh phức tạp:
4.2 Kiểm thử đồ án
Về chức năng (Functional):
Về định thời (Timing):
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
59
15 December 2025
TEST CASE #3 - Các lệnh vòng lặp & rẽ nhánh: Kiểm tra khả năng điều khiển luồng chương trình của PC thông qua lệnh nhảy và rẽ nhánh có điều kiện.
4.2 Kiểm thử đồ án
// Khởi tạo�li r0, 0 ; Biến tổng (Sum) = 0�li r1, 1 ; Biến đếm (i) = 1 �li r2, 6 ; Giới hạn vòng lặp (N) = 6��// Bắt đầu Vòng lặp�LOOP:� add r0, r1, r0 ; Cộng dồn: Sum = Sum + i� inc r1, r1 ; Tăng biến đếm: i = i + 1�� // Kiểm tra điều kiện thoát� beq r1, r2, END ; Nếu i == 6 thì nhảy đến nhãn END (Thoát)�� // Lặp lại � jmp LOOP ; Nếu chưa bằng, nhảy quay lại LOOP
// Kết thúc�END:� nop ; Không làm gì cả (Kết thúc)
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
60
15 December 2025
TEST CASE #3 - Các lệnh vòng lặp & rẽ nhánh:
4.2 Kiểm thử đồ án
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
61
15 December 2025
TEST CASE #3 - Các lệnh vòng lặp & rẽ nhánh:
4.2 Kiểm thử đồ án
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
62
15 December 2025
TEST CASE #3 - Các lệnh vòng lặp & rẽ nhánh:
4.2 Kiểm thử đồ án
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
63
15 December 2025
TEST CASE #3 - Các lệnh vòng lặp & rẽ nhánh:
4.2 Kiểm thử đồ án
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
64
15 December 2025
TEST CASE #3 - Các lệnh phức tạp:
4.2 Kiểm thử đồ án
Về logic điều khiển (Control Logic):
Về hoạt động tổng thể:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
65
15 December 2025
4.2 Kiểm định và hạn chế đồ án
Tài nguyên phần cứng: Tổng số cổng Logic sử dụng:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
66
15 December 2025
4.2 Kiểm định và hạn chế đồ án
Điều kiện Kiểm định Công suất:
Thiết bị phần cứng: FPGA Cyclone II � Mã chip: EP2C35F672C6
Điện áp hoạt động (Voltage):
Nhiệt độ:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
67
15 December 2025
4.2 Kiểm định và hạn chế đồ án
Phân tích Tiêu thụ năng lượng nội tại:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
68
15 December 2025
4.2 Kiểm định và hạn chế đồ án
Phân tích Tiêu thụ năng lượng nội tại:
Phân bố theo khối (Block Type):
Phân bố theo kiến trúc (Hierarchy):
Nhận xét: Thiết kế logic gọn nhẹ, không gây lãng phí tài nguyên động.
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
69
15 December 2025
4.2 Kiểm định và hạn chế đồ án
Tổng kết Công suất Tản nhiệt:
Tổng công suất tản nhiệt: 119.66 mW.
Thành phần chi tiết:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
70
15 December 2025
4.2 Kiểm định và hạn chế đồ án
Phân tích Định thời: Setup Time
Các giá trị Slack âm (Red) cho thấy dữ liệu không kịp ổn định trước cạnh lên của Clock ở tần số cao. �=> Đây là nguyên nhân chính giới hạn Fmax.
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
71
15 December 2025
4.2 Kiểm định và hạn chế đồ án
Phân tích Định thời: Hold Time
Đảm bảo dữ liệu ổn định sau cạnh xung Clock. Các đường tín hiệu cần được thiết kế kỹ để tránh vi phạm này.
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
72
15 December 2025
4.2 Kiểm định và hạn chế đồ án
Phân tích Định thời: Minimum Pulse Width
Pulse Width: Độ rộng xung tối thiểu để các linh kiện hoạt động đúng.
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
73
15 December 2025
4.2 Kiểm định và hạn chế đồ án
Hạn chế của đồ án
Hạn chế về Định thời: Kết quả phân tích cho thấy 'Critical Path' (đường trễ lớn nhất) nằm ở các lệnh nhân/chia, gây ra hiện tượng “nút thắt cổ chai” về thời gian.�
Hạn chế về Hiệu năng:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
4. Kết quả nghiên cứu
Copyrights 2025 UIT. All Rights Reserved.
74
15 December 2025
4.2 Kiểm định và hạn chế đồ án
Hạn chế của đồ án
Hạn chế về Tài nguyên lưu trữ:
Hạn chế về Kiến trúc tập lệnh: Chưa hỗ trợ cơ chế Ngắt (Interrupts) hay các giao tiếp ngoại vi (I/O) phức tạp.
=> Áp dụng kỹ thuật Pipeline (Đường ống) để chia nhỏ các tác vụ nhân/chia, giúp nâng cao tần số hoạt động chung.
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
75
15 December 2025
5.1. Thanh ghi đệm
Thanh ghi IF/REG
Thành phần | Chi tiết | Kích thước | Chức năng |
Đầu vào�(Input) | Instruction | 16 bit | Mã máy của lệnh vừa được lấy từ IMEM |
Stall | 1 bit | Tín hiệu điều khiển giữ trạng thái (treo), dùng để xử lý xung đột (Hazard) | |
Flush | 1 bit | Tín hiệu xóa thanh ghi (reset về NOP), dùng khi dự đoán sai nhánh | |
Clock | 1 bit | Xung nhịp đồng bộ hệ thống | |
Đầu ra�(Output) | Instruction - REG | 16 bit | Mã lệnh đã được lưu trữ, cung cấp cho tầng tiếp theo |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
76
15 December 2025
5.1. Thanh ghi đệm
Thanh ghi REG/EX
Thành phần | Chi tiết | Kích thước | Chức năng |
Đầu vào�(Input) | Rs – REG | 16 bit | Được đưa vào thanh ghi nhưng chưa có chức năng cụ thể, được dùng ở đầu ra. |
Rt – REG | 16 bit | ||
Imm – REG | 16 bit | ||
WA – REG | 3 bit | ||
RegWrite – REG | 1 bit | Tín hiệu điều khiển đước lấy từ Control Unit chưa có chức năng cụ thể. | |
RI_Signal – REG | 1 bit | Được tạo ra từ tín hiệu RegDST và RI_Signal từ Control Unit chưa có chức năng cụ thể. |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
77
15 December 2025
5.1. Thanh ghi đệm
Thanh ghi REG/EX
Thành phần | Chi tiết | Kích thước | Chức năng |
Đầu vào�(Input) | ALUscr – REG | 1 bit | Tín hiệu điều khiển được lấy từ Control Unit chưa có chức năng cụ thể. |
Memread – REG | 1 bit | ||
Memwrite – REG | 1 bit | ||
Memtoreg – REG | 1 bit | ||
Branch – REG | 1 bit | ||
Jump – REG | 1 bit | ||
Func – REG | 4 bit |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
78
15 December 2025
5.1. Thanh ghi đệm
Thanh ghi REG/EX
Thành phần | Chi tiết | Kích thước | Chức năng |
Đầu vào�(Input) | Stall | 1 bit | Tín hiệu treo đường ống, giữ nguyên trạng thái thanh ghi để xử lý Data Hazard |
Flush – EX/MEM | 1 bit | Tín hiệu xóa thanh ghi (Clear), được kích hoạt khi phát hiện rẽ nhánh sai từ tầng EX/MEM gửi về | |
Clock | 1 bit | Xung nhịp đồng bộ hệ thống |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
79
15 December 2025
5.1. Thanh ghi đệm
Thanh ghi REG/EX
Thành phần | Chi tiết | Kích thước | Chức năng |
Đầu ra�(Output) | Rs – EX | 16 bit | Dữ liệu nguồn 1 cung cấp cho đầu vào A của ALU (hoặc data cho Store) |
Rt – EX | 16 bit | Dữ liệu nguồn 2 cung cấp cho đầu vào B của ALU | |
Imm – EX | 16 bit | Giá trị tức thời cung cấp cho đầu vào B của ALU (nếu được chọn) | |
WA – EX | 3 bit | Địa chỉ ghi được chuyển tiếp sang tầng sau | |
RegWrite – EX | 1 bit | ||
RI_Signal – EX | 1 bit |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
80
15 December 2025
5.1. Thanh ghi đệm
Thanh ghi REG/EX
Thành phần | Chi tiết | Kích thước | Chức năng |
Đầu ra �(Output) | ALUscr – EX | 1 bit | Tín hiệu chọn kênh cho bộ đa hợp (MUX) trước ALU |
Memread – EX | 1 bit | Địa chỉ ghi được chuyển tiếp sang tầng sau | |
Memwrite – EX | 1 bit | ||
Memwrite – EX | 1 bit | Địa chỉ ghi được chuyển tiếp sang tầng sau. | |
Branch – EX | 1 bit | ||
Jump – EX | 1 bit | ||
Func – EX | 4 bit | Mã chức năng (Function code) dùng để điều khiển ALU Control. |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
81
15 December 2025
5.1. Thanh ghi đệm
Thanh ghi EX/MEM
Thành phần | Chi tiết | Kích thước | Chức năng |
Đầu vào� (Input) | Branch_add – EX | 8 bit | Được đưa vào thanh ghi nhưng chưa có chức năng cụ thể, được dùng ở đầu ra |
Zero – EX | 1 bit | ||
Alu_out – EX | 16 bit | ||
Rs – EX | 16 bit | ||
WA – EX | 3 bit | Địa chỉ ghi được chuyển tiếp sang tầng sau | |
Imm – EX | 16 bit | ||
Regwrite – EX | 1 bit | ||
RI_Signal – EX | 1 bit |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
82
15 December 2025
5.1. Thanh ghi đệm
Thanh ghi EX/MEM
Thành phần | Chi tiết | Kích thước | Chức năng |
Đầu vào �(Input) | Memread – EX | 1 bit | Được đưa vào thanh ghi nhưng chưa có chức năng cụ thể, được dùng ở đầu ra |
Memwrite – EX | 1 bit | ||
Memtoreg – EX | 1 bit | Địa chỉ ghi được chuyển tiếp sang tầng sau | |
Branch – EX | 1 bit | Được đưa vào thanh ghi nhưng chưa có chức năng cụ thể, được dùng ở đầu ra | |
Jump – EX | 1 bit | ||
Clock | 1 bit | Xung nhịp đồng bộ hệ thống. |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
83
15 December 2025
5.1. Thanh ghi đệm
Thanh ghi EX/MEM
Thành phần | Chi tiết | Kích thước | Chức năng |
Đầu ra (Output) | Branch_add – MEM | 8 bit | Địa chỉ đích của lệnh rẽ nhánh dược lấy ra từ IMM, sử dụng trong lệnh rẽ nhánh |
Zero – MEM | 1 bit | Cờ trạng thái từ ALU (bằng 1 nếu kết quả tính toán là 0), sử dụng trong lệnh rẽ nhánh | |
Alu_out – MEM | 16 bit | Kết quả tính toán của ALU để làm giá trị đích về RF | |
Rs – MEM | 16 bit | Dữ liệu cần ghi vào bộ nhớ dữ liệu (DMEM) | |
WA – MEM | 3 bit | Địa chỉ ghi được chuyển tiếp sang tầng sau | |
Imm – MEM | 16 bit | Chọn Address cho DMEM để ghi dữ liệu vào đồng thời làm làm giá trị đích về RF |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
84
15 December 2025
5.1. Thanh ghi đệm
Thanh ghi EX/MEM
Thành phần | Chi tiết | Kích thước | Chức năng |
Đầu ra (Output) | Regwrite – MEM | 1 bit | Địa chỉ ghi được chuyển tiếp sang tầng sau |
RI_Signal – MEM | 1 bit | ||
Memread – MEM | 1 bit | Tín hiệu cho phép đọc bộ nhớ. Được truyền qua tầng EX để đến tầng MEM | |
Memwrite – MEM | 1 bit | Tín hiệu cho phép ghi bộ nhớ. Được truyền qua tầng EX để đến tầng MEM | |
Memtoreg – MEM | 1 bit | Địa chỉ ghi được chuyển tiếp sang tầng sau | |
Branch – MEM | 1 bit | Tín hiệu tích cực khi gặp lệnh rẽ nhánh (BEQ) |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
85
15 December 2025
5.1. Thanh ghi đệm
Thanh ghi MEM/WB
Thành phần | Chi tiết | Kích thước | Chức năng |
Đầu vào �(Input) | Dmem – MEM | 16 bit | Được đưa vào thanh ghi nhưng chưa có chức năng cụ thể, được dùng ở đầu ra |
Alu_out – MEM | 16 bit | ||
Imm – MEM | 16 bit | ||
WA – MEM | 3 bit | ||
Regwrite – MEM | 1 bit | Được đưa vào thanh ghi nhưng chưa có chức năng cụ thể, được dùng ở đầu ra | |
RI_Signal – MEM | 1 bit | ||
Memtoreg – MEM | 1 bit | ||
Clock | 1 bit | |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
86
15 December 2025
5.1. Thanh ghi đệm
Thanh ghi MEM/WB
Thành phần | Chi tiết | Kích thước | Chức năng |
Đầu ra (Output) | Dmem – MEM | 16 bit | Là giá trị đích cho RF nếu như dùng lênh LW |
Alu_out – MEM | 16 bit | Là giá trị đích cho RF nếu dùng lệnh RRR và một số RRI (add, sub, addi, subi,…) | |
Imm – MEM | 16 bit | Là giá trị đích cho RF nếu dùng lệnh LI | |
WA – MEM | 3 bit | Là địa chỉ của thanh ghi RF được ghi vào | |
Regwrite – MEM | 1 bit | Tín hiệu cho phép ghi vào RF hay không | |
RI_Signal – MEM | 1 bit | Lựa chọn giữa 2 giá trị đích là Alu_out và Imm | |
Memtoreg – MEM | 1 bit | Lựa chọn giữa 2 giá trị đích là Dmem và tín hiệu còn lại (Alu_out hoặc Imm) |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
87
15 December 2025
5.1. Thanh ghi đệm
Register file
Thanh ghi R0 trong pipeline là thanh ghi có giá trị hằng là 0, giúp logic của các chức năng xử lý xung đột pipeline trở nên đơn giản hơn
Register File trong hệ thống Pipeline kích hoạt cạnh xuống thay vị cạnh lệnh để thực hiện nguyên tắc "Ghi trước - Đọc sau" trong cùng một chu kỳ xung nhịp. Cụ thể:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
88
15 December 2025
5.2. Flus Stall
Flush
Được dùng để xử lý branch hoặc hazard khi một lệnh đã được giải mã nhưng sau đó không nên thực hiện (ví dụ: branch bị taken). Khi xảy ra trường hợp này, các lệnh “sai” đã đi vào pipeline cần bị xoá hoặc reset, tránh tác động lên thanh ghi và bộ nhớ. Flushing giúp đảm bảo tính đúng đắn của chương trình bằng cách đặt các buffer hoặc thanh ghi trung gian thành NOP, ngăn lệnh không hợp lệ thực thi
Điều kiện để flush xảy ra:
Flush = ~Jmp_EXMEM*(Branch_EXMEM * zero_EXMEM) + Jmp_EXMEM*(Branch_EXMEM * ~zero_EXMEM)
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
89
15 December 2025
5.2. Flus Stall
Stall
Data hazard (cụ thể là Read After Write) xảy ra khi một lệnh cần sử dụng dữ liệu mà lệnh trước đó chưa kịp ghi kết vào thanh ghi (WB), trong khi lệnh đó đang đọc dữ liệu ở ID hoặc EX. Một giải pháp để xử lý xung đột dữ liệu là stall.
Điều kiện của xung đột dữ liệu (cụ thể là RAW):
o Stall_IDEX = (IDEX_regwrtie == 1) and (IDEX_regwrtie != 0) and [(IDEX_rd==IFID_rs1) or (IDEX_rd == IFID_rs2)]
o Stall_EXMEM = (EXMEM_regwrtie= = 1) and (EXMEM_regwrite != 0) and [(EXMEM_rd == IFID_rs1) or (EXMEM_rd == IFID_rs2)]
→ RAW = Stall_IDEX or Stall_EXMEM
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
90
15 December 2025
5.2. Flush Stall
Stall
Một ví dụ về xung đột dữ liệu RAW:
li r1, 6
li r2, 5
add r1, r2, r3
sub r1, r2, r4
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
91
15 December 2025
5.2. Flus Stall
Stall
li r1, 6 | IF | ID | EX | MEM | WB (R1 đang được ghi) |
| |
li r2, 5 |
| IF | ID | EX | MEM | WB (R2 đang được ghi) | |
add r1, r2, r3 |
|
| IF | ID | EX (Không có dữ liệu R1, R2) → Xung đột |
| |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
92
15 December 2025
5.2. Flus Stall
Stall
li r1, 6 | IF | ID | EX | MEM | WB |
|
|
|
|
|
|
li r2, 5 |
| IF | ID | EX | MEM | WB |
|
|
|
|
|
|
|
| NOP | NOP | NOP | NOP | NOP |
|
|
|
|
|
|
|
| NOP | NOP | NOP | NOP | NOP |
|
|
|
|
|
|
|
| NOP | NOP | NOP | NOP | NOP |
|
|
add r1, r2, r2 |
|
|
|
|
| IF | ID | EX | MEM �(R1, R2 sẵn sàng) | WB |
|
sub r1, r2, r4 |
|
|
|
|
|
| IF | ID | EX | MEM | WB |
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
93
15 December 2025
5.3 Hình ảnh thiết kế và waveform
Flush
Mạch phát hiện branch
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
94
15 December 2025
5.3 Hình ảnh thiết kế và waveform
Flush
Tín hiệu flush đi vào buffer if/id để chèn lệnh nop và dùng để gán giá trị 0 cho các tín hiệu điều khiển đầu ra của buffer id/ex
Kết quả mô phỏng cho flush:
li r1, 2
li r2, 2
jmp HI
li r3, 6
li r4, 7
HI:
li r7, 10
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
95
15 December 2025
5.3 Hình ảnh thiết kế và waveform
Flush
Trong đó:
=> Tất cả được dùng để phát hiện BRANCH.
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
96
15 December 2025
5.3 Hình ảnh thiết kế và waveform
Stall
Mạch phát hiện xung đột RAW
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
97
15 December 2025
5.3 Hình ảnh thiết kế và waveform
Stall
Tín hiệu Stall đi vào pc và buffer if/id để chặn lấy giá trị mới. Stall là input control unit, khi kích hoạt thì toàn bộ output của Control Unit sẽ bằng 0.
Kết quả mô phỏng waveform cho Stall:
li r1, 6
li r2, 5
add r1, r2, r3
sub r1, r2, r4
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
98
15 December 2025
5.3 Hình ảnh thiết kế và waveform
Stall
Trong đó:
=> Tất cả được dùng để phát hiện RAW.
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
5. Pipeline
Copyrights 2025 UIT. All Rights Reserved.
99
15 December 2025
5.4 Ưu điểm và nhược điểm
Ưu điểm
Nhược điểm:
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
6. Pipeline tổng thể
Copyrights 2025 UIT. All Rights Reserved.
100
15 December 2025
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn
CẢM ƠN MỌI NGƯỜI ĐÃ CHÚ Ý LẮNG NGHE!
Copyrights 2022 CE-UIT. All Rights Reserved.
101
15 December 2025
Q&A
KHOA KỸ THUẬT MÁY TÍNH
www.9slide.vn