Архитектура

Тема в разделе "WASM.BEGINNERS", создана пользователем vorobei99, 4 апр 2008.

  1. vorobei99

    vorobei99 New Member

    Публикаций:
    0
    Регистрация:
    16 фев 2008
    Сообщения:
    25
    Адрес:
    Moscow
    Помогите пожалуйста прояснить дело

    Как я понимаю мы имеем на сегодняшний день
    1)V86 реальный режим ..который щас эмулируется в процах
    2)IA-32
    3)IA-64


    Как я понимаю IA-32 это разработка интел , которую потом у них купила AMD.Тоесть все команды ...-Athlon Xp и ...-Pentium 4 одинаковы?
    Далее AMD разаработала свою архитектуру именнуемую , как amd64.Интел купил её у AMD и назвал IA-64.Тоесть все команды не считая специльных команд Core- Core2 и AMD64- AMD64x2 одинаковы ?

    Я сейчас говорю не о внутренней организации проца а о системе команд...являются ли они идентичными?Является ли изучения этого мануала ftp://download.intel.com/design/processor/manuals/ полно объемлищим..Или дело с х64.Так что у разной фирмы все по разному?

    P.S помогите плз разгрести кашу в голове
     
  2. SII

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

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    64-разрядный режим работы интеловских процессоров архитектуры IA-32 обозначается в интеловских мануалах как IA-32e. За мелкими исключениями он является копией АМДшного AMD64.

    А вот IA-64 -- это АБСОЛЮТНО иной процессор, известный под вывеской Itanium. Ничего общего ни в архитектуре, ни в системе команд с IA-32 у него нет.

    Пы.Сы. А режимов в современных процессорах IA-32 на самом деле больше. Как минимум список будет таким:

    а) реальный режим, совместимый с 8086;

    б) защищённый 16-разрядный режим, совместимый с 80286;

    в) защищённый 32-разрядный режим, совместимый с 80386;

    г) режим V86, являющийся подрежимом защищённого 32-разрядного режима;

    д) 64-разрядный режим IA-32e;

    е) 32-разрядный режим совместимости 64-разрядного режима IA-32e;

    ж) режим управления системой SMM.
     
  3. vorobei99

    vorobei99 New Member

    Публикаций:
    0
    Регистрация:
    16 фев 2008
    Сообщения:
    25
    Адрес:
    Moscow
    Во спасибо!Теперь понял....Какие ныне Сишные компиляторы лудше...Какой поддерживает больше команд?GCC?
     
  4. SII

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

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Лучший, видимо, Intel C++. Для Линуха он существует в бесплатной версии, для Винды -- увы, только платный (хотя хакнуть всегда можно, конечно). На вычислительных задачах, как говорят, вручную на ассемблере обставить его очень и очень непросто (попробуй упомнить просто список всех инструкций MMX/SSE со всеми расширениями и наворотами -- не говоря уже об учёте особенностей работы конвейера разных процов т.п.) -- по крайней мере, если использовать интеловские же библиотеки. Правда, передо мной таких задач никогда не стояло, да и не люблю я Си, предпочитая писать на Паскале, асме или их смеси, так что тут поклясться не могу :)
     
  5. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    стоит ли его выделять отдельно?
     
  6. SII

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

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    rei3er
    Смотря с какой стороны посмотреть. В нынешних процессорах 16- и 32-разрядные сегменты легко смешиваются без всяких "режимов совместимости", т.е. оба защищённых режима можно считать одним. С другой стороны, в 80286 не было страничного механизма, хотя защита и преобразование адресов на базе сегментов осуществлялись точно так же, как в более поздних 32-разрядных процессорах. Поэтому "логически" можно считать эти два режима разными (если ты пишешь ось под 16-разрядный режим, у тебя вроде как нет страничного механизма -- хотя в современных процессорах он в любом случае имеется).

    Ну а другой аспект -- разная техника программирования в 16- и 32-разрядном режимах. В первом случае никаких плоских моделей быть не может: слишком ограничено адресное пространство при 16-разрядных смещениях.
     
  7. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    лудший по каким критериям?
    каких команд?
     
  8. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    SII
    я больше склонен сравнивать режимы по принципу множеств/подмножеств инвариантов
    если ни одно из множеств инвариантов двух режимов не является подмножеством другого, то это действительно режимы
    если каждое множество является подмножеством другого (т. е они эквивалентны), то оба режима можно заменить одним
    если множество инвариантов первого режима является подмножеством второго (но не наоборот), то второй режим является расширением первого режима, но не самостоятельным режимом
    поэтому я считаю, что в) - 32-х разрядное расширение защищенного режима
    ;)
     
  9. vorobei99

    vorobei99 New Member

    Публикаций:
    0
    Регистрация:
    16 фев 2008
    Сообщения:
    25
    Адрес:
    Moscow
    Тогда не понятна одна вещь...Ладно вот студия использует Интеловский компилер...Но считается , что серьезные вещи надо писать на gcc...Как понимаю gcc и использует тот же компилер или в чем тогда фишка?)
     
  10. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Столько бреда в одном предложении..
    По дефолту, не использует.
    Кем считается? Что такое серьезные вещи?
    Какой? gcc и есть компилятор.
     
  11. vorobei99

    vorobei99 New Member

    Публикаций:
    0
    Регистрация:
    16 фев 2008
    Сообщения:
    25
    Адрес:
    Moscow
    Ну линукс написан на gcc и многие на нем кодят.Почему не на интел компилере?Он же поидеи лудше
     
  12. SII

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

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    rei3er
    О терминах не спорят, о них договариваются :)

    vorobei99
    Зато он до недавнего времени был полностью платным. И является продуктом с закрытым кодом.

    А "многие кодят" на GCC в мире Линуха (ну Юниксов вообще, наверное). А в мире Вындовз (который ничуть не меньше) стандарт де-факто -- Вижуал Студио.
     
  13. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    с некоторой точки зрения tinyc - лучше icc. Почему же не нем пишут проги, где важна скорость кода?
    нет однозначно лучшего компилятора, и утверждение что icc лучше gcc - бред сивой кобылы.
     
  14. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    вы со мной не согласны?
    в моей логике что-то не верно? ;)
     
  15. SII

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

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    rei3er
    Почему ж? Просто разные критерии оценки. Если принять за основу мои критерии, думаю, Вы согласитесь, что 16- и 32-разрядные защищённые режимы -- разные. Если принять Ваши -- тут уже я соглашусь, что это один и тот же режим :)
     
  16. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    режим - это прежде всего набор инвариантов
    он однозначно ими идентифицируется
    поэтому в принципе мой подход объективен ;)