Today’s computing challenges: opportunities for computer hardware design