Como saber se o CPU tem suporte ao hyper-threading?

Pentium 4 3.06GHz 64bits.

O CPU tem ou não suporte ao hyper-threading?
Na BIOS está ativado a opção do HT.
O sistema diz que não tem HT.
Não encontrei informação de qual o modelo exato do CPU, mas o mais próximo que eu achei foi esse: Intel® Pentium® 4 Processor 524 supporting HT Technology (1M Cache, 3.06 GHz, 533 MHz FSB) Product Specifications

Afinal, o CPU tem suporte ao HT ou não?

lscpu

Arquitetura: x86_64
Modo(s) operacional da CPU: 32-bit, 64-bit
Ordem dos bytes: Little Endian
Tamanhos de endereço: 36 bits physical, 48 bits virtual
CPU(s): 1
Lista de CPU(s) on-line: 0
Thread(s) per núcleo: 1
Núcleo(s) por soquete: 1
Soquete(s): 1
Nó(s) de NUMA: 1
ID de fornecedor: GenuineIntel
Família da CPU: 15
Modelo: 4
Nome do modelo: Intel(R) Pentium(R) 4 CPU 3.06GHz
Step: 9
CPU MHz: 3060.558
BogoMIPS: 6121.11
cache de L1d: 16K
cache de L2: 1024K
CPU(s) de nó0 NUMA: 0
Opções: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc pebs bts nopl cpuid pni dtes64 monitor ds_cpl tm2 cid cx16 xtpr lahf_lm pti

cpuid

CPU 0:
vendor_id = “GenuineIntel”
version information (1/eax):
processor type = primary processor (0)
family = Intel Pentium 4/Pentium D/Pentium Extreme Edition/Celeron/Xeon/Xeon MP/Itanium2, AMD Athlon 64/Athlon XP-M/Opteron/Sempron/Turion (15)
model = 0x4 (4)
stepping id = 0x9 (9)
extended family = 0x0 (0)
extended model = 0x0 (0)
(simple synth) = Intel Pentium 4 (Prescott G1) / Xeon MP (Cranford B0) / Celeron D (Prescott G1), 90nm
miscellaneous (1/ebx):
process local APIC physical ID = 0x0 (0)
cpu count = 0x2 (2)
CLFLUSH line size = 0x8 (8)
brand index = 0x0 (0)
brand id = 0x00 (0): unknown
feature information (1/edx):
x87 FPU on chip = true
VME: virtual-8086 mode enhancement = true
DE: debugging extensions = true
PSE: page size extensions = true
TSC: time stamp counter = true
RDMSR and WRMSR support = true
PAE: physical address extensions = true
MCE: machine check exception = true
CMPXCHG8B inst. = true
APIC on chip = true
SYSENTER and SYSEXIT = true
MTRR: memory type range registers = true
PTE global bit = true
MCA: machine check architecture = true
CMOV: conditional move/compare instr = true
PAT: page attribute table = true
PSE-36: page size extension = true
PSN: processor serial number = false
CLFLUSH instruction = true
DS: debug store = true
ACPI: thermal monitor and clock ctrl = true
MMX Technology = true
FXSAVE/FXRSTOR = true
SSE extensions = true
SSE2 extensions = true
SS: self snoop = true
hyper-threading / multi-core supported = true
TM: therm. monitor = true
IA64 = false
PBE: pending break event = true
feature information (1/ecx):
PNI/SSE3: Prescott New Instructions = true
PCLMULDQ instruction = false
DTES64: 64-bit debug store = true
MONITOR/MWAIT = true
CPL-qualified debug store = true
VMX: virtual machine extensions = false
SMX: safer mode extensions = false
Enhanced Intel SpeedStep Technology = false
TM2: thermal monitor 2 = true
SSSE3 extensions = false
context ID: adaptive or shared L1 data = true
SDBG: IA32_DEBUG_INTERFACE = false
FMA instruction = false
CMPXCHG16B instruction = true
xTPR disable = true
PDCM: perfmon and debug = false
PCID: process context identifiers = false
DCA: direct cache access = false
SSE4.1 extensions = false
SSE4.2 extensions = false
x2APIC: extended xAPIC support = false
MOVBE instruction = false
POPCNT instruction = false
time stamp counter deadline = false
AES instruction = false
XSAVE/XSTOR states = false
OS-enabled XSAVE/XSTOR = false
AVX: advanced vector extensions = false
F16C half-precision convert instruction = false
RDRAND instruction = false
hypervisor guest status = false
cache and TLB information (2):
0x50: instruction TLB: 4K & 2M/4M pages, 64 entries
0x5b: data TLB: 4K & 4M pages, 64 entries
0x60: L1 data cache: 16K, 8-way, 64 byte lines
0x40: No L3 cache
0x70: Trace cache: 12K-uop, 8-way
0x7c: L2 cache: 1M, 8-way, sectored, 64 byte lines
processor serial number: 0000-0F49-0000-0000-0000-0000
deterministic cache parameters (4):
— cache 0 —
cache type = data cache (1)
cache level = 0x1 (1)
self-initializing cache level = true
fully associative cache = false
extra threads sharing this cache = 0x1 (1)
extra processor cores on this die = 0x0 (0)
system coherency line size = 0x3f (63)
physical line partitions = 0x0 (0)
ways of associativity = 0x7 (7)
number of sets - 1 = 0x1f (31)
WBINVD/INVD behavior on lower caches = false
inclusive to lower caches = false
complex cache indexing = false
number of sets - 1 (s) = 31
— cache 1 —
cache type = unified cache (3)
cache level = 0x2 (2)
self-initializing cache level = true
fully associative cache = false
extra threads sharing this cache = 0x1 (1)
extra processor cores on this die = 0x0 (0)
system coherency line size = 0x3f (63)
physical line partitions = 0x1 (1)
ways of associativity = 0x7 (7)
number of sets - 1 = 0x3ff (1023)
WBINVD/INVD behavior on lower caches = false
inclusive to lower caches = false
complex cache indexing = false
number of sets - 1 (s) = 1023
MONITOR/MWAIT (5):
smallest monitor-line size (bytes) = 0x40 (64)
largest monitor-line size (bytes) = 0x40 (64)
enum of Monitor-MWAIT exts supported = false
supports intrs as break-event for MWAIT = false
number of C0 sub C-states using MWAIT = 0x0 (0)
number of C1 sub C-states using MWAIT = 0x0 (0)
number of C2 sub C-states using MWAIT = 0x0 (0)
number of C3 sub C-states using MWAIT = 0x0 (0)
number of C4 sub C-states using MWAIT = 0x0 (0)
number of C5 sub C-states using MWAIT = 0x0 (0)
number of C6 sub C-states using MWAIT = 0x0 (0)
number of C7 sub C-states using MWAIT = 0x0 (0)
extended feature flags (0x80000001/edx):
SYSCALL and SYSRET instructions = true
execution disable = true
1-GB large page support = false
RDTSCP = false
64-bit extensions technology available = true
Intel feature flags (0x80000001/ecx):
LAHF/SAHF supported in 64-bit mode = true
LZCNT advanced bit manipulation = false
3DNow! PREFETCH/PREFETCHW instructions = false
brand = " Intel(R) Pentium(R) 4 CPU 3.06GHz"
L1 TLB/cache information: 2M/4M pages & L1 TLB (0x80000005/eax):
instruction # entries = 0x0 (0)
instruction associativity = 0x0 (0)
data # entries = 0x0 (0)
data associativity = 0x0 (0)
L1 TLB/cache information: 4K pages & L1 TLB (0x80000005/ebx):
instruction # entries = 0x0 (0)
instruction associativity = 0x0 (0)
data # entries = 0x0 (0)
data associativity = 0x0 (0)
L1 data cache information (0x80000005/ecx):
line size (bytes) = 0x0 (0)
lines per tag = 0x0 (0)
associativity = 0x0 (0)
size (KB) = 0x0 (0)
L1 instruction cache information (0x80000005/edx):
line size (bytes) = 0x0 (0)
lines per tag = 0x0 (0)
associativity = 0x0 (0)
size (KB) = 0x0 (0)
L2 TLB/cache information: 2M/4M pages & L2 TLB (0x80000006/eax):
instruction # entries = 0x0 (0)
instruction associativity = L2 off (0)
data # entries = 0x0 (0)
data associativity = L2 off (0)
L2 TLB/cache information: 4K pages & L2 TLB (0x80000006/ebx):
instruction # entries = 0x0 (0)
instruction associativity = L2 off (0)
data # entries = 0x0 (0)
data associativity = L2 off (0)
L2 unified cache information (0x80000006/ecx):
line size (bytes) = 0x40 (64)
lines per tag = 0x0 (0)
associativity = 8-way (6)
size (KB) = 0x400 (1024)
L3 cache information (0x80000006/edx):
line size (bytes) = 0x0 (0)
lines per tag = 0x0 (0)
associativity = L2 off (0)
size (in 512KB units) = 0x0 (0)
RAS Capability (0x80000007/ebx):
MCA overflow recovery support = false
SUCCOR support = false
HWA: hardware assert support = false
scalable MCA support = false
Advanced Power Management Features (0x80000007/ecx):
CmpUnitPwrSampleTimeRatio = 0x0 (0)
Advanced Power Management Features (0x80000007/edx):
TS: temperature sensing diode = false
FID: frequency ID control = false
VID: voltage ID control = false
TTP: thermal trip = false
TM: thermal monitor = false
STC: software thermal control = false
100 MHz multiplier control = false
hardware P-State control = false
TscInvariant = false
CPB: core performance boost = false
read-only effective frequency interface = false
processor feedback interface = false
APM power reporting = false
connected standby = false
RAPL: running average power limit = false
Physical Address and Linear Address Size (0x80000008/eax):
maximum physical address bits = 0x24 (36)
maximum linear (virtual) address bits = 0x30 (48)
maximum guest physical address bits = 0x0 (0)
Extended Feature Extensions ID (0x80000008/ebx):
CLZERO instruction = false
instructions retired count support = false
always save/restore error pointers = false
Logical CPU cores (0x80000008/ecx):
number of CPU cores - 1 = 0x0 (0)
ApicIdCoreIdSize = 0x0 (0)
(multi-processing synth): hyper-threaded (t=2)
(multi-processing method): Intel leaf 1/4
(APIC widths synth): CORE_width=0 SMT_width=1
(APIC synth): PKG_ID=0 CORE_ID=0 SMT_ID=0
(synth) = Intel Pentium 4 (Prescott G1), 90nm

1 Curtida

Veja se com inxi -Fzzza aparece o modelo correto da CPU

2 Curtidas

Então não é, eu tive um Pentium 4 HT torrei ele com um overclock, se fosse HT seriam 2 threads por núcleo, na informação diz que tem suporte, mas alguns processadores Pentium 4 tinham bloqueio.

3 Curtidas

Bem estranho mesmo, todas as listagens de Pentiums 4 que eu achei e que batem com esse lscpu têm Hyperthreading listado como recurso.

Até o cpuid diz isso:

Talvez não seja o processador, mas sim o kernel que veio com SMP em 32 bits desabilitado?


Edit: aí diz que o processador é x86_64 também (os últimos Pentium 4 foram). Chegou a testar uma distro de 64 bits aí?

4 Curtidas

Tem essa também, o meu era dos primeiros e ele não era 64 bits, tinha suporte a EM64T, mas nunca consegui fazer nada 64 bits funcionar nele, talvez por causa de bloqueio.

CPUs Intel com EM64T

O primeiro processador da Intel a implementar activamente a tecnologia EM64T é o processador com o nome de código Nocona. Esse processador encontra-se à venda como o multi-processador Xeon da Intel. Como o Xeon é baseado directamente no Pentium 4, esse processador também tem a tecnologia EM64T implementada, apesar de, tal como acontece com o Hyper-Threading, essa característica não ter sido inicialmente activada no projecto Prescot, possivelmente por ele não se encontrar aperfeiçoado na altura.

4 Curtidas

Seu CPU deve ser ilegal, tem que abrir a maquina ate chegar na CPU e verificar o que esta escrito na carcaça, provavelmente é um CPU de protótipo, teste ou outra coisa parecida da Intel e não podem ser comercializada, infelizmente a pessoas mal intencionadas que querem tirar proveito.
Se ele for um desses CPU então você não tem licença de uso porque ele não foi vendido alguém aplico golpe ou se la de que forma chego a você ele não é legalizado para venda.

Acontece que ou a Intel vendeu um CPU que ela não sabia que estava vendendo e não coloco na DB do ark.intel.com, ou esse CPU é ilegal.

3 Curtidas

Sim, estou usando o Devuan amd64 no momento, sem HT.

Deu comando não encontrado.

Não acho que seja isso, eh um PC original já montado da SEMP TOSHIBA (EL-1513 MODEL P2167).


Vou tentar compilar o kernel outro dia para ver se é isso, noutras vezes que compilei o kernel para essa máquina, sempre foram com o HT desativado.

1 Curtida

Então precisa instalar o inxi com # apt install inxi

2 Curtidas

Compro de que loja?
As vezes alguém abril removeu a CPU e coloco isso ai e fecho de novo.
Tem que abrir e olhar a carcaça.

2 Curtidas
interessante que deu smt disabled

System:
Host: devuan Kernel: 4.19.0-16-amd64 x86_64 bits: 64 Desktop: Xfce 4.12.4
Distro: Devuan GNU/Linux 3 (beowulf)
Machine:
Type: Desktop System: Semp Toshiba Informatica Ltda product: STI
v: Rev. 10/00 serial:
Mobo: Semp Toshiba model: STI 910090 v: STIJ serial:
BIOS: Phoenix v: 6.00 PG date: 03/25/2007
CPU:
Topology: Single Core model: Intel Pentium 4 bits: 64 type: MCP
family: F (15) model-id: 4 stepping: 9 microcode: 3 L2 cache: 1024 KiB
Speed: 3061 MHz min/max: N/A Core speed (MHz): 1: 3061
Vulnerabilities: Type: itlb_multihit status: KVM: Vulnerable
Type: l1tf mitigation: PTE Inversion
Type: mds
status: Vulnerable: Clear CPU buffers attempted, no microcode; SMT disabled
Type: meltdown mitigation: PTI
Type: spec_store_bypass status: Vulnerable
Type: spectre_v1
mitigation: usercopy/swapgs barriers and __user pointer sanitization
Type: spectre_v2
mitigation: Full generic retpoline, STIBP: disabled, RSB filling
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Graphics:
Device-1: VIA CN700/P4M800 Pro/P4M800 CE/VN800 Graphics [S3 UniChrome Pro]
driver: N/A
Display: x11 server: X.Org 1.20.4 driver: openchrome
unloaded: fbdev,modesetting,vesa resolution: 1024x768~75Hz
OpenGL: renderer: llvmpipe (LLVM 7.0 128 bits) v: 3.3 Mesa 18.3.6
Audio:
Device-1: VIA VT8233/A/8235/8237 AC97 Audio driver: snd_via82xx
Sound Server: ALSA v: k4.19.0-16-amd64
Network:
Device-1: VIA VT6102/VT6103 [Rhine-II] driver: via-rhine
IF: eth0 state: unknown speed: 100 Mbps duplex: full mac:
Drives:
Local Storage: total: 74.53 GiB used: 3.10 GiB (4.2%)
ID-1: /dev/sda vendor: Samsung model: SP0842N size: 74.53 GiB block size:
physical: 512 B logical: 512 B
Partition:
ID-1: / raw size: 73.58 GiB size: 71.92 GiB (97.75%) used: 3.10 GiB (4.3%)
fs: ext4 dev: /dev/sda1
ID-2: swap-1 size: 976.0 MiB used: 0 KiB (0.0%) fs: swap
swappiness: 60 (default) cache pressure: 100 (default) dev: /dev/sda5
Sensors:
Message: No sensors data was found. Is sensors configured?
Info:
Processes: 96 Uptime: 9m Memory: 1.15 GiB used: 598.0 MiB (51.0%)
Shell: bash inxi: 3.0.32

1 Curtida

Nunca ouvi falar desta vulnerabilidade nas CPU intel.
https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/multihit.html

Bom eu vou nessa enquanto vocês tenta desvendar o porque um CPU que é de 1 core com 1 threads com 3.06GHz e com HT e que não esta no ARK intel.

A lista dos Pentium 4 vendidos pela intel.
https://ark.intel.com/content/www/us/en/ark/search.html?_charset_=UTF-8&q=Intel%C2%AE+Pentium%C2%AE+4+Processor

1 Curtida

Tentei instalar firmware proprietários (intel-firmware e amd64-firmware), mas por algum motivo, o sistema não reconheceu e ficou com aquela linha “no firmware” no comando inxi.

1 Curtida

Esse CPU ai pode ter bugs que não tem no “Processador Intel® Pentium® 4” porque ele é um CPU de desenvolvimento.

1 Curtida

Segundo os logs tem

Você pode tentar forçar a habilitação:

echo on | sudo tee /sys/devices/system/cpu/smt/control

Verifique se realmente tem suporte antes de rodar o comando anterior:

cat /sys/devices/system/cpu/smt/control

Se a saída for “Arquivo não encontrado” é porque o kernel foi compilado sem o suporte

Se a saída for “on” é porque tá ativo (essa é a saida esperada depois de rodar o comando que força a ativação)

Se a saída for “off” é porque tá desativado

Se a saída for “notsupported” sua CPU não suporta ou o kernel não suporta o SMT na sua CPU

Nota: analisando a saída do cpuid é impossível ser que o kernel não suporta sua CPU (saber/controlar o SMT no caso), eu coloquei só pra caso outra pessoa que tiver o mesmo problema não precisar garimpar o cpuid

2 Curtidas

Eu escreve acima “Sem HT” mas foi falta de atenção minha, mas é somente 1 treads por core o que da na mesma de não ter o HT.
CPU fracas assim já não são fabricadas a anos.

Ele usa o kernel linux-libre, realmente pode ser algo no kernel.