в чем разница между apic и sapic (в плане программирования)

Тема в разделе "WASM.OS.DEVEL", создана пользователем abcd008, 18 апр 2009.

  1. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    я почти разобрался с local apic(xapic/x2apic), но не где не могу найти документацию на sapic.
    если есть ссылки или сами можете ответить, просьба написать.
     
  2. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Это другая архитектура смотри документацию на itanium.
     
  3. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    а где ее найти? у меня google на поиск sapic три ссылки выдает. и все они левые.
     
  4. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    http://www.intel.com/design/itanium/downloads/251350.htm
     
  5. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    спасибо. я так понял что sapic используется на itanium, а он в свою очеред использует х64 архитектуру.
    он не совместим с х86-64, и устарел. значит на современных пк sapic не используется.
    если я не прав, поправте?
     
  6. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    abcd008
    Ошибаешься Itanium это IA64.
    А x64=x86-64=AMD-64=IA32e=EM64T.

    Да не совместим. Хотя на начальном этапе загрузки и тот и тот эмулирует IA-32.

    Я бы не сказал что устарел. Просто осталя в стороне. Просто решение AMD благодоря поддержки программ IA-32 и в long mode оказалось более удачным. А Itanium такой поддержки не имеет.
     
  7. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    у itanium совсем другие коды команд. Он быстрее обычного em64t. как он может во время загрузки эмулировать другой режим, если он чисто 64 битный.
     
  8. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    а кто знает в каком режиме надо программировать apic если в таблице acpi(fadt) не указана:
    не логическая(кластерная), не физическая адресация.
     
  9. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    abcd008
    Логические адресса должен был задать биос. Если он этого не зделал тогда через физическую назначаем логическии адресса. Назначать можешь как хочешь. А вообще можно посмотреть как биос адресса распределяет непомню помойму ioapic присваивается номер 1.
     
  10. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    я не про то какие адреса присваиваются,а как программировать apic:
    -у него три режима адресации(физический,логические(плоский и кластерный))
    в таблице acpi(fadt) есть флаги как должен программироваться apic (физический или лог.кластерный)
    ведь есть еще плоский режим адресации, а флага такова нету.
    вот я и спрашиваю: если флаги не установлены, какой режим использовать по умолчанию???
     
  11. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    А откуда такой режим?
    В интел написанно про два.
    Ты спецификацию читал?
    FORCE_APIC_PHYSICAL_DESTINATION_MODE
    FORCE - озночает принудительно.
     
  12. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    я и написал один физический и ДВА логических(подрежима)
    force- принудительно. если флаг стоит то я использую тот режим какой указывае флаг.

    но если они не установлены - тогда что??? ведь apic id установлен во время post для конкретного режима?
     
  13. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    abcd008
    Если оба сброшены, тогда можешь использовать любой.

    Неа.
     
  14. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    Pavia
    я пока использую физическую адресацию, все работает. просто у меня два ядра.

    еще я читал про бозовый адрес apic у intel, и не понял там написано что для каждого local apic надо назначить свой адрес.
    на других сайтах пишут что он у всех local apic одинаковый.
     
  15. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    abcd008
    У Local APIC процессора p6 и старше адресс одинаковый и обращение идет по внутренней шинею. Каждое ядро обращается только к своему. Но есть возможность(не обязан) разместить в разные.
    А вот у просто Pentium у которого встроенный Local APIC. Запрос идет по внешней шине и нужно разносить.

    У IO APIC они всегда должны быть разнесены.
     
  16. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    тоесть в новых процессорах адрес менять не надо?

    а в таблице acpi(madt) как-нибудь сообщается, у какого local apic какой адрес.
    там ведь в заголовке только один адрес, а дополнительная таблица применяется если только адрес за пределами 4gb
     
  17. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    А зачем для инициализации AP процессора два раза посылать STARTUP INI?
    просьба не просто просматривать тему, но и отвечать что-нибудь!!!
     
  18. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    abcd008
    Не зачем.
     
  19. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    Pavia
    еще есть такой вопрос: читал здесь на форуме, что для каждого ядра процессора надо отдельно включать линию a20.
    Вопрос так ли это????, ведь контроллер клавиатуры один.
     
  20. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    abcd008
    Лишняя перестраховка. Контроллер клавиатуры один поэтому и не надо.