Copyright © 2001 Stephen A. Edwards All rights reserved Research Areas Stephen A. Edwards.

Slides:



Advertisements
Similar presentations
Categories of I/O Devices
Advertisements

SpecC and SpecCharts Reviewed and Presented by Heemin Park and Eric Kwan EE202A - Fall 2001 Professor Mani Srivastava.
Systems Software.
Sensor Network Platforms and Tools
Optimized State Encoding for Esterel Programs Dumitru POTOP-BUTUCARU.
Copyright © 2001 Stephen A. Edwards All rights reserved The Synchronous Language Esterel Prof. Stephen A. Edwards.
Virtual Machines What Why How Powerpoint?. What is a Virtual Machine? A Piece of software that emulates hardware.  Might emulate the I/O devices  Might.
March 18, 2008SSE Meeting 1 Mary Hall Dept. of Computer Science and Information Sciences Institute Multicore Chips and Parallel Programming.
Snick  snack A Working Computer Slides based on work by Bob Woodham and others.
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
Snick  snack A Working Computer Slides based on work by Bob Woodham and others.
System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli.
Causality Interface  Declares the dependency that output events have on input events.  D is an ordered set associated with the min ( ) and plus ( ) operators.
Esterel Overview Roberto Passerone ee249 discussion section.
Chapter 1 Introduction to Object- Oriented Programming and Problem Solving.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Operational Semantics.
Models of Computation for Embedded System Design Alvise Bonivento.
February 21, 2008 Center for Hybrid and Embedded Software Systems Mapping A Timed Functional Specification to a Precision.
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI A New System Science.
1-1 Embedded Software Development Tools and Processes Hardware & Software Hardware – Host development system Software – Compilers, simulators etc. Target.
Copyright © 2001 Stephen A. Edwards All rights reserved Esterel and Other Projects Prof. Stephen A. Edwards Columbia University, New York
Device Driver for Generic ASC Module - Project Presentation - By: Yigal Korman Erez Fuchs Instructor: Evgeny Fiksman Sponsored by: High Speed Digital Systems.
Einsterel: A Compiled Event-Driven Simulator for Esterel.
Mehmet Can Vuran, Instructor University of Nebraska-Lincoln Acknowledgement: Overheads adapted from those provided by the authors of the textbook.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Copyright © 2001 Stephen A. Edwards All rights reserved More About the Project Prof. Stephen A. Edwards.
Mahapatra-Texas A&M-Fall'001 Codesign Framework Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Actual design flows and tools.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Wave Relay System and General Project Details. Wave Relay System Provides seamless multi-hop connectivity Operates at layer 2 of networking stack Seamless.
ISO Layer Model Lecture 9 October 16, The Need for Protocols Multiple hardware platforms need to have the ability to communicate. Writing communications.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Overview Introduction The Level of Abstraction Organization & Architecture Structure & Function Why study computer organization?
Game Industry and The Future of Game Pertemuan 12 Matakuliah: T0944-Game Design and Programming Tahun: 2010.
EENG 1920 Chapter 1 The Engineering Design Process 1.
CHAPTER FOUR COMPUTER SOFTWARE.
Computer Architecture. “The design of a computer system. It sets the standard for all devices that connect to it and all the software that runs on it.
Introduction to Interactive Media Interactive Media Tools: Software.
An Introduction to Programming with C++ Sixth Edition
The Beauty and Joy of Computing Lecture #3 : Creativity & Abstraction UC Berkeley EECS Lecturer Gerald Friedland.
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
An introduction to Esterel and its compilation
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #21 – HW/SW.
“Software” Esterel Execution (work in progress) Dumitru POTOP-BUTUCARU Ecole des Mines de Paris
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
Copyright © 1997 Altera Corporation & 提供 What is VHDL Very high speed integrated Hardware Description Language (VHDL) –is.
1 Instruction Set Architecture (ISA) Alexander Titov 10/20/2012.
Supervisor: Fearghal Morgan Analog Devices: Ray Carter Dept. Electronic Engineering NUIG 23 April 2008 Software Driver for ADV7800 Video Decoder Nóirín.
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
3.2 Software Fundamentals. A protocol is a formal description of digital message formats and the rules for exchanging those messages in or between computing.
Virtual Machines Created within the Virtualization layer, such as a hypervisor Shares the physical computer's CPU, hard disk, memory, and network interfaces.
© S. Ramesh / Kavi Arya / Krithi Ramamritham 1 IT-606 Embedded Systems (Software ) S. Ramesh Kavi Arya Krithi Ramamritham KReSIT/ IIT Bombay.
1 Principles of Information Technology Introduction to Software and Information Systems Copyright © Texas Education Agency, All rights reserved.
The Octoplier: A New Software Device Affecting Hardware Group 4 Austin Beam Brittany Dearien Brittany Dearien Warren Irwin Amanda Medlin Amanda Medlin.
Proposal for an Open Source Flash Failure Analysis Platform (FLAP) By Michael Tomer, Cory Shirts, SzeHsiang Harper, Jake Johns
Creating Security using Software and Hardware Bradley Herrup CS297- Security and Programming Languages.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Introduction  Program: Set of sequence instruction that tell the computer what to do.  Software: A collection of programs, data, and information. 
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Hardware/Software Co-Verification with RTOS Application Code Michael Bradley, Mentor Graphics Kainian Xie, Hyperchip Inc.
SEPTEMBER 8, 2015 Computer Hardware 1-1. HARDWARE TERMS CPU — Central Processing Unit RAM — Random-Access Memory  “random-access” means the CPU can read.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
Operating systems depend on device drivers to communicate with attached hardware. A device driver is a collection of subroutines written in a low-level.
6/28/ A global mesh of interconnected networks (internetworks) meets these human communication needs. Some of these interconnected networks are.
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
מעבדה במערכות משובצות ד"ר מרינה ליפשטיין דוא"ל:
CMPE419 Mobile Application Development
Chapter 1: Introduction
CMPE419 Mobile Application Development
Presentation transcript:

Copyright © 2001 Stephen A. Edwards All rights reserved Research Areas Stephen A. Edwards

Copyright © 2001 Stephen A. Edwards All rights reserved Embedded Systems  Computers Masquerading as Something Else Casio Camera Watch Nokia 7110 Browser Phone Sony Playstation 2 Philips DVD player Philips TiVo Recorder

Copyright © 2001 Stephen A. Edwards All rights reserved Long-term Goal  Developing tools to speed the development of embedded systems

Copyright © 2001 Stephen A. Edwards All rights reserved Domain-Specific Languages  Little languages that fit the problem  More succinct description Quicker to create Easier to get right  More opportunities for optimization General-purpose languages hindered by undecidability Domain-specific languages much simpler M. C. Escher, Tower of Babel

Copyright © 2001 Stephen A. Edwards All rights reserved Real-time languages: Esterel  Synchronous language developed by Gerard Berry in France  Basic idea: use global clock for synchronization in software  Challenge: How to combine concurrency, synchronization, and instantaneous communication Big Ben

Copyright © 2001 Stephen A. Edwards All rights reserved Esterel every RESET do loop loop await A; await A; emit B; emit B; if C emit D; if C emit D; pause pause end end|| loop loop if B emit C; if B emit C; pause pause end endend Restart when RESET present Infinite loop Wait for next cycle with A present Same-cycle bidirectional communication Run concurrently

Copyright © 2001 Stephen A. Edwards All rights reserved Esterel  Previous work Compiler that gave 100x speedup on certain large programs Has limitations Owned by former employer  Current Projects New, open compiler infrastructure designed for future research Based on SUIF2 system

Copyright © 2001 Stephen A. Edwards All rights reserved Esterel Compilation Plans  Apply discrete-event simulation techniques  Apply Program Dependence Graph representation Concurrent representation used in optimizing compilers  Apply “localized partial interpretation” to expand parts of the system into finite-state machines  Techniques will point the way for other synchronous, concurrent languages

Copyright © 2001 Stephen A. Edwards All rights reserved Languages for Device Drivers  Device drivers are those pieces of software that you absolutely need that never seem to work  Tedious, difficult-to-write  Ever more important as systems incorporate customized hardware

Copyright © 2001 Stephen A. Edwards All rights reserved Best To Date  Thibault, Marlet, and Consel  IEEE Transactions Software Engineering, 1999  Developed the Graphics Adaptor Language for writing XFree86 video card drivers  Report GAL drivers are 1/9 th the size of their C counterparts  No performance penalty

Copyright © 2001 Stephen A. Edwards All rights reserved GAL S3 driver (fragment) chipsets S3_911, S3_924; What driver supports port svga index := 0x3d4; Write address, then data port misc := 0x3cc, 0x3c2; register ChipID := sva(0x30); Logical register serial begin Access sequence for register misc[3..2] <= (3,-, -, -, -) W; seq(0x12) (-, PLL1, -, -, -) R/W; end; identification begin Rules for identifying card 1: ChipID[7..4] => (0x8 => step 2, 0x 9 => S3_928); 2: ChipID[1..0] => (0x1 => S3_911, 0x2 => S3_924);

Copyright © 2001 Stephen A. Edwards All rights reserved Future work  Develop language for network card drivers under Linux  Study many existing implementations  Develop prototype language, compiler  Explore challenge of porting to other OSes  Apply lessons to other classes of drivers

Copyright © 2001 Stephen A. Edwards All rights reserved Languages for Communication Protocols  Many optimizations for implementing protocol code Fast-path optimization Collapsing layers  Tedious to implement manually  Tend to obfuscate code  Too high-level to be applied to, say, C code  Domain-specific language would allow these optimizations to be automated

Copyright © 2001 Stephen A. Edwards All rights reserved Summary  Applying domain-specific languages to solve problems in embedded system design  New Esterel infrastructure for real-time programming  Languages for device drivers: network interfaces  Languages for implementing communication protocols