Basic computer layout. Instruction sets and their implementation. Addressing techniques. ALU, hardwired and microprogrammed controllers. Memory unit. I/O structures and interrupt handling. Improvements on Von Neumann machine. Bus structures. Assembly programming.