Advanced Computer Architecture
Subject Code: ECP3106
Aim of Subject: To provide a sound understanding of the hardware and software systems required for high performance computing.
Learning Outcome of Subject: At the completion of the subject, students should be able to:
  • Understand the high performance computing classification and their architectures. Performance measurement of computer architecture using different types of methods.
  • Understand the pipelining concepts and its hazard. How to solve the hazards of pipelining using different types of techniques. Describe the Superscalar architecture.
  • Understand the concepts of Vector and Array processor architecture with their vector and scalar software instructions.
  • Describe the interconnection network switches such as Interconnect topology, omega switch, ring bus switch, multiple bus switch, single bus switch, and crossbar switch. Describe Cache coherence problem, message passing mechanisms. Understand the MIMD computer classification with architecture.
  • Understand the Novel architectures with its functionality such as Data flow machine, VLIW architecture etc.
Programme Outcomes:
  • Ability to acquire and apply fundamental principles of science and engineering(50%)
  • Capability to communicate effectively(10%)
  • Acquisition of technical competence in specialised areas of engineering discipline(10%)
  • Ability to identify, formulate and model problems and find engineering solutions based on a systems approach(5%)
  • Ability to conduct research in chosen fields of engineering(5%)
  • Understanding of the importance of sustainability and cost-effectiveness in design and development of engineering solutions(5%)
  • Understanding and commitment to professional and ethical responsibilities(5%)
  • Ability to work independently as well as with others in a team(5%)
  • Ability to be a multi-skilled engineer with good technical knowledge, management, leadership and entrepreneurship skills(5%)
Assessment Scheme:
  • Assignment or Project - group assignment, focus group discussion at tutorial,to enhance understanding of basic concepts in lecture(20%)
  • Test Quiz - written exam(20%)
  • Final Exam - written exam(60%)
Teaching and Learning Activities: 46 hours (lectures and tutorials)
Credit Hours: 3
Pre-Requisite: ECP2046: Computer Organization and Architecture
  • J.L. Henessay and D.A. Patterson, "Computer Architecture: a Quantitative Approach", Morgan Kaufman, 2nd Edition, 1996.
  • K. Hwang, " Advanced Computer Architecture: Parallelism, Scalability and Programability", McGraw-Hill, 1993.
  • H.S. Stone, "High Performance Computing", Addison-Wesley, 1990.

Subject Contents

  • Introduction to High Performance Computing

  • Classification and survey of existing architectures, performance metrics, current state of high performance computing.
  • High Performance Uniprocessors

  • Pipelining : principles, degradation due to functional, data and control hazards, solutions to overcoming hazards. Superscalar techniques: fetch, rename, issue, dispatch, execute and commit stages, branch prediction, exception handling, impact on cache and memory design. Compiler support. Survey of current high performance processors, including multimedia hardware.
  • Parallel Processing: Vector and Array Processors

  • Vector and array processing principles, common architectures, instruction types, compiler and high level language support, and applications.
  • Parallel Processing: MIMD Computers

  • Classification, Interconnect topology, hardware synchronization mechanisms, cache coherence, message passing mechanisms. Parallel programming: models, languages and compilers. Distributed operating systems.
  • Novel Architectures

  • Data flow, VLIW, and multi-scalar. Future directions in high performance computing.