2015-06-12 7 views
12

Was ist TCM-Speicher auf ARM-Prozessoren, ist es ein dedizierter Speicher, der neben dem Prozessor oder nur eine Region von RAM, die als TCM ?? konfiguriert ist.Was ist ARM TCM-Speicher

Wenn es sich um einen dedizierten Speicher handelt, können wir den Standort und die Größe des Speichers konfigurieren.

Antwort

14

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.

+0

Wie wäre es mit der Größe, wie können wir die Größe konfigurieren, da es sich um eine Hardware – mikmak

+0

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. –

+0

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