Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 26

EMBEDDED SYSTEM

UNIT-I

(A) What is embedded system? Describe in short the development process


of embedded system and characteristics? (S-16, 17, 18/W-15, 19)
An embedded system is a system that has embedded software and computer
hardware which make it a system dedicated for an application or specific part of
an application.
An embedded system is a computer system designed to perform one or a few
dedicated function often with the real-time computing constraints. It is
embedded as a part of a complete device often including hardware and
mechanical part. In contrast a general-purpose computer such as personal
computer is designed to be flexible and to meet a wide range of an end-user’s
needs. Embedded system control many of the common devices in use today.
Embedded systems are controlled by a main processing core that is typically
either a microcontroller or a digital signal processor (DSP).
It is any device that includes a programmable computer but, is not itself
intended to be a general purpose computer.
An embedded system is various one that has dedicated purpose software
embedded in computer hardware.
An embedded system is a microprocessor based system that is built to control a
functions programmed by the end user in the same way that a PC is.
Examples of embedded system:
 Personal Digital Assistant (PDA)
 Printer
 GPS (Global Positioning System)
 Digital Camera
 Wrist watch
An embedded system is a system that has three main components embedded
into it:
1.It embeds hardware similar to a computer. Fig shows the units in the
hardware of embedded system. As its software usually run in ROM or flash
memory it usually not need a secondary hard disk and CD as in a computer.
 Processor: Processor or CPU is responsible for performing all the
computational and logical operations in an embedded system.
 Memory: Memory is a device which is used to store data and instruction
in a system
 User Interface: User Interface is a means through which user can provide
certain command to the embedded system.
Page 1
EMBEDDED SYSTEM

 Display: Display are used to provide certain information to the user.


Example: alphanumeric displays and LCD displays
 I/O: I/O peripherals provide a physical media (channels) for data
transfer using external work.
 Other Electrical Component: There are many of the other active and
passive components of embedded system.
Example: power supply, Data Convertor etc.
2. It embeds main application software. The application software may
concurrently perform a series of tasks or processor.
 Control Software: It is also known as firmware. It is responsible for
managing (and synchronizing) different modules of the system.
 Computational Extensive Software: It is responsible for performing
mathematical and logical operations on the input data. The output of this
processing can either be sent back (to another system) or stored in the
system memory for later use or can be used by the control software to
take a certain decision and do further processing based on this decision.
 Device Drivers: Device Drivers are software modules which control
systems peripheral.
 User Interface: This software is responsible for collecting user inputs
(from input devices like keypad or touch screen) and providing “user
menu” or “system status” to user (through display devices).
3. It embeds a real time operating system(RTOS) that supervises the application
software running on hardware and organize access to resources according to the
priorities of task in the system. It provides mechanism to let the processor run a
process as scheduled and context-switch between the various processors. It sets
the rules during the execution of the application software. (A small scale
embedded system may not embed the RTOS).

Characteristics of Embedded system:


1. Throughout

Page 2
EMBEDDED SYSTEM

2. Response
3. Stability
4. Debug ability
5. Reliability
6. Memory space
7. Power Consumption
8. Cost issue.

Generic Embedded system:

(B) Define the following terms? (S-18.19/W-19)

1. Compiler:
A compiler is a computer program (or set of program) that transforms source
code written in a computer language (the source language) into another
computer language (the target language often having a binary form known as
object code). The most common reason for wanting to transform source code is
to create an executable program.
The name ‘compiler’ is primarily used for programs that translate source code
from a high-level programming language to a lower level language (e.g.
assembly language or machine code). A program that translates from a low
level language to a higher level one is a decompiler. A program that translates
between high-level languages is usually called a language translator, source to
source translator, or language convertor. A language rewriter is usually a
program that translates the form of expression without a change of language.
A compiler is likely to perform many or all of the following operations: lexical
analysis, preprocessing, parsing, semantic analysis, code generation and code
optimization.
Programs faults caused by incorrect compiler behavior can be very difficult to
track down and work around and a compiler implementers invests a lot of time
Page 3
EMBEDDED SYSTEM

ensuring the correctness of their software. The term compiler-compiler is


sometimes used to refer to a parser generator, a tool often used to help create the
lexer and parser.

*Phases of Compiler:
The compiler has a number of phases plus symbol table manager and an error
handler.

Page 4
EMBEDDED SYSTEM

The cousins of compiler are:


1. Preprocessor
2. Assembler
3. Loader and Link-editor
Front End Vs Back End of a compiler. The phases of compiler are collected into
front end and back end.
 The front end includes all analysis phases end the intermediate code
generator.
 The back end includes the code optimization phases and final code
generation phase.
 The front end analyzes the source program and produces intermediate
code while the back end synthesizes the target program from the
intermediate code.
A native approach (front face) to that front end might run the phases serially.
1. Lexical analyzer takes the source program as an input and produces a
long string of tokens.
2. Syntax analyzer takes an out of lexical analyzer and produces a large tree.
3. Semantic analyzer takes the output of syntax analyzer and produces
another tree.

Page 5
EMBEDDED SYSTEM

4. Similarly intermediate code generator takes a tree as an input produced


by semantic analyzer and produces intermediate code.
2. Debugger:
Debugger are software tools which enable the programmer to monitor the
execution of a program stop it, restart it, run it in slow motion, change values in
memory and even in some cases go back in time. The term debugger can also
refer to the person who is doing the debugging.
A debugger is a computer program that is used to test and debug other program.
The code to be examined might alternatively be running on an instruction set
simulator(ISS) a technique that allows great power in its ability to halt when
specific conditions are encountered but which will typically be must slower than
executing the code directly on the appropriate processor.
When the program crashes the debugger shows the position in the original code
if it is a source-level debugger or symbolic debugger commonly seen in
integrated development environments. If it is a low-level debugger or a
machine-language debugger it shows the line in the disassembly. (A “crash”
happens when the program can’t continue because of a programming bug. For
example, perhaps the program tried to use an instruction not available on the
current version of the CPU or attempted access to unavailable or protected
memory. )
Typically, debuggers also offer more sophisticated functions such as running
program step by step (single stepping), stopping (breaking) (pausing the
program to examine the current state) at some kind of event by means of
breakpoint, and tracking the values of some variables.
3. Emulator:
An emulator duplicates (provide an emulation of) the function of one system
with different system, so that the second system behaves like (and appear to be)
the first system. This focus on exact reproduction of external behavior is in
contrast to simulation, which concerns an abstract model of the system being
simulated, often considering internal state.
Emulators in computer science:
Emulation refers to the ability of a program or device to imitate another
program or device. Many printers, for example, are designed to emulate
Hewlett-Packard LaserJet printers because so much software is written for HP
printers. By emulating an HP printer, a printer can work with any software
written for a real HP printer. Emulation “tricks” the software into believing that
a device is really some other device.

Page 6
EMBEDDED SYSTEM

A hardware emulator is an emulator which takes the form of hardware devices.


Examples include printer emulators inside the ROM of the printer, and FPGA-
based hardware emulators.
In a theoretical sense, the Church-Turing thesis implies that any operating
environment can be emulated within any other. In practice it can be quite
difficult, particularly when the exact behavior of the system to be emulated is
not documented and has to be deduced through reverse engineering. It also says
nothing about timing constraints, if the emulator does not perform as quickly as
the original hardware, the emulated software may run much more slowly than it
would have on the original hardware.
Developers of software for embedded system or video game consoles often
design their software on especially accurate emulators called simulators before
trying it on the real hardware. This is so that software can be produced and
tested before the final hardware exists in large quantities so that it can be tested
without taking the time to copy the program to be debugged at a low-level
without introducing the side effects of a debugger. In many cases, the simulator
is actually produced by the company providing the hardware, which
theoretically increases its accuracy.
Typically an emulator is divided into modules that correspond roughly to the
emulated computers subsystems. Most often, an emulator will be composed of
the following modules:
A CPU emulator or CPU simulator (the two terms are mostly interchangeable in
this cases)
A memory subsystem module
Various I/O devices emulators
Buses are often not emulated, either for reasons of performance or simplicity
and virtual peripherals communicate directly with the CPU or the memory
subsystem.
4. Simulator:
Simulation is the imitation of some real thing state of affairs or process. The act
of simulating something generally entails representing certain key
characteristics or behavior of a selected physical or abstract system. Simulation
is used in many contexts including the modeling of natural systems or human
systems in order to gain insight into their functionalities. Other contexts include
simulation of technology for performance optimization, safety engineering,
testing, training and education. Simulation can be used to show the eventual real
effects of alternative conditions and course of action.
Key issues in simulation include acquisition of valid source information about
the relevant selection of key characteristics and behavior the use of simplifying
Page 7
EMBEDDED SYSTEM

approximations and assumption within the simulation and fidelity and validity
of the simulation outcomes.
Physical and interactive simulation
Physical simulation refers to simulation in which physical objects are
substituted for the real thing. These physical objects are often chosen because
they are similar or cheaper than the actual object or system.
Interactive simulation is a special kind of physical simulation, often referred to
as human in the loop simulation, in which physical simulations in which
physical simulations include human operators such as in a flight simulator or a
driving simulator.
A computer simulation (or “sim”) is an attempt to model a real-life or
hypothetical situation on a computer so that it can be studied to see how the
system works. By changing variables, prediction may be made about the
behavior of the system.
Computer simulation has became a useful part of modeling many natural
systems in physical chemistry and biology, and human systems in economics
and social science as well as in engineering to gain insight into operation of
those systems. A good example of the usefulness of using computer to simulate
can be found in the field of network traffic simulation. In such simulation the
model behavior will change each simulation according to the set of initial
parameter assumed for the environment.
Traditionally the formal modeling of system has been via a mathematical model
which attempts to find analytical solutions enabling the prediction of the
behavior of the system from a set of parameter and initial conditions. Computer
simulation is often used as an adjunct to, or substitution for, modeling systems
for which simple closed form analytic solutions are not possible. There are
many different types of computer simulation the common features they all share
is the attempt to generate a sample of representative scenarios for a model in
which a complete enumeration of all possible states would be prohibitive or
impossible.
5. RTS (Real Time System):
In computer science, real time computing (RTC) or “reactive computing” is the
study of hardware and software systems that are subject to a “real-time
constraints” i.e... Operational deadline from event to system response. By
contrast, a non-real-time system is one for which there is no deadline, even if
fast response or high performance is desired or preferred. The needs of real-time
software are often addresses in the context of real-time operating systems, and
synchronous programming languages, which provide frameworks on which to
build real-time application software.

Page 8
EMBEDDED SYSTEM

A real-time system may be one where its application can be considered (within
context) to be mission critical. The anti-lock brakes on a car are a simple
example of a real-time computing system-the real-time constraint in this system
is the short time in which the brakes must be released to prevent the wheel from
locking. Real-time computation can be said to have failed if they are not
completed before their deadline, where their deadline is relative to an event. A
real-time deadline must be met, regardless of system load.
The term real-time derivers from its use in early simulation. While current
usage implies that a computation that is ‘fast enough’ is real-time, originally it
referred to a simulation that proceeded at a rate that matched that of the real-
process it was simulating. Analog computers especially were often capable of
simulating much faster than real-time a situation that could be just as dangerous
as a slow simulation if it were not also recognized and accounted for.
6. Architecture of Microcontroller:
Basically, a microcontroller is a device which integrates, number of the
components of a microprocessor system onto a single microchip and optimized
to interact with the outside world through on-board interfaces; i.e it is a little
gadget that houses a microprocessor, ROM (Read only memory), RAM
(Random access memory), I/O (Input/output function), and various other
specialized circuits all in one package.
On the other hand, a microprocessor is normally optimized to co-ordinate the
flow of information between separate memory and peripheral devices which are
located outside itself. Connections to a microprocessor include address, control
and data buses that allow it to select one of its peripherals and send to or
retrieve data from it. Because a microcontroller processor and peripherals are
built on the same silicon, the devices are self-contained and rarely have any bus
structures extending outside their packages. So a microcontroller incorporates
onto the same microchip the following:
 The CPU core
 Memory (both ROM and RAM)
 Some parallel digital I/O

Page 9
EMBEDDED SYSTEM

Microcontroller’s fundamental components:


Microcontroller will also combine other devices such as:
 A timer module to allow the microcontroller to perform tasks for certain
time period.
 A serial I/O port to allow data to flow between the microcontroller and
other devices such as a PC or another microcontroller.
 An ADC to allow the microcontroller to accept analogue input data for
processing.
A microcontroller (also microcontroller unit, MCU OR ực ) is a small computer
on a single integrated circuit consisting of a relative simple CPU combined with
support functions such as a crystal oscillator, timers, watchdog, timer, serial and
analog I/0 etc. 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.
Microcontroller is designed for small or dedicated applications. Thus, in
contrast to the microprocessor used in personal computers are other high-
performance or general purpose applications, simplicity is emphasized. Some
microcontroller may operate at clock frequencies as low as 32khz, as this is
adequate for many typical applications, enabling low power consumption.
The microcontroller is a computer. All computers whether we are talking about
a personal desktop computer or the mainframe computer or a microcontroller
have several things in common:

Page 10
EMBEDDED SYSTEM

 All computers have a CPU (Central Processing Unit) that executes


programs. If you are sitting at a desktop computer right now reading this
article, the CPU in that machine is executing program that implements
the web browser that is displaying this page.
 The CPU loads the program from somewhere. On your desktop
machine, the browser program is loaded from the hard disk.
 The computer has some RAM (random access memory) where it can
store “variables”.
 And the computer has some input and output devices so it can talk to
people. On your desktop machine, the keyboard and mouse are input
devices and the monitor and printer are output devices. A hard disk is an
I/O device—it handles both input and output.
Features of microcontroller:
 Microcontrollers are embedded inside some other device (often a
consumer product) so that they can control the features or actions of the
product. Another name for a microcontroller therefore is “embedded
controller”.
 Microcontrollers are dedicated to one task and run one specific program.
The program is stored in ROM (read only memory) and generally does
not change.
 Microcontrollers are often low-power devices. A desktop computer is
almost always plugged into a wall socket and might consume 50 watts
of electricity. A battery-operated microcontroller might consume 50 mill
watts.
 A microcontroller has a dedicated input device and often (but not
always) has small LED or LCD display for output. A microcontroller
also takes input from device it is controlling and controls the device by
sending signals to different components in the device.
For example, the microcontroller inside a TV takes input from the remote
control and displays output on the TV screen. The controller controls the
channel selector, the speaker system and certain adjustment on the picture tube
electronics such as tint and brightness.
 A microcontroller is often small and low cost. The components are
chosen to minimize size and to be as inexpensive as possible.
 A microcontroller is often but not always ruggedized in some way.

Page 11
EMBEDDED SYSTEM

Fig: Microcontroller
7. RTOS (Real Time Operating System):

(D) What is real time system? Explain the working principle of RTOS? (S-
16/W-15, 16, 17)

Refer to Question B.

(C) Explain the need of DSP? Explain its architecture? (W-15, 16, 17, 19)
A digital signal processor is a specific-purpose CPU (Central processing unit)
that provides ultra-fast instructions sequences, such as shift and adds, and
multiply and add, which are commonly used in math-intensive signal processing
applications.
DSPs are not the same as typical microprocessor though. Microprocessors are
typically general purpose devices that run large blocks of software. They are not
often called upon for real-time computation and they work at slower pace,
choosing a course of action, and then waiting to finish the present job before
responding to the next user command. DSPs on the other hand, are often used as
type of embedded controller or processor that is built into another piece of
equipment and is dedicated to a single group of tasks. In this environment, the
DSPs assist the general purpose host microprocessor.
Needs of DSPs
 Designed for real-time processing
 Optimum performance with streaming data
 Separate program and data memories (Harvard architecture)
 Special instructions for SIMD (Single instruction multiple data) options
 No hardware support for multitasking

Page 12
EMBEDDED SYSTEM

 The ability to act as a direct memory access device if in a host


environment.
 Processes digital signals converted (using an Analog-to-digital convertor
(ADC)) from analog signals.
 Output is then converted back to analog form using a Digital-to-analog
convertor (DAC).

Architectural features of DSPs:


Digital signal processing can be done on general-purpose microprocessors.
However, a DSP contain architectural optimization to speed up processing.
These optimizations are also important to lower costs, heat-emission and power-
consumption.
Program Flow
 Floating-point unit integrated directly into data-path
 Pipelined architecture
 Highly parallel accumulator and multiplier
 Special looping hardware. Low-overhead or Zero-overhead looping
capability.
Memory Architecture
 DSPs often use special memory architectures that are able to fetch
multiple data and/or instructions at the same time.
 Harvard architecture
 Modified Von Neumann Architecture
 Use of direct memory access
 Memory address calculation unit
Data Operation
 Saturation arithmetic in which operations that produce overflows will
accumulate at the maximum (or minimum) values that the register can
hold rather than wrapping around (maximum+1 doesn’t overflow to
minimum as in many general-purpose CPUs instead it stays at
maximum). Sometimes various sticky bits operation modes are available.
 Fixed-point arithmetic is often used to speed up arithmetic processing
 Single-cycle operations to increase the benefits of pipelining.
Instruction Sets

Page 13
EMBEDDED SYSTEM

 Multiply- accumulator (MAC aka fused multiply-add, FMA) operations,


which are used extensively in all kinds of matrix operations such as
convolution for filtering, dot product, or even polynomial evaluation (see
Horner scheme)
 Instructions to increase parallelism: SIMD,VLIW, superscalar
architecture
 Specialized instructions for modulo addressing in ring buffers and bit-
reversed addressing mode for FFT cross referencing
 Digital signal processors sometimes use time-stationary encoding to
simplify hardware and increase coding efficiency.
Difference between Von-Neumann Architecture and Harvard
Architecture:
Von-Neumann Architecture Harvard Architecture
Single memory to be shared by both Separate memory for code and data.
code and data.
Processors need to fetch code in a Single clock cycle is sufficient as
separate clock cycle and data in separate buses are used to access code
another clock cycle. So it requires two and data.
clock cycles.

Higher speed, thus less time Slower in speed, thus more time
consuming consuming

Simple in design Complex in design.

Fig (a) shows Non-Neumann Fig (b) shows Harvard architecture.


architecture.

Page 14
EMBEDDED SYSTEM

Fig (a): Non-Neumann Architecture

Fig (b): Harvard Architecture

Page 15
EMBEDDED SYSTEM

Memory Mapped I/O and I/O Mapped I/O:


A simple bus structure when interfacing the processer, memory and I/O devices
is classified into three sets of signals:
1. Address Bus
2. Data Bus
3. Control Bus
1. Address Bus: The processor issues the address of the instruction byte or word
to memory system through address bus.
2. Data Bus: When the processor issues the address of the instruction it get back
the instruction through the data bus, when it issues the address of the data, it
loads the data through the data bus. When it issues the address of the data, it
stores the data in the memory through data bus.
3. Control Bus: A control bus issues signals to control the timing of various
actions during interconnection. These signals synchronize the subsystems.
Memory mapped I/O (MMIO) and port I/O (also called port-mapped I/O OR
PMIO is Isolated I/O) are two complementary methods of performing
input/output between the CPU and I/O devices in computer.
Memory Address Mapped I/O Operations:
Memory mapped I/O uses the same bus to address both memory and I/O
devices and the CPU instructions used to read and write to memory are also
used in accessing I/O.
In order to accommodate the I/O devices areas of CPU addressable space must
be reserved for I/O rather than memory.

Fig: Memory System Bus and I/O bus interfacing in two level bus structures.

The following are features of memory mapped I/O:

Page 16
EMBEDDED SYSTEM

 The processor has no separate IO address space for ports and devices.
 The instructions as well as control signals for the operations on bytes at
the memory IO port and device addresses are the same.
 The processor has no input-output and memory load store instructions
 The arithmetic, logical and bit manipulation instructions that are available
for IO operations. The processor can directly manipulate the data taken
from or stored at the IO port or device. The manipulation of all
instructions in the memory can be done using an accumulator, any
register or any other memory address where the IO port byte is
transformed after, during or before the arithmetic or logical operation.
 Example: The 8051 microcontroller is an example of a memory-mapped
IO based processor and memory organization.
 The advantage of using memory mapped I/O is that by discarding the
extra complexity that port I/O brings, a CPU requires less internal logic
and is thus cheaper, faster and easier to build.
I/O Address mapped IO operations:
Port-mapped I/O uses a special class of CPU instructions specifically for
performing I/O. This is generally found on Intel microprocessor specifically the
IN and OUT instructions which can read and write a single byte to an I/O
device. I/O devices have a separate address space from general memory, either
accomplished by an extra “I/O” pin on the CPU physical interface, or an entire
bus dedicated to I/O.

The following are features of IO address mapped IOS:


 The processor has a separate IO address space for ports and devices.

Page 17
EMBEDDED SYSTEM

 The instructions and control signals for operations on bytes at the


memory and I/O ports and devices are distinct, making the design simple
IO devices and port addresses are interfaced independently of memory,
without considering the memory address that are assigned for software
and data.
 The processor has separate input-output (for read and write) instructions
and memory load store (for read and write) instructions
 All the arithmetic, logical and bit instructions that are available in
memory are first operated using the accumulator and then from these
bytes are transferred after an arithmetic or logical operation.
 The main advantage of using port mapped IO is on CPUs with a limited
addressing capability. Because port-mapped IO separates IO access from
memory access, the full address space can be used for memory. It is also
obvious to a person reading an assembly language program testing when
I/O is being performed, due to special instructions that can only be used
for that purpose.
Types of memory in embedded system:

RAM: RAM stores the variables during a program run and stores their stack. It
stores input and output buffers. For example: of speech or image. It can also
store the application program and data when the ROM image is stored in a
compressed format in an embedded system and decompression is done before
the actual run of the system.
Two types of RAM:
1. SRAM
2. DRAM
SRAM (Static RAM):
 SRAM is used most commonly for designing caches and in embedded
systems and microcontroller.

Page 18
EMBEDDED SYSTEM

 SRAM retains its contents as long as electrical power is applied to the


chip. If this power is turned off or load temporary, its contents will be lost
forever.
 SRAM devices offer extremely fast access times (approximately four
times faster than DRAM) but are much more expensive to produce.
 Generally SRAM is used only where access speed is extremely important.
 It does not need to be re-written practically. In fact, the only time the data
on the memory is refreshed or changed is when an actual write command
is executed.
 There are few types of SRAM:
 Sync SRAM: An older type of SRAM used in many PC’s for L2-Cache.
It is asynchronous meaning that it words independently of the system
clock. This means that the CPU for itself waiting for info from L2cache.
 Sync SRAM: This type of SRAM is synchronous meaning it is
synchronized with the system clock while this speeds it up, it make it
rather expensive at the same time

There are several types of DRAM:


1. East Page DRAM (EPM DRAM): It is only slightly faster than regular
DRAM. Before there was EDO RAM. EPM DRAM was the main type
used in PC’s. It is pretty slow stuff, with an access time of 120ns. It was
eventually tweaked to 60ns, but for this reason EPM RAM was replaced
by EDO RAM. EPM RAM is not much used totally due to its slow speed
but is always universally supported.
2. Extended Data out DRAM (EDC DRAM): EDO memory incorporates
yet another tweak in the method of access. It allows one access to being
while another is being completed.
3. EDO RAM must be properly supported by the chipset. EDO RAM comes
on a SIMM.

Page 19
EMBEDDED SYSTEM

4. EDO RAM cannot operate on a bus speed faster than 66MHz, so with the
increasing use of higher bus speeds. EDO RAM has taken the path of
EPM RAM.
5. Burst EDODRAM (BEBO DRAM): Original EDO RAM was too slow.
For the newer systems coming out at the time. Therefore a new method of
memory access had to be developed to speed up the memory.
6. Bursting was the method devised. This means the larger blocks of data
were set to the memory at a time, and each block of data not only carried
the memory address of the immediate page, but info on the next several
pages. Therefore the next few access would not experience any delays
due to the proceeding memory requests.
Synchronous DRAM (SDRAM):
 SDRAM became the new standard after EDO bit the dust.
 Its speed is synchronous meaning that it is directly dependent on the
clock speed of the entire systems.
 SDRAM synchronizes the read operations and keeps the next word ready
while the previous one is being fetched. This device is used when buses
can fetch or send to the processor up to speed of 1GHz.
Difference between DRAM AND SRAM:
DRAM (Dynamic Ram) SRAM (Static RAM)

Dynamic in nature Static in nature.


It is made up of capacitor. It is made up of flip-flop constituting
of transistor.
It has smaller size. It has bigger size
It uses MOSFET technology. It uses MOS technology.
It is used in main memory. It is used in static memory.
Data/Bit storage in high. Data/Bit storage is low.
Data is stored in forms of charges. Data is stored in transistor.
Speed is 60 nano seconds. Speed is 10-15nano seconds.
Cheaper Costly
One transistor with capacitor. 4-6 Transistor
Slower than SRAM Faster than DRAM.

Microsoft Windows Software Development Kit:


The Microsoft windows SDK is a set of tools code samples documentation
compilers, headers and libraries between developers are use to create
applications that run on Microsoft windows operating system using native (Win
32) or managed by .NET framework.
Creating SDK for Windows CE.NET:
Page 20
EMBEDDED SYSTEM

 Working application for Microsoft windows desktop operating


system is straight forward i.e you know exactly which API’s are
supported.
 The no of APIs exposed on a Windows CE device is determined by
the components included in the platform.

Windows CE developer

Platform Developer Application Developer

Platform Developer Application Developer

Used to config, build downloads and Need a tool that can be used to write
debug the windows CE OS to application without having to build &
reference board or (emulation). download an OS image. Need access
info header files and libraries that
define which API are supported on a
platform.

*Microprocessor:
Microprocessor is single VLSI chips that has a CPU and may also have some
other units (e.g. caches, floating point, processing, arithmetic unit, pipelining
and suppressing unit) that are additionally present and that result in faster
processing of instructions
A microprocessor (sometimes abbreviated uP) is a digital electronic component
with miniature transistors on a single semiconductor integrated circuit (IC).
Microprocessor also called Central Processing Unit (CPU) since it is the
functional center of the computer system and it is used to process data.

Page 21
EMBEDDED SYSTEM

The CPU is a unit that centrally fetches and processes a set of general purpose
instructions. The CPU instruction set includes instructions for data transfer
operations. ALU operation stack operations IO operations and program control,
sequencing and supervising operations. The general purpose instruction set is
always specific to a specific CPU.
The CPU consists of:
1. An ALU (Arithmetic and Logical Unit) that undertakes arithmetic and
logical operations on bytes or words. It may be capable of processing 16,
32 or 64-Bit words at an instant.
2. General Purpose Register: These Register constitute the processor’s
internal memory. The number of registers varies from processor to
processor. Register contain the current data and operands that are being
manipulated by the processor. When a processor is referred to as of 8-
bits, 16-bits etc it refer to the width of register.
3. Control Unit: Control Unit fetches the instruction from memory decode
them and execute them.
4. Fetching and Executing An instructions: Fetching involves the following
steps:
 Contents of machine are placed on address bus.
 READ signal is achieved.
 Data (instruction opcode) are read from RAM and placed on data
bus.

Page 22
EMBEDDED SYSTEM

 Opcode is latched into CPU internal instruction register


 Machine is incremented to prepare for the next fetch from memory.
5. While execution involves decreasing the speeds and generating control
signals to code internal registers in and out of the ALU and to signal the ALU to
perform the specific operations.
Difference between Microprocessor and Microcontroller:

*Architecture of Microcontroller:

Page 23
EMBEDDED SYSTEM

Features of 8051 Microcontroller


An 8051 microcontroller comes bundled with the following features −

 4KB bytes on-chip program memory (ROM)


 128 bytes on-chip data memory (RAM)
 Four register banks
 128 user defined software flags
 8-bit bidirectional data bus
 16-bit unidirectional address bus
 32 general purpose registers each of 8-bit
 16 bit Timers (usually 2, but may have more or less)
 Three internal and two external Interrupts
 Four 8-bit ports,(short model have two 8-bit ports)
 16-bit program counter and data pointer
 8051 may also have a number of special features such as UARTs, ADC,
Op-amp, etc.

UNIT-II
1.

Page 24
EMBEDDED SYSTEM

UNIT-II

Page 25
EMBEDDED SYSTEM

Page 26

You might also like