XAP-prosessor - XAP processor

Den XAP prosessor er en RISC- prosessor -arkitektur som er utviklet av Cambridge Consultants siden 1994. XAP prosessorer er en familie av 16-bits og 32-bits kjerner, som alle er beregnet for bruk i en applikasjonsspesifikk integrert krets eller ASIC brikken utforming. XAP-prosessorer ble designet for bruk i integrerte kretser med blandet signal for sensor- eller trådløse applikasjoner inkludert Bluetooth , ZigBee , GPS , RFID eller Near Field Communication chips. Vanligvis brukes disse integrerte kretsene til lave kostnader, høye volumprodukter som er batteridrevet og må ha lavt energiforbruk. Det er andre applikasjoner der XAP-prosessorer har blitt brukt med god effekt, for eksempel trådløse sensornettverk og medisinsk utstyr , for eksempel høreapparat.

Den myke mikroprosessoren XAP er implementert i flere utforminger på chip-design , inkludert selvtidsbestemt asynkron krets , 1-av-4-koding , full synkront kretsløp og FPGA. Dette gjør det nyttig for å gjøre rettferdige sammenligninger mellom designstiler på chip.

Historie

XAP1

Den første XAP-prosessoren var XAP1, designet i 1994 og brukt til en rekke trådløse og sensoriske ASIC-prosjekter hos Cambridge Consultants. Det var en veldig liten 3000-porters Harvard-arkitektur , 16-bits prosessor med en 16-bits databuss og en 18-biters instruksjonsbuss beregnet på å kjøre programmer lagret i nettleserminnet eller ROM. Data og instruksjoner ble adressert av hver sin 16-bit adressebuss .

XAP2

En kraftigere XAP2 ble utviklet og brukt fra 1999. Den hadde også en Harvard-arkitektur og 16-bits data, og den tok i bruk en mer konvensjonell 16-biters instruksjonsbredde som var egnet for programlagring i Flash eller andre off-chip-minner. Store programmer ble innkvartert av en 24-biters adressebuss for instruksjoner, og det var en 16-biters adressebuss for data. XAP2 var en 12000-prosessor port med støtte for avbrudd og et programvareverktøy kjede, omfattende en C kompilator og XAPASM Assembler for sin montering språk . XAP2 ble også brukt i Cambridge Consultants 'ASIC-design, og den ble også gitt til andre halvlederselskaper som en halvleder-immateriell eiendomskjerne , eller IP-kjerne .

XAP2 ble adoptert av tre fabelaktige halvlederselskaper som kom fra Cambridge Consultants: CSR plc (Cambridge Silicon Radio) er den viktigste leverandøren av Bluetooth-brikker for mobiltelefoner og headset; Ember Corporation er en ledende leverandør av ZigBee-brikker; og Cyan Technology leverer XAP2-drevne mikrokontrollere . Som en konsekvens, og kombinert med andre rettighetshavere og Cambridge Consultants 'ASIC-prosjekter, er det nå over en milliard (1.000 millioner) XAP-prosessorer i bruk over hele verden.

XAP3

XAP3 var en eksperimentell 32-bits prosessor designet av Cambridge Consultants i 2003. Den ble optimalisert for lave kostnader, lave energi ASIC implementeringer ved bruk av moderne CMOS halvlederprosessteknologier. Instruksjonssettet ble optimalisert for GNU GCC for å oppnå høy kodetetthet. XAP3 var den første av Cambridge Consultants 'prosessorer som brukte en Von Neumann-arkitektur med et logisk delt adresseområde for Program og Data. Det fysiske programminnet kan være Flash eller en engangsprogrammerbar EPROM eller SRAM. ASIC-design ble forenklet ved å bruke et enkelt minne der det ikke var behov for å forhåndsbestemme skillet mellom Program (instruksjoner) og Data på designtidspunktet. XAP3s instruksjonssett med GCC-kompilatoren ga veldig høy kodetetthet. Dette reduserte størrelsen på programminnet, noe som reduserte chipenhetskostnadene og reduserte energiforbruket.

XAP4

I 2005 fikk ytterligere prosjektkrav en ny 16-bits prosessor, XAP4, designet for å erstatte XAP2 under hensyntagen til erfaringene fra XAP3 og de nye kravene til ASIC-design. XAP4 er en veldig liten, 12.000-gate, Von Neumann-buss , 16-bits prosessorkjerne som er i stand til å adressere totalt 64 kBytes minne for programmer, data og periferiutstyr. Den tilbyr høy kodetetthet kombinert med god ytelse i området 50 Dhrystone MIPS når den er klokket til 80 MHz. XAP4 ble designet for bruk i moderne ASIC- eller mikrokontroller- applikasjoner som er i stand til å behandle data fra den virkelige verden som er fanget opp av en ADC ( Analog to digital converter ) eller lignende kilder. Prosessorens 16-bits heltallord støtter presisjonen for de fleste ADC-er uten å bære overhead av en 32-bits prosessor. XAP4 tilbyr også en migreringsbane fra 8-bits prosessorer, for eksempel 8051 , i applikasjoner som trenger økt ytelse og programstørrelse, men ikke kan rettferdiggjøre kostnadene og overhead for en 32-bit prosessor. XAP4-registrene (alle 16-biters) er; 8 Generelt formål, Programteller, Vector Pointer, FLAGS, INFO, BRKE, 2 Breakpoint. XAP4-instruksjonene er 16 og 32-bit. XAP4-kompilasjonskjeden er basert på GNU GCC og Binutils.

XAP5

Utvikling av en utvidet versjon av denne arkitekturen startet i 2006 og resulterte i XAP5, som ble kunngjort i juli 2008. XAP5 er en 16-bit prosessor med en 24-bit adressebuss som gjør den i stand til å kjøre programmer fra minne opp til 16 MBytes . XAP4 og XAP5 er begge implementert med en to-trinns instruksjonsrørledning , som maksimerer ytelsen når de klokkeres på lave frekvenser. Dette er skreddersydd til kravene til små, lite energi-ASIC-er, ettersom den minimerer prosessorens maskinvarestørrelse (XAP5-kjernen bruker 18.000-porter), og den passer til design som er klokket relativt sakte for å redusere ASICs dynamiske strømforbruk og kjøre programmer direkte fra Flash- eller OTP-minne som har langsom tilgangstid. Typiske klokkehastigheter for XAP5 ligger i området 16 til 100 MHz på en 0,13-prosess . XAP5 har spesielle designfunksjoner som gjør det egnet for å utføre programmer fra Flash, inkludert en Vector Pointer og et Adresseoversettelsesvindu, som kombineres for å tillate utførelse av programmer og flytting av programmer uansett hvor de er lagret i fysisk minne. XAP4-registrene (16 og 24-bit) er; 8 Generelt formål, Programteller, Vector Pointer, FLAGS, INFO, BRKE, 4 Breakpoint. XAP5-instruksjonene er 16, 32 og 48-bit. XAP5-kompilasjonskjeden er basert på GNU GCC og Binutils.

XAP6

XAP6 er en 32-bits prosessor og ble lansert i 2013. Den har samme type arkivarkitektur som XAP4 og XAP5, men har 32-biters registre og 32-biters busser for data og adresse. XAP6a-implementeringen har en tretrinns instruksjonsrørledning . Som alle XAP-prosessorer er XAP6 optimalisert for lave kostnader, lavenergi og enkel verifisering. XAP6 er skreddersydd for små ASIC-er med lav energi og minimerer maskinvarestørrelsen på prosessoren (XAP6-kjernen bruker 30.000 porter). XAP6-registrene (alle 32-biters) er; 8 Generelt formål, Programteller, Vector Pointer, Global Pointer, FLAGS, INFO, BRKE, 4 Breakpoint. XAP6-instruksjonene er 16, 32 og 48-bit. XAP6-kompilasjonskjeden er basert på GNU GCC og Binutils.

Egenskaper

XAP4, XAP5 og XAP6 er alle designet med en RISC- arkitektur i lastbutikken som er komplementert med multisyklusinstruksjoner for multiplikasjon, deling, blokkkopi / lagring og inngang / utgang av funksjon for maksimal effektivitet. Cambridge Consultants 'ingeniører anerkjente kravet om at disse prosessorene kjører operativsystemer i sanntid som er i stand til å håndtere forebyggende hendelser og med en rask reaksjon på avbrudd . Følgelig er prosessorene designet med maskinvare- og instruksjonsstøtte for beskyttet programvaredriftmodi som partisjonerer brukerkode fra privilegert operativsystem og avbryter behandlerkode. XAP-prosessorens maskinvare administrerer modusovergangene og anropsstabelen som svar på hendelser, og denne tilnærmingen sikrer en rask og deterministisk avbruddssvar. De beskyttede driftsmodus gjør det mulig å utforme et system på en brikke som er et sikkert eller pålitelig system og som gir høy tilgjengelighet .

De nåværende XAP-prosessorene er designet ved å bruke Verilog maskinvarebeskrivelsesspråk og levert som RTL- kode klar for logisk simulering og logisk syntese med en testbenk . De støttes med Cambridge Consultants 'xIDE-programvareutviklingsverktøy og SIF-feilsøkingsteknologi. Disse prosessorene og verktøyene muliggjør funksjonell verifisering og programvareversjonering som reduserer prosjektrisikoen, akselererer tidsskalaer og kutter eierkostnadene, spesielt for programvareutvikling.

referanser

Eksterne linker