I recently learnt that a CPU optimizes instructions by doing things like predicting the results of conditionals. Where can I read more about this kind of stuff? I know basic computer architecture things like transistors, assembly code, compilers etc but I am more interested in this kind of specific problems and ways people improve computers.