(二)0.计算机概论--自学鸟哥的Linux私房菜(基础篇)

0.2个人电脑架构与相关设备元件

一般消费者常说的电脑通常指的就是x86的个人电脑架构,因此我们有必要来了解一下这个架构的各个元件。事实上,Linux最早在发展的时候,就是依据个人电脑的架构来发展的。另外,早期两大主流x86开发商(Intel,AMD)的CPU架构与设计理念都有些许差异。不过由于互相学习对方的长处,两者间的架构已经比较类似了。由于目前市场占有率还是以Intel为大头,所以地下以目前(2015)相对较新的Intel主机板架构来谈谈:
Intel晶片架构
图0.2.1 Intel晶片架构
由于主机板时连结各元件的一个重要项目,因此在主机板上面沟通各部元件的晶片组设计优劣,就会影像效能不少噢!早期的晶片组通常分为两个桥接器来控制各元件的沟通,分别是:

  1. 北桥:负责连结速度较快的CPU、主记忆体与显卡等元件;
  2. 南桥:负责连结速度较慢的装置介面,包括硬盘、USB、网卡等。

不过由于北桥最重要的就是CPU与主记忆体之间的桥接,因此目前的主流架构中,大多将北桥记忆体控制器整合到CPU封装中了。所以上图只显示了CPU而没有看到北桥晶片。

毕竟目前世界上x86的CPU主要供应商为Intel,所以下面以Intel的主机板架构说明各元件。我们以华硕公司出的主机板,型号为 Asus Z97-AR 作为一个说明的范例,搭配着主机板晶片组逻辑图0.2.1的说明,主机板各元件如下所示:
在这里插入图片描述
图0.2.2 ASUS主机板
上述图片中,主机板上面设计的插槽主要有CPU(Intel LGA 1150 Socket)、主记忆体(DDR3 3200 support)、显卡界面(PCIe3.0)、SATA磁盘插槽(SATA express)等等。底下的元件在解说的时候,请参考上述两张图示来印证。

0.2.1执行脑袋运算与判断的CPU

如果话说主机板示意图的上半部的中央部分,那就是CPU插槽。由于CPU负责大量运算,因此CPU通常时具有相当高热量的元件,通常会在CPU上头安装一个风扇来主动散热。

x86个人电脑的CPU主要供应商为Intel与AMD,目前(2015)主流的CPU都是双核以上的架构。原本单核CPU仅有一个运算单元,所谓的多核则是在一颗CPU封装当中嵌入了两个以上的运算核心,简单的说,就是在一个实体的CPU外设中,含有两个以上的CPU单元。

不同的CPU型号大多具有不同的脚位(CPU上面的插脚),能够搭配的主机板晶片也不同,所以当想要升级主机时,不能只考虑CPU,还得要留意主机板上面所支援的CPU型号。不然买了最新的CPU也不能够安插在旧主机板上!目前主流的CPUIntel的i3/i5/i7系列产品中,甚至先后期出产的类似型号的脚位也不同,例如i7-2600使用LGA1155脚位而i7-4790则使用FCLGA1150脚位,挑选时必须要很小心噢!

我们前面谈到CPU内部含有微指令集,不同的微指令集会导致CPU工作效率的优劣。除此之外,CPU的效能的比较还有CPU的时脉。简单的说,时脉就是CPU每秒钟可以进行的工作次数。 所以时脉越高表示这颗CPU单位时间内可以做更多的事情。举例来说,Intel的i7-4790CPU时脉为3.6GHz,表示这颗CPU在一秒内可以进行3.6x10^9次工作,每次工作都可以进行少数的指令运算之意。

注意,不同的CPU之间不能单纯的以时脉来判断运算效能!这是因为没颗CPU的微指令集不相同,架构也不见得一样,可使用的第二层快取及其计算机制可能也不同,加上每次时脉能够进行的工作指令数也不同!所以,时脉目前仅能用来比较同款CPU的速度!

CPU的工作频率:外频和倍频
早期的CPU架构主要透过北桥来连结系统最重要的CPU、主记忆体与显卡。因为所有的设备都得通过北桥来连结,因此每个设备得工作频率应该要相同,于是就有了所谓得前端汇流排(FSB)。但因为CPU得运算速度比其他得设备都要来得快,又为了要满足FSB的频率,因此产商就在CPU内部再进行加速,于是就有了所谓的外频与倍频了。

总的来说,在早期的CPU设计中,所谓的外频指的就是CPU与外部元件进行数据传输时的速度,倍频则是CPU内部用来加速工作效能的一个倍数,两者相乘才是CPU的时脉速度。 例如Intel Core 2 E8400 的内频为3.0GHz,而外频是333MHz,因此倍频就是9倍(3.0G=333M x 9,其中1G=1000M)。

很多电脑玩家硬盘玩家很喜欢玩“超频”,所谓超频指的就是,将CPU的倍频或者是外频通过主机板的设定功能更改成较高频率的一种方式。但因为CPU的倍频通常在出厂时就已经被锁定无法更改,因此较常被超频的为外频。
举例来说,像上述3.0GHz的CPU如果想要超频,可以将他的外频333MHz调整为400MHz,但如此一来整个主机板的各个元件的运作频率可能被增加成原本的1.333倍(4/3),虽然CPU可能可以达到3.6GHz,但却因为频率并非正常频率,故可能会造成宕机等问题。

但如此一来所有的资料都被北桥卡死了,北桥又不可能比CPU更快,因此这家伙常常时系统效能的瓶颈。为了解决这个问题,新的CPU设计中,已经将记忆体控制器整合到CPU内部,而连结CPU与记忆体、显卡的控制器的设计,在Intel部分使用QPI(Quick Path Interconnect)与DMI技术,而AMD部分则使用Hyper Transport了,这些技术都可以让CPU直接与主记忆体、显示卡等设备分别进行沟通,而不需要透过外部的连结晶片了。

因为现在已经没有了所谓的北桥(整合到CPU内了),因此,CPU的时脉设计就无须考虑要同步的外频,只需要考量整体的频率即可。

现在Intel的CPU会主动帮助超频噢!例如i7-4790这颗CPU的规格中,基本时脉为3.6GHz,但最高可自动超频到4GHz,通过的是Intel的turbo技术。同时,如果没有大量的运算需求,该CPU时脉会降到1.xGHz而已,藉此达到节能省电的目的!

32位元与64位元的CPU与汇流排“宽度”
从前面的简易说明中,我们知道CPU的各项资料通通来自于主记忆体。因此,如果主记忆体能提供给CPU的资料量越大的话,当然整体系统的效能也就越好。那么如何知道主记忆体能提供的资料量呢?还是得藉由CPU内的记忆体控制晶片与主记忆体间的传输速度“前端汇流排(Front Side Bus,FSB)”来说明。

与CPU的频率类似,主记忆体也有其工作的频率,这个频率限制还是来自于CPU内的记忆体控制器所决定的。以图0.2.1为例,CPU内建的记忆体控制晶片对主记忆体的工作频率最高可到达1600MHz。这只是工作频率。一般来说,每次能够传输的资料量,大多为64位,这个64位就是所谓的“宽度”了!因此,在图0.2.1这个系统中,CPU可以从记忆体中取得的最快频宽即使1600MHz64bit=1600MHz8bytes=12Gbytes。

与汇流排宽度相似,**CPU每次能够处理的资料量称为字组大小(word size),字组大小依据CPU的设计有32位元与64位元。我们现在所称的电脑是32位元或64位元主要就是依据这个CPU解析的字组大小而来的!**早期的32位元CPU中,因为CPU每次能够解析的资料量有限,因此由主记忆体传来的资料量就有所限制了。这也导致32位元的CPU最多只能支援最大到4GByetes的记忆体。

得益于北桥整合到CPU内部的设计,CPU得以“个别”跟各个元件进行沟通!因此,每种元件与CPU的沟通具有很多不同的方式!例如主记忆体使用系统汇流排频宽与CPU沟通,而显卡则透过PCI-E序列通道设计来与CPU沟通。

CPU等级

由于x86架构的CPU在Intel的Pentium系列(1993年)后就有不统一的脚位与设计,为了将不同种类的CPU规范等级,所以就有了i386,i586,i686等名词出现。基本上,在Intel Pentium MMX与AMD K6年代的CPU称为i586等级,而Intel Celeron与AMD Athlon(K7)年代之后的32位元就称为i686等级。至于目前的64位元CPU则统称为x86_64等级。

目前很多的程序都有对CPU做优化的设计,万一那天你发现一些程序是注明给x86_64的CPU使用时,就不要将他安装在686以下等级的电脑中,否则将无法运行该软件!不过,在x86_64的硬件下倒是可以安装386的软件,也就是说,这些东西具有向下兼容的能力!

超执行绪(Hyper-Threading,HT)

我们知道现在的CPU至少都是两个核心以上的多核心CPU了,但是Intel还有个功能叫做CPU的超执行绪(Hyper-Threading)功能。这是什么东西呢?我们知道现在的CPU运算速度都太快了,因此运算核心经常处于闲置状态。而我们也知道现在的系统大多都是多工的系统,同时间有很多的程序会让CPU来执行。因此,若CPU可以假象的同时执行两个程序,不就可以让系统的效能增加吗?反正CPU的运算能力还是没用完啊!

那么怎么实现这个HT功能?强者鸟哥的同事蔡董大大用个简单的说明来解释。在每一个CPU内部将重要的存储器(register)分成两群,而让程序分别使用这两群存储器。也就是说,可以有两个程序“同时竞争CPU的运算单元”而非通过作业系统的多工切换!这一过程就会让CPU好像“同时有两个核心”的模样!因此,虽然大部分i7等级的CPU其实只有4个实体核心,但透过HT的机制,则作业系统可以抓到八个核心!并且每个核心逻辑上分离,就可以同时运作八个程序了!

虽然很多研究与测试中,大多发现HT可以提升效能,不过,有些情况下却可能导致效能降低噢!因为,实际上明明只有一个运算单元啊。不过大多数私人电脑,无法达到100%的CPU使用率,通常只有60%运算量而已。此时,这个HT确实可以提升相当多的效能。但是实际使用时,还是应该case by case,自行研究噢。

0.2.2存储器

如图0.2.2华硕主机板示意图中的右上方部分的那四根插槽,那就是主记忆体的插槽了。主记忆体插槽中间通常有个突起物将整个插槽稍微切分成为两个不等长的距离,这样的设计可以让使用者在安装主记忆体时,不至于前后脚位安插错误,是一种防呆的设计噢!

前面提到CPU所使用的信息都是来自于主记忆体(main memory),不论是软件程序还是资料,都必须要读入主记忆体后CPU才能利用。个人电脑的主存储器主要元件为动态随机存取存储器(Dynamic Random Access Memory,DRAM),随机存取存储器只有在通电时才能记录和使用,断电后信息就消失了。因此我们也称这种RAM为挥发性存储器。

DRAM根据技术的更新又分为好几代,而使用上较广泛的有所谓的SDRAMDDR SDRAM两种。这两种存储器的差别除了在于脚位与工作电压上的不同之外,DDR是所谓的双倍资料传送速度(Double Data Rate),他可以在一次工作周期中进行两次信息的传送,感觉上就好像是CPU的倍频。所以传输频率方面比SDRAM还要好。新一代的PC大多使用DDR记忆体了。下面列出SDRAM与DDR SDRAM的型号与频率及频宽之间的关系。

所谓 SDRAM 即 Synchronous Dynamic Random Access Memory,同步动态随机存储器,其中同步是指内存工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由制定地址进行数据读写。
在这里插入图片描述
DDR SDRAM又依据技术的发展,有DDR,DDR2,DDR3,DDR4等等,其中,DDR2的频率倍数则是4倍而DDR3则是8倍噢!

在图0.2.1中,主存储器的规格提升到 DDR3/DDR3L 同时支援,其中DDR3L的标准电压为1.35V,低于DDR3的标准电压1.5V,这是为了节省更多的电力。DDR3L的功耗更低,可以在耗电量需求更低的设备中,但并非所有的系统都同步支援!需要看主机板的支援规格,否则可能烧坏DDR3L主存储器噢!

主存储器除了频率/宽带与型号需要考虑之外,存储器的容量也是很重要的。因为所有的资料都要载入到存储器当中才能够被CPU判读,如果存储器容量不够大的话将会导致某些大容量资料无法被完整的载入,此时已存在存储器当中但暂时没有使用到的资料必须要先被释放,使得可用记忆体容量大于该资料,那份新资料才能够被载入!所以,通常越大的记忆体代表越快的系统,这是因为系统不用常常释放一些记忆体内部的资料。以伺服器来说,主存储器的容量有时候比CPU的速度还要重要!

多通道设计

由于所有的资料都必须要存放在主存储器中,所以主存储器的资料宽度当然是越大越好,但传统汇流排宽度一般仅达64位元,为了加大这个宽度,晶片组厂商就将这两个主记忆体整合在一起,如果一支记忆体可达到64位元,两只记忆体就可以达到128位元了,这就是双通道的设计理念。

如上所述,要启用双通道功能你必须要同时安插两支(或四支)主存储器,这两支主存储器最好连型号都一模一样,这是因为启动双通道记忆体功能时,资料是同步写入/读出这一对主记忆体中,如此才能够提升整体的频宽!所以当然除了容量大小要一致之外,型号也最好相同啦!

你有没有发现图0.2.2华硕主机板示意图上那四根记忆体插槽的颜色呢?是否分为两种颜色,且两两成对?为什么要这样设计?这种颜色的设计就是为了双通道来的!要启动双通道功能时,必须要将两根容量相同的主记忆体插在相同颜色的插槽当中噢!

伺服器,也称服务器,所需要的速度更快!因此,除了双通道外,中阶伺服器也经常提供三通道,甚至四通道的记忆体环境!例如2014年推出的伺服器用E5-2650 v3的Intel CPU中,它可以接受的最大通道数就是四通道且为 DDR4 噢!

DRAM与SRAM
除了主记忆体之外,事实上整部个人电脑中还有许许多多其他存储器的存在!最为我们所知的就是CPU内的第二层快取存储器。我们现在知道CPU的资料都是由主记忆体提供,但CPU到主记忆体之间还是得要通过主记忆体控制器,如果某些很常用的程式或资料可以放置到CPU内部的话,那么CPU资料的读取就不需要跑到主记忆体重新读取了!这对于效能来说不久大大的提升了?这就是第二层快取的设计概念。第二层快取主记忆体及CPU的关系如下图所示:
在这里插入图片描述
图0.2.3 记忆体相关性

因为第二层快取(L2 cache)整合到CPU内部,因此这个L2记忆体的速度必须要与CPU时脉相同。使用DRAM是无法达到这个时脉速度的,此时就需要静态随机存取存储器(Static Random Access Memory,SRAM) 的帮忙。SRAM在设计上使用的电晶体数量较多,价格较高,且不易做成大容量,不过由于其速度快,因此整合到CPU内称为快取记忆体以加快资料的存取是个不错的选择!新一代的CPU都哦有内建不等的L2快取在CPU内部,以加快CPU的运作效能。

只读存储器(ROM)

主机板上面的元件是非常多的,而每个元件的参数又具有可调整性。举例来说,CPU与记忆体的时脉是可调整的;而主机板上面如果有内建的网卡或者是显卡时,该功能是否要启动与该功能的各项参数,是被记录到主机板上头的一个称为CMOS的晶片上,这个晶片需要藉由额外的电源来发挥记录功能,这也是为什么你的主机板上面会有一颗电池的缘故。

那么CMOS内的资料如何读取与更新呢?还记得你的电脑在开机的时候可以按下【Del】按键来进入一个名为BIOS的画面吧?BIOS(Basic Input Output System )是一套程序,这套程序是写死到主机板上面的一个存储器晶片中,这个记忆体芯片在没有通电时也能够将资料记录下来,那就是只读存储器(Read Only Memory,ROM)。 ROM是一种非挥发性的记忆体。另外,BIOS对于个人电脑来说也非常重要,因为他是系统在开机的时候首先会去读取的一个小程序噢!

另外,固件(firmware)很多也是使用ROM来进行固件写入的。固件和软件一样也是一个被电脑所执行的程序,然而它是对于硬件内部而言更加重要的部分。例如BIOS就是一个固件,BIOS虽然对于我们日常操作电脑系统没有什么太大的关系,但他却控制着开机时各项硬件参数的取得!我们会知道很多的硬件硬件上头都会由ROM来写入固件这个软件。

BIOS对电脑系统来讲非常重要,因为他掌握了系统硬件的详细资讯与开机设备的选择等等。但是电脑发展的速度太快了,因此BIOS程序也可能要做适度的修改才行,所以才会在很多主机板官网找到BIOS的更新程序。但是BIOS原本使用的是无法改写的ROM,因此根本无法修正BIOS程序!为此,现在的BIOS通常都是写入类似快闪记忆体(flash)或电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory, EEPROM) 中。

很多硬件上面都会有固件。例如网卡,交换器等等。可以这么说,固件就是绑在硬件上面的控制软件!

0.2.3显卡

显卡插槽如图0.2.2 华硕主机板示意图所示,在中左方有个PCIe 3.0 的项目,主张主机板中提供了两个显示卡插槽噢!

显卡又称为VGA(Video Graphics Array),他对于图形影像的显示扮演相当关键的角色。一般对于图形影像的显示重点在于解析度与色彩深度,因为每个图像显示的颜色会占用掉记忆体,因此显卡上面会有一个记忆体的容量,这个显卡记忆体容量将影响屏幕解析度与色彩深度!

除了显卡记忆体之外,现在由于三维游戏(3D Game)与一些3D动画的流行,因此显示卡的【运算能力】越来越重要。一些3D的运算早期是交给CPU去做的,但是CPU并非完全针对这些3D来进行设计的,而且CPU平时已经非常忙碌了。所以后来显卡厂商直接在显示卡上面嵌入一个3D加速的芯片,这就是所谓的**图形处理器(Graphics Processing Unit,GPU)**称为的由来!

显卡主要也是透过CPU的控制芯片来与CPU、主记忆体等沟通。如前面提到的,对于图形影像(尤其是3D游戏)来说,显卡也是需要高速运算的一个元件,所以资料的传输也是越快越好!因此显卡的规格由早期的PCI导向AGP(Accelerated Graphic Port),近期AGP又被PCI-Express规格所取代了。如前面华硕主机板示意图当中看到的就是PCI-Express的插槽。这些插槽最大的差异就是在资料传输的频宽了!如下所示:
在这里插入图片描述
比较特殊的是,PCIe(PCI-Express)使用的是类似管线的概念来处理,在 PCIe 第一版(PCIe 1.0)中,每条管线可以具有250MBytes/s的频宽效能,管线越多(通常设计到 x16 管线)则总频宽越高!另外,为了提升更多的频宽,因此PCIe还有进阶版本,目前主要的版本为第三版,相关的频宽如下:
在这里插入图片描述
若以图0.2.2的主机板为例,它使用的是PCIe 3.0 的16x,因此最大频宽就可以到达接近 32Gbytes/s 的传输量!比起AGP是快很多的!好可怕的传输量。。。

例题:
假设你的桌面使用1024x768解析度,且使用全彩(每个像素占用3bytes的容量),请问你的显卡至少需要多少记忆体才能使用这样的彩度?
答:
因为1024*768解析度中会有786432个像素,每个像素占用3bytes,所以总共需要2.25MBtes以上才行!但如果考虑屏幕的更新率(每秒屏幕的更新次数),显卡的记忆体还是越大越好!

除了显卡与主机板的连接介面需要知道外,那么显卡是通过上面格式与电脑屏幕(或电视)连接的呢?目前主要的连接介面有:

  • D-Sub(VGA端子):为较早的连接介面,主要为15针的连接,为类比通讯的传输,当初设计是针对传统映像管屏幕而来。主要的规格有标准的 640x350px @70Hz、1280x1024px @85Hz及2048x1536px @85Hz等。
  • DVI:共有四种以上的接头。DVI常见于液晶屏幕的连接,标准规格主要有:1920*1200px @60Hz、2560x1600px @60Hz等。
  • HDMI:相对于D-Sub与DVI仅能传送影像资料,HDMI能同时传送影像与声音,因此被广泛的使用于电视屏幕中!电脑屏幕目前也经常都有支援HDMI格式。
  • Display port:于HDMI相似的,可以同时传输声音于影像。

猜你喜欢

转载自blog.csdn.net/qq_33141353/article/details/88869239
今日推荐