This page contains Syllabus of Computer Hardware Design of CSIT.

Title Computer Hardware Design
Short Name
Course code CSC373
Nature of course Theory + Lab
Semester sixth-semester
Full marks 60 + 20 + 20
Pass marks 24 + 8 + 8
Credit Hrs 3
Elective/Compulsary Elective

Course Description

 Course Description:

 This course provides the detailed idea about the design of computer hardware.

Course Objective:

The main objective is to provide information on various computer hardware and their design. It focuses on various concepts regarding processor, memory and arithmetic operations. It also emphasizes on multicores, multiprocessors and clusters. It also deals with non-functional requirements that play vital role in the design.

Units and Unit Content

1. Computer Abstractions and Technology
teaching hours: 3 hrs

Introduction, Performance, The Power Wall, The Sea Change: The Switch from Uniprocessors to Multiprocessors, Manufacturing and Benchmarking the AMD Opteron X4

2. Instructions: Language of the Computer
teaching hours: 3 hrs

Introduction, Operations of the Computer Hardware, Operands of the Computer Hardware, Signed and Unsigned Numbers, Representing Instructions in the Computer, Logical Operations,Instructions for Making Decisions, Supporting Procedures in Computer Hardware, MIPS Addressing for 32-Bit Immediates and Addresses, Parallelism and Instructions, Translating and Starting a Program, Arrays versus Pointers, Advanced Material: Compiling C and Interpreting Java, ARM Instructions, x86 Instructions.

3. Arithmetic for Computers
teaching hours: 5 hrs

Introduction, Addition and Subtraction, Multiplication, Division, Floating Point, Parallelism and Computer Arithmetic: Associativity, Real Stuff: Floating Point in the x86.

4. The Processor
teaching hours: 8 hrs

Introduction, Logic Design Conventions, Building a Data path, A Simple Implementation Scheme, An Overview of Pipelining, Pipelined Data path and Control, Data Hazards: Forwarding versus Stalling, Control Hazards, Exceptions, Parallelism and Advanced Instruction-Level Parallelism, Real Stuff: the AMD Opteron X4 Pipeline, Advanced Topic: an Introduction to Digital DesignUsing a Hardware Design Language to Describe and Model a Pipeline and More Pipelining Illustrations.

5. Large and Fast: Exploiting Memory Hierarchy
teaching hours: 8 hrs

Introduction, The Basics of Caches, Measuring and Improving Cache Performance, Virtual Memory, A Common Framework for Memory Hierarchies, Virtual Machines, Using a Finite- State Machine to Control a Simple Cache, Parallelism and Memory Hierarchies: Cache Coherence, Advanced Material: Implementing Cache Controllers, Real Stuff: the AMD Opteron X4 and Intel Nehalem Memory Hierarchies.

6. Storage and Other I/O Topics
teaching hours: 5 hrs

Introduction, Dependability, Reliability, and Availability, Disk Storage, Flash Storage, Connecting Processors, Memory, and I/O Devices, Interfacing I/O Devices to the Processor, Memory, and Operating System, I/O Performance Measures: Examples from Disk and File Systems, Designing an I/O System, Parallelism and I/O: Redundant Arrays of Inexpensive Disks, Real Stuff: Sun Fire x4 Server, Advanced Topics: Networks.

7. Multicores, Multiprocessors, and Clusters
teaching hours: 8 hrs

Introduction, The Difficulty of Creating Parallel Processing Programs, Shared Memory Multiprocessors, Clusters and Other Message-Passing Multiprocessors, Hardware Multithreading, SISD, MIMD, SIMD, SPMD, and Vector, Introduction to Graphics Processing Units, Introduction to Multiprocessor Network Topologies, Multiprocessor Benchmarks, Roofline: A Simple Performance Model, Real Stuff: Benchmarking Four Multicores Using theRoofline Model.

Lab and Practical works

Laboratory Works:

The practical work should focus on use of hardware design language and programming. It should also focus on x86 instructions. There should also be practical related to processor, memory, clusters, multithreading, Interfaces, pipelining.