## 下四的control表 ![image](https://hackmd.io/_uploads/SyEqZg8vT.png) ![image](https://hackmd.io/_uploads/HJsgGx8va.png) ## R-type (add) ![image](https://hackmd.io/_uploads/B12GQAHv6.png) ![image](https://hackmd.io/_uploads/B1LfAkUwa.png) ## I-type (lw載入) ![image](https://hackmd.io/_uploads/SyPDQCrva.png) ![image](https://hackmd.io/_uploads/HyrrRJUPa.png) ## I-type (sw儲存) ![image](https://hackmd.io/_uploads/S1RdV0Bwa.png) ![image](https://hackmd.io/_uploads/rkqI1xLD6.png) ## BEQ ![image](https://hackmd.io/_uploads/rkMuSCSvT.png) ![image](https://hackmd.io/_uploads/BJLQZe8vp.png) ## Jump ![image](https://hackmd.io/_uploads/ryZoHgUwa.png) - example ![image](https://hackmd.io/_uploads/SJJz_xLvp.png) ## pipeline ![image](https://hackmd.io/_uploads/HyzO8fLPT.png) - pipeline的圖長這樣 ![image](https://hackmd.io/_uploads/rJmRWnUwp.png) - 最完整的pipeline圖 ![image](https://hackmd.io/_uploads/B1JZQhUDp.png) - with forwarding ![image](https://hackmd.io/_uploads/B1SDc2UDT.png) - forwarding condition ![image](https://hackmd.io/_uploads/rJmvn3LPa.png) ![image](https://hackmd.io/_uploads/B1z7Tn8w6.png) ![image](https://hackmd.io/_uploads/rJODzpUP6.png) - 最最完整的datapath和上面比加了forwarding ![image](https://hackmd.io/_uploads/S15up2Uwa.png) - 如何加泡泡 ![image](https://hackmd.io/_uploads/H1VNz68Dp.png) - 最最最完整的datapath和上面比又加了harzard detection(可以產生bubble) ![image](https://hackmd.io/_uploads/SJ5F8aUDp.png) - 這百分之百是最後一張圖 ![image](https://hackmd.io/_uploads/HJyXlGPDa.png) ## control每條詳解 ![image](https://hackmd.io/_uploads/BkD8eh8Pa.png) ![image](https://hackmd.io/_uploads/SycBf2Iva.png) ## note - address interleaving 位址穿插 讓系統對記憶體的不同bank同時存取 - ![image](https://hackmd.io/_uploads/r19xRSPDp.png) - write through 寫透 保持主記憶體和快取的一致性 快取一寫什麼就直接寫回主記憶體 - write buffer 存放等待寫入主記憶體的資料 - ![image](https://hackmd.io/_uploads/Sy77G8PDa.png) - ![image](https://hackmd.io/_uploads/rk9JLvvDa.png) - ![image](https://hackmd.io/_uploads/rynqIwDwa.png) - ![image](https://hackmd.io/_uploads/HkxNBjPw6.png)