Вопросы начинающего в IA-64

Тема в разделе "WASM.X64", создана пользователем AssemblerIA64, 20 дек 2007.

  1. AssemblerIA64

    AssemblerIA64 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2007
    Сообщения:
    160
    Помогите, пожалуйста, со следующими вопросами:
    1) Каким образом определить перенос и переполнение при арифметических операциях.
    2) Объясните поподробнее, что такое control и data speculation.
    Спасибо.
     
  2. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    AssemblerIA64

    1) Перенос -- это когда результат беззнаковой операции не помещается в отведённое число разрядов. Например, если складываем на 4-разрядной машине целые числа 1 и 15, считая их числами без знака:

    0001
    1111
    ----
    0000

    и пошёл перенос в старший разряд.

    Переполнение -- это когда результат знаковой операции не помещается в отведённое число разрядов. Например, если мы складываем на той же самой 4-разрядной машине числа -1 и -8:

    1111 (это -1)
    1000 (это -8)
    ----
    0111 (получаем +7)

    2) Хм... предполагаю, что это спекулятивная предварительная выборка кода и данных (т.е. основанная на предположении, что именно эта ветвь кода при переходе и эти данные потребуются для дальнейших операций). Хотя, чтобы сказать точно, нужен полный контекст (как минимум предложение, а лучше абзац или весь подраздел).
     
  3. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    1. на васме есть очень хорошая статья на эту тему.
     
  4. AssemblerIA64

    AssemblerIA64 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2007
    Сообщения:
    160
    SII, это понятно.
    Меня интересует, есть ли аналоги CF и OF флагов в IA-64.
     
  5. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    AssemblerIA64
    Читаем мануал :)
     
  6. AssemblerIA64

    AssemblerIA64 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2007
    Сообщения:
    160
    Проблема как раз в том, что я ничего не нашёл.
    Смотрел в 1-ом томике про арифметические инструкции - ничего.
    В 3-ем (справочник по инструкциям) - тоже нема.
     
  7. AssemblerIA64

    AssemblerIA64 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2007
    Сообщения:
    160
    Что-то все подозрительно затихли... Как будто на кладбище...
     
  8. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    AssemblerIA64
    Просто IA-64 это экзотика вот все и молчат.
     
  9. Valery

    Valery New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2003
    Сообщения:
    75
    Адрес:
    Russia
    Нету. Если нужно отслеживать смену знака то делайте это вручную. Уже не могу припомнить точно, но кажется я видел где-то однотактный вариант одновременного вычисления суммы и знакоизменения. Пример ваш покажите, может удастся уменьшить время, иначе разговор бессмысленный.


    Объясните поподробнее, что такое control и data speculation

    вопрос: а чем не устраивает изложение в первом томе мануала, с примерами? У вас же вроде есть эмулятор, можно опробовать. Для контрол спекьюлейшна требуется принципиальное дозволение системы на такие штучки (должны быть установлены биты системных регистров разрешающие отложенное исключение), а дейта спекьюлейшн вполне реализуем на уровне пользователя.
     
  10. AssemblerIA64

    AssemblerIA64 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2007
    Сообщения:
    160
    Примера нет. Меня просто заинтересовало, существуют эти флаги или нет.

    - Со speculation'ами я уже, кажется, разобрался.
    - Эмулятор есть, а вот ассемблера - нет. У меня с Linux'ом проблемы, но надеюсь, завтра разберусь.
     
  11. Valery

    Valery New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2003
    Сообщения:
    75
    Адрес:
    Russia
    а вот ассемблера - нет


    да ну! как это нет? gas, ias - оба бесплатные и оба кроссплатформенные. Даже виндовый ias.exe умеет делать как ELF так и PE. Кроме того, ias поставляется в составе бесплатной линуксовой версии icc.

    Наконец, по всем вопросам есть и специализированная тусовка - сайт сообщества gelato. Раньше еще был форум на сайте HP по разработке на ia64 туда нередко заходили такие авторитеты как Стройян и Мосбергер, но пару лет назад форум пропал куда-то.
     
  12. AssemblerIA64

    AssemblerIA64 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2007
    Сообщения:
    160
    Valery, спасибо.
    Будем осиливать документацию к GCC. Для меня это совершенно незнакомая вещь, и Linux поставил неделю назад.

    P.S. Не седчайте на меня. Признаю, мануалы не дочитал. Времени мало.
     
  13. Termo_in_work

    Termo_in_work TermoSINteZ

    Публикаций:
    0
    Регистрация:
    31 июл 2007
    Сообщения:
    20
    Адрес:
    на работе
    AssemblerIA64
    а как же fasm ????
    Он умеет компилить 64битный код.
     
  14. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    при чем здесь 64битный код и IA64?
     
  15. Termo_in_work

    Termo_in_work TermoSINteZ

    Публикаций:
    0
    Регистрация:
    31 июл 2007
    Сообщения:
    20
    Адрес:
    на работе
    n0name
    Да, извиняюсь, чет подумал что имелось ввиду x86-64 (собственно ассоциация IA64 - Intel Architecture 64 - вот и подумалось то, что ближе всего по разделу)
    Написали бы Itanium чтоли...
     
  16. AssemblerIA64

    AssemblerIA64 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2007
    Сообщения:
    160
    Скачал Intel C++ Compiler для Linux. Пакет для IA-64 установить не удалось - пишет, что архитектура не та. Поставил пакет для Intel 64. Но там нету IAS.
    С ассемблером из GCC ничего не понятно - в документации есть только описание опций, про синтаксис ничего не написано...
    В интернете ничего толкового больше нет. Примеров кода, да каких-нибудь упражнений нема (а без них язык не выучить).
    Совсем не знаю, что делать... Помогите, пожалуйста!
    _____________________________________________________
    Если я не прав, то пусть меня поправят...
     
  17. Valery

    Valery New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2003
    Сообщения:
    75
    Адрес:
    Russia
    Попробуйте ias.exe который есть в MS PSDK, April 2003
     
  18. AssemblerIA64

    AssemblerIA64 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2007
    Сообщения:
    160
    Тогда под Windows эмулятора нет :dntknw:
     
  19. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    AssemblerIA64
    Почему нет? Я же уже кидал ссылку, там как минимум 3 эмулятора IA-64 под виндой. QEMU, например.
     
  20. AssemblerIA64

    AssemblerIA64 New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2007
    Сообщения:
    160
    Хорошо, давайте разберёмся...
    Найдём эмуляторы, в которых в качестве гостевого CPU выступает Itanium:
    1) Integrity Virtual Machines
    2) Simics
    3) Virtuozzo
    Первый работает только на самом Itanium'е.
    Второй поставил, но на мой взгляд, он какой-то глючный (скрипт, который поставлялся с ним для Itanium'a с ошибками; команды, описанные в документации, не работают) и убогий.
    Третий тоже установил, но по-моему он будет эмулировать ту машину, на которой он работает.

    В итоге, из них всех мне приглянулся Ski, но выясняется, что под Linux нет ias.

    P.S.
    Guest CPU: x86, AMD64, ARM, SPARC 32 and 64, PowerPC, MIPS.