the arm7tdmi hardware architecture

33
1 Embedded System:ARM7TDMI The ARM7TDMI Hardware Architecture

Upload: fionan

Post on 07-Jan-2016

69 views

Category:

Documents


0 download

DESCRIPTION

The ARM7TDMI Hardware Architecture. ARM7TDMI. ARM7TDMI is a core processor module embedded in many ARM7 microprocessors, such as ARM720T, ARM710T, ARM740T, and Samsung’s KS32C50100. It is the most complex processor core module in ARM7 series. T : capable of executing Thumb instruction set - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: The ARM7TDMI Hardware  Architecture

1

Embedded System:ARM7TDMI

The ARM7TDMI Hardware Architecture

Page 2: The ARM7TDMI Hardware  Architecture

2

Embedded System:ARM7TDMI

ARM7TDMI

• ARM7TDMI is a core processor module embedded in many ARM7 microprocessors, such as ARM720T, ARM710T, ARM740T, and Samsung’s KS32C50100. It is the most complex processor core module in ARM7 series.– T: capable of executing Thumb instruction set– D: Featuring with IEEE Std. 1149.1 JTAG boundary-scan

debugging interface.– M: Featuring with a Multiplier-And-Accumulate (MAC) unit

for DSP applications.– I: Featuring with the support of embedded In-Circuit

Emulator.

• Three Pipe Stages: Instruction fetch, decode, and Execution.

Page 3: The ARM7TDMI Hardware  Architecture

3

Embedded System:ARM7TDMI

Features

• A 32-bit RSIC processor core capable of executing 16-bit instructions (Von Neumann Architecture)– High density code

• The Thumb’s set’s 16-bit instruction length allows it to approach about 65% of standard ARM code size while retaining ARM 32-bit processor performance.

– Smaller die size

• About 72,000 transistors

• Occupying only about 4.8mm2 in a 0.6um semiconductor technology.

– Lower power consumption

• dissipate about 2mW/MHZ with 0.6um technology.

Page 4: The ARM7TDMI Hardware  Architecture

4

Embedded System:ARM7TDMI

Features Cont!

• Memory Access– Data cab be

• 8-bit (bytes)

• 16-bit (half words)

• 32-bit (words)

• Memory Interface– Can interface to SRAM, ROM, DRAM

– Has four basic types of memory cycle

• idle cycle

• nonsequential cycle

• sequential cycle

• coprocessor register cycle

Page 5: The ARM7TDMI Hardware  Architecture

5

Embedded System:ARM7TDMI

ARM7TDMI Block Diagram

Page 6: The ARM7TDMI Hardware  Architecture

6

Embedded System:ARM7TDMI

ARM7TDMI Core Diagram

Page 7: The ARM7TDMI Hardware  Architecture

7

Embedded System:ARM7TDMI

Memory Interface

• 32-bit address bus

• 32-bit data bus– D[31:0]: Bidirectional data bus

– DIN[31:0]: Unidirectional input bus

– DOUT[31:0]: Unidirectional output bus

• Control signals– Specified the size of the data to be transferred and the

direction of the transfer

Page 8: The ARM7TDMI Hardware  Architecture

8

Embedded System:ARM7TDMI

Cycle Types (1)

• Non-sequential cycle– Requests a transfer to or from an address which is unrelated

to the address used in the preceding cycle.

• Sequential cycle– Requests a transfer to or from an address which is either the

same as the address in the preceding cycle, or is one word or halfword after the preceding cycle. But should not occur at the page end.

• Internal cycle– Does not require a transfer.

• Coprocessor register transfer– Wishes to use the data bus to communicate with a coprocessor,

but does not require any action by the memory system.

Page 9: The ARM7TDMI Hardware  Architecture

9

Embedded System:ARM7TDMI

Cycle Types (2)

Page 10: The ARM7TDMI Hardware  Architecture

10

Embedded System:ARM7TDMI

Cycle Types (3)

Page 11: The ARM7TDMI Hardware  Architecture

11

Embedded System:ARM7TDMI

Merge I and S Cycles

Page 12: The ARM7TDMI Hardware  Architecture

12

Embedded System:ARM7TDMI

Bus Configuration

• Pipelined– Interface to DRAM

– Set APE to 1

• De-pipelined– Interface to SRAM or ROM

– Set APE to 0

Page 13: The ARM7TDMI Hardware  Architecture

13

Embedded System:ARM7TDMI

Pipelined Addresses

Page 14: The ARM7TDMI Hardware  Architecture

14

Embedded System:ARM7TDMI

De-pipelined Addresses

Page 15: The ARM7TDMI Hardware  Architecture

15

Embedded System:ARM7TDMI

Summary of Bus Operation

Page 16: The ARM7TDMI Hardware  Architecture

16

Embedded System:ARM7TDMI

Interface to 16-bit Wide Bus

Page 17: The ARM7TDMI Hardware  Architecture

17

Embedded System:ARM7TDMI

Interface to 8-bit Wide Bus

Page 18: The ARM7TDMI Hardware  Architecture

18

Embedded System:ARM7TDMI

Coprocessor Interface

• Can have 16 coprocessors

• If the designated coprocessor – exists, a coprocessor instruction will be executed by the

coprocessor;

– does not exist, the ARM7TDMI will take the undefined instruction trap and a software will be executed to emulate the coprocessor. The execution of a coprocessor instruction is done by software.

Page 19: The ARM7TDMI Hardware  Architecture

19

Embedded System:ARM7TDMI

Debug Interface

• Based on IEEE Std. 1149.1-1990, “Standard Test Access Port and Boundary-Scan Architecture”.

• Debug systems

Page 20: The ARM7TDMI Hardware  Architecture

20

Embedded System:ARM7TDMI

The Concept of Boundary Scan Design

Page 21: The ARM7TDMI Hardware  Architecture

21

Embedded System:ARM7TDMI

Test Data Registers

Page 22: The ARM7TDMI Hardware  Architecture

22

Embedded System:ARM7TDMI

Boundary Scan Registers

Page 23: The ARM7TDMI Hardware  Architecture

23

Embedded System:ARM7TDMI

An Example of Boundary Scan Cell Design

Page 24: The ARM7TDMI Hardware  Architecture

24

Embedded System:ARM7TDMI

ARM7TDMI Debug Architecture

Page 25: The ARM7TDMI Hardware  Architecture

25

Embedded System:ARM7TDMI

Enter Debugging State

• ARM7TDMI is forced into debug state after a breakpoint, watchpoint, or debug request has occurred.– Breakpoint: Set for a particular instruction. When this

instruction is executed, the machine is forced into debug state.

– Watchpoint: Set for a data access. When data access occurs for a particular address for a particular data, the machine is forced into debug state.

• Setting the breakpoint and watchpoint by– issuing debug request, DBGRQ.

– ICEBreaker programming

Page 26: The ARM7TDMI Hardware  Architecture

26

Embedded System:ARM7TDMI

Action In Debug State

• Once enter into debug state– The internal states of the machine can be examined.

– The system’s external state can be examined.

– The memory bus of the machine (ARM7TDMI) is forced to indicate internal cycles and the machine’s outputs will change asynchronously to the memory system.

– Then, the internal state of the machine can be scanned out through scan chain for examination.

Page 27: The ARM7TDMI Hardware  Architecture

27

Embedded System:ARM7TDMI

ARM7TDMI ICEBreaker

• It is programmed through TAP controller.

• It consists of two real-time watchpoint units with a control and status register.– Each watchpoint unit can be configured to be a watchpoint or

a breakpoint.

• Execution of ARM7TDMI is halted when – a match occurs between the values programmed into

ICEBreaker and the values currently appearing on the address bus, data bus and various control signals.

Page 28: The ARM7TDMI Hardware  Architecture

28

Embedded System:ARM7TDMI

Watchpoint Registers

Page 29: The ARM7TDMI Hardware  Architecture

29

Embedded System:ARM7TDMI

ICEBreaker Block Diagram

Page 30: The ARM7TDMI Hardware  Architecture

30

Embedded System:ARM7TDMI

ARM720T

Page 31: The ARM7TDMI Hardware  Architecture

31

Embedded System:ARM7TDMI

AMBA

• AMBA: Advanced Microcontroller Bus Architecture– It is a specification for an on-chip bus, to enable macrocells

(such as a CPU, DSP, Peripherals, and memory controllers) to be connected together to form a microcontroller or complex peripheral chip.

– It defines

• A high-speed, high-bandwidth bus, the Advances System Bus (ASB).

• A simple, low-power peripheral bus, the Advanced Peripheral Bus (ASP).

• Access for an external tester to permit modular testing and fast test of cache RAM

• Essential housing keeping operations (reset/power-up, …)

Page 32: The ARM7TDMI Hardware  Architecture

32

Embedded System:ARM7TDMI

A Typical AMBA-based Microcontroller

Page 33: The ARM7TDMI Hardware  Architecture

33

Embedded System:ARM7TDMI

ARM9 Processor Core