ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM



Similar documents
ARM Microprocessor and ARM-Based Microcontrollers

Five Families of ARM Processor IP

LSN 2 Computer Processors

ARM Architecture. ARM history. Why ARM? ARM Ltd developed by Acorn computers. Computer Organization and Assembly Languages Yung-Yu Chuang

The ARM Processor Architecture

The ARM Architecture. With a focus on v7a and Cortex-A8

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory

An Introduction to the ARM 7 Architecture

Chapter 2 Logic Gates and Introduction to Computer Architecture

Intel StrongARM SA-110 Microprocessor

Central Processing Unit (CPU)

A Survey on ARM Cortex A Processors. Wei Wang Tanima Dey

Architectures and Platforms

İSTANBUL AYDIN UNIVERSITY

Computer Architecture Lecture 2: Instruction Set Principles (Appendix A) Chih Wei Liu 劉 志 尉 National Chiao Tung University

CHAPTER 4 MARIE: An Introduction to a Simple Computer

Instruction Set Architecture. or How to talk to computers if you aren t in Star Trek

BEAGLEBONE BLACK ARCHITECTURE MADELEINE DAIGNEAU MICHELLE ADVENA

The ARM Cortex-A9 Processors

Processor Architectures

Overview. CISC Developments. RISC Designs. CISC Designs. VAX: Addressing Modes. Digital VAX

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2

Mobile Processors: Future Trends

Computer Architecture Lecture 3: ISA Tradeoffs. Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 1/18/2013

Instruction Set Architecture (ISA)

Overview of the Cortex-M3

CPU Organization and Assembly Language

Introduction to RISC Processor. ni logic Pvt. Ltd., Pune

Pentium vs. Power PC Computer Architecture and PCI Bus Interface

Embedded Systems on ARM Cortex-M3 (4weeks/45hrs)

CHAPTER 7: The CPU and Memory

picojava TM : A Hardware Implementation of the Java Virtual Machine

Architecture and Implementation of the ARM Cortex -A8 Microprocessor

Cortex-A9 MPCore Software Development

Architectures, Processors, and Devices

Chapter 02: Computer Organization. Lesson 04: Functional units and components in a computer organization Part 3 Bus Structures

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Week 1 out-of-class notes, discussions and sample problems

An Overview of Stack Architecture and the PSC 1000 Microprocessor

ELE 356 Computer Engineering II. Section 1 Foundations Class 6 Architecture

Lessons from the ARM Architecture. Richard Grisenthwaite Lead Architect and Fellow ARM

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level

Intel DPDK Boosts Server Appliance Performance White Paper

CISC, RISC, and DSP Microprocessors

Lesson 7: SYSTEM-ON. SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY. Chapter-1L07: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

Intel 8086 architecture

Instruction Set Design

Computer Architecture TDTS10

Design Cycle for Microprocessors

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

SOC architecture and design

Microprocessor and Microcontroller Architecture

Computer Organization and Architecture

Details of a New Cortex Processor Revealed. Cortex-A9. ARM Developers Conference October 2007

PROBLEMS. which was discussed in Section

Computer Architecture Basics

Embedded Development Tools

COMPUTER ORGANIZATION AND ARCHITECTURE. Slides Courtesy of Carl Hamacher, Computer Organization, Fifth edition,mcgrawhill

Chapter 5, The Instruction Set Architecture Level

This Unit: Putting It All Together. CIS 501 Computer Architecture. Sources. What is Computer Architecture?

Chapter 01: Introduction. Lesson 02 Evolution of Computers Part 2 First generation Computers


Hardware accelerated Virtualization in the ARM Cortex Processors

Computer Organization and Components

Which ARM Cortex Core Is Right for Your Application: A, R or M?

The Java Virtual Machine and Mobile Devices. John Buford, Ph.D. Oct 2003 Presented to Gordon College CS 311

Chapter 5 Instructor's Manual

Thread level parallelism

7a. System-on-chip design and prototyping platforms

Comparative Performance Review of SHA-3 Candidates

Embedded Software development Process and Tools: Lesson-4 Linking and Locating Software

The Future of the ARM Processor in Military Operations

In the Beginning The first ISA appears on the IBM System 360 In the good old days

Learning Outcomes. Simple CPU Operation and Buses. Composition of a CPU. A simple CPU design

A case study of mobile SoC architecture design based on transaction-level modeling

CSE597a - Cell Phone OS Security. Cellphone Hardware. William Enck Prof. Patrick McDaniel

CHAPTER 6: Computer System Organisation 1. The Computer System's Primary Functions

Computer System Design. System-on-Chip

Exception and Interrupt Handling in ARM

Introduction to Cloud Computing

CS:APP Chapter 4 Computer Architecture. Wrap-Up. William J. Taffe Plymouth State University. using the slides of

ARMSim: An Instruction-Set Simulator for the ARM processor Alpa Shah - Columbia University

The Central Processing Unit:

SPARC64 VIIIfx: CPU for the K computer

The AVR Microcontroller and C Compiler Co-Design Dr. Gaute Myklebust ATMEL Corporation ATMEL Development Center, Trondheim, Norway

FLIX: Fast Relief for Performance-Hungry Embedded Applications

Introducción. Diseño de sistemas digitales.1

VtRES Towards Hardware Embedded Virtualization Technology: Architectural Enhancements to an ARM SoC. ESRG Embedded Systems Research Group

Next Generation GPU Architecture Code-named Fermi

Chapter 1 Computer System Overview

ARM Webinar series. ARM Based SoC. Abey Thomas

Execution Cycle. Pipelining. IF and ID Stages. Simple MIPS Instruction Formats

A SystemC Transaction Level Model for the MIPS R3000 Processor

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

Computer Architectures

Module 2. Embedded Processors and Memory. Version 2 EE IIT, Kharagpur 1

Multi-core architectures. Jernej Barbic , Spring 2007 May 3, 2007

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit.

Generations of the computer. processors.

Transcription:

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM 1

The ARM architecture processors popular in Mobile phone systems 2

ARM Features ARM has 32-bit architecture but supports 16 bit or 8 bit data types also. ARM is programmable as little endian or big endian data alignment in memory. ARM provides the advantage of using a CISC in terms of functionality, along with the advantage of an RISC in terms of faster program implementation as well as reduced code lengths. 3

ARM7, ARM9 and ARM 11 microprocessors ARM processor has an RISC core for processing Combination of RISC and CISC features ARM supports to a complex addressing modes based instruction set 4

In-built compilation unit Compiles the CISC instructions into RISC formats, which are then implemented by the RISC core of the processor. Internally the implementation for many instructions is like in an RISC (without the micro-programmed unit) 5

Jazelle technology Faster Java codes execution 6

ARM Thumb 16-bit instructions Thumb Set designed for 16-bit word lengths and instructions, which internally executes by same 32-bit core. Instruction fetch of 2 bytes in Thumb mode in place of 4 bytes in ARM mode. Data alignment at steps of 2 bytes in Thumb mode in place of 4 bytes in ARM mode Memory savings of up to 35%, over the equivalent 32-bit code, while retaining all the benefits of a 32-bit system (such as access to a full 32-bit address space). Enables 32-bit performance at the 8/16-bit system cost in terms of memory needs. 7

Thumb and 32-bit ARM modes Switch from one mode to another No overheads (in terms of time and memory) in moving between Thumb and the normal ARM state of the codes. Two states are compatible on a normal basis. Gives code designer complete control over performance and code-size optimisation 8

ARM7 versions ARM7TDMI (Integer Core) ARM7TDMI-S, (Synthesisable version of ARM7TDMI) ARM7EJ-S (Synthesisable core with DSP and Jazelle technology) ARM720T (cached processor macrocell, 8K Cached Core with Memory Management Unit (MMU) supporting operating systems1 including Windows CE, Palm OS, Symbian OS and Linux) 130 MIPS using Dhrystone 2.1 benchmark in typical 0.13µm process 9

ARM9 versions ARM920T (Dual 16k caches with MMU support multiple OSs. ARM922T (Dual 8k caches for applications support multiple OSs1. ARM940T (Dual 4k caches for embedded control applications running a RTOS) 32-bit RISC processor core Super scaling 5-stage integer pipeline. 8-entry write buffers to avoid blocking the processor on external memory writes Achieves 1.1 MIPS/MHz, 300 MIPS (Dhrystone 2.1) in a typical 0.13µm process 10

ARM11 versions Families with ARMv6 instruction set architecture that includes the Thumb extensions for code density, Jazelle technology for Java acceleration, ARM DSP extensions, and SIMD media processing extensions. MMU) supporting operating systems1 and palm OS 32-bit RISC processor core with 8-stage integer pipeline, static and dynamic branch prediction, and separate load-store and arithmetic pipelines to maximize instruction throughput Targets a performance range of Dhrystone MIPS 400 to 1200 11

Memory Architecture ARM7 has Princeton memory architecture. ARM9 processor has Harvard architecture 12

Faster implementation and Reduced code lengths Due to the instant availability of the register word to the execution-unit. Reduced code lengths Most instructions use registers as operands. Few bits in the instruction specify a register as operand. 8, 16 or 32 bits specify a memory address as operand and the displacement bits in the instruction. 13

R0 to R15. ARM registers R15 also function as program counter. R14 function as link register. R13 may be used as stack pointer CPSR (current program status register) SPSR (saved program status register). 14

32-bit bus ARM Architecture r0 to r15 CPSR SPSR 32-bit r15 functions as PC IR ID Barrel Shifter ALU, Execution unit Hardwired circuits for each instruction 15

ARM Codes ARM Codes Forward compatible with higher versions. ARM7 codes Forward compatible with ARM9, ARM9E and ARM10 processors as well as Intel XScale micro-architecture. ARM9E and ARM 10 families use a Vector Floating Point (VFP) ARM coprocessor, which adds full floating point operands. VFP also provides fast development in SoC design when using tools like MatLab. Applications are in image processing (scaling), 2D and 3D transformations, font generation and digital filters. 16

ARM Intelligent Energy Manager (IEM) technology Advanced algorithms to optimally balance processor workload and energy consumption. Maximizes system responsiveness. IEM works with the operating system and mobile OS. Application running on a mobile phone dynamically adjusts the required CPU performance level. 17

ARM processors AHB (AMBA Advanced High Performance Bus) interface AMBA an established open source specification for on-chip interconnects. AMBA serves as a framework for SoC designs and development of the IP library. AHB support in all new ARM cores. 18

AHB Provides a high-performance and fully synchronous back plane. (Back plane means additional set of controllers, which can access another common bus, which is distinct from system bus in a multilevel buses in the system.) Multi-layer AHB in version ARM926EJ-S and all members of the ARM10 family represents a significant advancement. It reduces access latencies and increases the bandwidth available to multi-master systems 19

Stages Fetch 3- stage pipeline in ARM7 Successive Clock Intervals I1 I2 I3 I4 I5 I6 Decode Read Operands Execute Write back I1 I2 I3 I4 I5 I1 I2 I3 I4 20

Pipeline and Latch Fetched an instruction I n Latch Decode I n and read operands Latch Execute In, and mem-ory inputs I n and address and Write Result I n 21

Stages Fetch 5- stage pipeline in ARM 9 Successive Clock Intervals I1 I2 I3 I4 I5 I6 Decode Read Operands Execute I1 I2 I3 I4 I5 I1 I2 I3 I4 I1 I2 I3 Write back I1 I2 22

Super scaling in ARM Stages Pipeline1 Pipeline 2 Fetch Decode Read Operands Execute Write back I3 I2 I1 I 3 I 2 I 1 23

We learnt Summary ARM Architecture 32- address bus and 64-bit data bus Programmability as Little endian or Big endian Princeton Memory in ARM7 and Harvard in ARM9 16 Registers with R15 as Program counter 24

Summary We learnt 16-bit Thumb set for 16-bit instructions to reduce external memory requirement AHB 3 stage pipeline in ARM7 and 5 in ARM9 25

End of Lesson 12 of Chapter 2 26