[an error occurred while processing this directive]
|
Так все абсолютно правильно. Не надо мешать понятия Fetch Packet, Execute Packet и delay slots. Мухи мухами, а котлеты котлетами. В данном случае совершенно не важно, как делается FETCH, как FP делятся на EP. Главное - это как EP (а в данном случае все EP по одной команде) попадают и выполняются в конвейере. Смотрим:
1 mvkl.S2 0x1111, B2
2 B.S2 code2
3 mvkl.S2 Buffer, B1
4 mvkh.S2 Buffer, B1
5 stw.D2 B2, *B1++
6 stw.D2 B2, *B1++
7 stw.D2 B2, *B1++
8 stw.D2 B2, *B1++
2). В ковейер попал Execute Packet из перехода и 7-ми нопов.
3,4,5,6,7) - он выполняется, в конвейер поступают эти команды....
8) - а вместо этого уже попадет в конвейер то, что в code2. Так как оттуда уже достали FP, и разобрали из него первый EP. Ведь delay-слотов-то 5 а не 6 у перехода.
Так что тут не понятно?
E-mail: info@telesys.ru