计算机硬件专栏

架构

1、x86架构

我们使用的电脑以及公司的服务器,大部分采用了x86架构的处理器,以intel和AMD的处理器为主。

x86架构的处理器采用了CISC指令集(复杂指令集计算机),x86架构的CPU分为x86和x86-64两类,目前主流的是x86-64,即64位的处理器。

2、ARM架构

我们的手机几乎全部使用了ARM架构,采用了RISC指令集(精简指令集),ARM的优势在于低功耗,因此非常适合手机等终端使用,x86架构的处理器无法解决低功耗的问题,所以移动终端很少使用x86架构的处理器。

华为麒麟处理器、苹果的A系列处理器、高通骁龙处理器无一例外的采用了ARM架构,此外大部分的工控系统、智能家居的控制系统、家庭的机顶盒等也采用了ARM架构。随着美国“禁售令”的影响,ARM中断了与华为的业务往来,ARM这家公司走进了人们的视野,ARM公司成立于1991年,是一家英国的公司,后来被日本软银收购。ARM公司只出售IP(技术知识产权),不设计和制造自己的芯片,位于ARM架构的最顶端。如果ARM不再给华为授权,那么华为的麒麟处理器、凌霄处理器等均会受到一定的影响,无法使用最新的架构。

3、MIPS架构

MIPS架构同样是一种RISC(精简指令集)的处理器架构,1981年由MIPS科技公司开发并授权,广泛用于电子产品、网络设备、个人娱乐设备等。比如家庭使用的无线路由器如果是MTK芯片,那么大部分是MIPS架构的处理器。

这里说一下我国自主的“龙芯”处理器,中科院计算所购买了MIPS的永久性结构授权,兼容MIPS架构的处理器,也就是可以贴上“兼容MIPS指令集”的商标,所有核心的架构都是自己研发的。

4、RISC-V架构

RISC-V架构是基于精简指令集(RISC)的开源架构,可以自由地用于任何目的,允许任何容人设计、制造和销售RISC-V芯片和软件,并不需要ARM、MIPS那样需要经过授权,受到各种使用的限制。

相比x86、arm架构,RISC-V比较“年轻”,RISC-V诞生于2010年,由加州大学伯克莱分校发布。

RISC-V架构可以说是解决国产民用处理器困局的终极方案。从长远利益来看,基于各种x86、arm等架构的处理器属于“假自主”,仍然受到intel、arm等授权的限制,比如最近由于“禁售令”影响,arm中断与华为的业务往来,停止相关授权服务,长远来看,对华为的麒麟处理器可能会造成比较大的影响。

目前,国内很多厂商参与了RISC-V生态系统,建立了RISC-V产业联盟,包括了原微电子、紫光展锐、安徽华米等,去年小米发布了基于RISC-V指令集的可穿戴芯片黄山1号。RISC-V是ARM架构最大的威胁,前景虽好,但是毕竟还在起步阶段,随着技术的迭代,相信一定会推动RISC-V建立强大的生态系统。

以上就是目前常见的CPU架构,x86是PC和服务器的主流,ARM是移动设备的主流,RISC-V可能是未来的主流。

x86与x64

【x86和x64】
1、泛指一系列由英特尔公司开发的处理器的架构,最早为1978年面世的“Intel 8086”CPU。早期的处理器均是以此格式来命名,如Intel 8086,80186,80286,80386,80486,这些架构被统称为x86。由于数字不能被注册成为商标,因此公司每当有新的处理器使用,均会采用可注册的名称,如Pentium。

2、对软件来说,X86一般是指32位的系统,X64就是64位的系统。对CPU来说,也类似。但是,X64本质上也是X86的一个版本,确切来说,应该叫x86_64,可以简单理解成X86的下一代版本。目前X86基本上已经淘汰,因此X64早已经是主流了。

3、对于世界上最大的两家CPU制造商Intel(美国研制处理器的公司)和AMD(美国超威半导体公司),他们都生产X86(包括X64)架构的CPU。这俩公司渊源其实很深。早期时Intel先是自己搞了个x86架构,然后amd拿到授权也可以做x86了。接着intel向64位过渡的时候搞了个ia64(x64架构),由于和x86架构不兼容,市场反应极差。而amd率先搞了x86的64位兼容(32和64的混合架构),即现在的x86-64,Intel反过来向AMD要授权(intel和amd两家专利交叉的很严重)生产x86-64。因为amd先搞出来的,所以x86-64也叫amd64。

AMD和ARM

1、上面也提到了,amd是一家CPU制造商,它们家的CPU和Intel一样,都是X86架构。中文名(超威)超微半导体,是除了英特尔以外最大的x86架构微处理供应商(即:美国超威半导体公司),也是除了英伟达以外仅有的独立图形处理供应商。

2、ARM(英文为Advanced RISC Machine,或Acorn RISC Machine),应该这么说,arm和x86是一类,也是CPU的一种架构;非常适用于移动通信这种低成本,高性能,低耗电的领域。ARM的公司为安谋控股(ARM Holding plc),又称为ARM公司,总部位于剑桥的设计与软件公司,现在已被日本的软银公司收购,后者同时也是国内互联网巨头阿里巴巴的最大股东。

CPU与GPU

1、CPU是中央处理器((central processing unit),在电脑中起着控制计算机运行的作用。

2、GPU是图形处理器(英语:Graphics Processing Unit,缩写:GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。

3、CPU和GPU大不相同,因为它们的设计目标不同,分别针对了两种不同的应用场景。只有CPU和GPU合作,才能最大程度上发挥电脑的性能。

显卡

显卡(Video card,Graphics card)全称显示接口卡,又称显示适配器,是计算机最基本配置、最重要的配件之一。就像电脑联网需要网卡,主机里的数据要显示在屏幕上就需要显卡。因此,显卡是电脑进行数模信号转换的设备,承担输出显示图形的任务。具体来说, 显卡接在电脑主板上,它将电脑的数字信号转换成模拟信号让显示器显示出来。
原始的显卡一般都是集成在主板上,只完成最基本的信号输出工作,并不用来处理数据。随着显卡的迅速发展,就出现了GPU的概念,显卡也分为独立显卡和集成显卡(见附1)。

GPU

GPU这个概念是由Nvidia公司于1999年提出的。GPU是显卡上的一块芯片,就像CPU是主板上的一块芯片。那么1999年之前显卡上就没有GPU吗?当然有,只不过那时候没有人给它命名,也没有引起人们足够的重视,发展比较慢。
自Nvidia提出GPU这个概念后,GPU就进入了快速发展时期。简单来说,其经过了以下几个阶段的发展:
1) 仅用于图形渲染,此功能是GPU的初衷,这一点从它的名字就可以看出:Graphic Processing Unit,图形处理单元;
2)后来人们发现,GPU这么一个强大的器件只用于图形处理太浪费了,它应该用来做更多的工作,例如浮点运算。怎么做呢?直接把浮点运算交给GPU是做不到的,因为它只能用于图形处理(那个时候)。最容易想到的,是把浮点运算做一些处理,包装成图形渲染任务,然后交给GPU来做。这就是 GPGPU(General Purpose GPU)的概念。不过这样做有一个缺点,就是你必须有一定的图形学知识,否则你不知道如何包装。
3)于是,为了让不懂图形学知识的人也能体验到GPU运算的强大,Nvidia公司又提出了CUDA的概念。

CUDA

CUDA(Compute Unified Device Architecture),通用并行计算架构,是一种运算平台。它包含CUDA指令集架构以及GPU内部的并行计算引擎。你只要使用一种类似于C语言的 CUDA C语言,就可以开发CUDA程序,从而可以更加方便的利用GPU强大的计算能力,而不是像以前那样先将计算任务包装成图形渲染任务,再交由GPU处理。
注意,并不是所有GPU都支持CUDA。

CPU和GPU的关系

在没有GPU之前,基本上所有的任务都是交给CPU来做的。有GPU之后,二者就进行了分工, CPU负责逻辑性强的事物处理和串行计算,GPU则专注于执行高度线程化的并行处理任务(大规模计算任务)。为什么这么分工?这是由二者的硬件构成决定的。
可以看出, CPU是“主(host)”而GPU是“从(device)”,GPU无论发展得多快,都只能是替CPU分担工作,而不是取代CPU。

附1: 独立显卡和集成显卡的区别。
所谓集成,是指显卡集成在主板上,不能随意更换。而独立显卡是作为一个独立的器件插在主板的AGP接口上的,可以随时更换升级。
另外,集成显卡使用物理内存,而独立显卡有自己的显存。一般而言,同期推出的独立显卡的性能和速度要比集成显卡好、快。
值得一提的是,集成显卡和独立显卡都是有GPU的。

内存条类型

大多数台式计算机和笔记本计算机都使用其中一种大众化的动态随机存取内存 (DRAM) 作为主要系统内存。

单倍数据率 (SDR) SDRAM 是旧式内存,常用于 2002 年之前生产的计算机。

双倍数据率 (DDR) SDRAM 在 2002 年左右进入主流计算机市场,这种内存直接在 SDR SDRAM 的基础上发展而成。DDR 和 SDR 之间的显著区别是,DDR 会读取时钟信号的上升沿和下降沿上的数据,因此,DDR 内存模块的数据传输速度是 SDR 内存模块的两倍。

采用 DDR 后续技术的系统被称为 DDR2,于 2004 年中推出。DDR2 达到的速度超过了 DDR,可提供高达 8.5 GB/秒的带宽。基于 DDR2 的系统通常可使用成对安装的内存,以便在"双通道模式"下运行,从而进一步增加内存吞吐量。

DDR3DDR4DDR5 代表了内存技术的进一步改进,增加了带宽并降低了能量功耗,随着时间的推移和标准的演变,可以带来更好的性能和稳定性。

一般来说,主板只能支持一种内存。在任何系统中,都不能在同一块主板上组合使用 SDRAM、DDR、DDR2、DDR3、DDR4 或DDR5 内存。否则,内存将无法运行,甚至不能装入到插槽中。

Linux如何查看系统架构

1. uname 命令

uname -a 命令也可以显示Linux 系统架构,但是还有和其他信息
uname -m 直接显示Linux 系统架构
[root@Server ~]# uname -m
x86_64
[root@Server ~]# uname -a
Linux Server 4.18.0-240.el8.x86_64 #1 SMP Wed Sep 23 05:13:10 EDT 2020 x86_64 x86_64 x86_64 GNU/Linux

2. dpkg 命令

dpkg的命令可用于查看 Debian/ Ubuntu 操作系统是 32 位还是 64 位

dpkg --print-architecture

如果当前 Linux 是 64 位则输出 amd64,是 32 位则会输出 i386。

3. getconf 命令

getconf命令主要用于显示系统变量配置

getconf LONG_BIT

4. arch 命令

arch命令主要用于显示操作系统架构类型。如果输出x86_64 则表示为 64 位系统,

如果输出 i686 或 i386 则表示为 32 位系统。

无标签
打赏
评论区
头像
文章目录