Designing a Reconfigurable Embedded Processor

Total Page:16

File Type:pdf, Size:1020Kb

Designing a Reconfigurable Embedded Processor AN ABSTRACT OF THE THESIS OF John Mark Matson for the degree of Master of Science in Electrical and Computer Engineering presented on May 2. 2003. Title: Designing a Reconfigurable Embedded Processor. Abstract Redacted for Privacy Ben Lee The growth of applications for embedded processors has spawned a need for highly configurable devices. Custom microprocessors have long life cycles for a fast paced market, where as off-the-shelf designs often do not provide the level of configuration, nor the ability to allow system-on-chip designs. This paper presents a description for a software environment that allows designers to provide configuration options for a design, and responds by dynamically reconfiguring the environment to provide a ready to test design. A background survey is provided on current embedded RISC architectures, along with a proposed new embedded ISA and a cycle-level simulator. Justification is presented for a new instruction format to reduce code size with little loss to performance. A manual is also provided for the new ISA. Designing a Reconfigurable Embedded Processor By John Mark Matson ru:I submitted to Oregon State University in partial fulfillment of the requirements for the degree of Master of Science Presented May 2, 2003 Commencement June 2003 Master of Science thesis of John Mark Matson presented on May 2, 2003. APPROVED: Redacted for Privacy Major Professor, representing Electrical and Computer Engineering Redacted for Privacy Director of Schoobef1ectrica1 Engineering and Computer Science Redacted for Privacy Dean of the"dradtate School I understand that my thesis will become part of the permanent collection of Oregon State University libraries My signature below authorizs release of my thesis to any reader upon Redacted for Privacy John Mark Matson, Author TABLE OF CONTENTS Page 1. Introduction............................................................................................ 1 2. Background............................................................................................ 2 3. Profiling................................................................................................. 3 RegisterFile Size................................................................................. 4 Instruction Length...............................................................................5 Instruction Profiling: The ARM-PISA Comparison...........................7 4. Definition of the X32V ISA.................................................................11 DefaultMode..................................................................................... 12 LightMode........................................................................................ 12 UltraLight Mode............................................................................... 12 Word Boundary Study.......................................................................15 5.Creation of the X32V Cycle Accurate Simulator................................19 InstructionFetch................................................................................ 19 Instruction Decode............................................................................ 20 Execute, Memory Access, Write Back..............................................21 Forwarding........................................................................................ 21 Memory............................................................................................. 21 SystemCalls...................................................................................... 21 TABLE OF CONTENTS (Continued) Page Statistics.............................................................................................22 6. Future Work.........................................................................................23 7. Conclusion...........................................................................................24 Bibliography............................................................................................. 25 Appendices................................................................................................26 Appendix A: X32V ISA Manual.......................................................27 Appendix B: ARM SS and PISA SS Configuration Table...............92 Appendix C: ARM SS and PISA SS MPEG 4 Benchmark Results.. 93 LIST OF FIGURES Figure Page 1. 32-bit Instruction Format..................................................................13 2. 24-bit Instruction Format..................................................................13 3. 16-bit Instruction Format..................................................................13 4. Default Mode....................................................................................14 5. Light Mode........................................................................................14 6. Ultra Light Mode..............................................................................15 7. Code Size for each X32V Mode.......................................................16 8. Code Size Reduction.........................................................................17 9. Cycle Overhead.................................................................................18 10. Instruction Fetch Example..............................................................20 11. The X32V Simulator and Compiler................................................22 LIST OF TABLES Table Page 1. Various Embedded Processor Instruction Lengths.............................5 2. ARM and PISA MPEG 4 Benchmark Results....................................8 3. ARM Statistics Profile......................................................................10 4. PISA Statistics Profile.......................................................................10 Designing a Reconfigurable Embedded Processor 1. Introduction Designers of embedded products are presented with two options for a microprocessor: design their own, or purchase an off-the-shelf model. Designing a microprocessor from scratch is not very cost effective for a product that may have a shelf life of only a year. It can also push the design cycle out a few extra quarters, which will make or break a product in a highly competitive market. Off- the-shelf solutions come in a variety of different formstypical microprocessor, FPGA, CPLD, etc. The designer can choose from options such as memory size, I/O size, physical size, speed and more. However, with the advent of Systemon Chip, it is becoming tough to meet designer's requirements with an off-the-shelf solution. Power, speed, area, and architectural requirements cannot meet every design need with a 'flavor of the month' approach. Ideally, a designer would have an immediate turnaround between when design requirements are made and when first silicon arrives for testing.Those goals, however, are unreasonable. What is reasonable is a software environment that could take the same design requirements and produce a ready-to-simulate design immediately. Simulations could then give the designer foresight into how the design will perform, where potential bottlenecks are, and the ability to experiment with new ideas that would otherwise be cost ineffective. 2. Background The goal of this project is to design a software environment where a designer can provide design requirements, and the environment will dynamically change (reconfigure) to provide a ready-to-test design.Examples of design requirements are caches, floating-point units, digital signal processing units, multiply and accumulate units, and more. User definable instructionsare also available for controlling the additional hardware and for creating specialized operations such as multimedia instructions. The software environment is comprised of three major components:a core Instruction Set Architecture (ISA), a compiler, and a simulator. Each of these components is an integral part of the environment and deserves discussion. The designer should have the basic building blocks of a microprocessor available to expand upon; otherwise too much time is spent on recreating functionality that does not change from one design to another. Therefore,a core set of instructions and pipeline definition are the framework for the environment. The core ISA allows for the completion of virtually any design, while the additional hardware, instructions, and other parameters allow for enhanced performance. A compiler is also required to transform high-level code into machine executable instructions, and should handle the creation of new instructions to control additional hardware.The compiler is not presently completed and is 3 beyond the scope of this paper. However, it will be referred to and the reader should be aware of its purpose. Lastly, a simulator is needed to test and collect statistics on the design. The simulator should provide cycle-level accurate data on precisely how information moved through the machine during execution.The designer then uses this data to verify functionality and performance. This paper describes the development of the core ISA and simulator, and is broken down as follows: Section 3: Profiling; Section 4: Defmition of the X32V ISA; Section 5: Creation of the X32V Cycle Accurate Simulator; Section 6: Future Work; Section 7: Conclusion; Section 8: References; and Section 9: Appendix: AX32V ISA Manual, BARM and PISA SimpleScalar Configuration Table, and CARM and PISA SimpleScalar MPEG 4 Benchmark Results. 3. Profiling Before justifying the creation of an embedded
Recommended publications
  • Schedule 14A Employee Slides Supertex Sunnyvale
    UNITED STATES SECURITIES AND EXCHANGE COMMISSION Washington, D.C. 20549 SCHEDULE 14A Proxy Statement Pursuant to Section 14(a) of the Securities Exchange Act of 1934 Filed by the Registrant Filed by a Party other than the Registrant Check the appropriate box: Preliminary Proxy Statement Confidential, for Use of the Commission Only (as permitted by Rule 14a-6(e)(2)) Definitive Proxy Statement Definitive Additional Materials Soliciting Material Pursuant to §240.14a-12 Supertex, Inc. (Name of Registrant as Specified In Its Charter) Microchip Technology Incorporated (Name of Person(s) Filing Proxy Statement, if other than the Registrant) Payment of Filing Fee (Check the appropriate box): No fee required. Fee computed on table below per Exchange Act Rules 14a-6(i)(1) and 0-11. (1) Title of each class of securities to which transaction applies: (2) Aggregate number of securities to which transaction applies: (3) Per unit price or other underlying value of transaction computed pursuant to Exchange Act Rule 0-11 (set forth the amount on which the filing fee is calculated and state how it was determined): (4) Proposed maximum aggregate value of transaction: (5) Total fee paid: Fee paid previously with preliminary materials. Check box if any part of the fee is offset as provided by Exchange Act Rule 0-11(a)(2) and identify the filing for which the offsetting fee was paid previously. Identify the previous filing by registration statement number, or the Form or Schedule and the date of its filing. (1) Amount Previously Paid: (2) Form, Schedule or Registration Statement No.: (3) Filing Party: (4) Date Filed: Filed by Microchip Technology Incorporated Pursuant to Rule 14a-12 of the Securities Exchange Act of 1934 Subject Company: Supertex, Inc.
    [Show full text]
  • M32R Family Software Manual MITSUBISHI 32-BIT SINGLE-CHIP MICROCOMPUTER
    To our customers, Old Company Name in Catalogs and Other Documents On April 1st, 2010, NEC Electronics Corporation merged with Renesas Technology Corporation, and Renesas Electronics Corporation took over all the business of both companies. Therefore, although the old company name remains in this document, it is a valid Renesas Electronics document. We appreciate your understanding. Renesas Electronics website: http://www.renesas.com April 1st, 2010 Renesas Electronics Corporation Issued by: Renesas Electronics Corporation (http://www.renesas.com) Send any inquiries to http://www.renesas.com/inquiry. Notice 1. All information included in this document is current as of the date this document is issued. Such information, however, is subject to change without any prior notice. Before purchasing or using any Renesas Electronics products listed herein, please confirm the latest product information with a Renesas Electronics sales office. Also, please pay regular and careful attention to additional and different information to be disclosed by Renesas Electronics such as that disclosed through our website. 2. Renesas Electronics does not assume any liability for infringement of patents, copyrights, or other intellectual property rights of third parties by or arising from the use of Renesas Electronics products or technical information described in this document. No license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights of Renesas Electronics or others. 3. You should not alter, modify, copy, or otherwise misappropriate any Renesas Electronics product, whether in whole or in part. 4. Descriptions of circuits, software and other related information in this document are provided only to illustrate the operation of semiconductor products and application examples.
    [Show full text]
  • Embedded Electronic Coding System
    1 GUARD FOR BLIND PEOPLE GUARD FOR BLIND PEOPLE ELECTRONICS AND COMMUNICATION LITAM 2 GUARD FOR BLIND PEOPLE ABSTRACT Aim of this project is to design and develop the electronic guard for blind people on embedded plat form. This project was developed for keep the right way for blind people. It has two important units; they are object detecting sensor unit and micro-controller alarm unit. The object detecting sensor is sense the opposite objects, if the blind person is going to hit any object, the sensor sense that object and given to controller. The controller activates the driver circuit; it will produce the alarm sound, now the people easily identify the opposite object. ELECTRONICS AND COMMUNICATION LITAM 3 GUARD FOR BLIND PEOPLE CHAPTER 1 INTRODUCTION ELECTRONICS AND COMMUNICATION LITAM 4 GUARD FOR BLIND PEOPLE 1.1 METHODOLOGY OF STUDY An embedded based electronic code locking system is designed and implemented using PIC Micro controller to make security. The entire project was developed under embedded systems. EMBEDDED SYSTEMS: A system is something that maintains its existence and functions as a whole through the interaction of its parts. E.g. Body, Mankind, Access Control, etc A system is a part of the world that a person or group of persons during some time interval and for some purpose choose to regard as a whole, consisting of interrelated components, each component characterized by properties that are selected as being relevant to the purpose. • Embedded System is a combination of hardware and software used to achieve a single specific task. • Embedded systems are computer systems that monitor, respond to, or control an external environment.
    [Show full text]
  • VISION Calibration and Data Acquisition Software Toolkits
    VISION TM Toolkits VISION • No-Hooks • OnTarget • MBC VISION Calibration and Data Acquisition Software Toolkits ATI VISION Calibration and Data Acquisition software is modular in design based. The modularity of VISION toolkits provides the ability to customize VISION based on a desired level of functionality. VISION toolkits are task based feature groups that are based on customer usage models in the calibration and data acquisition fields. A VISION toolkit configuration can range from a single toolkit to view and analyze recorded data to a full ECU calibration solution with Rapid Prototyping features. Cost effective packages can easily be created based on end user need. This document contains the available VISION toolkits as of VISION 6.0. VISION Toolkits and Descriptions: Part Number Name Description Base VISION 3 Build device tree (All devices can be added to the tree, but cannot go online with any particular device unless the necessary toolkit is enabled). 3 Configure ATI hardware. 3 Acquire data from ATI Data Acquisition hardware into VISION recorders and screen objects (Not ECU Interfaces unless the appropriate ECU Interface Toolkit is enabled). 3 View data on a Data List (This is the only screen object available to view data). 3 CAN Trace object (Only ATI branded CAN Interface unless VISION Third Party CAN Interface Toolkit is enabled). 3 Configure Network Hub Logger functionality (Limited to only ATI Data Acquisition items or CAN objects unless ECU Interface Toolkits are present to enable configuring acquisition of ECU data items). 3 Retrieve data files from Network Hub Logger (Including attaching a DBC file upon NONE VISION Base retrieving of the files to convert CAN messages to signals).
    [Show full text]
  • FM-ONE Flash Memory MCU PROGRAMMER for the Operation Procedures
    FM-ONE Flash memory MCU PROGRAMMER For the Operation Procedures CONTENTS◆ IMPORTANT ..................................................................................... 1 ON-BOARD PROGRAMMER ........................................................... 2 FM-ONE FUTURES ................................................ 2 SPECIFICATIONS .................................................... 2 【Package Style】 ................................................................. 2 【Product and contained accessories】................................. 3 【The provided CD includes】 ............................................... 3 【Brief specifications of the main body】 ............................... 4 【Specifications of FM-ONE Project File Maker】 ............... 4 【Parts names】 .................................................................... 5 【Side of body】 .................................................................... 5 Battery Holder Guidance ........................................................... 6 About some changes on display for upgrade ............................ 7 Preparation ................................................................................ 8 Installation of FM-ONE Project File Maker ............. 8 Target board ............................................................. 9 Connector and Cable ................................................ 9 CONNECTION IMAGE ............................................................ 9 Insertion of CF .......................................................... 9 RECOGNITION OF
    [Show full text]
  • Using and Porting the GNU Compiler Collection
    Using and Porting the GNU Compiler Collection Richard M. Stallman Last updated 14 June 2001 for gcc-3.0 Copyright c 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. For GCC Version 3.0 Published by the Free Software Foundation 59 Temple Place - Suite 330 Boston, MA 02111-1307, USA Last printed April, 1998. Printed copies are available for $50 each. ISBN 1-882114-37-X Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being “GNU General Public License”, the Front-Cover texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is included in the section entitled “GNU Free Documentation License”. (a) The FSF’s Front-Cover Text is: A GNU Manual (b) The FSF’s Back-Cover Text is: You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. Short Contents Introduction......................................... 1 1 Compile C, C++, Objective C, Fortran, Java ............... 3 2 Language Standards Supported by GCC .................. 5 3 GCC Command Options ............................. 7 4 Installing GNU CC ............................... 111 5 Extensions to the C Language Family .................. 121 6 Extensions to the C++ Language ...................... 165 7 GNU Objective-C runtime features .................... 175 8 gcov: a Test Coverage Program ...................... 181 9 Known Causes of Trouble with GCC ................... 187 10 Reporting Bugs.................................
    [Show full text]
  • C/C++ Compiler Package for 32R Family V.5.00 Assembler
    To our customers, Old Company Name in Catalogs and Other Documents On April 1st, 2010, NEC Electronics Corporation merged with Renesas Technology Corporation, and Renesas Electronics Corporation took over all the business of both companies. Therefore, although the old company name remains in this document, it is a valid Renesas Electronics document. We appreciate your understanding. Renesas Electronics website: http://www.renesas.com April 1st, 2010 Renesas Electronics Corporation Issued by: Renesas Electronics Corporation (http://www.renesas.com) Send any inquiries to http://www.renesas.com/inquiry. Notice 1. All information included in this document is current as of the date this document is issued. Such information, however, is subject to change without any prior notice. Before purchasing or using any Renesas Electronics products listed herein, please confirm the latest product information with a Renesas Electronics sales office. Also, please pay regular and careful attention to additional and different information to be disclosed by Renesas Electronics such as that disclosed through our website. 2. Renesas Electronics does not assume any liability for infringement of patents, copyrights, or other intellectual property rights of third parties by or arising from the use of Renesas Electronics products or technical information described in this document. No license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights of Renesas Electronics or others. 3. You should not alter, modify, copy, or otherwise misappropriate any Renesas Electronics product, whether in whole or in part. 4. Descriptions of circuits, software and other related information in this document are provided only to illustrate the operation of semiconductor products and application examples.
    [Show full text]
  • GCC for Embedded Systems
    GCC for Embedded Systems Ayal Zaks IBM Haifa Research Lab [email protected] http://www.haifa.il.ibm.com/dept/svt/code_compiler.html IBM Haifa Research Lab IBM Haifa Research Lab GCC for Embedded Systems – Talk Goals GCC for Embedded Systems – why GCC? What (R&D) are we doing in GCC? Where can you learn more? 2 IBM Haifa Research Lab GCC for Embedded Systems - Talk Layout 1. GCC – development: open community product of FSF 2. GCC – recent contributions from IBM Haifa Vectorization (GCC 4.0) Modulo scheduling (GCC 4.0) Inter-Procedural constant propagation (GCC 4.1) Data-layout optimizations (GCC 4.3) 3. GCC – performance for embedded: EEMBC 4. GCC – research: HiPEAC 3 IBM Haifa Research Lab GCC development – Mission Statement (from http://gcc.gnu.org/gccmission.html) GCC development is a part of the GNU Project , aiming to improve the compiler used in the GNU system including the GNU/Linux® variant. The GCC development effort uses an open development environment and supports many other platforms in order to foster a world-class optimizing compiler , to attract a larger team of developers, to ensure that GCC and the GNU system work on multiple architectures and diverse environments , and to more thoroughly test and extend the features of GCC. 4 IBM Haifa Research Lab GNU Compiler Collection Advantages Consistent across large number of targets (target is architecture plus operating system) Very good warnings aid porting to new targets Free software project: licenses protect GCC as free software while allowing users to build proprietary
    [Show full text]
  • Debugger Basics - Training
    Debugger Basics - Training TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Training ............................................................................................................................ Debugger Training ........................................................................................................................ Debugger Basics - Training ....................................................................................................... 1 System Concept ...................................................................................................................... 5 On-chip Debug Interface 6 Debug Features 6 TRACE32 Tools 7 On-chip Debug Interface plus On-chip Trace Buffer 9 On-chip Debug Interface plus Trace Port 11 NEXUS Interface 12 Starting a TRACE32 PowerView Instance ............................................................................. 13 Basic TRACE32 PowerView Parameters 13 Configuration File 13 Standard Parameters 14 Examples for Configuration Files 15 Additional Parameters 19 Application Properties (Windows only) 20 Configuration via T32Start (Windows only) 21 About TRACE32 22 Version Information 22 Prepare Full Information for a Support Email 23 Establish your Debug Session ............................................................................................... 24 TRACE32 PowerView .............................................................................................................. 25 TRACE32 PowerView Components 25 Main Menu Bar and Accelerators
    [Show full text]
  • Using As the Gnu Assembler
    Using as The gnu Assembler Version 2.14.90.0.7 The Free Software Foundation Inc. thanks The Nice Computer Company of Australia for loaning Dean Elsner to write the first (Vax) version of as for Project gnu. The proprietors, management and staff of TNCCA thank FSF for distracting the boss while they got some work done. Dean Elsner, Jay Fenlason & friends Using as Edited by Cygnus Support Copyright c 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled \GNU Free Documentation License". Chapter 1: Overview 1 1 Overview This manual is a user guide to the gnu assembler as. Here is a brief summary of how to invoke as. For details, see Chapter 2 [Command-Line Options], page 15. as [-a[cdhlns][=file]] [-D][{defsym sym=val] [-f][{gstabs][{gstabs+] [{gdwarf2][{help] [-I dir][-J][-K][-L] [{listing-lhs-width=NUM][{listing-lhs-width2=NUM] [{listing-rhs-width=NUM][{listing-cont-lines=NUM] [{keep-locals][-o objfile][-R][{statistics][-v] [-version][{version][-W][{warn][{fatal-warnings] [-w][-x][-Z][{target-help][target-options] [{|files ...] Target Alpha options: [-mcpu] [-mdebug | -no-mdebug] [-relax][-g][-Gsize] [-F][-32addr] Target ARC options: [-marc[5|6|7|8]] [-EB|-EL] Target ARM
    [Show full text]
  • Renesas General-Purpose Microcontrollers/Microprocessors Lineup Catalog
    Renesas General-Purpose Microcontrollers/Microprocessors Lineup Catalog Notes: Renesas General-Purpose Microcontrollers/Microprocessors 1. Descriptions of circuits, software and other related information in this document are provided only to illustrate the operation of semiconductor products and application examples. You are fully responsible for the incorporation of these circuits, software, and information in the design of your equipment. Renesas Electronics assumes no responsibility for any losses incurred by you or third parties arising from the use of these circuits, software, or information. 2. Renesas Electronics has used reasonable care in preparing the information included in this document, but Renesas Electronics does not warrant that such information is error free. Renesas Electronics assumes no liability whatsoever for any damages incurred by you resulting from errors in or omissions from the information included herein. 3. Renesas Electronics does not assume any liability for infringement of patents, copyrights, or other intellectual property rights of third parties by or arising from the use of Renesas Electronics products or technical information described in this document. No license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights of Renesas Electronics or Lineup Catalog others. 4. You should not alter, modify, copy, or otherwise misappropriate any Renesas Electronics product, whether in whole or in part. Renesas Electronics assumes no responsibility for any losses incurred by you or third parties arising from such alteration, modification, copy or otherwise misappropriation of Renesas Electronics product. 5. Renesas Electronics products are classified according to the following two quality grades: "Standard" and "High Quality". The recommended applications for each Renesas Electronics product depends on the product's quality grade, as indicated below.
    [Show full text]
  • High-Performance Architectures for Embedded Memory Systems
    High-Performance Architectures for Embedded Memory Systems Christoforos E. Kozyrakis Computer Science Division University of California, Berkeley [email protected] http://iram.cs.berkeley.edu/ Embedded DRAM systems roadmap This presentation Previous talks Desktop Laptop 32 MB Network Computer Camera/Phone 8 MB Video Games Graphics/Disks 2 MB Christoforos E. Kozyrakis ICCAD’98, Embedded Memory Tutorial Page 2 U.C. Berkeley Outline • Overview of general-purpose processors today • Future processor applications & requirements • Advantages and challenges of processor-DRAM integration • Future microprocessor architectures – characteristics and features – compatibility and interaction with embedded DRAM technology • Comparisons and conclusions Christoforos E. Kozyrakis ICCAD’98, Embedded Memory Tutorial Page 3 U.C. Berkeley Current state-of-the-art processors (1) • High performance processors – 64-bit operands, wide instruction issue (3-4) – dynamic scheduling, out-of-order execution, speculation – large multi-level caches – support for parallel systems – optimized for technical and/or commercial workloads – SIMD multimedia extensions (VIS, MAX, MMX, MDMX, Altivec) – 200 to 600 MHz, 20 to 80 Watts, 200 to 300 sq. mm – e.g. MIPS R10K, Pentium II, Alpha 21264, Sparc III Christoforos E. Kozyrakis ICCAD’98, Embedded Memory Tutorial Page 4 U.C. Berkeley Current state-of-the-art processors (2) • Embedded processors – 32/64-bit, single/dual issue, in-order execution – single-level (small) caches – code density improvements (Thump/MIPS16) – DSP/SIMD support – integrated I/O and memory controllers – some on-chip DRAM (up to 4MB) – optimized for low power, price/performance, MIPS/Watt – 50 to 250MHz, 0.3 to 4 Watts, 10 to 100 sq. mm – e.g.
    [Show full text]