✨RISC-V
RISC-V (phát âm là "risk-five") là một kiến trúc tập lệnh (ISA) mã nguồn mở dựa trên kiến trúc tập lệnh máy tính với tập lệnh đơn giản hóa (RISC). Dự án bắt đầu từ năm 2010 tại Đại học California, Berkeley, Giống như một số ISA RISC khác, ví dụ như. Amber (ARMv2) hay OpenRISC, RISC-V được cung cấp theo giấy phép nguồn mở miễn phí bản quyền. Các tài liệu định nghĩa kiến trúc tập lệnh RISC-V (ISA) được cung cấp theo giấy phép Creative Commons hoặc BSD License. Từ tháng 3 năm 2019, một phiên bản chính thức ISA 2.2 cho chế độ người dùng (User mode), một phiên bản ISA nháp 1.10 cho chế độ đặc quyền (Privilege mode) và một phiên bản ISA 0.13.1 dành cho chế độ gỡ lỗi (Debug mode) được đưa ra. Vào tháng 7 năm 2023, RISC-V, trong biến thể 64 bit có tên là riscv64, đã được đưa vào làm kiến trúc chính thức của bản phân phối Linux Debian, trong phiên bản không ổn định của nó. Mục tiêu của dự án này là "chuẩn bị Debian để cài đặt và chạy trên các hệ thống triển khai biến thể của RISC-V ISA." Gentoo cũng hỗ trợ RISC-V. Fedora hỗ trợ RISC-V như một kiến trúc thay thế kể từ năm 2025. Dự án openSUSE đã thêm các hỗ trợ cho RISC-V từ năm 2018.
Một số thành viên quốc tế của SiFive, Andes Technology, Synopsys, Alibaba's Damo Academy, Raspberry Pi, và Akeana, đang cung cấp hoặc đã công bố các hệ thống trên một chip (SoC) thương mại kết hợp một hoặc nhiều lõi CPU tương thích với RISC-V compatible CPU cores.
Ý nghĩa
nhỏ|Nguyên mẫu bộ xử lý RISC-V, tháng 1 năm 2013 ISA mới có thể sử dụng thường rất đắt tiền. Các nhà thiết kế máy tính thường không đủ khả năng làm việc miễn phí. Ngoài ra, phát triển CPU đòi hỏi chuyên môn thiết kế trong một số chuyên ngành: logic kỹ thuật số điện tử, trình biên dịch và hệ điều hành. Rất hiếm khi tìm thấy một nhóm như vậy bên ngoài một tổ chức kỹ thuật chuyên nghiệp. Các nhóm thường được trả từ tiền tính cho thiết kế của họ. Do đó, các nhà cung cấp thương mại cho các thiết kế máy tính, như ARM Holdings và Công nghệ MIPS tính phí bản quyền cho việc sử dụng các thiết kế, bằng sáng chế và bản quyền của họ.
Họ cũng thường yêu cầu các thỏa thuận không tiết lộ trước khi phát hành các tài liệu mô tả các ưu điểm và hướng dẫn chi tiết về thiết kế của họ. Trong nhiều trường hợp, họ không bao giờ mô tả lý do cho sự lựa chọn thiết kế của họ.
Chi phí và bí mật này làm cho việc phát triển phần cứng và phần mềm mới trở nên khó khăn hơn nhiều. Nó cũng ngăn chặn kiểm toán an ninh. Một kết quả khác là các bộ hướng dẫn máy tính đa năng hiện đại, chất lượng cao đã không được giải thích hoặc có sẵn ngoại trừ trong các môi trường học thuật.
RISC-V đã được bắt đầu để giải quyết những vấn đề này. Mục tiêu là tạo ra một ISA thực tế có nguồn mở, có thể sử dụng về mặt học thuật và trong bất kỳ thiết kế phần cứng hoặc phần mềm nào mà không có tiền bản quyền. Ngoài ra, các lý do cho mọi phần của dự án được giải thích, ít nhất là rộng rãi. Các tác giả RISC-V là học giả nhưng có kinh nghiệm đáng kể trong thiết kế máy tính. RISC-V ISA là sự phát triển trực tiếp từ một loạt các dự án thiết kế máy tính hàn lâm. Nó được bắt nguồn một phần để hỗ trợ các dự án như vậy. Nhu cầu về số lượng lớn người đóng góp là một phần lý do tại sao RISC-V được thiết kế để phù hợp với nhiều mục đích sử dụng.
Do đó, nhiều người đóng góp RISC-V coi dự án là một nỗ lực cộng đồng thống nhất.
Lịch sử
Thuật ngữ RISC có từ khoảng năm 1980.
Krste Asanović tại Đại học California, Berkeley, có yêu cầu nghiên cứu về một hệ thống máy tính nguồn mở và vào năm 2010, ông quyết định phát triển và xuất bản một hệ thống trong "dự án ngắn ba tháng vào mùa hè" với một số sinh viên sau đại học của mình. Kế hoạch là hỗ trợ cả người dùng học thuật và công nghiệp. và RISC-V là thế hệ thứ năm mang tên ông trong loạt dự án nghiên cứu hợp tác dựa trên RISC của ông tại Đại học California, Berkeley (RISC-I và RISC-II do Patterson xuất bản năm 1981, người gọi kiến trúc SOAR từ 1984 là "RISC-III" và kiến trúc SPUR từ 1988 là "RISC-IV"). Ở giai đoạn này, sinh viên đã cung cấp phần mềm ban đầu, mô phỏng và thiết kế. và một số thiết kế CPU theo giấy phép BSD, cho phép các tác phẩm phái sinh như các thiết kế chip RISC-V có thể là tự do/nguồn mở, hoặc đóng và độc quyền. Bản thân đặc tả ISA (tức là mã hóa bộ lệnh) đã được công bố vào năm 2011 dưới dạng mã nguồn mở, với mọi quyền được bảo lưu. Báo cáo kỹ thuật thực tế (một biểu thức của đặc tả) sau đó đã được cung cấp theo giấy phép Creative Commons để cho phép những người đóng góp bên ngoài cải tiến thông qua RISC-V Foundation và sau đó là RISC-V International.
Lịch sử đầy đủ của RISC-V đã được công bố trên trang web RISC-V International Các tác giả và chủ sở hữu ban đầu đã từ bỏ quyền của họ đối với nền tảng. Quỹ do CEO Calista Redmond lãnh đạo, người đã đảm nhận vai trò này vào năm 2019 sau khi lãnh đạo các dự án cơ sở hạ tầng mở tại IBM.
Tổ chức này đã xuất bản các ấn phẩm tự do định nghĩa RISC-V và cho phép sử dụng không giới hạn của ISA cho cả thiết kế phần mềm và phần cứng. Tuy nhiên, chỉ những thành viên trả tiền của Tổ Chức RISC-V mới có thể bỏ phiếu để phê duyệt các thay đổi hoặc sử dụng logo tương thích đã đăng ký nhãn hiệu.
Vào tháng 11 năm 2019, Quỹ RISC-V thông báo rằng họ sẽ chuyển đến Thụy Sĩ, với lý do lo ngại về các quy định thương mại của Hoa Kỳ. Tính đến tháng 3 năm 2020, tổ chức này được đặt tên là RISC-V International, một hiệp hội kinh doanh phi lợi nhuận của Thụy Sĩ.
, RISC-V International xuất bản tự do các tài liệu định nghĩa RISC-V và cho phép sử dụng ISA không hạn chế để thiết kế phần mềm và phần cứng. Tuy nhiên, chỉ có các thành viên của RISC-V International mới có thể bỏ phiếu để chấp thuận các thay đổi và chỉ các tổ chức thành viên mới sử dụng logo tương thích đã đăng ký nhãn hiệu.
Linux Foundation Europe đã khởi động sáng kiến Hệ sinh thái phần mềm RISC-V (RISC-V Software Ecosystem - RISE) vào ngày 31 tháng 5 năm 2023. Mục tiêu của RISE là tăng tính khả dụng của phần mềm cho các bộ xử lý RISC-V hiệu suất cao và tiết kiệm điện năng chạy hệ điều hành cấp cao cho nhiều phân khúc thị trường bằng cách tập hợp một số lượng lớn các nhà cung cấp phần cứng và phần mềm. Red Hat, Samsung, Qualcomm, Nvidia, MediaTek, Intel và Google là một trong những thành viên ban đầu
Giải thưởng
- 2017: Giải thưởng Lựa chọn của Nhà phân tích Linley Group cho Công nghệ tốt nhất (cho bộ hướng dẫn)
Yêu cầu thúc đẩy
Các nhà thiết kế nói rằng tập lệnh là giao diện chính trong máy tính vì nó nằm giữa phần cứng và phần mềm. Nếu một tập lệnh tốt đã được mở, có sẵn để sử dụng cho tất cả, nó sẽ giảm đáng kể chi phí phần mềm bằng cách cho phép tái sử dụng nhiều hơn nữa. Nó cũng sẽ làm tăng sự cạnh tranh giữa các nhà cung cấp phần cứng, những người có thể sử dụng nhiều tài nguyên hơn cho thiết kế và ít hơn cho hỗ trợ phần mềm.
RISC-V cũng hỗ trợ sử dụng học thuật của các nhà thiết kế. Sự đơn giản của tập hợp số nguyên cho phép các bài tập cơ bản của học sinh. Tập hợp con số nguyên là một phần mềm cho phép ISA đơn giản để điều khiển các máy nghiên cứu. ISA có độ dài thay đổi cho phép mở rộng cho cả bài tập và nghiên cứu của sinh viên. Tài sản trí tuệ mở của RISC-V cho phép các thiết kế của nó được xuất bản, tái sử dụng và sửa đổi.
Có một số thiết kế CPU RISC-V có nguồn mở, bao gồm Berkeley Out of Order Machine (BOOM - Máy Không Theo Thứ Tự) 64 bit, 64 bit Rocket, năm thiết kế CPU Sodor 32 bit từ Berkeley, picorv32 của Clifford Wolf, Scr1 từ Syntacore, PULPino (Riscy và Zero-Riscy) từ ETH Zürich/Đại học Bologna, và những bản khác. CPU Sodor ba giai đoạn xuất hiện apt cho một CPU nhúng nhỏ. Rocket có thể phù hợp với máy tính trung gian nhỏ gọn, công suất thấp như thiết bị cá nhân. BOOM sử dụng phần lớn cơ sở hạ tầng được tạo cho Rocket và có thể sử dụng được cho các máy tính cá nhân, siêu máy tính và quy mô kho. Cả picorv và Scr1 đều là các triển khai RV32IMC của đơn vị vi điều khiển 32 bit (MCU) trong Verilog. Các lõi trong PULPino triển khai một ISA RV32IMC đơn giản cho các bộ điều khiển vi mô (Zero-Riscy) hoặc một RV32IMFC mạnh hơn với các phần mở rộng DSP tùy chỉnh để xử lý tín hiệu nhúng.
Phần mềm thiết kế bao gồm một trình biên dịch thiết kế, Chisel, có thể giảm các thiết kế thành Verilog để sử dụng trong các thiết bị. Trang web này bao gồm dữ liệu xác minh để thử nghiệm triển khai cốt lõi.
Các công cụ phần mềm RISC-V có sẵn bao gồm chuỗi công cụ Bộ trình dịch GNU (GCC) (với GDB, trình gỡ lỗi), chuỗi công cụ LLVM, trình giả lập OVPsim (và thư viện Mô hình bộ xử lý nhanh RISC-V), trình giả lập Spike và trình giả lập trong QEMU.
Hỗ trợ hệ điều hành tồn tại cho nhân Linux, FreeBSD và NetBSD, nhưng các hướng dẫn chế độ giám sát không được chuẩn hóa , và Fedora đang ổn định. Một port của Das U-Boot cũng có sẵn. UEFI Spec v2.7 đã xác định ràng buộc RISC-V và một port TianoCore đã được thực hiện bởi các kỹ sư HPE và dự kiến sẽ được đưa lên luồng trên. Có một port sơ bộ của hạt nhân seL4. Một trình giả lập tồn tại để chạy hệ thống RISC-V Linux trên trình duyệt web bằng JavaScript. Hex Five đã phát hành Stack IoT bảo mật đầu tiên cho RISC-V với sự hỗ trợ FreeRTOS.
Tiếp nhận
Thương mại
- SiFive, một công ty được thành lập để phát triển phần cứng RISC-V, có các mẫu bộ xử lý được phát hành vào năm 2017. Chúng bao gồm hệ thống lõi tứ RISC-V SoCa, SoC 64 bit.
- Syntacore, một thành viên sáng lập của Tổ Chức RISC-V và là một trong những nhà cung cấp IP RISC-V thương mại đầu tiên, phát triển và cấp phép cho gia đình RISC-V IP kể từ năm 2015. Kể từ năm , dòng sản phẩm bao gồm tám lõi 32 và 64 bit, bao gồm lõi MCU mã nguồn mở SCR1. SoC thương mại đầu tiên, dựa trên IP Syntacore đã được công nhận vào năm 2016.
- Công Ty Công Nghệ Andes (Andes Technology Corporation), thành viên sáng lập của Tổ Chức RISC-V đã gia nhập liên minh vào năm 2016, đã phát hành hai lõi RISC-V đầu tiên vào năm 2017. Các lõi, N25 và NX25, đi kèm với một hệ sinh thái thiết kế hoàn chỉnh và một số lượng đối tác của RISC-V. Andes đang tích cực thúc đẩy sự phát triển của hệ sinh thái RISC-V và dự kiến sẽ phát hành một số sản phẩm RISC-V mới trong năm 2018.
- Codasip và UltraSoC đã phát triển tài sản trí tuệ được hỗ trợ đầy đủ cho các SOC nhúng RISC-V kết hợp các lõi RISC-V của Codasip và IP khác với gỡ lỗi, tối ưu hóa và phân tích của UltraSoC.
- Imperas đã phát triển một nhóm các mô hình bộ xử lý nhanh cho các tập hợp con khác nhau của các biến thể RV RV32GC và RV64GC là một phần của phân phối giả lập chính xác tập lệnh OVPsim được sử dụng để phát triển phần mềm nhúng.
- Công Nghệ GreenWaves (GreenWaves Technology) đã công bố tính khả dụng của GAP8, bộ điều khiển 32 bit 1 trình điều khiển với 8 lõi tính toán, SoC 32 bit và bảng nhà phát triển vào tháng 2 năm 2018. Ban phát triển GAPuino GAP8 của họ bắt đầu giao hàng vào tháng 5 năm 2018.
- Hex Five đã công bố tính khả dụng chung MultiZone Security (An Ninh Đa Khu Vực) - môi trường thực thi tin cậy RISC-V (TEE) đầu tiên bằng cách sử dụng RISC-V ISA tiêu chuẩn và các phần mở rộng chế độ đặc quyền.
- CloudBEAR là một công ty IP bộ xử lý phát triển lõi RISC-V của riêng mình cho một loạt các ứng dụng.
- IAR Systems đã phát hành phiên bản đầu tiên của IAR Embedded Workbench cho RISC-V, hỗ trợ các lõi và phần mở rộng RISC-V RV32 32 bit trong phiên bản đầu tiên. Các bản phát hành trong tương lai sẽ bao gồm hỗ trợ và hỗ trợ 64 bit cho bộ hướng dẫn cơ sở RV32E nhỏ hơn, cũng như các giải pháp bảo mật và chứng nhận an toàn chức năng.
- Western Digital, vào tháng 2 năm 2019 đã công bố lõi RISC-V 32 bit có tên SweRV. SweRV có thiết kế đường ống siêu tốc 2 chiều và 9 tầng theo thứ tự. WD có kế hoạch sử dụng bộ xử lý dựa trên SweRV trong bộ điều khiển flash và SSD của họ và sẽ phát hành mã nguồn mở cho các bên thứ ba bắt đầu từ Q1 2019.
- [http://www.fpga-cores.com/instant-soc/ Instant SoC] của [http://www.fpga-cores.com/ FPGA Cores] tạo ra lõi [http://www.fpga-cores.com/instant-soc/risc-v/ RISC-V], các thiết bị ngoại vi và bộ nhớ trực tiếp từ C++.
- Tập đoàn Alibaba, vào tháng 7 năm 2019 đã công bố bộ xử lý XuanTie 910 16 nhân 16 GHz 2,5 GHz, bộ xử lý RISC-V nhanh nhất cho đến nay
Trong giai đoạn phát triển
- Trung Tâm Cho Phát Triển Tin Học Cấp Cao (Centre for Development of Advanced Computing), Ấn Độ (C-DAC) đang phát triển một vi xử lý 64-bit Out-of-order Quadcore RISC-V.
- Viện Kỹ Thuật Ấn Độ Madras (Indian Institute of Technology Madras) đang phát triển sáu thiết kế CPU nguồn mở RISC-V cho sáu mục đích sử dụng khác nhau, từ CPU 32 bit nhỏ cho Internet vạn vật (IoT) đến CPU 64 bit lớn được thiết kế cho các máy tính quy mô kho như trang trại máy chủ dựa trên công nghệ RapidIO và Hybrid Memory Cube (Lập Phương Bộ Nhớ Ghép).
- ASTC đã phát triển CPU RISC-V cho các IC nhúng.
- lowRISC là một dự án phi lợi nhuận để thực hiện một hệ thống phần cứng SOC nguồn mở dựa trên RISC-V 64 bit. như một phần của dự án Parallel Ultra-Low Power (PULP - Song Song Cực Hạ Năng Lượng) cho điện toán IoT tiết kiệm năng lượng.
- Công Nghệ Esperanto (Esperanto Technologies) thông báo rằng họ đang phát triển ba bộ xử lý dựa trên RISC-V: lõi hiệu suất cao ET-Maxion, Lõi tiết kiệm năng lượngET-Minion bộ xử lý đồ họa ET-Graphics.
Thiết kế
Đối với các hệ thống RISC-V đơn giản, giảm chi phí, có một đề xuất sử dụng các bit của thanh ghi dấu phẩy động để thực hiện lệnh đơn song song, số học từ nhiều dữ liệu (SIMD). Điều này được sử dụng rộng rãi để tăng tốc đa phương tiện và xử lý tín hiệu số khác.
Bộ vector
Bộ hướng dẫn xử lý vector được đề xuất có thể làm cho bộ SIMD đóng gói bị lỗi thời. Các nhà thiết kế hy vọng có đủ sự linh hoạt để CPU có thể thực hiện các hướng dẫn vector trong các thanh ghi của bộ xử lý tiêu chuẩn. Điều này sẽ cho phép thực hiện tối thiểu với hiệu suất tương tự như một ISA đa phương tiện, như trên. Tuy nhiên, một bộ đồng xử lý vector thực sự có thể thực thi cùng một mã với hiệu suất cao hơn.
, đề xuất xử lý vector là một thiết kế linh hoạt, bảo thủ của bộ xử lý vector có độ chính xác hỗn hợp cho mục đích chung, phù hợp để thực hiện các hạt nhân tính toán. Mã sẽ chuyển dễ dàng đến các CPU có độ dài vector khác nhau, lý tưởng mà không cần biên dịch lại.
Không giống như một đơn vị xử lý đồ họa hiện đại thông thường, không có kế hoạch cung cấp phần cứng đặc biệt để hỗ trợ sự tiên đoán chi nhánh. Thay vào đó, mục đích dựa trên trình biên dịch chi phí thấp hơn sẽ được sử dụng.
Hệ thống gỡ lỗi bên ngoài
Có một đặc điểm kỹ thuật sơ bộ cho trình gỡ lỗi được hỗ trợ phần cứng của RISC-V. Trình gỡ lỗi sẽ sử dụng một hệ thống vận chuyển như Test Action Group (JTAG - Nhóm Thử Hành Động) hoặc USB để truy cập các thanh ghi gỡ lỗi. Giao diện gỡ lỗi phần cứng tiêu chuẩn có thể hỗ trợ giao diện trừu tượng được chuẩn hóa hoặc cấp lệnh.
, hình thức chính xác của giao diện trừu tượng vẫn chưa được xác định, nhưng các đề xuất bao gồm một hệ thống được ánh xạ bộ nhớ với các địa chỉ được tiêu chuẩn hóa cho các thanh ghi của thiết bị gỡ lỗi hoặc một thanh ghi lệnh và một thanh ghi dữ liệu có thể truy cập vào hệ thống truyền thông. Các thông tín viên cho rằng các hệ thống tương tự được sử dụng bởi giao diện chế độ gỡ lỗi nền của Freescale (BDM) cho một số CPU, ARM, OpenRISC và LEON của Aeroflex.
Trong chế độ đút ăn lệnh, CPU sẽ xử lý một ngoại lệ gỡ lỗi để thực thi các lệnh riêng lẻ được ghi vào thanh ghi. Điều này có thể được bổ sung với một thanh ghi truyền dữ liệu và một mô-đun để truy cập trực tiếp vào bộ nhớ. Hướng dẫn cho phép trình gỡ lỗi truy cập vào máy tính chính xác như phần mềm. Nó cũng giảm thiểu các thay đổi trong CPU và thích nghi với nhiều loại CPU. Điều này được cho là đặc biệt thích hợp với RISC-V vì nó được thiết kế rõ ràng cho nhiều loại máy tính. Thanh ghi truyền dữ liệu cho phép trình gỡ lỗi ghi vòng lặp di chuyển dữ liệu vào RAM và sau đó thực hiện vòng lặp để di chuyển dữ liệu vào hoặc ra khỏi máy tính với tốc độ gần tốc độ tối đa của kênh dữ liệu của hệ thống gỡ lỗi. Các thông tín viên nói rằng các hệ thống tương tự được sử dụng bởi Công Nghệ MIPS MIPS, Intel Quark, Xtensa của Tensilica và cho giao diện chế độ gỡ lỗi nền của CPU Freescale Power ISA (BDM).