Learning Outcomes:
At the end of this course, student should be able to:
1. explain different instruction formats, such as addresses per instruction and variable length vs. fixed length formats;
2. describe the organisation of the classical von Neumann machine and its major functional units;
3. explain how subroutine calls are handled at the assembly level;
4. describe the basic concepts of interrupts and I/O operations;
5. write simple assembly language program segments;
6. show how fundamental high-level programming constructs are implemented at the machine-language level;
7. compare alternative implementation of data paths;
8. discuss the concept of control points and the generation of control signals using hardwired or micro-programmed implementations;
Course Contents
Instruction format and types, memory and I/O instructions, dataflow, arithmetic, and flow control instructions, addressing modes, stack operations, and interrupts. Data path and control unit design. RTL, microprogramming, and hardwired control. Practice of assembly language programming. Memory hierarchy, cache memory, virtual memory. I/O fundamentals. Interrupt structures.
Lab work: Programming assignments to practice MS-DOS batch programming, Assembly Process, Debugging, Procedures, Keyboard input, Video Output, File and Disk I/O and Data Structure. Instruction and arithmetic pipelining, superscalar architecture. Reduced Instruction Set Computers. Parallel architectures and interconnection networks.