Block diagram view of a general purpose processor; elements of hardware and software architectures; introduction to concepts of data and control paths, registers and memory organization. Instruction set basics and assembly language programming: instruction structure and addressing modes, instruction encoding, and study of 8085A instruction set, hardware architecture and interrupts. Introduction to microcontrollers. 8051 hardware and instruction set architecture, timers/counters, interrupts and serial interface (including multi-processor communication). Interfacing basics using examples of I/O devices: parallel port, serial ports, keypad, display, etc. Introductory discussion on processor performance evaluation and design using a RISC ISA (including concepts of pipelining, pipelining hazards, cache, virtual memory and parallelism).