Computer Hardware Design Syllabus
This page contains Syllabus of Computer Hardware Design of CSIT.
Title | Computer Hardware Design |
Short Name | |
Course code | CSC373 |
Nature of course | Theory + Lab |
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.