«x86» 태그된 질문

x86은 Intel 8086 CPU에서 파생 된 아키텍처입니다. x86 제품군에는 32 비트 IA-32 및 64 비트 x86-64 아키텍처와 레거시 16 비트 아키텍처가 포함됩니다. 후자에 대한 질문에는 [x86-16] 및 / 또는 [emu8086] 태그가 지정되어야합니다. 질문이 64 비트 x86-64와 관련된 경우 [x86-64] 태그를 사용하십시오. x86 FPU의 경우 [x87] 태그를 사용합니다. SSE1 / 2 / 3 / 4 / AVX *의 경우 [sse] 및 해당되는 [avx] / [avx2] / [avx512]도 사용합니다.

10
32 비트 루프 카운터를 64 비트로 바꾸면 인텔 CPU에서 _mm_popcnt_u64와 성능 차이가 심해집니다.
popcount대규모 데이터 배열에 가장 빠른 방법을 찾고있었습니다 . 나는 발생하는 매우 이상한 효과를 :에서 루프 변수 변경 unsigned에 uint64_t내 PC에 50 %에 의한 성능 저하를. 벤치 마크 #include <iostream> #include <chrono> #include <x86intrin.h> int main(int argc, char* argv[]) { using namespace std; if (argc != 2) { cerr << "usage: …

11
손으로 쓴 어셈블리보다 Collatz 추측을 빠르게 테스트하기위한 C ++ 코드-왜?
어셈블리 및 C ++ 로 Project Euler Q14에 대한이 두 가지 솔루션을 작성했습니다 . 이것들은 Collatz 추측 을 테스트하기위한 동일한 동일한 무차별 접근 방식입니다 . 조립 솔루션은 nasm -felf64 p14.asm && gcc p14.o -o p14 C ++는 g++ p14.cpp -o p14 어셈블리, p14.asm section .data fmt db "%d", 10, 0 …



4
Intel Sandybridge 제품군 CPU의 파이프 라인에 대한 프로그램 최적화 해제
나는이 과제를 완수하기 위해 일주일 동안 내 두뇌를 쌓아 왔고 여기 누군가가 나를 올바른 길로 인도 할 수 있기를 바라고 있습니다. 강사의 지시로 시작하겠습니다. 귀하의 과제는 소수 프로그램을 최적화하기위한 첫 번째 실험실 과제와 반대입니다. 이 과제의 목적은 프로그램을 비관 화하는 것, 즉 프로그램을 느리게하는 것입니다. 이 두 가지 모두 CPU를 …

12
SSE4.2 및 AVX 명령어로 Tensorflow를 컴파일하는 방법은 무엇입니까?
이것은 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 locally …

3
레포 틴이란 무엇이며 어떻게 작동합니까?
커널이나 프로세스 간 메모리 공개합니다 (을 완화하기 위해 유령의 공격), 리눅스는 커널 (1) 새로운 옵션으로 컴파일 될 것이다 , -mindirect-branch=thunk-extern소개 gcc소위를 통해 간접 호출을 수행 할 retpoline . Google 검색이 최근에 사용한 것 (일반적으로 2018 년)으로 바뀌기 때문에 새로 발명 된 용어 인 것 같습니다. 리포 틀린이란 무엇이며 최근 커널 …

10
멀티 코어 어셈블리 언어는 어떻게 생겼습니까?
예를 들어 x86 어셈블러를 작성하려면 "EDX 레지스터를 값 5로로드", "EDX 증가"레지스터 등을 지시하는 지침이 있습니다. 4 개의 코어 (또는 그 이상)가있는 최신 CPU를 사용하면 머신 코드 수준에서 4 개의 개별 CPU가있는 것처럼 보입니까 (즉, 4 개의 "EDX"레지스터 만 있음)? 그렇다면 "EDX 레지스터 증가"라고 말할 때 어떤 CPU의 EDX 레지스터가 증가하는지 …
243 assembly  x86  cpu  multicore  smp 


8
기본 포인터와 스택 포인터는 정확히 무엇입니까? 그들은 무엇을 지적합니까?
DrawSquare ()가 DrawLine ()을 호출하는 Wikipedia에서 온 이 예제를 사용 하면 , 이 다이어그램은 맨 아래에 높은 주소가 있고 맨 위에는 낮은 주소가 있습니다. 사람이 나를 설명 무엇을 할 수 ebp와 esp이러한 맥락에있다? 내가 본 것에서 스택 포인터는 항상 스택의 상단을 가리키고 기본 포인터는 현재 함수의 시작을 가리키는 것이라고 말하고 …
225 c++  c  assembly  x86 

5
ARM 아키텍처는 x86과 어떻게 다릅니 까? [닫은]
닫은. 이 질문은 스택 오버플로 지침을 충족하지 않습니다 . 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 질문을 업데이트하여 스택 오버플로에 대한 주제 입니다. 휴일 3 년 전 . 이 질문을 개선하십시오 x86 아키텍처는 특별히 키보드와 함께 작동하도록 설계 되었습니까? 이 둘의 주요 차이점은 무엇입니까?
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); sign = …

4
컴퓨터 프로그램이 실행되면 어떻게됩니까?
나는 일반적인 이론을 알고 있지만 세부 사항에 적합하지 않습니다. 프로그램이 컴퓨터의 보조 메모리에 있다는 것을 알고 있습니다. 프로그램이 실행을 시작하면 완전히 RAM에 복사됩니다. 그런 다음 프로세서는 한 번에 몇 가지 명령 (버스 크기에 따라 다름)을 검색하여 레지스터에 넣고 실행합니다. 또한 컴퓨터 프로그램은 두 가지 종류의 메모리를 사용한다는 것을 알고 있습니다. …



당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.