The Arm Core: Architecture
and Programming
EE-428 ( 3-1-0)4
Instructor: Prof. Dattaraya N. Gaonkar
Course and the Evaluation Plan
Mod Course Content Time
ule
1 Introduction, Microprocessor and Microcontroller-Based System organization Types of 4 hours
Microprocessors and Controllers Architecture and Their Generations, Data formats, Assembly
Language, CISC and RISC designs, Embedded systems and their Design, ARM
2 The ARM design philosophy, ARM processor Architecture and fundamentals – registers, current 7 hours
program status register, pipeline, exceptions, interrupts and the vector table, core extensions,
architecture revisions.
3 The ARM instruction set: Data processing instructions, branch instructions, load-store instructions, 12
software interrupt instructions, program status register instructions, conditional execution, Looping hours
Constructs, Bit manipulations, exception and interrupt handling. Assembly Language Programming
(ALP), Addressing modes
4 Thumb state, Thumb programmer’s model. Thumb Instruction set. Thumb implementation. THUMB 5 hours
register usage, ARM-THUMB Interworking-other Branch instruction, Data Processing instruction-
single register Load-store instructions- multiple register load store instruction-stack instruction-
Software Interrupt instructions
5 Memory devices and hierarchy, I/O Interface, Protocols (I2c, SPI), UART, GPIO, Interrupts, Peripherals 12
(DMA, RTC, ADC, DAC and PWM), Interfacing and Programming. hours
References:
David Seal (Ed.), ARM Architecture Reference Manual, 2nd Edition, Addison-Wesley, 2001.
Andrew N. Sloss, Dominic Symes, Chris Wright, ARM System Developer's Guide, Elsevier, 2004.
Steve Furber, ARM Sytem-on-Chip Architecture, 2nd Edition, Addison-Wesley, 2000.
ARM Limited, ARM v7-M Architecture Application-Level Reference Manual, ARM Limited, 2006.
NPTEL courses: https://archive.nptel.ac.in/courses/117/106/117106111/ : https://archive.nptel.ac.in/courses/106/105/106105193/
Evaluation plan: MID-SEM: 25% Internal Test /Quizzes/Assignments: 25% END SEM: 50%
Course Outcomes (COs): After successful completion of this course, student should be able to:
1. Knowledge of the microprocessors and microcontroller organization, architecture interface signals,
their function and design.
2. Development of ARM system Assembly Language Programme for given requirements.
3. Knowledge on types of memory devices and hierarchy, memory paging and design examples.
4. Knowledge on I/O devices and applications. Common peripheral ICs, their function interface signals,
operational modes.
5. Development of interface programs for basic I/O operations.
6. Development of ARM based Embedded system for a given application (ALP & Hardware)
Microprocessor based system • MPU (CPU)
• Read instructions
• Process binary data
The microprocessor is a multipurpose,
programmable device that accepts digital data as
input, processes it according to instructions stored Modern P
in its memory, and provides results as output. It is Registers, ,ALU, Fetch,Exe
an example of sequential digital logic, as it has Logic,Bus logic,Cache Memory
internal memory. Microprocessors operate on
numbers and symbols represented in the binary
numeral system
• The MPU communicates with
Memory and I/O using the System
Bus
• Address bus
Microcontrollers integrate all of the • Unidirectional
components (control, memory, I/O) of • Memory and I/O Addresses
a computer system into one integrated • Data bus
circuit. Microcontrollers are intended • Bidirectional
• Transfers Binary Data and Instructions
to be single chip solutions for systems
• Control lines
requiring low to moderate processing • Read and Write timing signals
power.