System On A Chip
System On A Chip
System on a chip
The Raspberry Pi uses a system on a chip as an almost fully contained microcomputer. This SoC
does not contain any kind of data storage, which is common for a microprocessor SoC.
As they are integrated on a single electronic substrate, SoCs consume much less
power and take up much less area than multi-chip designs with equivalent
functionality. Because of this, SoCs are very common in the mobile computing and
edge computing markets.[1][2]
Systems on chip are commonly used in embedded systems and the Internet of
Things.
An SoC will typically integrate a CPU, graphics and memory interfaces,[nb 3] hard-
disk and USB connectivity,[nb 4] random-access and read-only memories and
secondary storage on a single circuit die, whereas a motherboard would connect
these modules as discrete components or expansion cards.
More tightly integrated computer system designs improve performance and reduce
power consumption as well as semiconductor die area needed for an equivalent
design composed of discrete modules, at the cost of reduced replaceability of
components.
By definition, SoC designs are fully or nearly fully integrated across different
component modules. For these reasons, there has been a general trend towards
tighter integration of components in the computer hardware industry, in part due to
the influence of SoCs and lessons learned from the mobile and embedded
computing markets. Systems-on-Chip can be viewed as part of a larger trend
towards embedded computing and hardware acceleration.
Because SOC includes both the hardware and software, it uses less power,
has better performance, requires less space and is more reliable than multi-
chip systems.
ips today come inside mobile devices like smartphones and tablets.
Structure
An SoC must have at least one processor core, but will typically have more.
ASIPs have instruction sets that are customized for an application domain and
designed to be more efficient than general-purpose instructions for a specific type
of workload.
In particular, SoC processor cores often use the ARM architecture (RM, previously
Advanced RISC Machine, originally Acorn RISC Machine, is a family of reduced instruction
set computing (RISC) architectures for computer processors, configured for various
environments.) because it is a soft processor
(is a microprocessor core that can be wholly implemented using logic synthesis)specified as
an IP core and more power efficient than x86.[9]
Memories
Further information: Computer memory
Depending on the application, SoC memory may form a memory hierarchy and
cache hierarchy. In the mobile computing market, this is common, but in many
low-power embedded microcontrollers this is not necessary.
Memory technologies for SoCs include read-only memory (ROM), random-access
memory (RAM), electrically erasable programmable ROM (EEPROM) and flash
memory.[9]
As in other computer systems, RAM can be subdivided into relatively faster but
more expensive static RAM (SRAM) and the slower but cheaper dynamic RAM
(DRAM).
When a SoC has a cache hierarchy, SRAM will usually be used to implement
processor registers and cores' L1 caches whereas DRAM will be used for lower
levels of the cache hierarchy including main memory.
Interfaces
SoCs include external interfaces, typically for communication protocols. These are
often based upon industry standards such as USB, FireWire, Ethernet, USART,
SPI, HDMI, I²C, etc. These interfaces will differ according to the intended
application. Wireless networking protocols such as Wi-Fi, Bluetooth, 6LoWPAN
and near-field communication may also be supported.
Digital signal processor (DSP) cores are often included on systems-on-chip. They
perform signal processing operations in systems-on-chip for sensors, actuators,
data collection, data analysis and multimedia processing. DSP cores typically
feature very long instruction word (VLIW) and single instruction, multiple data
(SIMD) instruction set architectures, and are therefore highly amenable to
exploiting instruction-level parallelism through parallel processing and superscalar
execution.[10]:4 DSP cores most often feature application-specific instructions, and
as such are typically application-specific instruction-set processors (ASIP). Such
application-specific instructions correspond to dedicated hardware functional units
that compute those instructions.
Other
As with other computer systems, SoCs require timing sources to generate clock
signals, control execution of SoC functions and provide time context to signal
processing applications of the SoC, if needed. Popular time sources are crystal
oscillators and phase-locked loops.
Intermodule communication
Systems-on-chip comprise many execution units. These units must often send data
and instructions back and forth. Because of this, all but the most trivial SoCs
require communications subsystems. Originally, as with other microcomputer
technologies, data bus architectures were used, but recently designs based on
sparse intercommunication networks known as networks-on-chip (NoC) have risen
to prominence and are forecast to overtake bus architectures for SoC design in the
near future.[11]
Bus-based communication
Network-on-Chip
Main article: Network on a chip
IoT Hardware
IoT Hardware includes a wide range of devices such as devices for routing, bridges,
sensors etc.
These IoT devices manage key tasks and functions such as system activation, security,
action specifications, communication, and detection of support-specific goals and
actions.
IoT Hardware components can vary from low-power boards; single-board processors
like the Arduino Uno which are basically smaller boards that are plugged into
mainboards to improve and increase its functionality by bringing out specific
functions or features (such as GPS, light and heat sensors, or interactive displays).
A programmer specifies a board’s input and output, then creates a circuit design to
illustrate the interaction of these inputs and outputs.
Routing Table
A router reads its routing table to decide the best available route the packet can take to reach its
destination quickly and accurately. The routing table may be of these two types −
Static − In a static routing table the routes are fed manually. So it is suitable only for very
small networks that have maximum two to three routers.
Dynamic − In a dynamic routing table, the router communicates with other routers
through protocols to determine which routes are free. This is suited for larger networks
where manual feeding may not be feasible due to large number of routers.
Switch
Switch is a network device that connects other devices to Ethernet networks through twisted
pair cables. It uses packet switching technique to receive, store and forward data packets on
the network. The switch maintains a list of network addresses of all the devices connected to it.
On receiving a packet, it checks the destination address and transmits the packet to the correct
port. Before forwarding, the packets are checked for collision and other network errors. The data
is transmitted in full duplex mode
Data transmission speed in switches can be double that of other network devices like hubs used
for networking. This is because switch shares its maximum speed with all the devices connected
to it. This helps in maintaining network speed even during high traffic. In fact, higher data
speeds are achieved on networks through use of multiple switches.