Английская Википедия:Autonomous peripheral operation
Шаблон:Short description Шаблон:Distinguish Шаблон:Use dmy dates Шаблон:Use list-defined references In computing, autonomous peripheral operation is a hardware feature found in some microcontroller architectures to off-load certain tasks into embedded autonomous peripherals in order to minimize latencies and improve throughput in hard real-time applications as well as to save energy in ultra-low-power designs.
Overview
Forms of autonomous peripherals in microcontrollers were first introduced in the 1990s. Allowing embedded peripherals to work independently of the CPU and even interact with each other in certain pre-configurable ways off-loads event-driven communication into the peripherals to help improve the real-time performance due to lower latency and allows for potentially higher data throughput due to the added parallelism. Since 2009, the scheme has been improved in newer implementations to continue functioning in sleep modes as well, thereby allowing the CPU (and other unaffected peripheral blocks) to remain dormant for longer periods of time in order to save energy. This is partially driven by the emerging IoT market.[1]
Conceptually, autonomous peripheral operation can be seen as a generalization of and mixture between direct memory access (DMA) and hardware interrupts. Peripherals that issue event signals are called event generators or producers whereas target peripherals are called event users or consumers. In some implementations, peripherals can be configured to pre-process the incoming data and perform various peripheral-specific functions like comparing, windowing, filtering or averaging in hardware without having to pass the data through the CPU for processing.
Implementations
Known implementations include:
- Peripheral Event Controller (PEC) in Siemens/Infineon C166 and C167 16-bit microcontrollers since 1990[2][3][4][5]
- Intelligent autonomous peripherals (Шаблон:Ill CCU6) in Infineon XC800 series of 8051-compatible 8-bit microcontrollers since 2005[6]
- Event System (EVSYS) in Atmel AVR XMEGA 8-bit microcontrollers since 2008[7][8]
- Peripheral Event System (PES) with SleepWalking[9] in Atmel (now Microchip Technology) AVR32 AT32UC3L 32-bit microcontrollers since 2009[10][11][12]
- Peripheral Reflex System (PRS) in Energy Micro (now Silicon Labs) Gecko EFM32 32-bit ARM-based microcontrollers since 2009[13][14][12]
- IXYS/Zilog ZNEO Z16FMC 16-bit microcontrollers since 2011[15][16]
- Event Link Controller (ELC) in Renesas microcontrollers since 2011
- Programmable Peripheral Interconnect (PPI) in Nordic nRF 32-bit ARM-based microcontrollers since about 2011[17]
- Autonomous peripherals in Infineon XMC 32-bit microcontrollers since 2012[18]
- Data Transfer Manager (DTM) in Silicon Labs Precision32 SiM3L1 32-bit ARM Cortex-M3 microcontrollers since 2012[19][12][20]
- Peripheral Event System (PES) with SleepWalking in Atmel (now Microchip Technology) SAM4L 32-bit ARM Cortex-M4 microcontrollers since 2012[21]
- Power-Smart Peripherals in Freescale (now NXP) Kinetis L 32-bit ARM Cortex-M0+ microcontrollers since 2012[22]
- Event System (EVSYS) with SleepWalking[9] in Atmel (now Microchip Technology) SAMD, SAML and SAMC 32-bit ARM Cortex-M0+ microcontrollers since 2013[23][24]
- Core Independent Peripherals (CIP) in Microchip PIC16F[25] and PIC18F[26] as well as Microchip AVR ATtiny 8-bit microcontrollers since 2015[27][28][29]
- Peripherals Interconnect Matrix in STMicroelectronics' STM32 32-bit ARM-based microcontrollers since 2015[30]
- Шаблон:AnchorLow-Power Background Autonomous Mode (LPBAM) in STMicroelectronics' STM32U5 32-bit ARM-based microcontrollers since 2021[31]
See also
- Channel I/O
- Peripheral DMA controller (PDC)
- Clock gating, autonomous peripheral clock gating
- Power gating
- CPU power dissipation
- Low-power electronics
- Event-driven architecture
- Event-driven programming
- Always On, Always Connected (AOAC)
- Energy-Efficient Ethernet (EEE)
- TCP offload engine (TOE)
References
- ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR26
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокWolf_1994
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокSiemens_2000_C167CR
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокInfineon_2004
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокIrber_2018
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR24
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR12
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR3
не указан текст - ↑ 9,0 9,1 Ошибка цитирования Неверный тег
<ref>
; для сносокR1
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR10
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR2
не указан текст - ↑ 12,0 12,1 12,2 Ошибка цитирования Неверный тег
<ref>
; для сносокR17
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR11
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR4
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR21
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR22
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR5
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR25
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR15
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR19
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR20
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR23
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR6
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR18
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR7
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR8
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR9
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR13
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR14
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокR16
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокST_2021
не указан текст