<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg>
讯享网
计算机硬件的五大单元
在介绍计算机硬件基础之前,我们必须了解一下计算机硬件的五大单元(注意这里说的是硬件的五大单元并不是计算机五大单元):
- 输入设备:无论是计算机五大单元还是计算机硬件的五大单元,这其中必须包含的东西肯定是输入设备,在计算机日常使用中,输入设备无非就是将我们需要的数据传给计算机的媒介,输入设备常见的由鼠标、键盘、游戏手柄等。
- 输出设备:输出设备顾名思义就是显示计算机处理数据的媒介,例如显示屏、打印机等都是输出设备。
- 算术逻辑单元:在介绍算术逻辑单元之前,我们必须了解一下什么是,是一个具有特定的功能的一个芯片,每个都包含一堆的指令集。算术逻辑单元就是的一部分,它负责程序的运算以及逻辑判断。
- 控制单元:同样的控制单元也是的一部分,它负责协调各个周边的组件和各个单元的工作。
主存(内存)
CPU是负责各种复杂的运算工作的,由于其计算速度非常快,而存储数据硬盘速度非常慢,所以为了能够向CPU及时投递数据,避免CPU经常空闲造成CPU空转,我们就加了内存这个东西。
需要了解是,内存空间是有限的,所以当内存找磁盘读取数据时发现自己空间已满,就会采用置换算法将某些不需要的数据移除内存。
CPU(中央处理器)
CPU是包含特定指令集的芯片,而指令集大概可以分为精简指令集和复杂指令集:
- 精简指令集(RISC):,精简指令集特点很明显,它能够处理简单的一些动作,并且执行效率极高,常用的常见就是导航系统、导航网络设备(路由器、交换机)等。
- 复杂指令集(CISC):我们日常计算机所用x86架构所用的CPU就是包含复杂指令集的CPU,它所能处理的动作可以是非常复杂,所以执行效率相对精简指令集而言会低一些。常见的CISC微指令就是AMD,Intel这些。之所以我们管现代所用的计算机结构叫x86的原因也正是因为Intel早年开发的一些列CPU代号都是86结尾。
随着CPU的不断发展,计算机也从原来的32位发展到现在的64位,这就意味着CPU一次可以读写的数据也从原来的32位变为现代的64位,也意味着所能表示的内存地址从原来的4g变为8g。

用人的构建来理解计算机的运作流程
了解了计算机硬件的组成部分,我们就可以通过人的构建来了解一下计算机的工作流程,我们都知道人是通过大脑进行思考和处理外界的传递的数据的,计算机中的就可以理解为人脑,通过计算机就是将主存传入的数据进行运算,并交由输出单元传送出去。
人脑进行运算的数据有可能是从五官感知到的,也可能是从自己的记忆中拿到的,通过记忆获得信息速度远比再次通过五官去感知要快速的多。而主存就好比人类的记忆,CPU正是通过主存快速获取数据并完成运算。
人类对于日常工作处理所需要的数据大部分都来自记忆,而记忆是大部分来自长期存储的数据。计算机也一样的,硬盘就扮演着存储长期数据的角色,当计算机需要某些数据的时候,主存就会去硬盘中获取这些数据交给CPU处理。
知道了数据处理的地方,那么我就该知道新的数据是从何处进行输入输出的,正如人类一样,人类是通过五官感知外界。而计算机则是通过输入和输出设备完成数据的运输,输入设备可以是鼠标、键盘等。输出设备可以是打印机、显示屏等。
串联起来:
- 计算机通过输入设备将数据存储到硬盘。
- 主存从硬盘读取数据。
- CPU从主存中快速读取数据并完成运算。
- 运算结果或是通过输出设备输出,或是返回给主存,主存再次写回磁盘中。

计算机上常用的计算单位
- 容量单位:容量单位的进率都是1024,但是bit和byte的进率是8。
讯享网
- 速度单位:速度单位最常见的就是网络速度,例如我们日常购买宽带时运营商都会告知宽带为百兆带宽。实际上百兆带宽就是100Mbps,这里的b是bit,所以换算成byte,百兆带宽的实际速度为=
主板架构
聊到计算机组成我们基本是以AMD或者Intel两个主流派系,随着发展两者的架构几乎是一样的。
早期的主板会将结构分为南北桥两个部分,北桥负责桥接各种读取速度快的组件间的交互,例如主存、CPU、显示适配器等。而南桥负责桥接较慢的装置接口,例如硬盘、网络卡、USB等。

这也导致内存和CPU交互都需要经过北桥,大大占用了北桥的带宽,于是设计者将北桥内存控制器加到CPU中,现如今的x86架构就一直延续了这个设计。

CPU详解
以华硕主机来聊聊CPU这个东西,下图所指的位置就是CPU的插槽,使用不同的指令集CPU的执行效率都会有所不同。但在同款CPU性能比较下,频率也是CPU性能的一个重要指标,例如一个CPU的执行频率为 3.6GHz,这就代表着这个CPU理论上一秒可以执行36亿个指令(3.6 10001000*1000 =36亿)。

上文我们也提到了,早年的CPU和主存是通过北桥来交互数据的,但是CPU的执行效率远远高于主存的传输速度,所以为了平衡这一点,北桥还设置了一个叫FSB的东西来连接两者。


并且为了适配CPU和其他组件的交互速度,CPU还将自己传输分为内频和外频。外频的速度适配外部组件的传输速度,内频则是CPU自己的速度,通过所以早年的CPU可以说是自己内部速度非常快,而外部还在不紧不慢和其他组件缓慢交互。
所以早年我们还会提到一个叫超频的概念,例如我们当前CPU外频率为300MHz,倍频为9,那么CPU的内频就是。假如所以有些计算机硬件发烧友为了能够提高CPU的内频速度,会将外频率速度提高例如将外频率提高为500MHz,那么内频则被提高为4.5GHz,但是这么快的速度确实非正常设置,很可能会导致主机运行时出现宕机的情况。

随着时代的发展,Intel使用DMI技术,AMD使用 Hyper Transport,使得CPU和主存以及其他组件交互都无需经过北桥了,所以现在的CPU都是自动超频的。
现代计算机中一个CPU不止一个核心,双核心一起参与运算,处理效率显著提高。而且我们都知道CPU的数据都是从主存中获取的,而CPU和主存之间数据传入也是通过内存控制的FSB(前端总线频率)。假如内存控制芯片对主存的工作频率为1600Mz,以64位计算机而言,那么CPU最快带宽为1600Mhz64位8byte=12.8Gbyte/s
关于CPU性能提升还有一点就是超线程的概念,我们都知道CPU运算速度非常快,但是进行运算操作时势必是要经过从主存中获取数据的步骤,这就使得单个CPU在读取主存数据时,逻辑运算单元只能干等着。

对此设计者们就提出一个超线程的概念,这个概念与操作系统多任务切换类似,就是将CPU内部的register分成两个,这样一来CPU就有了两个缓存器,当一个缓存器使用逻辑运算单元时,另一个缓存器就会去主存获取数据,两个齐头并进的工作着,执行效率就会高很多。
这也就是我们现在笔记本明明只有8个CPU核心,却有16个逻辑核心的原因。

关于信息,我们可以在系统上键入以下命令查看
以笔者的云服务器为例,我们可以看到以下内容
讯享网
当然若想查看当前系统物理cpu个数,可键入以下命令
以笔者为例,当前服务器就会输出以下信息,这就意为着笔者的服务器为有16个物理CPU
讯享网
若我们想查看每个CPU内核个数,我们可以键入以下命令
可以看到笔者使用的服务器的CPU都是单核心的
讯享网
我们也可以键入以下命令查看逻辑CPU个数以及超线程个数的总和,通过输出可知我们知道最终总数为16
讯享网
内存详解
CPU和主存决定的计算机执行效率,所以我们再来聊聊主存,内存一般都是一条条芯片,以华硕主机为例子,他会**在下图所示的插槽中,对于需要被处理的数据都必须加载到内存中才能被执行,而且内存中的数据如果在断电前没有写回磁盘的话,数据是会丢失的。

而内存分为和两种,他们的带宽都是,可以看到的频率比较高所以带宽也相对大些,现在主流的主存都是使用的内存了。

同时内存还需要考虑的另一个因素就是容量,只有足够大的容量还能保证从辅存中读取的数据会在处理前呆在内存中,不会因为内存不足而被置换出去,直到被执行。从上文我们也看到内存插槽有4个,之所以有这么多就是因为通过增加插槽数目可以增加更多的内存条,从而提高容量的通信也增加了通道,假如一支内存只有位,那么两条内存条带宽就会达到位。那么容量就是了。
除此之外现代计算机为了保证常用数据会快速被响应执行,就在中增加了一个二级缓存,所以当从主存读取的数据执行完成后,有可能会缓存在中,二级缓存的执行速度和CPU是一样的,这就是使得计算机的执行性能再次提高。


BIOS
有一段重要的程序BIOS,他存储的计算机的硬件信息以及开机设备等选择项,他原本是存在ROM中,BIOS所有数据都会长期保留在内存中且不会修改,但是现代计算机发展速度太快了,这种做法带来了很大的不便,所以为了能够修改这段程序,BIOS现在一般都存到闪存(flash)或者EEPROM中。
显示适配器

除此之外,显示适配器也也需要和CPU等组件进行沟通,所以数据的传输效率也决定的显示的效率,主流的显示适配器的规格如下,基本都是采用PCIe,这就使得传输速度也是很不错的。

所以,如果我们需要看到pcie规格所对应的显示适配器的信息,我们完全可以键入以下命令查看
可以看到笔者服务器所对应的显示适配器为这个型号的

硬盘与存储设备
最后就是硬盘了,早期的辅存设备就是硬盘,如下所示

他对数据的读写都是通过转动磁头来进行的,而且因为磁盘外圈大的原因,所以这种硬盘写数据都是从外往内写的。

同样的磁盘传输速度也是非常重要的,传统磁盘连接界面包括有 SATA, SAS, IDE 与 SCSI 等等,但如今SATA已将IDE取代,而SAS已将SCSI 取代。如下图所示,这就是SATA的插槽。

不同版本的SATA传输速度如下

虽然SAS传输速度比SATA好,但碍于价格过于昂贵,所以个人计算机不常用,对此我们对SAS速度做个了解就好了。

USB相比大家都知道了,这里我们也就做不多做介绍了。

最后我们就来介绍主流的辅存设备了——固态硬盘(SSD),如今的电脑基本都是使用固态硬盘的,与传统磁盘不同的是,他不需要马达以及转动获取数据,他都是透过内存随机存取的。所以读取速度基本没有延迟,如今的笔记本基本都是使用固态硬盘了。在2016年的时候Intel顶级的SSD已经可以达到500Mbyte/s,这已经可以比肩SATA3了。更何况今日呢?所以传统磁盘已主键被淘汰,我们日常使用个人计算机的基本都是使用SSD了。
关于这些辅存设备信息,我们同样可以使用lspci查看,如下所示,这就笔者服务上所能看到的usb接口、SATA接口等各个接口对应的设备信息。
讯享网
鸟哥的Linux私房菜:https://book.douban.com/subject//
循序渐进Linux(第2版):https://book.douban.com/subject//

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/185622.html