THIẾT kế CPU RISC 32 BIT đơn CHU kỳ THỰC HIỆN LỆNH BNE

43 384 6
THIẾT kế CPU RISC 32 BIT đơn CHU kỳ THỰC HIỆN LỆNH BNE

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

THIẾT kế CPU RISC 32 BIT đơn CHU kỳ THỰC HIỆN LỆNH BNE THIẾT kế CPU RISC 32 BIT đơn CHU kỳ THỰC HIỆN LỆNH BNE THIẾT kế CPU RISC 32 BIT đơn CHU kỳ THỰC HIỆN LỆNH BNE THIẾT kế CPU RISC 32 BIT đơn CHU kỳ THỰC HIỆN LỆNH BNE THIẾT kế CPU RISC 32 BIT đơn CHU kỳ THỰC HIỆN LỆNH BNE

Trang 1/43 THIẾT KẾ CPU RISC 32 BIT ĐƠN CHU KỲ THỰC HIỆN LỆNH BNE Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 2/43 MỤC LỤC DANH MỤC CÁC HÌNH VẼ .3 DANH MỤC CÁC BẢNG BIỂU .5 DANH MỤC CÁC TỪ VIẾT TẮT CHƯƠNG TỔNG QUAN VỀ SYSTEM VERILOG HDL .7 1.1 GIỚI THIỆU .7 1.2 CẤU TRÚC CỦA NGÔN NGỮ 1.2.1 Khối xây dựng Module 1.2.2 Các loại liệu: 1.2.3 Mảng array 10 1.2.4 Các câu lệnh điều khiển 12 CHƯƠNG HỆ THỐNG CPU RISC 32-BIT .14 2.1 TỔNG QUAN VỀ CPU RISC 14 2.1.1 Giới thiệu .14 2.1.2 Cấu trúc máy tính MIPS 15 2.1.3 Khuôn dạng mã lệnh .16 2.2 CÁC KHỐI CẤU TẠO CHÍNH 18 2.2.1 Khối nhớ lệnh IM .18 2.2.2 Khối tập ghi 19 2.2.3 Khối ALU .21 CHƯƠNG THIẾT KẾ CPU MIPS THỰC HIỆN BNE 23 3.1 LƯU ĐỒ HOẠT ĐỘNG THỰC HIỆN BNE 23 3.2 THIẾT KẾ ĐƯỜNG DỮ LIỆU .24 3.3 THIẾT KẾ ĐƯỜNG ĐIỀU KHIỂN .28 3.4 KẾT QUẢ MÔ PHỎNG TRÊN QUARTUS 29 3.4.1 Mạch RTL mô phỏng: 29 3.4.2 Kết mô 32 Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 3/43 3.5 KẾT QUẢ KIỂM TRA TRÊN KIT DE2 33 CHƯƠNG KẾT LUẬN 35 4.1 KẾT LUẬN 35 4.2 ỨNG DỤNG .35 4.3 HƯỚNG PHÁT TRIỂN 35 TÀI LIỆU THAM KHẢO 36 PHỤ LỤC 37 Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 4/43 DANH MỤC CÁC HÌNH VẼ HÌNH 1-1: SYSTEMVERILOG TRÊN NỀN TẢNG VERILOG HÌNH 1-2: CẤU TẠO MẢNG 10 HÌNH 2-1: MƠ TẢ CẤU TẠO CPU MIPS 15 HÌNH 2-2: HOẠT ĐỘNG CỦA CPU .15 HÌNH 2-3: KHN MÃ LỆNH CỦA RISC CPU 16 HÌNH 2-4: KHN MÃ CỦA LỆNH BNE 17 HÌNH 2-5: BỘ NHỚ LỆNH .18 HÌNH 2-6: MẠCH RTL MƠ PHỎNG KHỐI IM 18 HÌNH 2-7: KẾT QUẢ MÔ PHỎNG KHỐI IM 19 HÌNH 2-8: KHỐI TẬP THANH GHI .19 HÌNH 2-9: MẠCH RTL MƠ PHỎNG KHỐI RF 20 HÌNH 2-10: KẾT QUẢ MÔ PHỎNG KHỐI RF 20 HÌNH 2-11: KHỐI TÍNH TỐN ALU 21 HÌNH 2-12: MẠCH TRỪ CỦA KHỐI ALU 22 HÌNH 2-13: MẠCH RTL MƠ PHỎNG KHỐI ALU THỰC HIỆN TRỪ 22 HÌNH 2-14: KẾT QUẢ MÔ PHỎNG KHỐI ALU THỰC HIỆN TRỪ 22 HÌNH 3-1: ĐỌC LỆNH TỪ ĐỊA CHỈ PC 25 HÌNH 3-2: XUẤT GIÁ TRỊ TỪ TRƯỜNG LỆNH .25 HÌNH 3-3: TÍNH TỐN TỪ GIÁ TRỊ XUẤT RA .26 HÌNH 3-4: ĐƯỜNG DỮ LIỆU HỒN CHỈNH THỰC HIỆN BNE 27 HÌNH 3-5: BỘ ĐIỀU KHIỂN LỆNH BNE 28 HÌNH 3-6: ĐƯỜNG ĐIỀU KHIỂN KHỐI ALU THỰC HIỆN TRỪ 29 HÌNH 3-7: MẠCH RTL MƠ PHỎNG RISC MIPS .29 HÌNH 3-8: MẠCH RTL MƠ PHỎNG CPU MIPS .30 Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 5/43 HÌNH 3-9: MẠCH RTL MƠ PHỎNG ĐƯỜNG ĐIỀU KHIỂN 30 HÌNH 3-10: MẠCH RTL MƠ PHỎNG ĐƯỜNG DỮ LIỆU 30 HÌNH 3-11: MẠCH RTL MÔ PHỎNG KHỐI RF .31 HÌNH 3-12: MẠCH RTL MƠ PHỎNG KHỐI PC .31 HÌNH 3-13: KẾT QUẢ MÔ PHỎNG CPU MIPS THỰC HIỆN LỆNH BNE 32 HÌNH 3-14: KẾT QUẢ BẰNG NHAU KIỂM TRA TRÊN KIT 33 HÌNH 3-15: KẾT QUẢ KHÔNG BẰNG NHAU KIỂM TRA TRÊN KIT .34 DANH MỤC CÁC BẢNG BIỂ Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 6/43 BẢNG 1-1: BẢNG TỔNG HỢP MỘT SỐ LOẠI DỮ LIỆU BẢNG 1-2: TỔNG HỢP MỘT SỐ PHÉP TỐN THƠNG DỤNG 11 BẢNG 2-1: BẢNG TỔNG HỢP ĐƯỜNG ĐIỀU KHIỂN KHỐI ALU 21 Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 7/43 DANH MỤC CÁC TỪ VIẾT TẮT CPU Central Processing Unit RISC Reduced Instruction Set Computer MIPS Microprocessor without Interlocked Pipeline Stages ISA Instruction Set Architecture RF Register File IM Instruction Memory ALU Arithmetic Logic Unit MUX Multiplexer PC Program Counter Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 8/43 CHƯƠNG TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH PHẦN CỨNG SYSTEM VERILOG 1.1 Giới thiệu  SystemVerilog hợp số ngôn ngữ thiết kế phần cứng kiểm tra, phần mở rộng Verilog HDL, thừa hưởng tất tính Verilog Những phần mở rộng cung cấp khả cho việc mơ hình hố phần cứng cấp RTL, hệ thống cấp kiến trúc, với tính phong phú khác để kiểm tra hoạt động mơ hình  Phần lớn chức kiểm tra dựa ngôn ngữ OpenVera Synopsys cung cấp SystemVerilog trở thành tiêu chuẩn IEEE P18002005 Hình 1-1: Phát triển SystemVerilog tảng Verilog [3] Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 9/43 1.2 Cấu trúc ngôn ngữ 1.2.1 Khối xây dựng Module  Khối module sử dụng chủ yếu để biểu diễn khối thiết kế, chứa đoạn mã kiểm tra kết nối khối kiểm tra thiết kế Một số cấu trúc mà module chứa bao gồm: o Các cổng khai báo o Khai báo liệu o Khai báo liên tục o Định nghĩa kiểu người dùng định nghĩa o Định nghĩa nhóm, lớp  Cấu trúc câu lệnh: module (khai báo cổng vào, ra) Đoạn mã; endmodule 1.2.2 Các loại liệu:  SystemVerilog thêm loại liệu mở rộng cho việc đóng gói nén gọn tốt Thêm vào hỗ trợ ngôn ngữ C giống kiểu liệu Loại liệu trạng thái thêm vào có giá trị bit 1, khác với kiểu liệu trạng thái có 0, 1, X Z SystemVerilog cho phép người dùng định nghĩa kiểu liệu  SystemVerilog cung cấp số loại liệu tổng hợp hai kiểu liệu Verilog C Các loại liệu trạng thái mơ nhanh, tốn nhớ sử dụng nhiều số kiểu thiết kế Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 10/43 Bảng 1-1: Bảng tổng hợp số loại liệu [3]  Các loại liệu: o Loại cấu trúc: wire reg  Để mơ hình kết nối phần cứng thành phần mạch Loại wire hoạt động dây thực mạch, cịn reg giữ giá trị đến giá trị khác ghi đè vào giống ghi Khai báo loại nằm khối module nằm ngồi khối liên tục  Cú pháp: reg (wire) tên_biến o Loại hành vi: integer, real, time, parameter, logic,…  Để khai báo biến dựa hành vi, tính chất biến biến số nguyên, số thực, logic,…  Cú pháp: tên_dữ_liệu tên_biến; parameter tên_biến = giá_trị; Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 29/43 Tóm tắt bước đường liệu lệnh bne:         PC giữ địa lệnh Chỉ dẫn đọc từ nhớ lệnh Giá trị PC + tính tốn Giá trị offset thêm vào mở rộng Giá trị ReadAddress đọc địa ghi thiết đặt Tín hiệu điều khiển thiết lập để trừ ALU Các giá trị ReadData đọc từ hai ghi vào ALU Cờ NotZero lệnh điều khiển branchne cho qua cổng logic AND để chọn PC + PC + + offset ghi vào PC (ở cuối xung đồng hồ) 3.2 Thiết kế đường điều khiển Bộ điều khiển giải mã tín hiệu điều khiển dựa opcode Hầu hết thông tin điều khiển xuất phát từ opcode, dẫn loại R sử dụng trường funct để xác định hoạt động ALU thị Instr 31:26 Instr5:0 Tuy nhiên lệnh rẽ nhánh bne thuộc dạng khung lệnh I nên trường funct khơng sử dụng, trường funct lược bỏ khỏi thiết kế Hình 3-5: Bộ điều khiển lệnh bne [4] Đường điều khiển thiết kế cách sử dụng giải mã tính tốn hầu hết kết đầu từ opcode chứa dạng mã lệnh cho lệnh, lệnh rẽ nhánh bne opcode = ‘000101’ Từ opcode giải mã xác định Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 30/43 có phải lệnh cần thực lệnh bne Nếu lệnh bne giải mã xuất cờ báo lệnh branchne, đồng thời xuất tín hiệu điều khiển ALUControl2:0 = ‘110’ dùng để điều khiển khối ALU thực phép tốn cần tính Hình 3-6: Đường điều khiển khối ALU thực trừ [4] Đối với lệnh bne khối ALU nhận vào hai tốn hạng giá trị hai ghi từ tập ghi, sau khối ALU thực phép tính trừ thiết kế đường điều khiển ALU = ‘110’ Sau trừ giá trị hai ghi kết so sánh có nghĩa giá trị hai ghi nhau, cờ NotZero khơng bật Ngược lại, kết khác giá trị hai ghi khác nhau, cờ NotZero bật lên dùng để điều khiển địa rẽ nhánh đến 3.3 Kết mô Quartus 3.3.1 Mạch RTL mô phỏng:  Mạch bao quát: Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 31/43 Hình 3-7: Mạch RTL mơ RISC MIPS  Mạch CPU MIPS: Hình 3-8: Mạch RTL mô CPU MIPS  Khối điều khiển: Hình 3-9: Mạch RTL mơ đường điều khiển  Khối đường liệu: Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 32/43 Hình 3-10: Mạch RTL mô đường liệu  Khối tập ghi: Hình 3-11: Mạch RTL mơ khối RF  Khối PC: Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 33/43 Hình 3-12: Mạch RTL mô khối PC 3.3.2 Kết mơ giá trị lệnh thực bne Hình 3-13: Kết mô CPU MIPS thực lệnh bne Kết mô cho thấy đặt giá trị công tắc sw để gán giá trị cho ghi RF kết quả, thể qua biến ledg có giá trị mức thấp Ngược lại, giá trị hai ghi khác biến ledg có giá trị mức cao Điều cho thấy mô thể hoạt động cần thiết lệnh bne Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 34/43 3.4 Kết kiểm tra thực nghiệm KIT DE2 Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 35/43 Hình 3-14: Kết kiểm tra kit Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 36/43 Hình 3-15: Kết khơng kiểm tra kit CHƯƠNG 1.2 KẾT LUẬN Kết luận Mạch thiết kế, lập trình, mơ kiểm tra kit thực tế dựa kiến thức lý thuyết kiến trúc thiết kế máy tính Mặc dù mạch thực lệnh có hạn chế việc nhập liệu từ khóa điện mạch đáp ứng hoạt động mong muốn Kết quả: Mạch hoạt động theo yêu cầu đặt 1.3 Ứng dụng Mạch thiết kế với mục đích để thực lệnh so sánh không Ứng dụng mạch nằm việc so sánh giá trị hai ghi hay khác từ thực lệnh tiếp chuỗi lệnh theo mong muốn Kết từ việc tính tốn sử dụng để điều khiển thiết bị động cơ, linh kiện phát quang bật tắt tự động nhiều ứng dụng khác 1.4 Hướng phát triển Mạch phát triển hồn thiện hơn, tích hợp thêm thành phần giúp cải thiện q trình tính tốn thực lệnh để dần trở thành CPU nghĩa phục vụ nhu cầu ứng dụng vào thực tế:  Tự động hóa q trình nạp liệu thông tập lệnh mà không cần phải nạp liệu cách thủ cơng thơng qua khóa điện  Thiết kế cải tiến mạch từ đơn chu kỳ thành đa chu kỳ để cải thiện tốc độ xử lý mạch cách đáng kể  Bổ sung dạng mã lệnh khác để mạch thực nhiều lệnh khác, từ khơng bị hạn chế tính ứng dụng Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 37/43 TÀI LIỆU THAM KHẢO Tiếng Việt: [1] TS Đinh Đồng Lưỡng Bài Giảng Kiến Trúc Máy Tính Nguồn http://fit.upt.edu.vn/22-khoa-cntt-dhpt/tai-lieu-hoc-tap/9-kien-truc-may-tinh.html [2] Tống Văn On Bài Giảng Vi Xử Lý Nâng Cao Đại hoc Bách Khoa TP Hồ Chí Minh Tiếng Anh: [3] Hennessy, J L., Patterson, D A., & Arpaci-Dusseau, A (2012) Computer Architecture: A Quantitative Approach Waltham: Morgan Kaufmann [4] Singh, M., Prof., & Rooney, M E (n.d.) COMP 541: Digital Logic and Computer Design Retrieved April 17, 2017, from http://comp541fall14.web.unc.edu [5] Verification Guide SystemVerilog Tutorial Retrieved April 22, 2017, from http://www.verificationguide.com/p/systemverilog-tutorial.html Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 38/43 PHỤ LỤC Chương trình thiết kế CPU RISC 32 bit đơn chu lệnh bne:  Bộ cộng:  Bộ mở rộng dấu: Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 39/43  Bộ ghép kênh MUX 2:1  Bộ tính tốn số học, logic: Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 40/43  Bộ giải mã đường điều khiển:  Bộ đếm chương trình: Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 41/43  Bộ nhớ lệnh:  Tập ghi: Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 42/43  Đường liệu: Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 43/43  Đường điều khiển: Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne ... http://www.verificationguide.com/p/systemverilog-tutorial.html Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 38/43 PHỤ LỤC Chương trình thiết kế CPU RISC 32 bit đơn chu lệnh bne:  Bộ cộng:  Bộ mở rộng dấu: Thiết Kế CPU RISC 32 Bit Đơn Chu. .. trình: Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 41/43  Bộ nhớ lệnh:  Tập ghi: Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 42/43  Đường liệu: Thiết Kế CPU RISC. .. ALU thực trừ  Kết mô kiểm tra: Hình 2-14: Kết mơ khối ALU thực trừ Thiết Kế CPU RISC 32 Bit Đơn Chu Kỳ Thực Hiện Lệnh Bne Trang 24/43 CHƯƠNG THIẾT KẾ CPU MIPS 32- BIT ĐƠN CHU KỲ THỰC HIỆN LỆNH BNE

Ngày đăng: 21/01/2018, 20:25

Mục lục

    DANH MỤC CÁC HÌNH VẼ

    DANH MỤC CÁC TỪ VIẾT TẮT

    CHƯƠNG 1. TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH PHẦN CỨNG SYSTEM VERILOG

    1.2 Cấu trúc của ngôn ngữ

    1.2.1 Khối xây dựng cơ bản Module

    1.2.2 Các loại dữ liệu:

    1.2.4 Các câu lệnh điều khiển

    CHƯƠNG 2. HỆ THỐNG CPU RISC 32-BIT

    2.1 Tổng quan về CPU RISC

    2.1.2 Cấu trúc cơ bản của một máy tính MIPS

Tài liệu cùng người dùng

Tài liệu liên quan