Top Banner

of 52

Core of emb-sys

Apr 05, 2018

Download

Documents

Sushrut Zemse
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 7/31/2019 Core of emb-sys

    1/52

    Core Of The Embedded System

  • 7/31/2019 Core of emb-sys

    2/52

    Embedded systems are domain and

    application specific and are build around a

    central core.

  • 7/31/2019 Core of emb-sys

    3/52

    Categories

    The core of embedded system falls into any

    one of the following categories:

    General purpose and domain specific processors

    Microprocessors

    Microcontrollers

    Digital Signal Processors

    Application Specific Integrated Circuits(ASICs)

    Programmable Logic Devices(PLDs)

    Commercial off-the-shelf Components(COTS)

  • 7/31/2019 Core of emb-sys

    4/52

    General Purpose & Domain Specific Processors

    Almost 80% of Embedded Systems areprocessor/Controller based.

    The processor may be a micro-processor or a

    microcontroller or a digital signal processordepending on the domain and application.

    Eg. Embedded systems in industrial control andmonitoring applications make use of microprocessor

    or microcontroller where as domains which requiresignal processing such as speech coding, speechrecognition make use of digital signal processors.

  • 7/31/2019 Core of emb-sys

    5/52

    Microprocessors

    A microprocessor is a silicon chip representing aCPU capable of performing arithmetic as welllogical operations according to a predefined setof instructions, which is specific to the

    manufacturer. It contains Arithmetic and logic unit, control unit

    and working registers.

    A microprocessor is a dependant unit and it

    requires combination of other hardware likememory, timer unit, and interrupt controllerect.For proper functioning.

  • 7/31/2019 Core of emb-sys

    6/52

    Microprocessors

    Different instruction set and systemarchitecture are available for the design of amicroprocessor.

    Harvard and von-neumann are two commonarchitectures for processor design.

    Processors based on harvard architecture containsseprate buses for program memory and datamemory, whereas processors based on Von-Neumann architecture shares a single system busfor program and data memory

  • 7/31/2019 Core of emb-sys

    7/52

    Microprocessors

    Reduced Instruction Set Computing(RISC) and

    Complex Instruction Set Computing(CISC)are

    two common Instruction Set Architectures

    (ISA) available for processor design.

  • 7/31/2019 Core of emb-sys

    8/52

    General Purpose Procesor (GPP)vs. Application

    Specific Instruction Set Processor

    A GPP is designed for general computationaltasks. They are produced in large volumes andper unit cost for a chip is low compared to

    ASIC or other Ics. On other hand ASIPs have architecture and

    instruction set optimized to specificdomain/application requirement like networkprocessing, automotive, telecom, digital signalprocessing and control applications.

  • 7/31/2019 Core of emb-sys

    9/52

    Microcontrollers

    A microcontroller is a highly integrated chip

    that contains a CPU, a scratch pad RAM,

    special & general purpose register arrays, on

    chip ROM/FLASH memory for program

    storage, timer and interrupt control units and

    dedicated I/O ports.

    It can be considered as a super set ofmicriprocessor.

  • 7/31/2019 Core of emb-sys

    10/52

    Microcontrollers

    Microcontrollers found greater place in

    embedded domain since they contain all

    necessary functional blocks for independent

    working.

    They are cheap, cost effective and are readily

    available in market.

  • 7/31/2019 Core of emb-sys

    11/52

  • 7/31/2019 Core of emb-sys

    12/52

    Microprocessor vs. Microcontroller

    Microprocessor

    A silicon chip representing acentral processing unit, which iscapable of performing arithmetic

    as well as logical operationsaccording to a predefined set ofinstructions.

    It is a dependant unit. It requiresthe combination of other chipslike timers, program & data

    memory chips, interruptcontrollers etc for functioning.

    Most of the time general purposein design and operation.

    Microcontroller

    It is a highly integrated chip thatcontains a CPU, scratchpad RAM,special & general purpose register

    arrays, on chip ROM, Flashmemory for program storage,timer & interrupt control unitsand dedicated I/O ports.

    It is a self contained unit & it doesnot require external interrupt

    controller, timer, UART etc for itsfunctioning.

    Mostly application-oriented ordomain specific.

  • 7/31/2019 Core of emb-sys

    13/52

    Microprocessor vs. Microcontroller

    Microprocessor

    Doesnt contain a built in I/O

    port. The I/O port functionality

    needs to be implemented with

    the help of a external

    programmable peripheral

    interface chip like 8255.

    Targeted for high end market

    where performance isimportant.

    Limited power saving options

    compared to microcontrollers.

    Microcontroller

    Most of the processors contain

    multiple built-in I/O ports

    which can be operated as a

    single 8 or 16 0r 32 bit port or

    as individual port pins.

    Targeted for embedded

    market where performance is

    not so critical(At present thisdemarcation is not valid).

    Includes lot of power saving

    features.

  • 7/31/2019 Core of emb-sys

    14/52

  • 7/31/2019 Core of emb-sys

    15/52

    Digital Signal Processors

    DSPs implement algorithms in hardware whichspeeds up the execution where as generalpurpose processors implement the algorithm

    in firmware and speed of execution dependson clock for the processors.

    In general DSP can be viewed as a micrichipdesigned for performing high speedcomputational operations for addition,subtraction, multiplication & division.

  • 7/31/2019 Core of emb-sys

    16/52

    Key Units of a DSP

    Program memory Memory for storing the program required by DSP to

    process the data.

    Data Memory

    Working memory for storing temporary variables anddata/signal to be processed.

    Computational Engine Performs the signal processing in accordance with the

    stored program memory. Computational engine

    incorporates many specialized arithmetic units and each ofthem operates simultaneously to increase the executionspeed. It also incorporates multiple hardware shifters forshifting operands and thereby saves execution time.

  • 7/31/2019 Core of emb-sys

    17/52

  • 7/31/2019 Core of emb-sys

    18/52

    RISC vs. CISC Processors/Controllers

    The term RISC stands for Reduced Instruction

    Set computing.

    All RISC processors/controllers posses lesser

    number of instructions in the range of 30 to

    40.

    CISC stands for Complex Instruction Set

    Computing. Its instruction set is complex and

    instructions are high in number.

  • 7/31/2019 Core of emb-sys

    19/52

    RISC vs. CISC Processors/Controllers

    From a programmer point of view RISC

    processors are comfortable because he/she

    needs to learn only few instructions where as

    in CISC processor more instructions arerequired to be learnt and should understand

    the context of usage of each instruction.

  • 7/31/2019 Core of emb-sys

    20/52

    RISC vs CISC

    RISC

    Lesser number of instructions.

    Instruction pipelining andincreased execution speed.

    Orthogonal instruction set (allows each instruction tooperate on any register anduse any addressing mode).

    Operations are performed onregisters only, the onlymemory operations are loadand store.

    CISC

    Greater no of instructions.

    No instruction pipeliningfeature.

    Non-orthogonal instruction set(all instructions are notallowed to operate on anyregister and use anyaddressingmode. It is instruction

    specific).

    Operations are performed onregisters or memorydepending on the instruction.

  • 7/31/2019 Core of emb-sys

    21/52

    RISC vs. CISC

    RISC

    A large number of registers areavaiable.

    Programmer needs to write

    more code to execute a tasksince the istructions aresimpler ones.

    Single, fixed lengthinstructions.

    Less silicon usage and pincount.

    With havard architecture.

    CISC Limited number of general purpose

    registers.

    Instructions are like macros in clanguage.

    A programmer can acheive the desiredfunctionality with a single instructionwhich in turn provides the effect ofusing more simpler single instructionsin RISC.

    Variable length instructions

    More silicon usage since more

    additional decoder logic is required toimplement the complex instructiondecoding.

    Can be harvard or von-neumanarchitecture.

  • 7/31/2019 Core of emb-sys

    22/52

    Harvard vs. Von-Neuman

    Processor/Controller Architecture The terms harvard and von-neuman refers to the processor

    architecture design.

    Microprocessors/controllers based on the Von-Neumanarchitecture share a single common single bus for fetchingboth instructions and data.

    Program instructions and data are stored in a commonmain memory.

    Von-Neuman based processors/controllers first fetch aninstruction and then fetch the data to support the

    instruction fron code memory which slows down thecontrollers operation.

    It is also known as Princeton architecture, since it wasdeveloped by the Princeton University.

  • 7/31/2019 Core of emb-sys

    23/52

    Harvard vs. Von-Neuman

    Processor/Controller Architecture Microprocessors/controllers based on the Harvard

    architecture will have separate data bus and instruction buswhich allows the data transfer and program fetching tooccur simultaneously on both buses.

    With harvard architecture, the data memory can be readand written while the program memory is being accessed.

    These separated data memory and code memory busesallow one instruction to execute while the next instructionis fetched (pre-fetching).

    The pre fetching theoretically allows much faster execution thanvon-neuman architecture.

    Since some additional hardware logic is required for thegeneration of control signals for this type of operation it addssilicon complexity to the system.

  • 7/31/2019 Core of emb-sys

    24/52

    Harvard vs. Von-Neuman Architecture

    I/O CPU Memory

    ProgramMemory

    CPU Data MemorySingle Shared Bus

  • 7/31/2019 Core of emb-sys

    25/52

    Harvard vs. Von-Neuman Architecture

    Harvard Architecture

    Separate buses for instructionand data fetching.

    Easier to pipeline, so high

    performance can be achieved . Comparatively high cost.

    No memory alignmentproblems.

    Since data memory and

    program memory are storedphysically in differentlocations, no chances foraccidental corruption ofprogram memory.

    Von-Neuman Architechture

    Single shared bus forinstruction and data fetching.

    Low performance compared to

    harvard architecture. Cheaper.

    Allows self modifying codes.

    Since data memory andprogram memory are stored

    physically in the same chip,chances for accidentalcorruption of programmemory.

  • 7/31/2019 Core of emb-sys

    26/52

    Big-Endian vs. Little Endian

    Processors/Controllers

    Endianness specifies the order in which the datais stored in the memory by processor operationsin a multibyte system(processors whose word sizeis greater than one byte). Suppose the word

    length is two byte then data can be stored inmemory in two different ways: Higher order of data byte at the higher memory and

    lower order of data byte at location just below thehigher memory.

    Lower order of data byte at the higher memory andhigher order of data byte at location just below thehigher memory.

  • 7/31/2019 Core of emb-sys

    27/52

    Little endian

    Following figure means the lower order byteof

    the data is stored in memory at the lower

    address and higher order byte at the highest

    address. (The little end comes first).Forexample, a 4 byte long integer Byte3 Byte2

    Byte1 Byte0 will be stored in the memory as

    shown below:

  • 7/31/2019 Core of emb-sys

    28/52

    little-endian

    Byte0

    Byte1

    Byte2

    Byte3

    Base Address+0 Byte 0

    Base Address+1 Byte 1

    Base Address+2 Byte2

    Base Address+3 Byte 3

    0x20000 (Base Address)

    0x20001 (Base Address +1)

    0X20002 (Base Address +2)

    Ox20003 (Base Address +3)

  • 7/31/2019 Core of emb-sys

    29/52

    Big-endian

    Means the higher order byte of the data is

    stored in memory at the lowest address and

    the lower-order byte at the highest address.

    (The big end comes first.) For example, a 4byte long integer Byte3 byte2 Byte1 Byte0 will

    be stored in the memory as follows:

  • 7/31/2019 Core of emb-sys

    30/52

    Big-endian

    Byte3

    Byte2

    Byte1

    Byte0

    Base Address+0 Byte 3

    Base Address+1 Byte 2

    Base Address+2 Byte1

    Base Address+3 Byte 0

    0x20000 (Base Address)

    0x20001 (Base Address +1)

    0X20002 (Base Address +2)

    Ox20003 (Base Address +3)

  • 7/31/2019 Core of emb-sys

    31/52

    Application Specific Integrated Circuit

    Application Specific Integrated (ASIC) is amicrochip designed to perform a specific orunique application.

    It is used as replacement to conventionalgeneral purpose logic chips.

    It integrates several functions into a single

    chip and thereby reduces the systemdevelopment cost.

    Most of the ASICs are proprietary products.

  • 7/31/2019 Core of emb-sys

    32/52

    Application Specific Integrated Circuit

    As a single chip ASIC consumes a very small area in the totalsystem and thereby helps in design of smaller systems withhigh capabilities/functionalities.

    ASIcs can be pre fabricated for a special application or itcan be custom fabricated by using the components from areusable building block library of components for aparticular customer application.

    ASIC based systems are profitable only for large volumecommercial productions.

    Fabrication of ASICs requires a non-refundable initialinvestment for the process technology and configurationexpenses. This investment is known as NRE and it is onetime investement.

  • 7/31/2019 Core of emb-sys

    33/52

    Application Specific Integrated Circuit

    If non-recurring engineering charges is borneby a third party and the application SpecificIntegrated Circuit(ASIC) is made openly

    available in the market, the ASIC is referred asApplication Specific Standard Product (ASSP).

    The ASSP is marketed to multiple customersjust as a general purpose product is, but to a

    smaller number of customers since it is for aspecific application.

  • 7/31/2019 Core of emb-sys

    34/52

    Application Specific Integrated Circuit

    Since ASICs are proprietary products, thedevelopers of such chips may not beinterested in revealing the internal details of it

    and hence it is very difficult to point out anexample of it.

    Moreover it will create legal disputes if anillustration of such an ASIC product is given

    without getting prior permission from themanufacturer of the ASIC.

  • 7/31/2019 Core of emb-sys

    35/52

    Programmable Logic Devices

    Logic devices provide specific functions, including

    device to device interfacing, data communication,

    signal processing, data display, timing and control

    operations, and almost every other function asystem must perform.

    Logic devices can be classified into two broad

    categories: Fixed

    Programmable

  • 7/31/2019 Core of emb-sys

    36/52

    Programmable Logic Devices

    As the name indicates, the circuit in a fixed logicdevice are permanent, they perform one functionor set of functionsonce manufactured, theycannot be changed.

    On the other hand programmable logicdevices(PLDs)offer customer a wide range of logiccapacity, features, speed, and voltage

    characteristics- and these devices can bereconfigured to perform any number of functionsat any time.

  • 7/31/2019 Core of emb-sys

    37/52

    Programmable Logic Devices

    With programmable logic devices, designers useinexpensive software tools to quickly develop,simulate and test their design. Then a design canbe quickly programmed into a device,immediately tested in a live circuit.

    The PLD that is used for this programming is exactsame PLD that will be used in the final production

    of a piece of end equipment, such as a networkrouter, DSL modem, a DVD player or anautomotive navigation system.

  • 7/31/2019 Core of emb-sys

    38/52

    Programmable Logic Devices

    ryThere are no NRE costs and the final design is completedmuch faster than that of a custom, fixed logic device.

    Another key benefit of using PLDs is that during the designphase customers can change the circuitary as often as theywant until the design operates to their satisfaction.

    It is because PLDs are based on re-writeable memorytechnology- to change the design, the device is simplyrepeogrammed.

    Once the design is final the customers can go into

    immediate production by simply programming as manyPLDs as they need with final software design file.

  • 7/31/2019 Core of emb-sys

    39/52

    CPLDs and FPGAs

    Programmable logic devices are of two types Field Programmable Gate Arrays(FPGAs)

    Cmplex Programmable Logic Devices(CPLDs)

    FPGAs offer highest amount of logic density.

    The largest FPGGA provides 8 million system gates. They also have built-in hardwired processors,

    substantial amount of memory, clock managementsystems,and support for lates very fast device to device

    signaling technologies. FPGAs are used in applications as data processing,

    instrumentation, telecommunication and digital signalprocessing.

  • 7/31/2019 Core of emb-sys

    40/52

    CPLDs and FPGAs

    CPLDs offer much smaller amounts of logic-

    about 10,000 gates

    They offer very predictable timing characteristics

    and are therefore ideal for critical controlapplications.

    They require low amounts of power and are very

    inexpensive making them ideal for cost sensitive,battery operated, portable applications such as

    mobile phones and digital hand held assistants.

  • 7/31/2019 Core of emb-sys

    41/52

    Advantages of PLDs

    Programmable logic devices offer number ofadvantages over fixed logic devices: They offer much more flexibility during the design cycle

    because design iterations are simply a matter of changingthe programming file and the result of design changes canbe seen immediately in working parts.

    They do not require long lead time for prototypes orproduction parts-the PLDs are already on a distributorsshelf ready for shipment.

    They do not require customer to pay for large NRE costsand purchase expensive mask setsPLd supplier incurrthose costs when they design their programmable devicesand are able to amortize those costs over the multi-yearlifespan of a given line of PLDs.

  • 7/31/2019 Core of emb-sys

    42/52

    Advantages of PLDs

    PLDs allow customers to order just the number of

    parts they need, when they need them, allowing

    them to control inventory. Customers who use

    fixed logic devices often end up with excessinventory which must be scrapped or if demand

    for their producr surges, they may be caught

    short of parts and face production delays.

    PLDs can be reprogramme even after a piece of

    equipment is shipped to a customer.

  • 7/31/2019 Core of emb-sys

    43/52

    Commercial Off-the-Shelf Components

    (COTS)

    A commercial off-the-shelf product is thatwhich is used as-is.

    COTS products are designed in such a way to

    provide easy integration and interoperabilitywith existing system components.

    The COTS component itself may be developedaround a general purpose or domain specificprocessor or an application specific Integratedcircuit or a programmable logic device.

  • 7/31/2019 Core of emb-sys

    44/52

    Commercial Off-the-Shelf Components

    (COTS)

    Typical examples of COTS hardware units are

    remote controlled toy car control units

    including the RF circuitory part, high

    performance, high frequency microwaveelectronics (2-200GHz), high bandwidth

    analog to digital convertor, devices and

    components for operation at very hightemperatures, electro-optic IR imaging arrays

    UV/IR detectors etc.

    ff f

  • 7/31/2019 Core of emb-sys

    45/52

    Commercial Off-the-Shelf Components

    (COTS)

    The major advantage of using COTS is that they

    are readily available in the market, are cheap and

    a developer can cut down his development time

    to a great extent, which in turn reduces the timeto market embedded systems.

    Though multiple vendors supply COTS for the

    same application, the major problems faced byend user is that there are no operational and

    manufacturing standards.

    l ff h h lf

  • 7/31/2019 Core of emb-sys

    46/52

    Commercial Off-the-Shelf Components

    (COTS)

    A commercial off the shelf component

    manufactured by a vendor need not have

    hardware plug-in and firmware interface

    compatibility with one manufactured by asecond vendor for the same application.

    This restricts the end user to stick to a

    particular vendor for a particular COTS. Thisgreatly affects the product design.

    i l ff h h lf

  • 7/31/2019 Core of emb-sys

    47/52

    Commercial Off-the-Shelf Components

    (COTS)

    The major drawback of using COTS

    components in embedded design is that the

    manufacturer of the COTS component may

    withdraw the product or discontinue theproduction of COTS at any time if a rapid

    change in technology occurs and this will

    adversely affect a commercial manufacturer ofthe embedded system which makes use of the

    specific COTS product.

  • 7/31/2019 Core of emb-sys

    48/52

  • 7/31/2019 Core of emb-sys

    49/52

  • 7/31/2019 Core of emb-sys

    50/52

  • 7/31/2019 Core of emb-sys

    51/52

  • 7/31/2019 Core of emb-sys

    52/52