Sunday, September 14, 2008

Microprocessors

COURSE OBJECTIVES
To introduce the operation, programming, and application of microprocessors.

1.0 Introduction to Computer Architecture: (4 hours)
1.1 Automated calculator and stored program computer, Von Neuman, Harvard and modified Harvard architectures, principle elements - CPU, memory, control and input/output units
1.2 Simple stored program computer architecture, basic registers
1.3 Introduction to register transfer language (RTL) instruction description

2.0 Computer Instructions: ( 11 hours)
2.1 Introduction to memory reference, inherent, sequence modifying and input/output instructions
2.2 RTL descriptions of assembly level instructions
2.3 RTL description of load accumulator and store accumulator instructions
2.4 RTL description of inherent instructions, clear accumulator, increment and decrement
2.5 RTL descriptions of sequence modifying instructions - unconditional branch instructions, unconditional branch and jump instructions
2.6 RTL descriptions of sequence modifying instructions - conditional branch instructions, branch on accumulator zero, branch on accumulator not zero, signed and not signed arithmetic
2.7 Addressing modes - immediate, absolute, relative, indexed and indirect

3.0 Assembly Language Programming: (10 hours)
3.1 Assembler syntax - labels, instructions (opcodes, mnemonics and operands), directives and comments
3.2 Assembler operation - sample assembly language program and code generation, one pass and two pass assembly
3.3 Macro assemblers, linking assembler directives - .text, .data

4.0 Microcomputer Systems: (8 hours)
4.1 Microcomputer devices - bus structure, synchronous and asynchronous data bus, address bus, read and write operations and timing
4.2 Memory devices - static and dynamic random access memory (RAM), read only memory (ROM), ultraviolet electrically programmable memory (UVEPROM), electrically erasable programmable memory (EEPROM)
4.3 Input/output devices - parallel and serial interfaces, unique and non-unique address decoding
4.4 Synchronizing the computer with peripherals, simple and wait for data transfer wait interfaces
4.5 Serial asynchronous interfaces - ASCII codes, baud rate start bit, stop bit, parity bit, RS-232, RS-432 standards

5.0 Interrupt Operations: (6 hours)
5.1 Interrupt behaviour: complete instruction, save state of processor, optionally mask further interrupts and set program counter to interrupt service routine address
5.2 Interrupt service routine requirements - perform input/output, clear source of interrupt and return from interrupt
5.3 Interrupt priority - maskable and non-maskable interrupts, software interrupts, traps and exceptions
5.4 Vectored, chained and polled interrupt structures
5.5 Peripheral devices using interrupts - parallel and serial interfaces
5.6 Multiprocessing systems - communication between processes, semaphores, resource allocation and deadlock

6.0 Additional Topics: (6 hours)
6.1 Stacks, push and pull instructions
6.2 Static and dynamic variable allocation
6.3 Accumulator and register based computer architectures, reduced instruction set computer (RISC) and compressed instruction set computer (CISC)
architectures, digital signal processing (DSP) processors.

Laboratory:
1) Introduction to a microprocessor system - machine language monitor, simple hardware interface (switch, LED and flip/flop) address and data bus operation for program execution and memory read and write.
2) Assembly language programming - use of assembler, character input/output, arithmetic operations, base conversion, conditional branching, static variable allocation using labels assembler directives
3) Parallel interface programming - wait interfaces, input and output, development of test programs dynamic variable allocation on system stack
4 Serial asynchronous interface programming - wait interfaces, buffered input data, circular buffer
5) Interrupt programming - multiple processes running with varied priority, peripheral data rate determined by an external clock, demonstration of deadlock

References:
1) Z.G Vranesic and S.G.Zaky, “Microcomputer structures”, saunders College publishing, a division of Holt, Rinehart and Winston, 1989.

No comments:

Post a Comment