Custom Extensions in RISC-V SoC-ontwerp ontrafeld
Het gesprek over het configureren van een basisprocessor of het toevoegen van custom extensions om hardware-software design trade-offs in een system-on-chip (SoC) op te lossen, is lang een hoeksteen geweest van de RISC-V-community's waardepropositie. Recente artikelen – zoals A guide to accelerating applications with just-right RISC-V custom instructions – benadrukken de tastbare voordelen van het uitbreiden van de open-source ISA.
Vandaag zijn AI- en machine-learning-SoC's beperkt door vermogen, prestaties en die-area, wat ISA-extensies een vaak overziene maar krachtige hefboom maakt om aan deze eisen te voldoen.
Een recente Quantum Leap Solutions-webinar, getiteld RISC-V Flexibility – The Power of Custom Extensions, had tot doel te ontrafelen hoe de RISC-V ISA aangepast kan worden voor modern SoC-ontwerp. De sessie trok meer dan 100 deelnemers en had een panel van industrie-experts.
De discussie focuste op hoe een gemodificeerde ISA opkomende toepassingen kan versnellen en hoe ontwerpers extensies evalueren voor de RISC-V-architectuur.
Gemodereerd door Mike Ingster, founder en president van Quantum Leap Solutions, waren de panelleden:
- John Min, Director of FAE bij Andes Technology
- Larry Lapides, Vice President of Sales bij Imperas Software
- Taek Nam, Senior Application Engineer bij Mentor
Mike Ingster: Waarom is RISC-V een betere optie voor AI- en ML-leertoepassingen dan andere CPU-architecturen?
John Min: RISC-V is ontworpen toen AI mainstream werd, en de vector-instructieset was ontworpen met AI- en VR-workloads in gedachten.
Larry Lapides: In een AI-systeem met een multiplex-array van heterogene processors – een architectuur die we meerdere keren geïmplementeerd hebben gezien – kan een ontwerper scalaire en vector-kernen combineren. RISC-V laat je onnodige features strippen terwijl vector-instructies behouden blijven, wat superieure price-performance-area (PPA) levert.
Ingster: Kunnen RISC-V-kernen met vector-extensies ook uitgebreid worden met custom instructions?
Min: Ja. Een typisch voorbeeld is een vector-kern die klant-extensies incorporeert om extra buffers toe te voegen, wat stalls door data-starvation voorkomt.
Lapides: Zowel Imperas als Andes hebben klanten die dergelijke custom-functies geïmplementeerd om prestaties te verbeteren.
Ingster: In een multiprocessor-array, hoeven alle CPUs dezelfde configuratie te hebben, of kunnen ze verschillende custom instructions hebben?
Lapides: Heterogene processors zijn gebruikelijk. Custom instructions kunnen per kern verschillen, en zelfs de basis-instructieset kan verschillen – één kern kan vector-instructies ondersteunen terwijl een andere scalair blijft, wat interleaved uitvoering toestaat.
Min: In een gemultiplekseerde array, kunnen zowel CPUs als simulators heterogeen zijn, wat efficiënte multicore-simulatie mogelijk maakt.
Ingster: Ziet u een server-klasse RISC-V-processor op de markt komen?
Min: De traject is duidelijk: hogere frequentie, bredere pipelines, out-of-order-uitvoering, en massaal parallelle multicores. Deze elementen verschijnen al in next-generation RISC-V-kernen voor AI-enterprise-workloads.
Lapides: Historisch begon RISC-V met 32- en 64-bit proof-of-concept SoC's. Ongeveer twee jaar geleden zagen we een golf van security-gefocuste en IoT-SoC's. Vandaag zien we application-class processors – 64-bit RISC-V-kernen die echte RTOS draaien en vroege out-of-order-pipelines. De eerste server-klasse chips worden verwacht binnen de komende twee tot drie jaar.
Ingster: Kunnen custom extensions apparaatbeveiliging en lifecycle-management bieden?
Min: Absoluut. Een custom-instructie kan runtime-checks uitvoeren om software-compatibiliteit af te dwingen, of een toegewijde geheugenpoort kan kritieke data isoleren, wat beveiliging en lifecycle-controle verbetert.
Taek Nam: Ontwerpers kunnen ook Tessent embedded analytics IP benutten om beveiliging en lifecycle-management direct in SoC's met custom extensions in te bedden.
Ingster: Waarom is de RISC-V-benadering van custom instructions anders dan andere leveranciers zoals ARC of Tensilica?
Min: RISC-V's formele extensiemechanisme stelt custom instructions in staat om formeel geïntegreerd te worden in de standaard, wat een helder pad naar bredere adoptie biedt.
Ingster: Hoe kan een ontwikkelaar custom instructions delen met klanten of partners?
Min: Drie opties bestaan: houd het proprietair, dien het in bij RISC-V International voor inclusie (bijv. Andes' DSP-extensies die P-extensies werden), of deel de intrinsics en header-bestanden terwijl de implementatie onder NDA beschermd blijft.
Lapides: Een custom-extension-model kan aangeboden worden als open-source of binaire, of als een instruction-accurate processormodel, wat vroege pre-silicium software-ontwikkeling vergemakkelijkt.
Ingster: Zullen custom extensions compatibiliteitsissues veroorzaken binnen de RISC-V-community?
Min: Proprietaire extensies blijven geïsoleerd; als een extensie wijdverspreid gebruikt wordt, kan het voorgesteld worden voor inclusie in de basis-ISA, wat fragmentatie voorkomt.
Ingster: Wordt de vector-processor ondersteund door een compiler in de huidige versie?
Min: De RISC-V Vector Extensions 0.8 zijn stabiel en worden ondersteund door GCC en LLVM. Definitieve compiler-ondersteuning volgt de officiële specificatiefinalisatie.
Ingster: Hoe worden custom extensions ondersteund in de software-toolchain?
Lapides: Ontwerpers embedden extensies in hun RISC-V-modellen, genererend instruction-set-simulators voor software-ontwikkeling. GCC en LLVM kunnen uitgebreid worden om nieuwe instructies te ondersteunen, en ontwerpers kunnen macro-implementaties leveren.
Ingster: Hoe wordt de compiler bewust van een nieuw aangemaakte custom-instructie?
Lapides: Het softwareteam moet de instructie implementeren in de compiler-backend.
Min: Alternatief, behandel de instructie als een bibliotheek: lever een header-bestand en een optionele proprietair-implementatie, wat ontwikkelinspanning minimaliseert terwijl prestatiewinst behouden blijft.
Ingster: Welke OS's worden ondersteund op RISC-V, en is er ondersteuning voor Android?
Lapides: Linux, Zephyr RTOS, en andere real-time besturingssystemen zijn primaire doelen. Android is niet officieel geverifieerd op RISC-V, maar porteringspogingen zijn gaande. De RISC-V International-website lijst alle ondersteunde OS's.
Ingster: Hoe worden custom extensions geverifieerd?
Lapides: Verificatie omvat het toevoegen van extensies aan RTL en het processormodel. Instruction-set-simulators stellen vroege software-validatie in staat.
Taek: Een recente klant gebruikte onze embedded analytics IP om prestatiewinst van custom instructions te traceren en te kwantificeren, wat de voordelen bevestigde via data-gedreven validatie.
Ingster: Hoeveel area is vereist om de embedded analytics IP toe te voegen?
Taek: Typisch rond 1% van de die, afhankelijk van configuratie. Elk ontwerp wordt geëvalueerd om area te optimaliseren terwijl maximale waarde geleverd wordt.
Deze highlights zijn afkomstig van de volledige paneldiscussie, gehost door Quantum Leap Solutions.
Ingebed
- Productontwerp meesteren: Bewezen strategieën om veelvoorkomende uitdagingen te overwinnen
- Waarom PCB-prototyping essentieel is voor snellere, kosteneffectieve productie
- Bijgewerkte Gids: Maatwerk Behuizingen Ontwerpen voor ATX, Mini-ITX en Micro-ATX Moederborden
- Hoe werkinstructies efficiëntie en compliantie in uw bedrijf drijven
- Custom Manufacturing: De Economie van Morgen Vormgeven
- Magnetisch 'Bereik' Begrijpen: Hoe Ver Hun Magnetisch Veld Uitreikt
- Hoe Computer-Aided Design (CAD) Modern 3D-Printen Aandrijft
- Embedded Systeemontwerp: Stappen, Principes en Praktische Toepassingen
- Gegrondde Coplanaire Golfgeleiders voor RF Feedlines Optimaliseren voor Betere Wi‑Fi Prestaties
- Bluetooth 5.1 SoC: Ultra-compacte, laag-kost oplossing voor IoT-apparaten
- Altium 365: eerste cloudplatform voor PCB-ontwerp, samenwerking en snellere time-to-market