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.