この投稿では、MCU(Micro Controller Unitの略、別称:マイコン)のアーキテクチャについて説明します。
MCUは、CPUや内部制御ユニット(Clock, IPR)、メモリユニット(RAM, F-ROM, EEP-ROM)、外部信号入出力ユニット(GPIO, ADC)、 通信ユニット(UART, CAN, I2C, SPI)、内外部制御ユニット(Timer/Counter, DMA)などを1チップにまとめた半導体です。MCUは、モノを制御するためのコンピュータチップであり、様々なコンピュータ搭載機器や装置に用いられています。

| MCU | Micro Controller Unit | MCUは、CPUや内部制御ユニット、メモリユニット、外部信号入出力ユニット、 通信ユニット、内外部制御ユニットなどを1チップにまとめた半導体です。マイコンとも呼ばれています | 
| F-ROM | Flash Read Only Memory | F-ROMは、電源を断っても記録内容が消えない不揮発メモリの一種で、電気的に内容の書き換えができるメモリユニットです。F-ROMは、EEP-ROMより大容量であるが書き換え時間が長く、書き換え回数も少ない | 
| EEP-ROM | Electrically Erasable Programmable Read-Only Memory | EEP-ROMは、電源を断っても記録内容が消えない不揮発メモリの一種で、電気的に内容の書き換えができるメモリユニットです | 
| RAM | Random Access Memory | メインメモリのユニットです | 
| INTC | Interrupt Controller | INTCは、割込みの優先順位判定などの制御するユニットです | 
| Clock | Clock Controller | Clockは、MCUの供給されたClockをCPUや各ユニット、バスの設定に合わせてClock供給するユニットです | 
| GPIO | General-Purpose Input/Output | GPIOは、デジタル入出力(Hi/Lowの入出力)を行うユニットです | 
| ADC | Analog-to-Digital Converter | ADCは、入力されたアナログ電圧をデジタル値に変換するユニットです | 
| Timer/Counter | Timer/Counter | Timer/Counterは、Clockから時間を計測したり、外部入力信号をカウントしたりするユニットです。MCU内で用いる場合は、Thread(Task)等の時間計測に用います。MCU外で用いる場合は、入力信号レベルでの時間計測や入力パルスカウント、PWM出力、パルス出力などに用います | 
| DMA | Direct Memory Access | DMAは、CPUを介さずにユニットとRAMなどにデータを格納する機能のユニットです | 
| WDT | Watch Dog Timer | WDTは、プログラムが所定の時間内にWDTに対して所定の操作を行わないと異常とみなし、Reset等を実行するユニットです | 
| UART | Universal Asynchronous Receiver Transmitter | UARTは、調歩同期のシリアル信号をパラレル信号変換でき、シリアル通信に用いるユニットです | 
| CAN | Controller Area Network | CANは、ISO 11898の通信規格に準拠した通信ユニットです | 
| I2C | Inter-Integrated Circuit | I2Cは、シリアルバス通信の通信ユニットです | 
| SPI | Serial Peripheral Interface | SPIは、シリアルバス通信の通信ユニットです | 
