Van egy C progim, amely egy home projektem része, és most hozzájutottam egy RPi 2-höz, gondoltam lemérem mennyivel gyorsabb. A táblázatban idő van másodpercekben.
ASM:
Threads | RPi | RPi 2 | speedup
---------------------------------
1 | 29.24 | 7.65 | 3.82
2 | 28.87 | 3.91 | 7.38
3 | 28.91 | 2.66 | 10.87
4 | 28.92 | 2.03 | 14.24
=================================
PLAIN:
Threads | RPi | RPi 2 | speedup
---------------------------------
1 | 46.43 | 20.80 | 2.23
2 | 46.01 | 10.55 | 4.36
3 | 45.96 | 7.08 | 6.49
4 | 45.83 | 5.36 | 8.55
=================================
A felső kézi ASM /USADA8/ kódot tartalmaz, az alsó meg ugyanaz a funkcionalitás, csak C-ben. Most jön a WTF: 4 szálon a gyorsulás 14-szeres, és egy szálon relatíve a 3,82 még durvább. Többször lemértem, nem hiba. A GCC ugyan más verziójú, de ez nem számít, mert a Pi 1 által fordított kód ugyanolyan gyorsan fut le, mintha a Pi 2-őn fordítottam volna. Valakinek van ötlete?

Egyszerűen besétálsz egy
Persze T flip-flop nem volt raktáron, de semmi gond, a JK flip-flop magasra állított J és K bemenettel ugyanazt tudja. A dióda azért kell, mert a soros portnál a logikai 0 -12 V és -3V között van valahol, így az IC bemenetén keresztül áram folyna. Először el is feledkeztem róla, fura is volt, hogy ezerrel fűt a IC
A végeredménnyel meg vagyok elégedve, mission accomplished!




