鸟哥Linux
第0章:
-
计算机定义:接受用户输入指令与数据(命令+数据),经过中央处理器(CPU)的数据与逻辑单元运算处理后,以产生或存储成有用的信息(用户希望得到的数据)。
-
计算机三部分:输入单元,中央处理器(含有算术逻辑,控制,记忆等单元),输出单元。
-
主板安插了中央处理器,内存,以及一些适配卡
-
中央处理器(Central Processing Unit,CPU),CPU为一个具有特定功能的芯片,里头含有微指令集
-
要想让主机进行特定的功能,要参考CPU是否有相关内置的微指令集支持
-
CPU主要工作:管理与运算
– 分为两个单元,算术逻辑单元,负责:程序运算与逻辑判断
– 控制单元,负责:协调各组件与各单元间的工作。
– CPU实际要处理的数据 完全来自于内存 -
我们所使用的软件都要经过CPU内部的微指令集来完成
-
两种主要CPU种类,
- 精简指令集(RISC,Reduced Instruction Set Computing)
- 微指令集精简,每个指令的执行时间短,完成的操作单纯,执行执行性能较佳,
- 例子:银行金融体系的主要服务器,Sony 的PS3,手机/导航/交换机/路由器等都是使用ARM架构的CPU
- 复杂指令集(CISC)
- 每个指令可以执行一些较低阶的硬件操作,指令数目多且复杂,每条指令长度并不相同,指令花费时间长,但处理工作较丰富
- 常见CISC微指令集CPU有AMD,Intel,VIA等x86架构的CPU
- 精简指令集(RISC,Reduced Instruction Set Computing)
-
个人计算机常被称为x86架构的计算机
- x86架构 名字由来:最早Intel发展出来的CPU称为8086,后来依此架构开发出80286,80386等,因此这种架构的CPU称为x86架构,Intel所开发的x86架构由8位升级到16,32位,后来AMD依此架构修改新一代的CPU为64位,为了区别二者,64位的个人计算机CPU又被统称为x86_64的架构
- 不同x86架构的CPU区别:除了CPU的整体结构(如第二层缓存,每次运作可执行的指令数等)之外,主要是在于微指令集的不同。新的x86的CPU某些微指令集可以加速多媒体程序的运行,加强虚拟化的性能,增加能源效率,降低CPU耗电量。
-
最重要的接口设备是主板
- 主板负责奖所有的设备连接在一起,让所有的设备能够运行协调与通信,主板最重要的组件是主板芯片组,这个芯片组将所有的设备汇集在一起
-
CPU=大脑:每个人会做的事情都不一样(微指令集的区别)
-
主板=神经系统,连接所有重要的组件
-
显卡=脑袋中的影像,所以显卡所产生的数据来源也是CPU控制的。
-
1 Byte = 8 bit
-
文件大小使用的是二进制的方式,1GB=1024x1024x1024B
-
速度单位则常使用十进制,例如1GHz 就是1000x1000x1000Hz 的意思
-
CPU运算速度常使用MHz 或GHz,Hz其实就是秒分之1
-
网络传输使用的是Mbit/s 为单位,即每秒多少Mbit
- 举例,1M ADSL传输速度,如果转成文件容量的Byte时,其实理论最大传输值为:125KB/s的上传/下载速度
- 硬盘厂商问题,硬盘制造商以十进制为单位,而转成文件的大小单位时使用二进制,厂商并非要骗人,只是因为硬盘的最小物理量为512bytes,最小的组成单位为扇区(sector),通常硬盘容量的计算采用多少个sector
-
Intel芯片组分为两个桥接器来控制各组件的通信,
- 北桥负责连接速度较快的CPU,内存与显卡等组件
- 南桥负责连接速度较慢的周边接口,包括硬盘,USB,网卡等
-
AMD架构与Intel不同的地方在于,内存是直接与CPU通信而不通过北桥
- AMD为了加速CPU与内存的通信,将内存控制组件集成到CPU当中,理论上这样可以加速CPU与内存的传输速度
-
技嘉为例,主板主要组件为CPU,内存,磁盘设备(IDE/SATA),总线芯片组(南桥/北桥),显卡接口(PCI-Express)与其他适配卡(PCI)
-
原本的单核CPU仅有一个运算单元,所谓的多核则是在一个CPU封装当中嵌入了两个以上的运算内核
-
不同型号的CPU大多具有不同的脚位,能够搭配的主板芯片组也不同
-
除了不同的微指令集会导致CPU工作效率的优劣外,CPU的频率也是性能的比较
-
频率就是CPU每秒钟可以进行的工作次数
-
3.0GHz 表示这个CPU在一秒内可以进行3.0 x 10的九次方次工作,每次工作都可以进行少数的指令运行
-
不同的CPU之间不能单纯以频率来判断运算性能,这是因为每个CPU的微指令集不相同,架构也不一样,每次频率能够进行的工作指令数也不同,所以频率目前仅能比较同款CPU的速度
-
CPU的外频与倍频
- 所谓的外频指的是CPU与外部组件进行数据传输/运算时的速度(理论上与外部各组件速度一致才好),倍频则是CPU内部用来加速工作性能的一个倍数,两者相乘才是CPU的频率
- 例如,CPU频率为3.0GHz,外频是333MHz,倍频是9倍
- 超频:指将CPU的倍频或者是外频通过主板的设定功能 更改成较高频率的一种方式,但因为CPU的倍频通常在出厂时已经被锁定而无法修改,因此较常被超频的为外频
- 举例上述3.0 GHz的CPU超频,可以将它的外频333MHz调整称为400MHz,但如此一来整个主板的各个组件的运行频率可能都会被增加成原本的1.333倍(讲道理,这个为什么会是1.333?),虽然CPU有可能到达3.6GHz, 但却因为频率并非正常速度,可能会造成死机等问题。
- CPU运算的数据都是由内存提供的,内存与CPU的通信速度靠的是外部频率,每次工作可以传送的数据量有多大呢?那就是总线的功能了,北桥的总线称为系统总线,因为是内存传输的主要信道,所以速度较快;南桥就是所谓的输入输出(I/O)总线,主要用于“联系“硬盘,USB,网卡等接口设备
-
北桥所支持的频率称为前端总线速度(Front Side Bus,FSB), 而每次传送的位数 则是 总线宽度,总线频宽则是“FSB x 总线宽度“,亦即每秒钟可传送的最大数据量。目前常见的总线宽度由32/64位(bit)
-
举例,前端总线最高速度可达1600MHz,64位, 可计算出内存与北桥的频宽为1600MHz x 64bit = 1600MHz x 8 Bytes = 12800 MB/s = 12.8GB/s
-
CPU 每次能够处理的数据量称为 字组大小(word size),字组大小依据CPU的设计而有32位与64位,我们现在所称的计算机是32位或64位主要是依据CPU解析的字组大小而来的。
-
早期32位CPU中,因为CPU每次能够解析的数据量有限,因此由内存传来的数据量就有所限制,这导致32位的CPU最多只能支持最大到 4GB的内存
-
字组大小可以与总线宽度不相同,通常以字组大小来称呼该架构
-
个人计算机的内存主要组件为 动态随机访问内存(Dynamic Random Access Memory,DRAM),随机访问内存只有在通电时才能记录与使用,断电后数据就消失了,称这种RAM 为挥发性内存。
-
DDR SDRAM是双倍数据传送速度(Double Data Rate),它可以在一次工作周期中进行两次数据的传送
-
双通道设计,将两个内存汇整在一起,如果一条内存可达64位,两条就可以达到128位了,(型号最好一模一样),启动双通道内存功能时,数据是同步写入/读出这一对内存中,如此才能够提升整体的频宽
-
CPU与内存的外频应该要相同才好
-
CPU内的第二层高速缓存(L2 Cache),对很常用的程序或数据放置到CPU内部,提升性能
-
L2 Cache内存的速度必须要与CPU频率相同,使用DRAM无法达到这个频率速度,需要 静态随机访问内存(Static Random Access Memory ,SRAM),设计上晶体管数量较多,价格较高,且不易做成大容量