ppt by yaofenjin


									Embedded Systems Reading Group

             Tulika Mitra
   Department of Computer Science

   To learn the state-of-the-art in embedded
    systems research
   Provide interaction among people interested
    in this exciting emerging area
   For graduate students:
       How to perform effective literature survey
       Presentation skills
       How to participate in small group discussions

Computing Systems

   Most of us think of desktop computers
       PC
       Laptop
       Mainframe
       Server
   Maybe at most handheld computer (PDA)
   Now we will look at another type of
    computing system which is far more common
    that you ever imagined 

Embedded System: What ?

   Computing system embedded within
    electronic devices
   Any device or collection of devices that
    contain one of more dedicated computers,
    microprocessors, or micro-controllers
   Combination of computer hardware and
    software designed to perform a specific
   Broad definition: Any computing system that
    is not a desktop computer

Embedded System: Examples

Embedded System Types

   General purpose computing
   Control systems
   Signal processing
   Communication & Networking

Embedded System Market

   Average household uses about 225
    embedded processors; about 35 for the
    automobile itself
   Estimated 5 billion embedded processor in
    use --- 94% share of world market; Intel
    Pentium, Motorola PowerPC, etc. combined is
    only 6%
    [source: World Semiconductor Trade Statistics Bluebook]

Embedded systems characteristics:
User’s viewpoint

   Single function
       Dedicated to a task or tasks
   Tight constraints
       Size, power, cost, time-to-market
   Real time and reactive
       Respond to environment in real time
   Safety critical
       Failure of hw/sw can be life threatening

Embedded system’s characteristics:
Developer’s viewpoint

   Concurrent development of hardware and software:
    hardware/software codesign
   Variety of microprocessors
   Variety of operating systems mostly real time (RTOS)
       May not even have any OS services like ‘printf’
   Fewer system resources than desktop system
   Requires specialized development tools
   Debugging extremely difficult
   Hardware and software should be extremely robust

              A typical embedded system
                             Minimally Requirement for an Embedded System

                       NMI                               Address Bus

                                                     Data Bus
                               Microprocessor                                       Peripheral
                                                   Status Bus

                                                            Glue Logic and
                                                            Address Decode

                      Clock Generation                                                To Outside World
                      and Distribution

                        Random Access                                             I/O Interface
                        Memory - RAM                                          ( D/A, A/D, Digital )

                            Read Only
                           Memory - ROM
                             ( FLASH )

                      Watchdog Timer                        Real Time Clock           To outside world
                                                                                      To other devices
                                                                                      To host Computer
                                                                                      To User I/F

Source: Arnold S. Berger                                                                                 10
                                  Elements of an embedded system
                                                              Key Point: Although vastly different in complexity and design, common
               To Outside World    Peripheral Bus             architectural traits allow us to design and debug a wide variety of systems

                                          DEBUG Port
                                                                      Non-volatile memory             Custom Devices
                                                                      • EPROM, FLASH, DISK            • ASIC
                                                                      • Hybrid                        • FPGA
                                                                                                      • PAL
                                  • 4, 8, 16, 32, 4 bit bus
                                  • CISC, RISC, DSP                                                  Standard Devices
                                  • Integrated peripherals            Volatile Memory
                                  • Debug/Test Port                                                  • I/O Ports
                                                                      • DRAM, SRAM                   • Peripheral Controllers
                                  • Caches
                                                                      • Hybrid
                                  • Pipeline
                                  • Multiprocessing Systems
                                                                                                     Communication Devices
                                                                                                     • Ethernet
                                                                                                     • RS-232
                                                                                                     • SCSI
                                                                                                     • Centronics
                                                                      System Clocks                  • Proprietary
                                                                      • RTC circuitry
                        Software                                      • System clocks
                        • Application Code                            • Integrated in uC
                        • Driver Code / BIOS                          • Imported/Exported                 Microprocessor Bus
                        • Real Time Operating System                                                      • Custom
                        • User Interface                                                                  • PCI
                        • Communications Protocol Stacks                                                  • VME
                        • C, C++, Assembly Language, ADA                                                  • PC-102
                        • Legacy Code

Source: Arnold S. Berger                                                                                                         11
        Design Choices

        Technology   Performance/   Time until   Time to high   Time to change code
                     Cost           running      performance    functionality

        ASIC         Very High      Very Long Very Long         Impossible

        FPGA         Medium         Medium       Long           Medium

        ASIP/        High           Long         Long           Long
        Generic      Low-Medium Very             Not            Very Short
                                Short            Attainable

                Driving Factor
                   Moore’s Law
                       Predicted by Intel co-founder Gordon Moore ’65
                       IC transistor capacity has doubled roughly every
                        18 months for the past several decades
                         •   Process technology can put more and more functionality
                             on the same chip as CPU at reduced cost

Source: Intel                                                                    13
                System-on-a-chip (SOC)
                   A microprocessor plus additional peripheral
                    support devices integrated into a single chip
                   Example: Intel StrongARM

Source: Intel                                                   14
             Liming Factor

                 Design productivity gap
                     Growing design gap between what technology can
                      offer and our ability to design in that technology

Source: ITRS’99                                                      15
Core based SOC design

   Intellectual Property (IP) circuits or cores are
    pre-designed and pre-verified functional units
   IP s are reusable implying lower design cost
   Core examples:
       Processors: ARM, PowerPC, ..
       Memory: RAM, memory controller, …
       Peripherals: PCI, DMA controller, …
       Multimedia: MPEG/JPEG encoder/decoder…
       Digital Signal Processor (DSP)
       Telecommunication: Ethernet controller, router, ..

              Hardware/Software Co-design
      In the past:                                              Sequential program code (e.g., C, VHDL)

           Hardware and software                           Compilers
                                                                                                Behavioral synthesis
            design technologies were                      (1960's,1970's)

            very different
                                                                                                  Register transfers
                                                         Assembly instructions                      RT synthesis

      At present                                         Assemblers, linkers
                                                                                                  (1980's, 1990's)

                                                           (1950's, 1960's)                 Logic equations / FSM's
           Recently matured                                                                       Logic synthesis
            synthesis technique                           Machine instructions                     (1970's, 1980's)

            enables a unified view of                                                                Logic gates

            hardware and software
                                                      Microprocessor plus                     VLSI, ASIC, or PLD
                                                    program bits: “software”              implementation: “hardware”

    The choice of hardware versus software for a particular function is simply a tradeoff among various
    design metrics, like performance, power, size, cost, and especially flexibility; there is no fundamental
                        difference between what hardware or software can implement.

Source: Vahid/Givargis                                                                                                 17
Embedded Systems Faculty

   Tulika Mitra
       Computer architecture, real time systems
   Abhik Roychoudhury
       Modeling, validation of embedded & real-time sys
   P. S. Thiagarajan
       Specification, verification, synthesis
   Wong Weng Fai
       Compilers, computer architecture

Our research

   Formal specification, verification and
    synthesis methods
   Compilers and Architectures for
    Embedded Systems
   Real time systems
   Power Aware Computing
   http://www.comp.nus.edu.sg/~embsys

Reading group topics

   Case Study
   Specification
   Verification
   Custom processors
   Re-configurable logic
   Design space exploration
   Real time systems
   Low power
   Code compression
   Code generation
   Memory optimization


   Each week one of you will be responsible for
    a topic or a sub-topic
   Please prepare one page summary about the
    topic including the references
   Presentation can be in any format
   You will lead the discussions through your
   Others should read the references before or
    after the presentation (preferably before)


To top