This talk nicely explains the challenges of CPU pipelining and flow prediction. Since it is a presentation of a new CPU architecture the comparison of old vs. new strategies gives quite a good overview how it works all around.
It take approximately an hour so get some drinks an popcorn. Just don’t go and start optimizing your code for processor pipelining afterwards. ;)