Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Fakultät für informatik informatik 12 technische universität dortmund Memory architecture description languages - Session 20 - Peter Marwedel TU Dortmund.

Ähnliche Präsentationen


Präsentation zum Thema: "Fakultät für informatik informatik 12 technische universität dortmund Memory architecture description languages - Session 20 - Peter Marwedel TU Dortmund."—  Präsentation transkript:

1 fakultät für informatik informatik 12 technische universität dortmund Memory architecture description languages - Session 20 - Peter Marwedel TU Dortmund Informatik 12 Germany

2 - 2 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Schedule of the course TimeMondayTuesdayWednesdayThursdayFriday 09:30- 11:00 1: Orientation, introduction 2: Models of computation + specs 5: Models of computation + specs 9: Mapping of applications to platforms 13: Memory aware compilation 17: Memory aware compilation 11:00 Brief break 11:15- 12:30 6: Lab*: Ptolemy 10: Lab*: Scheduling 14: Lab*: Mem. opt. 18: Lab*: Mem. opt. 12:30Lunch 14:00- 15:20 3: Models of computation + specs 7: Mapping of applications to platforms 11: High-level optimizations* 15: Memory aware compilation 19: WCET & compilers* 15:20Break 15:40- 17:00 4: Lab*: Kahn process networks 8: Mapping of applications to platforms 12: High-level optimizations* 16: Memory aware compilation 20: Wrap-up * Dr. Heiko Falk

3 - 3 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Memory hierarchy description languages: ArchC Consists of description of ISA and HW architecture Extension of SystemC (can be generated from ArchC): Storage class structure [P. Viana, E. Barros, S. Rigo, R. Azevedo, G. Araújo: Exploring Memory Hierarchy with ArchC, 15th Symposium on Computer Architecture and High Performance Computing, 2003, pp. 2 – 9]

4 - 4 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Example: Description of a simple cache-based architecture

5 - 5 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Memory Aware Compilation and Simulation Framework (for C) MACC [M. Verma, L. Wehmeyer, R. Pyka, P. Marwedel, L. Benini: Compilation and Simulation Tool Chain for Memory Aware Energy Optimizations, Workshop on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS VI), 2006]. Application C code Source-level memory optimizer encc, ARM gcc, M5 DSP Array partitioning SPM overlay Executable binary Energy database Memory hierarchy description Compilation Framework Profile report Memory simulator Processor simulators (ARM7/M5) Profiler Simulation Framework MPSoC simulator

6 - 6 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Memory architecture MACCv2 Query can include address, time stamp, value, … Query can request energy, delay, stored values Query processed along a chain of HW components, incl. busses, ports, address translations etc., each adding delay & energy [R. Pyka et al.: Versatile System level Memory Description Approach for embedded MPSoCs, University of Dortmund, Informatik 12, 2007] API query to model simplifies integration into compiler External XML representation REQ Energy= ? Cycles= ? +10 Energy +5 Cycles +1 Energy +2 Cycles +1 Energy +0 Cycles CPU1 MM ASPC-1 - IFETCH - DRD - DWR - MAINAS ASPC-M - 0…ffff ASPC-B - 0 … 3ffff

7 - 7 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Controlling tool chain generation through an architecture description language (ADL): EXPRESSION Overall information flow [P. Mishra, A. Shrivastava, N. Dutt: Architecture description language (ADL)-driven software toolkit generation for architectural exploration of programmable SOCs, ACM Trans. Des. Autom. Electron. Syst. (TODAES), 2006, pp ]

8 - 8 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Description of Memories in EXPRESSION Generic approach, based on the analysis of a wide range of systems; Used for verification. (STORAGE_SECTION (DataL1 (TYPE DCACHE) (WORDSIZE 64) (LINESIZE 8) (NUM_LINES 1024) (ASSOCIATIVITY 2) (READ_LATENCY 1)... (REPLACEMENT_POLICY LRU) (WRITE_POLICY WRITE_BACK) ) (ScratchPad (TYPE SRAM) (ADDRESS_RANGE ) …. ) (SB (TYPE STREAM_BUFFER) ….. (InstL1 (TYPE ICACHE) ……… ) (L2 (TYPE DCACHE) ……. ) (MainMemory (TYPE DRAM) ) (Connect (TYPE CONNECTIVITY) (CONNECTIONS (InstL1, L2) (DataL1, SB) (SB, L2) (L2, MainMemory) )))

9 - 9 - technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund EXPRESSION: results q

10 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Optimization for main memory Exploiting burst mode of DRAM (1) [P. Grun, N. Dutt, A. Nicolau: Memory aware compilation through accurate timing extraction, DAC, 2000, pp. 316 – 321] Supported trafos: memory mapping, code reordering or loop unrolling

11 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Optimization for main memory Exploiting burst mode of DRAM (2) Timing extracted from EXPRESSION model for(i=0; i<9;i+=3){ a=a+x[i]+x[i+1]+x[i+2]+ y[i]+y[i+1]+y[i+2]; b=b+z[i]+z[i+1]+z[i+2]+ u[i]+u[i+1]+u[i+2];} Open circles of original paper changed into closed circles (column decodes).

12 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund New Books Lars Wehmeyer, Peter Marwedel: Fast, Efficient and Predictable Memory Accesses, Springer, 2006 Manish Verma, Peter Marwedel: Advanced Memory Optimization Techniques for Low-Power Embedded Processors, Springer, May 2007

13 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Additional References (1) D. Page: Effective Use of Partitioned Cache Memories, PhD Thesis, Department of Computer Science, University of Bristol, UK O. S. Unsal et al. Cool-Cache: A Compiler-Enabled Energy Efficient Data Caching Framework for Embedded/ Multimedia Processors, ACM Transactions on Embedded Computing Systems, Vol. 2, 2003 J. Kin et al.: The Filter Cache: An Energy Efficient Memory Structure, 30th Annual International Symposium on Microarchitecture (MICRO), L. H. Lee et al. Instruction Fetch Energy Reduction Using Loop Caches For Embedded Applications with small Tight Loops, International Symposium on Low Power Electronics and Design (ISLPED), S. C. A. Gordon-Ross, F. Vahid: Exploiting Fixed Programs in Embedded Systems: A Loop Cache Example, Computer Architecture Letters, 1, S. Steinke: Untersuchung des Energieeinsparungspotenzials in eingebetteten Systemen durch energieoptimierende Compilertechnik (in German), PhD Thesis, University of Dortmund, Germany, 2003.

14 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Additional References (2) P. R. Panda, N. Dutt, A. Nicolau: Memory Issues in Embedded Systems-On- Chip, Kluwer Academic Publishers, Norwell, MA, S. Steinke et al.: Assigning Program and Data Objects to Scratchpad for Energy Reduction, Design Automation and Test in Europe Conference (DATE02), L. Wehmeyer, P. Marwedel: Influence of On-chip Scratchpad Memories on WCET, 4 th International Workshop on Worst-Case Execution Time Analysis, (WCET), 2004 L. Wehmeyer, P. Marwedel: Influence of Memory Hierarchies on Predictability for Time Constrained Embedded Software, Design Automation and Test in Europe Conference (DATE05), 2005 L. Wehmeyer, U. Helmig, P. Marwedel: Compiler-optimized Usage of Partitioned Memories, 3rd Workshop on Memory Performance Issues (WMPI), F. Angiolini, L. Benini, A. Caprara: Polynomial-Time Algorithm for On-Chip Scratchpad Memory Partitioning, International Conference on Compilers, Architecture and Synthesis of Embedded Systems (CASES03), 2003

15 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Additional References (3) J. Chame Shin, M. W. Hall: A Compiler Algorithm for Exploiting Page-Mode Memory Accesses in Embedded-DRAM Devices, Workshop on Media and Stream Processors, 2002 M. Verma, P. Marwedel: Overlay of Scratchpad Memory for Low Power Embedded Processors, IEEE Transactions on Very Large Scale Integration Systems (TVLSI), Vol.14, E. Brockmeyer et al.: Layer Assignment Techniques for Low Energy in Multi- Layered Memory Organisations, Design, Automation and Test in Europe Conference (DATE), M. Verma, K. Petzold, L. Wehmeyer, H. Falk, P. Marwedel: Scratchpad Sharing Strategies for Multiprocess Embedded Systems: A First Approach, IEEE 3rd Workshop on Embedded Real-Time Multimedia (ESTIMedia), L. Wehmeyer, P. Marwedel: Fast, Efficient and Predictable Memory Accesses Optimization Algorithms for Memory Architecture Aware Compilation, Springer, 2006 M. Verma, Peter Marwedel: Advanced Memory Optimization Techniques for Low-Power Embedded Processors, Springer, 2007 Credit goes to all students involved in the design of SPM tools at Dortmund, in particular to Stefan Steinke, Robert Pyka, Manish Verma and Lars Wehmeyer.

16 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund (Intermediate) Summary Memory architecture description languages Enable memory architecture-dependent optimizations ArchC MACC EXPRESSION Demonstration of optimization with EXPRESSION No common approach yet

17 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Questions? Q&A?

18 fakultät für informatik informatik 12 technische universität dortmund Embedded System Education Peter Marwedel TU Dortmund Informatik 12 Germany

19 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Frequent view SBC1685 StackableUSB Celeron®/ Pentium® III Computer with Gigabit Ethernet Industrys first StackableUSB host Celeron®/Pentium® III computer Gigabit Ethernet 4 USB 2.0 High speed ports, 4 USB 1.1 ports Two serial ports CompactFlash PCI-104 expansion Embedded system = small computer, programming with memory maps and interrupts, possibly in assembly Example: Very much based on PC technology, does not consider modeling problems, … subpages/products/sbc1685.shtml

20 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Sources on ES education in general ACM curriculum: ES missing. Sangiovanni-V.:.. today's educational systems are not providing the appropriate foundations for embedded systems) P. Caspi et al.: Guidelines for a graduate curriculum on embedded software and systems, ACM Transactions on Embedded Computing Systems (TECS), p , 2005 M. Grimheden, M. Törngren: What Is Embedded Systems and How Should It Be Taught?Results from a Didactic Analysis, ACM Transactions on Embedded Computing Systems, 2005, p. 633–651 A. Sangiovanni-Vincentelli, A. Pinto: Embedded system education: a new paradigm for engineering schools? ACM SIGBED Rev., 2005 ALARI, Embedded Systems Institute,

21 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Sources on ES education in general (2) S.-l. Tsao, T.Y. Huang, C.-T. King: The Development and Deployment of Embedded Software Curricula in Taiwan, ACM SIGBED Review, 2007, p I. McLoughlin, D. Maskell, S. Thambipillai, W.-B. Goh: An Embedded Systems graduate education for Singapore, International Conference on Parallel and Distributed Systems, 2007, p st Asia-Pacific Workshop on Embedded System Education and Research (APESER 2007), WESE08: WS on Embedded Systems Education, embedded.org/artist/WESE-08.html

22 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Concept of ES education at Dortmund (bachelor) TermCoursesContent 1Computer structures Boolean algebra, computer arithmetic, MIPS assembly language, RT structures 2Introduction to EE and communication theory Electrical networks, microcontrollers, wireless communication 3Hardware lab RT structures, mindstorms ®, microcontrollers 4 5Embedded system fundamentals Specs, hardware, RTOS, scheduling, mapping, optimizations 6Embedded system design lab + Bachelor thesis For example, FPGA programming + various thesis topics

23 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Structure of the CS curriculum at Dortmund - 3 year bachelor program - Term 1Computer structuresProgramming & semantics Math education 2Circuits & communication OSAlgorithms 3HW labNetworksSW lab 4Databases… 5Embedded systems fundamentals Software engineering … 6Embedded system design lab + Thesis …… All dependences met

24 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Structure of the CS curriculum at Dortmund year diploma program - Term 1Computer organization Programming & semantics Math education 2Circuits & communication OSAlgorithms 3HW labNetworksSW lab 4Databases… 5Embedded systems fundamentals Software engineering … 6Advanced topic in ES …… 7Project group…… 8…… 9Thesis All dependences met

25 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Consistent with Taiwanese Curricula for Technical Universities citation.cfm?id=

26 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Content of ES book Introduction Models of computation and specifications FSM-based models, computational graphs von Neumann computation, discrete event systems Embedded System Hardware A/D- and D/A-converters Processing Embedded Operating Systems and Standard Software RT-OS HW/SW-Codesign Mapping of Applications to Platforms Evaluation, Optimization Verification Next edition scheduled for 2009

27 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Dependencies for ES course Can typically be taught in 4 th or 5 th term Provides motivation and context of other work in the area Mix of students and courses from CS and EE departments Can typically be taught in 4 th or 5 th term Provides motivation and context of other work in the area Mix of students and courses from CS and EE departments programming algorithms computer organization computer organization math education math education electrical networks & digital circuits electrical networks & digital circuits first course on embedded systems lab control systems DSP machine vision real-time systems project group applications … Lego

28 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Broad scope avoids problems with narrow perspectives reported in ARTIST curriculum guidelines The lack of maturity of the domain results in a large variety of industrial practices, often due to cultural habits curricula … concentrate on one technique and do not present a sufficiently wide perspective. As a result, industry has difficulty finding adequately trained engineers, fully aware of design choices. Source: P. Caspi, Guidelines…., (see above), 2005

29 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Scope consistent with ARTIST guidelines "The development of ES cannot ignore the underlying HW characteristics. Timing, memory usage, power consumption, and physical failures are important." "It seems that fundamental bases are really difficult to acquire during continuous training if they havent been initially learned, and we must focus on them."

30 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Summary Memory architecture description languages Enable memory architecture-dependent optimizations EXPRESSION, ArchC, MACC No common approach yet Embedded system education No ES education at all or focus on programming small computer systems still wide-spread More general approach required Approaches from Dortmund and Taiwan demonstrate how education can be organized; limited headroom in standard CS curriculum

31 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund Trained? Q&A?

32 technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 TU Dortmund


Herunterladen ppt "Fakultät für informatik informatik 12 technische universität dortmund Memory architecture description languages - Session 20 - Peter Marwedel TU Dortmund."

Ähnliche Präsentationen


Google-Anzeigen