Hallo... so habe es jetzt geschaft bis auf deinen fehler... also L2 und L1 Data Cache Geht ohne probleme aber bei L1 Instr Cache zeigt er mir 320 KB an und das ist irgendwie falsch habe auch von ecx nach edx gemacht zum anfragen von L1 Instr Cache aber wie gesagt zeigt er mir dann 320 KB an
Delphi-Quellcode:
Function GetL2CacheSize :
String;
var
Size: Word;
Begin
Asm
push eax
push ebx
push ecx
push edx
mov eax,$80000006
cpuid
shr ecx,16
mov Size,cx
pop edx
pop ecx
pop ebx
pop eax
End;
Result := IntToStr(Size) + '
KB'
End;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := GetL2CacheSize;
end;
Also gilt ja für L2Cache
für L1Data ist es ja dann nur:
Delphi-Quellcode:
mov eax,$80000005
cpuid
shr ecx,24
und für L1 Instr sollte es ja dann meiner meinung nach:
Delphi-Quellcode:
mov eax,$80000005
cpuid
shr edx,24
sein... aber da gibt er mir einen fwert von 320KB aus der rest stimmt!!