We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byWendy Mortimore
Modified about 1 year ago
11 The Mobile Phone Dr. Miguel A. Labrador Department of Computer Science & Engineering
2 Copyright© Dr. Miguel A. Labrador 2 2 Outline Hardware architecture –Processor –Digital signal processors –Memory –Future trends and challenges Software architecture –Three software layers –The Java virtual machine
3 Copyright© Dr. Miguel A. Labrador 3 3 Hardware Architecture Microprocessor, digital signal processors, memory, battery and power control module, radio frequency (RF) interfaces, and peripherals, such as keyboard, speakers, microphone, and display
4 Copyright© Dr. Miguel A. Labrador 4 4 Microprocessor Dominated by Advanced RISC Machines (ARM) –Manufactured by ARM Limited –Also built by other companies that license the architecture Very low power consumption Most recent families includes the ARM9, ARM11 and Cortex
5 Copyright© Dr. Miguel A. Labrador 5 5 The ARM9 Microprocessor ARM9 is a general purpose 32 bit architecture –16KB cache for instructions –16 KB cache for data –Memory management unit –Typical computing power of 200 MIPS at 180 MHz –Includes some enhanced DSP extensions The ARM9E also supports Jazelle, a technology that allows Java bytecode to be executed directly –Higher performance than Java virtual machine –Reduces power consumption by 80% Popular devices using this microprocessor –Nintendo DS, SUN SPOT WSN device, Sony-Ericsson cellular phones
6 Copyright© Dr. Miguel A. Labrador 6 6 The ARM11 Microprocessor ARM11 is a general purpose 32 bit architecture –Variable cache for instructions and data –Memory management unit –Typical computing power of 740 MIPS at MHz –Also support Jazelle –Includes Thumb-2 technology Handle bit manipulation, table branches, conditional executions –Includes Vector Floating Point (VFP) technology Single and double precision floating point computations Very useful in image processing applications, 2D and 3D transforms, font generation, digital filters Popular devices using this microprocessor –Apple’s iPhone and iPod Touch, Motorola’s RIZR
7 Copyright© Dr. Miguel A. Labrador 7 7 The Cortex Family Utilizes the ARMv7 architecture, which comes in three flavors ARMv7-A –Designed to support sophisticated, virtual memory-based OS and user applications –Includes NEON technology to support high-performance, media intense applications such as video encoding/decoding, 3D graphics, speech and image processing, and the like ARMv7-R –Designed for real-time systems ARMv7-M –Optimized for microcontroller and low-cost applications ARMv7 R and M also include VFP and dynamic compiler support for just-in-time (JIT) dynamic adaptive (DAC) and ahead of time (AOT) compilations
8 Copyright© Dr. Miguel A. Labrador 8 8 Digital Signal Processors Included in cellular phones to improve their performance Optimized processors to handle computationally intensive and repetitive mathematical operations quickly –Fast Fourier Transforms, compression, and coding/decoding algorithms Programmable, so different algorithms can be implemented with the same chip Texas Instruments is the world leader in the DSP market TI offers several DSP platforms –DaVinci digital media processors –The series C5000 of low power DSPs –The series C6000, the most recent family of high performance The TI series C6000 implements separate instruction and data caches as well as an 8 MB 2nd level cache. These models are capable of as many as 8000 MIPS, use very long instruction word (VLIW) encoding, and perform eight operations per clock-cycle
9 Copyright© Dr. Miguel A. Labrador 9 9 GPS Receiver Key hardware component in mobile-based location provider architectures –No GPS receiver, no GPS fixes! GPS receiver accuracy and energy consumption should be carefully assessed by the application service provider –Different chips provide different levels of accuracy, which may not meet the application’s requirements –Energy consumption is also a concern, as pinging the GPS receiver and transmitting the fixes over the network may drain your phone’s battery very fast New receivers with parallel, hardware correlator architectures are coming. They will provide: –Faster satellite signal acquisition –Higher sensitivity –More accurate fixes –Lower power consumption
10 Copyright© Dr. Miguel A. Labrador 10 Copyright© Dr. Miguel A. Labrador 10 Memory Read Only Memory (ROM) –Store programs on a permanent fashion –ROM capacity in cell phones usually in the order of 64 Mb –Information not affected by lack of power Random Access Memory (RAM) –Read and write –Information is volatile if power is switched off or not refreshed periodically –RAM capacity usually in the order of 128 Mb or more Two types of RAM –Static and dynamic Static RAM (SRAM) –Does not need to be refreshed Fast and power efficient but expensive Used to improve system’s performance as intermediate storage (cache) where small amounts but fast access is needed for frequently used data
11 Copyright© Dr. Miguel A. Labrador 11 Copyright© Dr. Miguel A. Labrador 11 Memory Dynamic RAM, or DRAM –Cheaper than SRAM but slower and energy hungry, as it needs to be refreshed –Mainly used as main memory in computers Another type of non-volatile memory widely used in mobile devices: Flash memory –Two flavors: NOR and NAND flash memory NOR-based flash memory has long erase and write times but provides full address and data buses –Allows random access to any memory location –Excellent read time (comparable to RAM) –Suitable as a ROM replacement –Endurance between 10,000 and 1,000,000 erase cycles
12 Copyright© Dr. Miguel A. Labrador 12 Copyright© Dr. Miguel A. Labrador 12 Memory NAND-based flash memory –Faster erase and write time than NOR flash –Up to 10 times better endurance –High random access times Can’t address memory locations individually; must read in blocks –Good for secondary storage, such as a hard drive –microSD cards with capacities from 64 to 32 MB are common
13 Copyright© Dr. Miguel A. Labrador 13 Copyright© Dr. Miguel A. Labrador 13 Future Trends and Challenges New multimedia and communication capabilities have called for more computing power But, without increasing, or perhaps reducing, energy consumption, size, and cost Integrating more smaller and more energy-efficient transistors was the solution in the past –As integration increased considerably, so it did power consumption Recall that Power ~ C V 2 f –Reducing frequency of operation f is an option but makes the chip slower –Reducing the voltage of operation reduces the power in a quadratic manner This trend has been pursued by chip manufactures aggressively –Lower voltages of operation and different modes of operation, e.g., sleep modes, are currently available in most chips inside battery powered devices, such as laptops and cell phones.
14 Copyright© Dr. Miguel A. Labrador 14 Copyright© Dr. Miguel A. Labrador 14 Future Trends and Challenges New solutions are needed because integration of more and more transistors per area continues One option is parallelism –Assume that at V 1, the chip works at f 1 –If voltage is divided by half, the frequency is also divided by half, but the power is now reduced to one eighth At the expense of having a chip that is twice slower –If we add another chip to make up for the computational power lost, the two chips will have the same computational power while saving power by a factor of four Therefore, power savings can be achieved by multiple (parallel) processors New challenges are also introduced such as performing operations in parallel in an efficient manner
15 Copyright© Dr. Miguel A. Labrador 15 Copyright© Dr. Miguel A. Labrador 15 Software Architecture Cellular phones, as any other computer, contain three layers of software –Application-level software Programs running in the device that are meaningful to the user –Middleware software Interfaces that automate widely used tasks, e.g., APIs Shorten the software development time and reduce programming errors –Low-level software OS, drivers, and virtual machines Virtual machines –Additional software layer on top of the operating system that also executes computer programs –Make the applications operating system independent allowing real portability of applications among computers – Virtual machines offer applications the same services and interfaces and hide the particularities of each operating system
16 Copyright© Dr. Miguel A. Labrador 16 Copyright© Dr. Miguel A. Labrador 16 The Java ME Virtual Machine The Java Virtual Machine (JVM) is in charge of the execution of compiled programs that generate Java bytecode The JVM consists of –Execution engine –Heap –Garbage collector –Loader –Verifier –Thread manager Operating System Java Virtual Machine Java Compiler Java Bytecode (*.jar) Java Source (*.java)
17 Copyright© Dr. Miguel A. Labrador 17 Copyright© Dr. Miguel A. Labrador 17 The Java KVM JVM Stacks Methods Area Execution Engine Global variables (program counter, stack pointer, frame pointer, others) Global variables (program counter, stack pointer, frame pointer, others)
18 Copyright© Dr. Miguel A. Labrador 18 Copyright© Dr. Miguel A. Labrador 18 The Execution Engine Module that executes the Java bytecode –Similar to low-level machine languages Operational codes and operands –200 standard bytecodes Load, store, arithmetic functions. Type conversions, push and pop stack operations, branching, etc. Can be implemented as an interpreter, compiler, or Java processor –Interpreter is a processor emulated in software Reads source code written in a high-level language, transforms it into machine code, and executes the machine code Speed is the main issue, as it takes longer to run an interpreted program –The choice for resource-constrained devices
19 Copyright© Dr. Miguel A. Labrador 19 Copyright© Dr. Miguel A. Labrador 19 The Execution Engine Java compilers compile Java bytecode into machine language –Code is run in the hardware as any other compiled program –Static Compilation before program is run Usual procedure High quality code Does not allow dynamic class loading and only runs on a specific machine –Dynamic Compilation at runtime Dynamic class loading allowed Runs on any machine Speed depends on amount of methods that are repeatedly run Interpreting and executing is faster than compiling and executing Java processors implement the JVM in hardware –Bytecodes are the instruction set of the machine
20 Copyright© Dr. Miguel A. Labrador 20 Copyright© Dr. Miguel A. Labrador 20 The Heap Memory area used by the JVM to store data and code during runtime –The methods area stores the methods to be executed Permanent area; outside the scope of the garbage collector –The stack JVM is stack-based; all operations are done through a stack One stack per thread Each stack consists of frames where local variables and operands to execute a method are stored One frame can be active at any given time
21 Copyright© Dr. Miguel A. Labrador 21 Copyright© Dr. Miguel A. Labrador 21 The Garbage Collector Module in charge of claiming the memory space occupied by objects that are no longer referenced by the program Liberates the programmer from this tasks May introduce a performance penalty, which may vary depending on the algorithm used The GC included in the KVM is a simple, non-moving, single- space, mark-and-sweep garbage collectors –Marks referenced objects and sweeps unmarked ones
22 Copyright© Dr. Miguel A. Labrador 22 Copyright© Dr. Miguel A. Labrador 22 The Loader Module in charge of loading the application’s class files Called at the beginning of the execution or dynamically For security reasons, a conforming VM for resource-constrained devices does not support user-defined loaders –A built-in “bootstrap” class loader that cannot be overridden, replaced, or reconfigured is used –Loads main classes (CLDC and MIDP), Optional APIs, and MIDlet Java Archive (JAR) files –A Java application can load application classes only from its own JAR file. This restriction ensures that Java applications on a device cannot interfere with each other or steal data from each other This means that the only classes that can be linked and loaded at runtime are those that come from the same jar file, therefore dynamically linking classes from another.jar file in Java ME is not possible
23 Copyright© Dr. Miguel A. Labrador 23 Copyright© Dr. Miguel A. Labrador 23 The Verifier Checks if the loaded bytecode can be safely run in the VM –Typos, stack overflow, correct branching, etc. Verifier included in the Java SE VM is too big and requires too much CPU power to run these algorithms in real-time –Not good for resource-constrained devices Verification process in resource-constrained devices in 2 steps –Offline pre-verification in developer’s workstation Includes tags (StackMap) –Verification at runtime using the tags
24 Copyright© Dr. Miguel A. Labrador 24 Copyright© Dr. Miguel A. Labrador 24 The Thread Manager Java supports multi-threading Thread manager coordinates the execution of the threads Java KVM does not support thread groups
© GCSE Computing Computing Hardware Starter. Creating a spreadsheet to demonstrate the size of memory. 1 byte = 1 character or about 1 pixel of information.
JVM-1 Introduction to Java Virtual Machine. JVM-2 Outline Java Language, Java Virtual Machine and Java Platform Organization of Java Virtual Machine Garbage.
Intro to Java The Java Virtual Machine. What is the JVM a software emulation of a hypothetical computing machine that runs Java bytecodes (Java compiler.
ICS201 Lecture 10 : Introduction to Java Virtual Machine King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information.
Random access memory. Memory Main memory consists of a number of storage locations, each of which is identified by a unique address The ability of the.
IT Systems Memory EN230-1 Justin Champion C208 – 3273
Memory The term memory is referred to computer’s main memory, or RAM (Random Access Memory). RAM is the location where data and programs are stored (temporarily),
CS102 Introduction to Computer Programming Week 1 Introduction and Chapter 1.
Memory Main memory consists of a number of storage locations, each of which is identified by a unique address The ability of the CPU to identify each location.
SKILL AREA: 1.2 MAIN ELEMENTS OF A PERSONAL COMPUTER.
Memory. When we receive some instruction or information we retain them in our memory. Similarly a computer stores the instructions for solving a problem,
Computer Organization CT213 – Computing Systems Organization.
Computer Systems. Bits Computers represent information as patterns of bits A bit (binary digit) is either 0 or 1 –binary “two states” true and false,
Introduction to ARM Architecture, Programmer’s Model and Assembler Embedded Systems Programming.
Design model for a computer Named after John von Neuman Instructions that tell the computer what to do are stored in memory Stored program Memory.
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
1 Software Testing and Quality Assurance Lecture 31 – SWE 205 Course Objective: Basics of Programming Languages & Software Construction Techniques.
Stuart Cunningham - Computer Platforms COMPUTER PLATFORMS Input, Output, and Storage & Introduction to Basic Computer Architecture Week 2.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
Embedded Systems Programming Introduction to ARM and StrongARM.
Part 1. Intel x86/Pentium family 32-bit CISC processor SUN SPARC and UltraSPARC 32- and 64-bit RISC processors Java C C++ Java Why Java?
Introduction to Computing: Lecture 4 Computer Systems.
Types of RAM (Random Access Memory) Information Technology.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Chapter 6 Inside Computers and Mobile Devices Discovering Computers Technology in a World of Computers, Mobile Devices, and the Internet.
Computer Organization & Assembly Language © by DR. M. Amer.
2. Memory. Main memory – speed & types Organization of RAM RAM – Random Access Mem Static RAM [SRAM] - In SRAM, a bit of data is stored using the state.
Chapter 1 An Overview of Computers and Programming Languages.
1 Tuning Garbage Collection in an Embedded Java Environment G. Chen, R. Shetty, M. Kandemir, N. Vijaykrishnan, M. J. Irwin Microsystems Design Lab The.
Multilevel Caches Microprocessors are getting faster and including a small high speed cache on the same chip.
OCR GCSE Computing © Hodder Education 2013 Slide 1 OCR GCSE Computing Chapter 2: Memory.
Hello world !!! ASCII representation of hello.c.
Chapter 1 1. The computer system consists of: 1. Hardware: Physical Components, like the system unit,monitor,keyboard, mouse, camera, printer … etc.
DSPs Vs General Purpose Microprocessors AOE 5984 – Real Time Systems.
Processor Structure and Function Chapter8:. CPU Structure CPU must: Fetch instructions –Read instruction from memory Interpret instructions –Instruction.
Higher Computing Computer Structure. What you need to know about computer systems: ALU and control unit Registers, cache and main memory Function.
Lecture # 10 Processors Microcomputer Processors.
1 William Stallings Computer Organization and Architecture 7th Edition Internal Memory.
Chapter 6 Computing Components Discovering Computers 2016 Tools, Apps, Devices, and the Impact of Technology.
1 Comp 104: Operating Systems Concepts Java Development and Run-Time Store Organisation.
Memory Hierarchy Memory Hierarchy Main Memory Main Memory Random-Access Memory (RAM) Random-Access Memory (RAM) Read only memory(ROM) Read only.
1 Computer System Overview Chapter 1. 2 Operating System (OS) An operating system normally: Exploits the hardware resources of one or more processors.
Chasis / System cabinet A plastic enclosure that contains most of the components of a computer (usually excluding the display, keyboard and mouse)
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Chapter 2 1. SYSTEM UNIT A system unit is the part of a computer that houses the primary devices that perform operations and produce results for complex.
Compiler Construction Lecture 17 Mapping Variables to Memory.
© 2017 SlidePlayer.com Inc. All rights reserved.