inflearn logo

Hoàn thiện lý thuyết thiết kế CPU RISC-V | Từ lệnh RV32I đến pipeline 5 tầng và các xung đột (hazard)

Học một cách có hệ thống từ tập lệnh RISC-V RV32I đến cấu trúc bên trong của CPU pipeline 5 giai đoạn. Phân tích nguyên lý hoạt động của Datapath, Control Signal, Pipeline Register và các cơ chế xử lý Hazard như Forwarding, Stall, Flush theo từng chu kỳ, qua đó hoàn thiện nền tảng lý thuyết cho thiết kế Verilog RTL và triển khai trên FPGA.

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

Độ khó Trung cấp trở lên

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

Architecture
Architecture
cpu
cpu
riscv
riscv
system-design
system-design
risk-analysis
risk-analysis
Architecture
Architecture
cpu
cpu
riscv
riscv
system-design
system-design
risk-analysis
risk-analysis

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

  • Nguyên lý thiết kế định dạng lệnh RV32I và cấu trúc Datapath, Control của CPU đường ống 5 giai đoạn

  • Cơ chế xử lý hazard trong quá trình truyền dữ liệu qua Pipeline Register bằng Forwarding, Stall và Flush

  • Nguyên lý hoạt động của vi kiến trúc CPU thông qua phân tích quá trình thực thi lệnh theo từng chu kỳ

Nắm vững lý thuyết thiết kế CPU RISC-V

Từ lệnh RV32I đến pipeline 5 tầng và Hazard

CPU thực thi lệnh như thế nào?

Biết các lệnh RISC-V không có nghĩa là bạn hiểu được cách CPU hoạt động bên trong.

Khi thực thi một lệnh ADD, CPU đọc dữ liệu từ đâu, thực hiện phép toán trong mạch nào và lưu kết quả ở đâu?

Trong CPU Pipeline, nếu kết quả tính toán của lệnh trước chưa được lưu vào Register nhưng lệnh tiếp theo đã cần đến giá trị đó thì điều gì sẽ xảy ra?

Khóa học này bắt đầu từ câu hỏi đó.

Đây là khóa học lý thuyết miễn phí giải thích từng bước nguyên lý hoạt động của phần cứng CPU, từ cấu trúc lệnh RISC-V RV32I đến Datapath CPU, pipeline 5 giai đoạn, forwarding, stall và flush.

Mục tiêu không chỉ là học thuộc các loại lệnh hay giới thiệu tên các khối của CPU, mà là hiểu quá trình thực thi lệnh, tập trung vào cấu trúc Datapath và Control được sử dụng trong thiết kế CPU thực tế.


Bạn sẽ học những nội dung như thế này

PHẦN 1. Cấu trúc lệnh RISC-V RV32I và nguyên lý thực thi của CPU

Tìm hiểu ISA (Instruction Set Architecture), điểm khởi đầu trong thiết kế CPU.

Tìm hiểu các khái niệm cơ bản về RISC-V và RV32I, cấu trúc thanh ghi, định dạng lệnh và cách mã hóa; đồng thời giải thích các lệnh yêu cầu CPU thực hiện những hoạt động nào về mặt phần cứng.

  • Sự khác biệt giữa ISA RISC-V và kiến trúc vi mô (Microarchitecture)

  • RV32I Register và định dạng lệnh

  • Kiểu R, kiểu I, kiểu S, kiểu B, kiểu U, kiểu J

  • Mã opcode và mã hóa giá trị tức thời

  • Phép toán số học, Load/Store, Branch và Jump

  • Bộ thanh ghi, ALU, đường dữ liệu và bộ điều khiển

  • Nguyên lý hoạt động cơ bản của CPU một chu kỳ

PHẦN 2. Thiết kế CPU pipeline 5 giai đoạn RV32I và Datapath

Mở rộng từ cấu trúc cơ bản xử lý tuần tự các lệnh sang kiến trúc Pipeline, trong đó nhiều lệnh được thực thi chồng lấp.

Dựa trên Datapath của CPU Pipeline 5 giai đoạn thực tế, chúng ta sẽ tìm hiểu vai trò của từng giai đoạn và quá trình truyền dữ liệu cũng như tín hiệu điều khiển thông qua Pipeline Register.

  • Sự khác biệt giữa CPU đơn chu kỳ và CPU pipeline

  • IF (Nạp lệnh)

  • ID (Giải mã lệnh)

  • EX(Thực thi)

  • MEM (Truy cập bộ nhớ)

  • WB(Ghi kết quả)

  • Các thanh ghi pipeline IF/ID, ID/EX, EX/MEM, MEM/WB

  • Đường dẫn ALU Datapath và Write-back

  • Tạo và truyền tín hiệu điều khiển

SECTION 3. Phân tích Pipeline Hazard và quá trình thực thi lệnh

Trong CPU pipeline, do nhiều lệnh được thực hiện đồng thời nên phát sinh các vấn đề về phụ thuộc dữ liệu và xử lý nhánh.

Trong bài giảng này, chúng ta sẽ giải thích nguyên lý của Forwarding, Stall, Bubble và Flush để giải quyết những vấn đề này, đồng thời phân tích hoạt động của phần cứng thông qua quá trình thực thi theo từng Cycle của một chương trình ví dụ thực tế.

  • Rủi ro dữ liệu và sự phụ thuộc RAW (Read After Write)

  • Bộ phận chuyển tiếp (Forwarding Unit) và ForwardA/ForwardB

  • Chuyển tiếp EX/MEM và MEM/WB

  • Độ ưu tiên của cơ chế forwarding

  • Cơ chế ghi xuyên qua trong tệp thanh ghi

  • Hazard load-use và Stall

  • Bong bóng Pipeline

  • Lệnh rẽ nhánh, nhảy và xóa pipeline

  • Phân tích quá trình thực thi lệnh theo từng chu kỳ

  • Trường hợp tích hợp thực thi chồng lấp nhiều lệnh


Điểm nổi bật của khóa học

1. Học theo một lộ trình xuyên suốt từ ISA đến Pipeline.

Trước tiên, tìm hiểu cấu trúc lệnh, sau đó xem xét Datapath của CPU thực thi các lệnh đó, rồi tìm hiểu các vấn đề phát sinh khi nhiều lệnh được thực thi đồng thời và cách giải quyết.

2. Giải thích tập trung vào cấu trúc phần cứng CPU thực tế.

Không chỉ dừng lại ở các khái niệm trừu tượng về kiến trúc máy tính, mà còn phân tích vai trò và mối liên hệ giữa Register File, ALU, Multiplexer, Pipeline Register, Forwarding Unit, Hazard Detection Unit, v.v.

3. Phân biệt rõ ràng sự khác nhau giữa Forwarding, Stall và Flush.

Forwarding là phương pháp chuyển tiếp trực tiếp kết quả phép toán, Stall là phương pháp tạm dừng tiến trình thực thi lệnh, còn Flush là phương pháp vô hiệu hóa các lệnh trên đường thực thi sai.

Giải thích kèm ví dụ khi nào cần từng chức năng và chúng hoạt động như thế nào.

4. Kiểm tra hoạt động của Pipeline qua nhật ký thực thi theo từng Cycle.

Phân tích theo từng chu kỳ quá trình lệnh đi qua IF, ID, EX, MEM và WB.

Đặc biệt, chúng ta sẽ tìm hiểu các lệnh có phụ thuộc dữ liệu, Load-use Stall và Branch Flush ảnh hưởng như thế nào đến quá trình vận hành thực tế của Pipeline.

5. Kết nối với thực hành thiết kế CPU thực tế.

Khóa học này là một chương trình lý thuyết nhằm giúp bạn hiểu cấu trúc và nguyên lý hoạt động của CPU.

Sau đó, bạn có thể mở rộng việc học sang thực thi lệnh bằng Python, thiết kế Verilog RTL, mô phỏng Testbench và triển khai trên FPGA.


Sau khi học khóa này, bạn có thể làm được gì?

Sau khi hoàn thành khóa học, bạn sẽ có thể đạt được những năng lực sau.

  • Có thể giải thích cấu trúc và nguyên lý thực thi của các lệnh RV32I.

  • Có thể phân tích đường đi của dữ liệu trong Datapath của CPU.

  • Có thể phân biệt từng giai đoạn trong pipeline 5 giai đoạn và vai trò của các thanh ghi pipeline.

  • Có thể xác định giá trị mà Forwarding Unit cần chọn.

  • Có thể giải thích lý do cần Stall trong Load-use Hazard.

  • Có thể hiểu cơ chế Pipeline Flush khi xảy ra Branch và Jump.

  • Bạn có thể theo dõi quá trình thực thi nhiều lệnh theo từng chu kỳ (Cycle).

  • Bạn có thể trang bị những kiến thức nền tảng về kiến trúc máy tính để học thực hành thiết kế CPU bằng Verilog.


Khóa học này phù hợp với những người sau

  • Sinh viên đại học muốn học RISC-V và kiến trúc CPU một cách bài bản từ đầu.

  • Người học đang nghiên cứu mạch logic số và muốn mở rộng sang thiết kế CPU.

  • Dành cho những người muốn hiểu lý thuyết kiến trúc máy tính bằng cách kết nối với hoạt động thực tế của mạch điện.

  • Dành cho những người đang chuẩn bị thiết kế RTL cho CPU bằng Verilog HDL.

  • Kỹ sư quan tâm đến việc triển khai CPU RISC-V dựa trên FPGA

  • Dành cho những người muốn hiểu chính xác cách hoạt động của Pipeline Hazard, Forwarding, Stall và Flush.

Nếu đã nắm được các kiến thức về mạch logic số và những khái niệm cơ bản như Register, ALU, Multiplexer, bạn sẽ học dễ dàng hơn.


Cấu trúc khóa học và tài liệu học tập

Khóa học này gồm 3 phần, với tổng cộng 3 video.

  • Phần 1: Kiến thức nền tảng về RISC-V & Triển khai CPU — Quyển 1

  • Section 2: Thiết kế CPU pipeline 5 giai đoạn RV32I — Book 2, Part 1

  • Section 3: Thiết kế CPU pipeline 5 giai đoạn RV32I — Sách 2, Phần 2

Bài giảng tập trung vào bản vẽ kỹ thuật và các ví dụ thực thi, chú trọng vào việc hiểu lý thuyết.

Khóa học này không bao gồm thực hành viết Verilog RTL và triển khai trên bo mạch FPGA. Nội dung này sẽ được đề cập trong khóa thực hành tiếp theo.


Bước tiếp theo: hãy tự thiết kế một CPU RISC-V

Nếu đã hiểu nguyên lý hoạt động của CPU, bước tiếp theo là tự mình triển khai.

Các khóa học thực hành của Semiconductor School trên Inflearn được tổ chức như sau.

① Thiết kế CPU RISC-V để triển khai trên FPGA — Tìm hiểu cấu trúc lệnh và nguyên lý thực thi RV32I bằng Python

Đây là khóa học về cấu trúc và quy trình thực thi các lệnh RV32I bằng Python.

② Thiết kế CPU RISC-V để triển khai trên FPGA — Tự tay xây dựng TinyRV32I pipeline 5 tầng

Đây là khóa học thiết kế CPU pipeline 5 tầng bằng Verilog HDL, sau đó mở rộng sang mô phỏng và triển khai trên FPGA.

③ Thiết kế CPU RISC-V để triển khai trên FPGA — Tự xây dựng CPU hoàn chỉnh với 40 lệnh RV32I

Đây là khóa học chuyên sâu về thiết kế và kiểm chứng CPU hỗ trợ đầy đủ 40 lệnh RV32I.

Sau đó, bạn có thể mở rộng phạm vi học tập từ thiết kế CPU sang giao diện bus và tích hợp hệ thống thông qua khóa học “Thiết kế bus AMBA AXI4 và triển khai FPGA — từ RTL đến tích hợp hệ thống”.

RISC-V ISA → Kiến trúc CPU → Thiết kế RTL → Mô phỏng → Triển khai FPGA → Tích hợp hệ thống


Giới thiệu người chia sẻ kiến thức

Roger Kim | Trường Bán dẫn

Đã làm việc khoảng 30 năm tại Bộ phận Bán dẫn DS của Samsung Electronics, hiện đang giảng dạy về bán dẫn và thiết kế phần cứng kỹ thuật số tại Khoa Bán dẫn Thế hệ mới, Đại học Soongsil.

Tôi đang xây dựng nội dung đào tạo tập trung vào CPU RISC-V, FPGA, NPU AI, bus AMBA AXI4 và thiết kế SoC, kết nối từ nguyên lý hoạt động của phần cứng đến quá trình triển khai và kiểm chứng thực tế.

Sách đã xuất bản: RISC-V RV32I: From Fundamentals to FPGA Implementation (xuất bản trên Amazon)

Trường học Bán dẫn — Học kiến trúc. Xây dựng phần cứng.

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

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

  • Sinh viên đại học chuyên ngành khoa học máy tính lần đầu bắt đầu thiết kế CPU dựa trên RISC-V

  • Người học đang chuẩn bị triển khai CPU trên FPGA sau khi học mạch logic số và Verilog HDL.

  • Kỹ sư nhúng muốn kết nối lý thuyết kiến trúc máy tính với thiết kế phần cứng thực tế.

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

  • Kiến thức cơ bản về mạch logic số (mạch tổ hợp, mạch tuần tự, thanh ghi)

  • Các khái niệm cơ bản về kiến trúc máy tính (lệnh, thanh ghi, bộ nhớ, ALU)

  • Sự quan tâm và ý chí học hỏi về ngôn ngữ mô tả phần cứng (HDL) hoặc thiết kế CPU.

Xin chào
Đây là EdgeChipLab

Xác minh sự nghiệp

"Trong thời đại AI, cách ứng phó chắc chắn nhất là tự mình chế tạo chất bán dẫn AI."

Quá trình này không phải là các bài giảng đại học thông thường lấy lý thuyết làm trọng tâm, cũng không phải chương trình đào tạo được chuẩn hóa của các khoa liên kết doanh nghiệp chỉ dừng ở việc đáp ứng những yêu cầu đặc thù về thông số. Ngoài ra, chương trình cũng không chỉ dừng lại ở kinh nghiệm sử dụng công cụ EDA hay khai thác thư viện như các hội thảo thực tiễn rời rạc hiện nay.

Khởi đầu với vai trò nhà nghiên cứu chất bán dẫn hệ thống tại Bộ phận DS của Samsung Electronics, giành Giải Bạc Giải thưởng Công nghệ Samsung (Giải thưởng của Chủ tịch Tập đoàn) trong lĩnh vực tự động hóa thiết kế, đồng thời từng đảm nhiệm vị trí Director tại các pháp nhân ở Anh và Đức cũng như Trưởng nhóm Tiếp thị & Kinh doanh System LSI, đây là khóa học thực tiễn độc đáo do một giáo sư kỹ thuật đang hành nghề với 30 năm kinh nghiệm trực tiếp thiết kế và kiểm chứng trên FPGA.

[ Điểm khác biệt cốt lõi dành cho nhân sự đang làm việc trong ngành & kỹ sư tương lai ]

  • Vượt qua giới hạn của kỹ sư đang làm việc trong ngành: Không chỉ dừng lại ở việc chỉnh sửa mã hoặc sử dụng IP có sẵn, bạn sẽ xây dựng năng lực thực tiễn ở cấp độ kiến trúc để trực tiếp thiết kế NPU và CPU bằng RTL.

  • Xây dựng quy trình thực hành Full-Flow: Hoàn thiện toàn bộ chuỗi giá trị từ phân tích thuật toán AI đến triển khai FPGA và kiểm chứng tích hợp phần cứng Bit-True, rồi mở rộng SoC AI dựa trên CPU + NPU + RTOS.

  • Đã được kiểm chứng thực tế: Vượt ra ngoài lý thuyết trong giảng đường đại học, khóa học chắt lọc những bí quyết thiết kế từ tuyến đầu ngành và cung cấp quy trình đã được kiểm chứng, có thể áp dụng ngay vào thực tế.

Thuật toán AI → Thiết kế RTL → Triển khai FPGA → Xác minh Bit-True → SoC AI

Không chỉ dành cho sinh viên đại học và học viên cao học, khóa học còn cung cấp hướng dẫn thực chiến tốt nhất, không thể thay thế, cho cả những người đang đi làm mong muốn vươn lên trở thành nhà thiết kế chất bán dẫn AI/SoC thế hệ tiếp theo.

 

Từ lý thuyết đến triển khai phần cứng AI thực tế

Chỉ với những kiến thức rời rạc và manh mún thì khó có thể đạt được năng lực thiết kế chất bán dẫn AI ở cấp độ hệ thống.

Học viên không chỉ dừng lại ở việc sử dụng các IP hộp đen đã hoàn thiện. Mục tiêu là từng bước trang bị năng lực thiết kế hệ thống, bao gồm tự thiết kế AI NPU và CPU RISC-V, tích hợp bộ nhớ và các thiết bị ngoại vi, port RTOS trên đó, và cuối cùng có thể xây dựng SoC AI của riêng mình.

Bắt đầu từ nền tảng về transistor và mạch kỹ thuật số, khóa học kết nối các kiến thức này qua FPGA, CPU, NPU, cho đến phần cứng tăng tốc Transformer và LLM.

 

Kiểm chứng kết quả nghiên cứu trên phần cứng FPGA thực tế.

Đây không phải là một khóa học chỉ để xem bằng mắt. Không dừng lại ở lý thuyết hay mô phỏng đơn thuần, bạn sẽ cho mạch bán dẫn AI do chính mình thiết kế hoạt động trên FPGA thực tế và thực hiện kiểm chứng Bit-True, trong đó kết quả của mô hình Python và RTL khớp nhau đến từng bit.

Kết nối các kết quả nghiên cứu, bao gồm 4 bài báo được đăng trên KCI của giảng viên về AI bán dẫn, FPGA và RISC-V, với nội dung đào tạo, từ đó đưa các công nghệ đã được kiểm chứng trong nghiên cứu vào thiết kế thực tế và triển khai trên FPGA. Chúng tôi công khai mã nguồn cần thiết cho phần thực hành, bao gồm CPU RISC-V do chính chúng tôi phát triển, mã Python dùng để huấn luyện hình ảnh và Verilog RTL.

Được xây dựng xoay quanh bo mạch FPGA Arty S7-25 phổ thông và công cụ thiết kế Vivado miễn phí, khóa học giúp người học có thể tự mình tái hiện toàn bộ quy trình từ thiết kế, triển khai đến kiểm chứng. Ngoài ra, khóa học cũng có thể sử dụng trên các bo mạch FPGA của Digilent, bao gồm cả Zybo Z7. Bạn chỉ cần điều chỉnh ánh xạ chân XDC (bo mạch) và các tham số chia tần số xung nhịp (RTL) cho phù hợp với bo mạch. Đối với khóa học 'NPU MNIST được xây dựng bằng FPGA', chỉ cần điều chỉnh ánh xạ chân XDC; còn các khóa học sử dụng OLED và Camera thì cần điều chỉnh các tham số chia tần số xung nhịp (RTL).

→ Phần thực hành của khóa học được thiết lập các tham số chia tần dựa trên xung nhịp đầu vào 100 MHz của Arty S7. Vì các bo mạch khác có xung nhịp đầu vào khác nhau (ví dụ: Zybo Z7 là 125 MHz), bạn cần tính lại giá trị chia tần để tần số mục tiêu vẫn giữ nguyên. Nếu bỏ qua phần này, màn hình hoặc video sẽ không hiển thị bình thường, vì vậy rất dễ nhầm là lỗi mã. Vui lòng kiểm tra.

 

Lộ trình full-stack liền mạch: từ nền tảng đế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à hành trình hoàn thiện một hệ thống khổng lồ.

  • Step 1: Cơ bản về lý thuyết AI 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)

  • Bước 3: Thiết kế CPU RISC-V và tích hợp hệ thống

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

     

 

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

Tất cả sản phẩm 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 theo các tiêu chuẩn toàn cầu và giới học thuật.

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

  • Uy tín học thuật: 4 bài báo học thuật với tư cách tác giả duy nhất (đăng trên tạp chí học thuật danh tiếng IJIBC được KCI xếp hạng A)

  • Được công nhận trên toàn cầu: Đã xuất bản 4 cuốn sách kỹ thuật trên Amazon toàn cầu (đạt vị trí số 1 về doanh số bán chạy nhất)


    Sách đã xuất bản: Roger Kim: sách, tiểu sử, cập nhật mới nhất

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

     

Hãy thử thách bản thân. Khi hoàn thành quá trình tự mình tải mã lên bo mạch và kiểm tra kết quả này, bạn sẽ nâng cấp thành một kỹ sư phần cứng với góc nhìn hoàn toàn khác trước.

Thêm

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

Tất cả

3 bài giảng ∙ (2giờ 37phú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

19.250 ₫

30%

584.707 ₫