This course provides the fundamental concepts and principles underlying a computer architecture design and instruction set architectures. It highlights the lower end operations of a typical computer, and the way computers manage their resources during operation.The topics covered in this course include Von Neumann architecture, CPU, registers, MIPS assembly language, instruction types and addressing, memory, interrupts, and I/O, the system bus. Instructions: fetch and execute cycle, machine language instructions. Algorithms for integer and floating-point arithmetic, hardware, and software implementation of ALU. Memory system hierarchy (cache, main memory, secondary memory) operations and performance, simple pipelines, virtual memory systems. Computer I/O concepts, and DMA mechanisms.