LEC/UEC-504/July-
05/07/17 Aug/2015/AM 1
Comparison between CISC and RISC
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 2
ARM Processor similarity with RISC
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 3
Other features
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 4
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 5
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 6
ARM7TDMI
TheARM7TDMI(ARM7+ 16 bit Thumb+ JTAGDebug + fastMultiplier + enhanced
ICE) processor implements the ARMv4 instruction set. It was licensed for
manufacturebyanarrayofsemiconductorcompanies.
In2009itwasoneofthemostwidelyusedARMcores,andisfoundinnumerousdeeply
embeddedsystemdesigns.
Itisaversatileprocessordesignedformobiledevicesandotherlowpowerelectronics.
Thisprocessorarchitectureiscapableofupto130MIPSonatypical0.13mprocess.
The processor supports both 32-bit and 16-bit instructions via the ARM and Thumb
instructionsets.
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 7
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 8
ARM family attribute comparison
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 9
General ARM
Architecture
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 10
Barrel Shifter
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 11
Barrel Shifter (Contd..)
Abarrel shifteris adigitalcircuitthat canshiftadatawordby a specified
number ofbitswithout the use of anysequentiallogic, only purecombinatorial
logic.
One way to implement it is as a sequence ofmultiplexerswhere the output of
one multiplexer is connected to the input of the next multiplexer in a way that
dependsontheshiftdistance.
Abarrelshifterisoftenusedtoshiftandrotaten-bitsinmodernmicroprocessors,
typicallywithinasingleclockcycle.
The second operand to many ARM and Thumb data-processing and single
register data-transfer instructions can be shifted, before the data-processing or
data-transferisexecuted,aspartoftheinstruction.
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 12
Pipeline
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 13
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 14
Characteristics of pipeline
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 15
Limitations of 3-stage pipelining
in ARM7TDMI
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 16
ARM core data flow model
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 17
A programmer can think of an ARM core as
functional units connected by data buses.
The arrows represent the flow of data, the lines
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 21
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 22
05/07/17 23
ARM processor modes
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 24
ARM processor modes (Contd..)
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 25
Current Program Status Register
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 26
T= 1 indicates Thumb state. T = 0 indicates ARM state.
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 27
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 28
Exceptions, Interrupts, and Vector Table
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 29
The Vector Table
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 30
Reset:
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 31
Data abort vector:
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 32
Addressing modes
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 33
1.Literal(Immediate) Adressing
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 35
Example:
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 36
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 37
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 38
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 39
Example-1
Example-2
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 40
Example:
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 41
Example:
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 42
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 43
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 44
Example:
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 45
Example:
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 46
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 47
Example-1 Example-2
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 48
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 49
Example-1 Example-2
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 50
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 51
Example
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 52
Exercise-1
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 53
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 54
LEC/UEC-504/July-
05/07/17 Aug/2015/AM 55