Nios II - Nios II

Nios II
Designer Altera
Bits 32-bitars
Design RISK
Endianness Little-Endian
Öppen Nej
Register
Generell mening 32

Nios II är en 32-bitars inbäddade-processorarkitektur som utformats speciellt för Altera familj av fältprogrammerbar grindmatris (FPGA) integrerade kretsar. Nios II innehåller många förbättringar jämfört med den ursprungliga Nios-arkitekturen, vilket gör den mer lämplig för ett bredare utbud av inbäddade datorapplikationer, från digital signalbehandling (DSP) till systemkontroll.

Nios II är en efterträdare till Alteras första konfigurerbara 16-bitars inbäddade processor Nios .

Nyckelfunktioner

Liksom den ursprungliga Nios är Nios II-arkitekturen en RISC soft-core- arkitektur som implementeras helt i de programmerbara logik- och minnesblocken i Altera FPGA. Till skillnad från sin föregångare är den en full 32-bitars design:

  • 32 allmänna 32-bitarsregister,
  • Full 32-bitars instruktionsuppsättning, datasökväg och adressutrymme,
  • Enstaka instruktioner 32 × 32 multiplicera och dela vilket ger ett 32-bitars resultat.

Den mjuka kärnan hos Nios II-processorn låter systemdesignern specificera och generera en anpassad Nios II-kärna, skräddarsydd för hans eller hennes specifika applikationskrav. Systemdesigners kan utöka Nios II: s grundläggande funktionalitet genom att lägga till en fördefinierad minneshanteringsenhet eller definiera anpassade instruktioner och anpassade kringutrustning.

Anpassade instruktioner

På samma sätt som Nios II-instruktioner accepterar användardefinierade instruktioner värden från upp till två 32- bitars källregister och kan eventuellt skriva tillbaka ett resultat till ett 32-bitars destinationsregister. Genom att använda egna instruktioner kan designers systemet finjustera systemet hårdvara för att uppfylla prestanda mål och även designern kan enkelt hantera instruktionen som ett makro i C .

Anpassade kringutrustning

För prestandakritiska system som spenderar de flesta CPU-cykler med att utföra en viss kodsektion kan en användardefinierad kringutrustning potentiellt avlasta en del eller hela körningen av en programvarealgoritm till användardefinierad hårdvarulogik , vilket förbättrar energieffektiviteten eller applikationsgenomströmningen. .

Memory Management Unit

Introducerad med Quartus 8.0 möjliggör den valfria MMU Nios II att köra operativsystem som kräver hårdvarubaserad personsökning och skydd, till exempel Linux-kärnan. Utan en MMU är Nios begränsad till operativsystem som använder ett förenklat skydd och virtuellt minnesmodell: t.ex. µClinux och FreeRTOS .

Minneskyddsenhet

Introducerad med Quartus 8.0 ger MPU (tillval) minneskydd som liknar det som tillhandahålls av en MMU men med en enklare programmeringsmodell och utan prestandakostnader förknippade med en MMU.

Nios II CPU-familj

Nios II classic erbjuds i 3 olika konfigurationer: Nios II / f (snabb), Nios II / s (standard) och Nios II / e (ekonomi). Nios II gen2 erbjuds i två olika konfigurationer: Nios II / f (snabb) och Nios II / e (ekonomi).

Nios II / f

Nios II / f-kärnan är utformad för maximal prestanda på bekostnad av kärnstorlek. Funktioner i Nios II / f inkluderar:

  • Separata instruktions- och datacacheminn (512  B till 64  KB )
  • Valfri MMU eller MPU
  • Tillgång till upp till 2  GB externt adressutrymme
  • Tätt kopplat minne (tillval) för instruktioner och data
  • Sexstegsrörledning för att uppnå maximalt DMIPS / MHz
  • Encykelhårdvara multiplicerar och fatbytare
  • Valfritt hårdvarudelningsalternativ
  • Dynamisk gren förutsägelse
  • Upp till 256 anpassade instruktioner och obegränsad hårdvaruacceleratorer
  • JTAG- felsökningsmodul
  • Valfria förbättringar av JTAG-felsökningsmoduler, inklusive brytpunkter för hårdvara, datatrigger och spårning i realtid

Nios II / s

Nios II / s kärna är utformad för att upprätthålla en balans mellan prestanda och kostnad. Funktioner i Nios II / s inkluderar:

  • Instruktionscache
  • Upp till 2 GB externt adressutrymme
  • Valfritt tätt kopplat minne för instruktioner
  • Femstegsrörledning
  • Statisk gren förutsägelse
  • Hårdvara multiplicera, dela och flytta alternativ
  • Upp till 256 anpassade instruktioner
  • JTAG- felsökningsmodul
  • Valfria förbättringar av JTAG-felsökningsmoduler, inklusive brytpunkter för hårdvara, datatrigger och spårning i realtid

Nios II / e

Nios II / e-kärnan är utformad för minsta möjliga logiska användning av FPGA. Detta är särskilt effektivt för billiga Cyclone II FPGA-applikationer. Funktioner i Nios II / e inkluderar:

  • Upp till 2 GB externt adressutrymme
  • JTAG- felsökningsmodul
  • Kompletta system på färre än 700  LE
  • Valfria felsökningsförbättringar
  • Upp till 256 anpassade instruktioner
  • Gratis, ingen licens krävs

Avalon switch tyggränssnitt

Nios II använder Avalon- switchtyget som gränssnitt till dess inbäddade kringutrustning. Jämfört med en traditionell buss i ett processorbaserat system, som bara låter en bussmästare komma åt bussen åt gången, låter Avalon-switchväven, med hjälp av ett slavsidesarbiteringsschema, flera mastrar fungera samtidigt.

Utvecklingsprocesser

Utveckling för Nios II består av två separata steg: generering av hårdvara och skapande av programvara.

Utveckling är värd i en Altera-applikation som heter Embedded Design Suite (EDS). EDS innehåller en komplett integrerad utvecklingsmiljö för att hantera både hårdvara och programvara i två separata steg:

Process för hårdvarugenerering

Nios II hårdvarudesigners använder Qsys systemintegrationsverktyg, en komponent i Quartus-II-paketet, för att konfigurera och generera ett Nios-system. Det grafiska konfigurationsgränssnittet (GUI) gör det möjligt för användare att välja Nios-IIs funktionsuppsättning och lägga till kringutrustning och I / O-block (timers, minneskontroller, seriellt gränssnitt etc.) till det inbyggda systemet. När hårdvaruspecifikationen är klar utför Quartus-II syntes, plats och rutt för att implementera hela systemet på det valda FPGA-målet.
Qsys ersätter den äldre SOPC (System-on-a-Programmable-Chip) Builder, som också kan användas för att bygga ett Nios II-system, och rekommenderas för nya projekt.

Process för skapande av programvara

Ett separat paket, som kallas Embedded Design Suite (EDS), hanterar mjukvaruutvecklingen. Baserat på Eclipse IDE innehåller EDS en C / C ++ - kompilator (baserad på GNU-verktygskedjan ), felsökare och en instruktionsuppsättningssimulator. EDS tillåter programmerare att testa sin applikation i simulering, eller ladda ner och köra sin kompilerade applikation på den faktiska FPGA-värden.

Eftersom C / C ++ utvecklingskedjan är baserad på GCC sammanställer och kör den stora majoriteten av öppen källkodsprogramvara för Linux med minimal eller ingen modifiering. Tredjepartsoperativsystem har också överförts till Nios II. Dessa inkluderar Micrium MicroC / OS-II , eCos , Segger Microcontroller embOS, ChibiOS / RT , μCLinux och FreeRTOS .

Licensiering

Nios II kan jämföras med MicroBlaze , en konkurrerande softcore-processor för Xilinx- familjen FPGA. Till skillnad från MicroBlaze är Nios II licensierat för ASIC- datorer med standardceller via en tredjeparts IP-leverantör, Synopsys Designware. Genom Designware-licensen kan designers porta Nios-baserade mönster från en FPGA-plattform till en ASIC-enhet för massproduktion.

Se även

Referenser

externa länkar