Embedded Systems

Parallel processing techniques for compilers have been extensively researched in the past decades. More recent is the work done in the context of back-end compilers for SubWord Parallelism (SLP). This paper analyzes two state of the art compilers and exposes their main problems with respect to SLP code generation, for code dominated by background data. We suggest some ways to overcome these problems and their potential benefits are analyzed. As a fundamental part of our proposed solution direction, we also describe the strong interaction between background and foreground data format organization in the context of energy and performance focusing on two cost factors inherent to SLP, reordering overhead due to subword communication on the one hand and data padding in the data memory on the other hand. To our knowledge, these problems that we identify have been ignored both in the academia and in the industrial compiler support. Nevertheless, they have a high impact on the main cost metrics of the design space, especially for data dominated embedded applications. Results show that our approach significantly improves the SLP code generation of both the Intel and Larsen compilers.

[1]  Edward A. Lee,et al.  Scheduling strategies for multiprocessor real-time DSP , 1989, IEEE Global Telecommunications Conference, 1989, and Exhibition. 'Communications Technology for the 1990s and Beyond.

[2]  Edward A. Lee,et al.  Operational Semantics of Hybrid Systems , 2005, HSCC.

[3]  RAJANISH K. KAMAT,et al.  Exploring C for Microcontrollers , 2007 .

[4]  Richard Johnson,et al.  The Transmeta Code Morphing#8482; Software: using speculation, recovery, and adaptive retranslation to address real-life challenges , 2003, CGO.

[5]  Matti Valovirta,et al.  Experimental Security Analysis of a Modern Automobile , 2011 .

[6]  Edmund M. Clarke,et al.  Counterexample-guided abstraction refinement , 2003, 10th International Symposium on Temporal Representation and Reasoning, 2003 and Fourth International Conference on Temporal Logic. Proceedings..

[7]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[8]  Edward A. Lee,et al.  Dataflow process networks , 1995, Proc. IEEE.

[9]  José Alves Marques,et al.  Development of distributed applications with separation of concerns , 1995, Proceedings 1995 Asia Pacific Software Engineering Conference.

[10]  Mike Parker,et al.  ACT : A Low Power VLIW Cluster Coprocessor for DSP Applications , 2006 .

[11]  François Charot,et al.  Automatic floating-point to fixed-point conversion for DSP code generation , 2002, CASES '02.

[12]  Erik Hagersten,et al.  SIP: Performance Tuning through Source Code Interdependence , 2002, Euro-Par.

[13]  Sriram K. Rajamani,et al.  The SLAM Toolkit , 2001, CAV.

[14]  Kamal Embedded Systems: Architecture, Programming and Design , 2006 .

[15]  Bruce P. Douglass,et al.  Doing hard time: developing real-time systems with uml , 1999 .

[16]  Wayne Luk,et al.  PD-XML: extensible markup language for processor description , 2002, 2002 IEEE International Conference on Field-Programmable Technology, 2002. (FPT). Proceedings..

[17]  Norbert Wehn,et al.  Embedded DRAM Development: Technology, Physical Design, and Application Issues , 2001, IEEE Des. Test Comput..

[18]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[19]  Feng Zhou,et al.  Keyboard acoustic emanations revisited , 2005, CCS '05.

[20]  Paul K. Harten Response times in level-structured systems , 1987, TOCS.

[21]  R. Alur Techniques for automatic verification of real-time systems , 1991 .

[22]  Thomas A. Henzinger,et al.  Real-Time Logics: Complexity and Expressiveness , 1993, Inf. Comput..

[23]  Twan Basten,et al.  Requirements on the Execution of Kahn Process Networks , 2003, ESOP.

[24]  Gerald J. Sussman,et al.  Structure and interpretation of computer programs , 1985, Proceedings of the IEEE.

[25]  Alexandru Nicolau,et al.  Memory Issues in Embedded Systems-on-Chip: Optimizations and Exploration , 1998 .

[26]  Mark R. Greenstreet,et al.  Real-time merging , 1999, Proceedings. Fifth International Symposium on Advanced Research in Asynchronous Circuits and Systems.

[27]  Shailey Minocha,et al.  Supporting Scenario-Based Requirements Engineering , 1998, IEEE Trans. Software Eng..

[28]  Constance L. Heitmeyer Applying Practical Formal Methods to the Specification and Analysis of Security Properties , 2001, MMM-ACNS.

[29]  K. Schwarz,et al.  FFT implementation on DSP-chips-theory and practice , 1990, International Conference on Acoustics, Speech, and Signal Processing.

[30]  Amir Pnueli,et al.  The Glory of the Past , 1985, Logic of Programs.

[31]  Doran Wilde,et al.  A LIBRARY FOR DOING POLYHEDRAL OPERATIONS , 2000 .

[32]  Giovanni De Micheli,et al.  Using symbolic algebra in algorithmic level DSP synthesis , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[33]  Hugo De Man,et al.  Memory Size Reduction Through Storage Order Optimization for Embedded Parallel Multimedia Applications , 1997, Parallel Comput..

[34]  Edmund M. Clarke,et al.  Characterizing Correctness Properties of Parallel Programs Using Fixpoints , 1980, ICALP.

[35]  Reinhard Wilhelm,et al.  Determining Bounds on Execution Times , 2005, Embedded Systems Handbook.

[36]  Ralph Wittig,et al.  OneChip: an FPGA processor with reconfigurable logic , 1996, 1996 Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[37]  Heiko Falk,et al.  Control Flow Driven Splitting of Loop Nests at the Source Code Level , 2003, DATE.

[38]  Nikil D. Dutt,et al.  Local memory exploration and optimization in embedded systems , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[39]  Alfred Menezes,et al.  Handbook of Applied Cryptography , 2018 .

[40]  Christopher W. Fraser,et al.  BURG: fast optimal instruction selection and tree parsing , 1992, SIGP.

[41]  Laura A. Sanchis,et al.  Multiple-Way Network Partitioning , 1989, IEEE Trans. Computers.

[42]  Sérgio Vale Aguiar Campos,et al.  Verifying the performance of the PCI local bus using symbolic techniques , 1995, Proceedings of ICCD '95 International Conference on Computer Design. VLSI in Computers and Processors.

[43]  Conrad Bock,et al.  SysML and UML 2 support for activity modeling , 2006, Syst. Eng..

[44]  Melvin A. Breuer,et al.  Generation of optimal code for expressions via factorization , 1969, CACM.

[45]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[46]  Insup Lee,et al.  RTC: Language support for real-time concurrency , 2005, Real-Time Systems.

[47]  John Wawrzynek,et al.  Garp: a MIPS processor with a reconfigurable coprocessor , 1997, Proceedings. The 5th Annual IEEE Symposium on Field-Programmable Custom Computing Machines Cat. No.97TB100186).

[48]  John A. McDermid,et al.  Hierarchically Performed Hazard Origin and Propagation Studies , 1999, SAFECOMP.

[49]  Thomas A. Henzinger,et al.  HYTECH: a model checker for hybrid systems , 1997, International Journal on Software Tools for Technology Transfer.

[50]  Edward A. Lee,et al.  The Semantics of Dataflow with Firing , 2022 .

[51]  K. Kimura,et al.  Parallel Processing using Data Localization for MPEG2 Encoding on OSCAR Chip Multiprocessor , 2004, Innovative Architecture for Future Generation High-Performance Processors and Systems (IWIA'04).

[52]  John K. Ousterhout,et al.  Why Threads Are A Bad Idea (for most purposes) , 2003 .

[53]  Francky Catthoor,et al.  Analysis of high-level address code transformations for programmable processors , 2000, DATE '00.

[54]  Rachid Deriche,et al.  Using Canny's criteria to derive a recursively implemented optimal edge detector , 1987, International Journal of Computer Vision.

[55]  Peter Marwedel,et al.  Scratchpad memory: a design alternative for cache on-chip memory in embedded systems , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[56]  Sharad Malik,et al.  Flexible and formal modeling of microprocessors with application to retargetable simulation , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[57]  John Paul Shen,et al.  Hardware to software migration with real-time thread integration , 1998, Proceedings. 24th EUROMICRO Conference (Cat. No.98EX204).

[58]  Rajiv Gupta,et al.  Path profile guided partial redundancy elimination using speculation , 1998, Proceedings of the 1998 International Conference on Computer Languages (Cat. No.98CB36225).

[59]  Bruce Schneier,et al.  AES Key Agility Issues in High-Speed IPsec Implementations , 2000 .

[60]  Siva Sai Yerubandi,et al.  Differential Power Analysis , 2002 .

[61]  Stavros Tripakis,et al.  Efficient Verification of Timed Automata Using Dense and Discrete Time Semantics , 1999, CHARME.

[62]  Erik Brockmeyer,et al.  Data Access and Storage Management for Embedded Programmable Processors , 2002, Springer US.

[63]  William R. Mark,et al.  Cg: a system for programming graphics hardware in a C-like language , 2003, ACM Trans. Graph..

[64]  Sarita V. Adve,et al.  Shared Memory Consistency Models: A Tutorial , 1996, Computer.

[65]  Hideyuki Tokuda,et al.  A Time-Driven Scheduling Model for Real-Time Operating Systems , 1985, RTSS.

[66]  Scott Hauck,et al.  The Chimaera reconfigurable functional unit , 1997, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[67]  Trevor N. Mudge,et al.  Reducing code size with run-time decompression , 2000, Proceedings Sixth International Symposium on High-Performance Computer Architecture. HPCA-6 (Cat. No.PR00550).

[68]  Raminder Singh Bajwa,et al.  Instruction buffering to reduce power in processors for signal processing , 1997, IEEE Trans. Very Large Scale Integr. Syst..

[69]  Kristof Beyls,et al.  Cache Behavior Analysis Without Profiling. , 2002 .

[70]  Marc Tremblay,et al.  VIS speeds new media processing , 1996, IEEE Micro.

[71]  Arnold Berger,et al.  Embedded Systems Design: An Introduction to Processes, Tools, and Techniques , 2001 .

[72]  Philip Koopman,et al.  Better Embedded System Software , 2010 .

[73]  Carlene E. Stephens Einstein's Clocks, Poincare's Maps: Empires of Time (review) , 2005 .

[74]  Thomas A. Henzinger,et al.  Giotto: a time-triggered language for embedded programming , 2001, Proc. IEEE.

[75]  John C. Eidson,et al.  Measurement, Control, and Communication Using IEEE 1588 , 2006 .

[76]  R. P. Kurshan,et al.  Automata-theoretic verification of coordinating processes , 1994 .

[77]  Alan Burns,et al.  Real-Time Systems and Programming Languages - Ada, Real-Time Java and C / Real-Time POSIX, Fourth Edition , 2009, International computer science series.

[78]  Luca Benini,et al.  Increasing Energy Efficiency of Embedded Systems by Application-Specific Memory Hierarchy Generation , 2000, IEEE Des. Test Comput..

[79]  Dragan Bosnacki,et al.  Discrete-Time Promela and Spin , 1998, FTRTFT.

[80]  Mukesh Singhal,et al.  Security in wireless sensor networks , 2008, Wirel. Commun. Mob. Comput..

[81]  Bowen Alpern,et al.  Recognizing safety and liveness , 2005, Distributed Computing.

[82]  Mordechai Ben-Ari,et al.  The temporal logic of branching time , 1981, POPL '81.

[83]  Stavros Tripakis,et al.  Kronos: A Model-Checking Tool for Real-Time Systems , 1998, CAV.

[84]  John L. Hennessy,et al.  Mtool: An Integrated System for Performance Debugging Shared Memory Multiprocessor Applications , 1993, IEEE Trans. Parallel Distributed Syst..

[85]  Antti Toskala,et al.  WCDMA for UMTS: Radio Access for Third Generation Mobile Communications , 2000 .

[86]  Roy T. Fielding,et al.  Principled design of the modern Web architecture , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[87]  Pascal Sainrat,et al.  PapaBench: a Free Real-Time Benchmark , 2006, WCET.

[88]  Hans-Juergen Boehm,et al.  HP Laboratories , 2006 .

[89]  R.M. Fujimoto,et al.  Parallel and distributed simulation systems , 2001, Proceeding of the 2001 Winter Simulation Conference (Cat. No.01CH37304).

[90]  Dejan Nickovic,et al.  Monitoring Temporal Properties of Continuous Signals , 2004, FORMATS/FTRTFT.

[91]  S. Dunlap,et al.  The practical use of model checking in software development , 2002, Proceedings IEEE SoutheastCon 2002 (Cat. No.02CH37283).

[92]  Nancy G. Leveson,et al.  Completeness and Consistency in Hierarchical State-Based Requirements , 1996, IEEE Trans. Software Eng..

[93]  Bruce Schneier,et al.  Cryptography Engineering - Design Principles and Practical Applications , 2010 .

[94]  Wen-mei W. Hwu,et al.  Enhancing loop buffering of media and telecommunications applications using low-overhead predication , 2001, MICRO.

[95]  Helen M. Edwards,et al.  Problem frames: analyzing and structuring software development problems , 2002, Softw. Test. Verification Reliab..

[96]  Bengt Jonsson,et al.  A logic for reasoning about time and reliability , 1990, Formal Aspects of Computing.

[97]  Alexander G. Dean,et al.  Extending STI for demanding hard-real-time systems , 2003, CASES '03.

[98]  Thomas A. Henzinger,et al.  Event-Driven Programming with Logical Execution Times , 2004, HSCC.

[99]  Kevin Fu,et al.  Pacemakers and Implantable Cardiac Defibrillators: Software Radio Attacks and Zero-Power Defenses , 2008, 2008 IEEE Symposium on Security and Privacy (sp 2008).

[100]  Christopher W. Fraser An instruction for direct interpretation of LZ77‐compressed programs , 2006, Softw. Pract. Exp..

[101]  Peter Marwedel,et al.  Assigning program and data objects to scratchpad for energy reduction , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[102]  Peter Marwedel,et al.  Source Code Optimization Techniques for Data Flow Dominated Embedded Software , 2004, Springer US.

[103]  Alexander Aiken,et al.  Secure Information Flow as a Safety Problem , 2005, SAS.

[104]  Andreas Peter Burg,et al.  A 2 Gb/s balanced AES crypto-chip implementation , 2004, GLSVLSI '04.

[105]  Adi Shamir,et al.  Efficient Cache Attacks on AES, and Countermeasures , 2010, Journal of Cryptology.

[106]  Steven S. Muchnick,et al.  Advanced Compiler Design and Implementation , 1997 .

[107]  Gérard Berry,et al.  The constructive semantics of pure esterel , 1996 .

[108]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[109]  George S. Avrunin,et al.  Property specification patterns for finite-state verification , 1998, FMSP '98.

[110]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[111]  Albert Benveniste,et al.  The synchronous approach to reactive and real-time systems , 1991 .

[112]  S. Rajamani,et al.  A decade of software model checking with SLAM , 2011, Commun. ACM.

[113]  Henk A. Dijkstra,et al.  The trimedia tm-1 pci vliw media processor , 1996 .

[114]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[115]  Jae Hong Lee,et al.  RAKE receiver with adaptive interference cancellers for a DS-CDMA system in multipath fading channels , 2000, Vehicular Technology Conference Fall 2000. IEEE VTS Fall VTC2000. 52nd Vehicular Technology Conference (Cat. No.00CH37152).

[116]  Scott A. Mahlke,et al.  The theory of deadlock avoidance via discrete control , 2009, POPL '09.

[117]  Christopher W. Fraser,et al.  A retargetable compiler for ANSI C , 1991, SIGP.

[118]  A. Turing On Computable Numbers, with an Application to the Entscheidungsproblem. , 1937 .

[119]  Chingwei Yeh,et al.  A general purpose multiple way partitioning algorithm , 1991, DAC '91.

[120]  Steven W. K. Tjiang,et al.  An overview of the suif compiler system , 1990 .

[121]  Martin Peschke,et al.  Design and Validation of Computer Protocols , 2003 .

[122]  Jeffrey Kodosky,et al.  Visual programming using structured data flow , 1991, Proceedings 1991 IEEE Workshop on Visual Languages.

[123]  Edward A. Lee,et al.  CPO semantics of timed interactive actor networks , 2008, Theor. Comput. Sci..

[124]  Sanjit A. Seshia,et al.  Game-theoretic timing analysis , 2008, 2008 IEEE/ACM International Conference on Computer-Aided Design.

[125]  Viktor K. Prasanna,et al.  Modeling and mapping for dynamically reconfigurable hybrid architectures , 2001 .

[126]  Suzanne Robertson,et al.  Requirements Patterns Via Events/Use Cases , 1996 .

[127]  Cécile Péraire,et al.  Integrating the Unified Modeling Language with an Architecture Description Language , 1999, OOPSLA 1999.

[128]  R. N. Horspool,et al.  Partial redundancy elimination driven by a cost-benefit analysis , 1997, Proceedings of the Eighth Israeli Conference on Computer Systems and Software Engineering.

[129]  John Arends,et al.  Instruction fetch energy reduction using loop caches for embedded applications with small tight loops , 1999, ISLPED '99.

[130]  Jayadev Misra,et al.  Distributed discrete-event simulation , 1986, CSUR.

[131]  Paul M. Embree C Algorithms for Real-Time DSP , 1995 .

[132]  Charalampos Manifavas,et al.  A new family of authentication protocols , 1998, OPSR.

[133]  Hugo De Man,et al.  Formalized methodology for data reuse: exploration for low-power hierarchical memory mappings , 1998, IEEE Trans. Very Large Scale Integr. Syst..

[134]  Fadi J. Kurdahi,et al.  MorphoSys: An Integrated Reconfigurable System for Data-Parallel and Computation-Intensive Applications , 2000, IEEE Trans. Computers.

[135]  David A. Duce,et al.  Scalable Vector Graphics SVG 1.0 Specification , 2000 .

[136]  G.S. Moschytz,et al.  Practical fast 1-D DCT algorithms with 11 multiplications , 1989, International Conference on Acoustics, Speech, and Signal Processing,.

[137]  Kristof Beyls,et al.  Software Methods to Improve Data Locality and Cache Behavior , 2004 .

[138]  Edward A. Lee Modeling concurrent real-time processes using discrete events , 1999, Ann. Softw. Eng..

[139]  S. Naffziger,et al.  Power and temperature control on a 90-nm Itanium family processor , 2006, IEEE Journal of Solid-State Circuits.

[140]  Li Shang,et al.  Process variation characterization of chip-level multiprocessors , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[141]  Alan Burns,et al.  Sustainability in Real-time Scheduling , 2008, J. Comput. Sci. Eng..

[142]  Joseph A. Fisher,et al.  Trace Scheduling: A Technique for Global Microcode Compaction , 1981, IEEE Transactions on Computers.

[143]  David F. Bacon,et al.  Compiler transformations for high-performance computing , 1994, CSUR.

[144]  Charles D. Sigwart,et al.  Software Engineering: A Project Oriented Approach , 1990 .

[145]  Betty H. C. Cheng,et al.  Requirements patterns for embedded systems , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[146]  Ronald L. Graham,et al.  Bounds on Multiprocessing Timing Anomalies , 1969, SIAM Journal of Applied Mathematics.

[147]  Shlomo Weiss,et al.  POWER and PowerPC , 1994 .

[148]  Eitan M. Gurari,et al.  Introduction to the theory of computation , 1989 .

[149]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[150]  Mira Mezini,et al.  Pi: a Pattern Language , 2009, OOPSLA.

[151]  Sumedh W. Sathaye,et al.  Optimization of VLIW compatibility systems employing dynamic rescheduling , 2007, International Journal of Parallel Programming.

[152]  Johannes G. Janzen Calculating Memory System Power for DDR SDRAM , 2001 .

[153]  Thomas H. Drayer,et al.  A Design Methodology for Creating Programmable Logic-based Real-time Image Processing Hardware , 1998 .

[154]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[155]  Insup Lee,et al.  Language Constructs for Distributed Real-Time Programming , 1985, RTSS.

[156]  David Thomas,et al.  The Art in Computer Programming , 2001 .

[157]  L. Benini,et al.  A Power Modeling and Estimation Framework for VLIW-based Embedded Systems , 2001 .

[158]  F. H. Adler Cybernetics, or Control and Communication in the Animal and the Machine. , 1949 .

[159]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[160]  Johan Lilius,et al.  vUML: a tool for verifying UML models , 1999, 14th IEEE International Conference on Automated Software Engineering.

[161]  Heinrich Meyr,et al.  LISA—machine description language for cycle-accurate models of programmable DSP architectures , 1999, DAC '99.

[162]  T. C. Hu Parallel Sequencing and Assembly Line Problems , 1961 .

[163]  Sharad Malik,et al.  Instruction level power analysis and optimization of software , 1996, J. VLSI Signal Process..

[164]  Vincent Loechner,et al.  Precise Data Locality Optimization of Nested Loops , 2004, The Journal of Supercomputing.

[165]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[166]  C. M. Sperberg-McQueen,et al.  eXtensible Markup Language (XML) 1.0 (Second Edition) , 2000 .

[167]  Edward A. Lee,et al.  A Programming Model for Time-Synchronized Distributed Real-Time Systems , 2007, 13th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS'07).

[168]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[169]  Constance L. Heitmeyer,et al.  SCR*: A Toolset for Specifying and Analyzing Software Requirements , 1998, CAV.

[170]  Gregory J. Pottie,et al.  Principles of Embedded Networked Systems Design , 2005 .

[171]  Tammy Noergaard,et al.  Embedded systems architecture - a comprehensive guide for engineers and programmers , 2005 .

[172]  Amnon Naamad,et al.  Statemate: a working environment for the development of complex reactive systems , 1988, ICSE '88.

[173]  Markus G. Kuhn,et al.  Low Cost Attacks on Tamper Resistant Devices , 1997, Security Protocols Workshop.

[174]  Jonathan Hill,et al.  A software architecture supporting networked sensors , 2000 .

[175]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[176]  Daniel Gross,et al.  From Non-Functional Requirements to Design through Patterns , 2001, Requirements Engineering.

[177]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.

[178]  Paul C. Kocher,et al.  Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems , 1996, CRYPTO.

[179]  Robert Oshana,et al.  DSP Software Development Techniques for Embedded and Real-Time Systems , 2005 .

[180]  Wayne H. Wolf,et al.  Computers as components - principles of embedded computing system design , 2005 .

[181]  Robyn R. Lutz Reuse of a Formal Model for Requirements Validation , 1997 .

[182]  D. Bosnacki Enhancing state space reduction techniques for model checking , 2001 .

[183]  Ingrid Verbauwhede,et al.  Minimum area cost for a 30 to 70 Gbits/s AES processor , 2004, IEEE Computer Society Annual Symposium on VLSI.

[184]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching Time Temporal Logic , 2008, 25 Years of Model Checking.

[185]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[186]  Elana D. Granston,et al.  A Cache Visualization Tool , 1997, Computer.

[187]  Shuvra S. Bhattacharyya,et al.  Embedded Multiprocessors: Scheduling and Synchronization , 2000 .

[188]  Hermann Kopetz,et al.  Authentication in Time-Triggered Systems Using Time-Delayed Release of Keys , 2011, 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing.

[189]  Krithi Ramamritham,et al.  The Design of the Spring Kernel , 1987, RTSS.

[190]  Pascal Raymond,et al.  The synchronous data flow programming language LUSTRE , 1991, Proc. IEEE.

[191]  Walter H. Kohler,et al.  A Preliminary Evaluation of the Critical Path Method for Scheduling Tasks on Multiprocessor Systems , 1975, IEEE Transactions on Computers.

[192]  Jozef Hooman,et al.  COUPLING SIMULINK AND UML MODELS , .

[193]  P. L. Montgomery Modular multiplication without trial division , 1985 .

[194]  Andrew Wolfe,et al.  Compilation techniques for low energy: an overview , 1994, Proceedings of 1994 IEEE Symposium on Low Power Electronics.

[195]  Sharad Malik,et al.  Performance analysis of real-time embedded software , 1997 .

[196]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[197]  Hermann Kopetz,et al.  The time-triggered architecture , 1998, Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98).

[198]  Barbara Chapman,et al.  Using OpenMP - portable shared memory parallel programming , 2007, Scientific and engineering computation.

[199]  A. W. Roscoe CSP and determinism in security modelling , 1995, Proceedings 1995 IEEE Symposium on Security and Privacy.

[200]  Eduardo Sanchez,et al.  Beyond superscalar using FPGAs , 1993, Proceedings of 1993 IEEE International Conference on Computer Design ICCD'93.

[201]  Insup Lee,et al.  Opportunities and Obligations for Physical Computing Systems , 2005, Computer.

[202]  Thomas A. Henzinger,et al.  What Good Are Digital Clocks? , 1992, ICALP.

[203]  Jürgen Teich,et al.  Design space characterization for architecture/compiler co-exploration , 2001, CASES '01.

[204]  Leslie Lamport,et al.  Proving the Correctness of Multiprocess Programs , 1977, IEEE Transactions on Software Engineering.

[205]  John McLean,et al.  Proving Noninterference and Functional Correctness Using Traces , 1992, J. Comput. Secur..

[206]  Peter Marwedel,et al.  An Accurate and Fine Grain Instruction-Level Energy Model Supporting Software Optimizations , 2007 .

[207]  Stephen A. Edwards,et al.  Languages for Digital Embedded Systems , 2000 .

[208]  Edward A. Lee,et al.  Timed multitasking for real-time embedded software , 2003 .

[209]  George S. Fishman,et al.  Discrete-Event Simulation : Modeling, Programming, and Analysis , 2001 .

[210]  Uwe Kastens,et al.  VLIW Compilation Techniques for Superscalar Architectures , 1998, CC.

[211]  Alan Burns,et al.  Real Time Scheduling Theory: A Historical Perspective , 2004, Real-Time Systems.

[212]  Betty H. C. Cheng,et al.  A general framework for formalizing UML with formal languages , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[213]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[214]  Jonathan W. Valvano Embedded Microcomputer Systems: Real Time Interfacing , 2000 .

[215]  Jingling Xue,et al.  Optimal and efficient speculation-based partial redundancy elimination , 2003, International Symposium on Code Generation and Optimization, 2003. CGO 2003..

[216]  Erik Brockmeyer,et al.  Data reuse analysis technique for software-controlled memory hierarchies , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[217]  A. Cataldo,et al.  A constructive fixed-point theorem and the feedback semantics of timed systems , 2006, 2006 8th International Workshop on Discrete Event Systems.

[218]  Ed F. Deprettere,et al.  An Approach for Quantitative Analysis of Application-Specific Dataflow Architectures , 1997, ASAP.

[219]  Martin Törngren,et al.  Maturity of model driven engineering for embedded control systems from a mechatronic perspective , 2005 .

[220]  Mario Nemirovsky,et al.  DISC: dynamic instruction stream computer , 1991, MICRO 24.

[221]  Edward A. Lee,et al.  DSP Processor Fundamentals: Architectures and Features , 1997 .

[222]  Ramnath Venugopalan Improving Energy-efficiency in Sensor Networks by Raising Communication Throughput using STI , 2003 .

[223]  Sharad Malik,et al.  Instruction level power analysis and optimization of software , 1996, Proceedings of 9th International Conference on VLSI Design.

[224]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[225]  B. P. Ziegler,et al.  Theory of Modeling and Simulation , 1976 .

[226]  Michael von der Beeck,et al.  A Comparison of Statecharts Variants , 1994, FTRTFT.

[227]  Stephan Merz,et al.  Model checking UML state machines and collaborations , 2001, Workshop on Software Model Checking @ CAV.

[228]  Jon Holt,et al.  UML for Systems Engineering: Watching the wheels , 2004 .

[229]  Pierre Wolper,et al.  Automata theoretic techniques for modal logics of programs: (Extended abstract) , 1984, STOC '84.

[230]  Edward A. Lee,et al.  The Case for Timing-Centric Distributed Software Invited Paper , 2009, 2009 29th IEEE International Conference on Distributed Computing Systems Workshops.

[231]  Betty H. C. Cheng,et al.  A generic framework for formalizing object-oriented modeling notations for embedded systems development , 2000 .

[232]  Keith D. Cooper,et al.  Improvements to graph coloring register allocation , 1994, TOPL.

[233]  Chingwei Yeh,et al.  A general purpose multiple way partitioning algorithm , 1991, 28th ACM/IEEE Design Automation Conference.

[234]  Kevin Ryan,et al.  The role of natural language in requirements engineering , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[235]  Alberto Sangiovanni-Vincentelli,et al.  Logic synthesis for vlsi design , 1989 .

[236]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[237]  Adrian Perrig,et al.  Secure broadcast communication in wired and wireless networks , 2002 .

[238]  Christof Paar,et al.  Understanding Cryptography: A Textbook for Students and Practitioners , 2009 .

[239]  L. Brisolara,et al.  Using UML as a front-end for an efficient Simulink-based multithread code generation targeting MPSoCs , 2007 .

[240]  Cesare Tinelli,et al.  Satisfiability Modulo Theories , 2021, Handbook of Satisfiability.

[241]  Heiko Falk,et al.  Combined Data Partitioning and Loop Nest Splitting for Energy Consumption Minimization , 2004, SCOPES.

[242]  John Wawrzynek,et al.  The Garp Architecture and C Compiler , 2000, Computer.

[243]  Doug Lea Design Patterns for Avionics Control Systems , 1998 .

[244]  Alan Burns,et al.  Fixed priority pre-emptive scheduling: An historical perspective , 1995, Real-Time Systems.

[245]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[246]  Norman P. Jouppi,et al.  Cacti 3. 0: an integrated cache timing, power, and area model , 2001 .

[247]  Mathai Joseph,et al.  Finding Response Times in a Real-Time System , 1986, Comput. J..

[248]  M. McLoone,et al.  Generic architecture and semiconductor intellectual property cores for advanced encryption standard cryptography , 2003 .

[249]  Edward A. Lee,et al.  Scheduling dynamic dataflow graphs with bounded memory using the token flow model , 1993, 1993 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[250]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[251]  Stephen A. Edwards,et al.  The semantics and execution of a synchronous block-diagram language , 2003, Sci. Comput. Program..

[252]  David Brumley,et al.  Remote timing attacks are practical , 2003, Comput. Networks.

[253]  Sharad Malik,et al.  Boolean satisfiability from theoretical hardness to practical success , 2009, Commun. ACM.

[254]  Sharad Malik,et al.  Power analysis of embedded software: a first step towards software power minimization , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[255]  Günter Grünsteidl,et al.  TTP - A Protocol for Fault-Tolerant Real-Time Systems , 1994, Computer.

[256]  A. B. Kahn,et al.  Topological sorting of large networks , 1962, CACM.

[257]  C. P. Ravikumar,et al.  Optimal code and data layout in embedded systems , 2003, 16th International Conference on VLSI Design, 2003. Proceedings..

[258]  Edward F. Moore,et al.  Gedanken-Experiments on Sequential Machines , 1956 .

[259]  Kevin D. Kissell MIPS16: High-density MIPS for the Embedded Market1 , 1997 .

[260]  Linda Dailey Paulson Low-Power Chips for High-Powered Handhelds , 2003, Computer.

[261]  B. Ramakrishna Rau,et al.  Iterative modulo scheduling: an algorithm for software pipelining loops , 1994, MICRO 27.

[262]  Prasanth Ganesan Efficiently Adding Secure Communications to Networked Low-End Embedded Systems using Software Thread Integration , 2003 .

[263]  S. Weiss,et al.  An adaptive MMSE RAKE receiver , 2000, Conference Record of the Thirty-Fourth Asilomar Conference on Signals, Systems and Computers (Cat. No.00CH37154).

[264]  Joseph Y. Halpern,et al.  “Sometimes” and “not never” revisited: on branching versus linear time temporal logic , 1986, JACM.

[265]  Takashi Miyazaki,et al.  Radix-4 FFT implementation using SIMD multimedia instructions , 1999, 1999 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings. ICASSP99 (Cat. No.99CH36258).

[266]  George H. Mealy,et al.  A method for synthesizing sequential circuits , 1955 .

[267]  Martin Gogolla Unified Modeling Language , 2009, Encyclopedia of Database Systems.

[268]  Maryline Chetto,et al.  Dynamic scheduling of real-time tasks under precedence constraints , 1990, Real-Time Systems.

[269]  Betty H. C. Cheng,et al.  Automatically Detecting and Visualising Errors in UML Diagrams , 2002, Requirements Engineering.

[270]  Abraham Lempel,et al.  A universal algorithm for sequential data compression , 1977, IEEE Trans. Inf. Theory.

[271]  Steven L. Waslander,et al.  The Stanford testbed of autonomous rotorcraft for multi agent control (STARMAC) , 2004, The 23rd Digital Avionics Systems Conference (IEEE Cat. No.04CH37576).

[272]  Nikil D. Dutt,et al.  EXPRESSION: a language for architecture exploration through compiler/simulator retargetability , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[273]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[274]  Xianfeng Li,et al.  Chronos: A timing analyzer for embedded software , 2007, Sci. Comput. Program..

[275]  Gustavo de Veciana,et al.  Design Challenges for New Application-Specific Processors , 2000, IEEE Des. Test Comput..

[276]  Balakrishnan Krishnamurthy,et al.  An Improved Min-Cut Algonthm for Partitioning VLSI Networks , 1984, IEEE Transactions on Computers.

[277]  Henrik Ejersbo Jensen Model Checking Probabilistic Real Time Systems , 1996 .

[278]  James R. Larus,et al.  Software and the Concurrency Revolution , 2005, ACM Queue.

[279]  Andrew B. Kahng,et al.  New spectral methods for ratio cut partitioning and clustering , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[280]  Doug Burger,et al.  Evaluating Future Microprocessors: the SimpleScalar Tool Set , 1996 .

[281]  Vincent Loechner,et al.  Parametric Analysis of Polyhedral Iteration Spaces , 1998, J. VLSI Signal Process..

[282]  Giovanni De Micheli,et al.  Low power embedded software optimization using symbolic algebra , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[283]  Axel van Lamsweerde,et al.  Formal specification: a roadmap , 2000, ICSE '00.

[284]  Amir Pnueli,et al.  On the Development of Reactive Systems , 1989, Logics and Models of Concurrent Systems.

[285]  Dawson R. Engler,et al.  VCODE: a retargetable, extensible, very fast dynamic code generation system , 1996, PLDI '96.

[286]  Cheng-Wen Wu,et al.  A highly efficient AES cipher chip , 2003, ASP-DAC '03.

[287]  Doug Lea,et al.  Concurrent programming in Java - design principles and patterns , 1996, Java series.

[288]  Brian A. Carter,et al.  Advanced Encryption Standard , 2007 .

[289]  Mahmut T. Kandemir,et al.  Evaluating Integrated Hardware-Software Optimizations Using a Unified Energy Estimation Framework , 2003, IEEE Trans. Computers.

[290]  Rudy Lauwereins,et al.  Instruction buffering exploration for low energy embedded processors , 2005, J. Embed. Comput..

[291]  Joseph Y.-T. Leung,et al.  On the complexity of fixed-priority scheduling of periodic, real-time tasks , 1982, Perform. Evaluation.

[292]  Joseph Picone,et al.  Benchmarking of FFT algorithms , 1997, Proceedings IEEE SOUTHEASTCON '97. 'Engineering the New Century'.

[293]  M. Bister,et al.  Automated segmentation of cardiac MR images , 1989, [1989] Proceedings. Computers in Cardiology.

[294]  Marc E. Pfetsch,et al.  Some Algorithmic Problems in Polytope Theory , 2003, Algebra, Geometry, and Software Systems.

[295]  Adi Shamir,et al.  A method for obtaining digital signatures and public-key cryptosystems , 1978, CACM.

[296]  Gregory J. Chaitin,et al.  Register allocation & spilling via graph coloring , 1982, SIGPLAN '82.

[297]  David A. Huffman,et al.  A method for the construction of minimum-redundancy codes , 1952, Proceedings of the IRE.

[298]  Srinivas Devadas,et al.  Application-specific memory management for embedded systems using software-controlled caches , 2000, Proceedings 37th Design Automation Conference.

[299]  S. Sieber On a decision method in restricted second-order arithmetic , 1960 .

[300]  Joseph Sifakis,et al.  Iterative Methods for the Analysis of Petri Nets , 1980, Selected Papers from the First and the Second European Workshop on Application and Theory of Petri Nets.

[301]  Lionel Lacassagne,et al.  16-bit FP sub-word parallelism to facilitate compiler vectorization and improve performance of image and media processing , 2004, International Conference on Parallel Processing, 2004. ICPP 2004..

[302]  Santosh Pande,et al.  An Efficient Data Partitioning Method for Limited Memory Embedded Systems , 1998, LCTES.

[303]  Bruce Powel Douglass Real-Time Design Patterns , 1999 .

[304]  Hugo De Man,et al.  Cache conscious data layout organization for embedded multimedia applications , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[305]  Azadeh Davoodi,et al.  Runtime temperature-based power estimation for optimizing throughput of thermal-constrained multi-core processors , 2010, 2010 15th Asia and South Pacific Design Automation Conference (ASP-DAC).

[306]  Rob A. Rutenbar,et al.  Lightweight Floating-Point Arithmetic: Case Study of Inverse Discrete Cosine Transform , 2002, EURASIP J. Adv. Signal Process..

[307]  Vincent Loechner PolyLib: A Library for Manipulating Parameterized Polyhedra , 1999 .

[308]  Kimberly C. Claffy,et al.  Internet stream size distributions , 2002, SIGMETRICS '02.

[309]  Gilles Kahn,et al.  Coroutines and Networks of Parallel Processes , 1977, IFIP Congress.

[310]  Zohar Manna,et al.  From Timed to Hybrid Systems , 1991, REX Workshop.

[311]  Pierre Wolper,et al.  Reasoning about infinite computation paths , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[312]  Betty H. C. Cheng,et al.  Adding Formal Specifications to Requirements Patterns , 2002 .

[313]  Erik R. Altman,et al.  Daisy: Dynamic Compilation For 10o?40 Architectural Compatibility , 1997, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.

[314]  Edward A. Lee,et al.  Structure and interpretation of signals and systems , 2002 .

[315]  Thomas Martyn Parks,et al.  Bounded scheduling of process networks , 1996 .

[316]  Miodrag Potkonjak,et al.  MediaBench: a tool for evaluating and synthesizing multimedia and communications systems , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[317]  Patrick Schaumont,et al.  A Practical Introduction to Hardware/Software Codesign , 2010 .

[318]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[319]  Jens Palsberg,et al.  Static checking of interrupt-driven software , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[320]  Axel van Lamsweerde,et al.  Formal refinement patterns for goal-driven requirements elaboration , 1996, SIGSOFT '96.

[321]  Margaret Martonosi,et al.  Wattch: a framework for architectural-level power analysis and optimizations , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[322]  Robyn R. Lutz,et al.  Analyzing software requirements errors in safety-critical, embedded systems , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[323]  Bernhard E. Boser,et al.  A three-axis micromachined accelerometer with a CMOS position-sense interface and digital offset-trim electronics , 1999, IEEE J. Solid State Circuits.

[324]  Trevor N. Mudge,et al.  Power: A First-Class Architectural Design Constraint , 2001, Computer.

[325]  Cosimo Antonio Prete,et al.  Performance‐steered design of software architectures for embedded multicore systems , 2002, Softw. Pract. Exp..

[326]  William A. Pearlman,et al.  A new, fast, and efficient image codec based on set partitioning in hierarchical trees , 1996, IEEE Trans. Circuits Syst. Video Technol..

[327]  Gabriela Nicolescu,et al.  Component-based design approach for multicore SoCs , 2002, DAC '02.

[328]  Stavros Tripakis,et al.  Extending Promela and Spin for Real Time , 1996, TACAS.

[329]  John C. Gyllenhaal,et al.  A Machine Description Language For Compilation , 1994 .

[330]  Christopher Strachey,et al.  Toward a mathematical semantics for computer languages , 1971 .

[331]  Gerard J. Holzmann,et al.  v-Promela: a visual, object-oriented language for SPIN , 1999, Proceedings 2nd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'99) (Cat. No.99-61702).

[332]  Axel Jantsch,et al.  Modeling embedded systems and SoCs - concurrency and time in models of computation , 2003, The Morgan Kaufmann series in systems on silicon.

[333]  Practical Interfacing in the Laboratory: Using a PC for Instrumentation, Data Analysis, and Control: Steven E. Derenzo , 2005 .

[334]  Sasikanth Avancha,et al.  Security for Sensor Networks , 2004 .

[335]  Edward A. Lee,et al.  Modeling Timed Concurrent Systems , 2006, CONCUR.

[336]  Pankaj Jalote,et al.  An Integrated Approach to Software Engineering , 1997, Undergraduate Texts in Computer Science.

[337]  Klaus D. Müller-Glaser,et al.  GeneralStore - a CASE-tool integration platform enabling model level coupling of heterogeneous designs for embedded electronic systems , 2004, Proceedings. 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2004..

[338]  Ch. Andre,et al.  Synccharts: A visual representation of reactive behaviors , 1995 .

[339]  Dawson R. Engler,et al.  DCG: an efficient, retargetable dynamic code generation system , 1994, ASPLOS VI.

[340]  David A. Patterson,et al.  The case for the reduced instruction set computer , 1980, CARN.

[341]  David R. O'Hallaron,et al.  Computer Systems: A Programmer's Perspective , 1991 .

[342]  Trucy Levine Reusable software components , 1997, ALET.