A processor is a device that takes programmed instructions and executes them. They range from very simple to very complex. The main thing is you write a program and the controller executes it. Every controller has an instruction set that allows you to use the features the controller has. Arithmetic for example, add and subtract. A microcontroller design described in HDL (hardware description language) can be put on a chip as well, instead of just the processor itself. A system on chip, and I am talking about a meaningful SoC, has one or more processors that are connected to other modules by a bus structure (can be a NoC, a network on chip). These buses are used for data transfer back and forth and for reading and writing register for configuration and status. A processor could be connected to a DMA, for bulk data transfers, a memory (on chip or off-chip via for example a DDR controller), communication interfaces (slow like I2C, UART and fast like gigabit Ethernet), power domain controllers to bring up and power down powe domains, a clock control (for gating clocks), a reset controller, a PLL to change clock frequencies), … . A system on chip is so much more than just a processor (or microcontroller). SoC will be very essential for the whole automatisation, AI, robotics, … future.
Hardware and software advisor for tech startups. ASIC, FPGA, RPi, Arduino, AI, robots, drones, blockchain, Machine learning, vision processing, IoT and 3D printers are my fields of expertise.