TCM, eng gekoppelter Speicher ist eine (oder mehrere) kleine, dedizierte Speicherregion, die, wie der Name andeutet, sehr nah an der CPU liegt. Der Hauptvorteil davon ist, dass die CPU in jedem Zyklus auf das TCM zugreifen kann. Im Gegensatz zum normalen Speicher ist kein Cache beteiligt, der alle Speicherzugriffe vorhersagbar macht.
Die Hauptanwendung von TCM ist die Speicherung von leistungskritischen Daten und Codes. Interrupthandler, Daten für Echtzeitaufgaben und OS-Kontrollstrukturen sind ein übliches Beispiel.
wenn es ein dedizierter Speicher ist, warum können wir konfigurieren seiner Lage und Größe
es konfigurierbar machen würde einfach die Adresse erschweren für alle Speicher Decodierung zugreift, während keine wirkliche Vorteil gegenüber einem festen Adressbereich geben . Es war also wahrscheinlich einfacher und schneller, das TCM an eine feste Adresse zu binden.
BTW, wenn Sie an einem System arbeiten, das ein TCM hat und Sie es noch nicht verwenden, versuchen Sie, Ihren Stapel dort zu platzieren. Das gibt Ihnen normalerweise ein paar Prozent des Leistungsgewinns kostenlos, da alle Stack-Speicherzugriffe jetzt nur einen Zyklus umfassen und den Daten-Cache nicht mehr verschmutzen.
Wie wäre es mit der Größe, wie können wir die Größe konfigurieren, da es sich um eine Hardware – mikmak
handelt, die von der genauen Hardware abhängt. Es gibt ARM-Architekturen, mit denen Sie das TCM teilen können, so dass Sie etwas davon als TCM und den Rest als Daten-Cache verwenden können. Aus der Sicht eines Chipdesigners können Sie bei der Entwicklung eines Mikrocontrollers entscheiden, wie groß Ihr TCM sein soll. –
Was ich verstehe, ist, wenn der Stack auf RAM gesetzt wird, würde der Prozessor die Stack-RAM-Daten zum L1-Cache holen und damit arbeiten. Aber wenn STACK auf TCM gesetzt wird, bleiben Daten immer auf TCM (es gibt keinen Abruf von TCM zu L1-Cache), so dass es immer weniger Cache-Miss auf dem laufenden Programm geben wird? oder ich irre mich ?? – mikmak