Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

CSI3021 Advanced Computer Architecture L T P J C

3 0 0 0 3
Pre-requisite CSI1004 Syllabus version
1.0
Course Objectives:
1. Introduce the recent trends in the field of Computer Architecture and identify
performance related parameters.
2. Apply fundamental techniques to speed-up program execution.
3. Expose the different types of multicore architectures and Programming.
Course Outcome:
1. Understand the organization and performance characteristics of modern computer
architectures.
2. Interpret techniques to improve processor’s ability to exploit Instruction Level
Parallelism.
3. Point out how data level and thread level parallelisms is exploited in architectures.
4. Identify characteristics and challenges in multiprocessor and multicore architectures.
5. Develop parallel programming for computer problems.
Student Learning Outcomes (SLO): 2, 12, 14
Module:1 Introduction to Advanced Computer Design 5 hours
Fundamentals of Computer Design- Fundamentals of RISC, CISC architecture- Data path
implementation-Single cycle Data path- Multi cycle data path-Multi cycle Instruction execution-
Instruction Scheduling.
Module:2 Instruction Level Parallelism 8 hours
Introduction to Instruction Level Parallelism – Concepts and Challenges – Advanced Branch
Prediction - Dynamic Scheduling – Static scheduling- Hardware-Based Speculation –
Multithreading - Limitations of ILP.
Module:3 Data Level Parallelism 5 hours
Vector architecture – SIMD extensions – Graphical Processing Units and applications – Loop
level parallelism.
Module:4 Multi-Threading Concepts 6 hours
Basic concepts of threading- Concurrency, Parallelism -Threading design concepts for
developing an application- Correctness Concepts: Critical Region, Mutual exclusion,
Synchronization, Race Conditions- Performance Concepts: Simple Speedup, Computing
Speedup, Efficiency , Granularity , Load Balance
Module:5 Multi-Processor Architecture 6 hours
Need for multi-core architectures, Architecting with multi-cores, Homogenous and
heterogeneous cores, Shared recourses, shared busses, and optimal resource sharing strategies.
Performance evaluation of multi-core processors, Error management
Module:6 Multi core architecture 7 hours
Introduction- Centralized, Symmetric and Distributed Shared Memory Architectures –Cache
Coherence Issues – Performance Issues – Synchronization – Models of Memory Consistency
Module:7 Multi Core and GPU Programming 6 hours
Multi core programming using OpenMP, OpenMP Directives, Parallel constructs, Work-sharing
constructs, Data environment constructs, Synchronization constructs
Module:8 Recent Trends 2 hours
Total hours: 45 hours
Text Book(s)
1. John L. Hennessey and David A. Patterson, ―Computer Architecture – A Quantitative
Approach, Morgan Kaufmann , Elsevier, 6th edition, 2017.

Proceedings of the 61st Meeting of the Academic Council [18.02.2021] 326


Reference Books
1.Kai Hwang, Naresh Jotwani, Advanced Computer Architecture: Parallelism, Scalability,
Programmability, Tata McGraw Hill Education Pvt. Ltd., India, Second Edition, 2011.
2. Barbara Chapman, Gabriele Jost, Ruud van van de Pas, Using OpenMP: Portable shared
memory, parallel programming (scientific and engineering computation),, 1st Edition, MIT Press,
2008.
3. David B Kirk, Wen-mei W Hwu, Programing Massively Parallel Processors: A Handson
Approach(Application of GPU Computing Series) , 2 nd Edition, Morgan Kaufmann,2013.
Mode of Evaluation: CAT/ Digital Assignments/Quiz/FAT/ Project.
Recommended by Board of Studies 11-02-2021
Approved by Academic Council No. 61 Date 18-02-2021

Proceedings of the 61st Meeting of the Academic Council [18.02.2021] 327

You might also like