Course Code: CS223
Course Name: Computer Architecture and Organization
Prerequisites: CS221
Syllabus: Functional units of a computer: CPU, memory, I/O; instruction set architecture: instruction format, addressing modes, ISAs for common CPUs and assembly languages; data representation: signed number representation, fixed and floating point representations; processor design: datapath components, control unit, pipelining and hazards; memory: concept of hierarchical memory organization, cache memory, mapping functions and replacement algorithms, main memory organisation, virtual memory; Input-Output: I/O transfers - program controlled, interrupt driven and DMA, I/O devices - secondary storage; Introduction to multi-core architectures.
Texts: 1. D. A. Patterson, J. L. Hennessy, Computer Organization and Design, 4th Ed., Morgan Kaufmann, 2010.
2. W. Stallings, Computer Organization and Architecture: Designing for Performance, 8th Ed., Pearson, 2010.
References: 1. C. Hamacher, Z. Vranesic, S. Zaky, Computer Organization, 6th Edition, McGraw Hill Education, 2011.
2. M. Mano, Computer System Architecture, 3rd Ed., Pearson, 1992.