[Хех, отвечая на этот вопрос, он был перенесен на суперпользователя, затем удален, и теперь он, кажется, волшебным образом вернулся сюда. Третья попытка - очарование!]
Я плохо разбираюсь в SSE, но это механизм, позволяющий работать с несколькими наборами данных параллельно за такт. (Более старые микросхемы оставляли удивительное количество кремния в простое за цикл; чипы стали лучше выполнять несколько инструкций за цикл самостоятельно, но это потребовало изрядного количества догадок и полностью отказало в некоторых алгоритмах с большим объемом данных.) Таким образом, SSE требует страница из старых систем SIMD, которые позволяли выполнять одни и те же команды для нескольких фрагментов данных. Время настройки могло занять больше времени, но в долгосрочной перспективе это было сделано много.
В зависимости от того, что вы пытаетесь сделать, это может иметь огромное значение, но большинство программистов вероятно, никогда не потребуются инструменты, которые может предоставить SSE.
Что касается выполнения 32-битных процессов в 64-битных процессах для экономии памяти, это реальная возможность. Но когда AMD впервые представила набор инструкций x86-64, они очень осторожно указали на новые инструкции и дополнительные регистры, которые могли бы повысить производительность задач, для которых не исчерпывалось адресное пространство или выполнялось множество 64-битных арифметических операций. Они упомянули, что большинство людей, вероятно, захотят, чтобы большая часть кода выполнялась в 64-битном режиме, но в большинстве случаев повышение производительности будет незначительным.
Итак, за исключением Firefox и Flash, 64-разрядная версия является повсеместной, и расширение памяти из-за более крупных указателей не кажется большой проблемой.
person
sarnold
schedule
29.03.2011