3 คะแนน โดย GN⁺ 2023-11-05 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • AMD MicroBlaze V คือ IP โปรเซสเซอร์ซอฟต์คอร์ RISC-V สำหรับใส่ใช้งานใน AMD adaptive SoC และ FPGA โดยผสานเข้ากับ flow การออกแบบของ Vivado และ Vitis
  • มุ่งรักษาความเข้ากันได้ด้านฮาร์ดแวร์กับดีไซน์ MicroBlaze เดิม พร้อมอาศัยความสามารถในการพอร์ตซอฟต์แวร์บน RISC-V ISA และระบบนิเวศโอเพนซอร์ส
  • สามารถกำหนดค่าชุดคำสั่งพื้นฐาน RV32I·RV64I ได้ และเลือกส่วนขยาย M/A/F/C รวมถึงส่วนขยายการจัดการบิต ZBa, ZBB, ZBc, ZBs ได้
  • มีคอนฟิก preset ตั้งแต่ไมโครคอนโทรลเลอร์ไปจนถึงโปรเซสเซอร์แอปพลิเคชัน รวมถึงตัวเลือก pipeline 4 แบบ และฟีเจอร์ด้านความปลอดภัยอย่าง dual-core lockstep และ TMR
  • สามารถ target ไปยังอุปกรณ์ AMD adaptive SoC หรือ FPGA ทุกตัวที่ Vivado Design Suite รองรับได้ โดยไม่มีค่าใช้จ่ายเพิ่มเติม แต่ RV64I และ Memory Protection Unit ยังเป็น Early Access ส่วน Memory Management Unit อยู่ในขั้น roadmap

โปรเซสเซอร์ซอฟต์ RISC-V สำหรับ AMD adaptive SoC และ FPGA

  • AMD MicroBlaze V คือ IP โปรเซสเซอร์ซอฟต์คอร์ RISC-V สำหรับ AMD adaptive SoC และ FPGA
  • อิงตามสถาปัตยกรรมชุดคำสั่ง RISC-V (ISA) และมีสถาปัตยกรรมที่ กำหนดค่าแบบโมดูลาร์ได้ ให้เหมาะกับแอปพลิเคชันระบบฝังตัว
  • นักพัฒนาสามารถ target MicroBlaze V ไปยังอุปกรณ์ AMD adaptive SoC หรือ FPGA ที่ Vivado Design Suite รองรับได้ โดยไม่มีค่าใช้จ่ายเพิ่มเติม
  • RISC-V เป็น ISA มาตรฐานโอเพนซอร์สที่ดูแลโดยองค์กรไม่แสวงหากำไร RISC-V Foundation และ AMD เป็นสมาชิกมาตั้งแต่ปี 2020

การกำหนดค่า RISC-V ISA และความสามารถในการพอร์ต

  • MicroBlaze V อิงตาม ISA โอเพนซอร์ส ที่มีระบบนิเวศซอฟต์แวร์และโซลูชันรองรับทั่วทั้งอุตสาหกรรม
  • เป้าหมายของการออกแบบคือทำให้การย้ายฮาร์ดแวร์จากดีไซน์โปรเซสเซอร์ MicroBlaze เดิมทำได้ง่ายขึ้น และเพิ่มความสามารถในการพอร์ตซอฟต์แวร์ของดีไซน์ RISC-V
  • ขอบเขตการรองรับ ISA ที่กำหนดค่าได้:
    • RV32I และ RV64I Base Integer Instruction Set
    • M extension สำหรับการคูณและหาร
    • A extension สำหรับคำสั่งแบบ atomic
    • F extension สำหรับ floating point
    • C extension สำหรับการบีบอัดโค้ด
    • ZBa, ZBB, ZBc, ZBs extensions สำหรับการจัดการบิต
  • ฟีเจอร์บีบอัดโค้ดใช้เพื่อลดขนาดโค้ดและประหยัดหน่วยความจำของดีไซน์

สถาปัตยกรรม ประสิทธิภาพ และฟีเจอร์ด้านความปลอดภัย

  • สามารถเลือก คอนฟิก preset ที่เหมาะกับขอบเขตแอปพลิเคชันหลายแบบ ตั้งแต่ไมโครคอนโทรลเลอร์ไปจนถึงโปรเซสเซอร์แอปพลิเคชัน
  • มี ตัวเลือก pipeline 4 แบบ เพื่อปรับให้เหมาะกับพื้นที่หรือประสิทธิภาพ
  • รวมถึงมาตรการด้านความปลอดภัยแบบเลือกใช้ได้สำหรับระบบที่มีความสำคัญด้านความปลอดภัย
    • Dual-core lockstep

      • Triple modular redundancy(TMR)

Flow การออกแบบบน Vivado·Vitis และอุปกรณ์ต่อพ่วง

  • MicroBlaze V มี flow การออกแบบที่ผสานเข้ากับ Vivado Design Suite และ Vitis software tools
  • เข้ากันได้กับ AMD adaptive SoC และ FPGA ทุกตัวที่เครื่องมือออกแบบ Vivado รองรับ
  • ใช้งานได้ทั้งผ่าน graphical user interface (GUI) และ command-line interface (CLI)
  • สามารถใช้งาน IP ที่ปรับแต่งแล้วเพื่อวางซับซิสเต็มโปรเซสเซอร์ MicroBlaze V แบบผสานรวมไว้ใน programmable logic โดยมีเป้าหมายเพื่อลดจำนวนคอมโพเนนต์ของระบบและเวลาพัฒนา
  • หมวดหมู่อุปกรณ์ต่อพ่วงหลักที่เพิ่มได้ด้วยวิธี drag-and-drop:
    • General Purpose: Multichannel DMA, Streaming FIFO, Timer / Watchdog, Mutex / Mailbox
    • I/O: UART, USB 2.0, SPI, GPIO, PWM
    • Video: HDMI Camera/Display Interface, MIPI-CSI, MIPI-DSI, Video DMA
    • Memory: DDR, Quad SPI, SDRAM
    • Networking: Ethernet Subsystem, Controller Area Network

คอนฟิกตัวอย่าง เอกสาร และสถานะการรองรับ

  • คอนฟิกดีไซน์ตัวอย่างมี 2 แบบคือ MicroBlaze V Microcontroller และ MicroBlaze V with Memory Protection Unit
  • คอนฟิก MicroBlaze V Microcontroller

    • 32-bit Processor Core RV32IMAFC
    • JTAG Debug Interface
    • Tightly Coupled Local Memory
    • SPI controller, I2C Controller, UART
    • Interrupt Controller, Timer, GPIO
  • คอนฟิก MicroBlaze V with Memory Protection Unit

    • Microcontroller Preset Blocks ทั้งหมด
    • Instruction Cache
    • Memory Protection Unit

      • Data Cache
      • Memory Controller
  • เอกสารและทรัพยากรรองรับ

    • MicroBlaze V Processor Quick Start Guide: แนะนำขั้นตอนการสร้างระบบโปรเซสเซอร์ AMD MicroBlaze V พื้นฐานโดยใช้ดีไซน์ processor preset
    • MicroBlaze V Processor Reference Guide: ให้ข้อมูลเกี่ยวกับโปรเซสเซอร์ซอฟต์ MicroBlaze V แบบ 32 บิตและ 64 บิตที่รวมอยู่ใน AMD Vivado Design Suite
    • MicroBlaze Debug Module V Product Guide: ให้ข้อกำหนดการออกแบบคอร์ MDM V ที่ช่วยให้ดีบักโปรเซสเซอร์ MicroBlaze V หนึ่งตัวหรือมากกว่าผ่าน JTAG ได้
    • Webinar: Getting Started with Zephyr® RTOS on the AMD MicroBlaze™ V Processor: ครอบคลุมการตั้งค่า Zephyr การกำหนดค่า และการ build แอปพลิเคชันสำหรับเป้าหมาย MicroBlaze V
    • Documentation: ชุดคู่มือผู้ใช้และ product guide ของ MicroBlaze V
    • Wiki: กล่าวถึงความยืดหยุ่นในการเลือกชุดอุปกรณ์ต่อพ่วง หน่วยความจำ และอินเทอร์เฟซที่ต้องการ
  • สถานะการรองรับ

    • Microcontroller configuration มีให้ใช้งานในระดับ Production
    • AMD MicroBlaze V with RV64I และ Memory Protection Unit อยู่ในสถานะ Early Access
    • AMD MicroBlaze V with Memory Management Unit อยู่ใน roadmap

1 ความคิดเห็น

 
GN⁺ 2023-11-05
ความคิดเห็นจาก Hacker News
  • ถ้าไม่จำไว้ว่า AMD เพิ่ง เข้าซื้อ Xilinx ไป อาจทำให้งงได้
    ต่อไปมีความเป็นไปได้สูงที่จะเห็นผลิตภัณฑ์ Xilinx ใหม่ ๆ ใช้ชื่อ AMD มากขึ้น

    • คงมองว่าเป็นผลิตภัณฑ์ใหม่แบบสุ่ม ๆ ได้ยาก Xilinx MicroBlaze เป็นเทคโนโลยีที่มีอายุมากกว่า 20 ปีแล้ว และเป็นหนึ่งใน “ซอฟต์คอร์ของจริง” รุ่นแรก ๆ ที่พัฒนาสำหรับ FPGA
      ฝั่ง Intel ก็เทียบได้กับ Altera NIOS II
  • ตามคอมเมนต์ใน Reddit [1] ระบุว่าสิ่งนี้เหมือนกับการเอา ตัวถอดรหัสคำสั่ง RISC-V ไปต่อไว้ด้านหน้าของ MicroBlaze RTL เดิม
    หากมองจากมุม “มาสร้างคอร์ RISC-V ที่ดีที่สุดกันเถอะ” ก็ดูไม่สมเหตุสมผล แต่เป้าหมายของ Xilinx/AMD ไม่ได้เป็นแบบนั้นอยู่แล้ว
    MicroBlaze เป็นตัวอย่างที่ดีของ RISC CPU แบบทำงานตามลำดับที่น่าเบื่อ ซึ่งเข้าไปอยู่ในช่องว่างเฉพาะทางที่น่าเบื่อ และสำหรับผู้ผลิต FPGA แล้ว ซอฟต์คอร์ก็เป็นเหมือนสินค้าล่อซื้ออยู่ครึ่งหนึ่ง ช่วยขายซิลิคอนได้ แต่ตัวมันเองไม่ได้ทำเงิน เพราะไม่ใช่พื้นที่ FPGA ที่เป็นตัวกำหนดประสิทธิภาพ แต่ใกล้เคียงกับเทคโนโลยี “กาวสำหรับการผสานระบบ” มากกว่า ดังนั้นแค่ “ดีพอ” ก็เพียงพอแล้ว
    ถ้า AMD นำ MicroBlaze RTL กลับมาใช้จริง ก็จะสามารถคงเฟิร์มแวร์เดิม (คอร์, FPU, ดีบัก, อุปกรณ์ต่อพ่วง ฯลฯ) และซอฟต์แวร์เดิม (HAL, คอมไพเลอร์, ไดรเวอร์) ไว้ได้ ซึ่งน่าสนใจมากทั้งในมุมผู้ให้บริการ และในมุมผู้ใช้ที่อยากย้ายไปคอร์ MicroBlaze ใหม่โดยไม่เจ็บตัว
    1: https://old.reddit.com/r/FPGA/comments/17mdcyt/microblaze_go...

    • ผู้ใช้ Reddit คนนั้นมีคาร์มา -5 และในสถานการณ์ที่การสร้าง คอร์ RISC-V แบบง่าย ๆ ตั้งแต่ต้นใช้เวลาแค่ไม่กี่วัน แนวคิดนั้นแทบไม่สมเหตุสมผลเลย
      คงไม่ขอพึ่งข้อมูลนั้น
      อย่างไรก็ดี มันมีอินเทอร์เฟซภายนอกแบบเดียวกับ MicroBlaze เดิม จึงเป็นตัวทดแทนที่จากมุมมองฮาร์ดแวร์สามารถเสียบเข้าไปในดีไซน์เดิมได้เลย
    • ที่ว่าซอฟต์คอร์เป็นสินค้าล่อซื้อสำหรับผู้ผลิต FPGA นั้นถูกต้องแล้ว เทคโนโลยีตัวเปิดทาง แบบนี้ไม่ได้ทำเงินด้วยตัวมันเอง จึงไม่ได้รับการมองว่ามีคุณค่าในบริษัทฮาร์ดแวร์
      นั่นจึงเป็นเหตุผลที่ซีอีโอมหาเศรษฐีของ Xilinx และ Altera คงส่ายหน้าอย่างเสียดายเมื่อได้ยินว่า Jensen Huang ยังคงทุ่มเงินใส่ซอฟต์แวร์สแต็กของ Nvidia ต่อไป สักวันคงได้เรียนรู้ว่ามูลค่าที่แท้จริงอยู่ตรงไหน
  • อธิบายได้ไหมว่าประกาศนี้สำคัญต่อ RISC-V แค่ไหน?

    • ผู้ผลิต FPGA รายใหญ่รายอื่น ๆ เริ่มให้ คอร์ RISC-V ที่รองรับอย่างเป็นทางการ เป็นทางเลือกแทนคอร์ชุดคำสั่งแบบปิดของตนเองมาหลายปีแล้ว
      แน่นอนว่าคอร์จากบุคคลที่สามบน GitHub ก็ถูกใช้กันมาก แต่การผสานและรองรับอย่างเป็นทางการใน IDE และเครื่องมือมีความหมายต่อผู้ใช้จำนวนมาก
      MicroSemi ให้บริการซอฟต์คอร์ RISC-V มาตั้งแต่ปี 2017 และตั้งแต่ปลายปี 2020 ก็มีฮาร์ดคอร์อย่าง PolarFire SoC ด้วย เช่น BeagleBoard Fire รุ่นใหม่, Icicle เป็นต้น
      Lattice ประกาศซอฟต์คอร์ RISC-V อย่างเป็นทางการตัวแรกประมาณเดือนมิถุนายน 2020 ประกาศความร่วมมือกับ SiFive ในเดือนธันวาคม 2019 และช่วงกลางปี 2021 ก็ออกรุ่นปรับปรุงอย่างคอร์ 800 LUT ด้วย
      Intel เปิดตัว Nios V ในเดือนตุลาคม 2021
    • MicroBlaze เป็นคอร์ที่อยู่ใน ระดับจำนวนเกต ซึ่ง RISC-V กำลังรุกคืบอย่างแข็งขัน
      สิ่งอย่าง Tensilica, ARC ก็สูญเสียมูลค่าเพิ่มไปมากในพื้นที่นี้เช่นกัน จากมุมมองของคนที่เคยพอร์ตเคอร์เนลด้วย MicroBlaze โดยตรง มันคือ RISC แบบไปป์ไลน์คลาสสิกในช่วงประมาณ 20,000 เกต และอยู่กึ่งกลางระหว่าง MIPS กับ SH4
      ส่วนที่น่าสนใจที่สุดของประกาศนี้คือ AMD/Xilinx เข้ามาลึกถึงขั้นนิยามคำที่เป็นเครื่องหมายการค้าอย่าง “MicroBlaze” ใหม่เอง แทนที่จะตั้งชื่อใหม่แล้วคอยรองรับการอัปเดต MicroBlaze เดิมต่อไป
    • SiFive รุ่นเก่าเคยมีคอร์ RV32 ที่ใส่ใน Artix-7 ได้ แต่ค่อนข้างพื้นฐาน
      อินพุต/เอาต์พุตก็ไม่เป็นมาตรฐานเดียวกัน และใช้ DRAM บนบอร์ดไม่ได้ด้วย ถ้าได้เห็น ซอฟต์คอร์ RV32 ที่รองรับอย่างเป็นทางการบน Artix-7 ก็คงดี
      เมื่อก่อนเคยใช้ MicroBlaze ได้ค่อนข้างดี แต่เพราะมันปิดมาก จึงไม่คิดจะใช้เกินกว่าการทดสอบหรือการศึกษา แม้จะไม่ใช่ผู้สนับสนุน RISC-V แบบสุดตัว แต่สิ่งนี้เหมาะกับงานประเภทนี้ เพราะเหมือนเป็นการบอกว่า “เราจะให้เครื่องมือที่ใช้ชุดคำสั่งที่คุณอาจลงทุนไปแล้ว และจะไม่พยายามผูกคุณไว้กับ toolchain ฝั่งนั้นด้วย”
      การที่ AMD/Xilinx ผูกไว้ในชั้นที่ต่ำกว่าชุดคำสั่งนั้นยังพอรับได้ในระดับหนึ่ง เพราะอย่างไรก็มีแนวโน้มสูงว่าต้องจ่ายค่าฮาร์ดแวร์อยู่ดี ไม่ว่าจะซื้อ FPGA หรือซื้อชิ้นส่วนตามแค็ตตาล็อกที่อาจจะมีออกมาในสักวัน
    • Xilinx เป็นผู้ผลิต FPGA รายใหญ่พอสมควร และ MicroBlaze ให้ฟีเจอร์ความทนทานต่อความผิดพลาด รวมถึง TMR ได้ค่อนข้างดี
      TMR เองไม่ใช่เรื่องใหม่ใน RISC-V แต่หมายความว่าโปรเจกต์จำนวนมากที่ใช้ MicroBlaze อยู่แล้ว และโปรเจกต์ใหม่ที่อยากใช้ MicroBlaze จะสามารถใช้ RISC-V ได้แล้ว
    • มันเป็นไมโครคอนโทรลเลอร์และยังทำงานเป็น CPU แบบเรียลไทม์ ได้ด้วย
      RISC-V ได้รับความนิยมพอสมควรในตลาดนั้นอยู่แล้ว
  • สงสัยว่าเมื่อเทียบกับ SERV https://serv.readthedocs.io/en/latest/servant.html แล้ว MicroBlaze V จะถูกใช้ในกรณีแบบไหน
    กล่าวคือ นอกจากการรับรองอย่างเป็นทางการจากผู้ผลิตชิปแล้ว ข้อดีเพียงอย่างเดียวที่ MicroBlaze V ให้ได้ดูเหมือนจะเป็นความเร็ว ไม่ใช่ว่า FPGA CPU มักใช้กับงานที่ไม่ได้ไวต่อเวลาเท่าไหร่หรือ? งานความเร็วสูงและไวต่อเวลาควรให้ FPGA fabric จัดการร่วมกับอินเทอร์เฟซ I/O บนชิป นั่นน่าจะเป็นจุดประสงค์

    • ประเด็นหลักคือ เครื่องมือและการสนับสนุน ไม่ใช่ว่าอยากไปลองปรับแต่งซอฟต์คอร์ RISC-V เอง แต่อยากได้สิ่งที่ทำงานได้เลย และเชื่อมต่อกับสิ่งที่สนใจจริง ๆ ได้ดีอยู่แล้ว
      MicroBlaze ให้เลือกตัวเลือกการตั้งค่าและอุปกรณ์ต่อพ่วงต่าง ๆ แล้วลากและวางเพื่อประกอบซอฟต์คอร์ของตัวเองได้จริง ๆ รวมถึงมี SDK สำหรับแอปพลิเคชันของผู้ใช้ และเครื่องมือดีบักเพื่อหาสาเหตุของปัญหา
      ถ้าพัฒนาด้วย SERV ก็ไม่น่าแปลกใจหากเวลาพัฒนาจะนานขึ้นหลายหลัก เพียงเพราะความสุกงอมของเครื่องมือต่ำกว่า
  • การมีซอฟต์คอร์ตัวใหม่ออกมาก็ดีอยู่หรอก แต่สงสัยว่าจำเป็นต้องทำให้ namespace เลอะเทอะด้วยหรือ
    MicroBlaze เป็นชื่อสถาปัตยกรรมที่คนอาจเอาไปค้นหาอยู่แล้ว
    น่าจะเรียกประมาณ AMDcoreV ไปก็ได้

    • ใช่แล้ว MicroBlaze เป็นชื่อสถาปัตยกรรมที่ AMD เป็นเจ้าของ และตามบทความ คอร์นี้เข้ากันได้กับมัน

      It allows developers to leverage the open-source RISC-V software ecosystem, is hardware compatible with the classic MicroBlaze processor

    • อินเทอร์เฟซที่มองจาก HDL เหมือนกัน แต่ฝั่งซอฟต์แวร์เป็น ชุดคำสั่ง RISC-V ที่กำลังเติบโตอย่างรวดเร็วจนเป็นอีโคซิสเต็มที่แข็งแกร่งที่สุด
      แค่คอมไพล์ใหม่ก็พอ และครั้งนี้ไม่ต้องไปยุ่งกับเครื่องมือคุณภาพต่ำที่อ่อนแอ เป็นกรรมสิทธิ์ และทำขึ้นเฉพาะทาง แต่ใช้เครื่องมือมาตรฐานอุตสาหกรรมที่เชื่อถือได้อย่าง gcc, binutils, llvm ได้
    • นี่คือ Xilinx MicroBlaze ตัวใหม่ คือย้ายจากชุดคำสั่งคล้าย AVR ไปเป็น RV32
    • หมายถึงสถาปัตยกรรม MicroBlaze ที่ AMD ได้ครอบครองผ่านการซื้อ Xilinx นั่นไม่ใช่เหรอ?
    • ถึงอย่างไรก็ดีกว่าใช้ชื่อเปล่า ๆ โดยไม่มี suffix เพราะอย่างน้อยก็เป็น MicroBlaze V
  • มีอะไรที่เทียบได้กับ PSP หรือ ME อยู่ในนั้นไหม? เบื่อเต็มทีแล้วกับ CPU กล่องดำ น่าสงสัยที่ไม่ปลอดภัยและแพตช์ไม่ได้

  • ตัวคอร์เองเป็น โอเพนซอร์ส ไหม?

    • น่าจะไม่ใช่ แต่ AMD บอกว่าสามารถใช้ได้ฟรีบน AMD(Xilinx) FPGA ใด ๆ
      ถ้าต้องจ่ายค่าใช้งาน ก็คงไม่มีใครสนใจประกาศนี้เพราะมีทางเลือกฟรีอยู่แล้ว
      มองได้ว่าคอร์นี้ถูกปรับแต่งมาให้ใช้ทรัพยากรของ Xilinx FPGA ได้อย่างมีประสิทธิภาพ และนั่นน่าจะเป็นข้อได้เปรียบเมื่อเทียบกับทางเลือกอื่น
    • อาจไม่ใช่ไลเซนส์โอเพนซอร์ส แต่ ซอร์สโค้ด ของคอร์ MicroBlaze รุ่นก่อนรวมอยู่ใน development kit และถูก obfuscate แบบเบา ๆ
      ถึงขั้นไม่ได้ลบคอมเมนต์ในซอร์สโค้ดออกด้วยซ้ำ
  • ถ้ามี ภาพรวม ที่เปรียบเทียบ RISC-V softcore พวกนี้ในที่เดียวก็คงดี
    เช่น เป็นโอเพนซอร์สไหม คะแนน CoreMark ประมาณเท่าไร ขนาดเท่าไร อะไรทำนองนั้น
    neorv, serv, vexrisc, nios v, microblaze v ฯลฯ

  • มี development kit ที่ใช้ลองตัวนี้ได้ไหม? ควรเริ่มยังไง?

    • อ่านบทความที่ลิงก์ไว้ได้เลย: https://docs.xilinx.com/v/u/en-US/microblaze-quick-start-gui...
      เป็นงานออกแบบ Xilinx FPGA ดังนั้นเริ่มจากบอร์ดพัฒนาของ Xilinx น่าจะถูกทาง
    • บอร์ดสำหรับเริ่มต้นหาได้ที่นี่ ราคาตั้งแต่ 150 ดอลลาร์ไปจนถึงประมาณ 4000 ดอลลาร์
      https://www.xilinx.com/products/boards-and-kits/cost-optimiz...
    • ถ้าเป็นบอร์ด Xilinx ราคาถูกที่รองรับ MicroBlaze soft CPU ก็เลือกอะไรก็ได้
      ถ้าสิ่งที่ต้องการมีแค่ RISC-V softcore นอกอีโคซิสเต็มของ Xilinx ก็มีตัวเลือกอีกมาก โดยส่วนตัวชอบบอร์ดที่ yosys/nextpnr รองรับดี
      0. https://www.joelw.id.au/FPGA/CheapFPGADevelopmentBoards
  • นี่เป็นก้าวแรก และเป็นสัญญาณที่ดี
    แต่ถ้าเป็น คอร์ 64 บิต คงจะดีกว่าคอร์ 32 บิต เพราะถ้าเขียนเส้นทางโค้ดแอสเซมบลี RISC-V แบบ 64 บิต ก็สามารถนำไปใช้ซ้ำได้จริงบนเดสก์ท็อป เซิร์ฟเวอร์ และ embedded

    • ไม่ใช่ “ก้าวแรก” หรอก เป็นหนึ่งในหลายก้าวที่มีมาแล้ว
      ถ้าอยากได้คอร์ 64 บิต ดูเหมือนจะไม่ใช่ตลาดเป้าหมายของมัน
      การนำแอสเซมบลี RISC-V 64 บิตไปใช้ซ้ำบนเดสก์ท็อป เซิร์ฟเวอร์ และ embedded ก็ไม่ค่อยสมจริง เดสก์ท็อปกับเซิร์ฟเวอร์แทบจะเป็น 64 บิตล้วน ส่วน embedded ส่วนใหญ่เป็นคอร์ 32 บิต จึงมีส่วนทับซ้อนกันไม่มาก
      ไม่ใช่แค่ความต่างระหว่าง 32 บิตกับ 64 บิตเท่านั้น แต่สภาพแวดล้อมการเขียนโปรแกรมก็ต่างกันมากด้วย ทั้งความซับซ้อนของระบบ ขั้นตอนบูต วิธีโต้ตอบกับภายนอก ฯลฯ
      สรุปคือควรเลือกอุปกรณ์เป้าหมายแล้วเขียนโค้ดให้เหมาะกับมัน ถ้าอยากย้ายข้ามอุปกรณ์หลายประเภทได้ง่าย ควรเขียนด้วยภาษาอื่นที่ไม่ใช่แอสเซมบลี