RightMark Memory Analyzer 3.0 CPU/Chipset/RAMRightMark Memory Analyzer 2.4, . , , . RightMark Memory Analyzer . , (RightMark Memory Analyzer 2.5), , , , . , , , - «», , , . , RMMA 3.0, , . , , . , RightMark Memory Analyzer 3.0. (CPU Info)
, , .
, . , , , . (CPU Info / CPU), . , (, ). , , , , WCPUID CPU-Z. , , , , . CPU Index ( ), (SMP) (Hyper-Threading) . . CPU ( ), . SMP ( , HT) , CPU «» «» , ( AMD K8 (Opteron), «» ). Save «» (CPUID) . ( ), , . , . Refresh , CPU Index, (Cache/TLB).
CPU Info / Cache.
. , «» (Featured) «» (Actual) . , CPUID , , . . . , , , CPUID . « » . ? , 12- (, GenuineIntel AuthenticAMD). ( , , 32- ). «» ( SIMD-) , , TLB. ( , ). , , «» « » , ( Intel Pentium III Transmeta Crusoe), «» (Brand String), .. ( , , Intel Processor Number). , CPUID n- , «» . , , , L1/L2 , ( ) , . , , , (, , CPUID), (Latency) , (Bus Width) (Hierarchy) .
(CPU Info / TLB)
TLB .
(Featured) CPUID , (Actual) . TLB (LP Entries/Associativity) , - 4- , ( ) 4- . , , (Miss Penalty) TLB , L1 TLB. .
, .
( , 3.0 , , , , ). ( ) , , , , (ID=0). (General), , RMMA 3.0. Memory Allocation, . Standard «» (heap) malloc, . VirtualLock , , Windows NT. VirtualAlloc, VirtualLock, , , .., « » (page fault). AWE , Address Windowing Extensions, Windows 2000/XP/2003 Server. , , . AWE Lock Pages in Memory, , . :
Data Set Size, / . , ( ) , . , , 1MB, Data Set Size = 128 MB , 4 32 . Data Set Size ( ), . Thread Lock, , (realtime), , . , , , , . (SMP Hyper-Threading) . , SMP, . , Hyper-Threading, . Hyper-Threading . , .. . Logarithmic Y Scale. . White Background, , (BMP) . . . Create Test Report, . , (MS Excel CSV) (BMP) . (Batch), , , , «» . RMMA (Batch):
Add to Batch . , RMMA 3.0, . . , , - (« »). , . , RMMA 3.0 «» «». , , , . -, , , , . , :
, , , , . , , ( ), . , , , .
RMMA «» , , . «» , . , (Preset). . , . 1: () (Memory Bandwidth)L1/L2/L3 (RAM). : ( ), // ( , ) (MMX, SSE SSE2). «» ( L1 ) . , (Maximal Real Read Bandwidth) Software Prefetch Block Prefetch. , () , MB/s. . Variable ParameterVariable Parameter :
Minimal Block SizeMin Block Size, KB , , Variable Parameter = Block Size; . Maximal Block SizeMax Block Size, KB Variable Parameter = Block Size. Minimal PF DistanceMin PF Distance Software Prefetch, , Variable Parameter = PF Distance; Software Prefetch . 0 , Software Prefetch . Maximal PF DistanceMax PF Distance Software Prefetch Variable Parameter = PF Distance. Minimal Block PF SizeMin Block PF Size Prefetch-, , Variable Parameter = Block PF Size; Prefetch- . Block Prefetch (1, 2), . Maximal Block PF SizeMax Block PF Size Prefetch-, , Variable Parameter = Block PF Size. Stride SizeStride Size Block Prefetch (1, 2), . . , L1 Cache Line, , L1, . CPU Register UsageCPU Register Usage /. 64-bit MMX, 128-bit SSE 128-bit SSE2. Read Prefetch TypeRead Prefetch Type Software Prefetch (PREFETCHNTA/T0/T1/T2), Block Prefetch. Variable Parameter = Block PF Size. Block Prefetch 1 «» - MOV AMD K7 (Athlon/Athlon XP/MP). , «» Block Prefetch 2 Software Prefetch (PREFETCHNTA). AMD K8 (Opteron/Athlon 64/FX). Non-Temporal StoreNon-Temporal Store ( write combining) . - (.., write allocate), «» , , . Copy-to-Self ModeCopy-to-Self Mode « ». , , .. . , , . 100% Copy-to-Self, , (read around write). - , «» . , Non-Temporal Store Copy-to-Self . Selected TestsSelected Tests .
2: / L1/L2 (D-Cache Latency)/ L1/L2 , L2 L1/L2 . . Variable ParameterVariable Parameter :
Stride SizeStride Size , , . Minimal Block SizeMin Block Size, KB , , Variable Parameter = Block Size; . Maximal Block SizeMax Block Size, KB Variable Parameter = Block Size. Minimal NOP CountMin NOP Count «» Variable Parameter = NOP Count; «» . Maximal NOP CountMax NOP Count «» Variable Parameter = NOP Count. Minimal Segments CountMin Segments Count Variable Parameter = Segments Count; . Maximal Segments CountMax Segments Count Variable Parameter = Segments Count. Minimal Walk Step SizeMin Walk Step Size , , Variable Parameter = Walk Step Size. Maximal Walk Step SizeMax Walk Step Size , , Variable Parameter = Walk Step Size. Latency MeasurementLatency Measurement ( Variable Parameter = NOP Count). 1 (Method 1) «» , (edx = 0): // , ( ) . RMMA (Method 2), (ebx = edx = 0): // , «» Selected TestsSelected Tests .
3: L1/L2 (D-Cache Bandwidth)L1-L2 ( L2-RAM). , , RMMA . , , L1/L2/RAM ( 1). , / «», .. , ALU . , , . : Variable ParameterVariable Parameter : Block Size ; Minimal Block SizeMin Block Size, KB , , Variable Parameter = Block Size; . , ( ) L1 . , L1-LSU-registers, L1 LSU (Load-Store Unit) , , «». L1-LSU (Memory BW) , L1 . Maximal Block SizeMax Block Size, KB , . , , L2 ( ) L1+L2 ( ) L1-L2. Block Size L1+L2 () / , , / . Minimal Stride SizeMin Stride Size / Variable Parameter = Stride Size; . Maximal Stride SizeMax Stride Size / Variable Parameter = Stride Size. Selected TestsSelected Tests .
4: L1/L2 (D-Cache Arrival)
L1-L2 (, ) . , , , . 2, , , . .
, L1/L2 ( , ). : Variable ParameterVariable Parameter :
Minimal Block SizeMin Block Size, KB , , Variable Parameter = Block Size; . Maximal Block SizeMax Block Size, KB Variable Parameter = Block Size. Minimal NOP CountMin NOP Count «» Variable Parameter = NOP Count; «» . Maximal NOP CountMax NOP Count «» Variable Parameter = NOP Count. Minimal SyncNOP CountMin SyncNOP Count «» Variable Parameter = SyncNOP Count; «» . Maximal SyncNOP CountMax SyncNOP Count «» Variable Parameter = SyncNOP Count. Stride SizeStride Size , , . Minimal 1st Dword OffsetMin 1st Dword Offset , , Variable Parameter = 1st DW Offset; . Maximal 1st Dword OffsetMax 1st Dword Offset Variable Parameter = 1st DW Offset. Minimal 2nd Dword OffsetMin 2nd Dword Offset , , Variable Parameter = 2nd DW Offset; . , ( ): 2nd_Dword_Offset = (2nd_Dword_Offset + 1st_Dword_Offset) % Stride_Size Maximal 2nd Dword OffsetMax 2nd Dword Offset Variable Parameter = 2nd DW Offset. Selected TestsSelected Tests .
5:
|
ALU |
NOP (1) LEA (2) MOV (2) ADD (2) SUB (2) OR (2) XOR (2) TEST (2) CMP (2) SHL (3) ROL (3) XOR/ADD (4) CMP-0 (4) CMP-0 (6) CMP-8 (6) CMP-16 (6) CMP-32 (6) CMP-0 (8) CMP-8 (8) CMP-16 (8) CMP-32 (8) |
nop lea eax, [eax] mov eax, eax add eax, eax sub eax, eax or eax, eax xor eax, eax test eax, eax cmp eax, eax shl eax, 0 rol eax, 0 xor eax, eax; add eax, eax cmp ax, 0x00 cmp eax, 0x00000000 cmp eax, 0x0000007f cmp eax, 0x00007fff cmp eax, 0x7fffffff [rep][addrovr]cmp eax, 0x00000000 [rep][addrovr]cmp eax, 0x0000007f [rep][addrovr]cmp eax, 0x00007fff [rep][addrovr]cmp eax, 0x7fffffff |
FPU |
WAIT (1) FADD (2) FMUL (2) FSUB (2) FSUBR (2) FCHS (2) FABS (2) FTST (2) FXAM (2) FCOM (2) FCOMI (2) FST (2) FXCH (2) FDECSTP (2) FINCSTP (2) FFREE (2) FFREEP (2) |
wait fadd st(0), st(1) fmul st(0), st(1) fsub st(0), st(1) fsubr st(0), st(1) fchs fabs ftst fxam fcom st(1) fcomi st(0), st(1) fst st(0) fxch fdecstp fincstp ffree st(0) ffreep st(0) |
MMX |
EMMS (2) MOVQ (3) POR (3) PXOR (3) PADDD (3) PSUBD (3) PCMPEQD (3) PUNPCKLDQ (3) PSLLD (4) |
emms movq mm0, mm0 por mm0, mm0 pxor mm0, mm0 paddd mm0, mm0 psubd mm0, mm0 pcmpeqd mm0, mm0 punpckldq mm0, mm0 pslld mm0, 0 |
, RMMA 3.0.
L1i/L2 /RAM
, L1 L2 /.
: ,
(jmp)
, Stride Size,
(ret). ,
«» n-
, (n+1)-
.
, , (jmp) (mov eax, [eax]). :
Variable Parameter :
Block Size ;
Segments Count , .
Stride Size , .
Min Block Size, KB , , Variable Parameter = Block Size; .
Max Block Size, KB Variable Parameter = Block Size.
Min Segments Count Variable Parameter = Segments Count; .
Max Segments Count Variable Parameter = Segments Count.
Jump Type :
Near (jmp near +relative_offset); Far (mov ecx, absolute_offset; jmp ecx).
Selected Tests .
Forward Read Latency ;
Backward Read Latency ;
Random Read Latency .
Pseudo-Random Read Latency .
(Translation Lookaside Buffer, L1/L2 D-TLB). , , L1 , , , .
( , ( , 4096 ), , 4 ).
, TLB , L1 (TLB hit). L1 TLB (TLB miss). , (Maximal TLB Entries) L1 , , L1 L2, D-TLB. , TLB , -, L1 ( ). :
Variable Parameter .
TLB Entries L1 .
Segments Count L1 « TLB» ( ) , D-TLB. «» ( 2), , ( ). , TLB «» .
Stride Size , .
Min TLB Entries , -, Variable Parameter = TLB Entries; .
Max TLB Entries Variable Parameter = TLB Entries.
Min Segments Count Variable Parameter = Segments Count; .
Max Segments Count Variable Parameter = Segments Count.
Selected Tests .
Forward Access ;
Backward Access ;
Random Access .
(Instructions Translation Lookaside Buffer, L1/L2 I-TLB). , D-TLB, L1 , , . , 7, .
Variable Parameter :
TLB Entries L1i .
Segments Count L1i I-TLB .
Stride Size , .
(jmp). ,
I-TLB «»
.
, , (ret).
Min TLB Entries , - L1i, Variable Parameter = TLB Entries; .
Max TLB Entries Variable Parameter = TLB Entries.
Min Segments Count Variable Parameter = Segments Count; .
Max Segments Count Variable Parameter = Segments Count.
Jump Type :
Near (jmp near +relative_offset);
Far (mov ecx, absolute_offset; jmp ecx).
Selected Tests :
Forward Access ;
Backward Access ;
Random Access .
, . , - ( , ). , , CPU RightMark, . , « » , , , . «» C/C++, « », - .
, . , , STREAM. :
Min Block Size, KB .
Max Block Size, KB . , , , (. ).
Selected Tests .
Float Copy ( , 64-bit double):a[i] = b[i];
Float Scale , :a[i] = b[i] * k;
Float Add :a[i] = b[i] + c[i];
Float Triad Float Add Float Scale, . , , :a[i] = b[i] + c[i] * k;
, (Float Copy, Float Scale) (Float Add Float Triad) . , (, ), (, , ). , «» , . , , .. (Float Copy, Float Scale) (Float Add Float Triad) , .
RMMA 3.0 , ,
RAM Stability.
, ( , ). , , , RMMA 3.0. , ( Block Size, KB). «» , ( Test Time, minutes ).
,
,
, , ,
. ,
/ . «»
- (Stability.log) ,
(Log File Interval, seconds). ,
,
.
Процент выхода качественных чипов Samsung Exynos может взлететь с менее 20% до 90%. Производство планируют передать TSMC
15 ноября 2024
Это культовый iMac G4 на современной SoC M4. Энтузиаст разместил в корпусе оригинального моноблока плату от нового Mac mini
14 ноября 2024
Самый быстрый игровой процессор в мире, но не беспроблемный: Ryzen 7 9800X3D сгорел вместе с материнской платой
14 ноября 2024