CPU-Cache deaktivieren
-
Für einige Messungen wäre es für mich nötig oder zumindest vorteilhaft, den CPU-Cache zu deaktivieren, ist das möglich?
-
Höchstens im Bios. Musst mal schauen ob es dafür Optionen gibt.
-
@shisha: Welche CPU denn?
Aber, weil Du es nicht genannt hast, ist deine CPU höchstwahrscheinlich x86 kompatibel... und du musst von deinem Programm aus irgendwie im CR0-Register CD-Bit beschreiben: http://en.wikipedia.org/wiki/Control_register#CR0
Das geht wahrscheinlich nur im Ring 0...
-
Kann man bei modernen CPUs echt noch den Cache deaktivieren?
Also Daten-Cache vermutlich, das muss ja gehen und wird von vielen (allen?) Betriebssystemen auf Page-Basis auch gemacht, und Memory-Mapped-Register diverser Hardware-Teile anzusprechen.
Aber so komplett den ganzen Cache inklusive Instruction-Cache/Trace-Cache... pfuh.
-
Der Linux Kernel bietet eine Option den CPU-Cache zu deaktivieren, jedoch nur für Mikroarchitekturen, für i386 habe ich keine entsprechende Option finden können.
Das letzte Mal, dass ich so eine BIOS-Option gesehen habe, war so die Pentium II-Generation und da auch nur den L2-Cache (merkte man eigentlich kaum, solange man "normal" mit dem Rechner arbeitete, d.h. Büroaufgaben&Co gemacht hat). Den L1-Cache zu deaktivieren habe ich zuletzt beim 486 gesehen (ist danach lahm wie ein 8086er, gut für uralte Spiele die sonst zu schnell liefen
).Geht das technisch überhaupt noch bei modernen CPUs? Bei den ganzen Pipelines und OoO-Executions weiß man ja kaum noch, wo die Daten überhaupt gerade sind.
-
Nicht ganz das thema, aber unterscheidet sich der 8086 stark vom 8085?
Erinner mich in meiner ausbildung viel mit einem Intel 8085 gemacht zu haben.Noch ne frage zum thema: Welchen vorteil versprichst du dir dabei den Cache abzustellen? Ich meine die Leistung eines Prozessors ist doch ohne den cache witzlos. Im endeffek weißt du ja dann doch nicht welcher wirklich schneller ist.
Oder willst du das garnicht raus finden?
-
^^ nein es geht nicht um prozessorvergleiche.
Es ist immer noch das alte Problem:
In einer Messreihe tauchen unerwarteterweise immer wieder Peaks auf (Zeit wird gemessen), Vermutung ist dass das am 2-fach assoziativen Cache liegt.
Meine einfachste Überlegung das zu überprüfen war jetzt den Cache zu deaktivieren , mal schaun ob das möglich ist
-
Wenn es um zeitkritische Dinge geht, und du kein RTOS verwendest, dann können die Peaks von allen möglichen Dingen kommen.