Autonom perifer drift
Inom datorer är autonom perifer drift en hårdvarufunktion som finns i vissa mikrokontrollerarkitekturer för att ladda ner vissa uppgifter till inbyggd autonom kringutrustning för att minimera latenser och förbättra genomströmningen i hårda realtidsapplikationer samt för att spara energi i ultralåg- kraftdesigner .
Översikt
Former av autonom kringutrustning i mikrokontroller introducerades först på 1990-talet. Genom att tillåta inbyggd kringutrustning att arbeta oberoende av CPU:n och till och med interagera med varandra på vissa förkonfigurerbara sätt avlastas händelsedriven kommunikation till kringutrustningen för att förbättra realtidsprestandan på grund av lägre latens och möjliggör potentiellt högre datagenomströmning på grund av den extra parallelliteten. Sedan 2009 har schemat förbättrats i nyare implementeringar för att fortsätta fungera även i vilolägen , vilket gör att CPU:n (och andra opåverkade perifera block) kan förbli vilande under längre tidsperioder för att spara energi. Detta drivs delvis av den framväxande IoT- marknaden.
Konceptuellt kan autonom perifer drift ses som en generalisering av och blandning mellan direkt minnesåtkomst (DMA) och hårdvaruavbrott . Kringutrustning som avger händelsesignaler kallas händelsegeneratorer eller -producenter medan kringutrustning kallas händelseanvändare eller konsumenter . I vissa implementeringar kan kringutrustning konfigureras för att förbehandla inkommande data och utföra olika kringutrustningsspecifika funktioner som jämförelse, fönster, filtrering eller medelvärdesberäkning i hårdvara utan att behöva skicka data genom CPU:n för bearbetning.
Genomföranden
Kända implementeringar inkluderar:
- Peripheral Event Controller ( PEC ) i Siemens / Infineon C166 och C167 16-bitars mikrokontroller sedan 1990
- Intelligent autonom kringutrustning (Capture compare unit XC800 -serien av 8051 -kompatibla 8-bitars mikrokontroller sedan 2005 CCU6 ) i Infineon
- Event System ( EVSYS ) i Atmel AVR XMEGA 8-bitars mikrokontroller sedan 2008
- Peripheral Event System ( PES ) med SleepWalking i Atmel (nu Microchip Technology ) AVR32 AT32UC3L 32-bitars mikrokontroller sedan 2009
- Perifert reflexsystem ( PRS ) i Energy Micro (nu Silicon Labs ) Gecko EFM32 32-bitars ARM-baserade mikrokontroller sedan 2009
- IXYS/ Zilog ZNEO Z16FMC 16-bitars mikrokontroller sedan 2011
- Event Link Controller ( ELC ) i Renesas mikrokontroller sedan 2011
- Programmerbar Peripheral Interconnect ( PPI ) i nordiska nRF 32-bitars ARM-baserade mikrokontroller sedan ca 2011
- Autonom kringutrustning i Infineon XMC 32-bitars mikrokontroller sedan 2012
- Data Transfer Manager ( DTM ) i Silicon Labs Precision32 SiM3L1 32-bitars ARM Cortex-M3 mikrokontroller sedan 2012
- Peripheral Event System ( PES ) med SleepWalking i Atmel (nu Microchip Technology) SAM4L 32-bitars ARM Cortex-M4 mikrokontroller sedan 2012
- Power-Smart kringutrustning i Freescale (nu NXP ) Kinetis L 32-bitars ARM Cortex-M0+ mikrokontroller sedan 2012
- Event System ( EVSYS ) med SleepWalking i Atmel (nu Microchip Technology) SAMD , SAML och SAMC 32-bitars ARM Cortex-M0+ mikrokontroller sedan 2013
- Core Independent Peripherals ( CIP ) i Microchip PIC16F och PIC18F samt Microchip AVR ATtiny 8-bitars mikrokontroller sedan 2015
- Peripherals Interconnect Matrix i STMicroelectronics ' STM32 32-bitars ARM-baserade mikrokontroller sedan 2015