BEG 1109 Computer Architecture

BEG 1109 Computer Architecture & Design

  • Contact hours: 42

  • Credit hours: 3

  • Pre-requisites: None

Purpose

To provide the learner with an in-depth understanding of the computer hardware system

Expected Learning Outcomes

By the end of the course unit, the learner should be able to:

  1. Explain the historical development of computers

  2. Describe the functional organization of a computer system

  3. Troubleshoot common computer hardware problems

  4. Upgrade computer software and hardware

Course Content

  • Introduction to hardware components of a computer:

    • Motherboards

    • CPU elements

    • Memory

    • Storage

    • Peripheral devices

  • Computer Systems Technology:

    • Computer Organization

    • VHDL (VHSIC Hardware Description Language)

    • Input and output devices

    • CPU concepts, functionality, and technology

  • Buses:

    • Internal and external buses

    • Bus width and clock speed

  • Bus Technology and Standards:

    • Expansion bus standards (15A/EISA/MCA/PCI/SCSI)

    • Current trends in bus technology

    • Multi-media devices

  • I/O and Instruction Set Design:

    • Instruction representation

  • Computer Performance:

    • Performance metrics and evaluation

  • Datapath:

    • Register transfer and interconnection structures

  • Datapath and Control:

    • ASM (Algorithmic State Machine) Chart

    • Control Unit Design

    • Single and Multi-cycle CPU Design

    • Control Unit: Design and Implementation

    • Pipelining and data hazards

    • Branch hazards, decisions-interfering/interrupts

Teaching Methodology

  • Group discussions

  • Lecturing

  • Practical lessons

  • Computer-aided lessons

  • Educational Visits

  • Individual assignments

  • Micro-teaching

Instructional Materials and Equipment

  • Chalkboard

  • Overhead Projectors

  • Computers

Course Assessment

  • Examination: 70%

  • Continuous Assessments (Exercises and Tests): 30%

  • Total: 100%

Core Text Books

  1. Computer Organization and Design: The Hardware/Software Interface, David Patterson & John Hennessy, 4th edition (revised) 2012, Morgan Kaufmann Publishers, Elsevier Inc., ISBN 978-0-12-374750-1

  2. Kalicharan (2009); An Introduction To Computer Studies (CLPE); Cambridge University Press

Recommended Text Book(s)

  1. Embedded Core Design with FPGAs, Z. Navabi, McGraw Hill 2007, ISBN 978-0-07-147481

  2. Logic and Computer Design Fundamentals, Morris Mano & Charles R. Kime, 4th edition, 2008 or latest edition, Prentice Hall.

Introduction to Hardware Components of a Computer

A computer consists of various hardware components categorized based on their functionality. Here’s an overview of the major hardware components of a computer system:

1. Motherboard

  • The main printed circuit board (PCB) that houses and connects most essential components of a computer system.

  • It houses the CPU, memory (RAM), storage, and provides connectors for peripheral devices.

  • Facilitates communication between these components via buses and controllers.

2. CPU (Central Processing Unit)

  • Acts as the brain of the computer, performing calculations and executing instructions from programs.

Main Elements of a CPU:
  • ALU (Arithmetic Logic Unit): Performs arithmetic and logical operations.

  • Control Unit (CU): Directs the operation of the processor.

  • Registers: Small storage locations in the CPU for temporary data.

  • Cache: High-speed memory located inside/very close to the CPU for faster data access.

3. Memory

a. RAM (Random Access Memory)
  • Temporary memory used by the CPU for data currently being processed, which is volatile and loses data when power is off.

b. ROM (Read-Only Memory)
  • Non-volatile memory storing firmware and other permanent instructions essential for the computer's basic booting and operations.

4. Storage

  • Devices that hold data and programs permanently, even when the power is off:

a. HDD (Hard Disk Drive)
  • Uses mechanical parts to store data.

b. SSD (Solid State Drive)
  • Utilizes flash memory for faster access and improved reliability.

c. Optical Drives
  • Include CD, DVD, or Blu-ray drives.

d. External Storage
  • USB drives, external hard drives, etc.

5. Peripheral Devices

  • External devices connected to the computer to expand its functionalities.

Examples:
  • Input Devices: Keyboard, mouse, scanner, microphone.

  • Output Devices: Monitor, printer, speakers.

  • Input/Output Devices (I/O): Devices like touchscreens or external storage.

Computer Systems Technology and Concepts

1. Computer Organization

  • Refers to the physical structuring of a computer system and how various components are connected to function collectively.

  • Focuses on hardware architecture, data pathways, and operational processes enabling computing.

2. VHDL (VHSIC Hardware Description Language)

  • A language used to describe the behavior and structure of electronic systems, particularly in hardware design, useful in modeling, simulating, and synthesizing hardware components in digital circuit design.

3. CPU Concepts

a. Fetch-Decode-Execute Cycle
  • The process wherein the CPU fetches instructions from memory, decodes, and executes them.

b. Pipelining
  • Involves overlapping multiple instruction stages (fetch, decode, execute) to boost throughput.

c. Multithreading
  • Allows CPUs to execute multiple processes or threads concurrently.

Buses

Overview

  • A bus is a communication system that transfers data between computer components. Buses connect hardware devices to relay data.

1. Internal Buses

  • Connect components within the computer, such as:

a. System Bus
  • Connects the CPU to the main memory (RAM) and controllers.

b. Address Bus
  • Carries memory addresses used by the CPU.

c. Data Bus
  • Transfers actual data processed by the CPU.

d. Control Bus
  • Carries control signals for coordination between components.

2. External Buses

  • Connect the computer to external devices such as printers or external storage.

Examples:
  • USB (Universal Serial Bus): Connects peripherals.

  • SATA (Serial ATA): For hard drives and optical drives.

3. Bus Width and Clock Speed

a. Bus Width
  • Number of bits that can be transferred simultaneously; wider buses can carry more data.

b. Clock Speed
  • Rate at which data is transferred, measured in MHz or GHz; higher speeds mean faster data transfer.

Bus Technology and Standards

1. Expansion Bus Standards

Major Examples:
  • ISA (Industry Standard Architecture): An early 8-bit and 16-bit standard.

  • EISA (Extended ISA): A 32-bit standard that is backward compatible with ISA.

  • MCA (Micro Channel Architecture): A 32-bit standard that is not backward compatible.

  • PCI (Peripheral Component Interconnect): A modern 32-bit/64-bit standard for connecting internal peripherals.

  • SCSI (Small Computer System Interface): Used for connecting high-speed peripheral devices.

2. Current Trends in Bus Technology

  • PCI Express (PCIe): A high-speed transfer standard supporting various lanes for higher throughput, utilized in modern graphics cards and SSDs.

  • Thunderbolt and USB 4.0: Combine fast data transfer with the ability to connect various device types via one port.

  • NVMe (Non-Volatile Memory Express): A protocol to maximize SSD speed, much quicker than older standards like SATA.