Assembly Language Programming
Programming: Generic machine language view; Introduction to microprocessors; 80X86 machine and assembly
language programming; Addressing modes.
Data representation: Integers, character storage, ASCII, EBCDIC and Unicode; Character I/O; Arrays; Strings.
Comparison of assembler and high-level language: Examine assembler versions of simple HLL programs.
Stack usage; Subroutines internal & external; Parameter passing.
|
Computer Architecture
Logic circuits: Gates, adder, latches, memory circuit.
Addressing methods review: Register, immediate, direct, register indirect, base plus index, register relative, base
relative plus index.
Addressing support for high level languages: Activation records; local and non-local data .
Computer structure: CPU architecture, fetch execute cycle, buses.
Interrupts and interrupt handlers; Vectored interrupts, internal/external h/w interrupts, s/w
interrupts, interrupt vector table, ISR.
I/O systems: Programmed, Interrupt driven and DMA; DMA controller .
CISC and RISC architectures;
Acceleration and Concurrency: Pipelining, instruction prefetching, instruction queues, cache memory.
Introduction to parallel architectures: Array processors; Multiprocessors; Multicomputers; SISD, SIMD, MISD,
MIMD.
Fundamentals of current processors.
Mobile computing: Typical pipeline on mobile processor;Out-of-order architectures;ARM Big.Little Architecture.
Structured assembly programming: lab work augmenting the theoretical aspects.
|