我想問一下所謂的data hazard是指RAW-dependency並且兩個指令相距2以內嗎?
還是指需要stall或插nop的才叫做hazard?
或是所有dependency都算是hazard?
感覺很多題目的定義都不太一樣
作者:
chieya (chieya)
2019-01-25 16:21:00hazard:pipeline下不能順利在下一個clock cycle執行下個指令的情況,分三類,structure, data,control
forwarding只是解決hazard的一個方法跟是不是hazard沒關係吧add s0 t0 t1,sub t2 s0 t3 即使有forwarding也是個ha*也是個hazard
作者:
chieya (chieya)
2019-01-25 16:42:00再仔細看了一下你的問題 你是想問waw或war會不會造成hazard嗎?假如以mips那個簡單架構 的確就你所想的那樣,但是其他ISA下(out of order execution )會有waw或war的data hazard 不過這2種可以靠 renaming技術(可由硬體實作)解決所以要看題目怎麼描述
作者: sssxyz11 (交) 2019-01-25 18:29:00
樓主是問如果forwarding可解決的還算不算hazard 吧?我覺得還是算欸,forwarding是解決harzard,所以被解決的就是harzard阿xd