Помогите пожалуйста прояснить дело Как я понимаю мы имеем на сегодняшний день 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 помогите плз разгрести кашу в голове
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.
Во спасибо!Теперь понял....Какие ныне Сишные компиляторы лудше...Какой поддерживает больше команд?GCC?
Лучший, видимо, Intel C++. Для Линуха он существует в бесплатной версии, для Винды -- увы, только платный (хотя хакнуть всегда можно, конечно). На вычислительных задачах, как говорят, вручную на ассемблере обставить его очень и очень непросто (попробуй упомнить просто список всех инструкций MMX/SSE со всеми расширениями и наворотами -- не говоря уже об учёте особенностей работы конвейера разных процов т.п.) -- по крайней мере, если использовать интеловские же библиотеки. Правда, передо мной таких задач никогда не стояло, да и не люблю я Си, предпочитая писать на Паскале, асме или их смеси, так что тут поклясться не могу
rei3er Смотря с какой стороны посмотреть. В нынешних процессорах 16- и 32-разрядные сегменты легко смешиваются без всяких "режимов совместимости", т.е. оба защищённых режима можно считать одним. С другой стороны, в 80286 не было страничного механизма, хотя защита и преобразование адресов на базе сегментов осуществлялись точно так же, как в более поздних 32-разрядных процессорах. Поэтому "логически" можно считать эти два режима разными (если ты пишешь ось под 16-разрядный режим, у тебя вроде как нет страничного механизма -- хотя в современных процессорах он в любом случае имеется). Ну а другой аспект -- разная техника программирования в 16- и 32-разрядном режимах. В первом случае никаких плоских моделей быть не может: слишком ограничено адресное пространство при 16-разрядных смещениях.
SII я больше склонен сравнивать режимы по принципу множеств/подмножеств инвариантов если ни одно из множеств инвариантов двух режимов не является подмножеством другого, то это действительно режимы если каждое множество является подмножеством другого (т. е они эквивалентны), то оба режима можно заменить одним если множество инвариантов первого режима является подмножеством второго (но не наоборот), то второй режим является расширением первого режима, но не самостоятельным режимом поэтому я считаю, что в) - 32-х разрядное расширение защищенного режима
Тогда не понятна одна вещь...Ладно вот студия использует Интеловский компилер...Но считается , что серьезные вещи надо писать на gcc...Как понимаю gcc и использует тот же компилер или в чем тогда фишка?)
Столько бреда в одном предложении.. По дефолту, не использует. Кем считается? Что такое серьезные вещи? Какой? gcc и есть компилятор.
rei3er О терминах не спорят, о них договариваются vorobei99 Зато он до недавнего времени был полностью платным. И является продуктом с закрытым кодом. А "многие кодят" на GCC в мире Линуха (ну Юниксов вообще, наверное). А в мире Вындовз (который ничуть не меньше) стандарт де-факто -- Вижуал Студио.
с некоторой точки зрения tinyc - лучше icc. Почему же не нем пишут проги, где важна скорость кода? нет однозначно лучшего компилятора, и утверждение что icc лучше gcc - бред сивой кобылы.
rei3er Почему ж? Просто разные критерии оценки. Если принять за основу мои критерии, думаю, Вы согласитесь, что 16- и 32-разрядные защищённые режимы -- разные. Если принять Ваши -- тут уже я соглашусь, что это один и тот же режим
режим - это прежде всего набор инвариантов он однозначно ими идентифицируется поэтому в принципе мой подход объективен