Yuchen Huang
If you want a good foundational knowledge of the subject, I recommend taking the Computer Architecture series with professor Huang. Course helps the student to master the subject of computer architecture in technical aspect and gain complex programming knowledge, complete homework and significantly contribute to programming projects. 