Thiết Kế và Hiện Thực Bộ Vi Xử Lý RISC-V 32 Bit Sử Dụng Kiến Trúc Superscalar Trên FPGA

Luận văn tốt nghiệp kỹ thuật nghiên cứu tốt nghiệp kỹ thuật máy tính thiết kế và hiện thực bộ vi xử lý risc v 32 bit sử dụng, điều tra thực trạng, phân tích số liệu, đề

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2022

98
32
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI MỞ ĐẦU

1. CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI

1.1. Tổng quan đề tài

1.2. Mục tiêu của đề tài

1.3. Giới hạn đề tài

2. CHƯƠNG 2: KIẾN TRÚC TẬP LỆNH RISC-V

2.1. Tổng quát

2.2. Các tập lệnh và tập thanh ghi được sử dụng trong hệ thống

2.3. Bộ nhớ đệm - Cache

2.4. Giải thuật FIFO để cấp phát bộ nhớ

2.5. Phương pháp cập nhật lại bộ nhớ chính

2.6. Ưu điểm và lý do chọn Cache associative 4-way

2.7. Đơn vị quản lý bộ nhớ - MMU

2.7.1. Cách thức hoạt động

3. CHƯƠNG 3: THIẾT KẾ VI XỬ LÝ RISC-V

3.1. Mô tả tổng quan hệ thống

3.2. Thiết kế vi xử lý RISC-V

3.3. Khối CPU_MeM_SCal aL

3.4. Khối forwarding logic

3.5. Thiết kế MMU

3.5.1. Tổng quan MMU

3.6. Thiết kế Cache

3.6.1. Tổng quan Cache

4. CHƯƠNG 4: MÔ PHỎNG VÀ ĐÁNH GIÁ THIẾT KẾ

4.1. Thiết kế mô hình kiểm thử

4.2. Mô phỏng tập lệnh

4.3. Thiết kế mô hình kịch bản kiểm thử

4.4. Nạp tập lệnh vào

4.5. Kết quả mô phỏng

4.6. Kết quả tổng hợp, thực thi và đánh giá thiết kế

4.6.1. Kết quả tổng hợp, thực thi của khối riscV

4.6.2. Đánh giá thiết kế

4.6.3. Bảng so sánh

4.7. Thiết kế Block Design trên Vivado với giao thức AXI4

4.7.1. Tổng quan giao thức AXI4

4.7.2. Kiến trúc khối thiết kế tổng quan giao tiếp qua AXI4

4.7.3. Thiết kế trên Vivado

4.7.4. Các IP của Xilinx dùng trong thiết kế Block Design

4.7.4.1. IP Microblaze giao tiếp với local memory
4.7.4.2. IP AXI Uart Lite

4.7.5. Kết quả tổng hợp thực thi của Block Design

6. CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

6.1. Ưu điểm và hạn chế của thiết kế

6.2. Hướng phát triển

DANH MỤC BẢNG

DANH MỤC HÌNH

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

TÓM TẮT KHÓA LUẬN

Tóm tắt

I. Tổng quan về thiết kế bộ vi xử lý RISC V 32 Bit trên FPGA

Bộ vi xử lý RISC-V 32 Bit là một trong những kiến trúc vi xử lý mở đang được ưa chuộng trong lĩnh vực công nghệ thông tin. Thiết kế này không chỉ mang lại hiệu suất cao mà còn giúp giảm chi phí sản xuất. Việc sử dụng FPGA (Field Programmable Gate Array) cho phép các nhà phát triển linh hoạt trong việc điều chỉnh và tối ưu hóa thiết kế theo nhu cầu cụ thể.

1.1. Kiến trúc RISC V và lợi ích của nó

Kiến trúc RISC-V được thiết kế với mục tiêu đơn giản hóa tập lệnh, giúp tăng tốc độ xử lý và giảm tiêu thụ năng lượng. Điều này đặc biệt quan trọng trong các ứng dụng IoT, nơi mà hiệu suất và tiết kiệm năng lượng là ưu tiên hàng đầu.

1.2. FPGA và vai trò trong thiết kế vi xử lý

FPGA cho phép lập trình lại cấu trúc phần cứng, giúp các nhà phát triển dễ dàng thử nghiệm và tối ưu hóa thiết kế vi xử lý RISC-V. Điều này mang lại sự linh hoạt và khả năng thích ứng cao với các yêu cầu thay đổi trong quá trình phát triển.

II. Thách thức trong việc thiết kế bộ vi xử lý RISC V 32 Bit

Mặc dù thiết kế bộ vi xử lý RISC-V 32 Bit mang lại nhiều lợi ích, nhưng cũng không thiếu những thách thức. Việc tích hợp bộ nhớ đệm và đơn vị quản lý bộ nhớ là một trong những vấn đề quan trọng cần giải quyết để đảm bảo hiệu suất tối ưu.

2.1. Vấn đề về tốc độ truy xuất bộ nhớ

Tốc độ truy xuất bộ nhớ ảnh hưởng trực tiếp đến hiệu suất của bộ vi xử lý. Việc thiết kế bộ nhớ đệm (Cache) hiệu quả là cần thiết để giảm thiểu thời gian truy cập dữ liệu từ bộ nhớ chính.

2.2. Quản lý bộ nhớ và bảo vệ dữ liệu

Đơn vị quản lý bộ nhớ (MMU) đóng vai trò quan trọng trong việc bảo vệ dữ liệu và quản lý bộ nhớ. Việc thiết kế MMU hiệu quả giúp đảm bảo rằng các chương trình có thể truy cập dữ liệu một cách an toàn và nhanh chóng.

III. Phương pháp thiết kế bộ vi xử lý RISC V 32 Bit

Để thiết kế bộ vi xử lý RISC-V 32 Bit, cần áp dụng các phương pháp và công nghệ hiện đại. Việc sử dụng ngôn ngữ thiết kế phần cứng Verilog là một trong những bước quan trọng trong quá trình này.

3.1. Thiết kế phần cứng bằng Verilog

Ngôn ngữ Verilog cho phép mô tả cấu trúc và hành vi của phần cứng một cách rõ ràng và chính xác. Việc sử dụng Verilog giúp đơn giản hóa quá trình thiết kế và kiểm tra bộ vi xử lý.

3.2. Tích hợp bộ điều khiển Cache và MMU

Việc tích hợp bộ điều khiển Cache và MMU vào thiết kế vi xử lý RISC-V 32 Bit là rất quan trọng. Điều này không chỉ giúp cải thiện hiệu suất mà còn đảm bảo rằng bộ vi xử lý có thể hoạt động hiệu quả trong các ứng dụng thực tế.

IV. Ứng dụng thực tiễn của bộ vi xử lý RISC V 32 Bit

Bộ vi xử lý RISC-V 32 Bit có nhiều ứng dụng thực tiễn trong các lĩnh vực khác nhau, từ IoT đến các hệ thống nhúng. Việc áp dụng kiến trúc này giúp tối ưu hóa hiệu suất và giảm chi phí sản xuất.

4.1. Ứng dụng trong Internet of Things IoT

Bộ vi xử lý RISC-V 32 Bit rất phù hợp cho các thiết bị IoT nhờ vào khả năng tiết kiệm năng lượng và hiệu suất cao. Điều này giúp các thiết bị IoT hoạt động hiệu quả hơn trong môi trường thực tế.

4.2. Ứng dụng trong hệ thống nhúng

Hệ thống nhúng thường yêu cầu các bộ vi xử lý có hiệu suất cao và chi phí thấp. RISC-V 32 Bit đáp ứng được các yêu cầu này, giúp các nhà phát triển dễ dàng triển khai các giải pháp nhúng.

V. Kết luận và tương lai của bộ vi xử lý RISC V 32 Bit

Bộ vi xử lý RISC-V 32 Bit đang mở ra nhiều cơ hội mới trong lĩnh vực công nghệ thông tin. Với sự phát triển không ngừng của công nghệ, RISC-V hứa hẹn sẽ trở thành một trong những kiến trúc vi xử lý phổ biến trong tương lai.

5.1. Tương lai của kiến trúc RISC V

Với sự phát triển của các ứng dụng IoT và hệ thống nhúng, kiến trúc RISC-V có khả năng mở rộng và phát triển mạnh mẽ trong tương lai. Điều này sẽ tạo ra nhiều cơ hội cho các nhà phát triển và doanh nghiệp.

5.2. Định hướng nghiên cứu và phát triển

Nghiên cứu và phát triển bộ vi xử lý RISC-V sẽ tiếp tục được đẩy mạnh, nhằm cải thiện hiệu suất và khả năng tương thích với các ứng dụng thực tế. Điều này sẽ giúp RISC-V trở thành một lựa chọn hàng đầu cho các nhà phát triển.

10/07/2025
Khóa luận tốt nghiệp kỹ thuật máy tính thiết kế và hiện thực bộ vi xử lý risc v 32 bit sử dụng kiến trúc superscalar hỗ trợ bộ điều khiển cache associative 4 way và đơn vị quản lý bộ nhớ trên fpga

Trích đoạn nội dung tài liệu

Chương 1. Giới thiệu đề tài 1. Tổng quan đề tài Ngày nay, thuật ngữ Internet of Things (IoT) không còn xa lạ mà đã trở thành xu hướng phát triển nóng ở quy mô công nghiệp. Xu hướng này sẽ ảnh hưởng đến mọi mặt của đời sống con người, từ các vấn đề cá nhân (thông qua Smart Wearable- các thiết bị thông minh cá nhân, Smart Home - ngôi nhà thông minh, eHealth-các thiết bị chăm sóc sức khỏe.) cho đến các vấn đề xã hội và doanh nghiệp (thông qua Smart City: thành phố thông minh, Smart environment - môi trường thông minh, Smart Enterprise- doanh nghiệp thông minh, Industrial control — điều khiển công nghiệp.

Đề phục vụ cho sự phát triển của IoT, một số lượng lớn các thiết bị đang và sẽ được tạo ra, kết nối với nhau. Theo những nghiên cứu mới nhất, số lượng thiết bị IoT toàn cầu đã lên tới hơn 7 ty thiết bị, con số này đã vượt qua số thiết bị di động sử dụng trên toàn cau. Cụ thê, theo IoT Analytics, số lượng thiết bị IoT trên toàn cầu là hơn 7 tỷ thiết bị vào năm 2018 và ước tính sẽ có 22 tỷ thiết bị vào năm 2025. Trong khi đó, theo Gartner, số lượng thiết bị IoT trên toàn cầu là 14.2 tỷ thiết bị vào năm 2019 và ước tính sẽ có 25 tỷ thiết bị vào năm 2021.

Các thiết bi dùng trong mạng IoT hầu hết đều tích hợp ít nhất một bộ vi xử lý dé phuc vu cho viéc kết nối, thu thập, xử lý, điều khiến, lưu trữ va truyền tải dữ liệu, cũng như đưa các quyết định tương tác ngược lại với bên ngoài. Do đó nhu cầu số lượng vi xử ly còn cao hon sé luong thiét bi IoT. Cộng thêm là các thiết bị dùng trong mạng IoT yêu cầu vi xử lý cần có hiệu năng đa dạng từ thấp đến cao nhưng với chi phí thấp và đặc biệt là phải tiết kiệm năng lượng. Điều đó đặt ra những thách thức mới cho các nhà sản xuất thiết bị khi lựa chọn các bộ vi xử lý cho thiết kế của mình.

Thứ nhất, hiện tại những công ty thành công với kiến trúc tập lệnh của mình đang thống trị thị trường vi xử lý như Intel, ARM, IBM,. đều có những bằng sáng chế trên kiến trúc tập lệnh mà họ đang sở hữu, do đó các công ty này đều tính phí bản quyền đối với việc sử dụng kiến trúc tập lệnh của các công ty này đồng thời BÁO CÁO KHÓA LUẬN TÓT NGHIỆP Trang 1 ngăn cam việc thiết kế các bộ vi xử lý sử dụng kiến trúc tập lệnh của họ nếu không được họ cấp phép. Bất kì một thỏa thuận nào liên quan đến bản quyền sử dụng kiến trúc tập lệnh đều phải tốn từ 6-24 tháng trao đổi và chi phí phải tốn khoảng từ một đến mười triệu đô la Mỹ, và tất nhiên thỏa thuận với trường đại học hay những công ty có quy mô nhỏ lẻ thường bị loại trừ. Việc độc quyền đã cản trở sự cạnh tranh và đổi mới bằng việc ngăn không cho nhiều người thiết kế và chia sẻ những vi xử lý có những kiến trúc tập lệnh tương thích với nhau.

Thứ hai, các sản phẩm vi xử lý được thiết kế mang tính chất tổng quát cho mỗi phân khúc sản phẩm nhất định, không tùy chỉnh được thiết kế dé tối ưu về hiệu năng xử lý, mức tiêu thụ năng lượng và giá cả cho từng dòng sản phẩm IoT. Thứ ba, mỗi kiến trúc tập lệnh của mỗi hàng sử dụng một hệ sinh thái phần mềm riêng, làm tăng chi phi phat triển. Thậm chí trên cùng một thiết bị lại sử dụng nhiều phần mềm khác nhau của những kiến trúc tập lệnh khác nhau. Những thách thức đó là tiền dé, là động lực dé cho ra đời những vi xử lý mã nguồn mở đi cùng là những kiến trúc tập lệnh miễn phí nhưng thống nhất.

Một trong số đó là RISC-V (phát âm là "risk-five", RISC viết tắt từ Reduced Instruction Set Computer), là một kiến trúc tập lệnh mở, được xây dựng dựa trên những nguyên tắc của kiến trúc tập lệnh RISC, đã và đang thu hút được sự phát triển và ứng dụng từ các nhà khoa học cũng như các công ty sử dụng vi xử lý trên thế giới. Trái ngược với hầu hết các kiến trúc tập lệnh khác, RISC-V hoàn toàn miễn phí cho bất kỳ mục đích sử dụng nào. Nó cho phép bat kỳ ai có thé thiết kế, sản xuất và bán các sản phẩm phần cứng và phần mềm sử dụng RISC-V, Điều đó sẽ đem đến rất nhiều lợi ich quan trọng cho nền công nghiệp máy tính nói chung và sự phát triển của IoT nói riêng, như lôi kéo được nhiều ý tưởng sáng tạo thiết kế hơn, các thiết kế bộ vi xử lý có thé được trao đôi, tái sử dụng, dễ tối ưu hơn làm cho chỉ phi của bộ vi xử lý trở nên rẻ và phù hợp với các ứng dụng kiểu như IoT. Ngoài ra RISC-V còn có những mong muốn khác là tạo ra một kiến trúc tập lệnh tiêu chuẩn chung dé có thé thống nhất và tái sử dụng phần mềm trên nhiều hệ BÁO CÁO KHÓA LUẬN TÓT NGHIỆP Trang 2 thống khác nhau và ồn định trong vài chục năm thay vì sử dụng nhiều kiến trúc tập lệnh khác nhau trên cùng một hệ thống System on Chip (SOC) như trước đây.

Dé hiện thực điều đó, RISC-V cho phép mở rộng tập lệnh theo hướng phù hợp cho từng ứng dụng cụ thé, thông qua phan tập lệnh mở rộng (tiêu chuẩn hoặc do người thiết kế CPU tự định nghĩa). RISC-V được phát triển lần đầu tiên bởi Đại học California, Berkeley vào năm 2010. Cho đến nay đã có hàng chục bộ vi xử lý được phát triển dựa trên kiến trúc tập lệnh này nhằm vào nhiều mục đích ứng dụng và phân khúc khác nhau. Tại Việt Nam, vào ngày 15/1/2022, Viện Công nghệ thông tin, Đại học Quốc gia Hà Nội đóng góp hai bài trình bày về nền tảng hệ thống trên chip sử dụng vi điều khiến RISC-V công suất thấp cho các ứng dụng Internet vạn vật và thiết kế các hệ thống trí tuệ nhân tạo nhỏ gọn cho các thiết bị nhúng trên nền tảng RISC-V.

Ứng dụng các vi xử lý dùng kiến trúc tập lệnh mở RISC-V cho các ứng dụng an toàn thông tin, bao mật phần cứng va phát triển các ứng dụng thông minh đang là hướng nghiên cứu được quan tâm tại Viện Công nghệ Thông tin. Bên cạnh đó, tốc độ truy xuất bộ nhớ có ảnh hưởng quan trọng đến hiệu suất của hệ thống. Các bộ nhớ có tốc độ truy xuất càng nhanh thì giá thành càng cao. Vì vậy, tổ chức một hệ thống bộ nhớ hợp lý sao cho có thé truy xuất các thành phan cần cho các chương trình một cách nhanh chóng nhất là một yêu cầu cấp thiết.

Cache là bộ nhớ đệm được tích hợp vào bộ xử lý trung tâm của máy tính nhằm giảm thời gian truy cập dữ liệu từ bộ nhớ chính vì tốc độ của các Vi xử lý ngày nay nhanh hơn Bộ nhớ chính rất nhiều. Quản lý bộ nhớ là việc điều hành bộ nhớ máy tính ở cấp độ hệ thống. Mục đích quan trọng của việc quản lý bộ nhớ chính là cung cấp những cách thức dé cấp phát các vùng nhớ cho chương trình khi được yêu cầu và giải phóng các nó khi không sử dụng. Ngoài hỗ trợ quản lý bộ nhớ, đơn vị quản lý bộ nhớ (MMU) còn cung cấp khả năng bảo vệ bộ nhớ chính bằng các tín hiệu ngoại lệ lỗi trang.

BÁO CÁO KHÓA LUẬN TÓT NGHIỆP Trang 3 Nhận thấy được sự cần thiết và tiềm năng của hệ thống nhóm đã lựa chọn thiết kế vi xử lý RISC-V sử dụng kiến trúc superscalar hỗ trợ associative Cache 4-way và đơn vị quản lý bộ nhớ trên FPGA làm khóa luận tốt nghiệp. Ngoài ra, như đề cập ở phía trên, nhu cầu của các sản phẩm IoT rat đa dạng về hiệu năng xử lý cũng như hiệu quả trong sử dụng năng lượng, và giá cả phải rẻ, cho nên cần có nhiều giải pháp thiết kế linh hoạt đáp ứng từng dòng sản phẩm IoT cu thé. Do đó, luận văn này cũng hướng đến việc đề xuất một thay đổi thiết kế đóng gop thêm giải pháp cho các sản pham IoT. Mục tiêu của đề tài e = Nghiên cứu kiến trúc tập lệnh RV32I cho lõi vi xử lý RISC-V 32 bit.

e _ Thiết kế phan cứng cho bộ vi xử lý RISC-V 32 bit theo kiến trúc superscalar băng ngôn ngữ thiết kế phần cứng Verilog. e _ Thiết kế bộ điều khiến Cache va đơn vị quản lý bộ nhớ (MMU) bằng ngôn ngữ thiết kế phần cứng Verilog. e __ Tích hợp bộ điều khiến Cache và MMU vào lõi vi xử lý RISC-V 32 bit. e __ Tích hợp bus AXI 4 dé giao tiếp với các module liên quan.

e Kiểm tra các lệnh của vi xử ly và các địa chỉ được chuyển đối bên trong MMU thông qua mô phỏng trên phần mềm Vivado. e __ Hiện thực thiết kế lên kit FPGA. e IP hoạt động ở tần số 110MHz. Giới hạn đề tài Bộ vi xử lý tính toán các phép tính số học liên quan đến số nguyên, chưa tính toán các phép tính liên quan đến dau cham động.

BÁO CÁO KHÓA LUẬN TÓT NGHIỆP Trang 4 Chương 2. Kiến trúc tập lệnh RISC-V 2. Tổng quát Kiến trúc tập lệnh RISC-V được thiết kế theo kiểu module nhằm cho phép các nhà phát triển vi xử lý RISC-V có thé linh hoạt lựa chọn được kiến trúc phù hợp nhất cho ứng dụng của họ. RISC-V định nghĩa kiến trúc tập lệnh số nguyên 32-bit RV32I là kiến trúc tập lệnh cơ sở.

Với kiến trúc tập lệnh cơ sở này, vi xử lý RISC-V đã có tất cả những lệnh cơ bản như những lệnh điều khiến luồng, bộ thanh ghi, bộ nhớ, cách đánh địa chỉ bộ nhớ .đủ để hiện thực một vi xử lý dạng tổng quát hỗ trợ đầy đủ cho phần mềm và trình biên dịch. Từ kiến trúc tập lệnh cơ sở này, nhà phát triển vi xử lý RISC-V có thể linh hoạt chọn kết hợp với một hay nhiều tập lệnh mở rộng tùy chọn khác cho các ứng dụng mục tiêu. Tập lệnh mở rộng có thể là tập lệnh mở rộng chuẩn của nhà sáng lập RISC-V hoặc tập lệnh mở rộng phi tiêu chuẩn của nhà phát triển vi xử lý RISC-V cho một sản phẩm mục tiêu nhất định. Các tập lệnh được mô tả chi tiết trong Bảng 2.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu có tiêu đề "Thiết Kế và Hiện Thực Bộ Vi Xử Lý RISC-V 32 Bit Trên FPGA" cung cấp cái nhìn sâu sắc về quy trình thiết kế và triển khai bộ vi xử lý RISC-V 32 bit trên nền tảng FPGA. Tài liệu này không chỉ giải thích các khái niệm cơ bản về kiến trúc RISC-V mà còn đi vào chi tiết về các bước thực hiện, từ việc lập trình đến tối ưu hóa hiệu suất. Độc giả sẽ nhận được những lợi ích thiết thực như hiểu rõ hơn về công nghệ vi xử lý hiện đại, cũng như cách thức áp dụng nó trong các dự án thực tế.

Để mở rộng kiến thức của bạn về các yếu tố ảnh hưởng đến việc sử dụng công nghệ mới, bạn có thể tham khảo tài liệu "Luận văn thạc sĩ hệ thống thông tin quản lý các yếu tố ảnh hưởng đến ý định sử dụng internet of things". Ngoài ra, nếu bạn quan tâm đến các phương pháp kiểm tra và phát triển thiết kế RISC-V, tài liệu "Khóa luận tốt nghiệp kỹ thuật máy tính bộ phát sinh chương trình kiểm tra ngẫu nhiên cho thiết kế risc v" sẽ là một nguồn tài liệu hữu ích. Những tài liệu này sẽ giúp bạn có cái nhìn toàn diện hơn về lĩnh vực vi xử lý và công nghệ FPGA.