Windows 10 64ビット要件:CPUはCMPXCHG16b、PrefetchW、LAHF / SAHFをサポートしていますか?


12

私は現在、少し古いノートブック(Windows 7、64ビット)をWindows 10に更新することをお勧めします。問題は、MicrosoftがWindows 10の仕様で、 CMPXCHG16b、PrefetchW、LAHF / SAHFをサポートするプロセッサである64ビットバージョンのWindows 10が必要です。私のプロセッサは64ビット(Intel Core i5-2430M @ 2.40 GHz)であることは知っていますが、それがCMPXCHG16b、PrefetchW、LAHF / SAHFをサポートしているかどうかを知る方法がわかりません。これらの意味がわかりません。

Googleを使用してみましたが、意味のある結果は得られませんでした。i5と同様のAMDプロセッサーの比較だけです。また、IntelのARK Webサイトも確認しました。誰かが私にもっと情報を得ることができる場所を教えてくれたら、本当にありがたいです。


1
心配しすぎていると思います。i5は比較的最近のもので、問題ありません。ただし、一般的な経験則では、RAMが4GBを超えない限り64ビットを実行することはできません。オーバーヘッドにより、実行速度が速くなるのではなく、遅くなります。Windowsの32ビットのみが直接アクセスわずかに少ない4GBを超えるあなたはそれが価値が行く64ビットである以上行くことができるので、場合にのみ
ジュリアン・ナイト

1
Windows 8.1にアップグレードできる場合は、Windows 10にアップグレードできます。必要に応じて、両方の互換性チェックを実行することもできます。
ラムハウンド

CPUIDデータを表示するWindows 7でツールを実行すると、CPUが先物をサポートしているかどうかがわかります。I5-3xxxMを使用していますが、ここではWindows 8.1が機能するため、3つの機能があります。あなたは1世代しか遅れていないため、すべての機能をサポートする必要があります。
magicandre1981

1
@JulianKnightグラフィックカードメモリもアドレススペースに収まる必要があるため、2または3 GBと専用グラフィックカードを持っている人には64ビットをお勧めします。4GBのRAMと2GBのグラフィックカードがある場合、2GBのRAMを無駄にしているだけで、64ビットをインストールした場合よりも悪くなります。
木梅

1
心配しないでください。一部の初期のAtomまたはx86_64 CPUを除き、10年前(すべて)のすべてのIntel CPUは問題なくWindows 10を実行できます
phuclv

回答:


21

プロセッサはこれらの機能をサポートしています。実際、64ビットWindows 8.1を実行するには同じ機能が必要です。この要件は最新のすべてのプロセッサーで満たされ、一般的に特定のCore 2以前のプロセッサーでのみ問題になります。

これらの指示は何ですか?

  • 初期のAMD64プロセッサにはCMPXCHG16B命令がありませんでしたが、これはCMPXCHG8Bほとんどの80486以降のプロセッサに存在する命令の拡張です。と同様にCMPXCHG8BCMPXCHG16B8進数の単語に対するアトミック操作が可能です。これは、ロックフリーおよび待機フリーのアルゴリズムで一般的な、ポインターのサイズより大きいデータで比較とスワップを使用する並列アルゴリズムに役立ちます。なければCMPXCHG16B1は、このようなクリティカルセクションまたは代替ロックフリーのアプローチとして、回避策を使用する必要があります。また、Windows 8.1より前の64ビットWindowsでは、8テラバイトを超えるユーザーモードアドレススペースが使用できなくなります。Windows 8.1の64ビットバージョンには、指示が必要です。
  • このPREFETCHW命令は、書き込みを予測してメモリからキャッシュにデータをプリフェッチするためのプロセッサへのヒントです(Intel命令セットリファレンス、PDFページ888)。この命令は、AMDの3DNow!で導入されました命令セット。これはPREFETCHおよびPREFETCHW命令を除き非推奨です。Athlon 64以降のすべてのAMDプロセッサは、この命令をサポートしています。ただし、この命令は、Nehalemより前の一部の古い64ビットIntelプロセッサーではサポートされていない場合があります。

  • 負荷との内容保存する(インテル命令セット・リファレンス、PDFのページ530および1025)はそれぞれ、フラグレジスタにレジスタを。ハードウェア仮想化(VT-x)機能のない一部の古いIntelプロセッサーは、64ビットロングモードで実行している場合、この命令をサポートしません。これらは、主にNehalemよりも前の特定のローエンドプロセッサに限定されています。一部の非常に古いAMD64プロセッサにもこの機能がありません。LAHFSAHFAH

  • 初期のAMD64およびIntel 64 CPUには、64ビットモードでのLAHFおよびSAHF命令がありませんでした。AMDは2005年3月にAthlon 64、OpteronおよびTurion 64リビジョンDプロセッサでこれらの命令(64ビットモードでも)を導入し、Intelは2005年12月にPentium 4 G1ステッピングで命令を導入しました。64ビットバージョンのWindows 8.1この機能が必要です。

これは私にとって何を意味しますか?

  • すべてのIntel Core i7、i5、またはi3プロセッサー、およびClarkdaleArrandaleSandy Bridge、またはより新しいマイクロアーキテクチャーに基づくすべてのPentiumま​​たはCeleronプロセッサーは、これらの機能とIntel AtomおよびCeleron Silvermontプロセッサーをサポートします。AMDの場合、最も古い64ビットプロセッサを除くすべてのプロセッサにこれらの機能があります。

  • 通常、上記より前のプロセッサーを使用している場合にのみ、これらの指示について考慮する必要があります。Get Windows 10アプリは、Windows 10にアップグレードできるかどうかを通知します。プロセッサが要件を満たさない場合、「CPUはサポートされていません。と表示されます。


1
ただし、これらの特定の機能はWindows 8.1の実行に必要なものと同じですが、Windows 10の実行に必要なすべての CPU機能がWindows 8.1の実行に必要なわけではありません。特に、PAEとNXは8.1では必須ではありませんが、10 では必須です
-qasdfdsaq

1
PREFETCHWのサポートは、Broadwellの新しい(Intel向け)であるため、Windows 8.1では必要ありません。証拠:gcc __builtin_prefetch(p,1,2)はでPREFETCHT1にコンパイルされ、でPREFETCHWにコンパイル-march=haswell-march=broadwellます。また、このHaswell CPUからのLinux /proc/cpuinfoダンプには3dnowprefetch含まれていませんが、broadwellとskylakeには含まれています。フラグの意味については、unix.stackexchange.com / questions / 43539 /…を参照してください。
ピーターコーデス

1
少なくともPentiumIII以降に存在していたSSE PREFETCHh命令を考えていたのかもしれません。
ピーターコーデス

1
@bwDraco:はい。その0F 0D r/m8マシンコードエンコーディングは、 PREFETCHWをサポートしていないCPUでマルチバイトNOPとしてデコードするため、明らかに互換性の問題はありません。(プリフェッチ命令の動作は、正確性には影響せず、パフォーマンスのみに影響します。)Core2Duo CPUで、実行するasmプログラムで試してみましたprefetchw [rsp]。命令はエラーなしで実行されます。しかし、99%の効果があると確信しています。
ピーターコーデス

1
ここで「サポート」する2つの意味があります。Win8.1では、PREFETCHW(0F 0D m8)が不正な命令としてフォールトしないことが明らかに必要です。これは、少なくともここで説明したP4以降のIntel CPUの場合です。彼らはそれを無操作(Broadwellまで)で実行します。もちろん、Win8.1ではこれで十分です(プリフェッチは投機的なヒントであり、正確性には影響しません)。NOPの動作を認識していなかった、または古いCPUでは異なっていたことに気づきませんでした。
ピーターコーデス

1

Windowsでコマンドラインを使用できる場合:

  • technetからSysInternals coreinfo.exeを取得します
  • 走る coreinfo > coreinfo.txt
  • テキストエディターでファイルを開き、各指示に対して検索(大文字と小文字を区別しない)を実行します。

PS:Linuxでは次を使用します grep flags /proc/cpuinfo | head -1


0

Linuxのような機能を提供する、Microsoftが提供するcoreinfoというユーティリティがありますcat /proc/cpuinfo

これを検索する必要がありますが、ここで情報を見つけることができます。

LAHF-SAHF       -       Supports LAHF/SAHF instructions in 64-bit mode
NX              -       Supports no-execute page protection
CX16            *       Supports CMPXCHG16B instruction
X64             *       Supports 64-bit mode
PREFETCHW       -       Supports PREFETCHW instruction

-平均CPUは、その機能を欠いていること、*それはその機能を持っている意味します。

私が見ると、coredocは実際にMicrosoftによってそのドキュメントページで決定を行うように提案されています。

Coreinfoは、CPUのこれらの機能を確認するために使用できるツールです。+

私のプロセッサであるIntel E7525の完全な結果は次のようになります。

Coreinfo v3.31 - Dump information on system CPU and memory topology
Copyright (C) 2008-2014 Mark Russinovich
Sysinternals - www.sysinternals.com

Intel(R) Xeon(TM) CPU 3.40GHz
x86 Family 15 Model 4 Stepping 3, GenuineIntel
Microcode signature: 00000005
HTT             *       Hyperthreading enabled
HYPERVISOR      -       Hypervisor is present
VMX             -       Supports Intel hardware-assisted virtualization
SVM             -       Supports AMD hardware-assisted virtualization
X64             *       Supports 64-bit mode

SMX             -       Supports Intel trusted execution
SKINIT          -       Supports AMD SKINIT

NX              -       Supports no-execute page protection
SMEP            -       Supports Supervisor Mode Execution Prevention
SMAP            -       Supports Supervisor Mode Access Prevention
PAGE1GB         -       Supports 1 GB large pages
PAE             *       Supports > 32-bit physical addresses
PAT             *       Supports Page Attribute Table
PSE             *       Supports 4 MB pages
PSE36           *       Supports > 32-bit address 4 MB pages
PGE             *       Supports global bit in page tables
SS              *       Supports bus snooping for cache operations
VME             *       Supports Virtual-8086 mode
RDWRFSGSBASE    -       Supports direct GS/FS base access

FPU             *       Implements i387 floating point instructions
MMX             *       Supports MMX instruction set
MMXEXT          -       Implements AMD MMX extensions
3DNOW           -       Supports 3DNow! instructions
3DNOWEXT        -       Supports 3DNow! extension instructions
SSE             *       Supports Streaming SIMD Extensions
SSE2            *       Supports Streaming SIMD Extensions 2
SSE3            *       Supports Streaming SIMD Extensions 3
SSSE3           -       Supports Supplemental SIMD Extensions 3
SSE4a           -       Supports Streaming SIMDR Extensions 4a
SSE4.1          -       Supports Streaming SIMD Extensions 4.1
SSE4.2          -       Supports Streaming SIMD Extensions 4.2

AES             -       Supports AES extensions
AVX             -       Supports AVX intruction extensions
FMA             -       Supports FMA extensions using YMM state
MSR             *       Implements RDMSR/WRMSR instructions
MTRR            *       Supports Memory Type Range Registers
XSAVE           -       Supports XSAVE/XRSTOR instructions
OSXSAVE         -       Supports XSETBV/XGETBV instructions
RDRAND          -       Supports RDRAND instruction
RDSEED          -       Supports RDSEED instruction

CMOV            *       Supports CMOVcc instruction
CLFSH           *       Supports CLFLUSH instruction
CX8             *       Supports compare and exchange 8-byte instructions
CX16            *       Supports CMPXCHG16B instruction
BMI1            -       Supports bit manipulation extensions 1
BMI2            -       Supports bit manipulation extensions 2
ADX             -       Supports ADCX/ADOX instructions
DCA             -       Supports prefetch from memory-mapped device
F16C            -       Supports half-precision instruction
FXSR            *       Supports FXSAVE/FXSTOR instructions
FFXSR           -       Supports optimized FXSAVE/FSRSTOR instruction
MONITOR         *       Supports MONITOR and MWAIT instructions
MOVBE           -       Supports MOVBE instruction
ERMSB           -       Supports Enhanced REP MOVSB/STOSB
PCLMULDQ        -       Supports PCLMULDQ instruction
POPCNT          -       Supports POPCNT instruction
LZCNT           -       Supports LZCNT instruction
SEP             *       Supports fast system call instructions
LAHF-SAHF       -       Supports LAHF/SAHF instructions in 64-bit mode
HLE             -       Supports Hardware Lock Elision instructions
RTM             -       Supports Restricted Transactional Memory instructions

DE              *       Supports I/O breakpoints including CR4.DE
DTES64          *       Can write history of 64-bit branch addresses
DS              *       Implements memory-resident debug buffer
DS-CPL          *       Supports Debug Store feature with CPL
PCID            -       Supports PCIDs and settable CR4.PCIDE
INVPCID         -       Supports INVPCID instruction
PDCM            -       Supports Performance Capabilities MSR
RDTSCP          -       Supports RDTSCP instruction
TSC             *       Supports RDTSC instruction
TSC-DEADLINE    -       Local APIC supports one-shot deadline timer
TSC-INVARIANT   -       TSC runs at constant rate
xTPR            *       Supports disabling task priority messages

EIST            *       Supports Enhanced Intel Speedstep
ACPI            *       Implements MSR for power management
TM              *       Implements thermal monitor circuitry
TM2             -       Implements Thermal Monitor 2 control
APIC            *       Implements software-accessible local APIC
x2APIC          -       Supports x2APIC

CNXT-ID         *       L1 data cache mode adaptive or BIOS

MCE             *       Supports Machine Check, INT18 and CR4.MCE
MCA             *       Implements Machine Check Architecture
PBE             *       Supports use of FERR#/PBE# pin

PSN             -       Implements 96-bit processor serial number

PREFETCHW       -       Supports PREFETCHW instruction

Maximum implemented CPUID leaves: 00000005 (Basic), 80000008 (Extended).

Logical to Physical Processor Map:
*-  Physical Processor 0
-*  Physical Processor 1

Logical Processor to Socket Map:

Logical Processor to NUMA Node Map:
**  NUMA Node 0

Logical Processor to Cache Map:

-5

「Intel(R)Core(TM)i7-2600K CPU @ 3.40GHz」

「PREFETCHWT1命令はサポートされていません」

AIDA 64 Extremeから。^^

これら3つ-CMPXCHG16b、PrefetchWおよびLAHF / SAHFは、Windows 7の現在の64ビットインストールからWindows 10の64ビットバージョンへのアップグレードに必要です。


6
PREFETCHWT1は別個の命令であり、必須ではないため、PREFETCHWと混同しないでください。
bwDraco
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.