The ARM Core: Architecture and Programming (EE428)


B.Tech (E&E)




Programme Specific Electives (PSE)

Credits (L-T-P): 

04 (3-1-0)


The ARM design philosophy, ARM processor fundamentals – Registers, Current program status register, pipeline, exceptions, interrupts and the vector table, core extensions, architecture revisions, ARM processor families. The ARM instruction set: Data processing instructions, Branch instructions, Load-store instructions, Software interrupt instructions, Program status register instructions, Conditional execution. The THUMB instruction set, THUMB register usage, ARM-THUMB interworking.

Writing assembly code, Profiling and cycle counting, Instruction Scheduling, Register allocation, Looping constructs, Bit manipulation, Efficient switches,  Handling unaligned data. Using the GNU assembler.

Optimized primitives, Exception and interrupt handling. Rudimentary aspects of embedded operating systems.


1. David Seal (Ed.), ARM Architecture Reference Manual, 2nd Edition, Addison-Wesley, 2001.
2. Steve Furber, ARM Sytem-on-Chip Architecture, 2nd Edition, Addison-Wesley, 2000.
3. Andrew N. Sloss, Dominic Symes, Chris Wright, ARM System Developer's Guide, Elsevier, 2004.
4. ARM Limited, ARM v7-M Architecture Application Level Reference Manual, ARM Limited, 2006.
6. (requires registration


Electrical and Electronics Engineering