Thiết kế CPU RISC-V để triển khai trên FPGA ① Cấu trúc lệnh RV32I và nguyên lý thực thi học qua Python

Khi quyết định chế tạo CPU, thông thường người ta sẽ tìm sơ đồ mạch điện trước. Thế nhưng, ngay khi mở bản vẽ ra, một câu hỏi không lời giải đáp sẽ xuất hiện: Tại sao khối này lại phải nằm ở đây? Tại sao cổng đọc thanh ghi lại có hai cái? Mọi câu trả lời đều nằm ở tập lệnh. Khi biết tập lệnh yêu cầu điều gì, chúng ta sẽ xác định được cần những mạch điện nào. Quy trình ngược lại là không thể. Đã có rất nhiều bài giảng về RISC-V. Tuy nhiên, hầu hết chỉ hiển thị các giá trị trên slide rồi nói rằng "nó hoạt động như thế này" và lướt qua. Học viên không có cách nào để xác nhận xem giá trị đó có đúng hay không. Khóa học này cung cấp cho bạn một trình mô phỏng thực thi lệnh bằng Python. Khi bạn gõ `run ADD`, mã máy sẽ được lắp ráp ngay tại chỗ, 32 bit sẽ được trải rộng theo từng trường, và cách các thanh ghi thay đổi sẽ hiển thị trên màn hình. Mọi con số trong giáo trình đều là kết quả thực thi của công cụ này, và chúng sẽ được tái hiện y hệt trên màn hình của bạn. Các trình gỡ lỗi thương mại yêu cầu giấy phép, còn các trình mô phỏng thì việc cài đặt là một rào cản. Với công cụ này, bạn chỉ cần có Python. Không cần bo mạch, không cần giấy phép, cũng không cần cài đặt phức tạp. Đây là quá trình bạn sẽ trực tiếp thực thi không sót một lệnh nào trong số 40 lệnh RV32I, để từ đó tự mình tìm ra mạch điện cần phải làm những gì.

2 học viên đang tham gia khóa học này

Độ khó Cơ bản

Thời gian Không giới hạn

riscv
riscv
cpu-architecture
cpu-architecture
instruction-set-architecture
instruction-set-architecture
FPGA
FPGA
Computer Architecture
Computer Architecture
riscv
riscv
cpu-architecture
cpu-architecture
instruction-set-architecture
instruction-set-architecture
FPGA
FPGA
Computer Architecture
Computer Architecture

Bạn sẽ nhận được điều này sau khi học.

  • · Bạn sẽ nắm vững các tiêu chuẩn thiết kế tập lệnh để tự thiết kế CPU cho riêng mình

  • · Bạn có thể cụ thể hóa chủ đề thiết kế CPU cho đồ án tốt nghiệp, bài dự thi các cuộc thi hoặc thiết kế Capstone.

  • · Có thể nhìn vào 32 bit của ngôn ngữ máy để xác định định dạng, phân tách các trường và đọc xem đó là lệnh gì.

  • · Bạn có thể trực tiếp thực thi 40 lệnh RV32I và kiểm tra sự thay đổi của thanh ghi cũng như bộ nhớ.

  • · Có thể giải thích một lệnh đi qua khối nào của mạch điện và 13 tín hiệu điều khiển được quyết định như thế nào.

  • · Bạn sẽ có một trình mô phỏng thực thi lệnh Python có thể chạy lại bất cứ lúc nào

  • · Có thể hiểu ý nghĩa của việc kiểm chứng Bit-True và xác định được việc nói rằng "đã kiểm chứng" sẽ đảm bảo điều gì.

  • · Trong buổi phỏng vấn kỹ thuật, bạn có thể trả lời về nguyên lý hoạt động của CPU bằng chính kinh nghiệm thực hành của mình thay vì những câu văn học thuộc lòng.

Hãy thử tự mình tạo ra CPU trên FPGA.

CPU là bộ não của máy tính. Tuy nhiên, không có nhiều bài giảng hướng dẫn một cách hệ thống về cách tự thiết kế CPU. Hầu hết đều bắt đầu bằng việc đưa ra mã RTL hoặc giải thích về đường truyền dữ liệu (datapath). Thế nhưng, câu hỏi thực sự nằm ở đây.

Tại sao CPU phải có cấu trúc như thế này?

Tại sao lại có 32 thanh ghi?

Tại sao ALU lại cần thiết?

Tại sao lại có hai cổng đọc?

Tại sao Write Back lại tồn tại?

Câu trả lời cho tất cả những câu hỏi này đều nằm ở tập lệnh. CPU là một mạch điện được tạo ra để thực thi các lệnh. Nếu không hiểu tập lệnh, bạn cũng không thể hiểu được CPU. Khóa học này là quá trình học về tập lệnh dưới góc nhìn của một người trực tiếp tạo ra CPU.


Mục tiêu của khóa học này

Mục tiêu của bài giảng này không phải là ghi nhớ các tập lệnh RV32I. Mà là tạo nền tảng để trực tiếp thiết kế CPU RISC-V hoạt động trên FPGA. Sau này, các bạn sẽ

· Single-Cycle CPU

· Pipeline CPU

· Bạn sẽ tiến hành cho đến khi thực hiện trên FPGA.

Khóa học này là bước đầu tiên trong quá trình đó.


■ Tại sao lại là thứ tự này?

Nhiều người bắt đầu học RTL để chế tạo CPU. Tuy nhiên, trình tự thực hiện lại ngược lại.

Lệnh→Hoạt động cần thiết→Đường dữ liệu (Datapath)→Tín hiệu điều khiển→RTL→FPGA

CPU là kết quả của việc hiện thực hóa các chức năng mà lệnh yêu cầu. Hãy lấy ví dụ về lệnh ADD.

Phải đọc hai thanh ghi, ALU thực hiện tính toán, và kết quả phải được ghi lại vào thanh ghi. Yêu cầu này quyết định tập tin thanh ghi (register file), ALU, MUX và bộ điều khiển.

Lý do tại sao có hai cổng đọc cũng xuất phát từ đây. Đó là bởi vì trong số 40 lệnh RV32I, không có lệnh nào đọc từ ba thanh ghi trở lên. Khi hiểu được các câu lệnh, bạn sẽ thấy tại sao mạch điện đó lại cần thiết.


■ Bạn sẽ học được gì?

Thực thi trực tiếp tất cả 40 lệnh RV32I. Không chỉ đơn thuần là hiển thị add x5, x1, x2 → 0x002082B3. Bạn sẽ tự tay tạo mã máy, giải mã lại, thực thi, quan sát sự thay đổi của các thanh ghi, kiểm tra sự biến đổi của bộ nhớ, và truy vết cho đến tận đường dẫn dữ liệu (datapath) cũng như tín hiệu điều khiển.

Theo dõi đến cùng cách một lệnh di chuyển bên trong CPU như thế nào.


■ Đặc điểm riêng của bài giảng này

Khóa học này bao gồm RV32I Instruction Studio, một trình mô phỏng lệnh dựa trên Python do chính giảng viên phát triển. Bạn không cần bảng mạch FPGA riêng biệt, cũng không cần các trình mô phỏng phức tạp.

Chỉ cần cài đặt Python là được

· Thực thi lệnh

· Tạo mã máy

· Giải mã

· Kiểm tra thanh ghi

· Kiểm tra bộ nhớ

· Kiểm tra đường dữ liệu (datapath)

· Kiểm tra tín hiệu điều khiển Bạn có thể trực tiếp thực hiện tất cả các bước này.


Tất cả các con số trong giáo trình đều được tạo ra từ công cụ này, và bạn cũng có thể tái hiện lại kết quả tương tự.

· Thực thi toàn bộ 40 lệnh — đây không phải là ví dụ chỉ chọn lọc những lệnh thường dùng

· Quá trình học chỉ bắt đầu sau khi vượt qua 1.231 bài kiểm tra tự chứng thực

· Cố tình cài đặt 14 lỗi để kiểm tra xem quá trình xác thực có thực sự phát hiện ra chúng hay không

· Không có thư viện bên ngoài — tổng cộng 550KB, chỉ cần một dòng sau khi giải nén là có thể bắt đầu.


■ Lộ trình học tập

Phần 1. Hiểu biết cơ bản về CPU

1. CPU thực thi lệnh như thế nào — Môi trường thực hành và thanh ghi

2. Cấu trúc lệnh 32-bit và giá trị tức thời (Immediate)

Phần 2. Thực thi lệnh RV32I

3. Lệnh Số học · Logic · Dịch bit

4. Lệnh Load/Store · Branch · JAL/JALR

Phần 3. CPU hoạt động như thế nào?

5. Đường dẫn dữ liệu đơn chu kỳ (Single-cycle Datapath) và tín hiệu điều khiển

Phần 4. Kiểm chứng CPU và Kết thúc

6. Xác minh Bit-True và lộ trình các bước tiếp theo

Mỗi bài học đều có phần Lab đi kèm. Các mục về trình tự thực hiện, kiểm tra màn hình, tự kiểm tra, giải bài tập ví dụ

Nó bao gồm bốn giai đoạn, hướng dẫn chi tiết bạn nên nhập cái gì và theo thứ tự nào.


■ Khuyên dùng cho những đối tượng sau

· Những người muốn trực tiếp triển khai CPU trên FPGA

· Những người mới bắt đầu thiết kế CPU lần đầu tiên

· RISC-V를 체계적으로 배우고 싶은 분

· Kiến trúc máy tính và thiết kế RTL muốn kết nối với nhau

· Capstone Design hoặc những người muốn triển khai CPU trong các cuộc thi thiết kế.

· Những người đang chuẩn bị xin việc trong lĩnh vực bán dẫn hệ thống và fabless


■ Môi trường thực hành

Chuẩn bị chỉ cần Python và Jupyter Notebook.

https://github.com/estlit/SemiconductorSchool-Labs

→ Level4_Lab_RV32I_Instruction_Studio.zip

Giải nén xong, bạn chỉ cần nhập một dòng dưới đây trong Jupyter là có thể bắt đầu.

%run Lab01.py


■ Sau khi kết thúc bài giảng

Các bạn sẽ

· Hiểu các lệnh RV32I và

· Có thể giải thích được đường dữ liệu (datapath) của CPU và

· Hiểu tại sao cần có tín hiệu điều khiển

· Bạn sẽ có được nền tảng để hiện thực hóa CPU trên FPGA

Và trong khóa học tiếp theo, chúng ta sẽ hiện thực hóa các câu lệnh đã học lần này bằng Verilog RTL để thực sự chạy chúng trên bo mạch FPGA.

Volume 1 Cấu trúc và thực thi lệnh RV32I ← Bạn đang ở đây

Volume 2 TinyRV32I · Pipeline 5 tầng và hiện thực hóa trên FPGA

Volume 3 CPU tiêu chuẩn · 40 lệnh và kiểm soát Hazard

Volume 4 Tầm nhìn·NPU SoC · Tích hợp camera và bộ tăng tốc

Đây là bước đầu tiên trong hành trình dài chế tạo CPU.

Hãy bắt đầu ngay bây giờ.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • · Những ai muốn tự tay thiết kế CPU của riêng mình bằng phần cứng

  • · Nhà phát triển phần mềm hệ thống và firmware muốn tìm hiểu kiến trúc RISC-V thông qua thực hành.

  • · Những ai muốn hiểu về Kiến trúc tập lệnh (ISA) thông qua việc thực thi thay vì chỉ đọc tài liệu đặc tả

  • · Sinh viên đại học và học viên cao học đang chuẩn bị thiết kế bộ vi xử lý dựa trên FPGA

  • · Những người đang chuẩn bị xin việc trong lĩnh vực bán dẫn hệ thống và fabless, đồng thời cần có năng lực về kiến trúc CPU

  • · Những người cần giải thích hợp ngữ (assembly) và trạng thái thanh ghi trong thực tế phát triển nhúng (embedded)

  • · Những người muốn kiểm tra hoạt động của CPU trong môi trường thực hành mà không cần giấy phép trình gỡ lỗi thương mại

Cần biết trước khi bắt đầu?

  • Cơ bản về Python (chỉ cần ở mức độ có thể chạy và đọc hiểu kết quả là đủ)

  • Kiến thức cơ bản về cấu trúc máy tính (không có vẫn có thể theo kịp)

Xin chào
Đây là EdgeChipLab

Xác minh sự nghiệp

Là một giáo sư đại học đương nhiệm, tôi đã đúc kết 30 năm bí quyết về bán dẫn hệ thống.

Đây là chương trình giảng dạy thực tiễn được thiết kế và kiểm chứng trực tiếp bởi một giáo sư giảng dạy kỹ thuật bán dẫn, người đã từng bắt đầu với vị trí nghiên cứu viên bán dẫn hệ thống tại bộ phận DS của Samsung Electronics, trải qua các chức vụ Giám đốc tại chi nhánh Anh và Đức, cũng như Trưởng nhóm Marketing và Kinh doanh System LSI.

 

Vượt xa lý thuyết để tiến tới triển khai phần cứng thực tế, nâng tầm năng lực kỹ thuật của bạn.

Có những lĩnh vực mà những kiến thức rời rạc, vụn vặt không bao giờ có thể chạm tới. Học viên sẽ không chỉ đơn thuần là người dùng sử dụng các IP black-box đã hoàn thiện, mà sẽ phát triển thành một nhà cung cấp kiến trúc hệ thống (system architect) – người có thể thiết kế NPU, CPU, tích hợp các thiết bị ngoại vi và cuối cùng là tự xây dựng nên AI SoC của riêng mình.

 

Đây không phải là bài giảng chỉ để xem bằng mắt. Chúng tôi cam kết hiện thực hóa phần cứng 100% và xác minh Bit-True.

Không chỉ dừng lại ở lý thuyết hay mô phỏng đơn thuần. Hãy trực tiếp trải nghiệm cảm giác phấn khích khi chứng kiến các nghiên cứu học thuật được công bố trên KCI của chính giảng viên và các mạch điện tự thiết kế hoạt động chính xác tuyệt đối trên phần cứng FPGA thực tế. Mọi mã nguồn, bao gồm cả CPU RISC-V tự phát triển, đều được công khai minh bạch, cho phép bất kỳ ai cũng có thể tự do sử dụng để tái hiện và kiểm chứng chỉ với bo mạch FPGA phổ thông (Arty S7-25) và công cụ miễn phí (Vivado).

 

Lộ trình full-stack liền mạch: Từ cơ bản đến bộ tăng tốc mini LLM

Tất cả các bài giảng không phải là những mảnh ghép rời rạc, mà là một hành trình để hoàn thiện một hệ thống khổng lồ duy nhất.

  • Bước 1: Lý thuyết AI và cơ bản về xử lý hình ảnh (bao gồm Machine Learning)

  • Step 2: Thiết kế và kiểm chứng bộ tăng tốc AI (NPU) (Bao gồm Machine Learning)

  • Step 3: Thiết kế CPU RISC-V và Tích hợp hệ thống

  • Bước 4: Triển khai AI SoC nâng cao và mở rộng sang nền tảng tăng tốc mini LLM (Cập nhật nội dung liên tục)

     

 

Chỉ số kiểm chứng khách quan

Tất cả các kết quả thiết kế của khóa học này đều đã trải qua quá trình kiểm chứng nghiêm ngặt từ các tiêu chuẩn quốc tế và giới học thuật.

  • Kiểm chứng kiến trúc RISC-V: CPU RISC-V tự phát triển, vượt qua bài kiểm tra tuân thủ chính thức (ACT) của tổ chức quốc tế và công khai mã nguồn (GitHub)

  • Uy tín học thuật: 4 bài báo khoa học với tư cách là tác giả duy nhất (Tạp chí uy tín hạng A của KCI - IJIBC)

  • Công nhận toàn cầu: Xuất bản 2 cuốn sách kỹ thuật trên Amazon toàn cầu (Đạt hạng 3 sách bán chạy nhất)

  • Đã hoàn thành xác minh vận hành thực tế: Các IP cốt lõi như RV32I CPU, NPU, hệ thống thị giác, GPS, Transformer, AURA-Edge SoC hoạt động hoàn hảo trên môi trường Arty S7.

Hãy thử thách bản thân. Đến khi kết thúc quá trình tự mình nạp code lên board và kiểm tra kết quả này, bạn sẽ được nâng cấp thành một kỹ sư phần cứng với tầm nhìn hoàn toàn khác biệt so với trước đây.

Thêm

Chương trình giảng dạy

Tất cả

6 bài giảng ∙ (1giờ 41phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

Khóa học khác của EdgeChipLab

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!

Ưu đãi có thời hạn

29.040 ₫

20%

774.760 ₫