О зависимости данных архитектуры конвейера - PullRequest
0 голосов
/ 19 июня 2020

Меня смущают следующие инструкции. $ zero - это регистр, всегда содержащий значение 0

I1: addi $ t1, $ t10, -10

I2: lw $ t2, 0 ($ t1)

I3 : lw $ t3, 0 ($ t2)

I4: sw $ t3, 0 ($ t4)

I5: sub $ t3, $ zero, $ t3

I6: addi $ t3, $ t3, 1

Как мне найти здесь зависимость данных?

Есть несколько простых вещей вроде $ t1 в I1-I2

, но как насчет $ t3 между I3, I4, I5, I6? Я сбит с толку.

Может ли кто-нибудь помочь мне найти здесь все зависимости?

1 Ответ

0 голосов
/ 27 июня 2020

Существует три типа зависимостей данных, см. wiki . I1 и I2, I2 и I3 - чтение после записи - зависимость данных потока I3 и I4, I4 и I5, I5 и I6 - запись после записи - зависимость выходных данных

...