Soft microprocessors