Seminar Topics & Project Ideas On Computer Science Electronics Electrical Mechanical Engineering Civil MBA Medicine Nursing Science Physics Mathematics Chemistry ppt pdf doc presentation downloads and Abstract

Full Version: What is an embedded system?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
What is an embedded system?


[attachment=64899]

What is an embedded system?

An embedded system employs a combination of hardware & software (a
“computational engine”) to perform a specific function; is part of a larger system that may
not be a “computer”; works in a reactive and time-constrained environment.
2. What are the components of the Embedded Systems?
An embedded system is basically a computer controlled device designed to perform
some specific tasks. In most cases these tasks revolve around real-time control of machines
or processes. Embedded systems are more cost effective to implement than systems
composed of general purpose computers, such as PCs. The components of ES are,
 Memory
 System Clock
 Peripherals
3. What is the Classification of an embedded system?
The Embedded system is classified into following category
 Small Scale Embedded System
 Medium Scale Embedded System
 Sophisticated Embedded System
4. What is Sophisticated Embedded System?
The sophisticated embedded system has the following features,
 Enormous hardware and software Complexity.

What are the characteristics of an embedded system?

The typical characteristics of the embedded Systems are as follows:
1) Embedded systems are designed to do some specific task, rather than be a
general-purpose computer for multiple tasks. Some also have real-time performance
constraints that must be met, for reason such as safety and usability; others may have low
or no performance requirements, allowing the system hardware to be simplified to reduce
costs.
2) Embedded systems are not always separate devices. Most often they are
physically built-in to the devices they control.
3) The software written for embedded systems is often called firmware, and is
stored in read-only memory or Flash memory chips rather than a disk drive. It often runs
with limited computer hardware resources: small or no keyboard, screen, and little
memory.
6. What are the advantages of embedded system?
The advantages of the embedded system are Customization yields lower area, power, cost.
7. What are the disadvantages of embedded system?
 Higher HW/software development overhead
 design, compilers, debuggers, ...
 May result in delayed time to market!

What is a Microprocessor?

A silicon chip that contains a CPU. In the world of personal computers, the terms
microprocessor and CPU are used interchangeably. At the heart of all personal computers
and most workstations sits a microprocessor. Microprocessors also control the logic of
almost all digital devices, from clock radios to fuel-injection systems for automobiles.
13. What is a Microcontroller?
A microcontroller is a small and low-cost computer built for the purpose of dealing
with specific tasks, such as displaying information in a microwave LED or receiving
information from a television’s remote control. Microcontrollers are mainly used in
products that require a degree of control to be exerted by the user.

What are embedded cores?

More and more vendors are selling or giving away their processors and peripherals
in a form that is ready to be integrated into a programmable logic-based design. They
either recognize the potential for growth in the system-on-a-chip area or want a piece of
the royalties or want to promote the use of their particular FPGA or CPLD by providing
libraries of ready-to-use building blocks. Either way, you will gain with lower system costs
and faster time-to-market.
23. What are hybrid chips?
The vendors of hybrid chips are betting that a processor core embedded within a
programmable logic device will require far too many gates for typical applications. So
they\'ve created hybrid chips that are part fixed logic and part programmable logic. The
fixed logic contains a fully functional processor and perhaps even some on-chip memory.
This part of the chip also interfaces to dedicated address and data bus pins on the outside
of the chip. Application-specific peripherals can be inserted into the programmable logic
portion of the chip, either from a library of IP cores or the customer\'s own designs.
24. Give the diversity of embedded computing?
Diversity in Embedded Computing ; Pocket remote control RF transmitter ; 100
KIPS, crush-proof, long battery life ; Software optimized for size ; Industrial equipment
controller ; 1 MIPS, safety-critical, 1 MB memory ; Software control loops ; Military signal
processing ; 1 GFLOPS, 1 GB/sec IO, 32 MB
25. What is a kernel?
The kernel is a program that constitutes the central core of a computer operating
system. It has complete control over everything that occurs in the system. A kernel can be
contrasted with a shell (such as bash, csh or ksh in Unix-like operating systems), which is
the outermost part of an operating system and a program that interacts with user
commands. The kernel itself does not interact directly with the user, but rather interacts
with the shell and other programs as well as with the hardware devices on the system,
including the processor (also called the central processing unit or CPU), memory and disk
drives.
26. What are the types of Kernel?
There are four popular categories or kinds of Kernels namely monolithic kernels,
microkernels, hybrid kernels and exokernels. Monolithic kernels are part of Unix-like
operating systems like Linux ,FreeBSD etc. These types of kernels consist of the core
functions of the operating system and the device drivers with the ability to load modules at
runtime.

Define Cooperative Multitasking?

A type of multitasking in which the process currently controlling the CPU must offer
control to other processes. It is called cooperative because all programs must cooperate for
it to work. If one program does not cooperate, it can hog the CPU. In contrast, preemptive
multitasking forces applications to share the CPU whether they want to or not. Versions
8.0-9.2.2 of Macintosh OS and Windows 3.x operating systems are based on cooperative
multitasking, whereas UNIX, Windows 95, Windows NT, OS/2, and later versions of Mac OS
are based on preemptive multitasking.
28. What is Preemptive Multitasking?
The term preemptive multitasking is used to distinguish a multitasking operating
system, which permits preemption of tasks, from a cooperative multitasking system
wherein processes or tasks must be explicitly programmed to yield when they do not need
system resources.
29. What is Exotic custom operating system?
A small fraction of embedded systems require safe, timely, reliable or efficient
behavior unobtainable with the one of the above architectures. In this case an organization
builds a system to suit. In some cases, the system may be partitioned into a "mechanism
controller" using special techniques, and a "display controller" with a conventional
operating system. A communication system passes data between the two

COMPONENTS OF EMBEDDED SYSTEM:

An embedded system is basically a computer controlled device designed to perform
some specific tasks. In most cases these tasks revolve around real-time control of machines
or processes. Embedded systems are more cost effective to implement than systems
composed of general purpose computers, such as PCs.
Processor
 The main part of an embedded system is its processor. This can be a generic
microprocessor or a microcontroller. The processor is programmed to perform the
specific tasks for which the embedded system has been designed.
Memory
 Electronic memory is an important part of embedded systems. This memory is of
essentially three types: RAM, or random access memory, ROM, or read-only
memory, and cache. The RAM is where program components are temporarily stored
during execution. The ROM contains the basic input-output routines that are needed
by the system at startup. The cache is used by the processor as a temporary storage
during processing and data transfer.
System Clock
 The system clock is a very important part of an embedded system since all
processes in an embedded system run on clock cycles and require precise timing
information. This clock generally consists of an oscillator and some associated
circuitry.

CHARACTERISTICS OF EMBEDDED SYSTEMS

1) Embedded systems are designed to do some specific task, rather than be a
general-purpose computer for multiple tasks. Some also have real-time performance
constraints that must be met, for reason such as safety and usability; others may have low
or no performance requirements, allowing the system hardware to be simplified to reduce
costs.
2) Embedded systems are not always separate devices. Most often they are
physically built-in to the devices they control.
3) The software written for embedded systems is often called firmware, and is stored in
read-only memory or Flash memory chips rather than a disk drive. It often runs with
limited computer hardware resources: small or no keyboard, screen, and little memory.
3.What Is A Microcontroller Explain With An Example?
A microcontroller (sometimes abbreviated μC, uC or MCU) is a small computer on
a single integrated circuit containing a processor core, memory, and programmable
input/output peripherals. Program memory in the form of NOR flash or OTP ROM is also
often included on chip, as well as a typically small amount of RAM. Microcontrollers are
designed for embedded applications, in contrast to the microprocessors used in personal
computers or other general purpose applications.
Microcontrollers are used in automatically controlled products and devices, such as
automobile engine control systems, implantable medical devices, remote controls, office
machines, appliances, power tools, and toys. By reducing the size and cost compared to a
design that uses a separate microprocessor, memory, and input/output devices,
microcontrollers make it economical to digitally control even more devices and processes.
Mixed signal microcontrollers are common, integrating analog components needed to
control non-digital electronic systems.


WHAT IS IT REALLY?

Typically an Embedded Processor is a single-issue in-order RISC processor with a
little cache. It can then sell as a piece of silicon, custom layout, net list, or architectural
description. They are designed to be small, low power, and most importantly correct. Often
due to the real-time constraints of an application area they are designed to have a small
deterministic worst case time per instruction

FUTURE OF EMBEDDED PROCESSORS
Pipeline lengths are starting to get very long. How does high performance architecture
handle this Branch prediction? Intel’s XScale has branch prediction tables. Embedded
processor designs take heavily from high performance processor designs. But now under
different constraints
What else will migrate to the embedded space?
VLIW processors -Multiple issue machines, Scheduling done by the compiler, Customized
Processors - Such as from Tensilica, Allows more cost effective design as we now pick only
what is important - Instruction Compaction, Thumb is good, but we need to do better as
more and more functionality moves to software
6. Explain The Embedded System Architectures In Detail?
There are several different types of software architecture in common use.

I. SIMPLE CONTROL LOOP

A common model for this kind of design is a state machine, which identifies a set of
states that the system can be in and how it changes between them, with the goal of
providing tightly defined system behavior. This system's strength is its simplicity, and on
small pieces of software the loop is usually so fast that nobody cares that its timing is not
predictable. It is common on small devices with a stand-alone microcontroller dedicated to
a simple task.

II. INTERRUPT CONTROLLED SYSTEM

An INTERUPT CONTROL SYSTEM can include logic systems with at least one
interrupt to a microprocessor. The interrupt not only can came from the processor, but also
from the external components like the Memory, Graphic controller, A keyboard and can be
from other I/O devices. Events are in asynchronous in nature. But Processors are in
synchronous in nature. When interrupt occurred, the processor finds it as an interrupt and
performs the required instructions. This is referred to as an Interrupt service Routine
(ISR). Interrupt latency is the time which the processor requires to perform the instruction
by an ISR. This Interrupt latency should be reduced. For that ultra wideband media access
control (UWB MAC) devices are introduced. These having an interrupt control system
detect a set of particular instructions from the processor core to instruction random access
memory (I-RAM). The interrupt control system provides the core with the computer
executable instructions that includes a branch instruction such that the processor can
branch directly to an interrupt service routine (ISR) that provides the computer
instructions for processing the event.

III. COOPERATIVE MULTITASKING

A type of multitasking in which the process currently controlling the CPU must offer
control to other processes. It is called cooperative because all programs must cooperate for
it to work. If one program does not cooperate, it can hog the CPU. In contrast, preemptive
multitasking forces applications to share the CPU whether they want to or not. Versions
8.0-9.2.2 of Macintosh OS and Windows 3.x operating systems are based on cooperative
multitasking, whereas UNIX, Windows 95, Windows NT, OS/2, and later versions of Mac OS
are based on preemptive multitasking.
A nonpreemptive multitasking system is very similar to the simple control loop
scheme, except that the loop is hidden in an API. The programmer defines a series of tasks,
and each task gets its own environment to “run” in. When a task is idle, it calls an idle
routine, usually called “pause”, “wait”, “yield”, “nop” (stands for no operation), etc.
The advantages and disadvantages are very similar to the control loop, except that
adding new software is easier, by simply writing a new task, or adding to the queueinterpreter.
IV. PREEMPTIVE MULTITASKING OR MULTI-THREADING
The term preemptive multitasking is used to distinguish a multitasking operating
system, which permits preemption of tasks, from a cooperative multitasking system
wherein processes or tasks must be explicitly programmed to yield when they do not need
system resources.
In this type of system, a low-level piece of code switches between tasks or threads
based on a timer (connected to an interrupt). This is the level at which the system is
generally considered to have an "operating system" kernel. Depending on how much
functionality is required, it introduces more or less of the complexities of managing
multiple tasks running conceptually in parallel.
As any code can potentially damage the data of another task (except in larger
systems using an MMU) programs must be carefully designed and tested, and access to
shared data must be controlled by some synchronization strategy, such as message queues,
semaphores or a non-blocking synchronization scheme.
Because of these complexities, it is common for organizations to use a real-time
operating system (RTOS), allowing the application programmers to concentrate on device
functionality rather than operating system services, at least for large systems; smaller
systems often cannot afford the overhead associated with a generic real time system, due to
limitations regarding memory size, performance, and/or battery life. The choice that a
RTOS is required brings in its own issues however as the selection must be done prior to
starting to the application development process. This timing forces developers to choose
the embedded operating system for their device based upon current requirements and so
restricts future options to a large extent. The restriction of future options becomes more of
an issue as product life decreases. Additionally the level of complexity is continuously
growing as devices are required to manage many variables such as serial, USB, TCP/IP,
Bluetooth, Wireless LAN, trunk radio, multiple channels, data and voice, enhanced graphics,
multiple states, multiple threads, numerous wait states and so on. These trends are leading
to the uptake of embedded middleware in addition to a real time operating system.

V. KERNELS

The kernel is a program that constitutes the central core of a computer operating
system. It has complete control over everything that occurs in the system. A kernel can be
contrasted with a shell (such as bash, csh or ksh in Unix-like operating systems), which is
the outermost part of an operating system and a program that interacts with user
commands. The kernel itself does not interact directly with the user, but rather interacts
with the shell and other programs as well as with the hardware devices on the system,
including the processor (also called the central processing unit or CPU), memory and disk
drives.

MICROKERNELS AND EXOKERNELS

A microkernel is a logical step up from a real-time OS.
The usual arrangement is that the operating system kernel allocates memory and
switches the CPU to different threads of execution. User mode processes implement major
functions such as file systems, network interfaces, etc.
In general, microkernels succeed when the task switching and intertask
communication is fast, and fail when they are slow.
Exokernels communicate efficiently by normal subroutine calls. The hardware and
all the software in the system are available to, and extensible by application programmers.

MONOLITHIC KERNELS

In this case, a relatively large kernel with sophisticated capabilities is adapted to suit an
embedded environment. This gives programmers an environment similar to a desktop
operating system like Linux or Microsoft Windows, and is therefore very productive for
development; on the downside, it requires considerably more hardware resources, is often
more expensive, and because of the complexity of these kernels can be less predictable and
reliable.
Common examples of embedded monolithic kernels are Embedded Linux and Windows
CE.
Despite the increased cost in hardware, this type of embedded system is increasing in
popularity, especially on the more powerful embedded devices such as Wireless Routers
and GPS Navigation Systems. Here are some of the reasons:

Communications applications

"Five-nines" availability, CompactPCI hot swap support, and hard real-time
response—LynxOS delivers on these key requirements and more for today's carrier-class
systems. Scalable kernel configurations, distributed computing capabilities, integrated
communications stacks, and fault-management facilities make LynxOS the ideal choice for
companies looking for a single operating system for all embedded telecommunications
applications—from complex central controllers to simple line/trunk cards.
LynuxWorks JumpStart for Communications package enables OEMs to rapidly
develop mission-critical communications equipment, with pre-integrated, state-of-the-art,
data networking and porting software components—including source code for easy
customization.
The Lynx Certifiable Stack (LCS) is a secure TCP/IP protocol stack designed
especially for applications where standards certification is required.