計算機的體系結構從指令集的複雜度上可以分兩類,一是複雜指令集CISC,主要是X86架構。另一類是精簡指令集RISC,這個比較多,主要是ARM、MIPS、PowerPC等。
拿到一塊開發板,有時候想快速的知道它的體系結構或者叫系統架構,linux上提供了比較多的方法來判斷。下面列幾種相對常見一些的
uname命令
uname -a
不是最直觀的,但是也是一個不錯的命令。
nvidia@tegra-ubuntu:~$ uname -a
Linux tegra-ubuntu 4.4.38-tegra #1 SMP PREEMPT Fri Jul 28 09:55:22 PDT 2017 aarch64 aarch64 aarch64 GNU/Linux
aarch64就是ARM架構
openwrt@ubuntu:~$ uname -a
Linux ubuntu 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
X86架構
root@IceCreamBox:~# uname -a
Linux DrogooBox 3.3.8 #33 Tue Mar 22 15:02:01 CST 2016 mips GNU/Linux
MIPS架構
file命令
file看一下本地的可執行程序,比如/bin/bash,隨便找個可執行程序就可以。
nvidia@tegra-ubuntu:~$ file /bin/bash
/bin/bash: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, for GNU/Linux 3.7.0, BuildID[sha1]=64c27467ad7a6c507c8f79464fea872fed5dd044, stripped
裏面有個ARM,顯然是ARM架構。
openwrt@ubuntu:~$ file /bin/bash
/bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 2.6.32, BuildID[sha1]=04eca96c5bf3e9a300952a29ef3218f00487d37b, stripped
顯然是X86架構
arch命令
arch命令給出的結果比較簡潔
nvidia@tegra-ubuntu:~$ arch
aarch64
ARM架構
openwrt@ubuntu:~$ arch
x86_64
X86架構
另外,還有一種方式,直接去看cpuinfo信息,然後自己再簡單分析一下即可。
cat /proc/cpuinfo