Vastauksena standardiprosessorien yhä monimutkaisempiin rakenteisiin Kalifornian yliopistossa Berkeleyssä luotiin avoin, huomattavasti supistettu käskysarja-arkkitehtuuri kymmenen vuotta sitten. RISC-V on nyt ehtinyt viidenteen polveensa ja se tarjoaa monia etuja kehittäjille.
Artikkelin ovat kirjoittaneet Walter Hagner ja Hao Wang. Molemmat toimivat myyntipäällikoinä Rutronikilla. |
Yksi syy suhteellisen yksinkertaisen käskysarjan kehittämiseen oli tutkia, miksi useimmat kääntäjät eivät edes käytä monia yleisten prosessorien tarjoamia osoitetiloja. Uusi käskysarja sai nimekseen RISC (reduced instruction set computer) yksinkertaisuutensa takia. Viides versio, RISC-V, perustuu avoimen lähdekoodin lähestymistapaan ja näyttää olevan suuri läpimurto RISC-arkkitehtuurille.
Yksi tärkeimmistä syistä tähän on se, että RISC-V:n kehitystä eteenpäin vievä RISC-V Foundation, jossa on nyt yli 1000 jäsentä, ei veloita lisenssimaksuja käskysarjan käytöstä. Edes RISC-V:n kaupallinen käyttö ei vaadi lisenssisopimuksia tai maksuja. Tämä tekee RISC-V:stä erittäin houkuttelevan verrattuna x86- ja Arm-prosessoritekniikoihin. Huomattavasti alhaisempien kustannusten lisäksi se tarkoittaa myös sitä, että käyttäjät eivät ole riippuvaisia muista yrityksistä. Kuka tahansa voi kehittää omia RISC-V-ytimiä ja prosessoreita ilman, että heidän tarvitsee paljastaa niitä. Ottaen huomioon, että prosessorit voidaan ladata myös pehmeinä ytiminä ohjelmoitavassa logiikassa, tämä on etu, jota ei voi liiaksi korostaa.
Joustavuus ja kestävyys
RISC-V määrittelee käskykannan, mutta ei prosessorin arkkitehtuuria. Tämä tarjoaa kehittäjille paljon joustavuutta: he voivat yhdistää RISC-V:n mihin tahansa haluamaansa arkkitehtuuriin. Kiinteän käskyjoukon ansiosta tänään kehitetyt ohjelmat ovat suoritettavissa myös tulevissa piiritoteutuksissa. Tämä tekee RISC-V:stä erityisen kiinnostavan teollisissa sovelluksissa, joissa on pitkä elinkaari.
Koko RISC-V-käskysarja perustuu muotoihin rekisteristä-rekisteriin, ehdottomiin ja ehdollisiin hyppyihin, datantallennukseen sekä lyhyisiin ja pitkiin välittömiin muotoihin. Arkkitehtuurille on ominaista sen rekisterien monimuotoisuus, koska RISC-V on load-store -arkkitehtuuri, joka toimii ilman monimutkaisia osoitetiloja. Siinä ei myöskään periaatteessa ole dedikoitua I/O-aluetta, vaan vain muistimapattu I/O.
RISC-V-konseptin etuna on sekin, että siinä ei tarvita suurta mikrosekvensseriä. Sellaisenaan useimmat komennot suoritetaan suoraan laitteistolla mikro-ohjelman sijaan. Tästä seuraa se myönteinen vaikutus, että yleensä tarvitaan vain yksi kellojakso.
Kolme perusarkkitehtuuria …
Yleisellä tasolla eensä kolme perusarkkitehtuuria on saatavilla erilaisilla kokonaislukurekisterileveyksillä. Jo määriteltyjä ovat RV32 32-bittisenä ja RV64 64-bittisenä. 128-bittinen versio, RV128, on vielä suunnitteluvaiheessa.
… ja laajennukset erikoisprosessoreille
Perusarkkitehtuuria voidaan laajentaa, jotta erityisiä prosessoreita voidaan kehittää räätälöidyille sovelluksille. Kehittäjät voivat valita joukosta toimintoja, kuten esimerkiksi liukuluku, kaksinkertaisen tarkkuuden liukuluku, nelinkertaisen tarkkuuden liukuluku, atomioperaatiot ja vektorikäskyt.
RISC-V-pohjainen mikro-ohjain
Useat valmistajat tarjoavat jo RISC-V-pohjaisia mikro-ohjaimia ja prosessoreita. RISC-V-organisaatioon kuuluu lukuisia jäseniä, mukaan lukien strategisia jäseniä ja tunnettuja perustajajäseniä, maailman johtavia yliopistoja sekä suuria digitaaliyrityksiä, kuten Google ja Alibaba.
Rutronik kiinnittää erityistä huomiota markkinoiden kehittämiseen, sillä monet sen päämiehistä ja teknologiakumppaneista ovat aktiivisia RISC-V-yhteisön jäseniä ja monet ovat jo investoineet suuria summia teknologiaan. Rutronikin strategisia RISC-V-kumppaneita ovat esimerkiksi Infineon, Nordic, Gowin, Rockchip, Efinix, Segger ja monet muut. Tästä voidaan jo tänään päätellä, että Arm-ytimien ja omien ratkaisujensa lisäksi yritykset turvautuvat jatkossa intensiivisesti RISC-V-piireihin.
Teknologisesti johtava aasialainen valmistaja, joka käyttää Arm-ytimien lisäksi RISC-V-ytimiä, on julkistanut ensimmäiset RISC-V-pohjaiset 32-bittiset mikro-ohjaimet. Nämä ovat kustannustehokkaita mikro-ohjaimia, joilla on suuri laskentateho ja pieni virrankulutus vaativille sulautetuille markkinoille. RISC-V Bumblebee -ydin toimii 108 MHz:n taajuudella ja tukee RV32IMAC, eli ISA-varianttia 32 bitille. Kirjaimet luvun 32 jälkeen tarkoittavat laajennuksia kokonaislukuoperaatioita (I tarkoittaa kokonaislukua, Integer), kerto- ja jakolaskuja (M tarkoittaa kertomista, Multiply), atomioperaatioita (A tarkoittaa Atomic) ja pakattua 32-bittistä käskysarjaa (C tarkoittaa pakattua, Compressed). Tämä tekee mikro-ohjaimista erittäin suorituskykyisiä.
Tyypillisesti nämä ohjaimet tarjoavat jopa 128 kilotavua sirulle integroitua flash-muistia ja 32 kilotavua SRAM-muistia. Lukuisat edistyneet I/O:t ja oheislaitteet on kytketty kahteen APB-väylään. Nämä ominaisuudet tekevät näistä ohjainpiireistä ihanteellisia verkkosovelluksiin, erityisesti teollisuusohjaukseen, moottorikäyttöihin, tehonvalvonta- ja hälytysjärjestelmiin, kuluttaja- ja kannettaviin laitteisiin, myyntipäätteisiin sekä autojen GPS- ja ledinäyttöihin.
Kehittäjät voivat löytää RISC-V-maailmasta jo nyt laajan valikoiman kehityskortteja, aloituspaketteja ja kattavan ohjelmistokirjaston sekä IDE-tuki- ja virheenkorjaustyökaluja myös Rutronik-kumppaneilta, kuten Seggeriltä. Näin käyttäjät voivat toteuttaa projektinsa nopeasti.
Lopuksi
Verrattuna x86- ja Arm-arkkitehtuureihin RISC-V tarjoaa ensisijaisesti alhaisemmat kustannukset sekä enemmän vapautta ja joustavuutta. Se nauttii kasvavasta suosiosta. Kehittäjän kannattaa siis tarkastella sitä lähemmin.