Instruction Scheduling and Executable Editing

Total Page:16

File Type:pdf, Size:1020Kb

Instruction Scheduling and Executable Editing Instruction Scheduling and Executable Editing by Eric Schnarr and James R. Lams Computer Sciences Department University of Wisconsin-Madi son 1210 West Dayton Street Madison, WI 53706 USA (608) 262-95 19 {schnarr,larus}@cs.wisc.edu Abstract floating-point SPEC benchmarks completed an average of 1.O-1.9 instructions per cycle [4]. Modem microprocessors ofer more instruction-level This large disparity between a machine’s peak and parallelism than most programs and compilers can actual performance, while frustrating for computer currently exploit. The resulting disparity between a architects and chip manufacturers, opens the exciting machine’s peak and actual performance, while frustrating possibility of low-cost or even no-cost instrumentation for for computer architects and chip manufacturers, opens the measurement, simulation, or emulation. Scheduling exciting possibility of low-cost instrumentation for reduces instrumentation’s perceived cost by putting measurement, simulation, or emulation. Instrumentation instrumentation instructions in previously unused code that executes in previously unused processor cycles is processor cycles. Instrumentation code that executes in effectively hidden. On two superscalar SPARC processors, unused cycles is effectively hidden. a simple, local scheduler hid an average of 13% of the Program instrumentation has been used for many overhead cost of pro$ling instrumentation in the SPECINT purposes, including performance measurement, computer benchmarks and an average 33% of the profiling cost in of architecture simulations, and software fault isolation and the SPECFP benchmarks. error detection [ 11. Although direct instrumentation typically incurs lower cost than alternative approaches, the increased program running time caused by instrumentation 1. Introduction is occasionally a limiting factor and is always an Modern microprocessors offer more instruction-level annoyance. At one extreme, in parallel or real-time parallelism than most programs and compilers can systems, instrumentation overhead can perturb system currently exploit. For example, the most recent generation behavior by introducing time dilation. Even for less of RISC chips-the Digital Alpha 21 164, IBIWMotorola demanding applications, the cost of program profiling or Power PC 620, SGI R10000, and Sun UltraSPARC-are 4- error detection is currently too high for production codes. way superscalar processors that execute up to four Previous instrumentation systems expended considerable independent instructions in a single cycle. Even recent effort to formulate efficient instrumentation code high-end x86 processors-the Intel Pentium Pro and AMD sequences [ 111, place them parsimoniously [2], and insert KS-are 3-way superscalars. Unfortunately, exploited instrumentation without affecting a program’s behavior [9]. instruction-level parallelism lags far behind the hardware However, few systems attempted to exploit instruction- capacity. Cvetanovic and Bhandarkar found that programs level parallelism by scheduling the instrumentation code running on a 2-way superscalar Digital Alpha 21064 could into a program. dual issue only 2650% of their instructions, which means This paper describes a simple instruction scheduler that that in 67-90% of cycles, only one instruction executed we added to the EEL executable editing library [lo]. We 131. Similarly, Diep et al. found that on a 4-way superscalar applied the scheduler to a common program Power PC 620, four integer SPEC benchmarks completed instrumentation, which profiles basic block execution an average of 1.05-1.25 instructions per cycle and three frequencies using a four-instruction sequence inserted into almost every basic block. On the 3-way superscalar 288 1072-4451/96 $5.00 0 1996 IEEE SuperSPARC processor, scheduling hides an average of machines [ 131. Our description language is more verbose, 11% of the SPECINT overhead and an average of 44% of but it also captures the syntax and semantics of machine the SPECFP overhead. On the 4-way UltraSPARC instructions and scheduling constraints for superscalar scheduling hides an average of 15% of overhead for the machines. Our algorithm is also more general, if less SPECINT benchmarks, but only 17% of overhead for the efficient, since it works for superscalar processors as well SPECFP benchmarks. This is the because EEL produces a as single pipeline machines. worse schedule than was originally found in these highly Gyllenhaal described the machine description language optimized programs. Factoring out the differences in (HMDES) used in the Illinois IMPACT compiler [6].This scheduling algorithms, we find that the integer benchmarks language, like Spawn’s description language, describes remain about the same (13%), while scheduling profile instruction encoding and scheduling constraints. HMDES instrumentation in the SPECFP benchmarks hides 27%. In describes instructions from several perspectives, which the future, these results may improve, and scheduling together provide the basic information needed by become even more attractive, with a more accurate and instruction schedulers: instruction latencies and resource aggressive instrumentation scheduler and wider usage. Spawn represents this information more concisely microarchitectures that offer further opportunities to hide as a single semantic expression for a group of instruction, instrumentation. which describes when these in:jtructionacquire and release To implement instruction scheduling, we extended EEL microarchitectural resources. Spawn descriptions also with the specific details of a processor’s microarchitecture. capture instruction semantics and binary instruction EEL records this and other architectural information using encodings. a concise, high-level specification describing the machine’s Schuette detected processor errors using unused instruction set architecture. A tool called Spawn [lo] instruction slots on a VLIW processor [15]. His control- translates these specifications into executable C++ code, flow monitoring technique inserts check operations into which becomes the part of EEL that decodes and interprets unfilled VLIW instructions. This is similar to EEL‘S machine instructions. As part of this work, we extended the rescheduling of instrumentation, except that EEL also architecture specification language to capture salient reschedules the original instructions and can handle many features of a machine’s microarchitecture and used this different forms of instrumentation. Because a VLIW has information to drive an instruction scheduler in EEL. This fixed size instructions, Schuette’s instrumentation did not paper first describes this language extension and how EEL increase code size. Whereas on a superscalar machine, uses the information to schedule instructions. Then some instrumentation code has a secondary effect of reducing timing measurements are given for scheduling performance by increasing instruction cache misses. instrumentation into the SPEC95 benchmarks. The paper is organized as follows. Section 2 describes 3. Spawn Extensions related work. Section 3 presents the extensions to Spawn Any executable editing tool depends on an accurate and shows how they represent the information necessary description of a machine’s instruction set architecture. for instruction scheduling. Section 4 describes our While most parts of EEL are inachine independent, it still experiments on scheduling program instrumentation and must disassemble, analyze, and modify binary machine presents the results. Finally, Section 5 concludes. instructions. Past experiences with executable editing tools demonstrated that the code that manipulates binary 2. Related Work instructions is simple, but tedious and difficult to debug. This paper extends several areas of previous work. Patil For example, in the profiling and tracing tool qpt [9], over and Fischer used a different form of parallelism to hide 2,000 lines of hand-written C code exist to manipulate instrumentation overhead. On a multiprocessor, the ran on binary instructions. Subtle errors in this code were difficult a second processor the code to check pointer and array to detect by inspection and often lay undiscovered for accesses [12]. The additional processor reduced the months before a new input executable exercised them. perceived overhead of error checking by 2-55%. Our To remedy this problem and make EEL more easily approach is more widely applicable since instruction-level portable across different processors, it uses a concise parallel processors are, or soon will be, ubiquitous and description of a machine’s instruction set architecture because instruction-level parallelism permits a tighter written in a high-level archittxture description language. coupling between program and instrumentation. These descriptions are short--the SPARC is 333 lines- Proebsting and Fraser described an efficient algorithm and similar in form to the tfescriptions often found in for detecting structural hazards in single pipeline architecture manuals, which makes them easier to validate. processors and a language for concisely describing these Errors overlooked in a code review are also more likely to 289 arise during testing, since a single description of an functions that can encapsulate some of the timing and instruction’s encoding and semantics underlies many resource usage characteristics. The coupling of different EEL instruction manipulation functions and architectural and resource allocation information is different instructions often share
Recommended publications
  • Memory Profiling on Shared-Memory Multiprocessors
    MEMORY PROFILING ON SHARED-MEMORY MULTIPROCESSORS A DISSERTATION SUBMITTED TO THE DEPARTMENT OF ELECTRICAL ENGINEERING AND THE COMMITTEE ON GRADUATE STUDIES OF STANFORD UNIVERSITY IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY Jeffrey S. Gibson June 2004 c Copyright by Jeffrey S. Gibson 2004 All Rights Reserved ii I certify that I have read this dissertation and that in my opinion it is fully adequate, in scope and quality, as a dissertation for the degree of Doctor of Philosophy. Dr. John Hennessy (Principal Advisor) I certify that I have read this dissertation and that in my opinion it is fully adequate, in scope and quality, as a dissertation for the degree of Doctor of Philosophy. Dr. Mark Horowitz I certify that I have read this dissertation and that in my opinion it is fully adequate, in scope and quality, as a dissertation for the degree of Doctor of Philosophy. Dr. Mendel Rosenblum Approved for the University Committee on Graduate Studies: iii Abstract Tuning application memory performance can be difficult on any system but is particularly so on distributed shared-memory (DSM) multiprocessors. This is due to the implicit nature of communication, the unforeseen interactions among the processors, and the long remote memory latencies. Tools, called memory profilers, that allow the user to map memory behavior back to application data structures can be invaluable aids to the programmer. Un- fortunately, memory profiling is difficult to implement efficiently since most systems lack the requisite hardware support. This dissertation introduces two techniques for efficient memory profiling, each requiring hardware support on either the processor or the system node controller.
    [Show full text]
  • Microsparc-II-Usersm
    Products Rights Notice: Copyright © 1991-2008 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, California 95054, U.S.A. All Rights Reserved You understand that these materials were not prepared for public release and you assume all risks in using these materials. These risks include, but are not limited to errors, inaccuracies, incompleteness and the possibility that these materials infringe or misappropriate the intellectual property right of others. You agree to assume all such risks. THESE MATERIALS ARE PROVIDED BY THE COPYRIGHT HOLDERS AND OTHER CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS (INCLUDING ANY OF OWNER'S PARTNERS, VENDORS AND LICENSORS) BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THESE MATERIALS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Sun, Sun Microsystems, the Sun logo, Solaris, OpenSPARC T1, OpenSPARC T2 and UltraSPARC are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon architecture developed by Sun Microsystems, Inc.
    [Show full text]
  • The Supersparc Microprocessor
    The SuperSPARC™ Microprocessor Technical White Paper 2550 Garcia Avenue Mountain View, CA 94043 U.S.A. © 1992 Sun Microsystems, Inc.—Printed in the United States of America. 2550 Garcia Avenue, Mountain View, California 94043-1100 U.S.A All rights reserved. This product and related documentation is protected by copyright and distributed under licenses restricting its use, copying, distribution and decompilation. No part of this product or related documentation may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Portions of this product may be derived from the UNIX® and Berkeley 4.3 BSD systems, licensed from UNIX Systems Laboratories, Inc. and the University of California, respectively. Third party font software in this product is protected by copyright and licensed from Sun’s Font Suppliers. RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR 52.227-19. The product described in this manual may be protected by one or more U.S. patents, foreign patents, or pending applications. TRADEMARKS Sun, Sun Microsystems, the Sun logo, are trademarks or registered trademarks of Sun Microsystems, Inc. UNIX and OPEN LOOK are registered trademarks of UNIX System Laboratories, Inc. All other product names mentioned herein are the trademarks of their respective owners. All SPARC trademarks, including the SCD Compliant Logo, are trademarks or registered trademarks of SPARC International, Inc. SPARCstation, SPARCserver, SPARCengine, SPARCworks, and SPARCompiler are licensed exclusively to Sun Microsystems, Inc.
    [Show full text]
  • Deliveringperformanceonsun:Optimizing Applicationsforsolaris
    DeliveringPerformanceonSun:Optimizing ApplicationsforSolaris TechnicalWhitePaper 1997-1999 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California 94303 U.S.A All rights reserved. This product and related documentation is protected by copyright and distributed under licenses restricting its use, copying, distribution and decompilation. No part of this product or related documentation may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Portions of this product may be derived from the UNIX® and Berkeley 4.3 BSD systems, licensed from UNIX Systems Laboratories, Inc. and the University of California, respectively. Third party font software in this product is protected by copyright and licensed from Sun’s Font Suppliers. RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR 52.227-19. The product described in this manual may be protected by one or more U.S. patents, foreign patents, or pending applications. TRADEMARKS Sun, Sun Microsystems, the Sun logo, Sun WorkShop, and Sun Enterprise are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. UltraSPARC, SPARCompiler, SPARCstation, SPARCserver, microSPARC, and SuperSPARC are trademarks or registered trademarks of SPARC International, Inc. in the United States and other countries. All other product names mentioned herein are the trademarks of their respective owners. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc.
    [Show full text]
  • Sun-4 Handbook - Home Page
    Sun-4 Handbook - Home Page Sun Internal ONLY !! The Sun-4 Handbook describes and illustrates the Sun-4 and Sun-4e products for service providers who service these products after the End of Support Life in April 1997. End of Support Life is the end of Sun's commitment to support the product. Sun may help customers locate alternative sources for support on a case-by-case basis if ongoing support is needed beyond 5 years. Spares availability after End of Support Life may be limited and repair service will be at Sun's discretion. http://lios.apana.org.au/~cdewick/sunshack/data/feh/1.4/wcd00000/wcd00036.htm (1 von 2) [25.04.2002 15:56:23] Sun-4 Handbook - Home Page [ Configurations ] [ CPU ] [ Memory ] [ Graphics ] [ IPI ] [ SCSI ] [ SCSI Disk ] [ Removable Media ] [ Communication ] [ Miscellaneous ] [ Backplane ] [ Slot Assignment ] [ Parts Introduction ] [ System ] [ Disk Options ] [ Removable Media Options ] [ Miscellaneous Options ] [ Board ] [ Input Device ] [ Monitor ] [ Printer ] [ CPU Trouble ] [ Disk Trouble ] [ Diagnostics ] [ Power Introduction ] [ AC Power ] [ DC Power ] The original hardcopy publication of the Sun-4 Handbook is part number 805-3028-01. © 1987-1999, Sun Microsystems Inc. http://lios.apana.org.au/~cdewick/sunshack/data/feh/1.4/wcd00000/wcd00036.htm (2 von 2) [25.04.2002 15:56:23] Sun4/II: DC Power - Contents DC Power Power Supplies 300-1020 -- Brown -- 575 Watts 300-1020 -- Fuji -- 575 Watts 300-1022 -- Summit -- 325 Watts 300-1022 -- Brown -- 325 Watts 300-1024 -- Fuji -- 850 Watts 300-1031 -- Delta -- 120 Watts
    [Show full text]
  • Table of Contents
    1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 2 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Eine phatastische Reise ins Innere der Hardware Franz Haberhauer Stefan Hinker Oracle Hardware in 3D 5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. T5 and M5 PCIe Carrier Card . Supports standard low-profile PCIe cards Air Flow PCIe Retimer x16 Connector (x8 electrical) 6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. PCIe Data Paths: Full System . Two root complexes per T5 processor . Each PCIe port on a T5 processor controls a single PCIe slot 7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. T5-2 Block Diagram DIMM DIMM DIMM DIMM DIMM DIMM DIMM DIMM DIMM DIMM DIMM DIMM DIMM DIMM DIMM DIMM BoB BoB BoB BoB BoB BoB BoB BoB BoB BoB BoB BoB BoB BoB BoB BoB T5-0 T5-1 CPU CPU TPM Host & CPU PCIe Debug CPU PCIe Debug Data Flash DC/DCs 0 1 Port DC/DCs 0 1 Port x8 x8 FPGA x8 x4 x8 x1 HDD0 DBG SAS/SATA x1 HDD0 IO Controller x4 x4 PCIe PCIe SP Module HDD0 get rid of all inside x8 x8 SAS/SATA smallSwitch boxes 0 Switch 1 FRUID HDD0 IO Controller Sideband Mgmt DRAM HDD0 USB 1.1 Keyboard Mouse Service SPI x8 USB 3.0 x8 USB 2.0 Storage Flash HDD0 Host Processor SATA DVD NAND USB 2.0 Hub USB USB 3.0 USB Internal USB Hub VGA VGA REAR IO Board USB2 USB3 VGA USB0 USB1 VGA Serial Enet Quad 10Gig Enet DB15 Mgmt Mgmt Slot 2 (8) 2 Slot (8) 3 Slot (8) 4 Slot (8) 5 Slot (8) 6 Slot (8) 7 Slot (8) 8 Slot Slot 1 (8) 1 Slot 10/100 FAN BOARD REAR IO 8 Copyright © 2013, Oracle and/or its affiliates.
    [Show full text]
  • Computer Architectures an Overview
    Computer Architectures An Overview PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sat, 25 Feb 2012 22:35:32 UTC Contents Articles Microarchitecture 1 x86 7 PowerPC 23 IBM POWER 33 MIPS architecture 39 SPARC 57 ARM architecture 65 DEC Alpha 80 AlphaStation 92 AlphaServer 95 Very long instruction word 103 Instruction-level parallelism 107 Explicitly parallel instruction computing 108 References Article Sources and Contributors 111 Image Sources, Licenses and Contributors 113 Article Licenses License 114 Microarchitecture 1 Microarchitecture In computer engineering, microarchitecture (sometimes abbreviated to µarch or uarch), also called computer organization, is the way a given instruction set architecture (ISA) is implemented on a processor. A given ISA may be implemented with different microarchitectures.[1] Implementations might vary due to different goals of a given design or due to shifts in technology.[2] Computer architecture is the combination of microarchitecture and instruction set design. Relation to instruction set architecture The ISA is roughly the same as the programming model of a processor as seen by an assembly language programmer or compiler writer. The ISA includes the execution model, processor registers, address and data formats among other things. The Intel Core microarchitecture microarchitecture includes the constituent parts of the processor and how these interconnect and interoperate to implement the ISA. The microarchitecture of a machine is usually represented as (more or less detailed) diagrams that describe the interconnections of the various microarchitectural elements of the machine, which may be everything from single gates and registers, to complete arithmetic logic units (ALU)s and even larger elements.
    [Show full text]
  • Numerical Computation Guide
    Numerical Computation Guide Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 U.S.A. 650-960-1300 Part No. 806-3568-10 May 2000, Revision A Send comments about this document to: [email protected] Copyright © 2000 Sun Microsystems, Inc., 901 San Antonio Road • Palo Alto, CA 94303-4900 USA. All rights reserved. This product or document is distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Third-party software, including font technology, is copyrighted and licensed from Sun suppliers. Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. For Netscape™, Netscape Navigator™, and the Netscape Communications Corporation logo™, the following notice applies: Copyright 1995 Netscape Communications Corporation. All rights reserved. Sun, Sun Microsystems, the Sun logo, docs.sun.com, AnswerBook2, Solaris, SunOS, JavaScript, SunExpress, Sun WorkShop, Sun WorkShop Professional, Sun Performance Library, Sun Performance WorkShop, Sun Visual WorkShop, and Forte are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. The OPEN LOOK and Sun™ Graphical User Interface was developed by Sun Microsystems, Inc.
    [Show full text]
  • An Analysis of the Strategic Management of Technology in the Context of the Organizational Life-Cycle
    An Analysis of the Strategic Management of Technology in the Context of the Organizational Life-Cycle by Steven W. Klosterman BSEE (1983), University of Cincinnati Submitted to the System Design and Management Program in partial fulfillment of the requirements for the degree of Master of Science in Engineering and Management at the Massachusetts Institute of Technology June 2000 C 2000 Steven W. Klosterman. All rights reserved. The author hereby grants to MIT permission to reproduce and to distribute publicly paper and electronic copies of this thesis document in whole or in part. Signature of Author --------- System Design and Management Program. June, 2000 Certified by Thomas Kochan George M. Bunker Professor of Management Thesis Supervisor Accepted by Thomas Kochan Co-Director, System Design and Management Program Sloan School of Management Acceptedby Paul A. Lagace Co-Director, System Design and Management Program Professor of Aeronautics and Astronautics MASSACHUSETTS INSTITUTE OF TECHNOLOGY EN JUN 1 4 2000 LIBRARIES I Acknowledgements I would like to thank the individuals and organizations that have helped me pursue this thesis and my MIT education: To the System Design and Management (SDM) program for providing the vision of flexible, distance learning as an enabler for mid-career engineers to study at one of the world's foremost centers of learning. To Tom Magnanti, Tom Kochan, Ed Crawley, John Williams, Margee Best, Anna Barkley, Leen Int'Veld, Dan Frey, Jon Griffith and Dennis Mahoney, I cannot sufficiently express my gratitude for being given the privilege of becoming a member of the MIT community. To my fellow students in the SDM program for providing the support, encouragement and help, I am honored to be associated with you.
    [Show full text]
  • MICROPROCESSOR EVALUATIONS for SAFETY-CRITICAL, REAL-TIME February 2009 APPLICATIONS: AUTHORITY for EXPENDITURE NO
    DOT/FAA/AR-08/55 Microprocessor Evaluations for Air Traffic Organization Operations Planning Safety-Critical, Real-Time Office of Aviation Research and Development Applications: Authority for Washington, DC 20591 Expenditure No. 43 Phase 3 Report February 2009 Final Report This document is available to the U.S. public through the National Technical Information Services (NTIS), Springfield, Virginia 22161. U.S. Department of Transportation Federal Aviation Administration NOTICE This document is disseminated under the sponsorship of the U.S. Department of Transportation in the interest of information exchange. The United States Government assumes no liability for the contents or use thereof. The United States Government does not endorse products or manufacturers. Trade or manufacturer's names appear herein solely because they are considered essential to the objective of this report. This document does not constitute FAA certification policy. Consult your local FAA aircraft certification office as to its use. This report is available at the Federal Aviation Administration William J. Hughes Technical Center’s Full-Text Technical Reports page: actlibrary.act.faa.gov in Adobe Acrobat portable document format (PDF). Technical Report Documentation Page 1. Report No. 2. Government Accession No. 3. Recipient's Catalog No. DOT/FAA/AR-08/55 4. Title and Subtitle 5. Report Date MICROPROCESSOR EVALUATIONS FOR SAFETY-CRITICAL, REAL-TIME February 2009 APPLICATIONS: AUTHORITY FOR EXPENDITURE NO. 43 PHASE 3 REPORT 6. Performing Organization Code 7. Author(s) 8. Performing Organization Report No. TAMU-CS-AVSI-72005 Rabi N. Mahapatra, Praveen Bhojwani, Jason Lee, and Yoonjin Kim 9. Performing Organization Name and Address 10. Work Unit No.
    [Show full text]
  • MIPS, HPS, Two-Level Branch Prediction, and Compressed Code RISC Processor
    Awards ................................................................................................................................................................ Common Bonds: MIPS, HPS, Two-Level Branch Prediction, and Compressed Code RISC Processor ONUR MUTLU ETH Zurich RICH BELGARD ......We are continuing our series of of performance optimization on the com- sions made in the MIPS project that retrospectives for the 10 papers that piler and keep the hardware design sim- passed the test of time. The retrospective received the first set of MICRO Test of ple. The compiler is responsible for touches on the design tradeoffs made to Time (“ToT”) Awards in December generating and scheduling simple instruc- couple the hardware and the software, 2014.1,2 This issue features four retro- tions, which require little translation in the MIPS project’s effect on the later spectives written for six of the award- hardware to generate control signals to development of “fabless” semiconductor winning papers. We briefly introduce control the datapath components, which companies, and the use of benchmarks these papers and retrospectives and in turn keeps the hardware design simple. as a method for evaluating end-to-end hope that you will enjoy reading them as Thus, the instructions and hardware both performance of a system as, among much as we have. If anything ties these remain simple, whereas the compiler others, contributions of the MIPS project works together, it is the innovation they becomes much more important (and that have stood the test of time. delivered by taking a strong position in likely complex) because it must schedule the RISC/CISC debates of their decade. instructions well to ensure correct and High-Performance Systems We hope the IEEE Micro audience, espe- high-performance use of a simple pipe- The second retrospective addresses three cially younger generations, will find the line.
    [Show full text]
  • A Method for System Performance Analysis of the Supersparc Microprocessor by Melissa C Kwok
    A Method for System Performance Analysis of the SuperSPARC Microprocessor by Melissa C Kwok Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degrees of Bachelor of Science and Master of Science at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY -. i"',i September 1994 © Melissa C Kwok, MCMXCIV. All rights reserved. The author hereby grants to MIT permission to reproduce and distribute publicly paper and electronic copies of this thesis document in whole or in part, and to grant others the right to do so. J1. i / Author.......................................... .... Department of Electrical Enginleering and Computer Science May, 1994 ....1 11 Uertinedby........... o, o .. .. .o.. o........... .............................. Peter Ostrin Texas Instruments Incorporated / Thesis Suprvisor Certified by ................ -- .. Stephen A. Ward Professor of Electrical Engineering and Computer Science (--ml Thesis Supervisor Acceptedby................. ........ 4. ... ......... .f lI, ) Fredric R. Morgenthaler Chairman, De rtmental Com tee on Graduate Students A Method for System Performance Analysis of the SuperSPARC Microprocessor by Melissa C Kwok Submitted to the Department of Electrical Engineering and Computer Science on May, 1994, in partial fulfillment of the requirements for the degrees of Bachelor of Science and Master of Science Abstract Methodologies and apparatus setups which allow the performance analysis of SuperSPARC systems is the subject of this thesis. To achieve precise and comprehensive analysis, a set of thirty-five system performance parameters were defined via the utilization of the SuperSPARC PIPE signals. A hardware buffer and software environment were implemented to monitor systems unobtrusively. The defined methodologies and apparatus setups are modular and portable which allow the analysis of any arbitrary SuperSPARC system with any user workload.
    [Show full text]