Проверьте CUDA Nvidia, IMO, это - самая легкая платформа, чтобы сделать программирование GPU. Существуют тонны прохладных материалов для чтения. http://www.nvidia.com/object/cuda_home.html
Привет мир должен был бы сделать любой вид вычисления с помощью GPU.
Hope, которая помогает.
Да, это более эффективно.
Код операции короче, чем mov eax, 0
, всего 2 байта, а процессор распознает особый случай и рассматривает его как mov eax , 0
без ложной зависимости чтения от eax
, поэтому время выполнения такое же.
Операция XOR действительно очень быстрая. Если результатом является установка регистра в ноль, компилятор часто сделает это самым быстрым из известных ему способов. Битовая операция, такая как XOR, может занять только один цикл ЦП, в то время как копирование (из одного регистра в другой) может занять небольшую горстку.
Часто авторы компилятора даже имеют разное поведение, учитывая разные целевые архитектуры ЦП.
Также, чтобы избежать 0 при компиляции, как это используется в кодах оболочки для эксплуатации переполнения буфера и т. д. Почему следует избегать 0? Ну, 0 представляет конец строки в c / c ++, и код оболочки будет усечен, если средством эксплуатации является функция обработки строки или что-то подобное.
Кстати, я имею в виду исходный вопрос: "
xor eax, eax
- это более быстрый способ обнулить eax
. Это происходит из-за того, что вы возвращаете 0.
Инструкция в
работает с портами ввода / вывода. Обычно чтение слова данных из порта, указанного в dx
, и сохранение его в al
. Непонятно, почему это здесь происходит. Вот ссылка , которая, кажется, объясняет это подробно.