Skip to main content

All Questions

Tagged with
Filter by
Sorted by
Tagged with
0 votes
2 answers
163 views

Why do two logical cores belonging to the same physical core have different frequencies?

When enabling Turbo mode on the CPU, the operating frequency fluctuates with changes of the workload. I observed through the turbostat command that each core has a different frequency during operation....
Frontier_Setter's user avatar
2 votes
1 answer
198 views

Can hardware threads access main memory at the same time?

I am trying to understand microarchitecture. When an operating system schedules code to run on a CPU hardware thread (as in Intel HyperThreading), can each execution context issue memory reads in ...
Samuel Squire's user avatar
3 votes
1 answer
526 views

Sharing a TLB entry between two logical CPUs (Intel)

I wondered if it is possible if two threads belonging to the same program with the same PCID can share the TLB entry when they are scheduled to run on the same physical CPU? I already looked into the ...
Benedict Schlüter's user avatar
2 votes
0 answers
202 views

Atomic operation contention between SMT/HT Threads

Across modern AMD/Intel CPU's is contention for atomics (inc/dec/swap etc) between say 2 SMT/HT threads on the same core known to have significantly better performance in general than between threads ...
iam's user avatar
  • 1,713
1 vote
2 answers
880 views

Why does my pc prefer even numbered cores?

My pc has a 10th gen Core i7 vPRO with virtualization enabled. 8 cores + 8 virtual cores. (i7-10875H, Comet Lake) Each physical core is split into pairs, so Core 1 hosts virtual cores 0 & 1, core ...
AutoBaker's user avatar
  • 1,277
2 votes
0 answers
340 views

How does Hyper-Threading affect the cache?

When I was using Hyper-Threading, a very strange phenomenon appeared. I was using c language to measure the time of l2 hit. I wrote the test time in a program A. When I run it alone, it showed that it ...
Gerrie's user avatar
  • 776
4 votes
1 answer
297 views

Why is execution time of a process shorter when another process shares the same HT core

I have an Intel CPU with 4 HT cores (8 logical CPUs) and I built two simple processes. The first one: int main() { for(int i=0;i<1000000;++i) for(int j=0;j<100000;++j); } The second one:...
sebastien dontneedtoknowthat's user avatar
2 votes
2 answers
710 views

Does the running of a second thread on an hyperthreaded CPU introduce extra overhead throughout the pipeline?

There was a discussion at work related to hyperthreaded Xeon machines. My (superficial) understanding on how Hyperthreading works is that the CPU is physically multiplexing the instructions coming ...
devoured elysium's user avatar
5 votes
1 answer
804 views

Can different processes run RDTSC at the same time?

Can different processes run RDTSC at the same time? Or is this a resource that only one core can operate on at the same time? TSC is in every core (at least you can adjust it separately for every core)...
kuga's user avatar
  • 1,725
8 votes
1 answer
2k views

Does a hyper-threaded core share MMU and TLB?

To my knowledge, both MMU and TLB are not shared in a hyper-threaded core in Intel x86_64. However, then, if two threads that don't share the address space are scheduled to the same physical core, ...
Jonggyu Park's user avatar
0 votes
1 answer
3k views

Physical core and Logical cores on different cpu AMD/Intel

Can anyone confirm that for example Intel i3 CPU has 2 physical cores and 4 logical cores, so if I set Process affinity to Core #0 so that means I set on first physical cores 1 logical core, but if I ...
JonZ's user avatar
  • 149
0 votes
1 answer
881 views

disabling interrupts on hyperthreaded processor

Let say I have a hyper-threaded processor and OS sees them as two different virtual processors vp1 and vp2. Now in an LWP1 on vp1, I disable hardware interrupt interrupts. Does not it amounts to say ...
ultimate cause's user avatar
26 votes
3 answers
3k views

What are the latency and throughput costs of producer-consumer sharing of a memory location between hyper-siblings versus non-hyper siblings?

Two different threads within a single process can share a common memory location by reading and/or writing to it. Usually, such (intentional) sharing is implemented using atomic operations using the ...
BeeOnRope's user avatar
  • 64.6k
5 votes
1 answer
419 views

Creating a friendly timed busy loop for a hyperthread

Imagine I want to have one main thread and a helper thread run as the two hyperthreads on the same physical core (probably by forcing their affinity to approximately ensure this). The main thread ...
BeeOnRope's user avatar
  • 64.6k
1 vote
1 answer
4k views

Number of cores to speedup calculation

I'm trying to calculate speedup of a code using Amdahl's law and the following are my CPU specs: Amdahl's law:- Speedup = 1 / 1-p+ (p/n) where n = number of processors. According to my specs, it ...
S.Dan's user avatar
  • 1,904
0 votes
1 answer
506 views

Detecting CPU and Core information from my Intel System

I am currently using Windows 8 Pro OS, along with the Processor: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz, with RAM 8 GB. I wanted to know how many Physical processors and how many actual Cores my ...
XMarshall's user avatar
  • 951
0 votes
1 answer
958 views

Hyper Threads, SIPI and Registers

I'm interested to learn more regarding the x86 architecture, and how it implements multi-processing. Let's say using cpuid instruction you can recognize how many logical cores your processor has, ...
DrPrItay's user avatar
  • 828
7 votes
1 answer
2k views

What will be used for data exchange between threads are executing on one Core with HT?

Hyper-Threading Technology is a form of simultaneous multithreading technology introduced by Intel. These resources include the execution engine, caches, and system bus interface; the sharing of ...
Alex's user avatar
  • 13.1k
0 votes
1 answer
80 views

each of 3 ALU+decoders walk on 3 different conditional branches on `switch`/`case` simultaneously?

As known, on Intel x86_64 the Hyper Threading allow to use shared execution units (ALUs, ...) from different threads simultaneously - this is known as Simultaneous multithreading (SMT). And known, ...
Alex's user avatar
  • 13.1k
6 votes
1 answer
2k views

With Hyper Threading, threads of one physical core are exchanging via what level of cache L1/L2/L3?

Does the Hyper Threading allow to use of L1-cache to exchange the data between the two threads, which are executed simultaneously on a single physical core, but in two virtual cores? With the proviso ...
Alex's user avatar
  • 13.1k
3 votes
1 answer
3k views

Disable and Enable Hyperthreads on-the-fly

I am wondering if it is, in theory, possible to enable hyperthreads after they have been disabled in the BIOS and vice-versa. As it turns out, if hyper-threads are disabled they do still show up in ...
zgerd's user avatar
  • 1,058
9 votes
2 answers
1k views

Why does Hyper-threading get reported as supported on processors without it?

I'm trying to gather system information and noticed the following on an Intel Xeon E5420: After executing CPUID(EAX=1), EDX[28] is set, indicating Hyper-threading support, despite the fact that the ...
andrewmu's user avatar
  • 14.5k