Форум программистов, компьютерный форум CyberForum.ru

Кеш процессора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перенос слов в файле http://www.cyberforum.ru/cpp-beginners/thread368227.html
Здравствуйте уважаемые программисты. Столкнулся с такой задачей: Имеется файл с текстом на русском языке. Сделать перенос всех его слов. Перенос возможен по следующим правилам: 1) переносятся либо остаются в конце строки не менее двух символов; 2) невозможен перенос перед буквами 'ь' и 'ъ'; Как такое возможно реализовать?
C++ C++ подключение текстовых файлов Привет. Прошу прощения, если подобная тема уже есть, но я ее не нашел Как вижуал с++ подключить текстовый файл для чтения и записи? Нужно, чтобы программа прочитала данные в текстовом файле, произвела над ними действия и записала полученное число в другом текстовом файле? В примере дается решение, но какбы шаблонное(стандартное) и в нем вроде используются функции из С. Вот что у меня получилось,... http://www.cyberforum.ru/cpp-beginners/thread368220.html
Связанный список C++
Не могу обратиться к методу класса Node хотя они выраженны как public: void addNode(int d); void printList(); #include<iostream> using namespace std; struct Node// структура описывающия узел связанного списка { int data; Node *next;// указатель типа Node };
Импорт из dll перегруженных операторов C++
Здравствуйте, уважаемые программисты! По заданию необходимо при явном подключении dll импортировать класс. С обычными методами все понятно, делаю так: class cFloatMatr { public: ...... bool (*isKvadr)(); ......
C++ Связанный список http://www.cyberforum.ru/cpp-beginners/thread368151.html
Доброе утро есть ли у кого пример Связанного списка. И чем он вообще отличаетьсяот массива кроме того , что связанный список динамичен.
C++ Целесообразность использования цикла. Этот момент в универе нам не объясняли. Хочу сразу сказать, я знаю зачем, как и когда используются циклы. Собственно возник не большой спор. Какое преимущество будет иметь код for (int i = 0; i < 10; ++i) <действие> перед просто десятью строками типа <действие> <действие> <действие> <действие>? подробнее

Показать сообщение отдельно
AndrSlav
44 / 44 / 6
Регистрация: 20.12.2013
Сообщений: 255
01.02.2015, 20:27     Кеш процессора
Здравствуйте.
На просторах инета нашел код для определения размера кэша L2.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int _tmain(int argc, _TCHAR* argv[])
{    
    int CPUInfo[4] = {-1};
    int nCacheLineSize = 0;
    int nL2Associativity = 0;
    int nCacheSizeK = 0;
 
__cpuid(CPUInfo, 0x80000006);
    nCacheLineSize = CPUInfo[2] & 0xff;
    nL2Associativity = (CPUInfo[2] >> 12) & 0xf;
        nCacheSizeK = (CPUInfo[2] >> 16) & 0xffff;
 
    printf_s("Cache Line Size = %d\n", nCacheLineSize);
    printf_s("L2 Associativity = %d\n", nL2Associativity);
    printf_s("Cache Size = %dK\n", nCacheSizeK);
 
   char ch;
   std::cin>>ch;
 
return  0;
}
А как для L1 и L3? С ассемблером дела никогда не имел. В инете же нашел описание откуда берутся данные для L1 и L3, но как их достать (код)?

Добавлено через 28 минут
p.s. функция __cpuid:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void __cpuid(int* CPUInfo, int InfoType)
{
   asm {
    push ebx
    push esi
    mov eax, InfoType
    cpuid
    mov esi, CPUInfo
    mov [esi], eax
    mov [esi + 4], ebx
    mov [esi + 8], ecx
    mov [esi + 12], edx
    pop esi
    pop ebx
   }
}
Добавлено через 1 час 45 минут
Методом тыка попробовал (для L3), но нули выводит:
C++
1
2
3
4
__cpuid(CPUInfo, 0x80000006);
    nCacheLineSize = CPUInfo[3] & 07777;//0xff;
    nL2Associativity = (CPUInfo[3] >> 12) & 077;//0xf;
    nCacheSizeK = (CPUInfo[3] >> 18) & 07777777;//0xffff;
 
Текущее время: 22:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru