Руководства, Инструкции, Бланки

Наборы Инструкций X86 X86-64 Mmx Sse Sse2 Sse3 Ssse3 img-1

Наборы Инструкций X86 X86-64 Mmx Sse Sse2 Sse3 Ssse3

Рейтинг: 4.0/5.0 (1918 проголосовавших)

Категория: Инструкции

Описание

Как узнать скольки разрядный процессор

Как узнать скольки разрядный процессор

Существует много способов это проверить. Самый простой вариант не предполагает установки каких-либо дополнительных программ, но и в тоже время он недостаточно точный. Для его осуществления просто запустите диспетчер задач, одновременно зажав три клавиши - Ctrl+Alt+Delete в операционной системе Windows. В открывшемся окошке во вкладке "Быстродействие", в строчке "Хронология загрузки ЦП" имеются окошки - это количество ядер процессора вашего компьютера. Если их два и более, можно на 99% процентов быть уверенным что разрядность процессора этого компьютера - 64 бита, так как все современные двухъядерные процессоры - 64-битные.

Но системный блок может быть достаточно старым и долго не обновлявшимся, соответственно такой способ узнать разрядность процессора уже не подойдёт. Обратитесь к дополнительным программам. Для более точного результата вам потребуется хотя бы пара таких программных утилит. Первая и достаточно простая в освоении - CPU-Z. Скачайте её с официального сайта программы - эта маленькая утилита совершенно бесплатна и займёт совсем незначительное место на пространстве вашего жёсткого диска. Установите её, запустите, и в самой первой вкладке под названием "CPU" будет отображена вся информация о вашем процессоре. Найдите строчку "Instructions". В ней вы можете увидеть, к примеру, вот такой шифр: MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, EM64TВКонкретно в вашем случае вас интересует только аббревиатура «EM64T» - она означает, что разрядность процессора - 64-бита. То же означает и «x86-64». Всё остальное - процессоры 32-битной разрядности.

Ещё одна полезная программа AIDA64. В отличие от CPU-Z она платная, но имеет 30-дневный пробный период. Скачав её с официального, сайта, установив и запустив, перейдите во вкладку "Системная плата", а далее в пункт "CPUID". Строчка «Наборы инструкций» расскажет вам о разрядности процессора - 64 или 32 бита .

Видео

Другие статьи

Хочу купить более мощный процессор

Хочу купить более мощный процессор

Для данной платформы уже давно нет в продаже процессоров.
Если вам нужен более быстрый вам, придётся покупать новую мат.плату + процессор на Socket 1150 или Socket АМ3+

2poy сказал верно, данный процессор почти "динозавр", на материнскую плату данного сокета трудно найти процессор, тем более лучше вашего. Если вы хотите процессор лучше, то это приведет и к замене материнской платы.

Ответить

Внимание! Материалы, размещенные на сайте club.dns-shop.ru. опубликованы посетителями нашего портала и могут не совпадать с мнением редакции. Рекомендуем перед тем, как предпринимать какие-либо действия на основании материалов, размещенных на club.dns-shop.ru. уточнить корректность информации в официальных источниках. Авторские права на фотографии, размещенные на club.dns-shop.ru. принадлежат авторам фотографий. Использование фотографий разрешается только с письменного разрешения правообладателя! Содержание нашего портала формируется и модерируется пользователями. Если Вы считаете, что размещение какого-то материала нарушает законодательство РФ, Правила «Клуба Экспертов» или Ваши авторские права – сообщите нам через сервис «пожаловаться». Администрация Сайта не несет ответственности за содержание сообщений и других материалов на сайте, их возможное несоответствие действующему законодательству, за достоверность размещаемых Пользователями материалов, качество информации и изображений.

© 2002—2016 Компания DNS

Выделите текст c ошибкой и нажмите Ctrl+Enter

Стоит ли ставить Gentoo ради ускорения?

Стоит ли ставить Gentoo ради ускорения?

Возможно из вас кто-то когда-то слышал: «Планирую поставить себе Gentoo, он будет лучше использовать возможности моего процессора и будет выжимать из него максимум». Чтож, давайте разберёмся…

Какие вообще бывают оптимизации под процессор В основном под этим подразумевают использование дополнительных наборов инструкций типа: MMX, SSE, AES и AVX при компиляции приложений. Однако, если копнуть глубоко, существуют и другие оптимизации и не только для приложений.
Я выделил следующие группы оптимизаций:
  • Оптимизации кода
    • Оптимизации кода при компиляции под дополнительные наборы инструкций x86. MMX, SSE, AES, ATA, AVX и др.
    • Оптимизации кода при его статическом анализе во время компиляции: разворачивание хвостовых рекурсий, убирание неиспользуемых участков кода, игнорирование бессмысленных условий и др.
    • Оптимизации для лучшего попадания в кеш процессора.
  • Оптимизации кода на уровне ядра: криптографических методы из Cryptographic API .


Оптимизации под дополнительные наборы инструкций лучше всего освещены на странице: Intel 386 and AMD x86-64 GCC Options. Начиная с Pentium MMX нам стал доступен MMX, потом AMD сделала 3DNow. потом в Pentium III появилось SSE, и пошло поехало. Intel Haswell, который порадовал нас в этом году, поддерживается: MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2 и F16C.
Работа с вещественными числами (FPU ) тоже косвенно относится к дополнительным наборам инструкций, ибо компилятор для этого может использовать SSE. Это быстрее x87 инструкций и не блокирует MMX. Ешё немного об этом будет ниже.

Следует отметить ещё одну важную особенность. Когда вслух упоминаются аббревиатуры SSE, MMX и AES, то очень часто у людей, знакомых с этими понятиями, всплывает в голове картинка, повествующая о нелёгкой жизни Си-программистов, которые ассемблерными вставками «пилят» поддержку этих инструкций в своём софте. А на самом деле существует аж 3 способа использования этих наборов инструкций: автоматически компилятором при статическом анализе кода, вручную с помощью специальных функций компилятора и вручную ассемблерными вставками (например: How to optimize code for MMX processors ). В каких именно случаях GCC автоматически использует наборы инструкций, если они разрешены, — не понятно, но в руководстве четко сказано, что такие случаи есть (будем надеяться в комментариях напишут).

Оптимизации кода при статическом анализе лучше всего освещены на странице Options That Control Optimization. Возможностей очень много, но дабы не запутаться, они сгруппированы в мета флаги: O0, O1, O2, O3. Больше информации по этим флагам можно найти ниже в прилинкованных статьях.

Оптимизации для лучшего попадания в кеш процессора. Быстро объяснить не получится, поэтому я отсылаю читателя в другую статью: Пузырьки, кэши и предсказатели переходов. Я лишь скажу, что для анализа мест, которые можно оптимизировать программисты могут использовать Intel VTune Performance Analyzer и AMD CodeAnalyst. И, вроде как, ICC Intel C++ compiler умеет делать такие оптимизации в некоторых случаях автоматически, а как дела с этим у GCC сегодня, надеюсь знающие люди дополнят в комментариях.

Оптимизации кода на уровне ядра. Позволяют ускорять функции в Cryptographic API Framework, такие как шифрование AES, Twofish и другие, используя дополнительные наборы инструкций, такие как: SSE, AVX, AES. Эти функции могут использоваться в других модулях ядра, а также вызываться снаружи из приложений.

С теорией разобрались, перейдём к тому, как это используется.

Если у вас Ubuntu

Предположим вы сидите на Ubuntu. В зависимости от разрядности операционной системы у вас на выбор пакеты с суффиксом i386 или amd64 (пример ). i386 вовсе не означает, что пакет будет работать на любом процессоре, начиная от 386, он просто обозначает, что целевое назначение пакета — 32-битная платформа x86. В свою очередь amd64 означает поддержку 64-битной платформы x86-64. Мы можем это легко проверить, если наберём в консоле:

На 32-битной Ubuntu 12.04 LTS Server мы увидим i686-linux-gnu. а на 64-битной — мы должны увидеть x86_64-linux-gnu .
Предположим у вас 32-битный Pentium 4, вам доступны MMX, SSE и SSE2, но они не использовались при генерации пакетов, так как эти же пакеты должны работать на Intel Celeron, где есть только MMX, и возможно даже на Pentium Pro, где нет даже MMX.
Дополнительные наборы инструкций будут задействованы только в пакетах, которые сами на лету определяют процессор и включают более быстрый алгоритм для данного процессора. Хорошая новость состоит в том, что это происходит почти во всех мультимедия пакетах.
Также не ясно с какими оптимизациями кода собиралась 32-битная Ubuntu. Если посмотреть вывод GCC, то есть немного из -O1, и из -O2 и из -O3. Если пакеты для Ubuntu под конкретную версию принято собрать на самой системе с опциями компиляции по умолчанию, то видимо они собираются не самым оптимальным (из рациональных) способом.
Ну и наконец, функции в kernel Cryptographic API используются не оптимизированные. Оптимизированные функции под дополнительные наборы инструкций присутствуют в системе только в виде модулей, и только для i586 и AES (для VIA Nano), но не подгружены по умолчанию. Также не понятно, что из 586 можно использовать для оптимизаций.

В Ubuntu 12.04 64-bit дела гораздо лучше. Во-первых: gcc по умолчанию для 64-битных систем использует расширения: MMX, SSE, SSE2, поэтому код может быть несколько оптимизирован. Во-вторых для x86-64 по умолчанию -mfpmath=sse. что ускоряет арифметику для вещественных чисел.
Оптимизированные функции kernel Cryptographic API под дополнительные наборы инструкций присутствуют в системе в модулях, но не подгружены по умолчанию. По крайней мере их можно включить.
Ну и наконец, gcc собирает пакеты с тем же странным набором оптимизаций, что и для Ubuntu 32-битной.

Если у вас Gentoo

То скорее всего вы читали эту страницу из руководства. А значит вы выставили себе -O2 и -march=native (или правильный процессор). Но скорее всего вы во-первых: не заходили в Cryptographic API при настройке ядра и не ускорили себе некоторые инструкции, а как минимум стоит ускорить AES. Во-вторых: вы скорее всего не выставили USE-флаги для дополнительных инструкций процессора из тех, что вам доступны: 3dnow, mmx, sse, sse2, sse3. Или выставили не все из них. А это значит, что для приложений намеренно выносящих активацию оптимизаций в USE-флаги, вы остались без дополнительного ускорения.


Помимо глобальных флагов, существуют также локальные флаги, которые задействуют дополнительные инструкции для некоторых приложений. Такие как: 3dnowext, ssse3, sse4, sse4_1, avx, avx128fma, avx256 и aes-ni. Всё что у вас поддерживается лучше тоже выставить.



Современный stage3 под amd64 по умолчанию выставляет: bindist, mmx, sse, sse2. К несчастью bindist отключает дополнительные инструкции в некоторых пакетах для их переносимости. Если вам нужен bindist, используйте дополнительно cpudetection, чтобы нивелировать недостатки bindist флага в некоторых приложениях.

В каких же пакетах Gentoo можно получить прирост?

app-arch/libzpaq
app-emulation/bochs
media-libs/freeverb3 (audio)
media-libs/libpostproc (video)
media-libs/libvpx (video VP8)
media-plugins/vdr-softdevice (video)
media-sound/mpg123
media-video/ffmpeg
media-video/libav
media-video/mplayer
media-video/mplayer2
media-video/vlc
net-libs/cyassl
net-misc/bfgminer (bitcoin)
sci-biology/raxml
sci-libs/fftw
sci-chemistry/gromacs
sys-fs/loop-aes
x11-libs/pixman

Дополнительно флаг orc, который и так выставлен по умолчанию, помогает задействовать дополнительные инструкции процессора в:
media-libs/gstreamer (audio+video)

Дополнительно флаг cpudetection, который не выставлен по умолчанию, помогает задействовать дополнительные инструкции процессора на лету в:
media-sound/jack-audio-connection-kit
media-video/ffmpeg
media-video/libav
media-video/mplayer
media-video/mplayer2
sci-libs/mpir

Выводы
  • В 32-битных системах наибольший прирост от Gentoo можно получить на процессорах последних моделей.
  • В 64-битных системах прирост от Gentoo можно получить только за счёт использования более новых версий компилятора и оптимизации -O2.
  • Даже Gentoo, даже после чтения официальной документации не мешает поднастроить.
  • Не Gentoo тоже можно ускорить.
Дополнительный материал
Материал по ICC

The Abyss - ??? ????? ????? ?????????

???????? ??:
??? ?? QuadCore Intel Core 2 Q9300, 2500 MHz (7.5 x 333)
????????? ?? Yorkfield-3M
?????? ?????????? x86, x86-64, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1
???????? ??????? 2500 ???
???./????. ????????? ?? 6.0x / 7.5x
Engineering Sample ???
??? L1 ???? 32 ?? per core
??? L1 ?????? 32 ?? per core
??? L2 2x 3 ?? (On-Die, ASC, Full-Speed)

Multi CPU:
ID ????????? ????? P5K
CPU #1 Intel® Core™2 Quad CPU Q9300 @ 2.50GHz, 2499 ???
CPU #2 Intel® Core™2 Quad CPU Q9300 @ 2.50GHz, 2499 ???
CPU #3 Intel® Core™2 Quad CPU Q9300 @ 2.50GHz, 2499 ???
CPU #4 Intel® Core™2 Quad CPU Q9300 @ 2.50GHz, 2499 ???

???????? ??: ??? ?? QuadCore Intel Core 2 Q9300, 2500 MHz (7.5 x 333) ????????? ?? Yorkfield-3M ?????? ?????????? x86, x86-64, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 ???????? ??????? 2500 ??? ???./????. ????????? ?? 6.0x / 7.5x Engineering Sample ??? ??? L1 ???? 32 ?? per core ??? L1 ?????? 32 ?? per core ??? L2 2x 3 ?? (On-Die, ASC, Full-Speed) Multi CPU: ID ????????? ????? P5K CPU #1 Intel? Core?2 Quad CPU Q9300 @ 2.50GHz, 2499 ??? CPU #2 Intel? Core?2 Quad CPU Q9300 @ 2.50GHz, 2499 ??? CPU #3 Intel? Core?2 Quad CPU Q9300 @ 2.50GHz, 2499 ??? CPU #4 Intel? Core?2 Quad CPU Q9300 @ 2.50GHz, 2499 ?????

Выбор процессора для моего компьютера - Процессоры - Компьютерный форум

При включенной игре нагрузка на проц достигает 95%, помогите пожалуста подобрать проц( у меня есть 1 вариант)

Вот описание моей материнки:

Свойства системной платы:
Системная плата MSI G41M-P26 (MS-7592)

Свойства шины FSB:
Тип шины Intel AGTL+
Ширина шины 64 бит
Реальная частота 267 МГц (QDR)
Эффективная частота 1067 МГц
Пропускная способность 8533 Мб/с

Свойства шины памяти:
Тип шины Dual DDR3 SDRAM
Ширина шины 128 бит
Соотношение DRAM:FSB 16:8
Реальная частота 533 МГц (DDR)
Эффективная частота 1067 МГц
Пропускная способность 17067 Мб/с

Свойства шины чипсета:
Тип шины Intel Direct Media Interface

Физическая информация о системной плате:
Число гнёзд для ЦП 1 LGA775
Разъёмы расширения 2 PCI, 1 PCI-E x16
Разъёмы ОЗУ 2 DDR3 DIMM
Встроенные устройства Audio, Video, LAN
Форм-фактор Micro ATX
Размеры системной платы 200 mm x 240 mm
Чипсет системной платы G41


Вот мой процессор:

Свойства ЦП:
Тип ЦП DualCore Intel Pentium E6700, 3200 MHz (12 x 267)
Псевдоним ЦП Wolfdale-2M
Степпинг ЦП R0
Наборы инструкций x86, x86-64, MMX, SSE, SSE2, SSE3, SSSE3
Исходная частота 3200 МГц
Мин./макс. множитель ЦП 6x / 12x
Engineering Sample Нет
Кэш L1 кода 32 Кб per core
Кэш L1 данных 32 Кб per core
Кэш L2 2 Мб (On-Die, ECC, ASC, Full-Speed)

Multi CPU:
ID системной платы Intel Eaglelake
CPU #1 IntelPentium(R) Dual-Core CPU E6700 @ 3.20GHz, 3199 МГц
CPU #2 IntelPentium(R) Dual-Core CPU E6700 @ 3.20GHz, 3199 МГц

Физическая информация о ЦП:
Тип корпуса 775 Contact FC-LGA8
Размеры корпуса 37.5 mm x 37.5 mm
Число транзисторов 228 млн.
Технологический процесс 45 nm, CMOS, Cu, High-K + Metal Gate
Размер кристалла 82 mm2
Напряжение питания ядра 1.100 - 1.288 V
Напряжение I/O 1.100 - 1.288 V


Загрузка ЦП:
ЦП 1 / Ядро 1 66 %
ЦП 1 / Ядро 2 0 %


Вот характеристики процессора, который хочу:

CPU Intel Core 2 Quad Q9300 2.5 ГГц / 4core / 6Мб / 95 Вт / 1333МГц LGA775

Свойства ЦП:
Тип ЦП DualCore Intel Pentium E6700, 3200 MHz (12 x 267)
Псевдоним ЦП Wolfdale-2M
Степпинг ЦП R0
Наборы инструкций x86, x86-64, MMX, SSE, SSE2, SSE3, SSSE3
Исходная частота 3200 МГц
Мин./макс. множитель ЦП 6x / 12x
Engineering Sample Нет
Кэш L1 кода 32 Кб per core
Кэш L1 данных 32 Кб per core
Кэш L2 2 Мб (On-Die, ECC, ASC, Full-Speed)

Multi CPU:
ID системной платы Intel Eaglelake
CPU #1 IntelPentium(R) Dual-Core CPU E6700 @ 3.20GHz, 3199 МГц
CPU #2 IntelPentium(R) Dual-Core CPU E6700 @ 3.20GHz, 3199 МГц

Физическая информация о ЦП:
Тип корпуса 775 Contact FC-LGA8
Размеры корпуса 37.5 mm x 37.5 mm
Число транзисторов 228 млн.
Технологический процесс 45 nm, CMOS, Cu, High-K + Metal Gate
Размер кристалла 82 mm2
Напряжение питания ядра 1.100 - 1.288 V
Напряжение I/O 1.100 - 1.288 V

Загрузка ЦП:
ЦП 1 / Ядро 1 66 %
ЦП 1 / Ядро 2 0 %


Подскажите пожалуйста, подойдет ли этот проц под мою материнку?( мне сказали, что эта материнка не расчитана на 4 ядра( а в этом процессоре 4 ядра же),т е. она поддерживает только два) Нужно ли для него покупать отдельно куллер или мой справится? Вообще хороший проц я выбрал себе?) Заранее спасибо за ответы

При включенной игре нагрузка на проц достигает 95%, помогите пожалуста подобрать проц( у меня есть 1 вариант)

Вот описание моей материнки:

Свойства системной платы:
Системная плата MSI G41M-P26 (MS-7592)

Свойства шины FSB:
Тип шины Intel AGTL+
Ширина шины 64 бит
Реальная частота 267 МГц (QDR)
Эффективная частота 1067 МГц
Пропускная способность 8533 Мб/с

Свойства шины памяти:
Тип шины Dual DDR3 SDRAM
Ширина шины 128 бит
Соотношение DRAM:FSB 16:8
Реальная частота 533 МГц (DDR)
Эффективная частота 1067 МГц
Пропускная способность 17067 Мб/с

Свойства шины чипсета:
Тип шины Intel Direct Media Interface

Физическая информация о системной плате:
Число гнёзд для ЦП 1 LGA775
Разъёмы расширения 2 PCI, 1 PCI-E x16
Разъёмы ОЗУ 2 DDR3 DIMM
Встроенные устройства Audio, Video, LAN
Форм-фактор Micro ATX
Размеры системной платы 200 mm x 240 mm
Чипсет системной платы G41


Вот мой процессор:

Свойства ЦП:
Тип ЦП DualCore Intel Pentium E6700, 3200 MHz (12 x 267)
Псевдоним ЦП Wolfdale-2M
Степпинг ЦП R0
Наборы инструкций x86, x86-64, MMX, SSE, SSE2, SSE3, SSSE3
Исходная частота 3200 МГц
Мин./макс. множитель ЦП 6x / 12x
Engineering Sample Нет
Кэш L1 кода 32 Кб per core
Кэш L1 данных 32 Кб per core
Кэш L2 2 Мб (On-Die, ECC, ASC, Full-Speed)

Multi CPU:
ID системной платы Intel Eaglelake
CPU #1 IntelPentium(R) Dual-Core CPU E6700 @ 3.20GHz, 3199 МГц
CPU #2 IntelPentium(R) Dual-Core CPU E6700 @ 3.20GHz, 3199 МГц

Физическая информация о ЦП:
Тип корпуса 775 Contact FC-LGA8
Размеры корпуса 37.5 mm x 37.5 mm
Число транзисторов 228 млн.
Технологический процесс 45 nm, CMOS, Cu, High-K + Metal Gate
Размер кристалла 82 mm2
Напряжение питания ядра 1.100 - 1.288 V
Напряжение I/O 1.100 - 1.288 V


Загрузка ЦП:
ЦП 1 / Ядро 1 66 %
ЦП 1 / Ядро 2 0 %


Вот характеристики процессора, который хочу:

CPU Intel Core 2 Quad Q9300 2.5 ГГц / 4core / 6Мб / 95 Вт / 1333МГц LGA775

Свойства ЦП:
Тип ЦП DualCore Intel Pentium E6700, 3200 MHz (12 x 267)
Псевдоним ЦП Wolfdale-2M
Степпинг ЦП R0
Наборы инструкций x86, x86-64, MMX, SSE, SSE2, SSE3, SSSE3
Исходная частота 3200 МГц
Мин./макс. множитель ЦП 6x / 12x
Engineering Sample Нет
Кэш L1 кода 32 Кб per core
Кэш L1 данных 32 Кб per core
Кэш L2 2 Мб (On-Die, ECC, ASC, Full-Speed)

Multi CPU:
ID системной платы Intel Eaglelake
CPU #1 IntelPentium(R) Dual-Core CPU E6700 @ 3.20GHz, 3199 МГц
CPU #2 IntelPentium(R) Dual-Core CPU E6700 @ 3.20GHz, 3199 МГц

Физическая информация о ЦП:
Тип корпуса 775 Contact FC-LGA8
Размеры корпуса 37.5 mm x 37.5 mm
Число транзисторов 228 млн.
Технологический процесс 45 nm, CMOS, Cu, High-K + Metal Gate
Размер кристалла 82 mm2
Напряжение питания ядра 1.100 - 1.288 V
Напряжение I/O 1.100 - 1.288 V

Загрузка ЦП:
ЦП 1 / Ядро 1 66 %
ЦП 1 / Ядро 2 0 %


Подскажите пожалуйста, подойдет ли этот проц под мою материнку?( мне сказали, что эта материнка не расчитана на 4 ядра( а в этом процессоре 4 ядра же),т е. она поддерживает только два) Нужно ли для него покупать отдельно куллер или мой справится? Вообще хороший проц я выбрал себе?) Заранее спасибо за ответы

Стоит ли ставить Gentoo ради ускорения? Скорая Компьютерная Помощь

Группа: Главные администраторы
Сообщений: 14349
Регистрация: 12.10.2007
Из: Twilight Zone
Пользователь №: 1


Операционные системы *,
Linux *
Возможно из вас кто-то когда-то слышал: «Планирую поставить себе Gentoo, он будет лучше использовать возможности моего процессора и будет выжимать из него максимум». Чтож, давайте разберёмся…


Какие вообще бывают оптимизации под процессор


В основном под этим подразумевают использование дополнительных наборов инструкций типа: MMX, SSE, AES и AVX при компиляции приложений. Однако, если копнуть глубоко, существуют и другие оптимизации и не только для приложений.

Я выделил следующие группы оптимизаций:

  • Оптимизации кода
    • Оптимизации кода при компиляции под дополнительные наборы инструкций x86. MMX, SSE, AES, ATA, AVX и др.
    • Оптимизации кода при его статическом анализе во время компиляции: разворачивание хвостовых рекурсий, убирание неиспользуемых участков кода, игнорирование бессмысленных условий и др.
    • Оптимизации для лучшего попадания в кеш процессора.
  • Оптимизации кода на уровне ядра: криптографических методы из Cryptographic API .

Оптимизации под дополнительные наборы инструкций лучше всего освещены на странице: Intel 386 and AMD x86-64 GCC Options. Начиная с Pentium MMX нам стал доступен MMX, потом AMD сделала 3DNow!, потом в Pentium III появилось SSE, и пошло поехало. Intel Haswell, который порадовал нас в этом году, поддерживается: MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2 и F16C.

Работа с вещественными числами (FPU ) тоже косвенно относится к дополнительным наборам инструкций, ибо компилятор для этого может использовать SSE. Это быстрее x87 инструкций и не блокирует MMX. Ешё немного об этом будет ниже.

Следует отметить ещё одну важную особенность. Когда вслух упоминаются аббревиатуры SSE, MMX и AES, то очень часто у людей, знакомых с этими понятиями, всплывает в голове картинка, повествующая о нелёгкой жизни Си-программистов, которые ассемблерными вставками «пилят» поддержку этих инструкций в своём софте. А на самом деле существует аж 3 способа использования этих наборов инструкций: автоматически компилятором при статическом анализе кода, вручную с помощью специальных функций компилятора и вручную ассемблерными вставками (например: How to optimize code for MMX processors ). В каких именно случаях GCC автоматически использует наборы инструкций, если они разрешены, — не понятно, но в руководстве четко сказано, что такие случаи есть (будем надеяться в комментариях напишут).

Оптимизации кода при статическом анализе лучше всего освещены на странице Options That Control Optimization. Возможностей очень много, но дабы не запутаться, они сгруппированы в мета флаги: O0, O1, O2, O3, Ofast. Больше информации по этим флагам можно найти ниже в прилинкованных статьях.

Оптимизации для лучшего попадания в кеш процессора. Быстро объяснить не получится, поэтому я отсылаю читателя в другую статью: Пузырьки, кэши и предсказатели переходов. Я лишь скажу, что для анализа мест, которые можно оптимизировать программисты могут использовать Intel VTune Performance Analyzer и AMD CodeAnalyst. И, вроде как, ICC Intel C++ compiler умеет делать такие оптимизации в некоторых случаях автоматически, а как дела с этим у GCC сегодня, надеюсь знающие люди дополнят в комментариях.

Оптимизации кода на уровне ядра. Позволяют ускорять функции в Cryptographic API Framework, такие как шифрование AES, Twofish и другие, используя дополнительные наборы инструкций, такие как: SSE, AVX, AES. Эти функции могут использоваться в других модулях ядра, а также вызываться снаружи из приложений.

С теорией разобрались, перейдём к тому, как это используется.


Если у вас Ubuntu


Предположим вы сидите на Ubuntu. В зависимости от разрядности операционной системы у вас на выбор пакеты с суффиксом i386 или amd64 (пример ). i386 вовсе не означает, что пакет будет работать на любом процессоре, начиная от 386, он просто обозначает, что целевое назначение пакета — 32-битная платформа x86. В свою очередь amd64 означает поддержку 64-битной платформы x86-64. Мы можем это легко проверить, если наберём в консоли:

На 32-битной Ubuntu 12.04 LTS Server мы увидим i686-linux-gnu. а на 64-битной — мы должны увидеть x86_64-linux-gnu .

Предположим у вас 32-битный Pentium 4, вам доступны MMX, SSE и SSE2, но они не использовались при генерации пакетов, так как эти же пакеты должны работать на Intel Celeron, где есть только MMX, и возможно даже на Pentium Pro, где нет даже MMX.

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

Также не ясно с какими оптимизациями кода собиралась 32-битная Ubuntu. Если посмотреть вывод GCC, то есть немного из -O1, и из -O2 и из -O3. Если пакеты для Ubuntu под конкретную версию принято собрать на самой системе с опциями компиляции по умолчанию, то видимо они собираются не самым оптимальным (из рациональных) способом.

Ну и наконец, функции в kernel Cryptographic API используются не оптимизированные. Оптимизированные функции под дополнительные наборы инструкций присутствуют в системе только в виде модулей, и только для i586 и AES (для VIA Nano), но не подгружены по умолчанию. Также не понятно, что из 586 можно использовать для оптимизаций.

В Ubuntu 12.04 64-bit дела гораздо лучше. Во-первых: gcc по умолчанию для 64-битных систем использует расширения: MMX, SSE, SSE2, поэтому код может быть несколько оптимизирован. Во-вторых для x86-64 по умолчанию -mfpmath=sse. что ускоряет арифметику для вещественных чисел.

Оптимизированные функции kernel Cryptographic API под дополнительные наборы инструкций присутствуют в системе в модулях, но не подгружены по умолчанию. По крайней мере их можно включить.

Ну и наконец, gcc собирает пакеты с тем же странным набором оптимизаций, что и для Ubuntu 32-битной.


Если у вас Gentoo


То скорее всего вы читали эту страницу из руководства. А значит вы выставили себе -O2 и -march=native (или правильный процессор). Но скорее всего вы во-первых: не заходили в Cryptographic API при настройке ядра и не ускорили себе некоторые инструкции, а как минимум стоит ускорить AES. Во-вторых: вы скорее всего не выставили USE-флаги для дополнительных инструкций процессора из тех, что вам доступны: 3dnow, mmx, sse, sse2, sse3. Или выставили не все из них. А это значит, что для приложений намеренно выносящих активацию оптимизаций в USE-флаги, вы остались без дополнительного ускорения.

Помимо глобальных флагов, существуют также локальные флаги, которые задействуют дополнительные инструкции для некоторых приложений. Такие как: 3dnowext, ssse3, sse4, sse4_1, avx, avx128fma, avx256 и aes-ni. Всё что у вас поддерживается лучше тоже выставить.

Современный stage3 под amd64 по умолчанию выставляет: bindist, mmx, sse, sse2. К несчастью bindist отключает дополнительные инструкции в некоторых пакетах для их переносимости. Если вам нужен bindist, используйте дополнительно cpudetection, чтобы нивелировать недостатки bindist флага в некоторых приложениях.


В каких же пакетах Gentoo можно получить прирост?

media-libs/libvpx (video VP8)

Решено: Какую архитектуру выбрать?

У меня процессор Intel Pentium 4 631, 3000 MHz (15 x 200) двух ядерный 64бит.Архитектура Intel® 64 ,вообщем какую мне выбрать для моего проца. http://www.debian.org/CD/torrent-cd/.

Свойства ЦП:
Тип ЦП Intel Pentium 4 631, 3000 MHz (15 x 200)
Псевдоним ЦП Cedar Mill
Степпинг ЦП D0
Наборы инструкций x86, x86-64, MMX, SSE, SSE2, SSE3
Исходная частота 3000 МГц
Мин./макс. множитель ЦП 12x / 15x
Engineering Sample Нет
Кэш L1 трассировки 12K Instructions
Кэш L1 данных 16 Кб
Кэш L2 2 Мб (On-Die, ECC, ATC, Full-Speed)

Multi CPU:
ID системной платы INTEL
CPU #1 Intel® Pentium® 4 CPU 3.00GHz, 3010 МГц
CPU #2 Intel® Pentium® 4 CPU 3.00GHz, 3010 МГц


Свойства CPUID:
Производитель CPUID GenuineIntel
Имя ЦП CPUID Intel® Pentium® 4 CPU 3.00GHz
Версия CPUID 00000F65h
Идентификатор марки IA 00h (Неизвестно)
Идентификатор платформы 2Ah / MC 04h (LGA775)
Версия обновления микрокода 7
HTT / CMP 2 / 1

Наборы инструкций:
64-бит x86-расширение (AMD64, Intel64) Поддерживается
AMD 3DNow! Не поддерживается
AMD 3DNow! Professional Не поддерживается
AMD 3DNowPrefetch Не поддерживается
AMD Enhanced 3DNow! Не поддерживается
AMD Extended MMX Не поддерживается
AMD MisAligned SSE Не поддерживается
AMD SSE4A Не поддерживается
AMD SSE5 Не поддерживается
Cyrix Extended MMX Не поддерживается
IA-64 Не поддерживается
IA MMX Поддерживается
IA SSE Поддерживается
IA SSE 2 Поддерживается
IA SSE 3 Поддерживается
IA Supplemental SSE 3 Не поддерживается
IA SSE 4.1 Не поддерживается
IA SSE 4.2 Не поддерживается
IA AVX Не поддерживается
IA FMA Не поддерживается
IA AES Extensions Не поддерживается
VIA Alternate Instruction Set Не поддерживается
Инструкция CLFLUSH Поддерживается
Инструкция CMPXCHG8B Поддерживается
Инструкция CMPXCHG16B Поддерживается
Инструкция Conditional Move Поддерживается
Инструкция LZCNT Не поддерживается
Инструкция MONITOR / MWAIT Поддерживается
Инструкция MOVBE Не поддерживается
Инструкция PCLMULQDQ Не поддерживается
Инструкция POPCNT Не поддерживается
Инструкция RDTSCP Не поддерживается
Инструкция SYSCALL / SYSRET Не поддерживается
Инструкция SYSENTER / SYSEXIT Поддерживается
Инструкция VIA FEMMS Не поддерживается

Функции безопасности:
Advanced Cryptography Engine (ACE) Не поддерживается
Advanced Cryptography Engine 2 (ACE2) Не поддерживается
Запрет исполнения данных (DEP, NX, EDB) Не поддерживается
Аппаратный генератор случайных чисел (RNG) Не поддерживается
PadLock Hash Engine (PHE) Не поддерживается
PadLock Montgomery Multiplier (PMM) Не поддерживается
Серийный номер процессора (PSN) Не поддерживается

Функции электропитания:
Automatic Clock Control Поддерживается
Digital Thermometer Не поддерживается
Dynamic FSB Frequency Switching Не поддерживается
Enhanced Halt State (C1E) Поддерживается, Разрешено
Enhanced SpeedStep Technology (EIST, ESS) Поддерживается, Разрешено
Frequency ID Control Не поддерживается
Hardware P-State Control Не поддерживается
LongRun Не поддерживается
LongRun Table Interface Не поддерживается
PowerSaver 1.0 Не поддерживается
PowerSaver 2.0 Не поддерживается
PowerSaver 3.0 Не поддерживается
Processor Duty Cycle Control Поддерживается
Software Thermal Control Не поддерживается
Термодиод Не поддерживается
Thermal Monitor 1 Поддерживается
Thermal Monitor 2 Поддерживается
Thermal Monitoring Не поддерживается
Thermal Trip Не поддерживается
Voltage ID Control Не поддерживается

Функции CPUID:
1 GB Page Size Не поддерживается
36-bit Page Size Extension Поддерживается
Address Region Registers (ARR) Не поддерживается
CPL Qualified Debug Store Поддерживается
Debug Trace Store Поддерживается
Debugging Extension Поддерживается
Direct Cache Access Не поддерживается
Dynamic Acceleration Technology (IDA) Не поддерживается
Fast Save & Restore Поддерживается
Hyper-Threading Technology (HTT) Поддерживается, Разрешено
Invariant Time Stamp Counter Поддерживается
L1 Context ID Поддерживается
Local APIC On Chip Поддерживается
Machine Check Architecture (MCA) Поддерживается
Machine Check Exception (MCE) Поддерживается
Memory Configuration Registers (MCR) Не поддерживается
Memory Type Range Registers (MTRR) Поддерживается
Model Specific Registers (MSR) Поддерживается
Nested Paging Не поддерживается
Page Attribute Table (PAT) Поддерживается
Page Global Extension Поддерживается
Page Size Extension (PSE) Поддерживается
Pending Break Event Поддерживается
Physical Address Extension (PAE) Поддерживается
Safer Mode Extensions (SMX) Не поддерживается
Secure Virtual Machine Extensions (Pacifica) Не поддерживается
Self-Snoop Поддерживается
Time Stamp Counter (TSC) Поддерживается
Turbo Boost Не поддерживается
Virtual Machine Extensions (Vanderpool) Не поддерживается
Virtual Mode Extension Поддерживается
x2APIC Не поддерживается
XSAVE / XRSTOR Extended States Не поддерживается

Почему нормальный комп не тянет WOT? - Архив технического раздела - Официальный форум игры World of Tanks - Страница 2

Почему нормальный комп не тянет WOT. !!

Ребят, помогите пожалуйста, крик души.
Система чистая Win7, одни танки установлены, ну и дрова все необходимые)
Но суть о железе!
Характеристики компа:
Проц: DualCore Intel Pentium D 945, 3400 MHz. по 3.4 два ядра, наборы инструкций x86, x86-64, MMX, SSE, SSE2, SSE3.
Память: DDR2 две планки по 1гб. итого всего 2гб. оперативки.
Видеокарта: GeForce 9800 GT 512мб.

Всё на минималках стоит. но при этом все красиво показывает!
начинается бой 25-30фпс, когда замес начинается и танкуешь с врагами,
фпс падает и жестко тормозить начинает, играть невозможно.
В чем беда. подскажите!
буду бесконечно благодарен.

странно что этот калькулятор еще танки откраивает да сейчас планшеты и то по мощнее будут

____SERIOS_MAN____ #27 Отправлено 25 Май 2015 - 22:16

Не слабоват. частоту надо выше, памяти больше. Видюху от 1 гига, а лучше 2.

Гигабайты не самое главное. А вот разрядность шины намного важнее. Между 128 б и 256 б видеокартами видно разницу не вооруженным глазом.

vinterro #28 Отправлено 25 Май 2015 - 22:18

Для начала пожалуйста, прикрепите файлы DxDiag и Python.log. которые необходимы для диагностирования вашей проблемы.

virtnext #29 Отправлено 25 Май 2015 - 22:18

а вы не задумывались над тем, что ПК решает умственные задачи быстрее человека, практически любой. даже ламповый. для игры создателю темы обнова нужна, сходите в магазин.


не зарекаться 13 rus

vinterro #30 Отправлено 25 Май 2015 - 22:24

Для начала пожалуйста, прикрепите файлы DxDiag и Python.log. которые необходимы для диагностирования вашей проблемы.

ober1978 #31 Отправлено 25 Май 2015 - 22:29

а вы не задумывались над тем, что ПК решает умственные задачи быстрее человека, практически любой. даже ламповый. для игры создателю темы обнова нужна, сходите в магазин.

Ребят, помогите пожалуйста, крик души.
Система чистая Win7, одни танки установлены, ну и дрова все необходимые)
Но суть о железе!
Характеристики компа:
Проц: DualCore Intel Pentium D 945, 3400 MHz. по 3.4 два ядра, наборы инструкций x86, x86-64, MMX, SSE, SSE2, SSE3.
Память: DDR2 две планки по 1гб. итого всего 2гб. оперативки.
Видеокарта: GeForce 9800 GT 512мб.

Всё на минималках стоит. но при этом все красиво показывает!
начинается бой 25-30фпс, когда замес начинается и танкуешь с врагами,
фпс падает и жестко тормозить начинает, играть невозможно.
В чем беда. подскажите!
буду бесконечно благодарен.

Если денег нема и мать поддерживает, то советую поменять процессор хотя бы на core 2 duo(c частотой

3 гигагерца(если мать делать разгон позволит, то можно и 1.86 гигагерца взять)), это поможет с минимальным вложением поднять фпс, а конкретно ваш процессор уже устарел да и в его время шлаком был. Плюс, для Windows 7 под танки памяти нужно 3 гигабайта, по идее сами смотрите график загрузки памяти, некоторым и без танков браузерам не хватает.

Alekcsan #35 Отправлено 25 Май 2015 - 22:36

Ребят, помогите пожалуйста, крик души.
Система чистая Win7, одни танки установлены, ну и дрова все необходимые)
Но суть о железе!
Характеристики компа:
Проц: DualCore Intel Pentium D 945, 3400 MHz. по 3.4 два ядра, наборы инструкций x86, x86-64, MMX, SSE, SSE2, SSE3.
Память: DDR2 две планки по 1гб. итого всего 2гб. оперативки.
Видеокарта: GeForce 9800 GT 512мб.

Всё на минималках стоит. но при этом все красиво показывает!
начинается бой 25-30фпс, когда замес начинается и танкуешь с врагами,
фпс падает и жестко тормозить начинает, играть невозможно.
В чем беда. подскажите!
буду бесконечно благодарен.

1) Игре может не хватать свободной ОЗУ. На это указывают строчки из DxDiag'a:

Иными словами, в момент создания отчёта использовалось полностью вся оперативная память и ещё 800 МБ медленного файла подкачки. Для того, чтобы игра нормально работала, в идеале перед её запуском должно быть свободно примерно 1 ГБ ОЗУ. Для этого нужно выключить вообще всё, что не нужно для игры (Skype, браузер, торрент-клиенты и т.д.).

2) Драйверы на Вашу видеокарту устарели уже как почти 6 лет назад. Установите новую версию: http://www.nvidia.ru. nd.aspx?lang=ru

Напишите, помогло ли это Вам.


Адреса и расположение игровых серверов: