Syllabus: CS260 - Computer Organization • Introduction: Function and structure of a computer, computer Functional components of a computer, Interconnection of components, Performance of a computer. • Representation of Instructions: Machine instructions, Operands, Addressing modes, Instruction formats, Instruction sets, Instruction set architectures - CISC and RISC architectures. • Processing Unit: Organization of a processor - Registers, ALU and Control unit, Data path in a CPU, Instruction cycle, Organization of a control unit - Operations of a control unit, Hardwired control unit, Microprogrammed control unit. • Memory Subsystem: Semiconductor memories, Memory cells - SRAM and DRAM cells, Internal Organization of a memory chip, Organization of a memory unit, Error correction memories, Interleaved memories, Cache memory unit - Concept of cache memory, Mapping methods, Organization of a cache memory unit, Fetch and write mechanisms, Memory management unit - Concept of virtual memory, Address t translation, l ti H Hardware d supportt ffor memory management. t • Input/Output Subsystem: Access of I/O devices, I/O ports, I/O control mechanisms Program controlled I/O, I/O Interrupt controlled I/O, I/O and DMA controlled I/O, I/O I/O interfaces - Serial port, Parallel port, PCI bus, SCSI bus, USB bus, Firewall and Infiniband, I/O peripherals - Input devices, Output devices, Secondary storage devices.
References 1. C. Hamacher, Z. Vranesic and S. Zaky, "Computer Organization", McGrawHill, 2002. 2. W. Stallings, "Computer Organization and Architecture - Designing for Performance", Prentice Hall of India, 2002. 3. D. A. Patterson and J. L. Hennessy, "Computer Organization and Design The Hardware/Software Interface", Morgan Kaufmann,1998. 4. J .P. Hayes, "Computer Architecture and Organization", McGraw-Hill, 1998.
Computer Level Hierarchy
Program Execution Translation: The entire high level program is translated into an equivalent machine language program. Then the machine language program is executed. Interpretation: Another program reads the high level program instructions one-by-one and executes a equivalent series of machine language instructions. Program translation uses a collection of tools to perform the translation: Compiler: Translates high level language programs into a lower level language often called object code. Assembler: Translates assembly language instructions into object code. Linker: Combines collections of object code into a single executable machine language program.