An introduction to computer architecture and hardware design. Computer abstractions and technology, performance evaluation, instruction set architectures, computer arithmetic, pipelining, memory systems, interfacing. Hardware description languages, machine languages and assembly languages.