Amd64 и EM64T одно и тоже?

Тема в разделе "WASM.BEGINNERS", создана пользователем tigsid, 10 июл 2006.

  1. tigsid

    tigsid Member

    Публикаций:
    0
    Регистрация:
    11 июн 2004
    Сообщения:
    62
    На сколько я знаю Intel скопировал эту архитектуру у AMD.
    Мне хотелось бы узнать полностью ли они совместимы.
    Доку по EM64T еще несмотрел. Вот и интересно стоит ли.
     
  2. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    Из того, что успел почитать - вроде бы один к одному...
    Самый простой способ проверить я уже себе придумал: поставить Win64 на свой рабочий Prescott и посмотреть, что будет :):):):):)
     
  3. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    AFAIK обе компании имеют соглашение о расширения процессора - опкоды декодируются и воспринимаются процессорами обоих фирм одинаково, результат операций одинаков, но способ внутреннего исполнения команд разный, он то и сокрыт от реализации.
    Короче говоря фирмы могут использовать расширения профессора другой фирмы (пример SSEx on AMD), но используя свою логику в исполнении.
    Не исключение и данные 64битные расширения.
     
  4. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    asmfan
    Да, но соглашение по названию SSEx - совершенно однозначное, только поначалу AMD обзывали у себя поддержку SSE как 3DNow! Professional, но потом исправились. А здесь полный бардак - кто называет амд-шное расширение AMD64, хотя это по-хорошему все же название архитектуры, типа IA-32, кто говорит x86-64. А вот Intel называет EM64T. Я немного утомился ковырять ихние мануалы по схеме "найди десять отличий", весьма утомительно, учитывая достаточно различную манеру изложения. Не нашел ни одного, но кто говорит, что их нет? Но познавательно, например с удивлением нашел у интела SYSCALL/SYSRET. Казалось бы - АМД городили SYSENTER/SYSEXIT для совместимости с Интел, а Интел чего - для совместимости с АМД, что ли? Или оно лучше работает? (каюсь, вот эти хитрые команды не изучал)
     
  5. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    3DNow! и 3DNow!+ это не одно и то же, что и SSEx, смотрите справочник по инструкциям.
    AMD64 - это 64битный процессор (и его архитектура) у AMD. EMT64 - эмуляция архитектуры у Intel.
     
  6. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    IceStudent
    Что ты имеешь ввиду под "эмуляцией архитектуры" ?
     
  7. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    leo
    Ну, не то, чтобы эмуляция. Правильнее было бы сказать "реализация".
     
  8. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    Самое главное чтобы количество всех добавленных общедоступных регистров совпадало;) 16х ХММ и дофига генерал пурпос регистерс... Ну и чтобы логика работы команд совпадала ну и их машинное представление желательно тоже...до кучи
     
  9. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    IceStudent
    3DNow!+ это 3DNow! Extention, а 3DNow+ вместе с SSE (только, без SSE2 и т.п.) AMD называла некоторое время 3DNow Professional.
     
  10. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    IceStudent
    Пофлеймить что ли насчет "реализации" ;))
    Если подходить философски и не заниматься разборками, кто из титанов что первый придумал, то AMD64 и EM64T по сути есть различные названия одной и той же технологии - а именно очередного расширения архитектуры IA-32. В отличие от кардинальных изменений, сделанных в IA-64 (благодаря которым она и не получила широкого распространения), нововедения AMD64/EM64T при желании вполне можно поставить в один ряд с PAE36, MMX и SSExxx. Поэтому присваивать этой технологии славное имя AMD64 как-то не очень корректно, учитывая немалые заслуги Intel в развитии архитектуры IA-32. Ну и разумеется смириться с таким названием Intel никак не может и придумывает свое индифферентное название EM64T, которое на мой взгляд больше соответсвует действительному положению вещей.
    А что касается "реализации", то это уже из области не архитектуры, а микроархитектуры, которая как правило хранится за семью печатями и выявляется на свет только в общих обрывочных представлениях, слухах и домысливаниях исследователей железа
     
  11. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    для прикладного программиста различий вроде нет между интеловской EM64T и AMD64.

    imho вся эта 64-битность -- всего лишь повод для амд/мисрософт срубить капусты на лохах, которые ведутся на модные цифры '64', наивно полагая, что всё станет в 2 раза быстрее и лучше. Лично не вижу никакой потребности в 64х битах, ни в памяти, ни в регистрах, ни в чем либо. Размер программ/данных увеличится, возрастут требования к размеру памяти/кэшей, неудобней программировать станет, цены подскочут вверх за то, что почти не будет использоваться... stupid crowd...
     
  12. Rohan

    Rohan New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2004
    Сообщения:
    133
    Я вот думаю а почему Intel не пошла по пути дальнейшего проталкивания Итиниум на ранок? Я думаю при желании можно было сделать эмуляцию x86 на приемлемой скорости. Или опять таки пока закон Мура действует париться не следует?

    Насколько я знаю AMD64 всетаки немного олтичалось от EMT64 в некоторых "старых" процессорах. В AMD64 были доступны 2 дополнительные команды, сугубо для тестирования. но щас вроде как 1к1
     
  13. tigsid

    tigsid Member

    Публикаций:
    0
    Регистрация:
    11 июн 2004
    Сообщения:
    62
    _BC_, я тоже так думаю. Если не ошибаюсь P3 мог работать до 64ГБ. И для персоналок это помоему будет достаточно еще лет 20.
    для прикладного программиста различий вроде нет это хорошо.
    Интерсно как на счет "перехода в 64bit режим" и "основных регистров упр. памятью, прерываний и т.д.".
     
  14. repne

    repne New Member

    Публикаций:
    0
    Регистрация:
    1 июл 2006
    Сообщения:
    39
    Адрес:
    Москва
    Глупо говорить, что нету смысла в 64 битности ))))))))

    " imho вся эта 64-битность -- всего лишь повод для амд/мисрософт срубить капусты на лохах, которые ведутся на модные цифры '64' "

    Самое идиотское высказывания. 64-разряда нужны, я бы сказал необходимы для дальнейшего совершенствования ПО. И эта технология AMD64 разрабатывалась,
    если мне память не изменяет около 5 лет несколькими корпорациаями, в том числе
    и славным AMD. Intel же слизала эту технологию, переименовав. А то что добавилось
    в неё 8 регистров общего назначения это ооооооооооооооооооочень важно поверьте!!!!!!
    К тому же кто вам сказал что всё должно в 2 раза быть быстрее?? Это просто революционная архитектура, ведь на 32 разряда перешли около 10 лет назад.
    Вообще не знаете - не пишите! Ламеры.. >:-|
     
  15. dermatolog

    dermatolog Member

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    406
    Адрес:
    Екатеринбург
    Ты не забывай, что для доступа к 64-х разрядным регистрам перед командой должен вставляться определенный преффикс (кроме комманд PUSH POP и некоторыми другими) в том числе и для доступа к этим дополнительным 8-ми регистрам - т.е. объем программы "автоматически" увеличивается раза в полтора взамен сомнительного "увеличения" скорости работы.

    P.S. ПО теме можно почитать статью КК: http://www.insidepro.com/kk/072/072r.shtml
     
  16. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
    а что надо было сделать свою для несовместимости? тогда бы ничего хорошего не было.
     
  17. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    Приведи примеры, которые покажут острую потребность для x86 в 64-битных регистрах/операндах/данных и 2^64 байтах памяти для наиболее распространенных программ. Специфические задачи типа мат.алгоритмов не в счет, они весьма редки.

    Я такие примеры придумать не могу. Память? Даже на данный момент компьютеры с >2 Гб памяти -- редкость, не говоря о 4Гб или PAE'вских 64Гб.

    Про псевдо-суперпригодность x86-64 для математики -- всё равно все серьёзные вещи будут сводиться к сопроцессору, размер РОН особо не повлияет на скорость мат.вычислений. Насчет криптоалгоритмов -- в x86 уже заложено много возможностей (не воспользованных, как правило) для их оптимизации по скорости (тому пример MMX-реализация AES, встреченная в AlphaAgent'е).

    Так найди же достойные примеры, чтобы "Ламеры" увидели и уверовали.

    следуя твоей логике, амд слизала у Intel всю архитектуру IA32, x87, и тд.
    Intel возможно просто руководствовалась здравым смыслом, не тратя сил и времени на бредовые (пока) идеи вроде x86-64, м.б., учитывая свой опыт с IA64.

    P.S. обязательно купи лицензионную висту. ;)
     
  18. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    _BC_
    Пожалуйста. Фильтр. Кодеки. Сжатие и разжатие. Шифрование. - Все это должно работать в 64/32 раза быстрее.
    Копирования памяти. Поиск в памяти. Сравнение строк. Итд. Многие алгоритмы получат, прирос в скорости.

    Да ты прав MMX и SSEx не сильно у нас востребованы. Но когда основная логика перейдет на 64Бита. Ты волей не волей должен будешь их использовать. Вот поэтому только и стоит переходить на 64. Тогда многие(все) программы обретут прирост в скорости.

    Да пока смысла в нет. Но все не стоит на мести, еще каких то лет 5 и 4Гб будет мало.

    _BC_
    А почему ты говоришь x86, а не 8086 или 8080? Сидели бы дальше на 8080 с 8 разрядными регистрами.
     
  19. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Pavia
    Ты хорошо подумал, прежде чем взяться за перо ;)))
    64 бита для побайтных алгоритмов поиска и сравнения строк !!! До такого аргумента наверное даже пиарщики M$, AMD и Intel вместе взятые наверное не додумались бы. Для копирования памяти есть способы и покруче (movntq, movntdq). И алгоритмов шифрования, завязанных на 32 и 16 битные данные тоже предостаточно. Одним словом "должно работать в 64/32 раза быстрее" только то, что по своей природе является 64 битным (или кратным), а такого добра, как заметил _BC_, не так уж и много.
    Но главное то опять проблема совместимости. Если уж повсеместное использование SSEх тормозится по причине совместимости, то что говорить о 64 битах - ведь тут кроме процессоров еще и 64-битные ОС должны наводнить рынок. Пока этого не произодейт repne будет наслаждаться 8-ю дополнительными регистрами и чесать репу - куда бы их прикрутить, кроме как к собственной кофеварке, ну или писать свои проги в двух вариантах - один для отсталых 32-мерных ламеров, другой для 64-битной души во имя прогресса. А вот тут то за счет удвоения ВВП, гигабайты и полезут вверх и настанет писец ламерам и светлое будущее для остального прогрессивного человечества :)))
     
  20. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    Вроде бы MMX/SSEx как раз специально для фильтров и аудио/видео-кодеков делали, с учетом типовых операций в них используемых. Не думаю, что банальное увеличение в 2 раза числа и размера регистров лучше чем специализированные команды. Насчет шифрования -- afair, многие алгоритмы разрабатывались специально заточенными под определенный размер слова машины и, к тому же, у некоторых размер блока более 64 бит -- так что явное преимущество 64-битных регистров перед тем же распараллеливанием в MMX/SSE весьма сомнительно. Для ассиметрики вроде должен быть хороший бонус от 64 бит... но это всё из 'редких' задач.

    мм, здесь afaik узкое место не разрядность, а быстродействие памяти. Разрядность внешних операций уже и так давно не 32 бита. Не спорю, есть некоторые алгоритмы, где будет выигрыш (вплоть до х2)... но что-то их маловато.

    Это почему же? Какая связь между наборами инструкций для параллельной обработки данных (их основное назначение) и размером регистров общего назначения (к примеру)?

    х86 = 8086 -- PIV+ (и вообще, всё совместимое с IA32)