Student Hub
Institute of Engineering
Home
Programs
Courses
Colleges
Links
Menu
Home
Programs
Courses
Colleges
Links
Source on GitHub
Home
Courses
ENCT303
Syllabus
ENCT303
Computer Organization and Architecture
Overview
Syllabus
Old questions
Syllabus
Introduction
(5 hours)
Organization and architecture
Structure of a computer, single processor, multi-core computer
Performance assessment: clock speed and instruction per second; instruction execution rate (CPI, MIPS rate, MFLOPS rate, arithmetic mean, harmonic mean, speed metric, geometric mean, rate metric, Amdahl's law, speed up)
Computer function: instruction fetch and execute, instruction cycle state diagram
Computer component, interconnection structure, bus interconnection, PCI
RISC architecture, overlapped register windows, Berkeley RISC
Central Processing Unit (CPU)
(7 hours)
Processor bus organization
Processor register organization: control word, examples of microoperations
Stack organization: register stack, memory stack, reverse polish notation, evaluation of arithmetic expressions
Instruction formats: CPU organization, zero and more address instruction formats
Addressing modes: types, examples, strengths and weaknesses
Instruction set: data transfer, data manipulation (arithmetic, logical and shift), program control
Status bit conditions
Interrupt: definition, types, processing and ISR
Control Unit
(5 hours)
Hardwired control unit
Microprogrammed control unit
Microinstructions, control memory organization, Wilkes control
Microinstruction sequencing: design considerations, sequencing techniques, address generation, microinstruction encoding
Application of microprogramming
Microinstruction execution
Memory System
(7 hours)
Characteristics of memory system
Memory classification and hierarchy
Semiconductor memory and its types, read only memory, read/write memory
RAM modules and interfaces: DDR, DIMM and SODIMM
Cache memory: cache principles, elements of cache design (cache size, mapping function, replacement algorithms, write policy, block size, single and multi-level caches, unified versus split cache)
External memory: magnetic disk, RAID (level 1 to 5), optical memory, magnetic tape, SSD
Computer Arithmetic
(8 hours)
ALU (arithmetic and logic unit)
Integer representation: sign-magnitude, two's complement, converting between different bit lengths, fixed-point representation
Integer arithmetic: addition and subtraction, multiplication, division algorithms
Floating-point arithmetic: representation (principles, IEEE standard), addition and subtraction, multiplication, division algorithms
Pipelining and Vector Processing
(4 hours)
Pipelining and its importance
Instruction and arithmetic pipelining
Pipelining hazards: data, structural and control hazards
RISC pipeline
Parallel processing
Vector processing: vector operations, matrix multiplication, memory interleaving, superscalar processors, supercomputers
Array processors: attached array processor and SIMD array processor
Input/Output
(5 hours)
External devices
I/O modules: module function, module structure
Programmed I/O, I/O commands, I/O instructions, flowchart
Interrupt driven I/O, interrupt processing and flowchart
Direct memory access (DMA): drawbacks of programmed and interrupt-driven I/O, DMA function, typical DMA block diagram and configurations
I/O channels and processors: evolution of the I/O function, characteristics of I/O channels
The external interface: types of interfaces, point-to-point and multiple configurations, SCSI
Multiprocessor System
(4 hours)
Multiprocessor computers and their characteristics
Multi-core computers and their architecture
Interconnection structure: time-shared common bus, multiport memory, crossbar switch, multistage switching network and hypercube system
Interprocessor arbitration
Interprocessor communication and synchronization
Practicals
Addition and subtraction algorithm
Multiplication algorithm
Division algorithm
Cache mapping techniques
ALU implementation
Vector processing implementation