Syllabus  |   Lectures  |   Downloads  |   FAQ  |   Ask a question  |  
Course Co-ordinated by IIT Madras
Embedded Systems Professional


Download Syllabus in PDF format

Untitled Document
  • The goal of this course is to teach all the assembly instructions of ARM7TDMI processor and its internal functioning, enabling students to understand any other processor architectures at ease.
  • Provide good understanding of how coprocessors are interfaced with ARM core and how coprocessors can be programmed.
  • Provide an in-depth understanding of the Floating point representation and the VFP coprocessor implementation in particular.
  • Cover the details of cache architectures, AMBA bus, virtual memory management concepts with the detailed explanation on the Memory Management Unit (MMU) and Memory Protection Unit (MPU).
  • Give good overview of various peripherals used with ARM core and it basic functioning.
  • Touch upon later versions of ARM7 processor and their features and new developments.

Learning outcomes:

  • Understand ARM7TDMI assembly instructions and their formats and usage.
  • Become very good in writing ARM7 based assembly level programs.
  • Ability to understand how various coprocessors are interfaced in an SoC.
  • Become very conversant and knowledgeable in cache design, virtual memory and memory protection concepts and their implementation details in a typical SoC designs.
  • Have a good understanding on AMBA bus architecture, various HW peripherals in SoCs and how they can be used or to be designed.
  • Good understanding and issues to be handled in using any processor SW tools chain for embedded software solution development.

Unit No



ARM Introduction and Pipeline structures

Types of computer Architectures, ISA's and ARM History. Embedded System Software and Hardware, stack implementation in ARM, Endianness, condition codes. Processor core VS CPU core, ARM7TDMI Interface signals, Memory Interface, Bus Cycle types, Register set, Operational Modes. Instruction Format, ARM Core Data Flow Model, ARM 3 stage Pipeline, ARM family attribute comparison. ARM 5 stage Pipeline, Pipeline Hazards, Data forwarding - a hardware solution.


ARM7TDMI assembly instructions and modes

ARM ISA and Processor Variants, Different Types of Instructions, ARM Instruction set, data processing instructions. Shift Operations, shift Operations using RS lower byte, Immediate value encoding. Dataprocessing Instructions. AddressingMode-1, Addressing Mode -2. Addressing Mode -2, LDR/STR, Addressing mode -3 with examples. Instruction Timing, Addressing Mode - 4 with Examples. Swap Instructions, Swap Register related Instructions, Loading Constants. Program Control Flow, Control Flow Instructions, B & BL instructions, BX instruction. Interrupts and Exceptions, Exception Handlers, Reset Handling. Aborts, software Interrupt Instruction, undefined instruction exception. Interrupt Latency, Multiply Instructions, Instruction set examples. Thumb state, Thumb Programmers model, Thumb Implementation, Thumb Applications. Thumb Instructions, Interrupt processing. Interrupt Handelling schemes, Examples of Interrupt Handlers.


ARM Coprocessor Interface and VFP

ARM coprocessor interface and Instructions, Coprocessor Instructions, data Processign Instruction, data transfers, register transfers. Number representations, floating point representation (IEEE754). Flynn's Taxonomy, SIMD and Vector Processors, Vector Floating Point Processor (VFP), VFP and ARM interactions, An example vector operation.


Cache and Memory Management and Protection

Memory Technologies, Need for memory Hierarchy, Hierarchical Memory Organization, Virtual Memory. Cache Memory, Mapping Functions. Cache Design, Unified or split cache, multiple level of caches, ARM cache features, coprocessor 15 for system control. Processes, Memory Map, Protected Systems, ARM systems with MPU, memory Protection Unit (MPU). Physical Vs Virtual Memory, Paging, Segmentation. MMU Advantage, virtual memory translation, Multitasking with MMU, MMU organization, Tightly coupled Memory (TCM).


ARM tools and Peripherals

ARM Development Environment, Arm Procedure Call Standard (APCS), Example C program. Embedded software Development, Image structure, linker inputs and outputs, memory map, application startup. AMBA Overview, Typical AMAB Based Microcontroller, AHB bus features, AHB Bus transfers, APB bus transfers, APB bridge. DMA, Peripherals, Programming Peripherals in ARM. ARM ISAs, ARMv5, ARMv6, ARM v7, big.little technology, ARMv8. ARM ISAs, ARMv5, ARMv6, ARM v7, big.little technology, ARMv8.

  1. Instructor reference material
  2. ARM System Developers Guide, Designing and Optimizing System Software, by Andrew N. SLOSS, Dominic SYMES and Chris WRIGHT, ELSEVIER, 3004

  3. ARM System-on-Chip Architecture, Second Edition, by Steve Furber, PEARSON, 2013
  4. Operating Systems, 5th Edition, By William Stallings
  5. Manuals and Technical Documents from the ARM Inc, web site.

Important: Please enable javascript in your browser and download Adobe Flash player to view this site
Site Maintained by Web Studio, IIT Madras. Contact Webmaster: