Second Opinion
Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale. Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit. www.neurohope.ro |
[Code Sample] Pot rula Windows 8?
Last Updated: Aug 19 2014 11:31, Started by
dani.user
, Apr 13 2014 15:04
·
0
#1
Posted 13 April 2014 - 15:04
Am creat un mic executabil pentru a verifica daca procesorul suporta instructiunile necesare rularii Windows 8.
Orice comentariu e bine venit. Programul e unul de test, nu-mi asum nici o responsabilitate daca returneaza vreun rezultat eronat. #include <Windows.h> #include <tchar.h> #include <intrin.h> BOOL Check_Windows8(BOOL* Bit64); BOOL Check_Windows81_64bit(void); BOOL Is_AMD(void); int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { UNREFERENCED_PARAMETER(hInstance); UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); UNREFERENCED_PARAMETER(nCmdShow); BOOL Bit64; if (Check_Windows8(&Bit64)) { if (Bit64) { if (Check_Windows81_64bit()) { MessageBox(HWND_DESKTOP, _T("Procesorul suportă instrucțiunile necesare rulării Microsoft Windows 8/8.1 (32 sau 64 bit)"), _T("Rezultat"), MB_OK | MB_ICONINFORMATION); } else { MessageBox(HWND_DESKTOP, _T("Procesorul suportă instrucțiunile necesare rulării Microsoft Windows 8.1 (DOAR 32 bit) sau 8 (32 sau 64 bit)"), _T("Rezultat"), MB_OK | MB_ICONEXCLAMATION); } } else { MessageBox(HWND_DESKTOP, _T("Procesorul suportă instrucțiunile necesare rulării Microsoft Windows 8/8.1 (doar 32 bit)"), _T("Rezultat"), MB_OK | MB_ICONEXCLAMATION); } } else { MessageBox(HWND_DESKTOP, _T("Procesorul NU suportă instrucțiunile necesare rulării Microsoft Windows 8"), _T("Rezultat"), MB_OK | MB_IConerror); } } BOOL Check_Windows8(BOOL* Bit64) { int CPUInfo[4]; __cpuid(CPUInfo, 1); BOOL PAE = (CPUInfo[3] >> 6) & 0x1; BOOL SSE2 = (CPUInfo[3] >> 26) & 0x1; BOOL NXbit = FALSE; *Bit64 = FALSE; __cpuid(CPUInfo, 0x80000000); if ((unsigned int)CPUInfo[0] >= 0x80000001) { __cpuid(CPUInfo, 0x80000001); NXbit = (CPUInfo[3] >> 20) & 0x1; *Bit64 = (CPUInfo[3] >> 29) & 0x1; } return PAE && SSE2 && NXbit; } BOOL Check_Windows81_64bit(void) { int CPUInfo[4]; __cpuid(CPUInfo, 1); BOOL LAHF_SAHF = FALSE; BOOL CMPXCHG16b = (CPUInfo[2] >> 13) & 0x1; BOOL PrefetchW = TRUE; //update check on Intel CPU's __cpuid(CPUInfo, 0x80000000); if ((unsigned int)CPUInfo[0] >= 0x80000001) { __cpuid(CPUInfo, 0x80000001); LAHF_SAHF = (CPUInfo[2] >> 0) & 0x1; if (Is_AMD()) { PrefetchW = (CPUInfo[2] >> 8) & 0x1; } } return LAHF_SAHF && CMPXCHG16b && PrefetchW; } BOOL Is_AMD() { int CPUInfo[4]; char vendorId[3 * sizeof(CPUInfo[0]) + 1] = { 0 }; __cpuid(CPUInfo, 0); memcpy(vendorId, &CPUInfo[1], sizeof(CPUInfo[1])); memcpy(vendorId + sizeof(CPUInfo[1]), &CPUInfo[3], sizeof(CPUInfo[3])); memcpy(vendorId + 2 * sizeof(CPUInfo[1]), &CPUInfo[2], sizeof(CPUInfo[2])); return strcmp(vendorId, "AuthenticAMD") == 0 || strcmp(vendorId, "AMDisbetter!") == 0; } LE: Update pentru Windows 8.1 Attached FilesEdited by dani.user, 13 April 2014 - 20:21. |
#2
Posted 13 April 2014 - 15:30
Dani,eu nu ma pricep la programare dar din ce citesc pare a interoga procesorul cu privire la SSE2,PAE si NXbit.Desi acestea sunt cerintele pentru windows 8,ar trebui sa il faci sa verifice daca exista instructiunile LAHF/SAHF,PrefetchW si CMPXCHG16,altfel ramai blocat pe Windows 8(nu poti face upgrade la .x).Este foarte important la a 2-a instructiune ca programelul tau sa stie sa citeasca instructiunea din setul 3Dnow! daca scaneaza procesoarele AMD.Bafta!
Edit:prezenta acestor seturi de instructiuni nu garanteaza instalarea Windows 8.x,intrucat BIOS poate ascunde/dezactiva unele instructiuni. Edited by xeleron, 13 April 2014 - 15:34. |
#3
Posted 13 April 2014 - 15:39
Mersi de info, am sa-i fac curand o actualizare.
PrefetchW e ceva specific doar AMD? Care ar fi verificarea pentru Intel? |
#4
Posted 13 April 2014 - 15:47
O sa-l incerc si eu pe un sistem (laptop de fapt) mai vechi. Am pe acest laptop DELL Inspiron 1520,un procesor Intel Core 2 Duo T9300,2,5 Ghz si este upgrade de la un T7300 ce l-am avut inainte.Fata de T7300, T9300 suporta si instructiuni SSE 4.1.
Pe aceasta "vechitura" de laptop (luat in martie 2008),rulez acum un Windows 7 Professional licentiat. Eram curios cum ar functiona cu un Windows 8. Hai sa vedem programul. Felicitari din toata inima,realizatorului! L.E. - Imi spune ca procesorul suporta intructiunile necesare rularii Windows 8 pe 32 sau 64B. Este OK. Ca fapt divers si cu asta inchei, o sa descarc o versiune de evaluare Windows 8,pentru un test pe acest laptop mai vechi. Am si un HP de generatie noua dar asta este alta poveste.Vreau sa vad ce poate Dell-ul. Daca mai aveti si alte programe asemanatoare,o sa le incerc. Nu sunt as in calculatoare dar ma pasioneaza. Toata stima! Edited by Tehnicul1970, 13 April 2014 - 15:51. |
#5
Posted 13 April 2014 - 16:18
Am incercat 8 pe un Celeron single core, 2gbram si fx5200, a mers fara probleme.
|
#6
Posted 13 April 2014 - 16:42
Problema executarii Windows 8/windows 8.x nu se pune in puterea bruta a CPU,ci in acele instructiuni.Microsoft a mintit cand a spus ca cerintele de sistem Vista/7 sunt la fel cu cele Windows 8,intrucat acele seturi de instructiuni elimina un numar urias(desi depasite) de procesoare.se elimina din ecuatie pentru windows 8 toata seria Intel p3,p4 toate pana la Prescott,iar dintre acestea doar unele modele(toate capabile de x64 si 5x5J, 519J),la AMD se elimina toate generatiile de procesoare precedente socketului 754(altfel spus orice AMD XP),doar datorita absentei NX-bit.
|
#7
Posted 13 April 2014 - 18:05
#9
Posted 13 April 2014 - 20:23
xeleron: am facut actualizarea pentru Windows 8.1 64bit.
O treaba insa nu mi-e clara: daca PrefetchW e ceva specific AMD, cerinta nu se aplica la procesoare Intel? Sau are alt nume? |
#10
Posted 13 April 2014 - 20:49
Instructiunea se executa ca NOOP.
http://forums.aida64...1374-prefetchw/ Edit:Daca ai timp(si chef) ai putea duce programul la un alt nivel,sa interoghezi si nivelul DDI(directx) pentru a afla daca si placa video este capabila de windows 8. Edited by xeleron, 13 April 2014 - 20:54. |
|
#12
Posted 13 April 2014 - 21:09
http://msdn.microsof...9(v=vs.85).aspx
Sper sa te ajute,eu am habar doar de lucrurile ce nu tin de programare(din pacate).Daca nu,mai cautam,sau le dam un e-mail baietilor ce dezvolta GPU-Z. |
#13
Posted 14 April 2014 - 18:45
Din pacate nu ajuta, si nici n-am gasit o metoda mai buna.
|
#14
Posted 19 August 2014 - 11:31
Pe PC-ul meu 8.1 x86 merge excelent. Dar, cum spune și programul, x64 nu este acceptat (de fapt, installerul dă BSOD după doar 2 secunde)
Intel Pentium 4 630 (3.00 GHz, HyperThreading activat, an estimat 2004(?) ), 2 GB RAM Dual-Channel, Placă video compatibilă DX9 (WDDM 1.0) -- 128 MB pe XP, 256 pe mai noi. E de observat că 7 x64 merge în regulă, nu am făcut rost de 8 x64 ca să văd cum merge. Dar 8.1 dă BSOD. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users