这里写自定义目录标题

  • 一,查到的知识
    • 查看linux内核信息
    • 查看linux版本信息
    • 查看当前的系统位数
      • 其他搜索到的信息
    • 指令集和指令集架构的区分

关于x86_64和x32和x86和-386和32位还是64位的区分

一,查到的知识

x86、x86_64主要的区别就是32位和64位的问题。

x86 ======> 32位
x86_64 和 x64 以及AMD64 ======> 都是64位

x86是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,ntel官方文档里面称为“IA-32”

x84_64是x86 CPU开始迈向64位的时候,有2选择:1、向下兼容x86。2、完全重新设计指令集,不兼容x86。AMD抢跑了,比Intel率先制造出了商用的兼容x86的CPU,AMD称之为AMD64。而Intel选择了设计一种不兼容x86的全新64为指令集,称之为IA-64,但是比amd晚了一步,因为是全新设计的CPU,没有编译器,也不支持windows、后来不得不在时机落后的情况下也开始支持AMD64的指令集,但是换了个名字,叫x86_64,表示是x86指令集的64扩展。也就是说实际上,x86_64,x64,AMD64基本上是同一个东西。
   x86 ,x386指定是32位。
   amd和Intel是两种制造cpu的技术

查看linux内核信息

[root@localhost ~]# cat /proc/version
Linux version 2.6.32-642.el6.x86_64 (mockbuild@worker1.bsys.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) ) #1 SMP Tue May 10 17:27:01 UTC 2016
[root@localhost ~]# uname -r
2.6.32-642.el6.x86_64
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

uname -r 显示的结果是什么意思?
2.6.32-642.el6.x86_64
2: —->主版本号
6: —–>次版本号 6 表示稳定版本
32: —–>修订版本号,表示修订次数

查看linux版本信息

[root@localhost ~]# cat /etc/issue
CentOS release 6.8 (Final)
Kernel \r on an \m
[root@localhost ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)
[root@localhost ~]# file /bin/bash
/bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
[root@localhost ~]# file /bin/cat
/bin/cat: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

查看当前的系统位数

上面已经可以看出来uname -r cat /proc/version uname -a 都可以查看内核的位数,file /bin/bash 以及 file /bin/cat 可以查看当前你系统的位数。对应的结果是 x86_64 也即是64位。

但是还有更简单粗暴的方法:

ubantu@ubuntu:~$ getconf LONG_BIT
64

显示的结果直接就是位数。

其他搜索到的信息

指令集和指令集架构的区分

一般来说不会特地区分这种术语小细节,在具体背景下意思到了就行,因为这是一个工程概念,而不是数学概念。

如果硬要区分的话,认为指令集是指令集架构的一部分,指令集即指令集架构中所有计算机指令构成的集合,而指令集架构还将包含指令格式,指令编码规则,规范,以及要求的一些功能支持(如要求的寄存器空间)等等…

基于此,通常来说,有关的讨论都是在指令集架构,即ISA上讨论的,因为你不可能忽略指令格式编码规则,功能支持规范等方面的细节。除非你是一名只研究不同功能的指令组成的序列其本身的计算理论研究者。

另外,arm和x86的ISA是闭源的,但其本身内容和规范是公开的,例如x86本身仅由intel进行维护以及授权,但同时也会向用户提供相关的开发手册。

 英文维基里面并没有单独的指令集(Instruction Set)这个词条,只有Instruction Set Architecture,也就是指令集架构这个词条,通常简写为ISA[1]。x86、ARM、POWER、SPARC这些词条的第一句定义/介绍中,属于比较严谨的语句中,写的都是ISA,我没有见过单独使用Instruction Set的场景——当然,后面的详细介绍中有些时候会省掉Architecture而直接用Instruction Set。

此外,像x86的指令集扩展(Instruction Set Extension),如SSE、AVX等,某些时候也会简写为Instruction Set。所以我跟倾向于中文常说的指令集,就是指令集架构的简写而已。中文维基词条也是这么说的:

 指令集架构(英语:Instruction Set Architecture,缩写为ISA),又称指令集或指令集体系,是计算机体系结构中与程序设计有关的部分,包含了基本数据类型,指令集,寄存器,寻址模式,存储体系,中断,异常处理以及外部I/O。指令集架构包含一系列的opcode即操作码(机器语言),以及由特定处理器执行的基本命令。

指令集架构闭源还是开源,并不影响其它开发者开发基于这个指令集的应用。正如闭源的Windows、macOS、iOS,上面都有非常丰富的应用;反倒是开源的GNU/Linux(不含Android/Linux),应用种类都比这几个闭源的系统少得多,至于其它份额很少的开源系统就更不用说了。CPU的指令集,和各种系统的底层API(例如Windows的Win32,类Unix的POSIX等)其实是一样的;闭源只不过意味着其他人可以按照厂商要求使用但无法更改(除非提出反馈建议并被厂商接受),而开源则是可以参与制定,甚至在社区不接受的情况下自己搞一套而已。

关于x86_64和x32和x86和-386和32位还是64位的区分 指令集的学习相关推荐

  1. x86 32位oracle,X86 32位和64位的区别

    在windows系统中,32位和64位的区别是.32位系统内存只能带得动3.2G的内存,带不动8G的内存. 理论上64位比32位要快一倍. X86 指的是32位的操作系统 X64 指的是64的操作系统 ...

  2. 简单归纳一下32位、64位、x86、x64的区别和联系

    32位.64位.x86.x64区别和联系 一切都要从1978年说起,英特尔在这年发布了世界上第一款 x86 指令集架构的处理器「Intel 8086」. 之后这个系列的处理器名称都以数字 86 作为结 ...

  3. 无法安装X64 在计算机找到X32,怎么看电脑适合装32位还是64位

    [怎么看电脑适合装32位还是64位]如何判断电脑适合装32位的系统还是64位的 官方推荐最低配置要求:处理器:1GHz32位或者64位处理器内存:1GB及以上显卡:支持DirectX 9128M及以上 ...

  4. x86、x64、32位和64位

    x86是x86-32的缩写,x64是x86-64的缩写,这样就可以理解了x86就是32位,x64就是64位. x86.x64是一套指令集,主要是指系统对CPU GPRs的数据传输时的数据宽度不同,分别 ...

  5. Intel 64/x86_64/IA-32/x86处理器段寄存器 - 32位段寄存器/64位段寄存器

    Segment Registers 本节主要讲述Intel处理器中的段寄存器,用于支持处理器的段式存储器管理机制.16位的8086/Intel286处理器有4个段寄存器CS/DS/SS/ES.32位的 ...

  6. SQLite自动切换32位64位dll兼容32位和64位问题 X86 X64

    2014年09月16日 System.Data.Sqlite.DLL 1.0.94.0 Sqlite 3.8.6 现提供一个以资源方式存到System.Data.SQLite.dll中的动态库.在运行 ...

  7. x86、x64、x32和64位、32位的区别与联系

    x86代表32位系统:x64代表64位系统64位就是最近两年才出的新一代的CPU,一般适用于专业的大型的计算,没有32位应用广泛.64位不仅对硬件要求高,而且很多软件都不兼容.x86是一个intel通 ...

  8. win7 x32 x64 x86的区别

    x86和x32代表32位操作系统 ,x64代表64位操作系统.x86是以前intel对32位系统的传统叫法,如486.586,他们都是32位的.64位版本比32位的可以处理更多的内存和应用程序.32位 ...

  9. x86,8086,386是什么

    这里先要说一下32位与64位系统的区别: 1.CPU一次处理数据的能力是32位还是64位 2.内存寻址方面,最大寻址空间不同,32位系统最大寻址空间2^32,大约为4G,也就是说32位系统的处理器最大 ...

最新文章

  1. 基于Kmeans聚类算法的图像分割(色彩分割)实战
  2. 2021人工神经网络第二次作业要求
  3. 【python3】爬取鼠绘汉化的海贼王漫画
  4. 【MM】SAP委外加工服务验收产生的会计凭证
  5. centos6.5和centos7.5统一字符集为zh_CN.UTF-8解决系统和MySQL数据库乱码问题
  6. centos7.9使用rpm安装Jenkins_亲测成功---持续集成部署Jenkins工作笔记0022
  7. 写给我--过去,现在,未来
  8. java 符号引用与直接引用
  9. 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。
  10. matlab 实现排序
  11. PLC十字路口交通灯设计
  12. Python自定义豆瓣电影种类,排行,点评的爬取与存储(基础)
  13. Error: The project seems to require yarn but it‘s not installed.
  14. Maven的几个常用Plugin
  15. 制造业和物流行业的WMS系统差别在哪?
  16. 算法入门经典例题3-2,例题3-3知识点
  17. 穆帅战巴萨督编励志片 内含梅西踢皇马球迷皮克5指山
  18. 10分钟搞定miniconda-python环境安装
  19. Getter和Setter是什么?有什么作用?实现多种数据类型的Getter、Setter方法?实现Getter、Setter的常见的错误?
  20. 解决git pull时出现的几个问题

热门文章

  1. 北京冬奥会开幕式震撼刷屏,这些黑科技立了大功
  2. 腾讯云对象存储COS + 数据万象CI = 完善的图片解决方案
  3. 空气果Airnut1S拆解评测
  4. 离美归国因AI抢走饭碗?颜宁本人长文回应
  5. ReportViewer部分使用总结
  6. Java开发中经常使用到的几种WebService技术实现方案
  7. 控制面板里打印服务器显示叹号,win7系统打印机显示叹号无法打印的解决方法...
  8. 基于RSS和TOA两种方法的无线传感器网络定位测量算法matlab仿真
  9. minicom指令_linux minicom 自动化对串口下命令
  10. python scheduler