Source: https://www.ic.unicamp.br/~celio/mc404-2014/docs/cortex-m3-overview-Yiu_Ch2.pdf