Digital systems and microprocessors