CENG 442

Multicore Architectures and Operating Systems

An evolutionary approach to the multicore architectures, integration of multicore architectures with operating systems, OS kernel design for multiprocessors and multithreding, OS support for threads, User level threads, Kernel level threads, An example: Solaris threads, Threads and libraries, Hardware support for multithreading in a uniprocessor and in a multiprocessor.

Course Objectives

To teach the components and steps of the architecture design for multicore structures. To teach the contemporary operating systems and multicore architecture design models. To develop the critical thinking and analyzing for the relationship between operating system and multicore architecture design.

Recommended or Required Reading

U. Ramachandran, W. D. Leahy Jr.,’Computer Systems: An Integrated Approach to Architecture and Operating Systems’, Addison Wesley, 2010 ,C. Hughes,T. Hughes,’Professional Multicore Programming Design and Implementation for C++ Developers’, Wiley Publishing, Inc., 2008 ,B. Parhami, ‘Introduction to Parallel Processing Algorithms and Architectures’, Plenum Series in Computer Science, 1999.

Learning Outcomes:

1. Analyze and implement the design steps of computer architecture by using different multicore architecture models.

2. Analyzing the components of the operating systems for multicore architectures.

3. Analyzing hardware design problems of multicore architectures.

4. Analyzing the limits of solutions and restrictions of operating systems for different multicore architecture models.

 

Topics
An Introduction
Processor Architecture
Processor Implementation
Interrupts, Traps and Exceptions
Processor Performance
Rudiments of Pipelined Processor Design
Midterm 1
New Architectures and Multicore Designs
Processor Scheduling
Memory Management Techniques
Memory Hierarchy
Parallel Processors
Input/Output and File Systems
Conclusion: Putting Them All Together

 

Grading

Midterm: 30%

Presentation: 35%

Final: 35%