Как программно отключить кэш-память Pentium-4?

Тема в разделе "WASM.BEGINNERS", создана пользователем Santaev, 23 окт 2006.

  1. Santaev

    Santaev New Member

    Публикаций:
    0
    Регистрация:
    23 окт 2006
    Сообщения:
    29
    Как в Pentium-4 отключить кэш-память, если в BIOS нет опции отключения CPU L1&L2 Cashе?
    К сожалению, то что работало на Pentium, на Р-4 не работает:
    mov eax,cr0
    or eax,60000000h
    mov cr0,eax
    wbinvd
    Так как же на Pentium-4 программно отключить кэш-память?
     
  2. gilg

    gilg New Member

    Публикаций:
    0
    Регистрация:
    19 май 2005
    Сообщения:
    527
    Для Pentium 4 и P6 нужно отключить MTRR`s и/или пометить всю память как некэшируемую
    PS: Конечно, это в дополнение к установке битов в Cr0
     
  3. Santaev

    Santaev New Member

    Публикаций:
    0
    Регистрация:
    23 окт 2006
    Сообщения:
    29
    А как отключить эти самые MТRR's??? (Я и слов то таких не знаю...)
    Дайте пожалуйста хотя бы ссылку...
     
  4. gilg

    gilg New Member

    Публикаций:
    0
    Регистрация:
    19 май 2005
    Сообщения:
    527
    Смотри третий том Intel Manuals "System Programming Guide", в нем Chapter 9.5.1 "Cache Control Registers and Bits". Мануал можно качнуть на интеловском сайте, pdf-ник около 6 метров.
     
  5. Santaev

    Santaev New Member

    Публикаций:
    0
    Регистрация:
    23 окт 2006
    Сообщения:
    29
    Благодарю! Коротко и профессионально...
    А то на других сайтах кроме "А на фига тебе это надо?" я ничего не добился...
     
  6. Santaev

    Santaev New Member

    Публикаций:
    0
    Регистрация:
    23 окт 2006
    Сообщения:
    29
    Еще раз слова благодарности! Все заработало... Разобрался довольно быстро, тем более, что от безысходности уже дизассемблировал кусок BIOS, отвечающий за отключение кэш и даже пытался его использовать, но не получилось...
     
  7. gilg

    gilg New Member

    Публикаций:
    0
    Регистрация:
    19 май 2005
    Сообщения:
    527
    Хорошо, что до микрокода не дошел ;)