Thiết kế CPU RISC-V để triển khai FPGA ① Tìm hiểu cấu trúc lệnh và nguyên lý thực thi RV32I bằng Python
EdgeChipLab
Khi quyết định tự xây dựng một CPU, phần lớn mọi người thường bắt đầu bằng việc tìm sơ đồ mạch. Nhưng ngay khi mở bản vẽ ra, những câu hỏi không thể trả lời xuất hiện. Tại sao khối này phải nằm ở đây? Tại sao cổng đọc thanh ghi lại có hai cái? Tất cả câu trả lời đều nằm trong tập lệnh. Khi biết tập lệnh yêu cầu điều gì, ta sẽ xác định được cần những mạch nào. Làm theo thứ tự ngược lại thì không được. Đã có khá nhiều khóa học về RISC-V. Nhưng phần lớn chỉ hiển thị một giá trị trên slide, nói “nó hoạt động như thế này” rồi chuyển sang phần tiếp theo. Người học không có cách nào kiểm chứng giá trị đó có đúng hay không. Khóa học này đi kèm một trình mô phỏng thực thi lệnh bằng Python. Khi nhập run ADD, mã máy sẽ được lắp ráp ngay tại chỗ, 32 bit sẽ được phân tách theo từng trường, và sự thay đổi của các thanh ghi sẽ hiển thị trên màn hình. Mọi con số trong giáo trình đều là kết quả chạy từ công cụ này và sẽ được tái hiện y hệt trên màn hình của bạn. Trình gỡ lỗi thương mại cần giấy phép, còn trình mô phỏng thì vướng ở khâu cài đặt. Công cụ này chỉ cần có Python là đủ. Không cần bo mạch, giấy phép hay cài đặt. Đây là quá trình trực tiếp thực thi toàn bộ 40 lệnh RV32I, không bỏ sót một lệnh nào, để tự mình khám phá xem mạch cần phải làm gì.
초급
riscv, cpu-architecture, instruction-set-architecture










![Mạch tương tự học theo dòng chảy thay vì công thức: 6 bước để hiểu bộ lọc và OP-AMP [Phần lý thuyết]강의 썸네일](https://cdn.inflearn.com/public/files/courses/339176/cover/ai/1/cd937379-04b7-474d-9b91-0035de94ea0d.png?w=420)



![Cấu trúc và nguyên lý của nhân Linux: Debugging - Basic [Tác giả trực tiếp giảng dạy Phần 1-2]강의 썸네일](https://cdn.inflearn.com/public/courses/333148/cover/a6c28b23-47d5-452e-8b62-5ba8c769f904/333148.png?w=420)

