Вопросы с тегом «x86»

x86 - это архитектура, производная от процессора Intel 8086. Семейство x86 включает 32-битные архитектуры IA-32 и 64-битные x86-64, а также унаследованные 16-битные архитектуры. Вопросы о последнем должны быть помечены тегами [x86-16] и / или [emu8086]. Используйте тег [x86-64], если ваш вопрос относится к 64-битной x86-64. Для FPU x86 используйте тег [x87]. Для SSE1 / 2/3/4 / AVX * также используйте [sse] и любой из [avx] / [avx2] / [avx512], который применяется

10
Замена 32-разрядного счетчика циклов на 64-разрядный вводит сумасшедшие отклонения производительности с _mm_popcnt_u64 на процессорах Intel
Я искал самый быстрый способ для popcountбольших массивов данных. Я обнаружил очень странное действие: Изменение переменного цикла из unsignedк uint64_tвысказанному падению производительности на 50% по сравнению с ПК. Бенчмарк #include <iostream> #include <chrono> #include <x86intrin.h> int main(int argc, char* argv[]) { using namespace std; if (argc != 2) { cerr …

11
Код C ++ для проверки гипотезы Коллатца быстрее, чем рукописная сборка - почему?
Я написал эти два решения для Project Euler Q14 , в сборке и на C ++. Это один и тот же метод грубой силы для проверки гипотезы Коллатца . Решение для сборки было собрано с nasm -felf64 p14.asm && gcc p14.o -o p14 C ++ был скомпилирован с g++ p14.cpp …



4
Деоптимизация программы для конвейера в процессорах семейства Intel Sandybridge
Я целую неделю ломал голову, пытаясь выполнить это задание, и я надеюсь, что кто-то здесь может привести меня к правильному пути. Позвольте мне начать с инструкций инструктора: Ваше задание противоположно нашему первому лабораторному заданию, которое должно было оптимизировать программу простых чисел. Ваша цель в этом задании - пессимизировать программу, то …

12
Как скомпилировать Tensorflow с инструкциями SSE4.2 и AVX?
Это сообщение получено от запуска скрипта, чтобы проверить, работает ли Tensorflow: I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcublas.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcudnn.so.5 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcufft.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcuda.so.1 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcurand.so.8.0 …

3
Что такое ретполин и как он работает?
Для предотвращения раскрытия памяти в ядре или в межпроцессном режиме ( атака Spectre ) ядро Linux 1 будет скомпилировано с новой опцией , -mindirect-branch=thunk-externвведенной gccдля выполнения косвенных вызовов через так называемый retpoline . Похоже, что это новый изобретенный термин, поскольку поиск в Google обнаруживает только очень недавнее использование (как правило, …

10
Как выглядит многоядерный язык ассемблера?
Давным-давно, например, для написания ассемблера x86, вы должны будете получить инструкции о том, что «загрузить регистр EDX со значением 5», «увеличить регистр EDX» и т. Д. С современными процессорами, которые имеют 4 ядра (или даже больше), на уровне машинного кода это просто выглядит так, как будто есть 4 отдельных процессора …
243 assembly  x86  cpu  multicore  smp 

3
Как запустить программу без операционной системы?
Как вы запускаете программу самостоятельно без операционной системы? Можете ли вы создавать программы сборки, которые компьютер может загружать и запускать при запуске, например, загружать компьютер с флэш-накопителя, и он запускает программу, которая находится на процессоре?

8
Что такое базовый указатель и указатель стека? На что они указывают?
Используя этот пример из Википедии, в которой DrawSquare () вызывает DrawLine (), (Обратите внимание, что эта диаграмма имеет высокие адреса внизу и низкие адреса вверху.) Может ли кто-нибудь объяснить мне, что ebpи espв этом контексте? Из того, что я вижу, я бы сказал, что указатель стека всегда указывает на вершину …
225 c++  c  assembly  x86 

5
Чем архитектура ARM отличается от архитектуры x86? [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме переполнения стека. Закрыто 4 года назад . Улучшить этот вопрос Архитектура x86 специально разработана для работы с клавиатурой, а ARM ожидает мобильности? Каковы …
192 x86  arm 

3
Почему GCC генерирует такую ​​радикально отличную сборку для почти одного и того же C-кода?
При написании оптимизированной ftolфункции я обнаружил очень странное поведение в GCC 4.6.1. Позвольте мне сначала показать вам код (для ясности я отметил различия): fast_trunc_one, C: int fast_trunc_one(int i) { int mantissa, exponent, sign, r; mantissa = (i & 0x07fffff) | 0x800000; exponent = 150 - ((i >> 23) & 0xff); …

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



Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.