计算机硬件知识
一、 为何要学习计算机基础
python是编程语言,即python是语言
语言有英语、法语、葡萄牙语等,但凡是语言,都是用来沟通的介质。
程序员编程的本质就是让计算机去工作,而编程语言就是程序员与计算机沟通的介质
程序员要想让计算机工作,必须知道计算机能干什么,怎么干的,这也就是我们必须学习计算机基础的原因
然而光有编程语言和硬件也并不能满足大家的编程需求,为什么这么说呢?
程序用编程语言写程序,最终开发出的结果就是一个软件,既然是软件,那就与腾讯qq、暴风影音、快播等软件没有区别了。这些软件必须运行在操作系统之上,你肯定会问:为何要有操作系统呢?没错,远古时代的程序员确实是在没有操作系统的环境下,用编程语言之间操作硬件来编程的,你可能觉得这没有问题,但其实问题是相当严重的,因为此时你必须掌握如何操作硬件的所有具体细节,比如如何具体操作硬盘(现在你得把硬盘拆开,然后你能看见的所有的东西,你都得研究明白,因为你编程时要用到它),这就严重影响了开发的效率,操作系统的出现就是运行于硬件之上,来控制硬件的,我们开发时,只需要调用操作系统为我们提供的简单而优雅的接口就可以了
所以一套完整的计算机系统分为:计算机硬件,操作系统,软件(程序员开发的就是软件),如下图。因而我们的python编程之路分为计算机硬件基础,操作系统基础,和python编程三部分,就让我们先从计算机硬件学起吧
二 、本节目标
- 了解计算机各组件及工作原理
- 了解计算机启动流程
三 、 计算机硬件发展史
http://www.cnblogs.com/xuyaping/p/7667508.html
四、计算机硬件介绍
从概念上讲,一台简单的个人计算机可以抽象为类似下图的模型,CPU、内存以及I/O设备都由一条系统总线(bus)连接起来并通过总线与其他设备通信
现代计算机的结构更复杂,包括多重总线,我们将在后面的小节介绍,此时暂且让我们以下图为例来介绍各个部件
理解各部分功能的一个简单的方法是,把计算机各部分组件往人的身上套,比如
cpu是人的大脑,负责运算
内存是人的记忆,负责临时存储
硬盘是人的笔记本,负责永久存储
输入设备是耳朵或眼睛,负责接收外部的信息传给cpu
输出设备是你的表情,负责经过处理后输出的结果
以上所有的设备都通过总线连接,总线相当于人的神经
上课开始,老师讲课,学生听课,老师是程序员,学生是计算机,学生的器官都是计算机各部分组成
1.老师通过学生的眼睛和耳朵将自己的知识/指令传给学生(输入)
2.学生在接收知识/指令后,通过自己的神经,将其放入自己的内存/短期记忆(总线、内存)
3.学生的大脑/cpu从短期记忆里取出知识/指令,分析知识/指令,然后学习知识/执行指令 (cpu取指、分析、执行)
4.学生的表情会直接反映出自己是否听懂,这就是输出,老师瞅一眼就知道学生有没有学会(输出)
5.学生想要永久将知识保存下来,只能拿出一个笔记本,把刚刚学会的知识都写到本子上,这个本子就是硬盘(磁盘)
4.1 处理器
计算机的大脑就是CPU,它从内存中取指令->解码->执行,然后再取指->解码->执行下一条指令,周而复始,直至整个程序被执行完成。
每个cpu都有一套可执行的专门指令集,任何软件的执行最终都要转化成cpu的指令去执行。所以Pentium(英特尔第五代x86架构的微处理器)不能执行SPARC(另外一种处理器)的程序。这就好比不同的人脑,对于大多数人类来说,人脑的结构一样,所以别人会的东西你也都可以会,但对于爱因斯坦的脑子来说,它会的你肯定不会。
因访问内存以得到指令或数据的时间比cpu执行指令花费的时间要长得多,所以,所有CPU内部都有一些用来保存关键变量和临时数据的寄存器,这样通常在cpu的指令集中专门提供一些指令,用来将一个字(可以理解为数据)从内存调入寄存器,以及将一个字从寄存器存入内存。cpu其他的指令集可以把来自寄存器、内存的操作数据组合,或者用两者产生一个结果,比如将两个字相加并把结果存在寄存器或内存中。
寄存器的分类:
1.除了用来保存变量和临时结果的通用寄存器外
2.多数计算机还有一些对程序员课件的专门寄存器,其中之一便是程序计数器,它保存了将要取出的下一条指令的内存地址。在指令取出后,程序计算器就被更新以便执行后期的指令
3.另外一个寄存器便是堆栈指针,它指向内存中当前栈的顶端。该栈包含已经进入但是还没有退出的每个过程中的一个框架。在一个过程的堆栈框架中保存了有关的输入参数、局部变量以及那些没有保存在寄存器中的临时变量
4.最后 一个非常重要的寄存器就是程序状态字寄存器(Program Status Word,PSW),这个寄存器包含了条码位(由比较指令设置)、CPU优先级、模式(用户态或内核态),以及各种其他控制位。用户通常读入整个PSW,但是只对其中少量的字段写入。在系统调用和I/O中,PSW非常非常非常非常非常非常重要
寄存器的维护:
操作系统必须知晓所有的寄存器。在时间多路复用的CPU中,操作系统会经常中止正在运行的某个程序并启动(或再次启动)另一个程序。每次停止一个运行着的程序时,操作系统必须保存所有的寄存器,这样在稍后该程序被再次运行时,可以把这些寄存器重新装入。
处理器设计的演变
1.最开始取值、解码、执行这三个过程是同时进行的,这意味着任何一个过程完成都需要等待其余两个过程执行完毕,时间浪费
2.后来被设计成了流水线式的设计,即执行指令n时,可以对指令n+1解码,并且可以读取指令n+2,完全是一套流水线。
3.超变量cpu,比流水线更加先进,有多个执行单元,可以同时负责不同的事情,比如看片的同时,听歌,打游戏。
两个或更多的指令被同时取出、解码并装入一个保持缓冲区中,直至它们都执行完毕。只有有一个执行单元空闲,就检查保持缓冲区是否还有可处理的指令
这种设计存在一种缺陷,即程序的指令经常不按照顺序执行,在多数情况下,硬件负责保证这种运算结果与顺序执行的指令时的结果相同。
内核态与用户态
除了在嵌入式系统中的非常简答的CPU之外,多数CPU都有两种模式,即内核态与用户态。
通常,PSW中有一个二进制位控制这两种模式。
内核态:当cpu在内核态运行时,cpu可以执行指令集中所有的指令,很明显,所有的指令中包含了使用硬件的所有功能,(操作系统在内核态下运行,从而可以访问整个硬件)
用户态:用户程序在用户态下运行,仅仅只能执行cpu整个指令集的一个子集,该子集中不包含操作硬件功能的部分,因此,一般情况下,在用户态中有关I/O和内存保护(操作系统占用的内存是受保护的,不能被别的程序占用),当然,在用户态下,将PSW中的模式设置成内核态也是禁止的。
内核态与用户态切换
用户态下工作的软件不能操作硬件,但是我们的软件比如暴风影音,一定会有操作硬件的需求,比如从磁盘上读一个电影文件,那就必须经历从用户态切换到内核态的过程,为此,用户程序必须使用系统调用(system call),系统调用陷入内核并调用操作系统,TRAP指令把用户态切换成内核态,并启用操作系统从而获得服务。
请把的系统调用看成一个特别的的过程调用指令就可以了,该指令具有从用户态切换到内核态的特别能力。
异常处理
需要强调的是,计算机使用TRAP来执行系统调用,多数的TRAP是由硬件引起的,用于警告有异常情况发生,如试图1/0等操作。在所有的情况下,操作系统都得到控制权并决定如何处理异常情况,有时,由于出错的原因,程序不得不停止。在其他的情况下可以忽略出错,如果程序已经提前宣布它希望处理某类异常时,那么控制权还必须返回给程序,让其处理相关的问题
多线程和多核芯片
moore定律指出,芯片中的晶体管数量每18个月翻一倍,随着晶体管数量的增多,更强大的功能称为了可能,如
I.第一步增强:在cpu芯片中加入更大的缓存,一级缓存L1,用和cpu相同的材质制成,cpu访问它没有时延
II.第二步增强:一个cpu中的处理逻辑增多,intel公司首次提出,称为多线程(multithreading)或超线程(hyperthreading),对用户来说一个有两个线程的cpu就相当于两个cpu,我们后面要学习的进程和线程的知识就起源于这里,进程是资源单位而线程才是cpu的执行单位。
多线程运行cpu保持两个不同的线程状态,可以在纳秒级的时间内来回切换,速度快到你看到的结果是并发的,伪并行的,然而多线程不提供真正的并行处理,一个cpu同一时刻只能处理一个进程(一个进程中至少一个线程)
III.第三步增强:除了多线程,还出现了傲寒2个或者4个完整处理器的cpu芯片,如下图。要使用这类多核芯片肯定需要有多处理操作系统
4.2 存储器
计算机中第二重要的就是存储了,所有人都意淫着存储:速度快(这样cpu的等待存储器的延迟就降低了)+容量大+价钱便宜。然后同时兼备三者是不可能的,所以有了如下的不同的处理方式
存储器系统采用如上图的分层结构,顶层的存储器速度较高,容量较小,与底层的存储器相比每位的成本较高,其差别往往是十亿数量级的
寄存器即L1缓存:
用与cpu相同材质制造,与cpu一样快,因而cpu访问它无时延,典型容量是:在32位cpu中为32*32,在64位cpu中为64*64,在两种情况下容量均<1KB。
高速缓存即L2缓存:
主要由硬件控制高速缓存的存取,内存中有高速缓存行按照0~64字节为行0,64~127为行1。。。最常用的高速缓存行放置在cpu内部或者非常接近cpu的高速缓存中。当某个程序需要读一个存储字时,高速缓存硬件检查所需要的高速缓存行是否在高速缓存中。如果是,则称为高速缓存命中,缓存满足了请求,就不需要通过总线把访问请求送往主存(内存),这毕竟是慢的。高速缓存的命中通常需要两个时钟周期。高速缓存为命中,就必须访问内存,这需要付出大量的时间代价。由于高速缓存价格昂贵,所以其大小有限,有些机器具有两级甚至三级高速缓存,每一级高速缓存比前一级慢但是容易大。
缓存在计算机科学的许多领域中起着重要的作用,并不仅仅只是RAM(随机存取存储器)的缓存行。只要存在大量的资源可以划分为小的部分,那么这些资源中的某些部分肯定会比其他部分更频发地得到使用,此时用缓存可以带来性能上的提升。一个典型的例子就是操作系统一直在使用缓存,比如,多数操作系统在内存中保留频繁使用的文件(的一部分),以避免从磁盘中重复地调用这些文件,类似的/root/a/b/c/d/e/f/a.txt的长路径名转换成该文件所在的磁盘地址的结果然后放入缓存,可以避免重复寻找地址,还有一个web页面的url地址转换为网络地址(IP)地址后,这个转换结果也可以缓存起来供将来使用。
缓存是一个好方法,在现代cpu中设计了两个缓存,再看4.1中的两种cpu设计图。第一级缓存称为L1总是在CPU中,通常用来将已经解码的指令调入cpu的执行引擎,对那些频繁使用的数据自,多少芯片还会按照第二L1缓存 。。。另外往往设计有二级缓存L2,用来存放近来经常使用的内存字。L1与L2的差别在于对cpu对L1的访问无时间延迟,而对L2的访问则有1-2个时钟周期(即1-2ns)的延迟。
内存:
再往下一层是主存,此乃存储器系统的主力,主存通常称为随机访问存储RAM,就是我们通常所说的内存,容量一直在不断攀升,所有不能再高速缓存中找到的,都会到主存中找,主存是易失性存储,断电后数据全部消失
除了主存RAM之外,许多计算机已经在使用少量的非易失性随机访问存储如ROM(Read Only Memory,ROM),在电源切断之后,非易失性存储的内容并不会丢失,ROM只读存储器在工厂中就被编程完毕,然后再也不能修改。ROM速度快且便宜,在有些计算机中,用于启动计算机的引导加载模块就存放在ROM中,另外一些I/O卡也采用ROM处理底层设备的控制。
EEPROM(Electrically Erasable PROM,电可擦除可编程ROM)和闪存(flash memory)也是非易失性的,但是与ROM相反,他们可以擦除和重写。不过重写时花费的时间比写入RAM要多。在便携式电子设备中中,闪存通常作为存储媒介。闪存是数码相机中的胶卷,是便携式音译播放器的磁盘,还应用于固态硬盘。闪存在速度上介于RAM和磁盘之间,但与磁盘不同的是,闪存擦除的次数过多,就被磨损了。
还有一类存储器就是CMOS,它是易失性的,许多计算机利用CMOS存储器来保持当前时间和日期。CMOS存储器和递增时间的电路由一小块电池驱动,所以,即使计算机没有加电,时间也仍然可以正确地更新,除此之外CMOS还可以保存配置的参数,比如,哪一个是启动磁盘等,之所以采用CMOS是因为它耗电非常少,一块工厂原装电池往往能使用若干年,但是当电池失效时,相关的配置和时间等都将丢失
4.3 磁盘
磁盘低速的原因是因为它一种机械装置,在磁盘中有一个或多个金属盘片,它们以5400,7200或10800rpm(RPM =revolutions per minute 每分钟多少转 )的速度旋转。从边缘开始有一个机械臂悬在盘面上,这类似于老式黑胶唱片机上的拾音臂。信息卸载磁盘上的一些列的同心圆上,是一连串的2进制位(称为bit位),为了统计方法,8个bit称为一个字节bytes,1024bytes=1k,1024k=1M,1024M=1G,所以我们平时所说的磁盘容量最终指的就是磁盘能写多少个2进制位。
每个磁头可以读取一段换新区域,称为磁道
把一个戈丁手臂位置上所以的磁道合起来,组成一个柱面
每个磁道划成若干扇区,扇区典型的值是512字节
数据都存放于一段一段的扇区,即磁道这个圆圈的一小段圆圈,从磁盘读取一段数据需要经历寻道时间和延迟时间
平均寻道时间
机械手臂从一个柱面随机移动到相邻的柱面的时间成为寻到时间,找到了磁道就以为着招到了数据所在的那个圈圈,但是还不知道数据具体这个圆圈的具体位置
4.4 磁带
在价钱相同的情况下比硬盘拥有更高的存储容量,虽然速度低于磁盘,但是因其大容量,在地震水灾火灾时可移动性强等特性,常被用来做备份。(常见于大型数据库系统中)
4.5 I/O设备
cpu和存储器并不是操作系统唯一需要管理的资源,I/O设备也是非常重要的一环。
见四中的图,I/O设备一般包括两个部分:设备控制器和设备本身。
控制器:是查找主板上的一块芯片或一组芯片(硬盘,网卡,声卡等都需要插到一个口上,这个口连的便是控制器),控制器负责控制连接的设备,它从操作系统接收命令,比如读硬盘数据,然后就对硬盘设备发起读请求来读出内容。
控制器的功能:通常情况下对设备的控制是非常复杂和具体的,控制器的任务就是为操作系统屏蔽这些复杂而具体的工作,提供给操作系统一个简单而清晰的接口
设备本身:有相对简单的接口且标准的,这样大家都可以为其编写驱动程序了。要想调用设备,必须根据该接口编写复杂而具体的程序,于是有了控制器提供设备驱动接口给操作系统。必须把设备驱动程序安装到操作系统中。
4.5 总线
四小节中的结构在小型计算机中沿用了多年,并也用在早期的IBM PC中。但是随着处理器和存储器速度越来越快,单总线很难处理总线的交通流量了,于是出现了下图的多总线模式,他们处理I/O设备及cpu到存储器的速度都更快。
北桥即PCI桥:连接高速设备
南桥即ISA桥:连接慢速设备
4.6 启动计算机
在计算机的主板上有一个基本的输入输出程序(Basic Input Output system)
BIOS就相当于一个小的操作系统,它有底层的I/O软件,包括读键盘,写屏幕,进行磁盘I/O,该程序存放于一非易失性闪存RAM中。
启动流程
1.计算机加电
2.BIOS开始运行,检测硬件:cpu、内存、硬盘等
3.BIOS读取CMOS存储器中的参数,选择启动设备
4.从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)
5.根据分区信息读入bootloader启动装载模块,启动操作系统
6.然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核。然后初始有关的表格(如进程表),穿件需要的进程,并在每个终端上启动登录程序或GUI
编程语言的作用及与操作系统和硬件的关系:
编程语言是可以和计算机沟通交流的一门语言,类似于中文,英语,日语等等。
不同的是编程语言可以给予计算机命令并使计算机执行相应的操作。
操作系统是计算机程序的一种,用于计算机“裸机”最基本的系统程序。
硬件由运算器、控制器、输入设备、输出设备及存储器组成。
编程语言生成的软件需在操作系统的基础上运行,操作系统运行又离不开硬件,想要正常运行计算机并执行命令三者不可或缺。
应用程序-》操作系统-》硬件:
编程语言给予计算机命令并使计算机执行相应的操作。而操作系统就是上述过程中执行的媒介。
编程语言编写程序开发出软件,因软件需在操作系统的基础上执行,故需将命令传递给操作系统。
操作系统需在硬件上进行工作,操作系统将命令传递给硬件,以此来完成一次完整行为。
cpu-》内存-》磁盘:
CPU由运算器和控制器组成,相当于大脑,用于分析运算。
内存存储器是用来保存将要处理,正在处理以及刚刚处理完的信息的临时保存。
磁盘用于永久保存信息和资源的工具。
CPU接收外部信息并从内存中调用并进行分析运算,内存将正在进行,等待处理,刚刚处理完的的信息临时保存,以提高运算效率。
而后磁盘将需要永久保存的信息及内容保存到磁盘中。
cpu与寄存器,内核态与用户态及如何切换:
CPU从内存中调用的数据所花的时间比CPU处理运算数据要常长。故CPU都有寄存器放置关键数据和参数,以及刚刚处理过的数据。
寄存器下面四种:
1.通用寄存器:保存关键参数和临时结果。
2.程序计数寄存器:保存从内存中将要取出的下一条指令的内存地址,每取出一份指令计数加一。
3.堆栈指针寄存器:指向内存中存有数据指令当前栈的顶端一个。其指向当前栈的已经进入但没有退出每个过程中的一个框架。其框架保存了已经输入的变量及参数,以及未保存到寄存器中的临时变量。
4.程序状态字寄存器:包括条码位(比较指令设置),内核态和用户态二种模式,CPU优先级以及各种控制位。通常被读入整个PSW,但仅对少量数据写入。
内核态:CPU内核态运行时,CPU可以执行指令集中的所有指令,内核态能访问整个硬件数据及指令,包含了硬件的所有功能。
用户态:CPU用户态运行时,不能访问硬件数据及指令,只能访问一个子集,不包含硬件的功能。在此状态下,将用户态设置为内核态是被禁止的。
内核态和用户态之间切换:有时候计算机需将用户态切换到内核态,使用系统调用来处理。系统调用陷入内核和操作系统,TRAP指令将用户态切换成内核态,并启用操作系统来获取服务。从而实现内核态和用户态之间的切换。
存储器系列,L1缓存,L2缓存,内存(RAM),EEPROM和闪存,CMOS与BIOS电池:
存储器系列:寄存器、高速缓存、内存、磁盘、磁带。从左向右速度越来越慢,容量越来越大,对应的价格比越来越低。
L1缓存:寄存器。与CPU材质相同,放置在CPU内部。故时间上无延迟。容量较低<1kB,32位计算机操作系统内存为32*32,64位计算机操作系统内存为64*64。
L2缓存:高速缓存。通过硬件控制高速缓存的存取,放在CPU内部或者离CPU较近的位置。高速缓存相比寄存器有时间上1~2ns的延迟,通常内存中保留常用的被使用的内容,以提高效率。
内存(RAM):又称为随机访问存储,即主存。易失性,断电情况下就会丢失。为存储系统主力,在高速缓存找不到的文件在内存中均能被找到。
与之相应的是ROM,非易失性,断电情况下数据也不会丢失。ROM只读存储器,在工厂已被编程完成且不能修改。速度快且便宜。可用于计算机启动加载模块,另外I/O也被ROM底层设备所控制。
EEPROM和闪存:EEPROM电可擦除可编程ROM,EEPROM和闪存一样非易失性,具有可擦除和重写功能。其中闪存相当于存储媒介,如相机中的胶卷,磁盘,固态硬盘等。
闪存速度介于RAM和磁盘中,相比较磁盘而言,闪存擦除次数过多会使其磨损,导致其功能失效。
CMOS与BIOS电池:CMOS为存储器的一种,易失性。CMOS存储器和递增时间的电路由一小块电池驱动,可用于存储时间和日期,保证在断电情况下时间和日期能正常显示。也可存储配置的参数,如哪一个是启动磁盘等。其中读取CMOS配置参数就是通过主板ROM上的程序BIOS。BIOS保存着计算机最基本的输入输出系统,以及计算机开机后的自检程序和系统自启动程序。
磁盘结构,平均寻道时间,平均延迟时间,虚拟内存与MMU:
磁盘结构:磁盘为一种机械设置,低速。有一个或者若干个金属盘片组成,由转轴来连接这些金属盘片。金属盘片边缘有类似于机械臂的设置,头部有磁头可以读取信息,转轴以一定速度旋转以便磁头读取金属盘片上的信息。
平均寻道时间:数据都存储在一片片扇形中,磁头读取相应的信息需要移动到其所在的扇形区域对应的轨道中,所花的时间即为寻道时间。
平均延迟时间:磁头移动到相应的轨道后,不一定恰好处于所需数据的扇形区域内,移动到所需数据的扇形区域所花的时间为延迟时间。
虚拟内存:将正在运行的程序放入内存取执行,暂时不需要执行的程序放入磁盘中,这部分磁盘称为虚拟内存,扩大了内存。
MMU:存储器管理单元。快速映射内存地址,方便程序之间的切换。MMU和缓存提升了系统的性能。
磁带:
磁带:存储器的一种。容量比较大,价格便宜,速度慢。
设备驱动与控制器:
控制器通过与设备连接,并给予设备命令使其执行命令。中间的媒介为设备驱动,设备驱动是为设备编写的程序,控制器通过设备驱动来控制设备。
总线与南桥和北桥:
总线连接CPU、内存、输入输出设备,形成计算机硬件系统,计算机各功能被实现。随着存储器和内存越来越快,总线也从单总线升级到多中线。
南桥与北桥同样的作用,亦被使用。南桥为ISA桥,连接慢速设备。北桥为PCI桥,连接快速设备。
操作系统的启动流程:
操作系统的启动通过BIOS系统,BIOS系统存储在ROM中一部分区域。电脑通电,BIOS系统启动,检测CPU、内存、硬盘等,读取CMOS中的配置参数,启动设备。从启动的设备中读取扇形内容启动装载模块,而后操作系统被启动。
应用程序的启动流程:
应用程序的启动在操作系统启动的前提下进行。BIOS程序从操作系统中获取配置数据。然后检测每种设备是否有设备驱动,没有的话为其设置设备驱动。所有的设备都有相对应得设备驱动后,操作系统将它们调入内核,初始有关的表格,穿件需要的进程,在每个程序上启动终端。应用程序得以启动。
五、计算机硬件系统
不管我们有没有发现,在生活中我们处处都在使用着计算机。
计算机给我们的生活带来了很多便利与效率,为了更好地使用计算机协助我们的工作学习我们需要对计算机有一个基础的了解。
计算机历史
定义:计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。
被发明:1946年,世界上第一台计算机ENIAC(electronic numerical integrator and calculator)在美国宾州大学诞生。这台计算机主要是用于弹道计算。这台计算机使用了 17468只电子管,占地170平方米,重达30吨,耗电174千瓦 ,耗资40多万美元。撇开高昂造价不谈,这台计算机重达30吨,和现在的一些轻薄笔记本相比让人难以置信计算机的发展速度。
图片就是这台重达30吨的计算机,怎么样?有没有现在的“天河二号”超级计算机的庞大感?
计算机硬件系统图示
内部设备
中央处理器(CPU)
定义:中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。
功能:解释计算机指令以及处理计算机软件中的数据。
从计算机被发明之初,人们判定计算机的计算速度的最重要的指标便是中央处理器(CPU)的运算速度,中央处理器(CPU)就像是计算机的心脏,牵动着计算机的每一个部分。
主频:主频是CPU的时钟频率(CPU Clock Speed),是CPU运 算时的工作的频率(1秒内发生的同步脉冲数)的简称。单位是Hz。一般说来,主频越高,CPU的速度越快,由于内部结构不同,并非所有的时钟频率相同的CPU的性能都一样。
外频:系统总线的工作频率, CPU与外部(主板芯片组)交换数据、指令的工作时钟频率。
倍频:倍频则是指CPU外频与主频相差的倍数。
三者关系是:主频=外频x倍频
缓存(cache):高速交换的存储器。CPU缓存分为一级 ,二级,三级缓存,即L1,L2,L3。
内存总线速度(Memory-Bus Speed): 一般等同于CPU的外频 ,指CPU与二级(L2)高速缓存和内存之间的通信速度。
地址总线宽度:决定了CPU可以访问的物理地址空间。
CPU公司:不管是通过新闻还是网上的资讯,最让我们熟知的CPU公司便是“Intel”和“AMD”,除此之外“IBM”公司也是有CPU产品的。
摩尔定律:摩尔定律是由英特尔(Intel)创始人之一戈登·摩尔(Gordon Moore)提出来的。其内容为:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。
随着时间的推移,集成技术越来越先进,英特尔公司现在已经推出了14nm工艺CPU,目前及家用级CPU代表酷睿I7 7700K便是14nm工艺。集成程度越高工艺就越难,现在的CPU已经逐渐偏离摩尔定律,想要大幅度提升CPU性能已经非常困难了。值得一提的是:英特尔公司常被网友戏称为“牙膏厂”,原因是英特尔公司近几年推出的新一代的CPU在性能上比起上一代提升程度很小,每一代CPU提升性能就像挤牙膏一样。所以网友为了表达自己的“不满情绪”便是戏称英特尔为“牙膏厂”。
其实一方面英特尔公司的CPU提升程度小和集成工艺问题有着密切的关系,想要大幅度提升就得有突破性的技术革新。
另一方面英特尔的竞争对手”AMD”公司前些年不怎么给力,产品与英特尔公司的产品有着不小的差距,所以英特尔公司并没有来自竞争对手的压力所以新产品并没有多么显著的提升。
值得一提的是最近AMD公司推出的新产品实力和英特尔的同期同层级产品分庭抗礼,英特尔这次要怎么接招我们就拭目以待吧。
CPU类型:虽然各种CPU的功能都是用于计算,但是其中也有一些类型的区别,拿英特尔的CPU举例,我们通常家用电脑或者学校单位使用的个人电脑CPU大多都是酷睿(Core)系列的,如常见的:I3 I5 I7。而企业公司使用的服务器上的CPU是英特尔至强(Xeon)系列的CPU,如E3 E5 E7。看到这里大家都是觉得“都是CPU哪个快就用哪个,还分这么多真麻烦”,其实用途不同CPU的类型不同这样是为了提高效率。举个例子,家用电脑一般是用于办公,娱乐或者工作,处理这些内容通常需要的是CPU的频率快,其中特别是打游戏更是需要CPU的运行频率快,而服务器因为多个用户访问的原因通常需要的是同时处理多个任务的能力,所以服务器CPU就需要更多的核心用来同时处理多个任务以达到提升效率的目的。
内部存储器(Memory)
定义:内存储器是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存储器中进行的,因此内存储器的性能对计算机的影响非常大。
功能:内存储器(Memory)也被称为内存,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。
容量:即该内存的存储容量,单位:KB MB GB
内存带宽:内存带宽是指内存与北桥芯片之间的数据传输率,单通道内存节制器一般都是64-bit的(双通道内存带宽为128-bit),8个二进制位相当于1个字节,换算成字节是64/8=8,再乘以内存的运行频 率,如果是DDR内存就要再乘2
双通道内存:双通道,就是在北桥芯片级里设计两个内存控制器,这两个内存控制器可相互独立工作,每个控制器控制一个内存通道。在这两个内存通CPU可分别寻址、读取数据,从而使内存的带宽增加一倍,数据存取速度在理论上也是提升一倍。
带宽计算: 内存带宽=内存总线频率×数据总线位数/8
示例:DDR2 667,运行频率为333MHz带宽为333×2×64/8=5400MB/s=5.4GB/s
DDR2 800,运行频率为400MHz,带宽为 400×2×64/8=6400MB/s=6.4GB/s
内存发展史:
1. SIMM 内存 1988年前
2. EDO DRAM内存 1991-1995年
3. SDRAM 内存 1995以后
4. Rambus DRAM内存 1998
5. DDR内存 DDR内存便是我们熟知的内存了
6. DDR2
7. DDR3
8. DDR4 如今
外部设备
外部存储器
定义:外储存器是指除计算机内存及CPU缓存以外的储存器,此类储存器一般断电后仍然能保存数据(与内存断电数据就丢失不同)。
常见的外存储器
软盘:软磁盘使用柔软的聚酯材料制成原型底片,在两个表面涂有磁性材料。常用软盘直径为3.5英寸,存储容量为1.44MB.软盘通过软盘驱动器来读取数据。
U盘:U盘也被称为“闪盘”,可以通过计算机的USB口存储数据。与软盘相比,由于U盘的体积小、存储量大及携带方便等诸多优点,U盘已经取代软盘的地位。
硬盘:硬磁盘是由涂有磁性材料额铝合金原盘组成的,每个硬盘都由若干个磁性圆盘组成。
磁带存储器:磁带也被称为顺序存取存储器SAM。它存储容量很大,但查找速度很慢,一般仅用作数据后备存储。计算机系统使用的磁带机有3中类型:盘式磁带机、数据流磁带机及螺旋扫描磁带机。
光盘存储器:光盘指的是利用光学方式进行信息存储的圆盘。它应用了光存储技术,即使用激光在某种介质上写入信息,然后再利用激光读出信息。光盘存储器可分为:CD-ROM、CD-R、CD-RW、和DVD-ROM等。
硬盘的基本参数
容量:容量是硬盘最主要的参数,容量的大小决定硬盘中存储数据的多少,单位有MB、GB、TB 、PB等。
转速:转速是指硬盘盘片每分钟转动的圈数,单位为rpm,转速越快存储(读取)数据的速度就越快。常见的硬盘有5400转和7200转的,服务器上的硬盘转速能达到15000转。
传输速率:传输速率(Data Transfer Rate) 。硬盘的数据传输率是指硬盘读写数据的速度。
缓存:硬盘缓存的目的是为了解决系统前后级读写速度不匹配的问题,以提高硬盘的读写速度。
硬盘接口类型
IDE接口:硬盘接口规范,采用ATA技术规范
SCSI接口:应用于小型机上的高速数据传输技术
SATA接口: Serial ATA,提高传输速率,支持热插拔。传输速度:SATA2=3.0Gb/s SATA3=6.0Gb/s
SAS接口: Serial Attached SCSI,兼容SATA
目前主流的硬盘接口为SATA和SAS接口
存储新宠——固态硬盘
定义:固态硬盘(Solid State Drives),简称固盘,固态硬盘(Solid State Drive)用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。
和传统机械硬盘的区别
优点
外形:SATA接口的固态硬盘和传统2.5英寸机械硬盘外观是基本一致的。
速度:固态硬盘的读写速度远超过传统机械硬盘。
重量:固态硬盘因为没有机械硬盘中厚重的金属部件和碟片所以质量轻。
能耗:机械硬盘是电机带动碟片运行的,固态硬盘运行的能耗是要低于机械硬盘很多的。
体积:SATA接口的固态硬盘体积和机械硬盘基本相同,但是其他接口如mSATA、NGFF(M.2)、PCIE等的固态硬盘体积就比机械硬盘小很多了。
噪音:固态硬盘因为不需要碟片旋转,运行时只是内部通过电流,所以运行过程中没有任何噪音。
抗震:传统固态硬盘因为内部有机械运动,磁头和碟片的距离非常近,震动对机械硬盘的损伤非常大,而固态硬盘工作过程中没有机械运动所以即使处在不稳定的环境中也能正常工作。
缺点
容量:固态硬盘容量普遍比较小
价格:固态硬盘价格要贵于机械硬盘不少。
寿命:固态硬盘闪存具有擦写次数限制的问题,这也是许多人诟病其寿命短的所在。其实在普通家用计算机上工作的固态硬盘其寿命一般都会比该台计算机更长,或者在寿命用完之前被新的产品换掉,所以影响不大。但是在一些读写量大的工作环境中工作的话就需要考虑寿命问题。
数据无法恢复:固态硬盘一旦损坏的话里面的数据将无法恢复,机械硬盘就算坏了数据也在碟片上,还能救回不少数据,而固态硬盘没有碟片,所以坏了数据就没了。
输入设备
定义:向计算机输入数据和信息的设备。
概念:是计算机与用户或其他设备通信的桥梁,说白了就是人类向计算机发送命令传输信息的设备,是人类控制计算机的工具。
现在的计算机能够接收各种各样的数据,既可以是数值型的数据,也可以是各种非数值型的数据,如图形、图像、声音等都可以通过不同类型的输入设备输入到计算机中,进行存储、处理和输出。
常见的输入设备
字符输入设备:键盘;
光学阅读设备:光学标记阅读机,光学字符阅读机;
图形输入设备:鼠标器、操纵杆、光笔;
图像输入设备:摄像机、扫描仪、传真机;
模拟输入设备:语言模数转换识别系统
输出设备
定义:输出设备(Output Device)是计算机硬件系统的终端设备,用于接收计算机数据的输出显示、打印、声音、控制外围设备操作等。也是把各种计算结果数据或信息以数字、字符、图像、声音等形式表现出来。
常见的输出设备有显示器、打印机、绘图仪、影像输出系统、语音输出系统、磁记录设备等。
输出设备和输入设备是对应的设备,用户使用输入设备给计算机发送指令之后便需要有输出设备来把执行结果展现给用户,所以输出设备同样是计算机硬件系统中必不可少的部分。
补充
其实在现在的生活中有一个非常重要的硬件在计算机诞生之初是没有而且也没有必要有的东西。
那便是显卡!
显示接口卡
定义:显卡(Video card,Graphics card)全称显示接口卡,又称显示适配器,在游戏开发水平与日俱增的今天,显卡是计算机最基本最重要的配件之一。
功能:显卡作为电脑主机里的一个重要组成部分,是电脑进行数模信号转换的设备,承担输出显示图形的任务。
基本参数
1.显示芯片(芯片厂商、芯片型号、制造工艺、核心代号、核心频率、SP单元、渲染管线、版本级别)
2.显卡内存(显存类型、显存容量、显存带宽(显存频率×显存位宽÷8)、显存速度、显存颗粒、最高分辨率、显存时钟周期、显存封装)
3.技术支持(像素填充率、顶点着色引擎、3D API、RAMDAC频率)
4.显卡PCB板(PCB层数、显卡接口、输出接口、散热装置)
显卡分类
集成显卡:集成显卡是将显示芯片、显存及其相关电路都集成在主板上,与其融为一体的元件。
集成显卡的优点是:功耗低,占用空间小,发热低。
缺点是:性能差,故障难维修。
集成显卡因其性能低下,所以一般适合没有太多图形需要处理的工作环境。
核心显卡:核心显卡是将图形核心与处理核心整合在同一块基板上,构成一颗完整的处理器。此乃英特尔公司的杰作。在普通家用级CPU里便是整合了一块图形核心,如酷睿系列。
优点:核心显卡的有点与集成显卡的优点基本一致,不过在性能上核心显卡通常是强于集成显卡,这也满足了不少用户的游戏需求。
缺点:难以胜任大型游戏以及专业图形处理工作。
独立显卡:独立显卡是指将显示芯片、显存及其相关电路单独做在一块电路板上,自成一体而作为一块独立的板卡存在,它需占用主板的扩展插槽(ISA、PCI、AGP或PCI-E)。
优点:独安装有显存,一般不占用系统内存,在技术上也较集成显卡和核心显卡先进得多,性能远超集成显卡和核心显卡,同时容易进行显卡的硬件升级,故障也容易更换和维修。
缺点:功耗高,发热量大,占据空间大,性能较强的显卡价格昂贵,对于笔记本来说这几点是非常影响整个系统的稳定性的(热量)。
其实独立显卡也分为两类,一类是专业的图形卡,一类是娱乐用的游戏卡,如同CPU的至强和酷睿一样,需求不同性能侧重点不同。
独立显卡是多个部件组合而成协同工作,更像是一个将数字信号转换为模拟信号的硬件系统。虽然独立显卡有诸多缺点,但是独立显卡市场依然火热,究其原因还是因为独立显卡拥有集成显卡核心显卡难以企及的强大性能,在用户眼中只要拥有强大的性能,其他那些缺点却是不太在乎。
看到这里或许或有读者疑问了,既然计算机硬件这么多,那么这些硬件究竟是怎么联合在一起工作的呢?
这就是主板(mainboard)的工作了。
主板(mainboard)
定义:主板(英语:Motherboard,Mainboard,简称Mobo),又称主机板、系统板、逻辑板、母板、底板等,是构成复杂电子系统的中心或者主电路板。
功能:在计算机中主板的功能便是将所有的硬件连接到一起构成计算机硬件系统,协同并维持各硬件的工作。
简介:典型的主板能提供一系列接合点,供处理器、显卡、声效卡、硬盘、存储器、对外设备等设备接合。它们通常直接插入有关插槽,或用线路连接。主板上最重要的构成组件是芯片组(Chipset)。而芯片组通常由北桥和南桥组成,也有些以单片机设计,增强其性能。这些芯片组为主板提供一个通用平台供不同设备连接,控制不同设备的沟通。它亦包含对不同扩充插槽的支持,例如处理器、PCI、ISA、AGP,和PCI Express。芯片组亦为主板提供额外功能,例如集成显核,集成声效卡(也称内置显核和内置声卡)。一些高价主板也集成红外通讯技术、蓝牙和802.11(Wi-Fi)等功能。
工作原理:在电路板下面,是4层有致的电路布线;在上面,则为分工明确的各个部件:插槽、芯片、电阻、电容等。当主机加电时,电流会在瞬间通过CPU、南北桥芯片、内存插槽、AGP插槽、PCI插槽、IDE接口以及主板边缘的串口、并口、PS/2接口等。随后,主板会根据BIOS(基本输入输出系统)来识别硬件,并进入操作系统发挥出支撑系统平台工作的功能。
主板结构
1.芯片组:决定主板的功能,是主板性能的关键。
2.扩展槽:扩展插槽是主板上用于固定扩展卡并将其连接到系统总线上的插槽,也叫扩展槽、扩充插槽。
3.主要接口:硬盘接口(SATA M.2等),USB接口,PCI-E接口,内存接口等接口。
4.主板平面:主板平面就是一块PCB板,将以上部件集于一个平面。