Tìm hiểu về kiến trúc thiết kế chip RISC-V

 

LỰA CHỌN MỞ THAY THẾ INTEL VÀ ARM: RISC-V LÀ GÌ?


Mã nguồn mở đang dần trở thành một phần quan trọng của thế giới IT khi mà nó góp mặt trong khoảng 96% phần mềm thương mại. Tương tự với phần cứng, vi xử lý mã nguồn mở RISC-V đang dần được quan tâm và hứa hẹn sẽ mang tới thay đổi lớn về bối cảnh của ngành điện toán.

Một giải pháp thay thế cho thiết kế của Intel và ARM

Thiết kế vi xử lý hiện đại đang được chia làm hai thái cực, một bên là ARM và phía còn lại là kiến trúc x86 của Intel. Dù rằng hai công ty này đều có quy mô hoạt động khổng lồ, nhưng lại chọn theo hai mô hình kinh doanh khác nhau.

Intel thì thiết kế và tự sản xuất chip của mình, còn ARM thì cấp quyền sử dụng thiết kế của mình cho các bên thứ ba khác, như Qualcommn và Samsung; các bên thứ ba này sau đó sẽ tự thêm những cải tiến của riêng mình. Trong khi Samsung có cơ sở hạ tầng để sản xuất vi xử lý nhà làm thì Qualcomm (và các nhà thiết kế "không sản xuất khác") lại trọng trách này cho các bên thứ ba khác.

Với trường hợp của ARM, hình thức kinh doanh này đòi hỏi bên mua phải kí kết thỏa thuận không tiết lộ nhằm giữ bí mật các khía cạnh về thiết kế của con chip. Đây không phải là điều gì kì lạ bởi mô hình kinh doanh của họ không phân phối vi xử lý mà là tài sản trí tuệ làm nên chúng.

Trong khi đó, Intel lại bảo vệ kĩ lưỡng những bí mật về thiết kế chip thương mại của mình. Vì cả hai hình thức kinh doanh chip trên đều vì mục đích thương mại nên các bên học thuật hay hacker khó có thể tác động tới thiết kế của chúng.

RISC-V khác biệt ra sao?

RISC-V hoàn toàn khác biệt so với hai mô hình trên. Thứ nhất, nó không phải là một công ty. Nó mới chỉ được nhìn nhận gần đây bởi giới học thuật tại trường Đại học California chi nhánh Berkeley vào năm 2010 với vai trò là một giải pháp mã nguồn mở, miễn phí bản quyền giúp thay thế cho những sản phẩm đang có khi ấy.

Sử dụng RISC-V giống với việc cài Linux thay cho Windows, bởi vậy bạn sẽ không cần phải mua, hay đồng ý với bất kì thỏa thuận cấp phép khó ưa nào. RISC-V được tạo ra nhằm mục đích tương tự đối với nghiên cứu và thiết kế bán dẫn.

Bên cạnh bản thiết kế, ARM còn cấp phép sử dụng kiến trúc tập lệnh (Instruction Set Architecture - ISA) – những mệnh lệnh mà vi xử lý có thể hiểu mà không cần phiên dịch – và vi kiến trúc (microarchitecture) – cách mà những câu lệnh trên được thực thi.

Ngược lại, RISC-V thì hiếm khi cung cấp ISA, nó cho phép bên nghiên cứu và nhà sản xuất tự định nghĩa cách mà họ thực sự muốn sử dụng nó. Đặc điểm này giúp thiết kế này có thể mở rộng để phù hợp trên nhiều thiết bị phục vụ các mục đích khác nhau, từ con chip 16 bit, tiêu thụ ít năng lượng cho các hệ thống nhúng, tới các vi xử lý 128 bit thiết kế riêng cho siêu máy tính.

Và ngay từ cái tên ta có thể biết được rằng RISC-V sử dụng những quy tắc của máy tính với tệp lệnh đơn giản hóa (Reduced Instruction Set Computer), giống với những con chip dựa trên thiết kế ARM, MIPS, SPARC và Power.

Vậy thì điều này có nghĩa gì? Ở trung tâm của bất kì vi xử lý máy tính nào cũng đều có thứ được gọi là tập lệnh. Nói một cách đơn giản thì đây là những chương trình nhỏ, có sẵn trong phần cứng, giúp chỉ cho vi xử lý cần phải làm gì.

Các con chip dựa trên RISC thường có số lệnh ít hơn các loại chip sử dụng thiết kế máy tính với tập lệnh phức tạp (Complex Instruction Set Computer - CISC), giống với sản phẩm của Intel. Ngoài ra, bản thân các lệnh cũng dễ dàng thực thi hơn đối với phần cứng.

Tập lệnh đơn giản hơn có nghĩa là bên sản xuất chip có thể tiếp tục tối ưu hóa thiết kế của mình. Song để đánh đổi cho ưu điểm này, những tác vụ tương đối phức tạp sẽ không được thực hiện bởi vi xử lý. Thay vào đó, chúng sẽ được chia nhỏ thành nhiều lệnh nhỏ hơn và đơn giản hơn bằng phần mềm.

Do đó, RISC còn được người ta gọi vui là "đẩy mấy cái quan trọng cho chương trình dịch" (Relegate the Important Stuff to the Compiler). Nghe thì có vẻ như đây là một điểm yếu, nhưng thực ra thì không hề. Để hiểu được điều này, trước tiên, bạn phải hiểu được bản chất của một vi xử lý máy tính.

Cái vi xử lý có trong điện thoại hay máy tính của bạn chứa hàng tỷ những thành phần siêu nhỏ tên là transistor. Đối với những con chip CISC, số transistor này đại diện cho kích thước của tập lệnh.

Song chip RISC có số lệnh ít hơn, đơn giản hơn, do đó, bạn không cần quá nhiều transistor. Tức là bạn sẽ có thêm không gian để cho hàng tá thứ thú vị khác. Ví dụ, bạn có thể tăng thêm bộ nhớ cache và register, hay bổ xung thêm tính năng cho AI và sức mạnh xử lý đồ họa.

Bạn cũng có thể làm cho con chip nhỏ hơn bằng việc sử dụng ít transistor đi. Đây chính là lí do tại sao các con chip RISC của MIPS và ARM thường được sử dụng trong các thiết bị IoT.

Cuộc đua về tốc độ vi xử lý

Tất nhiên là vấn đề bản quyền không phải là lý do duy nhất cho sự tồn tại của RISC-V. David Patterson, người đứng đầu dự án nghiên cứu về thiết kế của vi sử lý RISC, cho biết rằng RISC-V được thiết kế nhằm giải quyết những giới hạn sắp xảy ra về hiệu năng CPU tạo ra bởi những khó khăn trong việc sản xuất.

Số transistor bạn có thể tích hợp trên một con chip càng nhiều thì khả năng của nó càng lớn. Do đó, các nhà sản xuất như TSMC hay Samsung (cả hai đều sản xuất vi xử lý với vai trò là các bên thứ ba) đang tìm cách để không ngừng thu nhỏ kích thước của các transistor.

Mẫu vi xử lý thương mại đầu tiên – Intel 4004 – chỉ có 2.250 transistor có kích thước 10.000 nm (khoảng 0.01 mm). Kích thước này có thể nói là nhỏ, nhưng vẫn là một trời một vực với con chip A14 Bionic mà Apple ra mắt 40 năm sau đó. Con chip của Apple (hiện đang có mặt trên chiếc iPad Air mới nhất) sở hữu tới 11,8 tỷ transistor với kích thước chỉ 5nm.

Vào năm 1965, Gordon E. Moore, đồng sáng lập của Intel, lập luận rằng số transistor có thể đặt trong một con chip có thể gấp đôi sau mỗi hai năm.

Định luật Moore được dự đoán là sẽ không còn áp dụng được cho thập niên này. Ngoài ra cũng có nhiều nghi ngờ về việc: liệu các nhà sản xuất có tiếp tục bám theo xu hướng thu nhỏ kích thước trong dài hạn hay không. Điều này đều đúng ở cả mức độ học thuật lẫn mức độ kinh tế.

Mà cụ thể là khi transistor nhỏ hơn sẽ đồng nghĩa với tính phức tạp và chi phí sản xuất tăng cao. TSMC là một ví dụ, công ty này đã chi hơn 17 tỷ USD vào nhà máy của mình để sản xuất chip 5nm của mình. Với cái rào cản ngày càng gần này, RISV-V nhắm tới việc giải quyết với đề về hiệu năng thông qua hướng đi khác thay cho lối mòn thu nhỏ kích thước và tăng số lượng transistor trước đây.

Những công ty hiện đang sử dụng RISC-V

Dự án RISC-V bắt đầu vào năm 2010, một năm sau, con chip đầu tiên sử dụng ISA đã được sản xuất. Ba năm sau, dự án chuyển sang trạng thái hoạt động công khai; ngay sau đó, sức hút thương mại đã đổ dồn về đây. Công nghệ này đang được sử dụng bởi những công ty như Nvidia, Alibaba, Western Digital.

Điều đáng tiếc là không có gì quá đột phá ở RISC-V. Chính nhóm nghiên cứu đã viết trên trang web của mình rằng: "ISA của RISC-V dựa trên ý tưởng về kiến trúc máy tính đã có từ 40 năm trước".

Song điểm đột phát thực sự ở đây chính là mô hình kinh doanh, mà nói đúng hơn là nhờ việc không có bất kì mô hình nào ở đây cả. Đây chính là điểm giúp mang kiến trúc này tới những thử nghiệm, những cải thiện và tiềm năng tăng trưởng không giới hạn. Giống với những gì RISC-V Foundation đã viết trên trang web của mình:

          "Điểm thu hút ở đây chính là vì nó là một tiêu chuẩn mở và miễn phí, dễ dàng cho phép người dùng dịch chuyển phần mềm và tự phát triển phần cứng phục vụ phần mềm".

Nhiều con chip RISC-V đang phải hoạt động không ngừng nghỉ, góp sức trong các chuỗi máy chủ lớn, và trong các thiết bị IoT. Song ta sẽ vẫn cần phải chờ thêm để xem liệu những tiềm năng của loại kiến trúc này có đủ khả năng để làm lung lay thế độc quyền của ARM hay Intel trong sản phẩm tiêu dùng hay không.

Và nếu một ngày, những ông lớn kể trên ngừng vươn lên, thì đó chính là ngày con ngựa ô mang tên RISC-V vượt mặt và làm thay đổi mọi thứ.

RISC-V: Mở ra kỷ nguyên mới cho thiết kế nhúng


Động lực đằng sau RISC-V cho các ứng dụng nhúng là không thể phủ nhận. Ngày nay, RISC-V Foundation có hơn 100 công ty đằng sau kiến ​​trúc bộ lệnh RISC-V miễn phí và mở, và thành viên của nó đang phát triển nhanh chóng khi nhiều công cụ, phần mềm, phần cứng và các nhà cung cấp hệ điều hành nhảy lên tàu. Với hệ sinh thái mở rộng của mình, RISC-V cung cấp cho cả nhà thiết kế phần mềm và phần cứng một giải pháp thay thế thuyết phục cho các bộ vi xử lý nhúng, tạo ra một kỷ nguyên mới trong cải tiến bộ vi xử lý trong các thiết kế được nhúng.

Lý do đằng sau RISC-V mở khóa một kỷ nguyên mới đun sôi xuống ba yếu tố chính: tuổi thọ, tính di động và độ tin cậy. Tất cả ba lý do được gắn liền với những gì làm cho RISC-V đặc biệt hấp dẫn. Không giống như các kiến ​​trúc bộ vi xử lý đã được thiết lập, thường bổ sung các lệnh với mỗi thế hệ, các nhà thiết kế có thể dựa vào một ISA cố định với RISC-V, đảm bảo tuổi thọ của các khoản đầu tư phần mềm của họ. Tuổi thọ này đặc biệt có lợi cho các ứng dụng nhúng nơi an toàn chức năng, chứng nhận và vòng đời sản phẩm dài là quan trọng.

Một ISA đông lạnh

Để cho phép sử dụng rộng rãi RISC-V và cho phép thị trường ra lệnh cho các kiến ​​trúc bộ vi xử lý, nhóm kỹ sư UC Berkeley đằng sau RISC-V đóng băng ISA ngay trước khi họ giới thiệu công nghệ này tại Hội nghị chuyên đề chíp nóng lần thứ 25 vào năm 2014. Với việc thiết lập phi lợi nhuận RISC-V Foundation vào năm 2015, các thành viên được giao nhiệm vụ chỉ đạo phát triển tương lai của các thông số kỹ thuật HW / SW và hệ sinh thái, cũng như thúc đẩy việc áp dụng ISA. Với bộ ISA cơ sở trong đá và các phần mở rộng tùy chọn được tạo sẵn, các nhà thiết kế có thể thực hiện các bộ xử lý phù hợp với khối lượng công việc cụ thể của họ, thay vì phải làm việc xung quanh một thiết kế bộ vi xử lý tiêu chuẩn.

Nhiều RTOS và hệ điều hành đầy đủ hiện hỗ trợ RISC-V. RISC-V đặc biệt hấp dẫn đối với các ứng dụng nhúng vì việc sử dụng hệ điều hành Linux ngày càng tăng. Điều này cho phép các nhà thiết kế nhanh chóng áp dụng ISA như một kiến ​​trúc tiêu chuẩn mở mới cho việc triển khai phần cứng gốc trực tiếp. Tuy nhiên, ngay cả khi Linux không được sử dụng, kiến ​​trúc đông lạnh, tuổi thọ, tính di động và độ tin cậy mà ISA tự cho là những yếu tố quan trọng cần xem xét.

Tiện ích RISC-V

ISA đông lạnh có nghĩa là phần mềm có thể được phát triển một lần và chạy vô thời hạn trên bất kỳ thiết bị RISC-V nào, phần mềm này hỗ trợ các phần mở rộng (nếu có) được sử dụng. Tiện ích mở rộng là phương pháp duy nhất có thể thêm hướng dẫn mới. Hiện tại, có năm tiện ích, cũng đã bị đóng băng. Các tiện ích này bao gồm:

  • M cho số nguyên nhân và chia.
  • A cho Hướng dẫn nguyên tử
  • F cho điểm nổi chính xác đơn
  • D cho điểm nổi chính xác gấp đôi
  • C cho hướng dẫn nén

Lợi ích của bộ vi xử lý RISC-V

Mức độ tiên đoán và đơn giản này có nhiều lợi ích cho thiết kế vi xử lý và phát triển phần mềm. Hãy xem từng cái một.

TUỔI THỌ

ISA RISC-V cung cấp một nền tảng thiết kế ổn định, sạch sẽ với sự tách biệt rõ ràng và an toàn giữa các chế độ Người dùng và Đặc quyền vì ISA được cố định và chứa dưới 50 lệnh. Nếu tất cả các phần mở rộng tiêu chuẩn được triển khai, tổng số vẫn nhỏ hơn 200. Thay vì giới thiệu các phiên bản mới của ISA, các bổ sung cho bộ lệnh tiêu chuẩn được thực hiện thông qua các phần mở rộng, tạo điều kiện ổn định hơn trong các thiết kế trong tương lai. Ít hướng dẫn hơn có nghĩa là các kiến ​​trúc đơn giản hơn có thể được tạo ra, dẫn đến hiệu quả về chi phí và hiệu quả năng lượng trong việc triển khai bộ xử lý. Đối với các nhà phát triển phần mềm, điều này được dịch để bảo toàn các khoản đầu tư. Viết phần mềm một lần và chạy nó mãi mãi trên bất kỳ lõi RISC-V nào. Điều này thường quan trọng đối với các sản phẩm có tuổi thọ sản phẩm dài phải được hỗ trợ trong nhiều thập kỷ,

 

TÍNH DI ĐỘNG

RISC-V giúp thiết kế dễ dàng hơn khi thiết kế lên tới âm lượng lớn. Ví dụ, một thiết kế có thể bắt đầu vận chuyển trong một FPGA chạy một lõi RISC-V mềm (Hình 1). Vì phần mềm sẽ hoàn toàn di động trên bất kỳ thiết bị nào có lõi RISC-V, nhà thiết kế có cơ bản là mã RTL hệ thống phụ “không có tiền bản quyền” sẵn sàng triển khai trong phần cứng. Nhà thiết kế có thể sửa đổi, điều chỉnh và di chuyển thiết kế của họ sang nền tảng tốt nhất cho sản phẩm của họ. Nếu FPGA đã chọn cần được thay thế bằng thiết bị thế hệ tiếp theo, không cần phải viết lại mã phần mềm. Nguồn RTL hiện tại chỉ đơn giản là cần được nhắm mục tiêu lại đến FPGA khác. Ngoài ra, nếu khối lượng đạt đến mức đủ cao, cùng một nguồn RTL có thể được nhắm mục tiêu lại thành ASIC mà không cần phải trả bất kỳ khoản phí bản quyền nào


Độ tin cậy và an toàn

Tính linh hoạt của RISC-V cho phép các giải pháp duy nhất, đặc biệt cho các thiết kế nhúng đòi hỏi sự an toàn chức năng. Ví dụ, trong các hệ thống có nhiều lõi tương đương, chức năng được thiết kế tự động cho điều kiện cuối cùng trong dự phòng. Một lõi như vậy có thể là Microsemi Mi-V RV32IM, và lõi khác có thể là một thiết kế tương tự về mặt chức năng, nhưng hoàn toàn khác biệt. RISC-V cũng cho phép sự linh hoạt hoàn toàn trên kiến ​​trúc vi mô; do đó, một lõi có thể cung cấp các biện pháp bảo vệ sự kiện đơn lẻ (SEU) cho dữ liệu và bộ nhớ cache lệnh. Nhiều kỹ thuật phòng ngừa an toàn khác có thể được sử dụng vì RISC-V cho phép truy cập vào RTL.

Mặc dù các biến thể được thiết lập tốt của kiến ​​trúc vi xử lý Intel x86 và ARM không thể sớm biến mất, hệ sinh thái của bộ xử lý RISC-V sẵn sàng cho sự phát triển nhanh chóng trong thị trường nhúng do các nhà thiết kế tự do phải tùy chỉnh. Thiết kế của kiến ​​trúc bộ vi xử lý vốn đã linh hoạt để thực hiện có thể có một số hoạt động được tăng tốc trong phần cứng, hoặc, ví dụ, được tối ưu hóa đặc biệt cho công suất thấp. Các nhà thiết kế cũng có thể linh hoạt đính kèm bất kỳ giao diện bus nào mà họ mong muốn, thay vì chỉ được gắn với những chiếc xe buýt mà các nhà cung cấp bộ vi xử lý đã cung cấp. Do tính chất cố định của ISA, bất kỳ biến thể nào trong kiến ​​trúc RISC-V đều được chấp nhận.

Tài nguyên RISC-V

Để tìm hiểu thêm về RISC-V cho thiết kế tiếp theo của bạn, có một số nơi để bắt đầu.

Để biết thông tin cơ bản về RISC-V và các thành viên của RISC-V, hãy truy cập trang web của Tổ chức RISC-V . Nếu bạn muốn bắt đầu ngay lập tức và bắt đầu mã hóa C cho lõi RISC-V, hãy truy cập trang Github của Microsemi và xem các Dự án RISC-V của IGLOO2 Creative Development Board . Microsemi là nhà cung cấp FPGA đầu tiên cung cấp một lõi IP kiến ​​trúc RISC-V mở và một giải pháp IDE phần mềm toàn diện. Các nhà thiết kế có thể triển khai lõi IP RISC-V trong nhiều FPGA dựa trên flash, bao gồm các thiết bị FPGA của PolarFire, IGLOO2 và RTG4. Bảng sáng tạo Mi-V (Hình 2) chứa một IGLOO2 FPGA được lập trình sẵn với lõi RISC-V chạy “hello world” ra khỏi hộp.

Để phát triển mã phần mềm, môi trường phát triển tích hợp (IDE) dựa trên nền tảng Eclipse của Eclipse được cung cấp trên nền tảng Linux hoặc Windows cung cấp hỗ trợ phát triển hoàn chỉnh, bao gồm trình biên dịch C và C ++ và khả năng trình gỡ lỗi. Lõi IP Microsemi RISC-V, phần mềm phát triển Libero SoC và Soft Console IDE có thể tải xuống miễn phí từ trang Microsemi Github.

Post a Comment

Mới hơn Cũ hơn