Запитання з тегом «x86»

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

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

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



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 ) ядро 1 Linux буде складено з новою опцією , -mindirect-branch=thunk-externвведеною gccдля здійснення непрямих викликів через так звану реполінію . Це, здається, щойно придуманий термін, оскільки пошук у Google виявляється лише зовсім недавнього використання (як правило, у 2018 році). …

10
Як виглядає багатомовна збірна мова?
Колись, наприклад, щоб написати асемблер x86, ви мали б інструкції, що вказують "завантажувати регістр EDX зі значенням 5", "збільшувати регістр EDX" тощо. З сучасними процесорами, які мають 4 ядра (або навіть більше), на рівні машинного коду це виглядає просто так, що є 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 генерує такі кардинально різні збірки майже для одного і того ж коду С?
Під час написання оптимізованої 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); sign …

4
Що відбувається, коли працює комп'ютерна програма?
Я знаю загальну теорію, але не можу вписатись у деталі. Я знаю, що програма знаходиться у вторинній пам'яті комп'ютера. Як тільки програма починає виконання, вона повністю копіюється в ОЗУ. Потім процесор отримує кілька інструкцій (це залежить від розміру шини) за один раз, ставить їх у регістри і виконує їх. Я …



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.