You are on page 1of 7

Chương 2.

IT012 – Lab 02
2.1. Lý thuyết

2.1.1. ALU

- Khái niệm: ALU (Arithmetics Logic Unit) là một mạch điện tử - thành phần cơ bản của CPU – có chức
năng thực hiện các phép tính số học và logic sau đó trả lại kết quả cho thanh ghi và bộ nhớ.

- Các toán tử và hàm trong ALU được xác định bởi một mã ngõ vào.

2.1.2. Register File

- Khái niệm: Register File (Tập thanh ghi) là một bộ nhớ dung để lưu trữ dữ liệu tạm để được xử lý bởi
các đơn vị xử lý (chẳng hạn như ALU)

- Cấu tạo: Mảng một chiều của các thanh ghi


2.1.3. Decoder

- Khái niệm: Decoder (Bộ giải mã) là một mạch tổ hợp có chức năng chuyển thông tin nhị phân từ các
ngõ vào tới từng ngõ ra

- Cấu tạo:

 Nhiều ngõ vào/ nhiều ngõ ra


 Ngõ vào thông thường ít hơn ngõ ra

2.1.4. Mux (Multiplexer)

- Khái niệm: Mux (Bộ chọn) là một mạch tổ hợp có chức năng lựa chọn một trong những ngõ vào dữ liệu
để gửi tới một ngõ ra duy nhất dựa trên các ngõ vào điều khiển

- Hoạt động: Một Mux truyền một trong những ngõ vào của nó ra ngõ ra dựa trên tín hiệu Select
2.2. Thực hành

2.2.1. Mô phỏng ALU

Hình 2.2.1. Cấu tạo ALU

Bảng 2.2.1. Bảng sự thật ALU

Opcode Phép toán

00 A+B

01 A-B

10 A AND B

11 A NAND B
Ví dụ:

+ A: 0 0 0 0 0 0 1 0; B: 0 0 0 0 0 1 0 0; Opcode: 0 0 => Result: 0 0 0 0 0 1 1 0

+ A: 0 0 0 0 0 0 1 0; B: 0 0 0 0 0 1 0 0; Opcode: 0 1 => Result: 1 1 1 1 1 1 1 0

+ A: 0 0 0 0 0 0 1 0; B: 0 0 0 0 0 1 0 0; Opcode: 1 0 => Result: 0 0 0 0 0 0 0 0

+ A: 0 0 0 0 0 0 1 0; B: 0 0 0 0 0 1 0 0; Opcode: 1 1 => Result: 1 1 1 1 1 1 1 1


2.2.2. Mô phỏng Register Files gồm 4 thanh ghi 8 bit

Hình 2.2.2. Cấu tạo Register Files

Bảng 2.2.2. Bảng sự thật Register Files

Địa chỉ ghi Địa chỉ xuất Thanh ghi

00 00 A

01 01 B

10 10 C

11 11 D
2.3. Bài tập

2.3.1. Cải tiến ALU với các phép toán: A+B, A+1, A-B, A-1, A AND B, A OR B, NOT A, A XOR B

Hình 2.3.1. Cấu tạo ALU cải tiến

Bảng 2.3.1. Bảng sự thật ALU cải tiến

Opcode Phép toán

000 A+B

001 A+1

010 A–B

011 A–1

100 A AND B
101 A OR B

110 NOT A

111 A XOR B
Ví dụ:

+ A: 0 0 0 0 0 0 1 0; B: 0 0 0 0 0 1 0 0; Opcode: 0 0 0 => Result: 0 0 0 0 0 1 1 0

+ A: 0 0 0 0 0 0 1 0; B: 0 0 0 0 0 1 0 0; Opcode: 0 0 1 => Result: 0 0 0 0 0 0 1 1

+ A: 0 0 0 0 0 0 1 0; B: 0 0 0 0 0 1 0 0; Opcode: 0 1 0=> Result: 1 1 1 1 1 1 1 0

+ A: 0 0 0 0 0 0 1 0; B: 0 0 0 0 0 1 0 0; Opcode: 0 1 1 => Result: 0 0 0 0 0 0 0 1

+ A: 0 0 0 0 0 0 1 0; B: 0 0 0 0 0 1 0 0; Opcode: 1 0 0 => Result: 0 0 0 0 0 0 0 0

+ A: 0 0 0 0 0 0 1 0; B: 0 0 0 0 0 1 0 0; Opcode: 1 0 1 => Result: 0 0 0 0 0 1 1 0

+ A: 0 0 0 0 0 0 1 0; B: 0 0 0 0 0 1 0 0; Opcode: 1 1 0=> Result: 1 1 1 1 1 1 0 1

+ A: 0 0 0 0 0 0 1 0; B: 0 0 0 0 0 1 0 0; Opcode: 1 1 1=> Result: 0 0 0 0 0 1 1 0

2.3.2. Thiết kế và mô phỏng lại Register Files với địa chỉ xuất riêng với địa chỉ ghi

Hình 2.3.2. Cấu tạo Register Files với địa chỉ xuất riêng với địa chỉ ghi
Bảng 2.2.2. Bảng sự thật Register Files với địa chỉ xuất riêng với địa chỉ ghi

Địa chỉ ghi Địa chỉ xuất Thanh ghi

00 00 A

01 01 B

10 10 C

11 11 D

You might also like