Development of Synthetic Cameras for Virtual Commissioning

Total Page:16

File Type:pdf, Size:1020Kb

Development of Synthetic Cameras for Virtual Commissioning DEVELOPMENT OF SYNTHETHIC CAMERAS FOR VIRTUAL COMMISSIONING Bachelor Degree Project in Automation Engineer 2020 DEVELOPMENT OF SYNTHETIC CAMERAS FOR VIRTUAL COMMISSIONING Bachelor Degree Project in Automation Engineering Bachelor Level 30 ECTS Spring term 2020 Francisco Vico Arjona Daniel Pérez Torregrosa Company supervisor: Mikel Ayani University supervisor: Wei Wang Examiner: Stefan Ericson 1 DEVELOPMENT OF SYNTHETHIC CAMERAS FOR VIRTUAL COMMISSIONING Bachelor Degree Project in Automation Engineer 2020 Abstract Nowadays, virtual commissioning has become an incredibly useful technology which has raised its importance hugely in the latest years. Creating virtual automated systems, as similar to reality as possible, to test their behaviour has become into a great tool for avoiding waste of time and cost in the real commissioning stage of any manufacturing system. Currently, lots of virtual automated systems are controlled by different vision tools, however, these tools are not integrated in most of emulation platforms, so it precludes testing the performance of numerous virtual systems. This thesis intends to give a solution to this limitation that nowadays exists for virtual commissioning. The main goal is the creation of a synthetic camera that allows to obtain different types of images inside any virtual automated system in the same way it would have been obtained in a real system. Subsequently, a virtual demonstrator of a robotic cell controlled by computer vision is developed to show the immense opportunities that synthetic camera can open for testing vision systems. 2 DEVELOPMENT OF SYNTHETIC CAMERAS FOR VIRTUAL COMMISSIONING Bachelor Degree Project in Automation Engineering 2020 Certify of Authenticity This thesis has been submitted by Francisco Vico Arjona and Daniel Pérez Torregrosa to the University of Skövde as a requirement for the degree of Bachelor of Science in Production Engineering. The undersigned certifies that all the material in this thesis that is not my own has been properly acknowledged using accepted referencing practices and, further, that the thesis includes no material for which I have previously received academic credit. Francisco Vico Arjona Daniel Pérez Torregrosa Skövde 2020-05-18 School of Engineering Science 3 DEVELOPMENT OF SYNTHETIC CAMERAS FOR VIRTUAL COMMISSIONING Bachelor Degree Project in Automation Engineering 2020 Acknowledgements In these brief lines we would like to extend our most sincere gratitude to all the people who has helped us during the development of this project Firstly, we would like to thank to all the team behind Simumatik AB for the great opportunity to work with them in this project. Specially, we wish to express our sincere thanks to our industrial supervisor Mikel Ayani for his constant and tireless assistance during all this project. Secondly, we would like to thank the University of Skövde, for providing us all the facilities for the research. Furthermore, our gratitude goes to our university supervisor Wei Wang for all the support regarding to this report itself. Finally, we cannot fail to express our gratitude to our family and friend, for their unconditional support through all these years of continuous efforts for developing ourselves as professionals. 4 DEVELOPMENT OF SYNTHETIC CAMERAS FOR VIRTUAL COMMISSIONING Bachelor Degree Project in Automation Engineering 2020 Table of Contents 1. INTRODUCTION ............................................................................................................ 12 1.1 Background ................................................................................................................ 12 1.2 Problem statement ..................................................................................................... 12 1.3 Objectives .................................................................................................................. 13 1.4 Delimitations ............................................................................................................. 13 1.5 Overview ................................................................................................................... 13 2. SUSTAINABLE DEVELOPMENT ................................................................................ 14 2.1 Environmental Sustainability .................................................................................... 14 2.2 Economic Sustainability ............................................................................................ 15 2.3 Social Sustainability .................................................................................................. 15 3. FRAME OF REFERENCE .............................................................................................. 16 3.1 Virtual Commissioning.............................................................................................. 16 3.2 Emulation and simulation .......................................................................................... 16 3.2.1 Emulation ........................................................................................................... 17 3.2.2 Simulation .......................................................................................................... 17 3.2.3 Differences between emulation and simulation ................................................. 17 3.3 Graphics engine ......................................................................................................... 18 3.4 Application Programming Interface (API) ................................................................ 18 3.4.1 OpenGL .............................................................................................................. 19 3.4.2 DirectX ............................................................................................................... 19 3.4.3 Vulkan ................................................................................................................ 19 3.4.4 Other alternatives ............................................................................................... 20 3.5 Machine Vision.......................................................................................................... 20 3.5.1 Benefits ............................................................................................................... 20 3.5.2 Equipment .......................................................................................................... 20 3.6 Computer Vision........................................................................................................ 21 3.6.1 Applications of computer vision in manufacturing industry .............................. 21 3.6.2 Computer vision tools ........................................................................................ 23 3.7 Cameras ..................................................................................................................... 24 3.7.1 Optical system .................................................................................................... 24 3.7.2 Digital camera .................................................................................................... 26 3.7.3 Synthetic cameras ............................................................................................... 27 5 DEVELOPMENT OF SYNTHETIC CAMERAS FOR VIRTUAL COMMISSIONING Bachelor Degree Project in Automation Engineering 2020 3.8 3D Sensors ................................................................................................................. 27 3.8.1 Stereoscopic cameras ......................................................................................... 27 3.8.2 Refocusing techniques ........................................................................................ 27 3.8.3 Time of Flight cameras (TOF) ........................................................................... 28 3.8.4 Structured Light .................................................................................................. 28 3.8.5 Light Detection And Ranging (LIDAR) ............................................................ 28 3.8.6 RGBD Cameras .................................................................................................. 28 4. LITERATURE REVIEW ................................................................................................. 30 4.1 Application of Virtual Commissioning in manufacturing industry ........................... 30 4.2 Generation of synthetic images ................................................................................. 31 4.3 Obtention of depth map of a 3D scene ...................................................................... 31 4.4 Applications of Depth Sensing .................................................................................. 33 4.4.1 Augmented and Virtual Reality (AR/VR) .......................................................... 33 4.4.2 Robotics .............................................................................................................. 33 4.4.3 Facial recognition ............................................................................................... 33 4.4.4 Gesture and proximity detection ........................................................................ 34 5. METHOD ......................................................................................................................... 35 6. DESIGN AND CREATION IMPLEMENTATION .......................................................
Recommended publications
  • Master Thesis
    Faculty of Computer Science and Management Field of study: COMPUTER SCIENCE Specialty: Information Systems Design Master Thesis Multithreaded game engine architecture Adrian Szczerbiński keywords: game engine multithreading DirectX 12 short summary: Project, implementation and research of a multithreaded 3D game engine architecture using DirectX 12. The goal is to create a layered architecture, parallelize it and compare the results in order to state the usefulness of multithreading in game engines. Supervisor ...................................................... ............................ ……………………. Title/ degree/ name and surname grade signature The final evaluation of the thesis Przewodniczący Komisji egzaminu ...................................................... ............................ ……………………. dyplomowego Title/ degree/ name and surname grade signature For the purposes of archival thesis qualified to: * a) Category A (perpetual files) b) Category BE 50 (subject to expertise after 50 years) * Delete as appropriate stamp of the faculty Wrocław 2019 1 Streszczenie W dzisiejszych czasach, gdy społeczność graczy staje się coraz większa i stawia coraz większe wymagania, jak lepsza grafika, czy ogólnie wydajność gry, pojawia się potrzeba szybszych i lepszych silników gier, ponieważ większość z obecnych jest albo stara, albo korzysta ze starych rozwiązań. Wielowątkowość jest postrzegana jako trudne zadanie do wdrożenia i nie jest w pełni rozwinięta. Programiści często unikają jej, ponieważ do prawidłowego wdrożenia wymaga wiele pracy. Według mnie wynikający z tego wzrost wydajności jest warty tych kosztów. Ponieważ nie ma wielu silników gier, które w pełni wykorzystują wielowątkowość, celem tej pracy jest zaprojektowanie i zaproponowanie wielowątkowej architektury silnika gry 3D, a także przedstawienie głównych systemów używanych do stworzenia takiego silnika gry 3D. Praca skupia się na technologii i architekturze silnika gry i jego podsystemach wraz ze strukturami danych i algorytmami wykorzystywanymi do ich stworzenia.
    [Show full text]
  • Driver Riva Tnt2 64
    Driver riva tnt2 64 click here to download The following products are supported by the drivers: TNT2 TNT2 Pro TNT2 Ultra TNT2 Model 64 (M64) TNT2 Model 64 (M64) Pro Vanta Vanta LT GeForce. The NVIDIA TNT2™ was the first chipset to offer a bit frame buffer for better quality visuals at higher resolutions, bit color for TNT2 M64 Memory Speed. NVIDIA no longer provides hardware or software support for the NVIDIA Riva TNT GPU. The last Forceware unified display driver which. version now. NVIDIA RIVA TNT2 Model 64/Model 64 Pro is the first family of high performance. Drivers > Video & Graphic Cards. Feedback. NVIDIA RIVA TNT2 Model 64/Model 64 Pro: The first chipset to offer a bit frame buffer for better quality visuals Subcategory, Video Drivers. Update your computer's drivers using DriverMax, the free driver update tool - Display Adapters - NVIDIA - NVIDIA RIVA TNT2 Model 64/Model 64 Pro Computer. (In Windows 7 RC1 there was the build in TNT2 drivers). http://kemovitra. www.doorway.ru Use the links on this page to download the latest version of NVIDIA RIVA TNT2 Model 64/Model 64 Pro (Microsoft Corporation) drivers. All drivers available for. NVIDIA RIVA TNT2 Model 64/Model 64 Pro - Driver Download. Updating your drivers with Driver Alert can help your computer in a number of ways. From adding. Nvidia RIVA TNT2 M64 specs and specifications. Price comparisons for the Nvidia RIVA TNT2 M64 and also where to download RIVA TNT2 M64 drivers. Windows 7 and Windows Vista both fail to recognize the Nvidia Riva TNT2 ( Model64/Model 64 Pro) which means you are restricted to a low.
    [Show full text]
  • 3D Computer Graphics Compiled By: H
    animation Charge-coupled device Charts on SO(3) chemistry chirality chromatic aberration chrominance Cinema 4D cinematography CinePaint Circle circumference ClanLib Class of the Titans clean room design Clifford algebra Clip Mapping Clipping (computer graphics) Clipping_(computer_graphics) Cocoa (API) CODE V collinear collision detection color color buffer comic book Comm. ACM Command & Conquer: Tiberian series Commutative operation Compact disc Comparison of Direct3D and OpenGL compiler Compiz complement (set theory) complex analysis complex number complex polygon Component Object Model composite pattern compositing Compression artifacts computationReverse computational Catmull-Clark fluid dynamics computational geometry subdivision Computational_geometry computed surface axial tomography Cel-shaded Computed tomography computer animation Computer Aided Design computerCg andprogramming video games Computer animation computer cluster computer display computer file computer game computer games computer generated image computer graphics Computer hardware Computer History Museum Computer keyboard Computer mouse computer program Computer programming computer science computer software computer storage Computer-aided design Computer-aided design#Capabilities computer-aided manufacturing computer-generated imagery concave cone (solid)language Cone tracing Conjugacy_class#Conjugacy_as_group_action Clipmap COLLADA consortium constraints Comparison Constructive solid geometry of continuous Direct3D function contrast ratioand conversion OpenGL between
    [Show full text]
  • Graphical Process Unit a New Era
    Nov 2014 (Volume 1 Issue 6) JETIR (ISSN-2349-5162) Graphical Process Unit A New Era Santosh Kumar, Shashi Bhushan Jha, Rupesh Kumar Singh Students Computer Science and Engineering Dronacharya College of Engineering, Greater Noida, India Abstract - Now in present days every computer is come with G.P.U (graphical process unit). The graphics processing unit (G.P.U) has become an essential part of today's mainstream computing systems. Over the past 6 years, there has been a marked increase in the performance and potentiality of G.P.U. The modern G.P.Us is not only a powerful graphics engine but also a deeply parallel programmable processor showing peak arithmetic and memory bandwidth that substantially outpaces its CPU counterpart. The G.P.U's speedy increase in both programmability and capability has spawned a research community that has successfully mapped a broad area of computationally demanding, mixed problems to the G.P.U. This effort in general-purpose computing on the G.P.Us, also known as G.P.U computing, has positioned the G.P.U as a compelling alternative to traditional microprocessors in high-performance computer systems of the future. We illustrate the history, hardware, and programming model for G.P.U computing, abstract the state of the art in tools and techniques, and present 4 G.P.U computing successes in games physics and computational physics that deliver order-of- magnitude performance gains over optimized CPU applications. Index Terms - G.P.U, History of G.P.U, Future of G.P.U, Problems in G.P.U, eG.P.U, Integrated graphics ________________________________________________________________________________________________________ I.
    [Show full text]
  • Performance Comparison on Rendering Methods for Voxel Data
    fl Performance comparison on rendering methods for voxel data Oskari Nousiainen School of Science Thesis submitted for examination for the degree of Master of Science in Technology. Espoo July 24, 2019 Supervisor Prof. Tapio Takala Advisor Dip.Ins. Jukka Larja Aalto University, P.O. BOX 11000, 00076 AALTO www.aalto.fi Abstract of the master’s thesis Author Oskari Nousiainen Title Performance comparison on rendering methods for voxel data Degree programme Master’s Programme in Computer, Communication and Information Sciences Major Computer Science Code of major SCI3042 Supervisor Prof. Tapio Takala Advisor Dip.Ins. Jukka Larja Date July 24, 2019 Number of pages 50 Language English Abstract There are multiple ways in which 3 dimensional objects can be presented and rendered to screen. Voxels are a representation of scene or object as cubes of equal dimensions, which are either full or empty and contain information about their enclosing space. They can be rendered to image by generating surface geometry and passing that to rendering pipeline or using ray casting to render the voxels directly. In this paper, these methods are compared to each other by using different octree structures for voxel storage. These methods are compared in different generated scenes to determine which factors affect their relative performance as measured in real time it takes to draw a single frame. These tests show that ray casting performs better when resolution of voxel model is high, but rasterisation is faster for low resolution voxel models. Rasterisation scales better with screen resolution and on higher screen resolutions most of the tested voxel resolutions where faster to render with with rasterisation.
    [Show full text]
  • Mediashield User's Guide
    ForceWare Software MediaShield User’s Guide Version 5.4 NVIDIA Corporation June 6, 2007 NVIDIA Applications MediaShield User’s Guide Version 5.4 Published by NVIDIA Corporation 2701 San Tomas Expressway Santa Clara, CA 95050 Notice ALL NVIDIA DESIGN SPECIFICATIONS, REFERENCE BOARDS, FILES, DRAWINGS, DIAGNOSTICS, LISTS, AND OTHER DOCUMENTS (TOGETHER AND SEPARATELY, “MATERIALS”) ARE BEING PROVIDED “AS IS.” NVIDIA MAKES NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. Information furnished is believed to be accurate and reliable. However, NVIDIA Corporation assumes no responsibility for the consequences of use of such information or for any infringement of patents or other rights of third parties that may result from its use. No license is granted by implication or otherwise under any patent or patent rights of NVIDIA Corporation. Specifications mentioned in this publication are subject to change without notice. This publication supersedes and replaces all information previously supplied. NVIDIA Corporation products are not authorized for use as critical components in life support devices or systems without express written approval of NVIDIA Corporation. Trademarks NVIDIA, the NVIDIA logo, MediaShield, 3DFX, 3DFX INTERACTIVE, the 3dfx Logo, STB, STB Systems and Design, the STB Logo, the StarBox Logo, NVIDIA nForce, GeForce, NVIDIA Quadro, NVDVD, NVIDIA Personal Cinema, NVIDIA Soundstorm,
    [Show full text]
  • Voodoo 3 2000-3000 Reviewers Guide
    Voodoo3™ 2000 /3000 Reviewer’s Guide For reviewers of: Voodoo3 2000 Voodoo3 3000 DRAFT - DATED MATERIAL THE CONTENTS OF THIS REVIEWER’S GUIDE IS INTENDED SOLELY FOR REFERENCE WHEN REVIEWING SHIPPING VERSIONS OF VOODOO3 REFERENCE BOARDS. THIS INFORMATION WILL BE REGULARLY UPDATED, AND REVIEWERS SHOULD CONTACT THE PERSONS LISTED IN THIS GUIDE FOR UPDATES BEFORE EVALUATING ANY VOODOO3 BOARD. 3dfx Interactive, Inc. 4435 Fortran Dr. San Jose, CA 95134 408-935-4400 www.3dfx.com Copyright 1999 3dfx Interactive, Inc. All Rights Reserved. All other trademarks are the property of their respective owners. Voodoo3™ Reviewers Guide August 1999 Table of Contents INTRODUCTION Page 4 SECTION 1: Voodoo3 Board Overview Page 4 • Features • 2D Performance • 3D Performance • Video Performance • Target Audience • Pricing & Availability • Warranty • Technical Support SECTION 2: About the Voodoo3 Board Page 7 • Board Layout - Hardware Configuration & Components - System Requirements • Display Mode Table • Software Drivers • 3dfx Tools Summary SECTION 3: About the Voodoo3 Chip Page 10 • Overview SECTION 4: Installation and Start-Up Page 11 • Installing the Board • Start-Up SECTION 5: Testing Recommendations Page 14 • Testing the Voodoo3 Board • Cures to common benchmarking and image quality mistakes - 2 - Voodoo3™ Reviewers Guide August 1999 Table of Contents (cont.) SECTION 6: FAQ Page 16 SECTION 7: Glossary of 3D Terms Page 19 SECTION 8: Contacts Page 20 APPENDICES 1: Current Benchmark Page 21 • 3D WinBench • 3D Mark • Winbench 99 • Speedy • Game Gauge 1 • Quake II Time Demo 1 at 1600 x 1200 • Quake II Time Demo 1 at 1280 x 1024 Expected Performance of Popular Benchmarks 2: Errata: Known Problems Page 23 3: 3dfx Tools User Guide Page 24 - 3 - Voodoo3™ Reviewers Guide August 1999 INTRODUCTION: The Voodoo3 2000/3000 Reviewer’s Guide is a concise guide to the Voodoo3 143MHz, and 166MHz graphics accelerator boards.
    [Show full text]
  • An Overview Study of Game Engines
    Faizi Noor Ahmad Int. Journal of Engineering Research and Applications www.ijera.com ISSN : 2248-9622, Vol. 3, Issue 5, Sep-Oct 2013, pp.1673-1693 RESEARCH ARTICLE OPEN ACCESS An Overview Study of Game Engines Faizi Noor Ahmad Student at Department of Computer Science, ACNCEMS (Mahamaya Technical University), Aligarh-202002, U.P., India ABSTRACT We live in a world where people always try to find a way to escape the bitter realities of hubbub life. This escapism gives rise to indulgences. Products of such indulgence are the video games people play. Back in the past the term ―game engine‖ did not exist. Back then, video games were considered by most adults to be nothing more than toys, and the software that made them tick was highly specialized to both the game and the hardware on which it ran. Today, video game industry is a multi-billion-dollar industry rivaling even the Hollywood. The software that drives these three dimensional worlds- the game engines-have become fully reusable software development kits. In this paper, I discuss the specifications of some of the top contenders in video game engines employed in the market today. I also try to compare up to some extent these engines and take a look at the games in which they are used. Keywords – engines comparison, engines overview, engines specification, video games, video game engines I. INTRODUCTION 1.1.2 Artists Back in the past the term ―game engine‖ did The artists produce all of the visual and audio not exist. Back then, video games were considered by content in the game, and the quality of their work can most adults to be nothing more than toys, and the literally make or break a game.
    [Show full text]
  • Playstation Specifications - Psx-Spx
    PlayStation Specifications - psx-spx None None None Table of contents Table of contents 1. Home 10 2. Memory Map 11 3. I/O Map 15 4. Graphics Processing Unit (GPU) 21 4.1 GPU I/O Ports, DMA Channels, Commands, VRAM 21 4.2 GPU Render Polygon Commands 24 4.3 GPU Render Line Commands 26 4.4 GPU Render Rectangle Commands 27 4.5 GPU Rendering Attributes 28 4.6 GPU Memory Transfer Commands 31 4.7 GPU Other Commands 33 4.8 GPU Display Control Commands (GP1) 34 4.9 GPU Status Register 40 4.10 GPU Versions 41 4.11 GPU Depth Ordering 44 4.12 GPU Video Memory (VRAM) 46 4.13 GPU Texture Caching 48 4.14 GPU Timings 50 4.15 GPU (MISC) 52 5. Geometry Transformation Engine (GTE) 56 5.1 GTE Overview 56 5.2 GTE Registers 58 5.3 GTE Saturation 62 5.4 GTE Opcode Summary 63 5.5 GTE Coordinate Calculation Commands 65 5.6 GTE General Purpose Calculation Commands 66 5.7 GTE Color Calculation Commands 68 5.8 GTE Division Inaccuracy 70 6. Macroblock Decoder (MDEC) 72 6.1 MDEC I/O Ports 72 6.2 MDEC Commands 74 6.3 MDEC Decompression 75 6.4 MDEC Data Format 79 7. Sound Processing Unit (SPU) 83 7.1 SPU Overview 83 - 2/663 - Table of contents 7.2 SPU ADPCM Samples 85 7.3 SPU ADPCM Pitch 87 7.4 SPU Volume and ADSR Generator 90 7.5 SPU Voice Flags 93 7.6 SPU Noise Generator 94 7.7 SPU Control and Status Register 94 7.8 SPU Memory Access 95 7.9 SPU Interrupt 99 7.10 SPU Reverb Registers 100 7.11 SPU Reverb Formula 102 7.12 SPU Reverb Examples 103 7.13 SPU Unknown Registers 105 7.14 SPU Internal State Machine from SPU RAM Timing 106 8.
    [Show full text]
  • Realtime Computer Graphics on Gpus Introduction
    Real-time Algorithms Programmable Pipeline History Summary Realtime Computer Graphics on GPUs Introduction Jan Kolomazn´ık Department of Software and Computer Science Education Faculty of Mathematics and Physics Charles University in Prague March 3, 2021 1 / 55 Real-time Algorithms Programmable Pipeline History Summary Real-time Algorithms 2 / 55 Real-time Algorithms Programmable Pipeline History Summary REAL-TIME ALGORITHMS I Time Constrains: I Hard limit I Soft limit I CG examples: I Video frame rate I Cinema – 24 Hz I TV – 25 (50) Hz, 30 (60) Hz I Video games – 30–60 Hz I Virtual reality – frame rate doubled I Haptic rendering – 1 kHz 3 / 55 Real-time Algorithms Programmable Pipeline History Summary REAL-TIME ALGORITHMS I Time Constrains: I Hard limit I Soft limit I CG examples: I Video frame rate I Cinema – 24 Hz I TV – 25 (50) Hz, 30 (60) Hz I Video games – 30–60 Hz I Virtual reality – frame rate doubled I Haptic rendering – 1 kHz 4 / 55 Real-time Algorithms Programmable Pipeline History Summary REAL-TIME ALGORITHMS I Time Constrains: I Hard limit I Soft limit I CG examples: I Video frame rate I Cinema – 24 Hz I TV – 25 (50) Hz, 30 (60) Hz I Video games – 30–60 Hz I Virtual reality – frame rate doubled I Haptic rendering – 1 kHz 5 / 55 Real-time Algorithms Programmable Pipeline History Summary REAL-TIME ALGORITHMS I Time Constrains: I Hard limit I Soft limit I CG examples: I Video frame rate I Cinema – 24 Hz I TV – 25 (50) Hz, 30 (60) Hz I Video games – 30–60 Hz I Virtual reality – frame rate doubled I Haptic rendering – 1 kHz 6 / 55 Real-time Algorithms Programmable Pipeline History Summary REAL-TIME ALGORITHMS I Time Constrains: I Hard limit I Soft limit I CG examples: I Video frame rate I Cinema – 24 Hz I TV – 25 (50) Hz, 30 (60) Hz I Video games – 30–60 Hz I Virtual reality – frame rate doubled I Haptic rendering – 1 kHz 7 / 55 Real-time Algorithms Programmable Pipeline History Summary HOW TO ACHIEVE SPEED I Optimal algorithm (time complexity ?) I Approximations vs.
    [Show full text]
  • Study of the Techniques for Emulation Programming
    Study of the techniques for emulation programming (By a bored and boring guy) The Author: Victor Moya del Barrio Director: Agustin Fernandez Computer Science Engenieering – FIB UPC 18 June 2001 2 Contents Chapter 1. Introduction. 9 1. Motivation and purpose of the study. 9 2. What do we call an emulator? 10 3. Small history of emulation. 11 4. Related topics. 12 Chapter 2. Introduction to the process of emulation. 14 1. Basic structure/algortihm of an emulator. 14 2. The CPU emulation core. 17 2.1. CPU emulator: Interpreter 18 2.2. CPU emulator: Binary Translation. 18 3. The memory emulation subsistem. 20 4. CPU and emulated devices communication. Interrupts and timing. 21 5. Graphic hardware emulation. 22 6. Sound hardware emulation. 23 7. Other devices. 24 8. Testing the emulator. 24 9. Searching for information and other aspects of emulation. 25 Chapter 3. CPU emulation: Interpreters. 26 1. Basic interpreter CPU emulator. 26 The CPU status. 26 The fetch-decode loop. 30 Instruction emulation. 36 Flags. 38 Memory. 39 Interrupts. 41 Core interface. 42 Appendix A: Space Invaders/i8080 Tutorial. 44 2. Assembly Emulators. 44 Portabilty vs performace. 45 Similiraties between CPUs. 46 Register usage. 46 Optimizations. 47 Code emitters vs assembly macros. 50 3. Threaded Code. 51 3 Basic concept behind threaded code. 52 Types of threaded code. 55 Implementation of threaded code. 56 Related works. 58 4. Advanced questions about interpreters. 58 Intepreters for simulators. 58 First pass interpreter and profiler. 59 Advanced: Inlining. Pipelined interpreters for VLIW CPUs. 60 Integrated CPU cores. 61 Using library CPU cores.
    [Show full text]
  • Quadro FX 4500/5500 SDI User's Guide
    ForceWare Graphics Drivers Quadro FX 4500/5500 SDI User’s Guide Version 2.0 NVIDIA Corporation May 9, 2006 NVIDIA ForceWare Graphics Drivers Quadro FX 4500/5500 SDI User’s Guide v2.0 Published by NVIDIA Corporation 2701 San Tomas Expressway Santa Clara, CA 95050 Notice ALL NVIDIA DESIGN SPECIFICATIONS, REFERENCE BOARDS, FILES, DRAWINGS, DIAGNOSTICS, LISTS, AND OTHER DOCUMENTS (TOGETHER AND SEPARATELY, “MATERIALS”) ARE BEING PROVIDED “AS IS.” NVIDIA MAKES NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. Information furnished is believed to be accurate and reliable. However, NVIDIA Corporation assumes no responsibility for the consequences of use of such information or for any infringement of patents or other rights of third parties that may result from its use. No license is granted by implication or otherwise under any patent or patent rights of NVIDIA Corporation. Specifications mentioned in this publication are subject to change without notice. This publication supersedes and replaces all information previously supplied. NVIDIA Corporation products are not authorized for use as critical components in life support devices or systems without express written approval of NVIDIA Corporation. Trademarks NVIDIA, the NVIDIA logo, 3DFX, 3DFX INTERACTIVE, the 3dfx Logo, STB, STB Systems and Design, the STB Logo, the StarBox Logo, NVIDIA nForce, GeForce, NVIDIA Quadro, NVDVD, NVIDIA Personal
    [Show full text]