Introduction to Computer Architecture
The architecture of computer systems including concepts such as processor, memory, buses, input/output, instruction sets, interrupt processing, pipelining, performance. Families of processors, CISC, RISC. Memory organization and management including cache, virtual memory, protection. Computer arithmetic. Assembly language programming, assemblers, linkers and loaders. Hardware/software interaction.