Digital Systems From Logic Gates To Processors