ACCELERATING 2D GRAPHIC APPLICATIONS WITH LOW ENERGY OVERHEAD
|
|
- Corey Cooper
- 5 years ago
- Views:
Transcription
1 ACCELERATING 2D GRAPHIC APPLICATIONS WITH LOW ENERGY OVERHEAD Oliveira, L.; Neves, B; Carro, L Instituto de Informática Universidade Federal do Rio Grande do Sul {loliveira,bsneves,carro}@inf.ufrgs.br ABSTRACT Following the growth of embedded systems market, especially PDAs and mobile phones, the digital entertainment market, based on those platforms, grows as well. This scenario makes it important to address energy consumption on graphical applications, since many devices use some kind of display. This work presents a class library for low energy graphical applications running on embedded systems based on Femtojava microprocessor. 1. INTRODUCTION Along with technology evolution, the use of electronic systems increases with the intent of aiding in our everyday tasks. Electronic devices designed to several uses are more and more common. These devices are used for entertainment, communication, control of mechanical devices, etc. These devices are called electronic embedded systems. Following the ever-increasing demand for electronic embedded systems comes the need to reduce the time-tomarket of such systems. The designers need to finish a quality product, on time, on budget, and in accordance with consumer needs. Several commercial issues impose such constraints on the design of new products. The ever-increasing complexity of embedded systems only complicates matters. The consumer will buy a new product only if it brings new features that are important to him/her. Additional features complicate design, making it even more difficult to meet the requirements on time and on budget. To handle these issues, new methodologies are proposed in academia, aiming at reducing design time. These methodologies, more often than not, propose to specify the system in a higher abstraction level. With each methodology comes a set of tools to support its philosophy of design. Unfortunately, the use of such methods is very restricted, and very few make its way to wide use. Another way of reducing design time is the use of libraries of pre-designed and pre-validated components, both in hardware and software. Ease of use is very important in such libraries, in order to make its use worth. Integration is a very complicated problem, since components often come from different vendors and each of them can use different communication strategies. It is true that there are several efforts in standardizing communication methods in electronic systems, but the reality is far from ideal. On the software side the problem of integration also manifests, but it is clear that well designed software libraries help to reduce design time, since the developer can focus on the functionality of the systems rather than on low level functions. Restrictions imposed by embedded hardware contribute to increase system complexity. The Java language presents some characteristics that proved to be important in the design of complex systems, such as simplicity, portability, scalability (through object orientation), small code size, and so on. This work presents a class library designed to ease the development of embedded two-dimensional graphical applications. By doing that, it goes a step further in the path to provide a embedded platform based on Femtojava microcontroller. The library, called FemtoGraphics, was developed aiming low energy consumption by using simple techniques based on pre-processing of data to reduce memory accesses during execution time. Section 2 describes related work. Section 3 describes Femtojava, our hardware platform embedded systems. Section 4 and 5 describe the library and the optimizations performed on it to reduce energy consumption. Finally, section 6 shows some results and future work. 2. RELATED WORK The design of embeded software presents some problems. Portability in embedded systems, even with the use of Java is no trivial problem. Embedded systems have varied 1
2 features, making portability less straightforward than on desktops. Java 2 Micro Edition (J2ME) is a platform for resource-constrained environments. J2ME features virtual machines, configuration and profiles for various environments and several needs. With a proper configuration and profile, J2ME applications can execute in several devices, like cell phones, PDAs, set-top boxes, etc. A Java virtual machine with main libraries, classes and API constitutes a J2ME configuration. Connected Device Configuration (CDC) contains the CVM virtual machine. This configuration is directed to devices with 2MB of memory or more for the Java platform e often connected to some kind of network [12]. Connected Limited Device Configuration (CLDC) includes the K virtual machine or the CLDC HotSpot virtual machine. The K virtual machine is meant to RISC or CISC processors, 16 or 32 bit, and only 160KB to 512KB of memory for the Java platform. CLDC HotSpot is the next generation virtual machine for mobile devices. It features higher performance and includes connectivity do some kind of network, generally wireless, with limited bandwidth. CLDC takes into consideration energy consumption issues [13][14]. Profiles further define the J2ME environment, specifying the adequate platform for each device. Personal Basis [17] and Personal [18] are profiles for CDC configuration. The Personal profile is a superset of Personal Basis profile. Both are based on the Foundation profile and both allow the development of Java applications for consumer electronic devices. The MIDP profile is the basis for CLDC configuration. The PDA profile is meant to PDA devices and includes MIDP, introducing the Personal Information Management API [19]. There are also other solutions for embedded systems that are not Java-based, like Binary Runtime Environment for Wireless, from Qualcomm [4] and.net Compact Framework, from Microsoft [5]. The existence of such systems is further evidence of the need to promote the reuse of components, through libraries, in order to reduce development time of embedded systems. These systems ease the access to system peripherals in a device independent way, making code more portable. 3. FEMTOJAVA Due to the adoption of Java on cell phones and PDA devices [7], comes the need to improve the efficiency of software on the Java platform. The Femtojava microcontroller [1] executes Java bytecode directly, without a virtual machine. Femtojava has a reduced instruction-set, Harvard architecture, low area cost and the possibility to synthesize a custom processor, removing some instructions.. Such process is done through a tool called Sashimi, which analyses Java bytecodes and generates a control path that supports only the instructions that are actually used. In [2] a low energy version of Femtojava was described. There are other hardware implementations of Java machines, such as Picojava-I [8], Picojava-II [9], Komodo [10] and TRAJA [11]. The Femtojava microprocessor executes a limited set of Java bytecodes. It has some constraints that should be respected when developing applications on it. These constraints are a result of executing bytecodes directly in hardware. Some features are simpler to implement in software, like dynamic memory management. Our memory management system is a software library that is linked to the applications. This library was designed to contain only methods that respect the restrictions of Femtojava. More over, the library is restricted to creation and manipulations only of objects which class file contains code supported by the Femtojava hardware. Actually, this poses an import problem, since it restricts the set of applications we can use to validate Femtojava extensions like the one proposed in this paper. Many efforts are currently in development to circumvent this problem and enhance Femtojava support for different applications. The dynamic memory management library was the first extension of the instruction set completely implemented in software. It uses a code adaptation tool that automatically replaces dynamic memory management instructions for static method calls to the library. 4. FEMTOGRAPHICS LIBRARY The FemtoGraphics library was conceived to be a simple way to create graphical application for embedded devices based on the Femtojava microprocessor. It was designed to have a small memory footprint, by implementing only primitives on top of which a more complex application can be designed. This section presents the non-optimized version of the library. An important component of the FemtoGraphics Library is the Femtojava Resource Compiles (FemtoRC) which generates Java code from image files. Other types of resources are planned, but currently only images are supported by the tool. This tool not only transforms images into Java source files, but also is the offline pair to the techniques described in the next section, that are used to reduce energy consumption. The tool takes as input a set of file names and output a file called Resources.java that contains the data of all image files converted to the color format of the runtime library, according to some parameters that control how the images are stored and manipulated. After generating the resource file from the images, that file should be compiled with the application. The application is designed using a restricted set of Java 2
3 functionality, given the constraints of our environment. The library is designed with these constraints in mind. The main class of the library is FemtoSystem. It is responsible for holding access to the frame buffer and is planned to be the access point to other features in the future. The most important class in the library is the one that holds image data, called FemtoImage. FemtoImage has all methods used to control access to images. Among them, the most important are the block transfer methods, which are responsible for copying the image data to the frame buffer. The class Screen is composed by a FemtoImage object which represents the frame buffer itself. There should be only one Screen object in the system, and that object can be accessed by calling the FemtoSystem.screen() method. 5. REDUCING ENERGY CONSUMPTION In order to reduce energy consumption two techniques are evaluated, run-length encoding and images as immediate operands. These techniques are used to reduce memory accesses. Since memory accesses are an important factor in energy consumption, by reducing them we also reduce energy consumption. The first technique is to use run-lengh encoding (RLE) compression on images. This leads to less data memory use, which maps to less reads from memory (iaload bytecode). In our implementation we used RLE on each line of the image separately. This was made to simplify clipping, which is necessary if images transit beyond screen boundaries. Clipping is not currently implemented, but is such a common function in games that it must be possible to implement it efficiently. The image compression is done by the same tool that compiles images to source code. In the case of RLE compression, the arrays are generated with different row sizes, depending on the compression. A flag in the resources source file is set to signal that the encoded images are compressed. RLE compression works as follows: if a color repeats itself in a sequence, a value is placed on the compressed image to indicate the number of times that color is repeated. The usual implementation is to use a threshold. If the value is above that threshold, it is not a color, but a repeat count for the color that comes next. In such implementation, the range of colors that is above the threshold value is always represented by a repeat count and the color, even when the repeat count is one. Our implementation uses negative values to mean repeat counts, which limits our color depth to 15 bits, or colors. However, the technique can be used without this limitation and even with higher color depth. The choice of using negatives values is due to the fact that the implementation uses the short data type, and integers in Java are signaled. The output file of FemtoRC is the resource file with all images compressed through RLE. That file should be compiled with the application. Then, the runtime library will uncompress the image at the moment when it will be transferred to the screen. The runtime cost of this operation is very low, since RLE is a very simple compression technique. Also, the number of memory accesses is reduced, making this method even faster than transferring an uncompressed image. Another benefit of RLE happens when using color keys. The test that determines if a color repeated several times should be written is only made once since the result of the test will be the same. That represents less comparisons and more important, less braches in code, making it more efficient and helping to keep the Femtojava pipeline as full as possible. However, RLE will not work all the time. Images where color do not repeat very often are likely to have a low compression rate, sometimes making the compressed image almost as large as the original, or sometimes larger, depending on implementation. For example, if the values above the threshold are valid color and the image does not have color repeating in a line, the resulting encoding will be larger than the uncompressed image. The second technique reduces memory accesses by placing image bytes directly as immediate operands in bipush and sipush operations. Previously, the image pixels were loaded from memory through iaload operations. That meant three bytes, one for the bytecode, one for the array address and one for the offset, plus the access for the pixels itself (two bytes on the current implementaion). By placing the pixel data as immediate operands we reduce memory accesses. The original process of transferring an image to the screen is calculate an index to the source image data, accessing the array to read the pixel, test if it is transparent, if it is not transparent calculate an index to the destination image (screen frame buffer), and writing the pixel to this image. Many of these operations can be simplified by using our second technique. The first simplification is that there is no calcutation of indexes to the source image, since the data will be placed directly in the code. For example, the following is the original code that copies one pixel from the source image to the destination image: Dest[y+i][x+j]=source[i][j]; Where x, y, i and j are all variables. This will become: Dest[y+K][x+L]=value; Where x and y are variables and K, L and value are constants. It is important to see how the bytecodes for these operations will be. The first would result in sload (short load) operations for the variables, two sadd (short add) operations for the additions, one getstatic for each 3
4 array, and two iaload operations (arrays are bidimentionals) for each array. The second will use only one getstatic, three sipush operations, one for each constant, two sadd operations and finally one sastore (short array store). The real difference in energy consumption will come from less memory accesses, since the pixel data is a direct operand of the sipush operation. There are less ROM accesses (only one sipush against getstatic, two sload operations, and saload), and less RAM accesses (only to store the pixel through sastore). A further advantage is that code for pixels that are transparent (equal to the color key) is simply not generated. That will result in even less memory usage and more efficient code. 6. RESULTS AND FUTURE WORK The following table shows the number of cycles to display 13 frames of the application that we used to evaluate the proposed techniques. Our application is a simplified implementation of the Sokoban puzzle game. Original RLE Immediate Cycles (x1000) 2,766,422 2,603,266 1,012,032 Instructions 2,272,001 2,137, ,081 (x1000) Energy (nj) 1.488e e e9 The implementation using RLE compression did not produce good results. One explanation is that it relies on an additional loop to decompress images, resulting in poor usage of the Femtojava pipeline. The immediate operands method produced great results due to the fact that it removed some operations that require memory management. Our memory management system is implemented in software, making it very expensive. So, any reduction in that area brings huge savings in terms of energy and execution time. For that, we had an execution time that is 36% of the original implementation and an energy cost that is 38% of the original implementation. Following this work, we will expand the presented methods and investigate other mechanisms to reduce energy consumption in embedded graphical applications. A pipeline aware version of the RLE method will be considered. If the pipeline aware RLE produces good results, we will consider combining both methods. Also, we will evaluate the methods without memory management overhead. 7. REFERENCES [1] Ito, S.A., Carro, L., Jacobi, R.P. Making Java Work for Microcontroller Applications, IEEE Design and Test of Computers, vol. 18, n. 5, p [2] Beck F., A.C.S.; Carro, L. Low Power Java Processor for Embedded Applications, VLSI-SOC 2003 IFIP 12th International Conference on Very Large Scale Integration, Germany, December, [3] Mobile Information Device Profile (MIDP). Available at [4] Binary Runtime Environment for Wireless (BREW). Available at [5].Net Compact Framework. Available at [6] Sangiovanni-Vincentelli, A.; Martin, G. Platform-Based Design and Software Design Metodology for Embedded Systems. IEEE Design and Test, vol. 18, no. 6, pp , Nov- Dec, [7] Lawton, G. Moving Java into Mobile Phones, Computer, vol. 35, n. 6, pp [8] O Connor, J.M.; Tremblat, M. Picojava-I the Java Virtual Machine in Hardware, IEEE Micro, vol. 17, n. 2, Mar-Apr. pp [9] Sun Microsystems. Picojava-II Microarchitecture Guide. March, [10] Kreuzinger, J.; Marston, R.; Ungerer, Th.; Brinkschulte, U.; Krakowski, C. The Komodo Project: Thread-based Event Handling Supported by a Multithreaded Java Microcontroller, 25th Euromicro Conference (EUROMICRO), pp September, [11] Shimizu, N.; Naito, M. A Dual Issue Queued Pipelined Java Processor TRAJA Toward na Open Source Processor Project, Proceedings of Ásia Pacific Conference on ASIC (AP- ASIC), pp [12] Sun Microsystems. Connected Device Configuration (CDC) and the Foudation Profile Available at [13] Sun Microsystems. The CLDC HotSpot Implementation Virtual Machine, Available at HI WhitePaper.pdf. [14] J2ME Connected, Limited Device Configuration, Available at [15] Choi, I.; Shim, H.; Chang, N. Low-power color TFT LCD display for hand-held embedded systems, Proceedings of International Symposium on Low Power Electronics and Design,. pp August,
5 [16] Choi, I.; Kim H.S.; Shim, H.; Chang, N. LPBP: Low-Power Basis Profile of the Java 2 Micro Edition, Proceedings of the 2003 international symposium on Low power electronics and design, Seoul, Korea, pp [17] Programmer s Guide - J2ME Personal Basis Profile, Available at: [18] Programmer s Guide - J2ME Personal Profile, Available at: [19] PDA Profile for the J2ME Platform (JSR-75), Available at: 5
instruction fetch memory interface signal unit priority manager instruction decode stack register sets address PC2 PC3 PC4 instructions extern signals
Performance Evaluations of a Multithreaded Java Microcontroller J. Kreuzinger, M. Pfeer A. Schulz, Th. Ungerer Institute for Computer Design and Fault Tolerance University of Karlsruhe, Germany U. Brinkschulte,
More informationDAY 3 J2ME March 2007 Aalborg University, Mobile Device Group Mobile Phone Programming
DAY 3 J2ME Mobile Phone Programming Module 2 Micro (J2ME) Overview Introduction J2ME architecture Introduction 1 J2ME Key Factors Portability: Write once run anywhere Security: Code runs within the confines
More informationDAY 3 J2ME Aalborg University, Mobile Device Group. Mobile. Mobile Phone Programming
DAY 3 J2ME Mobile Phone Programming Java 2 Micro Edition (J2ME) Overview Introduction J2ME architecture MIDlets Application development Introduction J2ME Key Factors Portability: Write once run anywhere
More informationOverview of Java 2 Platform, Micro Edition (J2ME )
CHAPTER2 Overview of Java 2 Platform, Micro Edition (J2ME ) 2.1 Java 2 Platform Recognizing that one size does not fit all, Sun Microsystems has grouped Java technologies into three editions, each aimed
More informationJava 2 Platform, Micro Edition
Java 2 Platform, Micro Edition ArchitectureOverview Jon Courtney Senior Staff Engineer Sun Microsystems JavaOne203 Sesion316 Overall Presentation Goal Learnaboutthearchitectural features ofthejava 2Platform,MicroEdition(J2ME
More informationGrinderBench for the Java Platform Micro Edition Java ME
GrinderBench for the Java Platform Micro Edition Java ME WHITE PAPER May 2003 Updated April 2006 Protagoras, the leading Greek Sophist, was quoted as saying, "Man is the measure of all things," by which
More informationWho am I? Wireless Online Game Development for Mobile Device. What games can you make after this course? Are you take the right course?
Who am I? Wireless Online Game Development for Mobile Device Lo Chi Wing, Peter Lesson 1 Email: Peter@Peter-Lo.com I123-1-A@Peter Lo 2007 1 I123-1-A@Peter Lo 2007 2 Are you take the right course? This
More informationReconfigurable Architecture Requirements for Co-Designed Virtual Machines
Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Kenneth B. Kent University of New Brunswick Faculty of Computer Science Fredericton, New Brunswick, Canada ken@unb.ca Micaela Serra
More informationIntroduction to Java Programming CPIT 202. WEWwwbvxnvbxmnhsgfkdjfcn
Introduction to Java Programming CPIT 202 WEWwwbvxnvbxmnhsgfkdjfcn b 1 WEEK 1 LECTURE 1 What is Java? 2 Background on Java First appear in 1995 Developed by Sun Microsystems Corp. Cross platform = platform
More informationJOP: A Java Optimized Processor for Embedded Real-Time Systems. Martin Schoeberl
JOP: A Java Optimized Processor for Embedded Real-Time Systems Martin Schoeberl JOP Research Targets Java processor Time-predictable architecture Small design Working solution (FPGA) JOP Overview 2 Overview
More informationDeveloping Mobile Applications
Developing Mobile Applications J2ME Java 2 Micro Edition 1 Virtual machines portable apps virtual machine native apps operating system hardware 2 Java - important issues Symbolic language not a random
More informationAPPLYING JAVA ON SINGLE-CHIP MULTIPROCESSORS. Antonio C. S. Beck F., Júlio C. B. Mattos, Luigi Carro. {caco, julius, carro
APPLYING JAVA ON SINGLE-CHIP MULTIPROCESSORS Antonio C. S. Beck F., Júlio C. B. Mattos, Luigi Carro Instituto de Informática Universidade Federal do Rio Grande do Sul, Porto Alegre, Brazil {caco, julius,
More informationINSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing
UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Departamento de Engenharia Informática for Embedded Computing MEIC-A, MEIC-T, MERC Lecture Slides Version 3.0 - English Lecture 22 Title: and Extended
More informationJXTA for J2ME Extending the Reach of Wireless With JXTA Technology
JXTA for J2ME Extending the Reach of Wireless With JXTA Technology Akhil Arora Carl Haywood Kuldip Singh Pabla Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 USA 650 960-1300 The Wireless
More informationNew Approach for Affine Combination of A New Architecture of RISC cum CISC Processor
Volume 2 Issue 1 March 2014 ISSN: 2320-9984 (Online) International Journal of Modern Engineering & Management Research Website: www.ijmemr.org New Approach for Affine Combination of A New Architecture
More informationMicroprocessors, Lecture 1: Introduction to Microprocessors
Microprocessors, Lecture 1: Introduction to Microprocessors Computing Systems General-purpose standalone systems (سيستم ھای نھفته ( systems Embedded 2 General-purpose standalone systems Stand-alone computer
More informationCM0256 Pervasive Computing
CM0256 Pervasive Computing Lecture 17 Software Development Approaches Tom Goodale t.r.goodale@cs.cardiff.ac.uk Lecture Outline In this lecture we: J2ME applications Palm. Device Limitations Limited Power
More information2D/3D Graphics Accelerator for Mobile Multimedia Applications. Ramchan Woo, Sohn, Seong-Jun Song, Young-Don
RAMP-IV: A Low-Power and High-Performance 2D/3D Graphics Accelerator for Mobile Multimedia Applications Woo, Sungdae Choi, Ju-Ho Sohn, Seong-Jun Song, Young-Don Bae,, and Hoi-Jun Yoo oratory Dept. of EECS,
More informationApplying Memory Test to Embedded Systems
Applying Memory Test to Embedded Systems César Augusto M. Marcon 1, Alexandre de Moraes Amory 1, Marcelo Lubaszewski 1, Altamiro Amadeu Susin 1, Ney Laert V. Calazans 2, Fernando Gehm Moraes 2, Fabiano
More informationImproved Mechanism for Efficient object Pooling in J2ME Based Mobile Phone
Abstract Nowadays mobile phones are expected to handle huge volume of multimedia data which is very challenging due to the small memory size of the mobile phone sets. J2ME services play an important role
More informationMobile Station Execution Environment (MExE( MExE) Developing web applications for PDAs and Cellphones. WAP (Wireless Application Protocol)
Developing web applications for PDAs and Cellphones Mobile Station Execution Environment (MExE( MExE) MExE is a standard for defining various levels of wireless communication These levels are called classmarks
More informationDemo Proposal. 1 General Information
Demo Proposal 1 General Information Demostration title: FLiP Product Line Derivation Tool Type of demonstration : Forum Contact person: Paulo Borba, phmb@cin.ufpe.br, Informatics Center UFPE, Universidade
More informationA Real-Time Java System on a Multithreaded Java Microcontroller
A Real-Time Java System on a Multithreaded Java Microcontroller M. Pfeffer, S. Uhrig, Th. Ungerer Institute for Computer Science University of Augsburg D-86159 Augsburg fpfeffer, uhrig, ungererg @informatik.uni-augsburg.de
More informationHardware support in a middleware for distributed and real-time embedded applications
Hardware support in a middleware for distributed and real-time embedded applications Elias T. Silva Jr 1,2, Flávio R. Wagner 1, Edison P. Freitas 1, Leonardo Kunz 1, Carlos E. Pereira 1 1 PPGC Instituto
More informationPennBench: A Benchmark Suite for Embedded Java
WWC5 Austin, TX. Nov. 2002 PennBench: A Benchmark Suite for Embedded Java G. Chen, M. Kandemir, N. Vijaykrishnan, And M. J. Irwin Penn State University http://www.cse.psu.edu/~mdl Outline Introduction
More informationController Synthesis for Hardware Accelerator Design
ler Synthesis for Hardware Accelerator Design Jiang, Hongtu; Öwall, Viktor 2002 Link to publication Citation for published version (APA): Jiang, H., & Öwall, V. (2002). ler Synthesis for Hardware Accelerator
More informationHardware-Supported Pointer Detection for common Garbage Collections
2013 First International Symposium on Computing and Networking Hardware-Supported Pointer Detection for common Garbage Collections Kei IDEUE, Yuki SATOMI, Tomoaki TSUMURA and Hiroshi MATSUO Nagoya Institute
More informationMobile Application Design and Development With the use of J2ME Technology & UML m.khlaif Computer Science Dept Garyounis University
Garyounis University Press Journal of Science and Its Applications Vol. 3, No. 1, pp 83-93, April 2009 83 Mobile Application Design and Development With the use m.khlaif Computer Science Dept Garyounis
More informationA Microkernel Architecture for a Highly Scalable Real-Time Middleware
A Microkernel Architecture for a Highly Scalable Real-Time Middleware U. Brinkschulte, C. Krakowski,. Riemschneider. Kreuzinger, M. Pfeffer, T. Ungerer Institute of Process Control, Institute of Computer
More informationNew Advances in Micro-Processors and computer architectures
New Advances in Micro-Processors and computer architectures Prof. (Dr.) K.R. Chowdhary, Director SETG Email: kr.chowdhary@jietjodhpur.com Jodhpur Institute of Engineering and Technology, SETG August 27,
More informationELC4438: Embedded System Design Embedded Processor
ELC4438: Embedded System Design Embedded Processor Liang Dong Electrical and Computer Engineering Baylor University 1. Processor Architecture General PC Von Neumann Architecture a.k.a. Princeton Architecture
More informationJSR 248: Taking Java Platform, Micro Edition (Java ME) to the Next Level
JSR 248: Taking Java Platform, Micro Edition (Java ME) to the Next Level Kay Glahn Consultant Mobile Service Architecture, Vodafone http://www.vodafone.com Erkki Rysä Technologist Nokia Corporation http://www.nokia.com
More informationDistributed Virtual Reality Computation
Jeff Russell 4/15/05 Distributed Virtual Reality Computation Introduction Virtual Reality is generally understood today to mean the combination of digitally generated graphics, sound, and input. The goal
More informationDeveloping Core Software Technologies for TI s OMAP Platform
SWPY006 - August 2002 White Paper By Justin Helmig Texas Instruments Senior Technical Staff, Wireless Software Applications Texas Instruments OMAP platform for wireless handsets offers a powerful hardware
More informationA Direct Memory Access Controller (DMAC) IP-Core using the AMBA AXI protocol
SIM 2011 26 th South Symposium on Microelectronics 167 A Direct Memory Access Controller (DMAC) IP-Core using the AMBA AXI protocol 1 Ilan Correa, 2 José Luís Güntzel, 1 Aldebaro Klautau and 1 João Crisóstomo
More informationA Multithreaded Java Microcontroller for Thread-Oriented Real-Time Event-Handling
A Multithreaded Java Microcontroller for Thread-Oriented Real-Time Event-Handling U. Brinkschulte, C. Krakowski J. Kreuzinger, Th. Ungerer Institute of Process Control, Institute of Computer Design Automation
More informationRequirements and Issues of V**s for Mobile Terminals
Requirements and Issues of V**s for Mobile Terminals Workshop on the Future of Virtual Execution Environments Armonk, NY, USA 15-17.09.2004 Kari Systä Nokia Research Center 1 NOKIA Presentation_Name.PPT
More informationJ2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES
J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES Pradip Lamsal Abstract: Java 2 Platform Micro Edition (J2ME ), a flavour of Java architecture, is aimed at low memory consumer devices, typically less
More informationParallelism of Java Bytecode Programs and a Java ILP Processor Architecture
Australian Computer Science Communications, Vol.21, No.4, 1999, Springer-Verlag Singapore Parallelism of Java Bytecode Programs and a Java ILP Processor Architecture Kenji Watanabe and Yamin Li Graduate
More informationProvideX On Handhelds
ProvideX On Handhelds Presented by: Jarett Smith Presentation Overview Landscape of Mobile Computing Wireless Connections to Internet Challenges of Mobile Computing Why We Chose Java 2 Micro Edition Java
More informationMobile Application Development. Introduction. Dr. Christelle Scharff Pace University, USA
Mobile Application Development Introduction Dr. Christelle Scharff cscharff@pace.edu Pace University, USA Objectives Getting an overview of the mobile phone market, its possibilities and weaknesses Providing
More informationPVRTC & Texture Compression. User Guide
Public Imagination Technologies PVRTC & Texture Compression Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty
More informationEarly Embedded Software Design Space Exploration Using UML-based Estimation
Early Embedded Software Design Space Exploration Using UML-based Estimation Marcio F. da S. Oliveira 1 Lisane B. de Brisolara 1 Luigi Carro 1,2 Flávio R. Wagner 1 1 Computer Science Institute Federal University
More informationDeveloping Games for J2ME Technology- Enabled Mobile Devices
Developing Games for J2ME Technology- Enabled Mobile Devices Nicolas Lorain Sr. Product Manager Wireless Java Technologies Sun Microsystems, Inc. Session Speakers Nicolas Lorain Sr. Product Manager, Wireless
More informationEvolution of ISAs. Instruction set architectures have changed over computer generations with changes in the
Evolution of ISAs Instruction set architectures have changed over computer generations with changes in the cost of the hardware density of the hardware design philosophy potential performance gains One
More informationChapter 2. Instruction Set. RISC vs. CISC Instruction set. The University of Adelaide, School of Computer Science 18 September 2017
COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface RISC-V Edition Chapter 2 Instructions: Language of the Computer These slides are based on the slides by the authors. The slides doesn t
More informationThe Impact of Instruction Compression on I-cache Performance
Technical Report CSE-TR--97, University of Michigan The Impact of Instruction Compression on I-cache Performance I-Cheng K. Chen Peter L. Bird Trevor Mudge EECS Department University of Michigan {icheng,pbird,tnm}@eecs.umich.edu
More informationIs Intel s Hyper-Threading Technology Worth the Extra Money to the Average User?
Is Intel s Hyper-Threading Technology Worth the Extra Money to the Average User? Andrew Murray Villanova University 800 Lancaster Avenue, Villanova, PA, 19085 United States of America ABSTRACT In the mid-1990
More informationChapter 1: Introduction to Computers and Java
Chapter 1: Introduction to Computers and Java Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 1 discusses the following main topics:
More information8/23/2014. Chapter Topics. Introduction. Java History. Why Program? Java Applications and Applets. Chapter 1: Introduction to Computers and Java
Chapter 1: Introduction to Computers and Java Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 1 discusses the following main topics:
More informationChapter 1 Introduction to Java
Chapter 1 Introduction to Java 1 Why Java? The answer is that Java enables users to develop and deploy applications on the Internet for servers, desktop computers, and small hand-held devices. The future
More informationOptimizing the Generation of Object-Oriented Real-Time Embedded Applications Based on the Real-Time Specification for Java
Optimizing the Generation of Object-Oriented Real-Time Embedded Applications Based on the Real-Time Specification for Java Marco Aurélio Wehrmeister 1, Carlos Eduardo Pereira 1,2, Leandro Buss Becker 3
More informationHeap Compression for Memory-Constrained Java
Heap Compression for Memory-Constrained Java CSE Department, PSU G. Chen M. Kandemir N. Vijaykrishnan M. J. Irwin Sun Microsystems B. Mathiske M. Wolczko OOPSLA 03 October 26-30 2003 Overview PROBLEM:
More informationMicrocontrollers. Microcontroller
Microcontrollers Microcontroller A microprocessor on a single integrated circuit intended to operate as an embedded system. As well as a CPU, a microcontroller typically includes small amounts of RAM and
More informationARSITEKTUR SISTEM KOMPUTER. Wayan Suparta, PhD 17 April 2018
ARSITEKTUR SISTEM KOMPUTER Wayan Suparta, PhD https://wayansuparta.wordpress.com/ 17 April 2018 Reduced Instruction Set Computers (RISC) CISC Complex Instruction Set Computer RISC Reduced Instruction Set
More informationphoneme: High-performance, product-quality GPLv2 CDC + CLDC stacks Terrence Barr
phoneme: High-performance, product-quality GPLv2 CDC + CLDC stacks Terrence Barr Senior Technologist and Community Ambassador Java Mobile & Embedded Community Sun Microsystems 1 Platform Scalability and
More informationDesign guidelines for embedded real time face detection application
Design guidelines for embedded real time face detection application White paper for Embedded Vision Alliance By Eldad Melamed Much like the human visual system, embedded computer vision systems perform
More informationLecture 1: Introduction to Java
Lecture 1: Introduction to Java 1 Programs Computer programs, known as software, are instructions to the computer. You tell a computer what to do through programs. Without programs, a computer is an empty
More informationImproving Energy Efficiency of Block-Matching Motion Estimation Using Dynamic Partial Reconfiguration
, pp.517-521 http://dx.doi.org/10.14257/astl.2015.1 Improving Energy Efficiency of Block-Matching Motion Estimation Using Dynamic Partial Reconfiguration Jooheung Lee 1 and Jungwon Cho 2, * 1 Dept. of
More informationJump-Start Software-Driven Hardware Verification with a Verification Framework
Jump-Start Software-Driven Hardware Verification with a Verification Framework Matthew Ballance Mentor Graphics 8005 SW Boeckman Rd Wilsonville, OR 97070 Abstract- Software-driven hardware verification
More informationMultimedia Platform. Mainstream wireless multimedia expands globally with the industry s first single-chipset solution
CONVERGENCE ENHANCED MULTIMEDIA MULTIMEDIA VALUE Multimedia Platform Mainstream wireless multimedia expands globally with the industry s first single-chipset solution F I N D A R E S T A U R A N T S E
More informationCode Compression for DSP
Code for DSP Charles Lefurgy and Trevor Mudge {lefurgy,tnm}@eecs.umich.edu EECS Department, University of Michigan 1301 Beal Ave., Ann Arbor, MI 48109-2122 http://www.eecs.umich.edu/~tnm/compress Abstract
More informationComputer Architecture Dr. Charles Kim Howard University
EECE416 Microcomputer Fundamentals Computer Architecture Dr. Charles Kim Howard University 1 Computer Architecture Computer Architecture Art of selecting and interconnecting hardware components to create
More informationImperative model of computation
12 Imperative model of computation Peter Marwedel TU Dortmund, Informatik 12 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 2010/10/28 These slides use Microsoft clip arts. Microsoft copyright restrictions
More informationCARUSO Project Goals and Principal Approach
CARUSO Project Goals and Principal Approach Uwe Brinkschulte *, Jürgen Becker #, Klaus Dorfmüller-Ulhaas +, Ralf König #, Sascha Uhrig +, and Theo Ungerer + * Department of Computer Science, University
More informationCSEE 3827: Fundamentals of Computer Systems
CSEE 3827: Fundamentals of Computer Systems Lecture 15 April 1, 2009 martha@cs.columbia.edu and the rest of the semester Source code (e.g., *.java, *.c) (software) Compiler MIPS instruction set architecture
More informationReal-time Scheduling on Multithreaded Processors
Real-time Scheduling on Multithreaded Processors J. Kreuzinger, A. Schulz, M. Pfeffer, Th. Ungerer Institute for Computer Design, and Fault Tolerance University of Karlsruhe D-76128 Karlsruhe, Germany
More informationVERY LOW POWER MICROPROCESSOR CELL
VERY LOW POWER MICROPROCESSOR CELL Puneet Gulati 1, Praveen Rohilla 2 1, 2 Computer Science, Dronacharya College Of Engineering, Gurgaon, MDU, (India) ABSTRACT We describe the development and test of a
More informationDesigning Next Generation Test Systems An In-Depth Developers Guide
An In-Depth Developers Guide Designing Next Generation Test Systems An In-depth Developers Guide Contents Section 1 Executive Summary Chapter 1 Increasing Design Complexity...1-1 Shorter Product Development
More informationBISTed cores and Test Time Minimization in NOC-based Systems
BISTed cores and Test Time Minimization in NOC-based Systems Érika Cota 1 Luigi Carro 1,2 Flávio Wagner 1 Marcelo Lubaszewski 1,2 1 PPGC - Instituto de Informática 2 PPGEE - Depto. Engenharia Elétrica
More informationWhiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME)
Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME) Pavel Petroshenko, Sun Microsystems, Inc. Ashmi Bhanushali, NVIDIA Corporation Jerry Evans, Sun Microsystems, Inc. Nandini
More information[Kumar, 3(3): March, 2014] ISSN: Impact Factor: 1.852
IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY RLE Compander for Wireless Sensor Data Processing Arun Kumar.R Assistant Professor, CSE, Vidya Jyothi Institute of Technology,
More informationChapter 04: Instruction Sets and the Processor organizations. Lesson 20: RISC and converged Architecture
Chapter 04: Instruction Sets and the Processor organizations Lesson 20: RISC and converged Architecture 1 Objective Learn the RISC architecture Learn the Converged Architecture 2 Reduced Instruction Set
More informationEmbedded Computation
Embedded Computation What is an Embedded Processor? Any device that includes a programmable computer, but is not itself a general-purpose computer [W. Wolf, 2000]. Commonly found in cell phones, automobiles,
More informationHistory Introduction to Java Characteristics of Java Data types
Course Name: Advanced Java Lecture 1 Topics to be covered History Introduction to Java Characteristics of Java Data types What is Java? An Object-Oriented Programming Language developed at Sun Microsystems
More informationEPOS: an Object-Oriented Operating System
EPOS: an Object-Oriented Operating System Antônio Augusto Fröhlich 1 Wolfgang Schröder-Preikschat 2 1 GMD FIRST guto@first.gmd.de 2 University of Magdeburg wosch@ivs.cs.uni-magdeburg.de Abstract This position
More informationECE 448 Lecture 15. Overview of Embedded SoC Systems
ECE 448 Lecture 15 Overview of Embedded SoC Systems ECE 448 FPGA and ASIC Design with VHDL George Mason University Required Reading P. Chu, FPGA Prototyping by VHDL Examples Chapter 8, Overview of Embedded
More informationMemory Systems IRAM. Principle of IRAM
Memory Systems 165 other devices of the module will be in the Standby state (which is the primary state of all RDRAM devices) or another state with low-power consumption. The RDRAM devices provide several
More informationSwitching to AQA from Edexcel
Switching to AQA from Edexcel This resource compares our new GCSE Computer Science specification (8520) with the new Edexcel Computer Science specification (1CP1). If you are thinking of switching from
More informationINTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY
INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK DESIGN & IMPLEMENTATION OF LOCATION AWARENESS & SHARING SYSTEM USING GPS & GPRS
More informationUniversität Dortmund. ARM Architecture
ARM Architecture The RISC Philosophy Original RISC design (e.g. MIPS) aims for high performance through o reduced number of instruction classes o large general-purpose register set o load-store architecture
More informationMohammad Jafar Navabi Medtronic Microelectronics Center, Tempe, Arizona, USA
MICROCONTROLLERS Mohammad Jafar Navabi Medtronic Microelectronics Center, Tempe, Arizona, USA Keywords: Microprocessor, peripheral devices, CPU, I/O, analog to digital converter, digital to analog converter,
More informationECE 486/586. Computer Architecture. Lecture # 7
ECE 486/586 Computer Architecture Lecture # 7 Spring 2015 Portland State University Lecture Topics Instruction Set Principles Instruction Encoding Role of Compilers The MIPS Architecture Reference: Appendix
More informationInstruction Set Architecture
Instruction Set Architecture Instructor: Preetam Ghosh Preetam.ghosh@usm.edu CSC 626/726 Preetam Ghosh Language HLL : High Level Language Program written by Programming language like C, C++, Java. Sentence
More informationARM Processors for Embedded Applications
ARM Processors for Embedded Applications Roadmap for ARM Processors ARM Architecture Basics ARM Families AMBA Architecture 1 Current ARM Core Families ARM7: Hard cores and Soft cores Cache with MPU or
More informationVideo Compression An Introduction
Video Compression An Introduction The increasing demand to incorporate video data into telecommunications services, the corporate environment, the entertainment industry, and even at home has made digital
More informationVon Neumann architecture. The first computers used a single fixed program (like a numeric calculator).
Microprocessors Von Neumann architecture The first computers used a single fixed program (like a numeric calculator). To change the program, one has to re-wire, re-structure, or re-design the computer.
More informationSimple and Powerful Animation Compression. Nicholas Fréchette Programming Consultant for Eidos Montreal
Simple and Powerful Animation Compression Nicholas Fréchette Programming Consultant for Eidos Montreal Contributors Frédéric Zimmer, co-designer Luke Mamacos, consultant Thank you Eidos Montreal! Presentation
More informationResearch on Embedded Java Virtual Machine and its Porting
IJCSNS International Journal of Computer Science and Network Security, VOL.7 No.9, September 2007 157 Research on Embedded Java Virtual Machine and its Porting Jun QIN, Qiaomin LIN, Xiujin WANG College
More informationYear 10 OCR GCSE Computer Science (9-1)
01 4 th September 02 11 th September 03 18 th September Half Term 1 04 25 th September 05 2 nd October 06 9 th October 07 16 th October NA Students on in school Thursday PM and Friday Only Unit 1, Lesson
More informationASSEMBLY LANGUAGE MACHINE ORGANIZATION
ASSEMBLY LANGUAGE MACHINE ORGANIZATION CHAPTER 3 1 Sub-topics The topic will cover: Microprocessor architecture CPU processing methods Pipelining Superscalar RISC Multiprocessing Instruction Cycle Instruction
More informationParallel Computer Architecture
Parallel Computer Architecture What is Parallel Architecture? A parallel computer is a collection of processing elements that cooperate to solve large problems fast Some broad issues: Resource Allocation:»
More informationJava Embedded on ARM
Java Embedded on ARM The Embedded Market Evolving Rapidly Internet of Things 2.3B Internet Users Cloud for Embedded Devices Med-Large Embedded Multi-function Devices Enterprise Data and Applications Up
More informationOne-Level Cache Memory Design for Scalable SMT Architectures
One-Level Cache Design for Scalable SMT Architectures Muhamed F. Mudawar and John R. Wani Computer Science Department The American University in Cairo mudawwar@aucegypt.edu rubena@aucegypt.edu Abstract
More informationOverview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host
Distributed Software Architecture Using Middleware Mitul Patel 1 Overview Distributed Systems Middleware What is it? Why do we need it? Types of Middleware Example Summary 2 Distributed Systems Components
More informationMore advanced CPUs. August 4, Howard Huang 1
More advanced CPUs In the last two weeks we presented the design of a basic processor. The datapath performs operations on register and memory data. A control unit translates program instructions into
More informationRISC Principles. Introduction
3 RISC Principles In the last chapter, we presented many details on the processor design space as well as the CISC and RISC architectures. It is time we consolidated our discussion to give details of RISC
More informationChapter 13 Reduced Instruction Set Computers
Chapter 13 Reduced Instruction Set Computers Contents Instruction execution characteristics Use of a large register file Compiler-based register optimization Reduced instruction set architecture RISC pipelining
More informationBasic Compression Library
Basic Compression Library Manual API version 1.2 July 22, 2006 c 2003-2006 Marcus Geelnard Summary This document describes the algorithms used in the Basic Compression Library, and how to use the library
More informationProject Overview. CSE 403, Spring 2003 Software Engineering.
Project Overview CSE 403, Spring 2003 Software Engineering http://www.cs.washington.edu/education/courses/403/03sp/ 2-Apr-2003 Cse403-02-ProjectOverview 2003 University of Washington 1 References Readings
More information