Версия программы 32 или 64 - страница 3

 
Uladzimir Kirychenka:

Ладно если затронули тему float и double.

Можно ли использовать int (int32 или int64)? Просто использовать пункты. Даже такой момент как a = b, на целочисленных данных работает значительно быстрее.

Во многих моментах мы используем double co значением от 0 до 1, и максимум точность в 15—17 десятичных цифр. А вот в int64 точность уже 18-20 десятичных чисел.

Я не против 64 бит. Я против необдуманного перерасхода ресурсов. 

 

Есть еще одна существенная проблема !

    Выполнение команд 32x   под управлением  процессора 64x - происходит медленней.
При равной мощи процессоров -  на 32 битном оборудовании обработка такого  же кода  - происходит   быстрей.
Все дело в том , что процессор 64x  исполняя устаревшие команды 32x  - вынужден  заниматься эмуляцией.
Это все равно - что  читать книгу на древнем языке.

Не понимаю - зачем на железо 64x ставить  операционные системы  32х
 

Yuriy Zaytsev:
Есть еще одна существенная проблема !

    Выполнение команд 32x   под управлением  процессора 64x - происходит медленней.
При равной мощи процессоров -  на 32 битном оборудовании обработка такого  же кода  - происходит   быстрей.
Все дело в том , что процессор 64x  исполняя устаревшие команды 32x  - вынужден  заниматься эмуляцией.
Это все равно - что  читать книгу на древнем языке.

Не понимаю - зачем на железо 64x ставить  операционные системы  32х

Уверен ?

Попробуй тогда капнуть поглубже в систему команд процессора. Система команд x64 включает все команды x32 (кроме явно устаревших) плюс новые команды. А также там присутствуют типы данных от 8 битных до 256 битных.   

 
Uladzimir Kirychenka:

Уверен ?

Попробуй тогда капнуть поглубже в систему команд процессора. Система команд x64 включает все команды x32 (кроме явно устаревших) плюс новые команды. А также там присутствуют типы данных от 8 битных до 256 битных.  



Вы в курсе как работает процессор на уровне микрокода? Мне доводилось это  изучать . Т е как по тактам выполняются команды, как на стенде можно прогнать команду процессора по шагам.
  Вы знаете что команда деления самая затратнвя и что команда сложения имеет меньше тактов и выполняется быстрее.
Повторбсь ещё раз , процессор 64х обрабатывает команды 32х в режиме эмуляции.
  Я понимаю , что я для Вас не авторитет и то что я бывший электронщик тоже не причина верить ...
Откройте мануалы компании Интел, просто почитайте прогуглившись ,  как работает процессор 64х с 32 битными командами.
То что он их поддерживает не говорит о том что он их не эмулирует.
 
Ладно, тогда попробуйте разложить какую либо 64 битную программу например в той же IDA Pro и посмотреть какой набор инструкций используется чаще. Очень много микрокоманд из архитектуры x32. Если вы такой знаток то поясните зачем были введены функции EncodePointer и DecodePointer? Зачем городить лишний огород. Может быть есть в данном механизме плюсы но минусов больше - лишние вызовы ядра а значит и производительность ниже 
 
Изначально мой упор был на отсутствие оптимизации. Я знаю что такое микрокод. Вот тут вы уже сами себе противоречите. Т к ВСЕ команды x64 x32 переводятся в команды RISC архитектуру и выполняются то где эмуляция? То что процессор x64 может работать в 2-х режимах: родной (x64) и совместимости (только x32) не означает что команды x32 эмулируются.  
 
Uladzimir Kirychenka:
Ладно, тогда попробуйте разложить какую либо 64 битную программу например в той же IDA Pro и посмотреть какой набор инструкций используется чаще. Очень много микрокоманд из архитектуры x32. Если вы такой знаток то поясните зачем были введены функции EncodePointer и DecodePointer? Зачем городить лишний огород. Может быть есть в данном механизме плюсы но минусов больше - лишние вызовы ядра а значит и производительность ниже 
Вопрос про API функции Вы задали для проверки моих знаний? если так  -пожалуйста , для совместимости.
Микро команды, правильней сказать микро код процессора , с помощью которого он получив на вход команду разбирает ее на такты  Вы без специализированного оборудования не увидите.
Дебагер - конечно видит и 64x и 32x коды .  В нем мы  видим  разумеется 32 битовые команды , но как они выполняются на уровне Core мы  не видим,   и само ядро процессора 64x  уже эмулирует 32х битовый код,  причем медленней.
      Другими словами , в отладчике именно по тактам , команду MOV не выполнить. По тактам она выполняется уже в самом микрокоде процессора. 
Про производительность , если на железе 64х гонять  софт 32х - производительность будет ниже. Кстати тут достаточно редко кто готов обсуждать подобные темы,  в Вас сразу чувствуется человек державший  в руках дебагер.
Программного обеспечения созданного под 64х становится все больше, вот и  грамотный подход MQ , сопутствует этому процессу.
 
Uladzimir Kirychenka:
Изначально мой упор был на отсутствие оптимизации. Я знаю что такое микрокод. Вот тут вы уже сами себе противоречите. Т к ВСЕ команды x64 x32 переводятся в команды RISC архитектуру и выполняются то где эмуляция? То что процессор x64 может работать в 2-х режимах: родной (x64) и совместимости (только x32) не означает что команды x32 эмулируются.  
Я не против , оставайтесь в "своем мире"  -   пусть в "вашем мире"  на процессоре 64  32 программное обеспечение выполняются так же бодро - не буду Вас переубеждать.
Но в  селиконовой  долине,  в мире инженеров Intel ,  команды x32  под управлением 64 процессора  - эмулируют.
 
Yuriy Zaytsev:
Я не против , оставайтесь в "своем мире"  -   пусть в "вашем мире"  на процессоре 64  32 программное обеспечение выполняются так же бодро - не буду Вас переубеждать.
Но в  селиконовой  долине,  в мире инженеров Intel ,  команды x32  под управлением 64 процессора  - эмулируют.
Тоже читал о таком, именно на уровне внутреннего микрокода проца. Да давно в топку 32-битные приложения, я уже лет 8-9 на x-64 OS. А про якобы экономию памяти в советнике, может и сэкономите. Вместо 1 Мб будет 512 кБ. Уря-я-я!!!! Велком в 1990 год!!
 
Alexey Volchanskiy:
Тоже читал о таком, именно на уровне внутреннего микрокода проца. Да давно в топку 32-битные приложения, я уже лет 8-9 на x-64 OS. А про якобы экономию памяти в советнике, может и сэкономите. Вместо 1 Мб будет 512 кБ. Уря-я-я!!!! Велком в 1990 год!!
Леша!  просто ты читать умеешь

пусть в "их мире" - это будет не так - думаю не надо трогать "чужой мир"  , смысла в этом особого нет.
Обычно только наживаешь недоброжелателей. Те кто поумнее,  те найдут раскопают - поймут,  а кто то никогда. Пьяный проспится , а дурак  останется кем был.
Ты  старый железячник - помнишь как говорили  электронщики: - пока железка работает трогать ее не надо , начнешь спиртом платы протирать  пипец аппарату. ...
 
Народ я не хотел не на кого наезжать и ни кого ссорить. Я просто высказал свое мнение. У каждого мнение может быть свое. Изначально я просто попросил файлы ибо сделать сам не смог из-за кучи блокировок (я живу в Беларуси и из-за местного интернета приходится выкручиваться). Если данный программный продукт откажется от поддержки одной из версий - то так и быть. Будем искать варианты выхода из ситуации. Надеюсь никого не обидел.