The objective of this course is to learn how to improve the quality of
the programs that you write for execution on high performance computer systems.
The
course discusses the various activities that happen during program execution, and how
they are managed by the hardware (architectural features) and system software (operating
systems, run-time systems).
Sl.No.
Topics
No.of Hours
1
Program execution: Program, Compilation, Object files, Function call and return, Address space, Data and its representation
4
2
Computer organization: Memory, Registers, Instruction set
architecture, Instruction processing
6
3
Pipelined processors: Pipelining, Structural, data and control hazards, Impact on programming
4
4
Virtual memory: Use of memory by programs, Address translation, Paging
4
5
Cache memory: Organization, impact on programming, virtual caches
5
6
Operating systems: Processes and system calls, Process management
6
7
Program profiling
2
8
File systems: Disk management, Name management, Protection
4
9
Parallel architecture: Inter-process communication, Synchronization, Mutual exclusion, Basics of parallel architecture, Parallel programming with message passing using MPI
5
Total
40
Computer programming, Data structures.
J. L. Hennessy and D. A. Patterson, Computer Architecture: A Quantitative Approach,
Morgan Kaufmann.
A. Silberschatz, P. B. Galvin, G. Gagne, Operating System Concepts, John Wiley.
R. E. Bryant and D. R. O’Hallaron, Computer Systems: A Programmer’s Perspective,
Prentice Hall.
Important: Please enable javascript in your browser and download Adobe Flash player to view this site
Site Maintained by Web Studio, IIT Madras. Contact Webmaster: nptel@iitm.ac.in