Esd Module 2 Final
Esd Module 2 Final
The system designer only needs to program the processor’s memory to carry out the
required functionality
Biggest advantage of such system is the flexibility but lack in performance in certain task
Advantages: Disadvantages:
Easy to design and use × Performance is not very good
Design time & cost is low × Large in size
Reprogrammability × They consume much power
Designed to execute exactly one program and contains only the components needed to
execute a single program
Advantages: Disadvantages:
Performance is very good × Difficult to design hence design time is high
Small size × Design cost is higher
Consume less power × reprogramming is difficult and limited flexibility
Types of ASPs: Digital Signal Processor (DSP), Application Specific Instruction Set
Processors (ASIP), Application Specific Integrated Circuit (ASIC).
MODULE-2 BECE403E - EMBEDDED SYSTEM DESIGN 6
APPLICATION SPECIFIC PROCESSORS (ASP)
DSP gained their importance with the increased demand on data intensive applications
such as video and internet browsing on mobile devices.
DSP satisfy the need for powerful processor while maintaining low cost and low power
consumption.
As the name suggests, the Instruction set seems to be the core characteristic of any ASIP
based platform; but this is entirely not true.
Considering a whole platform, other very important attributes like interfaces and micro-
architecture do contribute a lot to the overall system performance.
SoC is an integrated circuit (IC) that takes a single platform and integrates an entire
electronic system onto it.
SoC can perform a variety of functions including signal processing, wireless communication,
artificial intelligence etc.
CISC - Complex Instruction Set Computer: Allow single (complex) instructions to perform
numerous low-level (simple) operations like a load from memory, arithmetic operation,
store into memory with multiple clock cycle. Ex: Motorola 68K, 8051, x86 processors
RISC - Reduced Instruction set Computer: Reduce the instruction execution complexity by
having several simple instructions which achieve low-level operation within a single clock
cycle. Ex: AVR, PIC, ARM
LDR for loading, ADD with loop count for multiplication then STR for storing operations
Example:
− Let's say we want to find the product of two
numbers - one stored in location 2:3 and another
stored in location 5:2 - and then store the product
back in the location 2:3.
RISC Approach:
CISC Approach: LOAD A, 2:3
LOAD B, 5:2
MULT 2:3, 5:2 PROD A, B
STORE 2:3, A
MODULE-2 BECE403E - EMBEDDED SYSTEM DESIGN 19
INSTRUCTION SET – CISC APPROACH
The primary goal of CISC is to complete a task in as few lines of assembly as possible.
This is achieved by building processor hardware that is capable of understanding and
executing a series of operations.
When MULT 2:3, 5:2 executed, this instruction loads the two values into registers, multiplies
the operands in the execution unit, and stores the product in the appropriate register.
Thus, entire task of multiplying two numbers can be completed with one instruction.
MULT is what is known as a "complex instruction”. It operates directly on the memory and
does not require the programmer to call any loading or storing functions.
The main advantage of this system is that the compiler has to do very little work to
translate a high-level language statement into assembly. Because the length of the code is
relatively short, very little RAM is required to store instructions.
MODULE-2 BECE403E - EMBEDDED SYSTEM DESIGN 20
INSTRUCTION SET – RISC APPROACH
RISC only use simple instructions that can be executed within one clock cycle. Thus, the
"MULT" command could be divided into three separate commands:
"LOAD," which moves data from the memory bank to a register,
"PROD," which finds the product of two operands located within the registers,
"STORE," which moves data from a register to the memory banks.
In order to perform the steps described in the CISC, 4 lines of code required in RISC. At
first, this may seem like a less efficient way of completing the operation because there are
more lines of code, more RAM is needed to store instructions.
However, each instruction in RISC requires only one clock cycle, the entire program will
execute in approximately the same amount of time as the multi-cycle “MULT”.
RISC require less transistors of hardware space, leaving more room for general purpose
registers. Because all of the instructions execute in a uniform amount of time (i.e. one
clock), pipelining is possible.
MODULE-2 BECE403E - EMBEDDED SYSTEM DESIGN 21
CISC vs RISC
Type Volatile? Writeable? Erase Size Max Erase Cycles Cost Speed
SRAM Yes Yes Byte Unlimited Expensive Fast
Embedded microcontrollers usually have both SRAMs (a few kB for critical data
path) and DRAMs (in MB for everything else)
Masked ROM serve the function of storing the bootloaders in microcontrollers and
to store microcode on microprocessors.
PROM used to store firmware and constants in the source code of applications like
TV, washing machine and microwave ovens
Similar to PROM, EPROM are also used to store firmware and constants in the
source code especially in development phase.
EEPROM used for storing updatable firmware and runtime constants after
production also for storing current date & time, port status
Microcontrollers uses flash memory for storing firmware of large size, constant data
and large lookup tables as needed by application
Flash also used for storing user data like picture in a digital camera, voice data in
a voice recorder, messages and contacts in mobile
µP are offered in 4 to 64-bit size with distinct features like cost, speed, no. of CPU core,
address & data line are used in simple toys to network router
µC plays an important role in embedded system design and majorly used in low-end to
high-end control applications
DSP are majorly used for high computation intensive applications such as image
processing, communication devices, voice to text converter etc.,
Peripheral set analysis: Includes on-chip (RAM, ROM ,I/O Ports, ADC) and specialized
processing units (FPU, MMU, DMA)
Technical analysis: Execution speed, operating voltage, power consumption, and data
& address bus size etc.,
FPU No No Yes
processor
DMA No No Optional
External ROM No Yes Yes
External RAM No Yes Yes
Data bus width 8 32 32 or 64
Address bus width 16 32 32 or 64
Technical
Systems memory requirement depend primarily on the nature of the application that is
planned to run on the system
Memory performance and capacity requirement for low cost systems are small hence
memory within the microcontroller meet the requirements
While larger/complex system demand external memory and small access time to achieve
high performance level
In addition to many technical factor, few non-technical factors also plays important role in
memory selection process
Non-technical factors
Cost : High (volatile), low (non-volatile)
Battery life : For DRAM, NVRAM
Tools for rewrite operation : Programmer device
Data retention period : 0 – 10 years
EEPROM or FLASH 1 – 2 KB -
ROM - 8 – 64 MB 64 – 512 MB
EEPROM or FLASH - 1 – 4 GB 16 – 64 GB
Designing the power supply for embedded systems is a critical aspect of the overall
system design, also it influence some of the product's capabilities and functions.
Some key considerations when designing power supplies for embedded systems are:
2. Power Source Selection: Select an appropriate power source based on the specific
application. Common sources include batteries, AC mains, or a combination of both.
4. Efficiency: Choose power supply components with high efficiency to minimize energy
waste and maximize battery life in portable embedded systems.
6. Temperature Considerations: Ensure that the power supply components can operate
within the specified temperature limits.
7. Fault Tolerance: Design the power supply with built-in fault tolerance mechanisms to
handle issues such as overvoltage, undervoltage, overcurrent, and short circuits.
9. Size and Form Factor: Choose power supply components that meet the size and form
factor constraints of the embedded system, especially in space-constrained applications.
10. Low Power Modes: Implement low-power modes for components during idle periods to
conserve energy, especially in battery-powered embedded systems.
By carefully addressing these considerations, you can design a robust and efficient power
supply for your embedded system, ensuring reliable and optimal performance.