An introduction to embedded systems design
|
|
- Aron Logan
- 7 years ago
- Views:
Transcription
1 Outline An introduction to embedded systems design Matthias Grünewald. Introduction to embedded systems 2. Design metrics 3. Embedded system technologies 4. Design processes 5. Computation models and languages 6. Design technologies 7. Summary 2 References Embedded systems overview Embedded System Design: A Unified Hardware/Software Introduction Frank Vahid and Tony Givargis, John Wiley & Sons, 2002 Slides are mainly based on the lecture slides available at the book homepage ( Draft version online available at: Further references: J. Teich. Digitale Hardware/Software-Systeme Springer, 997. ISBN Vorlesung Eingebettete Systeme, Bernd Kleinjohann und Lisa Kleinjohann, C-LAB, Fürstenallee, Raum FU.24, Tel oder 60602, bernd@c-lab.de lisa@c-lab.de Embedded Systems Internet Resources: Embedded computing systems Computing systems embedded Computers are in here... within electronic devices and here... Hard to define. Nearly any computing system other than a desktop and even here... computer Billions of units produced yearly, versus millions of desktop units Perhaps 50 per household and per automobile Lots more of these, though they cost a lot less each. 3 4 A short list of embedded systems Some common characteristics of embedded systems And the list goes on and on Anti-lock brakes Modems Auto-focus cameras MPEG decoders Automatic teller machines Network cards Automatic toll systems Network switches/routers Automatic transmission On-board navigation Avionic systems Pagers Battery chargers Photocopiers Camcorders Point-of-sale systems Cell phones Portable video games Cell-phone base stations Printers Cordless phones Satellite phones Cruise control Scanners Curbside check-in systems Smart ovens/dishwashers Digital cameras Speech recognizers Disk drives Stereo systems Electronic card readers Teleconferencing systems Electronic instruments Televisions Electronic toys/games Temperature controllers Factory control Theft tracking systems Fax machines TV set-top boxes Fingerprint identifiers VCR s, DVD players Home security systems Video game consoles Life -support systems Video phones Medical testing systems Washers and dryers Single-functioned Executes a single program, repeatedly Tightly-constrained Low cost, low power, small, fast, etc. Reactive and real-time Continually reacts to changes in the system s environment Must compute certain results in real-time without delay 5 6
2 7 An embedded system example -- a digital camera Design challenge optimizing design metrics lens CCD Digital camera chip CCD preprocessor Pixel coprocessor D2A A2D JPEG codec Microcontroller Multiplier/Accum DMA controller Display ctrl Memory controller ISA bus interface UART LCD ctrl Obvious design goal: Construct an implementation with desired functionality Key design challenge: Simultaneously optimize numerous design metrics Design metric A measurable feature of a system s implementation Optimizing design metrics is a key challenge Single-functioned -- always a digital camera Tightly-constrained -- Low cost, low power, small, fast Reactive and real-time -- only to a small extent 8 Design challenge optimizing design metrics Design challenge optimizing design metrics Common metrics Unit cost: the monetary cost of manufacturing each copy of the system, excluding NRE cost NRE cost (Non-Recurring Engineering cost): The one-time monetary cost of designing the system Size: the physical space required by the system Performance: the execution time or throughput of the system Power: the amount of power consumed by the system Flexibility: the ability to change the functionality of the system without incurring heavy NRE cost Common metrics (continued) Time-to-prototype: the time needed to build a working version of the system Time-to-market: the time required to develop a system to the point that it can be released and sold to customers Maintainability: the ability to modify the system after its initial release Correctness, safety, many more 9 0 Design metric competition -- improving one may worsen others lens CCD Performance Digital camera chip A2D JPEG codec DMA controller CCD preprocessor Power NRE cost Microcontroller Pixel coprocessor Size D2A Multiplier/Accum Display ctrl Memory controller ISA bus interface UART LCD ctrl Expertise with both software and hardware is needed to optimize design metrics Not just a hardware or software expert, as is common A designer must be comfortable with various technologies in order to choose the best for a given application and constraints Hardware Software The performance design metric Widely-used measure of system, widely-abused Clock frequency, instructions per second not good measures Digital camera example a user cares about how fast it processes images, not clock speed or instructions per second Latency (response time) Time between task start and end e.g., Camera s A and B process images in 0.25 seconds Throughput Tasks per second, e.g. Camera A processes 4 images per second Throughput can be more than latency seems to imply due to concurrency, e.g. Camera B may process 8 images per second (by capturing a new image while previous image is being stored). Speedup of B over S = B s performance / A s performance Throughput speedup = 8/4 = 2 2
3 3 Moore s law Design productivity gap The most important trend in embedded systems Predicted in 965 by Intel co-founder Gordon Moore IC transistor capacity has doubled roughly every 8 months for the past several decades Logic transistors per chip (in millions) 0,000, Note: 0.0 logarithmic scale 0.00 While designer productivity has grown at an impressive rate over the past decades, the rate of improvement has not kept pace with chip capacity Logic transistors per chip (in millions) 0,000, IC capacity productivity Gap ,000 0, Productivity (K) Trans./Staff-Mo Design process model Waterfall method Describes order that design steps are processed Behavior description step Behavior to structure conversion step Mapping structure to physical implementation step Waterfall model Proceed to next step only after current step completed Spiral model Proceed through 3 steps in order but with less detail Repeat 3 steps gradually increasing detail Keep repeating until desired system obtained Becoming extremely popular (hardware & software development) Waterfall design model Spiral design model Not very realistic Bugs often found in later steps that must be fixed in earlier step E.g., forgot to handle certain input condition Prototype often needed to know complete desired behavior E.g, customer adds features after product demo System specifications commonly change E.g., to remain competitive by reducing power, size Certain features dropped Unexpected iterations back through 3 steps cause missed deadlines Lost revenues May never make it to market Waterfall design model 5 6 Spiral method First iteration of 3 steps incomplete Much faster, though End up with prototype Use to test basic functions Get idea of functions to add/remove Original iteration experience helps in following iterations of 3 steps Must come up with ways to obtain structure and physical implementations quickly E.g., FPGAs for prototype silicon for final product May have to use more tools Extra effort/cost Could require more time than waterfall method If correct implementation first time with waterfall Spiral design model Modelling embedded systems Describing embedded system s processing behavior Can be extremely difficult Complexity increasing with increasing IC capacity Past: washing machines, small games, etc. Hundreds of lines of code Today: TV set-top boxes, Cell phone, etc. Hundreds of thousands of lines of code Desired behavior often not fully understood in beginning Many implementation bugs due to description mistakes/omissions English (or other natural language) common starting point Precise description difficult to impossible Example: Motor Vehicle Code thousands of pages long
4 9 Models and languages How can we (precisely) capture behavior? We may think of languages (C, C++), but computation model is the key Common computation models: Sequential program model Statements, rules for composing statements, semantics for executing them Communicating process model Multiple sequential programs running concurrently State machine model For control dominated systems, monitors control inputs, sets control outputs Dataflow model For data dominated systems, transforms input data streams into output streams Object-oriented model For breaking complex software into simpler, well-defined pieces Models vs. languages Models Languages Poetry Recipe Story State Sequent. machine program English Spanish Japanese Recipes vs. English Computation models describe system behavior Conceptual notion, e.g., recipe, sequential program Languages capture models Concrete form, e.g., English, C Variety of languages can capture one model E.g., sequential program model C,C++, Java One language can capture variety of models E.g., C++? sequential program model, object-oriented model, state machine model Certain languages better at capturing certain computation models C C++ Dataflow Java Sequential programs vs. C 20 Finite-state machine (FSM) model Concurrent process model u,d,o, t =,0,0,0 u,d,o,t = 0,0,,0 req == floor u,d,o,t = 0,,0,0 UnitControl process using a state machine req > floor GoingUp!(req > floor) req > floor timer < 0!(timer < 0) Idle DoorOpen u,d,o,t = 0,0,, req < floor!(req<floor) GoingDn u is up, d is down, o is open req < floor t is timer_start ConcurrentProcessExample() { x = ReadX() y = ReadY() Call concurrently: PrintHelloWorld(x) and PrintHowAreYou(y) PrintHelloWorld(x) { while( ) { print "Hello world." delay(x); PrintHowAreYou(x) { while( ) { print "How are you?" delay(y); Simple concurrent process example Describes functionality of system in terms of two or more concurrently executing subtasks Many systems easier to describe with concurrent process model because inherently multitasking E.g., simple example: Read two numbers X and Y Display Hello world. every X seconds Display How are you? every Y seconds More effort would be required with sequential program or state machine model ReadX ReadY PrintHelloWorld PrintHowAreYou time Enter X: Enter Y: 2 Hello world. (Time = s) Hello world. (Time = 2 s) How are you? (Time = 2 s) Hello world. (Time = 3 s) How are you? (Time = 4 s) Hello world. (Time = 4 s)... Subroutine execution over time Sample input and output 2 22 Dataflow model Role of appropriate model and language Derivative of concurrent process model Nodes represent transformations May execute concurrently Edges represent flow of tokens (data) from one node to another May or may not have token at any given time When all of node s input edges have at least one token, node may fire When node fires, it consumes input tokens processes transformation and generates output token Nodes may fire simultaneously Several commercial tools support graphical languages for capture of dataflow model Can automatically translate to concurrent process model for implementation Each node becomes a process Z = (A + B) * (C - D) A B C D + t t2 * Z Nodes with arithmetic transformations A B C D modulate convolve t t2 transform Z Nodes with more complex transformations Finding appropriate model to capture embedded system is an important step Model shapes the way we think of the system Originally thought of sequence of actions, wrote sequential program First wait for requested floor to differ from target floor Then, we close the door Then, we move up or down to the desired floor Then, we open the door Then, we repeat this sequence To create state machine, we thought in terms of states and transitions among states When system must react to changing inputs, state machine might be best model Language should capture model easily Ideally should have features that directly capture constructs of model Other factors may force choice of different model Structured techniques can be used instead E.g., Template for state machine capture in sequential program language 23 24
5 25 Concurrent processes Mapping of system s functionality onto hardware processors: captured using computational model(s) written in some language(s) choice independent from language(s) choice choice based on power, size, performance, timing and cost requirements Final implementation tested for feasibility Also serves as blueprint/prototype for mass manufacturing of final product State machine Sequent. program Dataflow Concurrent processes Pascal C/C++ Java VHDL A B C The choice of computational model(s) is based on whether it allows the designer to describe the system. The choice of language(s) is based on whether it captures the computational model(s) used by the designer. The choice of implementation is based on whether it meets power, size, performance and cost requirements. Consider two examples having separate tasks running independently but sharing data Difficult to write system using sequential program model Concurrent process model easier Separate sequential programs (processes) for each task Programs communicate with each other B[..4] Heart-beat pulse Input Signal Heartbeat Monitoring System Task : Task 2: Read pulse If B/B2 pressed then If pulse < Lo then Lo = Lo +/ Activate Siren If B3/B4 pressed then If pulse > Hi then Hi = Hi +/ Activate Siren Sleep 500 ms Sleep second Repeat Repeat Set-top Box Task : Task 2: Read Signal Wait on Task Separate Audio/Video Decode/output Audio Send Audio to Task 2 Repeat Send Video to Task 3 Repeat Task 3: Wait on Task Decode/output Video Repeat Video Audio 26 Communication among processes Concurrent process model: implementation Processes need to communicate data and signals to solve their computation problem Processes that don t communicate are just independent programs solving separate problems Basic example: producer/consumer Process A produces data items, Process B consumes them E.g., A decodes video packets, B display decoded packets on a screen How do we achieve this communication? Two basic methods Shared memory Message passing Important mechanisms: Mutual exclusion, Synchronization => Deadlocks! processa() { // Decode packet // Communicate packet to B Encoded video packets Decoded video packets void processb() { // Get packet from A // Display packet To display Can use single and/or general-purpose processors (a) Multiple processors, each executing one process True multitasking (parallel processing) General-purpose processors Use programming language like C and compile to instructions of processor Expensive and in most cases not necessary Custom single-purpose processors More common (b) One general-purpose processor running all processes Most processes don t use 00% of processor time Can share processor time and still achieve necessary execution rates (c) Combination of (a) and (b) Multiple processes run on one general-purpose processor while one or more processes run on own single_purpose processor (a) (b) (c) Process Process2 Process3 Process4 Process Process2 Process3 Process4 Process Process2 Process3 Process4 Processor A Processor B Processor C Processor D General Purpose Processor Processor A General Purpose Processor Communication Bus Communication Bus Three key embedded system technologies Technology A manner of accomplishing a task, especially using technical processes, methods, or knowledge Three key technologies for embedded systems Processor technology IC technology Design technology Processor technology The architecture of the computation engine used to implement a system s desired functionality Processor does not have to be programmable Processor not equal to general-purpose processor Controller Control logic and State register IR PC Datapath Register file General ALU Controller Control logic and State register IR PC Datapath Registers Custom ALU Controller Control logic State register Datapath index total + Data memory Data memory Program memory Assembly code for: Data memory Program memory Assembly code for: total = 0 for i = to General-purpose ( software ) total = 0 for i = to Application-specific Single-purpose ( hardware ) 29 30
6 3 IC technology The manner in which a digital (gate-level) implementation is mapped onto an IC IC: Integrated circuit, or chip IC technologies differ in their customization to a design IC s consist of numerous layers (perhaps 0 or more) IC technologies differ with respect to who builds each layer and when Types: Full-custom/VLSI, Semi-custom ASIC (gate array and standard cell), PLD (Programmable Logic Device) IC package IC source gate oxide channel drain Silicon substrate Design Technology The manner in which we convert our concept of desired system functionality into an implementation Compilation/Synthesis: Automates exploration and insertion of implementation details for lower level. Libraries/IP: Incorporates predesigned implementation from lower abstraction level into higher level. Test/Verification: Ensures correct functionality at each level, thus reducing costly iterations between levels. System specification specification RT specification Logic specification Compilation/ Synthesis System synthesis Behavior synthesis RT synthesis Logic synthesis To final implementation Libraries/ IP Hw/Sw/ OS Cores RT components Gates/ Cells Test/ Verification Model simulat./ checkers Hw-Sw cosimulators HDL simulators Gate simulators 32 The co-design ladder Independence of processor and IC technologies In the past: Hardware and software design technologies were very different Recent maturation of synthesis enables a unified view of hardware and software Hardware/software codesign Sequential program code (e.g., C, VHDL) Compilers (960's,970's) Assembly instructions Assemblers, linkers (950's, 960's) Machine instructions synthesis (990's) Register transfers RT synthesis (980's, 990's) Logic equations / FSM's Logic synthesis (970's, 980's) Logic gates 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, NRE cost, and especially flexibility; there is no fundamental difference between what hardware or software can implement. Basic tradeoff General vs. custom With respect to processor technology or IC technology The two technologies are independent General, providing improved: Flexibility Maintainability NRE cost Time- to-prototype Time-to-market Cost (low volume) Generalpurpose processor PLD ASIP Semi-custom Singlepurpose processor Full-custom Customized, providing improved: Power efficiency Performance Size Cost (high volume) Design technology Improving productivity Design task Define system functionality Convert functionality to physical implementation while Satisfying constrained metrics Optimizing other design metrics Designing embedded systems is hard Complex functionality Millions of possible environment scenarios Competing, tightly constrained metrics Productivity gap As low as 0 lines of code or 00 transistors produced per day Design technologies developed to improve productivity We focus on technologies advancing hardware/software unified view Automation Specification Automation Program replaces manual design Synthesis Reuse Verification Predesigned components Cores General-purpose and single-purpose processors on single IC Verification Ensuring correctness/completeness of each design step Hardware/software co-simulation Reuse 35 36
7 37 Automation: synthesis Gajski s Y-chart Early design mostly hardware Software complexity increased with advent of general-purpose processor Different techniques for software design and hardware design Caused division of the two fields Design tools evolve for higher levels of abstraction Different rate in each field Hardware/software design fields rejoining Both can start from behavioral description in sequential program model 30 years longer for hardware design to reach this step in the ladder Many more design dimensions Optimization critical The codesign ladder Sequential program code (e.g., C, VHDL) synthesis (990s) Compilers (960s,970s) Register transfers RT synthesis Assembly instructions (980s, 990s) Logic equations / FSM's Assemblers, linkers (950s, 960s) Logic synthesis (970s, 980s) Machine instructions Logic gates Microprocessor plus VLSI, ASIC, or PLD program bits implementation Each axis represents type of description Defines outputs as function of inputs Algorithms but no implementation Processors, memories Registers, FUs, MUXs Implements behavior by connecting components with known behavior Gates, flip-flops Transistors Gives size/locations of components and wires on chip/board Synthesis converts behavior at given level to structure at same level or lower E.g., FSM? gates, flip-flops (same level) FSM? transistors (lower level) FSM X registers, FUs (higher level) FSM X processors, memories (higher level) Behavior Sequential programs Register transfers Logic equations/fsm Transfer functions Cell Layout Modules Chips Boards 38 Verification Advantages over physical implementation Ensuring design is correct and complete Correct Implements specification accurately Complete Describes appropriate output to all relevant input Formal verification Hard For small designs or verifying certain key properties only Simulation Most common verification method Controllability Control time Stop/start simulation at any time Control data values Inputs or internal values Observability Examine system/environment values at any time Debugging Can stop simulation at any point and: Observe internal values Modify system/environment values before restarting Can step through small intervals (i.e., 500 nanoseconds) Disadvantages Simulation speed Simulation setup time Often has complex external environments Could spend more time modeling environment than system Models likely incomplete Some environment behavior undocumented if complex environment May not model behavior correctly Simulation speed much slower than actual execution Sequentializing parallel design IC: gates operate in parallel Simulation: analyze inputs, generate outputs for each gate at time Several programs added between simulated system and real hardware simulated operation: = 0 to 00 simulator operations = 00 to 0,000 operating system operations =,000 to 00,000 hardware operations Relative speeds of different types of simulation/emulation hour actual execution of SOC =.2 years instruction-set simulation = 0,000,000 hours gate-level simulation ,000,000, FPGA hardware emulation throughput model hour instruction-set simulation cycle-accurate simulation register-transfer-level HDL simulation 0,000,000 gate-level HDL simulation IC day 4 days.4 months.2 years 2 years > lifetime millennium 4 42
8 43 Emulators General physical device system mapped to Microprocessor emulator Microprocessor IC with some monitoring, control circuitry SPP emulator FPGAs (0s to 00s) Usually supports debugging tasks Created to help solve simulation disadvantages Mapped relatively quickly Hours, days Can be placed in real environment No environment setup time No incomplete environment Typically faster than simulation Hardware implementation Reuse: intellectual property cores Commercial off-the-shelf (COTS) components Predesigned, prepackaged ICs Implements GPP or SPP Reduces design/debug time Have always been available System-on-a-chip (SOC) All components of system implemented on single chip Made possible by increasing IC capacities Changing the way COTS components sold As intellectual property (IP) rather than actual IC, structural, or physical descriptions Processor-level components known as cores SOC built by integrating multiple descriptions 44 Summary Embedded systems are everywhere Key challenge: optimization of design metrics Design metrics compete with one another A unified view of hardware and software is necessary to improve productivity Three key technologies Processor: general-purpose, application-specific, single-purpose IC: Full-custom, semi-custom, PLD Design: Compilation/synthesis, libraries/ip, test/verification Computation models are distinct from languages Sequential program model is popular Most common languages like C support it directly Summary State machine models good for control Concurrent process model for multi-task systems Communication and synchronization methods exist Scheduling is critical Dataflow model good for signal processing Design technology seeks to reduce gap between IC capacity growth and designer productivity growth Synthesis has changed digital design Increased IC capacity means sw/hw components coexist on one chip Design paradigm shift to core-based design Simulation essential but hard Spiral design process is popular 45 46
Lecture 1. Introduction to Embedded Computer Systems
CENG 314 Lecture 1 Introduction to Embedded Computer Systems Asst. Prof. Tolga Ayav, Ph.D. Department of Computer Engineering System A system has a set of one or more inputs entering a black box and a
More informationIntroduction to HW/SW Co-Design of Embedded Systems
Introduction to HW/SW Co-Design of Embedded Systems Prof. Cristina SILVANO Politecnico di Milano Dipartimento di Elettronica e Informazione P.za L. Da Vinci 32, I-20133 Milano (Italy) Ph.: +39-02-2399-3692
More informationEMBEDDED SYSTEM BASICS AND APPLICATION
EMBEDDED SYSTEM BASICS AND APPLICATION TOPICS TO BE DISCUSSED System Embedded System Components Classifications Processors Other Hardware Software Applications 2 INTRODUCTION What is a system? A system
More informationArchitectures and Platforms
Hardware/Software Codesign Arch&Platf. - 1 Architectures and Platforms 1. Architecture Selection: The Basic Trade-Offs 2. General Purpose vs. Application-Specific Processors 3. Processor Specialisation
More informationIntroduction to Digital System Design
Introduction to Digital System Design Chapter 1 1 Outline 1. Why Digital? 2. Device Technologies 3. System Representation 4. Abstraction 5. Development Tasks 6. Development Flow Chapter 1 2 1. Why Digital
More informationELEC 5260/6260/6266 Embedded Computing Systems
ELEC 5260/6260/6266 Embedded Computing Systems Spring 2016 Victor P. Nelson Text: Computers as Components, 3 rd Edition Prof. Marilyn Wolf (Georgia Tech) Course Topics Embedded system design & modeling
More informationEmbedded Systems. introduction. Jan Madsen
Embedded Systems introduction Jan Madsen Informatics and Mathematical Modeling Technical University of Denmark Richard Petersens Plads, Building 321 DK2800 Lyngby, Denmark jan@imm.dtu.dk Wireless Sensor
More informationWhat is a System on a Chip?
What is a System on a Chip? Integration of a complete system, that until recently consisted of multiple ICs, onto a single IC. CPU PCI DSP SRAM ROM MPEG SoC DRAM System Chips Why? Characteristics: Complex
More information7a. System-on-chip design and prototyping platforms
7a. System-on-chip design and prototyping platforms Labros Bisdounis, Ph.D. Department of Computer and Communication Engineering 1 What is System-on-Chip (SoC)? System-on-chip is an integrated circuit
More informationDigital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill
Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill Objectives: Analyze the operation of sequential logic circuits. Understand the operation of digital counters.
More informationChapter 2 Features of Embedded System
Chapter 2 Features of Embedded System Abstract This chapter will introduce the basic elements of embedded systems (or dedicated systems). The integrated control systems represent one of the areas of modern
More informationAgenda. Michele Taliercio, Il circuito Integrato, Novembre 2001
Agenda Introduzione Il mercato Dal circuito integrato al System on a Chip (SoC) La progettazione di un SoC La tecnologia Una fabbrica di circuiti integrati 28 How to handle complexity G The engineering
More informationIntroducción. Diseño de sistemas digitales.1
Introducción Adapted from: Mary Jane Irwin ( www.cse.psu.edu/~mji ) www.cse.psu.edu/~cg431 [Original from Computer Organization and Design, Patterson & Hennessy, 2005, UCB] Diseño de sistemas digitales.1
More informationFPGA Prototyping Primer
FPGA Prototyping Primer S2C Inc. 1735 Technology Drive, Suite 620 San Jose, CA 95110, USA Tel: +1 408 213 8818 Fax: +1 408 213 8821 www.s2cinc.com What is FPGA prototyping? FPGA prototyping is the methodology
More informationSample Project List. Software Reverse Engineering
Sample Project List Software Reverse Engineering Automotive Computing Electronic power steering Embedded flash memory Inkjet printer software Laptop computers Laptop computers PC application software Software
More information9/14/2011 14.9.2011 8:38
Algorithms and Implementation Platforms for Wireless Communications TLT-9706/ TKT-9636 (Seminar Course) BASICS OF FIELD PROGRAMMABLE GATE ARRAYS Waqar Hussain firstname.lastname@tut.fi Department of Computer
More informationDigital Systems Design! Lecture 1 - Introduction!!
ECE 3401! Digital Systems Design! Lecture 1 - Introduction!! Course Basics Classes: Tu/Th 11-12:15, ITE 127 Instructor Mohammad Tehranipoor Office hours: T 1-2pm, or upon appointments @ ITE 441 Email:
More informationEEM870 Embedded System and Experiment Lecture 1: SoC Design Overview
EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview Wen-Yen Lin, Ph.D. Department of Electrical Engineering Chang Gung University Email: wylin@mail.cgu.edu.tw Feb. 2013 Course Overview
More informationChapter 1 Computer System Overview
Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Eighth Edition By William Stallings Operating System Exploits the hardware resources of one or more processors Provides
More informationwhat operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?
Inside the CPU how does the CPU work? what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? some short, boring programs to illustrate the
More informationBest Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com
Best Practises for LabVIEW FPGA Design Flow 1 Agenda Overall Application Design Flow Host, Real-Time and FPGA LabVIEW FPGA Architecture Development FPGA Design Flow Common FPGA Architectures Testing and
More informationCHAPTER 2: HARDWARE BASICS: INSIDE THE BOX
CHAPTER 2: HARDWARE BASICS: INSIDE THE BOX Multiple Choice: 1. Processing information involves: A. accepting information from the outside world. B. communication with another computer. C. performing arithmetic
More informationSystem-on. on-chip Design Flow. Prof. Jouni Tomberg Tampere University of Technology Institute of Digital and Computer Systems. jouni.tomberg@tut.
System-on on-chip Design Flow Prof. Jouni Tomberg Tampere University of Technology Institute of Digital and Computer Systems jouni.tomberg@tut.fi 26.03.2003 Jouni Tomberg / TUT 1 SoC - How and with whom?
More informationCOMPUTER SCIENCE AND ENGINEERING - Microprocessor Systems - Mitchell Aaron Thornton
MICROPROCESSOR SYSTEMS Mitchell Aaron Thornton, Department of Electrical and Computer Engineering, Mississippi State University, PO Box 9571, Mississippi State, MS, 39762-9571, United States. Keywords:
More informationContents. System Development Models and Methods. Design Abstraction and Views. Synthesis. Control/Data-Flow Models. System Synthesis Models
System Development Models and Methods Dipl.-Inf. Mirko Caspar Version: 10.02.L.r-1.0-100929 Contents HW/SW Codesign Process Design Abstraction and Views Synthesis Control/Data-Flow Models System Synthesis
More informationTopics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
More informationCHAPTER 4 MARIE: An Introduction to a Simple Computer
CHAPTER 4 MARIE: An Introduction to a Simple Computer 4.1 Introduction 195 4.2 CPU Basics and Organization 195 4.2.1 The Registers 196 4.2.2 The ALU 197 4.2.3 The Control Unit 197 4.3 The Bus 197 4.4 Clocks
More informationChapter 1 Basic Introduction to Computers. Discovering Computers 2012. Your Interactive Guide to the Digital World
Chapter 1 Basic Introduction to Computers Discovering Computers 2012 Your Interactive Guide to the Digital World Objectives Overview Explain why computer literacy is vital to success in today s world Define
More informationChapter 2 Logic Gates and Introduction to Computer Architecture
Chapter 2 Logic Gates and Introduction to Computer Architecture 2.1 Introduction The basic components of an Integrated Circuit (IC) is logic gates which made of transistors, in digital system there are
More informationBUILD VERSUS BUY. Understanding the Total Cost of Embedded Design. www.ni.com/buildvsbuy
BUILD VERSUS BUY Understanding the Total Cost of Embedded Design Table of Contents I. Introduction II. The Build Approach: Custom Design a. Hardware Design b. Software Design c. Manufacturing d. System
More informationProgramming Logic controllers
Programming Logic controllers Programmable Logic Controller (PLC) is a microprocessor based system that uses programmable memory to store instructions and implement functions such as logic, sequencing,
More informationARM Webinar series. ARM Based SoC. Abey Thomas
ARM Webinar series ARM Based SoC Verification Abey Thomas Agenda About ARM and ARM IP ARM based SoC Verification challenges Verification planning and strategy IP Connectivity verification Performance verification
More informationA New Paradigm for Synchronous State Machine Design in Verilog
A New Paradigm for Synchronous State Machine Design in Verilog Randy Nuss Copyright 1999 Idea Consulting Introduction Synchronous State Machines are one of the most common building blocks in modern digital
More informationOverview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification
Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by
More informationİSTANBUL AYDIN UNIVERSITY
İSTANBUL AYDIN UNIVERSITY FACULTY OF ENGİNEERİNG SOFTWARE ENGINEERING THE PROJECT OF THE INSTRUCTION SET COMPUTER ORGANIZATION GÖZDE ARAS B1205.090015 Instructor: Prof. Dr. HASAN HÜSEYİN BALIK DECEMBER
More informationIntroduction to System-on-Chip
Introduction to System-on-Chip COE838: Systems-on-Chip Design http://www.ee.ryerson.ca/~courses/coe838/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer Engineering Ryerson University
More informationCprE 588 Embedded Computer Systems Homework #1 Assigned: February 5 Due: February 15
CprE 588 Embedded Computer Systems Homework #1 Assigned: February 5 Due: February 15 Directions: Please submit this assignment by the due date via WebCT. Submissions should be in the form of 1) a PDF file
More informationTYPES OF COMPUTERS AND THEIR PARTS MULTIPLE CHOICE QUESTIONS
MULTIPLE CHOICE QUESTIONS 1. What is a computer? a. A programmable electronic device that processes data via instructions to output information for future use. b. Raw facts and figures that has no meaning
More informationDesign Cycle for Microprocessors
Cycle for Microprocessors Raúl Martínez Intel Barcelona Research Center Cursos de Verano 2010 UCLM Intel Corporation, 2010 Agenda Introduction plan Architecture Microarchitecture Logic Silicon ramp Types
More informationDesign and Verification of Nine port Network Router
Design and Verification of Nine port Network Router G. Sri Lakshmi 1, A Ganga Mani 2 1 Assistant Professor, Department of Electronics and Communication Engineering, Pragathi Engineering College, Andhra
More informationAdvanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2
Lecture Handout Computer Architecture Lecture No. 2 Reading Material Vincent P. Heuring&Harry F. Jordan Chapter 2,Chapter3 Computer Systems Design and Architecture 2.1, 2.2, 3.2 Summary 1) A taxonomy of
More informationIEC 61131-3. The Fast Guide to Open Control Software
IEC 61131-3 The Fast Guide to Open Control Software 1 IEC 61131-3 The Fast Guide to Open Control Software Introduction IEC 61131-3 is the first vendor-independent standardized programming language for
More informationDigital Electronics Detailed Outline
Digital Electronics Detailed Outline Unit 1: Fundamentals of Analog and Digital Electronics (32 Total Days) Lesson 1.1: Foundations and the Board Game Counter (9 days) 1. Safety is an important concept
More informationSystems on Chip Design
Systems on Chip Design College: Engineering Department: Electrical First: Course Definition, a Summary: 1 Course Code: EE 19 Units: 3 credit hrs 3 Level: 3 rd 4 Prerequisite: Basic knowledge of microprocessor/microcontroller
More informationThe Evolution of CCD Clock Sequencers at MIT: Looking to the Future through History
The Evolution of CCD Clock Sequencers at MIT: Looking to the Future through History John P. Doty, Noqsi Aerospace, Ltd. This work is Copyright 2007 Noqsi Aerospace, Ltd. This work is licensed under the
More informationMaking Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association
Making Multicore Work and Measuring its Benefits Markus Levy, president EEMBC and Multicore Association Agenda Why Multicore? Standards and issues in the multicore community What is Multicore Association?
More informationESP-CV Custom Design Formal Equivalence Checking Based on Symbolic Simulation
Datasheet -CV Custom Design Formal Equivalence Checking Based on Symbolic Simulation Overview -CV is an equivalence checker for full custom designs. It enables efficient comparison of a reference design
More informationChapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan
Chapter 2 Basic Structure of Computers Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Outline Functional Units Basic Operational Concepts Bus Structures Software
More informationA Survey on ARM Cortex A Processors. Wei Wang Tanima Dey
A Survey on ARM Cortex A Processors Wei Wang Tanima Dey 1 Overview of ARM Processors Focusing on Cortex A9 & Cortex A15 ARM ships no processors but only IP cores For SoC integration Targeting markets:
More informationHardware/Software Codesign Overview
Hardware/Software Codesign Overview Education & Facilitation Program Module 14 Version 3.00 All rights reserved. This information is copyrighted by the SCRA, through its Advanced Technology Institute,
More informationNetworking Remote-Controlled Moving Image Monitoring System
Networking Remote-Controlled Moving Image Monitoring System First Prize Networking Remote-Controlled Moving Image Monitoring System Institution: Participants: Instructor: National Chung Hsing University
More informationLet s put together a Manual Processor
Lecture 14 Let s put together a Manual Processor Hardware Lecture 14 Slide 1 The processor Inside every computer there is at least one processor which can take an instruction, some operands and produce
More informationComputer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to:
55 Topic 3 Computer Performance Contents 3.1 Introduction...................................... 56 3.2 Measuring performance............................... 56 3.2.1 Clock Speed.................................
More informationChapter 12. Development Tools for Microcontroller Applications
Chapter 12 Development Tools for Microcontroller Applications Lesson 01 Software Development Process and Development Tools Step 1: Development Phases Analysis Design Implementation Phase 1 Phase 2 Phase
More informationProgrammable Logic IP Cores in SoC Design: Opportunities and Challenges
Programmable Logic IP Cores in SoC Design: Opportunities and Challenges Steven J.E. Wilton and Resve Saleh Department of Electrical and Computer Engineering University of British Columbia Vancouver, B.C.,
More informationLogical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit.
Objectives The Central Processing Unit: What Goes on Inside the Computer Chapter 4 Identify the components of the central processing unit and how they work together and interact with memory Describe how
More informationLesson 10:DESIGN PROCESS EXAMPLES Automatic Chocolate vending machine, smart card and digital camera
Lesson 10:DESIGN PROCESS EXAMPLES Automatic Chocolate vending machine, smart card and digital camera 1 Automatic Chocolate Vending Machine (ACVM) 2 Diagrammatic representation of ACVM Keypad for user Interface
More informationAims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic
Aims and Objectives E 3.05 Digital System Design Peter Cheung Department of Electrical & Electronic Engineering Imperial College London URL: www.ee.ic.ac.uk/pcheung/ E-mail: p.cheung@ic.ac.uk How to go
More informationRAPID PROTOTYPING OF EMBEDDED SYSTEMS USING FIELD PROGRAMMABLE GATE ARRAYS
RAPID PROTOTYPING OF EMBEDDED SYSTEMS USING FIELD PROGRAMMABLE GATE ARRAYS Summa Cum Laude Thesis Bhavya Daya Bachelor of Science in Electrical Engineering Bachelor of Science in Computer Engineering Spring
More informationOverview and History of Operating Systems
Overview and History of Operating Systems These are the notes for lecture 1. Please review the Syllabus notes before these. Overview / Historical Developments An Operating System... Sits between hardware
More informationA Computer Vision System on a Chip: a case study from the automotive domain
A Computer Vision System on a Chip: a case study from the automotive domain Gideon P. Stein Elchanan Rushinek Gaby Hayun Amnon Shashua Mobileye Vision Technologies Ltd. Hebrew University Jerusalem, Israel
More informationCHAPTER 3 Boolean Algebra and Digital Logic
CHAPTER 3 Boolean Algebra and Digital Logic 3.1 Introduction 121 3.2 Boolean Algebra 122 3.2.1 Boolean Expressions 123 3.2.2 Boolean Identities 124 3.2.3 Simplification of Boolean Expressions 126 3.2.4
More informationCentralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures
Chapter 18: Database System Architectures Centralized Systems! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems! Network Types! Run on a single computer system and do
More informationVHDL DESIGN OF EDUCATIONAL, MODERN AND OPEN- ARCHITECTURE CPU
VHDL DESIGN OF EDUCATIONAL, MODERN AND OPEN- ARCHITECTURE CPU Martin Straka Doctoral Degree Programme (1), FIT BUT E-mail: strakam@fit.vutbr.cz Supervised by: Zdeněk Kotásek E-mail: kotasek@fit.vutbr.cz
More informationIntroduction to Systems Analysis and Design
Introduction to Systems Analysis and Design What is a System? A system is a set of interrelated components that function together to achieve a common goal. The components of a system are called subsystems.
More informationHigh-Level Synthesis for FPGA Designs
High-Level Synthesis for FPGA Designs BRINGING BRINGING YOU YOU THE THE NEXT NEXT LEVEL LEVEL IN IN EMBEDDED EMBEDDED DEVELOPMENT DEVELOPMENT Frank de Bont Trainer consultant Cereslaan 10b 5384 VT Heesch
More informationFinite State Machine Design and VHDL Coding Techniques
Finite State Machine Design and VHDL Coding Techniques Iuliana CHIUCHISAN, Alin Dan POTORAC, Adrian GRAUR "Stefan cel Mare" University of Suceava str.universitatii nr.13, RO-720229 Suceava iulia@eed.usv.ro,
More informationQuiz for Chapter 6 Storage and Other I/O Topics 3.10
Date: 3.10 Not all questions are of equal difficulty. Please review the entire quiz first and then budget your time carefully. Name: Course: Solutions in Red 1. [6 points] Give a concise answer to each
More informationPower Reduction Techniques in the SoC Clock Network. Clock Power
Power Reduction Techniques in the SoC Network Low Power Design for SoCs ASIC Tutorial SoC.1 Power Why clock power is important/large» Generally the signal with the highest frequency» Typically drives a
More informationChoosing the Right Architecture for Real-Time Signal Processing Designs
White Paper SPRA879 - November 2002 Choosing the Right Architecture for Real-Time Signal Processing Designs Leon Adams Strategic Marketing, Texas Instruments ABSTRACT This paper includes a feasibility
More informationModeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: jimmy@ee.ncu.edu.tw. Sequential Circuit
Modeling Sequential Elements with Verilog Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: jimmy@ee.ncu.edu.tw 4-1 Sequential Circuit Outputs are functions of inputs and present states of storage elements
More informationElectronic system-level development: Finding the right mix of solutions for the right mix of engineers.
Electronic system-level development: Finding the right mix of solutions for the right mix of engineers. Nowadays, System Engineers are placed in the centre of two antagonist flows: microelectronic systems
More informationEmerging Markets for H.264 Video Encoding
Leveraging High Definition and Efficient IP Networking WHITE PAPER Introduction Already dominant in traditional applications such as video conferencing and TV broadcasting, H.264 Advanced Video Coding
More informationLecture 5: Gate Logic Logic Optimization
Lecture 5: Gate Logic Logic Optimization MAH, AEN EE271 Lecture 5 1 Overview Reading McCluskey, Logic Design Principles- or any text in boolean algebra Introduction We could design at the level of irsim
More informationDigitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah
(DSF) Soft Core Prozessor NIOS II Stand Mai 2007 Jens Onno Krah Cologne University of Applied Sciences www.fh-koeln.de jens_onno.krah@fh-koeln.de NIOS II 1 1 What is Nios II? Altera s Second Generation
More informationCHAPTER 1: Our Digital Planet
CHAPTER 1: Our Digital Planet Multiple Choice: 1. One of the purposes of MySpace is to: A. play games. B. create personal Web sites. C. hear music videos. D. post photographs. Answer: B Reference: Creating
More informationETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies
ETEC 2301 Programmable Logic Devices Chapter 10 Counters Shawnee State University Department of Industrial and Engineering Technologies Copyright 2007 by Janna B. Gallaher Asynchronous Counter Operation
More informationMICROPROCESSOR AND MICROCOMPUTER BASICS
Introduction MICROPROCESSOR AND MICROCOMPUTER BASICS At present there are many types and sizes of computers available. These computers are designed and constructed based on digital and Integrated Circuit
More informationZigBee Technology Overview
ZigBee Technology Overview Presented by Silicon Laboratories Shaoxian Luo 1 EM351 & EM357 introduction EM358x Family introduction 2 EM351 & EM357 3 Ember ZigBee Platform Complete, ready for certification
More information150127-Microprocessor & Assembly Language
Chapter 3 Z80 Microprocessor Architecture The Z 80 is one of the most talented 8 bit microprocessors, and many microprocessor-based systems are designed around the Z80. The Z80 microprocessor needs an
More informationMulticore Programming with LabVIEW Technical Resource Guide
Multicore Programming with LabVIEW Technical Resource Guide 2 INTRODUCTORY TOPICS UNDERSTANDING PARALLEL HARDWARE: MULTIPROCESSORS, HYPERTHREADING, DUAL- CORE, MULTICORE AND FPGAS... 5 DIFFERENCES BETWEEN
More informationChap-02, Hardware and Software. Hardware Model
Philadelphia University School of Business Administration INFO-101 Information Systems Prof London Chap-02, Hardware and Software Hardware Components Central processing unit (CPU) Arithmetic/logic unit
More informationManagement Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?
Management Challenge Managing Hardware Assets What computer processing and storage capability does our organization need to handle its information and business transactions? What arrangement of computers
More informationLow Power AMD Athlon 64 and AMD Opteron Processors
Low Power AMD Athlon 64 and AMD Opteron Processors Hot Chips 2004 Presenter: Marius Evers Block Diagram of AMD Athlon 64 and AMD Opteron Based on AMD s 8 th generation architecture AMD Athlon 64 and AMD
More informationThe 104 Duke_ACC Machine
The 104 Duke_ACC Machine The goal of the next two lessons is to design and simulate a simple accumulator-based processor. The specifications for this processor and some of the QuartusII design components
More informationLearning Outcomes. Simple CPU Operation and Buses. Composition of a CPU. A simple CPU design
Learning Outcomes Simple CPU Operation and Buses Dr Eddie Edwards eddie.edwards@imperial.ac.uk At the end of this lecture you will Understand how a CPU might be put together Be able to name the basic components
More informationTest Driven Development of Embedded Systems Using Existing Software Test Infrastructure
Test Driven Development of Embedded Systems Using Existing Software Test Infrastructure Micah Dowty University of Colorado at Boulder micah@navi.cx March 26, 2004 Abstract Traditional software development
More informationCNC FOR EDM MACHINE TOOL HARDWARE STRUCTURE. Ioan Lemeni
CNC FOR EDM MACHINE TOOL HARDWARE STRUCTURE Ioan Lemeni Computer and Communication Engineering Department Faculty of Automation, Computers and Electronics University of Craiova 13, A.I. Cuza, Craiova,
More informationPrice: see your VeriFone sales representative. Per student, Excluding VAT.
Price: see your VeriFone sales representative. Per student, Excluding VAT. COURSE OUTLINE EMEA Verix and VxV Programmers Course This course is a combination of Verix and Verix V Training Course. Verix
More informationModeling a GPS Receiver Using SystemC
Modeling a GPS Receiver using SystemC Modeling a GPS Receiver Using SystemC Bernhard Niemann Reiner Büttner Martin Speitel http://www.iis.fhg.de http://www.iis.fhg.de/kursbuch/kurse/systemc.html The e
More informationSoC Curricula at Tallinn Technical University
SoC Curricula at Tallinn Technical University Margus Kruus, Kalle Tammemäe, Peeter Ellervee Tallinn Technical University Phone: +372-6202250, Fax: +372-6202246 kruus@cc.ttu.ee nalle@cc.ttu.ee lrv@cc.ttu.ee
More informationTIMING DIAGRAM O 8085
5 TIMING DIAGRAM O 8085 5.1 INTRODUCTION Timing diagram is the display of initiation of read/write and transfer of data operations under the control of 3-status signals IO / M, S 1, and S 0. As the heartbeat
More informationElectronic systems prototyping: Tools and methodologies for a better observability.
Electronic systems prototyping: Tools and methodologies for a better observability. In an electronic system development flow, a prototyping phase is very diversely valued by the electronic system engineer
More informationEingebettete Systeme. 4: Entwurfsmethodik, HW/SW Co-Design. Technische Informatik T T T
Eingebettete Systeme 4: Entwurfsmethodik, HW/SW Co-Design echnische Informatik System Level Design: ools and Flow Refinement of HW/SW Systems ools for HW/SW Co-Design C-based design of HW/SW Systems echnische
More informationThe Fastest Way to Parallel Programming for Multicore, Clusters, Supercomputers and the Cloud.
White Paper 021313-3 Page 1 : A Software Framework for Parallel Programming* The Fastest Way to Parallel Programming for Multicore, Clusters, Supercomputers and the Cloud. ABSTRACT Programming for Multicore,
More informationComputer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level
System: User s View System Components: High Level View Input Output 1 System: Motherboard Level 2 Components: Interconnection I/O MEMORY 3 4 Organization Registers ALU CU 5 6 1 Input/Output I/O MEMORY
More informationdesign Synopsys and LANcity
Synopsys and LANcity LANcity Adopts Design Reuse with DesignWare to Bring Low-Cost, High-Speed Cable TV Modem to Consumer Market What does it take to redesign a commercial product for a highly-competitive
More informationEnhancing High-Speed Telecommunications Networks with FEC
White Paper Enhancing High-Speed Telecommunications Networks with FEC As the demand for high-bandwidth telecommunications channels increases, service providers and equipment manufacturers must deliver
More informationConcept Engineering Adds JavaScript-based Web Capabilities to Nlview at DAC 2016
KAL - Large IP Cores: Memory Controllers: SD/SDIO 2.0/3.0 Controller SDRAM Controller DDR/DDR2/DDR3 SDRAM Controller NAND Flash Controller Flash/EEPROM/SRAM Controller Dear , Concept Engineering
More information