Skip to content

ACtE0404 Hardware-software design issues on embedded system

Embedded-system overview

An embedded system is a computing system dedicated to a specific function inside a larger product or control environment.

Common characteristics:

  • application-specific behavior;
  • constraints on cost, power, size, and reliability;
  • close interaction with sensors, actuators, and real-world timing;
  • limited memory and compute relative to desktop/server systems;
  • often real-time requirements.

Classification of embedded systems

Basis Categories Recognition
Complexity small-scale, medium-scale, sophisticated resource scale and design sophistication
Timing hard real-time, soft real-time, non-real-time deadline strictness
Role stand-alone, networked, mobile, control-oriented application environment
Implementation emphasis microcontroller-based, DSP-based, FPGA/ASIC-based, SoC-based hardware platform emphasis

Validity condition:

  • "real-time" means meeting timing deadlines, not merely being fast on average.

Custom single-purpose processor design

Single-purpose processor = hardware datapath/control tailored for one algorithm or narrow task.

Advantages:

  • high performance per watt;
  • low run-time overhead;
  • predictable operation.

Tradeoffs:

  • less flexible than software on a general-purpose CPU;
  • higher non-recurring engineering effort;
  • harder to retarget after fabrication unless reconfigurable logic is used.

Optimizing custom single-purpose processors

Optimization levers:

  • parallelize independent operations;
  • pipeline long datapaths;
  • reduce memory traffic;
  • exploit specialized arithmetic units;
  • tailor word width to required numeric range/precision;
  • schedule operations around latency bottlenecks.

Recognition cue: hardware specialization improves efficiency only when the workload is stable enough to justify the specialization cost.

Basic architecture, operation, and programmer's view

Embedded architecture often includes:

  • CPU or custom datapath;
  • on-chip memory and buses;
  • timers/counters;
  • GPIO;
  • serial interfaces;
  • interrupt controller;
  • watchdog;
  • ADC/DAC as needed.

Programmer's view often centers on:

  • register map;
  • memory map;
  • interrupt vectors;
  • peripheral control/status registers;
  • startup/reset behavior.

Typical operation begins with reset and initialization, then follows a polling/event loop or interrupt-driven sense -> compute -> actuate cycle. A watchdog or fault handler may recover stalled operation.

Abstraction-level cue:

  • algorithmic or behavioral modeling simulates the required algorithm without exposing gate, switch, or circuit implementation;
  • register-transfer level (RTL), gate level, switch level, and circuit level progressively expose more implementation detail.

Development environment

Typical embedded development flow:

  1. edit source code or HDL;
  2. compile/assemble/synthesize;
  3. link/build image or bitstream;
  4. load or flash target;
  5. debug with simulator, ICE, JTAG, SWD, serial monitor, or logic analyzer;
  6. test timing and hardware interaction.

Cross-development cue:

  • code is often built on a host machine but runs on a different target architecture.

Application-Specific Instruction-Set Processor (ASIP)

ASIP sits between general-purpose processor and ASIC/single-purpose hardware.

Option Flexibility Efficiency for target domain
General-purpose CPU high moderate
ASIP medium high for chosen application family
ASIC / pure single-purpose processor low very high

Recognition cue: ASIP extends programmability while adding domain-specific instructions or datapaths.

Embedded-design revision box

  • Embedded system = dedicated computing inside a product/control context.
  • Real-time means deadline-aware, not merely fast.
  • Custom single-purpose hardware trades flexibility for efficiency.
  • ASIP is a middle ground between CPU and ASIC.
  • Programmer's view centers on memory-mapped peripherals, interrupts, and startup state.
  • Cross-compilation is common in embedded development.