LinuxForum.Fans
Тема

cpuinfo

Автор: Peter 12 сообщений 936 просмотров
#384038

Здравствуйте!

Какой флаг процессора указывыает на его архитектуру?
Есть два процессора Intel, для одного lscpu выводит i686, для другого x86_64.
Все флаги 32-разрядного есть и у 64-разрядного.
Ниже приведены флаги 64-разрядного, отсутствующие у 32-разрядного.
[console]
arat
ept
nonstop_tsc
nx
popcnt
rdtscp
rep_good
sep
sse4_1
sse4_2
syscall
vpid
xtopology
[/console]
И какой из них указывает на 64-разрядность?

Пётр.

#384039

Никакой.

#384040

Сделай cat /proc/cpuinfo
И смотри наличие флага lm
Это флаг long mode, если он есть, то процессор поддерживает 64-бита.

Так же это можно посмотреть в выводе inxi -Cx

#384041
fragment написал:
Никакой.

Тогда на основании чего lscpu определяет архитектуру?

Пётр.

#384042
Vascom написал:
Сделай cat /proc/cpuinfo
И смотри наличие флага lm
Это флаг long mode, если он есть, то процессор поддерживает 64-бита.

lm есть у обоих, оба подерживают 64-разрядные операции.

Пётр.

#384043

Покажи вывод lscpu для обоих процессоров.
Возможно показывается архитектура текущей операционной системы, а не возможности процессора.

#384046

На компьютере, на котором "uname -m" выводит i686, действительно установлена 32-разрядная система,
а на другом - 64-разрядная.
Вывод lscpu для 32-разрядной:
[console]
Architecture: i686
CPU op-mode(s): 32-bit, 64-bit
CPU(s): 4
Thread(s) per core: 1
Core(s) per socket: 4
CPU socket(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 15
Stepping: 11
CPU MHz: 1600.000
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 4096K
[/console]
Вывод для 64-разрядной:
[console]
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
CPU(s): 4
Thread(s) per core: 2
Core(s) per socket: 2
CPU socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 37
Stepping: 5
CPU MHz: 3333.000
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 4096K
[/console]

Пётр.

#384047

Вот видишь - оба процессора 64-битные, а Architecture указывает лишь на разрядность операционной системы.

#384048
Vascom написал:
Вот видишь - оба процессора 64-битные, а Architecture указывает лишь на разрядность операционной системы.

Хорошо, но я думал, что должен быть ещё один флаг, кроме lm, указывающий на 64-разрядность.

Пётр.

#384049

Зачем? Достаточно одного флага.

#384050
Vascom написал:
Зачем? Достаточно одного флага.

Да, я, наверное, что-то перепутал. Благодарю за разъяснения.

Пётр.

#384065

на самом деле, amd64 полностью совместима с IA-32. И также полностью совместима с IA-16. И кроме того, частично совместима с IA-8(i8080). Потому на любой CPU amd64 можно установить любую 64х, 32х, и даже 16и битную операционную систему. И они даже будут работать, как и программы (единственная проблема заключается в том, что 64х битная ОС ждёт от программы обращения к 64х битным библиотекам, потому для запуска 32х битного кода необходимо и достаточно дополнительно установить 32х битные библиотеки).

Войдите или зарегистрируйтесь, чтобы ответить.