FSU DEPARTMENT OF COMPUTER SCIENCE

Size: px
Start display at page:

Download "FSU DEPARTMENT OF COMPUTER SCIENCE"

Transcription

1 of Computer Science Department State University Florida On Debugging RealTime Applications Frank Mueller and David Whalley Tallahassee, FL On Debugging RealTime Applications LCTS'94 1

2 deadline monitoring time distortion due to interference of debugging new debugging environment: cache simulation to keep track of elapsed cycles Overview debugging part of development cycle (up to 50% of time) few debuggers address realtime issues: displays elapsed execution time (cycles) works without changing debugger slows down execution by factor of 14 much faster than hardware simulators to nd missed deadlines to locate timeconsuming code portions On Debugging RealTime Applications LCTS'94 2

3 time distortion: interference: breakpoints, debugger kernel traps, caching replace real time with virtual time external events simulated Problems with RealTime Debugging deadline monitoring and task tuning uni vs. multiprocessor On Debugging RealTime Applications LCTS'94 3

4 Overview of Debugging Environment time estimation routines source files compiler object files linker executable program sourcelevel debugger cache configuration control flow information static cache simulator instruction annotation On Debugging RealTime Applications LCTS'94 4

5 elapsed time tracing: query during debugging (any breakpoint) calculate based on cache hit and misses simulated so far can translate number of cycles into seconds debugging optimized code: allows realistic timing simulation restricts debugging to basic blocks (breakpoints) can also display most variables in registers RealTime Debugging Environment sometimes inconsistent values (due to optimizations) On Debugging RealTime Applications LCTS'94 5

6 Sample Session with dbx stop at 43 (dbx) stop at 123 if elapsed_cycles() > (dbx) display elapsed_cycles() (dbx) [...] in four at line 43 stopped mmax=2; 43 = elapsed_cycles() next (dbx) in four at line 44 stopped while(n>mmax) { 44 = elapsed_cycles() [...] four(tdata,nn,isign); 123 = elapsed_cycles() [...] cycles() = elapsed execution completed, exit code is 1 On Debugging RealTime Applications LCTS'94 6

7 Frank Mueller and David Whalley LCTS'94 break after 4 million cycles display elapsed time breakpoints do not aect virtual time keeping deadline missed after 4+ million cycles (points to area where it's misses) program terminated even later could set breakpoint at inner nesting level next to localize missed deadline On Debugging RealTime Applications (notes) 61

8 1kB 2kB 4kB 8kB code Performance Overhead unopt. opt. code with time estimates On Debugging RealTime Applications LCTS'94 7

9 used dbx under SunOS veried correctness of instruction cache simulation by comparing with tracedriven simulation Frank Mueller and David Whalley LCTS'94 implemented on SPARC modied VPO 11 test programs unopt. about 1.8 times slower than opt. code instr. opt. about 2.1 to 7.8 times slower than opt. code instr. opt. about 1 to 4 times slower than common unopt. code cache size inuences overhead (due to conicts) On Debugging RealTime Applications (notes) 71

10 board proling with timing information Future Work external event table pragma zero t imetoinsertnon intrusivedebuggingcodeextendtodatacaching; pipelining to be used with Pthreads realtime kernel on SPARC VME On Debugging RealTime Applications LCTS'94 8

11 Related Work debugging capabilities typically very restricted Remedy: interface, suspend all processors on breakpoint DCT: special hardware (bus monitoring), nonintrusive RED, ART: software instrumentation, remote debugging DARTS: (1) program trace (2) debug timestamped trace hardware simulators: very slow On Debugging RealTime Applications LCTS'94 9

12 Frank Mueller and David Whalley LCTS'94 debugging remote, indirect (oline), not within program Remedy: DCT: Distributed computing testbed RED: Remotely executed debugger ART: instrumentation permanent part of programs DARTS: Debug assistant for RTSs, no data queries On Debugging RealTime Applications (notes) 91

13 Summary developed new debugging enhancement for realtime replace real time with virtual time keep track of virtual time by instruction cache simulation feasible through static cache simulation debug unoptimized or optimized code display time repeatedly at breakpoints nd missed deadlines through conditional breakpoints locate timeconsuming code, tune it tuning may be used to make schedule feasible performance overhead of factor 1 to 4 over unoptimized code On Debugging RealTime Applications LCTS'94 10

FSU DEPARTMENT OF COMPUTER SCIENCE

FSU DEPARTMENT OF COMPUTER SCIENCE mueller@cs.fsu.edu whalley@cs.fsu.edu of Computer Science Department State University Florida Predicting Instruction Cache Behavior Frank Mueller () David Whalley () Marion Harmon(FAMU) Tallahassee, FL

More information

FSU DEPARTMENT OF COMPUTER SCIENCE

FSU DEPARTMENT OF COMPUTER SCIENCE den Linden 6 Tallahassee, FL 323044019 Unter Berlin (Germany) U.S.A. 10099 Fast Instruction Cache Analysis via Static Cache Simulation Frank Mueller David Whalley HumboldtUniversitat zu Berlin Florida

More information

Frank Mueller. Dept. of Computer Science. Florida State University. Tallahassee, FL phone: (904)

Frank Mueller. Dept. of Computer Science. Florida State University. Tallahassee, FL phone: (904) Static Cache Simulation and its Applications by Frank Mueller Dept. of Computer Science Florida State University Tallahassee, FL 32306-4019 e-mail: mueller@cs.fsu.edu phone: (904) 644-3441 July 12, 1994

More information

Supporting the Specification and Analysis of Timing Constraints *

Supporting the Specification and Analysis of Timing Constraints * Supporting the Specification and Analysis of Timing Constraints * Lo Ko, Christopher Healy, Emily Ratliff Marion Harmon Robert Arnold, and David Whalley Computer and Information Systems Dept. Computer

More information

Virtual Execution Environments: Support and Tools

Virtual Execution Environments: Support and Tools Virtual Execution Environments: Support and Tools PIs: Bruce Childers #, Jack Davidson*, Mary Lou Soffa* Apala Guha*, Jason Hiser*, Naveen Kumar #, Jing Yang*, Min Zhao #, Shukang Zhou*, Kim Hazelwood*

More information

Keil uvision development story (Adapted from (Valvano, 2014a))

Keil uvision development story (Adapted from (Valvano, 2014a)) Introduction uvision has powerful tools for debugging and developing C and Assembly code. For debugging a code, one can either simulate it on the IDE s simulator or execute the code directly on ta Keil

More information

FSU. Av oiding Unconditional Jumps by Code Replication. Frank Mueller and David B. Whalley. Florida State University DEPARTMENT OF COMPUTER SCIENCE

FSU. Av oiding Unconditional Jumps by Code Replication. Frank Mueller and David B. Whalley. Florida State University DEPARTMENT OF COMPUTER SCIENCE Av oiding Unconditional Jumps by Code Replication by Frank Mueller and David B. Whalley Florida State University Overview uncond. jumps occur often in programs [4-0% dynamically] produced by loops, conditional

More information

Compiler and Architectural Support for. Jerey S. Snyder, David B. Whalley, and Theodore P. Baker. Department of Computer Science

Compiler and Architectural Support for. Jerey S. Snyder, David B. Whalley, and Theodore P. Baker. Department of Computer Science Fast Context Switches: Compiler and Architectural Support for Preemptive Scheduling Jerey S. Snyder, David B. Whalley, and Theodore P. Baker Department of Computer Science Florida State University, Tallahassee,

More information

Techniques described here for one can sometimes be used for the other.

Techniques described here for one can sometimes be used for the other. 01-1 Simulation and Instrumentation 01-1 Purpose and Overview Instrumentation: A facility used to determine what an actual system is doing. Simulation: A facility used to determine what a specified system

More information

Avoiding Unconditional Jumps by Code Replication. Frank Mueller and David B. Whalley. from the execution of a number of programs.

Avoiding Unconditional Jumps by Code Replication. Frank Mueller and David B. Whalley. from the execution of a number of programs. voiding Unconditional Jumps by Code Replication Frank Mueller and David B Whalley Department of Computer Science, B-73 Florida State University Tallahassee, Florida 32306-09 e-mail: whalley@csfsuedu bstract

More information

for control-ow partitioning is presented for ecient on-the-y analysis, i.e. for program

for control-ow partitioning is presented for ecient on-the-y analysis, i.e. for program Ecient On-the-y Analysis of Program Behavior and Static Cache Simulation? Frank Mueller and David B. Whalley Dept. of Computer Science, Florida State University, Tallahassee, FL 32306-019 e-mail: whalley@cs.fsu.edu

More information

_ V Renesas R8C In-Circuit Emulation. Contents. Technical Notes

_ V Renesas R8C In-Circuit Emulation. Contents. Technical Notes _ V9.12. 225 Technical Notes Renesas R8C In-Circuit Emulation This document is intended to be used together with the CPU reference manual provided by the silicon vendor. This document assumes knowledge

More information

r[2] = M[x]; M[x] = r[2]; r[2] = M[x]; M[x] = r[2];

r[2] = M[x]; M[x] = r[2]; r[2] = M[x]; M[x] = r[2]; Using a Swap Instruction to Coalesce Loads and Stores Apan Qasem, David Whalley, Xin Yuan, and Robert van Engelen Department of Computer Science, Florida State University Tallahassee, FL 32306-4530, U.S.A.

More information

Techniques for Fast Instruction Cache Performance Evaluation

Techniques for Fast Instruction Cache Performance Evaluation Techniques for Fast Instruction Cache Performance Evaluation DAVID B. WHALLEY Department of Computer Science B-173, Florida State University, Tallahassee, FL 32306, U.S.A. SUMMARY Cache performance has

More information

director executor user program user program signal, breakpoint function call communication channel client library directing server

director executor user program user program signal, breakpoint function call communication channel client library directing server (appeared in Computing Systems, Vol. 8, 2, pp.107-134, MIT Press, Spring 1995.) The Dynascope Directing Server: Design and Implementation 1 Rok Sosic School of Computing and Information Technology Grith

More information

April 4, 2001: Debugging Your C24x DSP Design Using Code Composer Studio Real-Time Monitor

April 4, 2001: Debugging Your C24x DSP Design Using Code Composer Studio Real-Time Monitor 1 This presentation was part of TI s Monthly TMS320 DSP Technology Webcast Series April 4, 2001: Debugging Your C24x DSP Design Using Code Composer Studio Real-Time Monitor To view this 1-hour 1 webcast

More information

52 Remote Target. Simulation. Chapter

52 Remote Target. Simulation. Chapter Chapter 52 Remote Target Simulation This chapter describes how to run a simulator on a target and connect it to the SDL simulator interface (SimUI) on the host via TCP/IP communication. July 2003 Telelogic

More information

Chapter 8: Memory-Management Strategies

Chapter 8: Memory-Management Strategies Chapter 8: Memory-Management Strategies Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and

More information

Martin Kruliš, v

Martin Kruliš, v Martin Kruliš 1 Optimizations in General Code And Compilation Memory Considerations Parallelism Profiling And Optimization Examples 2 Premature optimization is the root of all evil. -- D. Knuth Our goal

More information

CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES

CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES OBJECTIVES Detailed description of various ways of organizing memory hardware Various memory-management techniques, including paging and segmentation To provide

More information

Cycle Approximate Simulation of RISC-V Processors

Cycle Approximate Simulation of RISC-V Processors Cycle Approximate Simulation of RISC-V Processors Lee Moore, Duncan Graham, Simon Davidmann Imperas Software Ltd. Felipe Rosa Universidad Federal Rio Grande Sul Embedded World conference 27 February 2018

More information

Flow of Control: Loops

Flow of Control: Loops Walter Savitch Frank M. Carrano Flow of Control: Loops Chapter 4 Java Loop Statements: Outline The while statement The do-while statement The for Statement Java Loop Statements A portion of a program that

More information

Compiler Support for Software-Based Cache Partitioning. Frank Mueller. Humboldt-Universitat zu Berlin. Institut fur Informatik. Unter den Linden 6

Compiler Support for Software-Based Cache Partitioning. Frank Mueller. Humboldt-Universitat zu Berlin. Institut fur Informatik. Unter den Linden 6 ACM SIGPLAN Workshop on Languages, Compilers and Tools for Real-Time Systems, La Jolla, California, June 1995. Compiler Support for Software-Based Cache Partitioning Frank Mueller Humboldt-Universitat

More information

Chapter 8: Main Memory. Operating System Concepts 9 th Edition

Chapter 8: Main Memory. Operating System Concepts 9 th Edition Chapter 8: Main Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel

More information

Simplifying the Development and Debug of 8572-Based SMP Embedded Systems. Wind River Workbench Development Tools

Simplifying the Development and Debug of 8572-Based SMP Embedded Systems. Wind River Workbench Development Tools Simplifying the Development and Debug of 8572-Based SMP Embedded Systems Wind River Workbench Development Tools Agenda Introducing multicore systems Debugging challenges of multicore systems Development

More information

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory Commercial Real-time Operating Systems An Introduction Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory swamis@iastate.edu Outline Introduction RTOS Issues and functionalities LynxOS

More information

Chapter 8: Main Memory

Chapter 8: Main Memory Chapter 8: Main Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel

More information

Lecture 11 Reducing Cache Misses. Computer Architectures S

Lecture 11 Reducing Cache Misses. Computer Architectures S Lecture 11 Reducing Cache Misses Computer Architectures 521480S Reducing Misses Classifying Misses: 3 Cs Compulsory The first access to a block is not in the cache, so the block must be brought into the

More information

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition Chapter 8: Memory- Management Strategies Operating System Concepts 9 th Edition Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation

More information

ClearSpeed Visual Profiler

ClearSpeed Visual Profiler ClearSpeed Visual Profiler Copyright 2007 ClearSpeed Technology plc. All rights reserved. 12 November 2007 www.clearspeed.com 1 Profiling Application Code Why use a profiler? Program analysis tools are

More information

A Tutorial for ECE 175

A Tutorial for ECE 175 Debugging in Microsoft Visual Studio 2010 A Tutorial for ECE 175 1. Introduction Debugging refers to the process of discovering defects (bugs) in software and correcting them. This process is invoked when

More information

The members of the Committee approve the thesis of Baosheng Cai defended on March David B. Whalley Professor Directing Thesis Xin Yuan Commit

The members of the Committee approve the thesis of Baosheng Cai defended on March David B. Whalley Professor Directing Thesis Xin Yuan Commit THE FLORIDA STATE UNIVERSITY COLLEGE OF ARTS AND SCIENCES COMPILER MODIFICATIONS TO SUPPORT INTERACTIVE COMPILATION By BAOSHENG CAI A Thesis submitted to the Department of Computer Science in partial fulllment

More information

Chapter 7: Main Memory. Operating System Concepts Essentials 8 th Edition

Chapter 7: Main Memory. Operating System Concepts Essentials 8 th Edition Chapter 7: Main Memory Operating System Concepts Essentials 8 th Edition Silberschatz, Galvin and Gagne 2011 Chapter 7: Memory Management Background Swapping Contiguous Memory Allocation Paging Structure

More information

CS3600 SYSTEMS AND NETWORKS

CS3600 SYSTEMS AND NETWORKS CS3600 SYSTEMS AND NETWORKS SPRING 2013 Lecture 13: Paging Prof. Alan Mislove (amislove@ccs.neu.edu) Paging Physical address space of a process can be noncontiguous; process is allocated physical memory

More information

Tutorial Introduction

Tutorial Introduction Tutorial Introduction PURPOSE: - To explain how to prepare a project for debugging and describe how to configure the CodeWarrior Debugger to communicate with various types of embedded hardware OBJECTIVES:

More information

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition Chapter 8: Memory- Management Strategies Operating System Concepts 9 th Edition Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation

More information

Chapter 8: Memory- Management Strategies

Chapter 8: Memory- Management Strategies Chapter 8: Memory Management Strategies Chapter 8: Memory- Management Strategies Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and

More information

4. Hardware Platform: Real-Time Requirements

4. Hardware Platform: Real-Time Requirements 4. Hardware Platform: Real-Time Requirements Contents: 4.1 Evolution of Microprocessor Architecture 4.2 Performance-Increasing Concepts 4.3 Influences on System Architecture 4.4 A Real-Time Hardware Architecture

More information

Memory Hierarchies. Instructor: Dmitri A. Gusev. Fall Lecture 10, October 8, CS 502: Computers and Communications Technology

Memory Hierarchies. Instructor: Dmitri A. Gusev. Fall Lecture 10, October 8, CS 502: Computers and Communications Technology Memory Hierarchies Instructor: Dmitri A. Gusev Fall 2007 CS 502: Computers and Communications Technology Lecture 10, October 8, 2007 Memories SRAM: value is stored on a pair of inverting gates very fast

More information

LECTURE 4: LARGE AND FAST: EXPLOITING MEMORY HIERARCHY

LECTURE 4: LARGE AND FAST: EXPLOITING MEMORY HIERARCHY LECTURE 4: LARGE AND FAST: EXPLOITING MEMORY HIERARCHY Abridged version of Patterson & Hennessy (2013):Ch.5 Principle of Locality Programs access a small proportion of their address space at any time Temporal

More information

CS399 New Beginnings. Jonathan Walpole

CS399 New Beginnings. Jonathan Walpole CS399 New Beginnings Jonathan Walpole Virtual Memory (1) Page Tables When and why do we access a page table? - On every instruction to translate virtual to physical addresses? Page Tables When and why

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 20 Main Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Pages Pages and frames Page

More information

CHAPTER 8: MEMORY MANAGEMENT. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

CHAPTER 8: MEMORY MANAGEMENT. By I-Chen Lin Textbook: Operating System Concepts 9th Ed. CHAPTER 8: MEMORY MANAGEMENT By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the

More information

C6000 Compiler Roadmap

C6000 Compiler Roadmap C6000 Compiler Roadmap CGT v7.4 CGT v7.3 CGT v7. CGT v8.0 CGT C6x v8. CGT Longer Term In Development Production Early Adopter Future CGT v7.2 reactive Current 3H2 4H 4H2 H H2 Future CGT C6x v7.3 Control

More information

Debugging and Testing Optimizers through Comparison Checking

Debugging and Testing Optimizers through Comparison Checking Electronic Notes in Theoretical Computer Science 65 No. 2 (2002) URL: http://www.elsevier.nl/locate/entcs/volume65.html 17 pages Debugging and Testing Optimizers through Comparison Checking Clara Jaramillo

More information

Basic Memory Management. Basic Memory Management. Address Binding. Running a user program. Operating Systems 10/14/2018 CSC 256/456 1

Basic Memory Management. Basic Memory Management. Address Binding. Running a user program. Operating Systems 10/14/2018 CSC 256/456 1 Basic Memory Management Program must be brought into memory and placed within a process for it to be run Basic Memory Management CS 256/456 Dept. of Computer Science, University of Rochester Mono-programming

More information

Cache Profiling with Callgrind

Cache Profiling with Callgrind Center for Information Services and High Performance Computing (ZIH) Cache Profiling with Callgrind Linux/x86 Performance Practical, 17.06.2009 Zellescher Weg 12 Willers-Bau A106 Tel. +49 351-463 - 31945

More information

NightStar. NightView Source Level Debugger. Real-Time Linux Debugging and Analysis Tools BROCHURE

NightStar. NightView Source Level Debugger. Real-Time Linux Debugging and Analysis Tools BROCHURE NightStar Real-Time Linux Debugging and Analysis Tools Concurrent s NightStar is a powerful, integrated tool set for debugging and analyzing time-critical Linux applications. NightStar tools run with minimal

More information

Review: A simple architecture

Review: A simple architecture Single -bus slow simple cheap Review: A simple architecture cpu Bus M p M s D io CS 350 Part I 1 Review: A simple architecture where cpu = control ALU Register file CS 350 Part I 2 Slightly fancier architecture

More information

CS307: Operating Systems

CS307: Operating Systems CS307: Operating Systems Chentao Wu 吴晨涛 Associate Professor Dept. of Computer Science and Engineering Shanghai Jiao Tong University SEIEE Building 3-513 wuct@cs.sjtu.edu.cn Download Lectures ftp://public.sjtu.edu.cn

More information

1. Memory technology & Hierarchy

1. Memory technology & Hierarchy 1 Memory technology & Hierarchy Caching and Virtual Memory Parallel System Architectures Andy D Pimentel Caches and their design cf Henessy & Patterson, Chap 5 Caching - summary Caches are small fast memories

More information

Humboldt-Universitȧ. t zu Berlin Institut fu.. r Informatik

Humboldt-Universitȧ. t zu Berlin Institut fu.. r Informatik mueller@informatik.huberlin.de WWW: HumboldtUniversitȧ. t zu Berlin Institut fu.. r Informatik A ThreadAware Debugger with an Open Interface Daniel Schulz Frank Mueller Qcentic Gmbh Institut für Informatik

More information

A Multiprocessor Memory Processor for Efficient Sharing And Access Coordination

A Multiprocessor Memory Processor for Efficient Sharing And Access Coordination 1 1 A Multiprocessor Memory Processor for Efficient Sharing And Access Coordination David M. Koppelman Department of Electrical & Computer Engineering Louisiana State University, Baton Rouge koppel@ee.lsu.edu

More information

3 TUTORIAL. In This Chapter. Figure 1-0. Table 1-0. Listing 1-0.

3 TUTORIAL. In This Chapter. Figure 1-0. Table 1-0. Listing 1-0. 3 TUTORIAL Figure 1-0. Table 1-0. Listing 1-0. In This Chapter This chapter contains the following topics: Overview on page 3-2 Exercise One: Building and Running a C Program on page 3-4 Exercise Two:

More information

Memory and multiprogramming

Memory and multiprogramming Memory and multiprogramming COMP342 27 Week 5 Dr Len Hamey Reading TW: Tanenbaum and Woodhull, Operating Systems, Third Edition, chapter 4. References (computer architecture): HP: Hennessy and Patterson

More information

Basic Memory Management

Basic Memory Management Basic Memory Management CS 256/456 Dept. of Computer Science, University of Rochester 10/15/14 CSC 2/456 1 Basic Memory Management Program must be brought into memory and placed within a process for it

More information

Chapter 8: Main Memory

Chapter 8: Main Memory Chapter 8: Main Memory Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and 64-bit Architectures Example:

More information

Parametric Timing Analysis

Parametric Timing Analysis Parametric Timing Analysis EMILIO VIVANCOS 1,CHISTOPHER HEALY 2,FRANK MUELLER 3,AND DAVID WHALLEY 4 1 Departamento de Sistemas Informaticos y Computacion, Universidad Politecnica de Valencia, 46022-Valencia,

More information

Chapter 8 Main Memory

Chapter 8 Main Memory COP 4610: Introduction to Operating Systems (Spring 2014) Chapter 8 Main Memory Zhi Wang Florida State University Contents Background Swapping Contiguous memory allocation Paging Segmentation OS examples

More information

Main Memory (Part II)

Main Memory (Part II) Main Memory (Part II) Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) Main Memory 1393/8/17 1 / 50 Reminder Amir H. Payberah

More information

Eclipse-Based CodeWarrior Debugger

Eclipse-Based CodeWarrior Debugger July 14-16, 2009 Eclipse-Based CodeWarrior Debugger QorIQ Multicore Linux Kernel Debug Bogdan Irimia CodeWarrior Software Engineer Tool used to develop software running on Freescale Power Architecture

More information

Supplement: Visual C++ Debugging

Supplement: Visual C++ Debugging Supplement: Visual C++ Debugging For Introduction to C++ Programming By Y. Daniel Liang Note: The screen shots are taken from VC++ 2010. It is the same for the later version. 1 Introduction The debugger

More information

Intro to MS Visual C++ Debugging

Intro to MS Visual C++ Debugging Intro to MS Visual C++ Debugging 1 Debugger Definition A program used to control the execution of another program for diagnostic purposes. Debugger Features / Operations Single-Stepping 100011101010101010

More information

CSC227: Operating Systems Fall Chapter 1 INTERRUPTS. Dr. Soha S. Zaghloul

CSC227: Operating Systems Fall Chapter 1 INTERRUPTS. Dr. Soha S. Zaghloul CSC227: Operating Systems Fall 2016 Chapter 1 INTERRUPTS Dr. Soha S. Zaghloul LAYOUT 1.3 Devices Controlling Techniques 1.3.1 Polling 1.3.2 Interrupts H/W Interrupts Interrupt Controller Process State

More information

The New ABAP Debugger

The New ABAP Debugger The New ABAP Debugger "How to find and correct the most elusive problems in ABAP" Tony Cecchini The New ABAP Debugger Part 1 This ebook will deal with the NEW ABAP debugger in ECC. Part 1 will explore

More information

Using POSIX Threading to Build Scalable Multi-Core Applications

Using POSIX Threading to Build Scalable Multi-Core Applications d font sizes: Title: Arial 14, bold Using POSIX Threading to Build Scalable Multi-Core Applications Kerry Johnson Senior Product Manager QNX Software Systems kjohnson@qnx.com Introduction Until recently,

More information

MILOŠ RADIVOJEVIĆ, PRINCIPAL DATABASE CONSULTANT, BWIN GVC, VIENNA, AUSTRIA

MILOŠ RADIVOJEVIĆ, PRINCIPAL DATABASE CONSULTANT, BWIN GVC, VIENNA, AUSTRIA MILOŠ RADIVOJEVIĆ, PRINCIPAL DATABASE CONSULTANT, BWIN GVC, VIENNA, AUSTRIA Performance Tuning with SQL Server 2017 Sponsors About Me Principal Database Consultant, bwin GVC, Vienna, Austria Data Platform

More information

Computing and compilers

Computing and compilers Computing and compilers Comp Sci 1570 to Outline 1 2 3 4 5 Evaluate the difference between hardware and software Find out about the various types of software Get a high level understanding of how program

More information

Virtual Memory. Chapter 8

Virtual Memory. Chapter 8 Virtual Memory 1 Chapter 8 Characteristics of Paging and Segmentation Memory references are dynamically translated into physical addresses at run time E.g., process may be swapped in and out of main memory

More information

Observability in Multiprocessor Real-Time Systems with Hardware/Software Co-Simulation

Observability in Multiprocessor Real-Time Systems with Hardware/Software Co-Simulation Observability in Multiprocessor Real-Time Systems with /Software Co-Simulation Mohammed El Shobaki Mälardalen University, IDt/CUS P.O. Box 833, S-721 23 Västerås, Sweden E-mail: mohammed.el.shobaki@mdh.se

More information

Motivations for Virtual Memory Virtual Memory Oct. 29, Why VM Works? Motivation #1: DRAM a Cache for Disk

Motivations for Virtual Memory Virtual Memory Oct. 29, Why VM Works? Motivation #1: DRAM a Cache for Disk class8.ppt 5-23 The course that gives CMU its Zip! Virtual Oct. 29, 22 Topics Motivations for VM Address translation Accelerating translation with TLBs Motivations for Virtual Use Physical DRAM as a Cache

More information

OpenACC Course. Office Hour #2 Q&A

OpenACC Course. Office Hour #2 Q&A OpenACC Course Office Hour #2 Q&A Q1: How many threads does each GPU core have? A: GPU cores execute arithmetic instructions. Each core can execute one single precision floating point instruction per cycle

More information

SIC: Provably Timing-Predictable Strictly In-Order Pipelined Processor Core

SIC: Provably Timing-Predictable Strictly In-Order Pipelined Processor Core SIC: Provably Timing-Predictable Strictly In-Order Pipelined Processor Core Sebastian Hahn and Jan Reineke RTSS, Nashville December, 2018 saarland university computer science SIC: Provably Timing-Predictable

More information

CSE 431 Computer Architecture Fall Chapter 5A: Exploiting the Memory Hierarchy, Part 1

CSE 431 Computer Architecture Fall Chapter 5A: Exploiting the Memory Hierarchy, Part 1 CSE 431 Computer Architecture Fall 2008 Chapter 5A: Exploiting the Memory Hierarchy, Part 1 Mary Jane Irwin ( www.cse.psu.edu/~mji ) [Adapted from Computer Organization and Design, 4 th Edition, Patterson

More information

Virtual Memory Oct. 29, 2002

Virtual Memory Oct. 29, 2002 5-23 The course that gives CMU its Zip! Virtual Memory Oct. 29, 22 Topics Motivations for VM Address translation Accelerating translation with TLBs class9.ppt Motivations for Virtual Memory Use Physical

More information

Final Lecture. A few minutes to wrap up and add some perspective

Final Lecture. A few minutes to wrap up and add some perspective Final Lecture A few minutes to wrap up and add some perspective 1 2 Instant replay The quarter was split into roughly three parts and a coda. The 1st part covered instruction set architectures the connection

More information

Topic 18: Virtual Memory

Topic 18: Virtual Memory Topic 18: Virtual Memory COS / ELE 375 Computer Architecture and Organization Princeton University Fall 2015 Prof. David August 1 Virtual Memory Any time you see virtual, think using a level of indirection

More information

Memory Cache. Memory Locality. Cache Organization -- Overview L1 Data Cache

Memory Cache. Memory Locality. Cache Organization -- Overview L1 Data Cache Memory Cache Memory Locality cpu cache memory Memory hierarchies take advantage of memory locality. Memory locality is the principle that future memory accesses are near past accesses. Memory hierarchies

More information

DSP Mapping, Coding, Optimization

DSP Mapping, Coding, Optimization DSP Mapping, Coding, Optimization On TMS320C6000 Family using CCS (Code Composer Studio) ver 3.3 Started with writing a simple C code in the class, from scratch Project called First, written for C6713

More information

Dynamic Tracing and Instrumentation

Dynamic Tracing and Instrumentation Dynamic Tracing and Instrumentation Bryan Cantrill and Mike Shapiro (bmc, mws@eng.sun.com) Solaris Kernel Group Kernel Debugging Today if (no_advanced_debugging) printf(9f) ASSERT(i_am_a_debug_kernel!=

More information

ARMv8-A Software Development

ARMv8-A Software Development ARMv8-A Software Development Course Description ARMv8-A software development is a 4 days ARM official course. The course goes into great depth and provides all necessary know-how to develop software for

More information

Lecture 16: Memory Hierarchy Misses, 3 Cs and 7 Ways to Reduce Misses. Professor Randy H. Katz Computer Science 252 Fall 1995

Lecture 16: Memory Hierarchy Misses, 3 Cs and 7 Ways to Reduce Misses. Professor Randy H. Katz Computer Science 252 Fall 1995 Lecture 16: Memory Hierarchy Misses, 3 Cs and 7 Ways to Reduce Misses Professor Randy H. Katz Computer Science 252 Fall 1995 Review: Who Cares About the Memory Hierarchy? Processor Only Thus Far in Course:

More information

EE 355 Lab 3 - Algorithms & Control Structures

EE 355 Lab 3 - Algorithms & Control Structures 1 Introduction In this lab you will gain experience writing C/C++ programs that utilize loops and conditional structures. This assignment should be performed INDIVIDUALLY. This is a peer evaluated lab

More information

Lecture 16: Memory Hierarchy Misses, 3 Cs and 7 Ways to Reduce Misses Professor Randy H. Katz Computer Science 252 Spring 1996

Lecture 16: Memory Hierarchy Misses, 3 Cs and 7 Ways to Reduce Misses Professor Randy H. Katz Computer Science 252 Spring 1996 Lecture 16: Memory Hierarchy Misses, 3 Cs and 7 Ways to Reduce Misses Professor Randy H. Katz Computer Science 252 Spring 1996 RHK.S96 1 Review: Who Cares About the Memory Hierarchy? Processor Only Thus

More information

Predicting the Worst-Case Execution Time of the Concurrent Execution. of Instructions and Cycle-Stealing DMA I/O Operations

Predicting the Worst-Case Execution Time of the Concurrent Execution. of Instructions and Cycle-Stealing DMA I/O Operations ACM SIGPLAN Workshop on Languages, Compilers and Tools for Real-Time Systems, La Jolla, California, June 1995. Predicting the Worst-Case Execution Time of the Concurrent Execution of Instructions and Cycle-Stealing

More information

Chapter 9 Memory Management Main Memory Operating system concepts. Sixth Edition. Silberschatz, Galvin, and Gagne 8.1

Chapter 9 Memory Management Main Memory Operating system concepts. Sixth Edition. Silberschatz, Galvin, and Gagne 8.1 Chapter 9 Memory Management Main Memory Operating system concepts. Sixth Edition. Silberschatz, Galvin, and Gagne 8.1 Chapter 9: Memory Management Background Swapping Contiguous Memory Allocation Segmentation

More information

C5500 Compiler Build Options One Use Case

C5500 Compiler Build Options One Use Case C5500 Compiler Build Options One Use Case May 2008 Page 1 Page 1 TI Internal Use Only Overview These slides are the collective wisdom on C5500 Compiler Build options from a highly experienced development

More information

9/5/17. The Design and Implementation of Programming Languages. Compilation. Interpretation. Compilation vs. Interpretation. Hybrid Implementation

9/5/17. The Design and Implementation of Programming Languages. Compilation. Interpretation. Compilation vs. Interpretation. Hybrid Implementation Language Implementation Methods The Design and Implementation of Programming Languages Compilation Interpretation Hybrid In Text: Chapter 1 2 Compilation Interpretation Translate high-level programs to

More information

Repetition and Loop Statements Chapter 5

Repetition and Loop Statements Chapter 5 Repetition and Loop Statements Chapter 5 1 Chapter Objectives To understand why repetition is an important control structure in programming To learn about loop control variables and the three steps needed

More information

IBM Education Assistance for z/os V2R1

IBM Education Assistance for z/os V2R1 IBM Education Assistance for z/os V2R1 Item: Debug Optimized Code Element/Component: z/os UNIX System Services DBX Material is current as of June 2013 Agenda Trademarks Presentation Objectives Overview

More information

Assembling and Debugging VPs of Complex Cycle Accurate Multicore Systems. July 2009

Assembling and Debugging VPs of Complex Cycle Accurate Multicore Systems. July 2009 Assembling and Debugging VPs of Complex Cycle Accurate Multicore Systems July 2009 Model Requirements in a Virtual Platform Control initialization, breakpoints, etc Visibility PV registers, memories, profiling

More information

Computing platforms. Design methodology. Consumer electronics architectures. System-level performance and power analysis.

Computing platforms. Design methodology. Consumer electronics architectures. System-level performance and power analysis. Computing platforms Design methodology. Consumer electronics architectures. System-level performance and power analysis. Evaluation boards Designed by CPU manufacturer or others. Includes CPU, memory,

More information

Reducing Instruction Fetch Cost by Packing Instructions into Register Windows

Reducing Instruction Fetch Cost by Packing Instructions into Register Windows Reducing Instruction Fetch Cost by Packing Instructions into Register Windows Stephen Hines, Gary Tyson, David Whalley Computer Science Dept. Florida State University November 14, 2005 ➊ Introduction Reducing

More information

UNIT - 5 EDITORS AND DEBUGGING SYSTEMS

UNIT - 5 EDITORS AND DEBUGGING SYSTEMS UNIT - 5 EDITORS AND DEBUGGING SYSTEMS 5.1 Introduction An Interactive text editor has become an important part of almost any computing environment. Text editor acts as a primary interface to the computer

More information

SECTION 5: STRUCTURED PROGRAMMING IN MATLAB. ENGR 112 Introduction to Engineering Computing

SECTION 5: STRUCTURED PROGRAMMING IN MATLAB. ENGR 112 Introduction to Engineering Computing SECTION 5: STRUCTURED PROGRAMMING IN MATLAB ENGR 112 Introduction to Engineering Computing 2 Conditional Statements if statements if else statements Logical and relational operators switch case statements

More information

CISC 360. Virtual Memory Dec. 4, 2008

CISC 360. Virtual Memory Dec. 4, 2008 CISC 36 Virtual Dec. 4, 28 Topics Motivations for VM Address translation Accelerating translation with TLBs Motivations for Virtual Use Physical DRAM as a Cache for the Disk Address space of a process

More information

FPQ9 - MPC8360E implementation

FPQ9 - MPC8360E implementation Training MPC8360E implementation: This course covers PowerQUICC II Pro MPC8360E - PowerPC processors: NXP Power CPUs FPQ9 - MPC8360E implementation This course covers PowerQUICC II Pro MPC8360E Objectives

More information

Parallel Debugging. ª Objective. ª Contents. ª Learn the basics of debugging parallel programs

Parallel Debugging. ª Objective. ª Contents. ª Learn the basics of debugging parallel programs ª Objective ª Learn the basics of debugging parallel programs ª Contents ª Launching a debug session ª The Parallel Debug Perspective ª Controlling sets of processes ª Controlling individual processes

More information

14 May 2012 Virtual Memory. Definition: A process is an instance of a running program

14 May 2012 Virtual Memory. Definition: A process is an instance of a running program Virtual Memory (VM) Overview and motivation VM as tool for caching VM as tool for memory management VM as tool for memory protection Address translation 4 May 22 Virtual Memory Processes Definition: A

More information

Trace Getting Started V8.02

Trace Getting Started V8.02 Trace Getting Started V8.02 1. Introduction This paper helps the user to entirely exploit the trace and troubleshoot most often situations that the developer is confronted with while debugging the application.

More information