All Questions
Tagged with hyperthreading x86
22 questions
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....
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 ...
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 ...
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 ...
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 ...
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 ...
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:...
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 ...
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)...
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, ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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, ...
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 ...
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, ...
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 ...
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 ...
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 ...