скорость TSS

Тема в разделе "WASM.ASSEMBLER", создана пользователем NoName, 13 янв 2006.

  1. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Скорость переключения TSS.

    Слышал что где-то написана в тактах, а где не нашел.
     
  2. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    Мануалы покури...

    Например латентности для AMD64:

    JMP pntr16:16/32(far, direct, no call gate) = 31

    JMP pntr16:16/32(far, direct, call gate) = 120

    (если я правильно понял вопрос)
     
  3. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Я много мануалов глянул, но даже то, что привел ты я ненашел. Подскажи пж-та точные координаты.
     
  4. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    > "точные координаты"

    Software Optimization Guide for AMD64 Processors (25112.pdf)

    A.Fog How to optimize for the Pentium® microprocessors (pentopt.pdf)



    Интересно, для чего тебе понадобилась латентность переключения. Ведь около сотни тиков far JMP или CALL могут быть цветочками по сравнению с побочными эффектами переключения задачи

    1) возможно исключение #NM, если задача использует инструкции FPU/MMX/XMM

    2) возможны исключения #PF, если страницы кода\данных задачи не загружены в физ.память

    3) сброс TLB и соответсвенно загрузка PTE из кэша или ОЗУ

    4) на P4 сброс T-кэша и T-BTB

    5) на Атлонах возможна доп.задержка раннего преддекодирования в L1-instruction

    Каждое исключение отъедает несколько тысяч тиков, инициализация и подкачка страницы где-то на порядок больше, чтение PTE из ОЗУ - сотня-другая тиков. Ну и P4 после переключения задачи работает в режиме декодирования (одна инструкция за такт) и динамическое предсказание переходов скорее всего отдыхает (если нет истории в BTB)
     
  5. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Первая дока у меня не открывается. Гугл ее открывает в html до 94 страницы %(

    Во второй доке я ненашел. Я имел ввиду скорость переключения TSS без исключений. Насколько будет быстрее если делать структуру вручную? Конечно можно сказать что также как и при обычных обращениях к памяти но недаром там все автоматически делается...
     
  6. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков


    Дык, а как ты вручную задачу переключишь?
     
  7. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    возьму и переключу
     
  8. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    И что, все регистры вручную? Включая сегментные и CR3? 8-|

    А если не секрет зачем? (Я не издеваюсь, мне действительно интересно...)
     
  9. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    fix ustus те регистры которые мне нужны %)