17
1 ARM architecture Speaker: Advisor: 陳 陳 陳 陳陳

ARM architecture

  • Upload
    zona

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

ARM architecture. Speaker: 陳 育 麟 Advisor: 陳 中 平 教授. Outline. Features Core Interface Signals 3-stage pipeline organization Programmer’s Mode Conditional execution A basic ARM memory system ARM instruction set. Features. RISC core Pipelined execution Load-store architecture - PowerPoint PPT Presentation

Citation preview

Page 1: ARM architecture

1

ARM architecture

Speaker: 陳 育 麟

Advisor: 陳 中 平 教授

Page 2: ARM architecture

2

Outline

Features Core Interface Signals 3-stage pipeline organization Programmer’s Mode Conditional execution A basic ARM memory system ARM instruction set

Page 3: ARM architecture

3

Features

RISC core Pipelined execution Load-store architecture Large uniform register file (R0 ~ R14) Fixed-length instruction field Conditional execution of all instructions

Page 4: ARM architecture

4

Core Interface Signals

Page 5: ARM architecture

5

3-stage pipeline organization

multiply

data out register

instruction

decode

&

control

incrementer

registerbank

address register

barrelshifter

A[31:0]

D[31:0]

data in register

ALU

control

PC

PC

ALU bus

A bus

B bus

register

CPU

PC instruction memory

data memory

address

data

address

data

Page 6: ARM architecture

6

3-stage pipeline organization

Page 7: ARM architecture

7

3-stage pipeline organization

fetch ADD decode execute

time

1

fetch STR decode calc. addr.

fetch ADD decode execute

2

3

data xfer

fetch ADD decode execute4

5 fetch ADD decode execute

instruction

structural hazard!

Page 8: ARM architecture

8

Programmer’s Mode

Visible registers

Page 9: ARM architecture

9

Programmer’s Mode

T = 0: ARM executionT = 1: Thumb execution

Negative, Zero, Carry and oVerflow

I = 1: disable IRQ interruptF = 1: disable FIQ interrupt

CPSR

Page 10: ARM architecture

10

Programmer’s Mode

Exception Vector Address

1

Priorities

2

4

3

5

66

Page 11: ARM architecture

11

Conditional execution

LOOP: … …

BNE LOOP;

Page 12: ARM architecture

12

A basic ARM memory system

data memory

instruction memory

Page 13: ARM architecture

13

A basic ARM memory system

4-way low order interleaving

Main memory

A9 ~ A2

Bank 3

A1A0 = 11

Bank 2

A1A0 = 10

Bank 1

A1A0 = 01

Bank 0

A1A0 = 00

00000000 [3] [2] [1] [0]

00000001 [7] [6] [5] [4]

00000010 [11] [10] [9] [8]

00000011 [15] [14] [13] [12]

00000100 [19] [18] [17] [16]

00000101 [23] [22] [21] [20]

00000110 [27] [26] [25] [24]

00000111 [31] [30] [29] [28]

11111111 [1023] [1022] [1021] [1020]

Size = 1KB

Page 14: ARM architecture

14

ARM instruction set

Branch Data processing Status register transferring Load/Store Coprocessor Exception generating (SWI, BKPT)

Page 15: ARM architecture

15

ARM instruction set

B, BL

SyntaxB{L}{<cond>} <target_address>

BL: the return address is stored in R14.

224 = 16MB ±8MB ±32MBsigned 2-bit interleaving

Page 16: ARM architecture

16

ARM instruction set

BL usage

…CMP R0, #5; if R0 < 5 ; (flag: N,Z,C and V)BLLT SUB1; then call SUB1BLGE SUB2; then call SUB2 …

BL SUB; branch… ; return to here

SUB: … ; subroutine entry

MOV PC, R14; return

Page 17: ARM architecture

17

Thank you!