2017-01-02 1 views
0

Как рисовать зависимость данных ждет при рисовании 5-этажной диаграммы трубопровода? Правильно ли мой ответ?Как рисовать зависимость данных ждет при рисовании 5-этажной диаграммы трубопровода?

Инструкции

1. ADD X, Y, Y 
2. ADD Z, Y, X 
3. SUB V, X, W 
4. ADD Z, Z, V 

Вот схема трубопровода

Pipeline diagram

Является ли моя схема трубопровода правильно?

+0

Нам нужна дополнительная информация: 1) Имеется ли пересылка? т.е. результаты, записанные на этапе * WR *, немедленно считываются на этапе * EX *? 2) Может ли архитектура извлекаться при доступе к памяти? Гарвардские архитектуры или архитектуры с двумя портами памяти могут. Наконец, есть ли причина, по которой этап * ID * третьей команды не может начаться в цикле 5? Кроме того, такая инструкция зависит от * X * и * W *, которые готовы к циклу 7. Расскажите нам свои рассуждения, чтобы мы могли сказать, правильно это или нет, иначе мы сводимся к угадыванию –

+0

Привет, госпожа Блум, вопрос только эти данные. _Пожалуйста, мы используем конвейер с 5-ступенчатой ​​инструкцией: IF, ID, EX, MEM и WR. Предположим, что конвейер не использует переадресацию операндов и что единственными источниками конвейерных киосков являются опасности данных. Нарисуйте диаграмму конвейера с несколькими циклами, чтобы показать выполнение пяти инструкций, перечисленных в (a). Сколько времени требуется для завершения последовательности инструкций? _ – Trang

ответ

0

Я полагаю, что формат инструкция op <dest>, <src1>, <src2>

Мы можем проследить зависимость явно

1. ADD X, Y, Y Depends on: Y  Produces: X 
2. ADD Z, Y, X Depends on: Y, X Produces: Z 
3. SUB V, X, W Depends on: X, W Produces: V 
4. ADD Z, Z, V Depends on: Z, V Produces: Z 

Зная, что нет операнда пересылки и инструкции я могу прочитать результат инструкция j только после j завершает WR этап.

ADD X, Y, Y зависит от Y, но никакая инструкция не производит его, она уже готова. Таким образом, он может начать выполнение сразу после извлечения и декодирования.
Так начинается цикл 1 и заканчивается на цикле 5

Pipeline until instruction 1

ADD Z, Y, X извлекается как только блок выборки является свободным, это произойдет в цикле 2. Затем декодировать как только блок декодирования свободна после этого, в цикле 3.
это не может быть выполнена сразу после того, на 4 цикла, поскольку она зависит от у и Х, причем последний получают путем инструкции 1 и, таким образом доступна только на цикле 6.
Примечание здесь, что этап, который останавливается, не IF, но ID. На этом этапе не удается перенести данные на следующий. Представьте, что между каждой стадией есть защелка.
IF может, начинает выборку новую инструкцию на следующий цикл, но он не может завершить (т.е. должны быть застопорился тоже) до ID разрешается писать свой выход (в противном случае вход ID изменится и так бы его вывод).

Pipeline until instruction 2

SUB V, X, W может быть выбран в цикле 3, так как выборка инструкции 2 заканчивается в цикле 3, и поэтому выборки блок свободен.
Однако блок выборки не может записать результат в защелку между собой и блоком декодирования, поскольку блок декодирования остановлен и должен сохранять текущее входное значение (или изменение декодирования).
Таким образом, выборка также должна быть остановлена, пока блок декодирования не запишет ее выходную защелку в цикле 6.
Таким образом, декодирование может начинаться с цикла 6.
Инструкция зависит от X и W, первая имеется в цикле 6, а вторая с цикла 1; таким образом, EX банки начинается сразу после ID, т.е. в цикле 7.

Pipeline until instruction 3

ADD Z, Z, V может начать быть извлекаются в цикле 6, когда выборка блок написал свой результат на защелку к декодированию Блок.
Выполнение может начаться только в цикле 10, потому что эта команда зависит от V, который получают с помощью инструкции 3 при цикле 10.
Зависимость от Z не является проблемой, так как эти данные доступны в цикле 9.

Pipeline until instruction 4

+0

Спасибо, госпожа Блум, слава богу, я думаю, что я ясно это понял. (Вы видели мой пересмотренный ответ, который я опубликовал до вашего ответа?). Ваш ответ помог мне подтвердить, что я действительно это понял. На самом деле у меня нет учителей, и все это делается самим собой. Я просматриваю книги Стойлинга, Таненбаума, Шнайдера. Bookshear в дополнение к Youtube и другим веб-сайтам). Самая большая проблема, с которой я сталкиваюсь, - это убедиться, что я правильно их изучил. Спасибо за Вашу поддержку. – Trang

+0

@Trang Добро пожаловать. Кажется, что есть [решения упражнений Столпинга] (https://www.pearsonhighered.com/product/Stallings-Solutions-for-Computer-Organization-and-Architecture-8th-Edition/9780136088592.html) в Интернете. Не уверен, что они на самом деле. Возможно, это поможет вам проверить ваши ответы. –