latency.h

来自「获得多核硬件所有的相关信息。汇编源代码。Visual Studio2003、20」· C头文件 代码 · 共 48 行

H
48
字号
//---------------------------------------------------------------------------
//
// Latency.h: CLatencyFunc Class Header
//
//---------------------------------------------------------------------------

#ifndef LatencyH
#define LatencyH

// Latency measurement
const DWORD FIXED_NOP_COUNT = 511;   // (with AND instruction, 512 total)

class CLatencyFunc
{
private:
    void* lpMemBlock;
public:
    CLatencyFunc()
    {
        lpMemBlock = NULL;
        ReadLatency0 = NULL;
        ReadLatency1 = NULL;
        ReadLatency2 = NULL;
        ReadLatency3 = NULL;
        TestNop1 = NULL;
    }
    ~CLatencyFunc()
    {
        Terminate();
    }
    void (__cdecl *ReadLatency0)(void* src, DWORD count);
    void (__cdecl *ReadLatency1)(void* src, DWORD count);
    void (__cdecl *ReadLatency2)(void* src, DWORD count);
    void (__cdecl *ReadLatency3)(void* src, DWORD count);
    void (__cdecl *TestNop1)();
    void __cdecl TestNop0();
    void __cdecl ReadTLB(void* src, DWORD count);
    void __fastcall GenerateCode0(DWORD NopCount);  // latency measurement, mode 1
    void __fastcall GenerateCode1(DWORD NopCount);  // latency measurement, mode 2
    void __fastcall GenerateCode2(DWORD NopCount, DWORD SyncNopCount);  // data arrival test
    void __fastcall GenerateCode3(DWORD NopCount);  // ROB depth measurement
    void __fastcall GenerateTestNopCode1();         // NOP latency measurement, mode 2
    HRESULT __fastcall Initialize();
    HRESULT __fastcall Terminate();
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?