MIPS (Microprocessor without Interlocked Pipeline Stages) là một kiến trúc tập lệnh phổ biến trong lĩnh vực thiết kế vi xử lý.
Ghi chú nhỏ: Hế lu, lại là Hoàng Duy đây. Bạn có thể đọc thêm bài viết về MIPS tôi đã viết trước đây: Đọc ngay: Chuyển đổi hợp ngữ MIPS sang mã máy
Giới thiệu
Máy tính và kiến trúc máy tính là hai thuật ngữ quen thuộc trong lĩnh vực công nghệ thông tin. Máy tính là một thiết bị có khả năng thực hiện các phép tính và xử lý thông tin theo các chỉ dẫn được cung cấp. Trong khi đó, kiến trúc máy tính là cách mà các thành phần của máy tính được kết hợp và tổ chức để hoạt động hiệu quả.
Lệnh, Tập lệnh và Kiến trúc tập lệnh
Trong kiến trúc máy tính, lệnh là một tín hiệu hoặc một nhóm tín hiệu được máy tính nhận diện và thực hiện để thực hiện một hoạt động cụ thể. Tập lệnh là tập hợp các lệnh mà máy tính có thể hiểu và thực hiện. Mỗi kiến trúc máy tính có một tập lệnh riêng, được xác định bởi kiến trúc tập lệnh.
Giới thiệu về kiến trúc tập lệnh MIPS
MIPS (Microprocessor without Interlocked Pipeline Stages) là một kiến trúc tập lệnh phổ biến trong lĩnh vực thiết kế vi xử lý. Kiến trúc tập lệnh MIPS được phát triển bởi công ty MIPS Computer Systems và đã trở thành một trong những kiến trúc quan trọng trong ngành công nghiệp vi xử lý.
Datapath trong tập lệnh MIPS
Datapath trong kiến trúc tập lệnh MIPS là nơi thực hiện các phép tính và xử lý dữ liệu. Nó bao gồm các thành phần chính như bộ nhớ, bộ nhớ đệm, bộ xử lý trung tâm (Central Processing Unit – CPU), và các đường dẫn (pathways) để truyền dữ liệu giữa các thành phần này.
Bảng 1: Mô tả ngõ ra của các cổng trong khối Control:
Cổng | Chức năng |
---|---|
RegDst | Chọn thanh ghi đích |
Branch | Điều khiển nhảy |
MemRead | Đọc từ bộ nhớ |
MemtoReg | Đưa dữ liệu từ bộ nhớ vào thanh ghi |
ALUOP | Chọn phép tính của ALU |
MemWrite | Ghi vào bộ nhớ |
ALUSrc | Chọn nguồn dữ liệu đầu vào cho ALU |
RegWrite | Ghi vào thanh ghi |
Bảng 2: Bảng chân trị khối Control
opcode | RegWrite | ALUSrc | ALUOp | MemWrite | MemRead | MemtoReg | Branch |
lw | 1 | 1 | 00 | 0 | 1 | 1 | 0 |
sw | 0 | 1 | 00 | 1 | 0 | X | 0 |
beq | 0 | 0 | 01 | 0 | 0 | X | 1 |
Loại R | 1 | 0 | 10 | 0 | 0 | 0 | 0 |
Bảng 3: Mô tả ngõ ra của ALU Control theo đầu vào ALUOp:
opcode | ALUOp | Lệnh | funct | Phép toán ALU | ALU control |
lw | 00 | Nạp word | ______ | Cộng | 0010 |
sw | 00 | Lưu word | ______ | Cộng | 0010 |
beq | 01 | Nhảy nếu bằng | ______ | Trừ | 0110 |
Loại R | 10 | Cộng | 100000 | Cộng | 0010 |
Trừ | 100010 | Trừ | 0110 | ||
AND | 100100 | AND | 0000 | ||
OR | 100101 | OR | 0001 | ||
Thiết lập nếu nhỏ hơn | 101010 | Thiết lập nếu nhỏ hơn | 0111 |
Chu kỳ thực thi lệnh
Chu kỳ thực thi lệnh trong kiến trúc tập lệnh MIPS bao gồm các bước sau:
- Fetch (Nạp lệnh): Lệnh được lấy từ bộ nhớ lệnh và đưa vào bộ nhớ đệm lệnh (Instruction Cache).
- Decode (Giải mã): Lệnh được giải mã để xác định loại lệnh và các toán hạng liên quan.
- Execute (Thực thi): Thực hiện các phép tính và xử lý dữ liệu theo lệnh đã được giải mã.
- Memory Access (Truy cập bộ nhớ): Nếu có, truy cập và xử lý dữ liệu trong bộ nhớ.
- Write Back (Ghi lại): Kết quả của lệnh được ghi lại vào thanh ghi hoặc bộ nhớ.
Kết luận
Trên đây là một giới thiệu sơ lược về máy tính, kiến trúc máy tính, lệnh và tập lệnh, cũng như giới thiệu về kiến trúc tập lệnh MIPS. Datapath và các thành phần quan trọng của nó đã được mô tả. Bạn muốn đọc thêm các bài viết với chủ đề tương tự? Hãy bấm theo dõi tôi ngay.
References:
Tài liệu môn Kiến trúc máy tính – Khoa KTMT trường Đại học Công Nghệ Thông tin: https://www.cit.ctu.edu.vn/~dtnghi/cod/ch5.pdf