Microprocessor system design concepts