next up previous contents
Next: Ergebnisse der dritten Versuchsreihe Up: Ergebnisse der zweiten Versuchsreihe Previous: Sprunglatenzen   Inhalt


Speicherlatenzen

Die Latenzzeiten, die beim Zugriff auf den Speicher entstehen, können stark variieren. Das reicht von direktem Zugriff auf Speicherbereiche auf dem Prozessor selbst, wie Cache oder On-Chip-RAM, bis zu sehr vielen Takten bei schnellen Prozessoren mit langsamem Speicher.

Bei einem Mikrocontroller wird normalerweise auf Caches und komplexe Speicherhierarchien verzichtet, da diese das Echtzeitverhalten schwer vorhersagbar machen. Daher beschränken sich die Untersuchungen an dieser Stelle auf den Bereich von keiner Verzögerung bis zu zehn Takten Latenz für jeden Zugriff auf den Speicher.

Abbildung 3.10: Die Leerlaufzeit bei verschiedenen Speicherlatenzen

In Abbildung 3.10 ist zu erkennen, daß mit zunehmender Anzahl der Threads auch die Länge der Latenzen steigt, die noch ohne größere Verluste verdeckt werden können. Mit n Threads kann der Mikrocontroller durch abwechselnde Ausführung n-1 Takte Latenz verdecken. Darüber hinaus steigt die Kurve an, allerdings mit zunehmender Anzahl von Threads flacher, weil die Wahrscheinlichkeit abnimmt, das sich alle Threads gleichzeitig in einer Latenz befinden. Daß selbst bei null Takten Speicherlatenz noch Leerlauf auftritt, liegt hier an den Sprunglatenzen.

Es macht keinen Unterschied, wie hoch der Anteil an Speicherbefehlen in den Programmen ist, da jeder Thread maximal einen Speicherzugriff ausstehen haben kann. Bei längeren Latenzen verändert sich also nur die Mischung der Befehle in der Pipeline.


next up previous contents
Next: Ergebnisse der dritten Versuchsreihe Up: Ergebnisse der zweiten Versuchsreihe Previous: Sprunglatenzen   Inhalt
Alexander Schulz
2000-06-18