Архитектура - 32-битная обработка 64-битных инструкций
tomasz@tomasz-lenovo-ideapad-Y530:~$ lscpu
Architecture: i686
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 23
Stepping: 6
CPU MHz: 2000.000
BogoMIPS: 4000.12
Cache L1d: 32K
Cache L1i: 32K
Cache L2: 3072K
Я вижу, что моя архитектура 32-битная (i686). Но операционные режимы процессора являются 32-разрядными и 64-разрядными. Вопрос в том, почему? Как обрабатывается, что 32-разрядный процессор выполняет 64-разрядные операции? Я думаю, что это намного медленнее, чем родные 32-битные операции. Это встроенный процессор (для эмуляции 64-битной версии) или программно-зависимый? Когда имеет смысл запускать 64-разрядные операции для 32-разрядного процессора?
3 ответа
lscpu
говорит вам, что ваша архитектура i686 (32-разрядный процессор Intel), и что ваш процессор поддерживает как 32-разрядный, так и 64-разрядный режимы работы. Вы не сможете установить x64-приложения, поскольку они созданы специально для x64-архитектур.
Ваш конкретный процессор может работать со встроенными пакетами i386 или i686. Есть несколько способов проверить вашу архитектуру и настройки ОС.
Пытаться uname -m
, Он покажет i686, это означает, что ваш процессор поддерживает 32 бита.
Использовать lscpu
команда, чтобы проверить, поддерживает ли ваш компьютер несколько режимов работы процессора (обычно 32-битный или 64-битный режим).
Из терминала запустить:
lscpu | grep op-mode
Пример вывода на 64-битный процессор:
user@computer1:~$ lscpu | grep op-mode
CPU op-mode(s): 32-bit, 64-bit
Пример вывода на 32-битный процессор:
user@computer2$ lscpu | grep op-mode
CPU op-mode(s): 32-bit
В первом примере на компьютер можно установить либо 32-разрядную версию Ubuntu, либо 64-разрядную версию Ubuntu. Во втором примере на компьютере может быть установлена только 32-битная версия Ubuntu. На данном компьютере можно установить либо 32-разрядную версию Ubuntu, либо 64-разрядную версию Ubuntu.
32-разрядное приложение будет работать в 32-разрядной или 64-разрядной операционной системе. 64-разрядная ОС будет работать только на 64-разрядном процессоре. 64-разрядное приложение будет работать в 64-разрядной ОС, и, выполнив некоторые тяжелые работы, можно также запустить некоторые 64-разрядные приложения в 32-разрядной ОС. Под "тяжелой работой" я подразумеваю, что вам нужно будет установить 64-битное ядро1, а также делать другие неприятные вещи, в зависимости от того, какие 64-битные приложения вы пытаетесь установить. Установка 32-разрядного приложения в 64-разрядной ОС, напротив, очень проста.
⠀ Летний ветер
Это значит:
Architecture: i686 # <-- your kernel is 32 bit (you are using 32 bit Ubuntu)
CPU op-mode(s): 32-bit, 64-bit # <-- your cpu can handle 32 or 64 bit instructions