rep и многопоточность

Тема в разделе "WASM.ZEN", создана пользователем _Juicy, 24 янв 2005.

  1. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    Не подскажут ли уважаемые специалисты по архитектуре, может ли выполнение, скажем, rep movsb быть прервано другим потоком? То есть, сначала скопируется половина байт, затем начнет выпоняться другой поток, а потом копирование продолжится?
     
  2. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    В защещённом режиме проца, как я понемаю? В Win32 для примера.

    Да может, а что тебе в этом не нравится? Адресное пространство всё рано у всех процессов разное, что и позволяет использовать многопоточность.
     
  3. _Juicy

    _Juicy Active Member

    Публикаций:
    0
    Регистрация:
    12 авг 2003
    Сообщения:
    1.159
    Адрес:
    SPb
    А не нравится то, что у потоков-то адресное пространство одно... Но за ответ спасибо.
     
  4. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    Дык а что делать.. у Рихтера в начале 8й главы хороший пример, когда 2 потока увеличивают одну переменную. всё гораздо хуже, т.к. даже для простого inc нужно учитывать многопоточность.
     
  5. Turkish

    Turkish New Member

    Публикаций:
    0
    Регистрация:
    25 окт 2004
    Сообщения:
    80
    Адрес:
    Russia
    Вроде как rep что-то выполняеся как одна большая команда, а переключение не может произойти в этот момент. Возможно я неправ
     
  6. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    IA-32 Intel® Architecture Software Developer’s Manual (25366714.pdf) Vol. 2B 4-165 :