i5 3570k@"i7 3770" HT unlocked 4c/8t

aerotracks

Legende
Thread Starter
Mitglied seit
10.06.2013
Beiträge
12.790
Hallo Luxxer,

Ich habe schon verstreut Screenshots in diversen Threads gepostet (Laberthread/OC Formula Sammler), aber ich denke wäre keine schlechte Idee das Ganze mal in einem Post zusammenzufassen.

Zu meinem System - ich nutze einen 3570k mit einem Asrock Z77 OC Formula. Die CPU ist pretested, unser Adler :wink: hat sie vor einiger Zeit ausgebrütet. Hier ist die Gallerie von eagle (hoffe ich darf das verlinken): http://abload.de/gallery.php?key=oG31hA62

Ich habe sie seit etwas über einem Monat bei mir im Einsatz, alles eigentlich sehr unspektakulär.

Die Story fängt an, als ich gestern nach einem RAM-Tausch Prime95 angeworfen habe und 8 Worker ihre Arbeit aufnahmen. Machte mich nach einiger Zeit des auf-den-Bildschirm-Starrens stutzig. Pro CPU-Thread kann man in Prime nur einen Worker starten - hätte ich noch meine vorige CPU, einen Core i7 mit Hyperthreading, wäre alles so richtig - aber mit einem i5, der mit 4c/4t spezifiziert ist?

Das Feature hat sich von selbst im UEFI aktiviert. Auch nach einem CMOS Reset ist HT noch zugänglich.

Ist mein i5 gestern morgen aufgestanden und hat sich gedacht: "Heute möchte ich ein i7 sein?" Hat sich ein Bit im BIOS Chip von selbst umgedreht? Ein Fehler im Micro Code? Ich weiß es nicht. Mit Sicherheit eine der kuriosesten Dinge, dir mir im Umgang mit PCs passiert sind.


Ich bin den 8 Threads meines i5 nachgegangen - seht selbst.

Fangen wir vorne an, Startseite im BIOS:


BIOS Screen mit "HT Supported und HT Enabled"



Wie das im BIOS aussieht mit HT enabled und disabled:

1: http://abload.de/image.php?img=1t3e3n.jpg -> danach auf disabled gesetzt und F10
2: http://abload.de/image.php?img=2syskn.jpg
3: http://abload.de/image.php?img=3h8s8g.jpg
4: http://abload.de/image.php?img=4xtszm.jpg -> danach auf enabled gesetzt und F10

Rinse, repeat :fresse: - hinterher gleiches Bild wie in 1.

Screenshot mit Intel Diagnostic Tools:


Intel Processor Identification Utility - Tab "CPU Technologies":


Task Manager mit Auslastungsanzeige der 4 realen + 4 HT Kerne:


4x15min 864k 3570k mit 4c/8t und geöffnetem Ressourcenmonitor:


Youtube Videos:
https://www.youtube.com/watch?v=cQOACBuf5_s
https://www.youtube.com/watch?v=RkMv3M0pYec


Benchmarks:

CineBench
ht off: 626p


ht on: 810p


Wprime
ht off: ~8sec


ht on: ~6sec


3dmark
FireStrike @4500MHz - Physics Score: ~12000
http://www.3dmark.com/3dm/3321170?

BIOS

Da ich wiederholt nach meinem BIOS gefragt wurde, ich habe ein dump file erstellt: http://filehorst.de/d/beGEycik
Verwendung auf eigene Gefahr. (!!!)

BIOS File von meiner SD Karte (damit wurde geflasht): http://filehorst.de/d/bECejCFa

Gruß, aero
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Das ist doch ne kranke Nummer oder :bigok: -> Schreib mal pcgameshardware an, bin mir sicher das ist ihnen ein Artikel wert..... :haha::d:lol:

Edit:
HWLuxx sowieso oder? ;)
 
Zuletzt bearbeitet:
Auf populäre Nachfrage :fresse: hier mein BIOS Dump, ist in #1 eingepflegt. Verwendung auf eigene Gefahr.
 
Hab grad mal mit nem Hex Editor kurz reingeschaut aber die Files sind zu ca 20% verschieden was den Anfang betrifft und das über alle Zeilen und nciht nur ein paar. Wird schwer da iwas genaueres rauszufinden aber ich hab da jetzt auch nciht so das wissen.

Erstmal bin ich gespannt was andere mit dem gleichen Board zu berichten haben.
 
Wenn man nur wüsste, was dort geändert werden muss.
So ein Bios hätte ich auch gerne für mein Z87M OCF mit meinem i5 4670K.
 
beim köpfen was beschädigt was die ht funktion freischaltet? da gewinn ich eher im lotto ;)
 
Hab mir gerade mal deine P1.60 auf mein OC-Formula geflasht. Getan hat sich aber soweit nix, mein i5 3570K ist und bleibt ein 4-Kerner ohne HT:

1hajyv.jpg


2nmj3y.jpg


3z2ktv.jpg


Was hat deine CPU denn für eine MC-Update Nummer? Lautet die auch 306A9/12?
 
Zuletzt bearbeitet:
Schon echt interessant das ganze.
Wenn sich jetzt noch rausfinden lässt wie es dazu kahm, wären einige hier glaube ich echt sehr erfreut darüber ^^
Bin mal gespannt wie das ganze hier weiter geht.
 
@aerotracks hättest du die Möglichkeit die CPU auf einem anderen Board zu testen und cool wäre es auch, wenn du noch einen anderen i5 auf dem Board testen könntest, ob der da dann auch zu einem 4c/8t "upgraded" :love:

Hier müsste mal jemand mit viel BIOS Tweaking Erfahrung mit in den Thread einsteigen. Wäre ja echt hammergeil wenn man HT (oder auch sonstige Erweiterungen) per BIOS Hack freischalten könnte und am Besten dann auch noch Generationsübergreifend (Haswell/Sandy).
 
Guck mal hier:

3570k HT unlocked 4c/8t

Hier sitzen bereits Bios Freaks die alles mögliche analysieren, zerlegen und was weiß ich noch der Geier.... :fresse:
Edit: Im besonderen dieser User hier dürfte ziemlich gut darin sein: Gamester3333
Außerdem glaube ich ist die Kombi (CPU/MB) bereits verkauft worden oder?
 
Zuletzt bearbeitet:
hat ein paar Seiten mehr der Thread als hier :shot:

korrekt, bundle läuft weiterhin mit HT beim neuen Besitzer :)

immer wieder lustig wie angebliche "Experten" noch von "CPU-z auslesefehlern" reden :fresse2:
 
Zuletzt bearbeitet:
Ich zitiere einfach mal Gamester3333´s letzten Post der doch hoffnung auf mehr macht.

Oh, I'm not trying for an os unlock just yet. I'm thinking that somehow, your chip had its switch flipped. I don't know where that switch is yet, or what it is, although if I was Intel, I would put it in an undocumented msr. Basically, your chip proves that the extra core logic that allows for Hyper-Threading is not physically removed (not that i expected it to be). That's the only major assumption I'm working with at the moment. And, it's a pretty safe one at this point.

What I have managed to do so far is examine the MADT of my own i5 chip. Now, here's what I found. The physical id's of the individual enabled cores are not sequential (This may be true of all i5's. Feel free to try this one at home. Fire up aida64, look at "ACPI" then "apic" or "madt"). 0, 2, 4, and 6 exist (only 4 ids), but the chip -reserves- 8 apic id's. This can be verified using the documented return values of the cpuid instruction, and comparing it to the raw values actually returned from the chip, and then comparing it to a dump of the ACPI tables.

I did another thing. I did some research, and found out that the memory address of the lapic (the local advanced programmable interrupt controller, ie: the part of the cpu that lets it communicate with other cpus and the chipset) of the bsp, or bootstrap processor (the one that executes all bios code) exists at address 0xfee00000 in memory. the icr (interrupt command register) exists with an offset of 0x300 from that location. The target of the icr can be set at 0x10 from there. This means that i can manually set a target, and manually fire an interrupt at that target, by poking those registers.

I executed the mm command to set the memory address 0xfee003010 to 0x01. this sets the target of the lapic to the physical address where the first deactivated hyperthreaded core should be. I then set memory address 0xfee00300 to 00 00 05 00. This is the "INIT IPI" Or in layman's terms, the command to start up. I then set it to 00 00 06 00. This is the command to start executing whatever is in its stack. Of course, nothing happened because the uefi firmware never gave it a stack, or anything to execute other than a loop full of nops. I tried it on the physical cpu's that were already initialized, and it did nothing [although the system worked flawlessly in the uefi shell (which is verified to use only one core), when an os tried to boot, it would go to turn on the cores that it knows are there, and are supposed to be doing absolutely nothing, find them executing already, and then freak out and kernel panic]. I tried it once more, with the address set to the bsp (0x00) and the system crashed. hard. So, it's entirely possible that the firmware explicitly disabled the interrupts on the lapic of the disabled cpus. Of course, that's going to bring me to my next point in a minute. I think it's more likely that it just had nothing to do at that point, didn't own any memory because the firmware already gave it to either the bsp or the other aps. AND basically nothing even knows that core exists, so it makes sense that kicking it on manually would do nothing to affect anything else. See in this case nothing is something, because if that was an invalid/remapped/random address, the system would have complained. Loudly. Instead, I got a fat load of nothing. See, on an i5 that says it only has 4 units, how can the firmware know that there are more? Answer: it can't. Not without probing them, and you DON'T probe the cpu like that. not even in firmware. The chance for something to go wrong, and corrupt all manner of things is very, very high. Much better to just identify the cpu using "cpuid" and set up everything around what it tells you.

So this brings me to where we stand right now. I'm 90% sure that i've -already- managed to kick on all 8 cpus of my i5. (By editing MMIO values of the BSP's LAPIC's ICR. By HAND) However, I have no way to verify that the cpus are executing without making them do something meaningful, which of course is not really possible in an OS which doesn't know or care they exist, or from a single threaded environment where the only thing i can really do is edit the BSP's local memory by hand. So, i'm going to have to do this a different way. My idea to force on the HT is to edit the uefi bios so that it reads an i5 as if it were an i7.

In order to do that, I set out to disassemble the routines in the uefi one at a time. And it's then that i discovered something very.. very.. interesting. According to the pei and dxe specs, most of the code in the pei and dxe routines are just functions that other routines can access and use. and when ripping them apart, i found a whole lot of that, but i didn't find the main routine that actually identifies and initializes the cpu's. I found many instructions for making the BSP do something and not really a whole lot concerning the AP's outside of the acpi table generator, which doesn't seem to do a lot of generating. I mean, I'm sure it does, but because of how pei and dxe work, there's not a lot of real code. just function calls. pei and dxe drivers... they're more like dll's and less like exe's, and very difficult to decipher.

What i DID find though was in the last place i looked, and the first place the cpu looks. The "Security Core". The very first piece of code to touch the cpu, which begins it's execution in real mode, and within 20 instructions or so, jumps into "protected mode" which allows for super fast boot times, fancy uefi shells, and... the ability to let me spot the protected-mode entry point in like 2 minutes. So, that means that the exact real-mode entry point, the first instruction to reach the cpu, should be very close. What this is going to do is let me know what the EXACT state of the processor's registers are at all times during execution. all of them. The stack, local memory, cache, absolute location of function calls and variables, everything! If i can follow the execution line by line (There's only a thousand, and the cpu has zero access to any ram at this point), and find out where it asks how many logical cpu's there are, I can adjust the offest by shl 0x1, to turn the "i have four" into an "i have eight". Then at that point the bios will do all the work for me! (unless the CPUs are physically disabled, which we know they aren't).

This is really playing with fire. It's analogous to poking your hypothalamus with a stick. if I make an edit and mess it up, I will truly brick a board beyond recovery. I may order some extra bios chips just in case.

For all you out there who can follow this post, I would appreciate some feedback, or especially some assistance if anyone has the uefi hacking skills to help me get this done.
 
Gamester hat ein CPUID info file bekommen, siehe Thread im OCN.
 
Die CPU hatte bei einem neuen Besitzer HT verloren.
Der neue Besitzer hat die CPU dann auf 5,3Ghz übertaktet und es gab einen Crash.
Dann legte er sich schlafen und am nächsten Morgen war HT, wie durch ein Wunder, wieder da.
Jetzt hat Gamestar3333 die Datei bekommen, die er wollte, und geht erst mal mit seiner Freundin Campen.
Danach wird er sich wieder um die "Magic" kümmern.
 
Hier stand Stuss :wall:
 
Zuletzt bearbeitet:
Micha, les den Thread im anderen Forum.
Das passt schon so ;)
 
Die CPU hatte bei einem neuen Besitzer HT verloren.
Der neue Besitzer hat die CPU dann auf 5,3Ghz übertaktet und es gab einen Crash.
Dann legte er sich schlafen und am nächsten Morgen war HT, wie durch ein Wunder, wieder da.
Jetzt hat Gamestar3333 die Datei bekommen, die er wollte, und geht erst mal mit seiner Freundin Campen.
Danach wird er sich wieder um die "Magic" kümmern.

Echt ne irre geschichte, beim lesen fällt einem erstmal auf wie verrückt sich das anhört. :fresse:
Wenn hier jemand weiterhelfen kann, nur zu, ich gebe mein bestes. moebius=chillinmitch
 
wenn du mal ein bild von der die beschädigung machen kannst wäre das vielleicht schon hilfreich

woher wusstet ihr eigendlich, dass die gebrochene ecke an der gpu ist?
die die shots kenne ich ja zu genüge, aber woher wisst ihr wie rum die die auf dem package sitzt? könnte ja auch 180° gedreht sein
 
wenn du mal ein bild von der die beschädigung machen kannst wäre das vielleicht schon hilfreich

woher wusstet ihr eigendlich, dass die gebrochene ecke an der gpu ist?
die die shots kenne ich ja zu genüge, aber woher wisst ihr wie rum die die auf dem package sitzt? könnte ja auch 180° gedreht sein

What ? Was für ne beschädigunbg ? hab ich was verpasst ?
 
die die hat wohl eine kleine macke, weil sie unter wakü ohne heatspreader betrieben wurde

dieqxjf0.jpg


angeblich ist die kaputte ecke die auf dem bild unten links in dem ungenutzten bereich.
spekulation war/ist, dass dort die CPUID informationen gespeichert werden.

ich wüsste immernoch gerne wie rum die die auf dem package sitzt, dann mach ich mal nen kleinen pentium kaputt :fresse:
 
Ich habe die CPU noch nicht aus dem sockel genommen, die infos zur beschädigung habe ich von aero.
Habe auch einen 3770k hier der im rechten oberen bereich einen schaden hat (vom vorbesitzer) und nur noch singlechannel läuft, würde das nicht zu der anordnung passen?
 
was heißt jetzt oben rechts? :fresse:
oben rechts wenn die cpu vor dir liegt? wenn ja wie rum?
oder bezieht sich oben rechts auf das bild?
 
wie soll sich das denn bitte auf dein bild beziehen, der DIE sitzt doch nicht quer auf der CPU :stupid:

ich wüsste immernoch gerne wie rum die die auf dem package sitzt, dann mach ich mal nen kleinen pentium kaputt :fresse:

und mach bitte deinen pentium nicht kaputt, das ist ja völlig hirnrissig...
 
Zuletzt bearbeitet:
die2g1in8.png


die1btfz4.png


heißt die obere zeichnung ist vermutlich richtig
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh