Mc Lab Introduction Part Bcs402 Sem-4 2024-25
Mc Lab Introduction Part Bcs402 Sem-4 2024-25
ARM
PROCESSO
R
(ARM7TDMI)
Chronicle (history) of ARM
▪ Developed at Acorn Computer Limited of Cambridge, England between 1983 and 1985.
▪ Initially it was known as Acorn RISC Machine with 26 bit processor named after Berkeley RISC
project.
▪ Later joint venture was cofounded by Acorn and Apple designate it as ADVANCED RISC
MACHINE.
Developments in ARM
• 1985: Acorn Computer Group manufactures the first commercial RISC microprocessor.
• 1990: Acorn and Apple participation leads to the founding of Advanced RISC Machines (ARM).
• 1991: ARM6, First embeddable RISC microprocessor.
• 1992 – 1994: Various companies use ARM (Sharp, Samsung), while in 1993 ARM7, the first
multimedia microprocessor is introduced.
• 1995: Introduction of Thumb and ARM8.
• 1996 – 2000: Alcatel, Huindai, Philips, Sony, use ΑRM, while in 1999 ARM cooperates with
Erickson for the development of Bluetooth.
Features
• ARM executes almost all the instruction in only one cycle Ex:1 cycles for execution of BNEQ in
ARM.
• ARM is General-Register Based Architecture or load-store L/S architecture.
• ARM is a 32 bit microprocessor with one word being 32 bits long.
• The ARM is a 32-bit architecture.
• Auto increment and auto decrement addressing mode
• Multiple load and store, Only Load/Store instructions can access Memory.
• Conditional execution
• ALU and shifter in a single clock cycle
• Thumb instructions-16bit instruction format
• Support 8-bit jazzel (java byte code).
• Parallel processing, Three stage pipe line structure
• All data processing instructions operate on registers only
• All data processing instructions can use the barrel shifter (an interesting and unique feature) to
shift or rotate an operand
• Can operate in either Big or Little endian mode
• Memory is byte-oriented, each byte of memory has its own unique address
• Must use an address divisible by 4 to access a word.
Interrupt
Controller
nIR nFI
Peripherals
Q Q
ARM
8 bit ROM Core
Registers:
➢ These are arranged into several banks. The accessible bank being governed by the processor
mode. Each mode can access
▪ a particular set of r0-r12 registers
▪ a particular r13 (the stack pointer) and r14 (link register)
▪ r15 (the program counter)
▪ CPSR (current program SR) & privileged modes can also access a particular SPSR
(saved program status register)
Data Sizes:
➢ When used in relation to the ARM:
▪ Byte means 8 bits
▪ Halfword means 16 bits (two bytes)
▪ Word means 32 bits (four bytes)
The THUMB set’s 16-bit instruction length allows it to approach twice the density of standard ARM code
while retaining most of the Arm’s performance advantage over a traditional 16-bit processor using 16-bit
registers. This is possible because THUMB code operates on the same 32-bit register set as ARM code.
THUMB code is able to provide up to 65% of the code size of ARM, and 160% of the performance of an
equivalent ARM Processor connected to a 16-bit memory system.
Merits:
• Low power consumption
• Cost sensitive embedded application
• Cheap
• Easy to develop
• High performance
• Low code size
• Increases speed
Demerits:
• Need all software’s to be developed for new architecture
MOVE INSTRUCTIONS:
3. Branch Instructions:
B Branch pc=label
BL Branch with link pc=label
lr=address of the next instruction after the BL
BX Branch exchange pc=Rm & 0xfffffffe, T=Rm & 1
BLX Branch exchange with pc=label, T=1
link pc= Rm & 0xfffffffe, T=Rm & 1
lr=address of the next instruction after the
BLX
Other instruction set:
Software Interrupt Instruction: A software interrupt instruction (SWI) causes a software
interrupt exception, which provides a mechanism for applications to call operating system
routines.
Syntax: SWI {<cond>} SWI_number