day12 计算机组成部分(Linux方向)
今日内容概述
计算机组成五大部分(详细)
1.CPU详解
2.存储器
3.服务器
今日内容详细
计算机硬件组成
#1、控制器:计算机的指挥系统.控制器通过地址访问存储器,从存储器中取出指令,经译码器分析后,根据指令分析结果产生相应的操作控制信号作用于其他部件,使得各部件在控制器控制下有条不紊地协调工作.
#2、运算器:实现算术运算和逻辑运算的部件.
#3、存储器:是计算机用来存放所有数据和程序的记忆部件.它的基本功能是按指定的地址存(写)入或者取(读)出信息. 计算机中的存储器可分成两大类:一类是内存储器,简称内存或主存;另一类是外存储器(辅助存储器),简称外存或辅存. 存储器由若干个存储单元组成,每个存储单元都有一个地址,计算机通过地址对存储单元进行读写.一个存储器所包含的字节数称为存储容量,单位有B、KB、MB、GB、TB等.
#4、输入设备:是向计算机中输入信息(程序、数据、声音、文字、图形、图像等)的设备.常见的输入设备有:键盘、鼠标、图形扫描仪、触摸屏、条形码输入器、光笔等。 外存储器也是一种输入设备.
#5、输出设备:主要有显示器、打印机和绘图仪等.外存储器也当作一种输出设备.
1.CPU详解
# 通常将运算器和控制器合称为中央处理器,简称cpu.其中运算器用来负责程序运算与逻辑判断,控制器则主要协调各组件和个单元的工作,所以CPU的工作主要是管理和运算.
CPU就是计算机的大脑,它从内存中取指令->解码->执行,然后再取值->解码->执行下一条指令,周而复始直至整个程序被执行完成.
# CPU读取的数据主要从内存来,内存中的数据是输入单元传输进来的,而cpu处理完的数据也必须写回内存中,最后数据再从内存中输出到输出单元.
# CPU按照指令集可以分为精简指令集CPU和复杂指令集CPU两种,区别在于前者的指令集精简,每个指令的运行时间都很短,完成的动作也很单纯,指令的执行效能较佳;但是若要做复杂的事情,就要由多个指令来完成.后者的指令集每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂,每条指令的长度并不相同.因为指令执行较为复杂所以每条指令花费的时间较长,但每条个别指令可以处理的工作较为丰富.
CPU的演变:
# 1. 早期取值,解码以及执行三个过程同时进行,弊端是其余两个执行过程需要等待,时间被浪费
# 2. 后来设计为流水线式,即执行指令n时,可以对指令n+1解码,并且可以读取指令n+2,完全是一套流水线
# 3. 超变量CPU,比流水线更加先进,有多个执行单元,可以同时做不同的事情
多数CPU都有两种模式,即内核态和用户态
# 内核态:当cpu在内核态运行时,cpu可以执行指令集中所有的指令,很明显,所有的指令中包含了使用硬件的所有功能,(操作系统在内核态下运行,从而可以访问整个硬件)
# 用户态:用户程序在用户态下运行,仅仅只能执行cpu整个指令集的一个子集,该子集中不包含操作硬件功能的部分,因此,一般情况下,在用户态中有关I/O和内存保护(操作系统占用的内存是受保护的,不能被别的程序占用),当然,在用户态下,将PSW中的模式设置成内核态也是禁止的.
多线程和多核芯片
# 对用户来说一个有两个线程的cpu就相当于两个cpu,多线程运行cpu保持两个不同的线程状态,可以在纳秒级的时间内来回切换,速度快到你看到的结果是并发的,伪并行的,然而多线程不提供真正的并行处理,一个cpu同一时刻只能处理一个进程(一个进程中至少一个线程)
2.存储器(采用分层结构)
- 寄存器(L1缓存)
# 与CPU的材质形同,和CPU一样快,所以CPU访问它无延迟,典型容量是:在32位cpu中为32*32,在64位cpu中为64*64,在两种情况下容量均<1KB
- 高速缓存(L2缓存)
# 主要由硬件控制高速缓存的存取 ,最常用的高速缓存行放置在CPU内部或者非常接近CPU的高速缓存中,当某个程序需要读一个存储时,高速缓存硬件检查所需要的高速缓存行是否在高速缓存中.如果是,则称为高速缓存命中,缓存满足了请求,就不需要通过总线把访问请求送往主存(内存),这毕竟是慢的.高速缓存的命中通常需要两个时钟周期.高速缓存为命中,就必须访问内存,这需要付出大量的时间代价.(相当于第二次访问同一份数据不需要再从硬盘取,直接从高速缓存中取)
- 补充:Linux中的buffer和cache的 概念
# Buffer和cache它们都是占用内存
Buffer:系统分配但未被使用的buffer数量 # 优化写行为
# Buffer缓冲区:是设备的读写缓冲区,buffer是I/O缓存,为了提升内存和硬盘(或者其他I/O设备)之间的数据交换的速度而设计的
# 分析:
1、通常在写一个非常大的文件,文件会被分成一个个的小 block块-->一直往内存上写-->然后再写入磁盘, 这个文件非常的大,但是会被分成一个个小的block块,每次都一点一点的-->写入内存-->再写入磁盘, 这样的效率较慢
2、 这种情况下,内存就会攒足一次大的block块-->再写入磁盘,这样的话就不会有第一种情况里的延迟, 这就是buffer.
cache高速缓存:cache是高速缓存,用于CPU和内存之间的缓存. # 优化读行为
# 有些数据使用的次数多了,所以放入cache中,主要目的是使用内存来缓存可能被再次访问的数据.
# cache经常被使用在I/O请求上,为了提高系统的性能.
如果cache的值很大,说明cache住的文件很多,如果频繁访问到的文件都都被cache住,那么磁盘的读I/O一定会很小.
启发:优化硬盘的I/O,提升内存的读写效率(通过优化硬件,应用程序和操作系统可以实现)
虚拟内存swap:存放暂时不需要的数据(在内存不够用时) # 降低了效率
- 硬盘
硬盘:
# 硬盘支架
# 硬盘接口
SAS和SATA
# 硬盘与接口的组合
# 硬盘:SSD固态>机械硬盘
# 硬盘接口:SAS>SATA
1. SSD硬盘+SAS 接口=>最高配置
2. SSD硬盘+SATA接口=>对速度要求比较高的常规组合
3. 机械硬盘+SAS接口=>对速度没有要求场景下的常规组合
4. 机械硬盘+SATA接口=>对速度要求较低,通常用于企业内部应用
RAID技术介绍:
RAID技术的本质就是对硬盘做集群,将多块合并为一块虚拟的大盘,可以带来好处
# 1.容量的增大
# 2.读写速度的提升
# 3.防止单点故障
RAID有多种整合方式,常见的有:
RAID0,RAID1,RAID5,RAID10
RAID0:又称Stripe(条带化)或striping(条带模式),磁盘利用率为 100%.它在所有RAID级别中具有最高的存储性能(磁盘容量不浪费,读写很快)
# 原理:把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求,这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能,适用于对性能要求严格但对数据安全和可靠性要求不高的应用,如视频,音频以及临时存储等.
缺点:RAID0中的某一块硬盘坏掉会导致数据丢失一部分
RAID1:又称镜像,磁盘空间利用率为 50%,比RAID0的读写速度要慢,但是数据在多个硬盘上互为备份,应用于对顺序读写性能要求高以及对数据保护极为重视的应用.
RAID5:目前最常见的RAID等级,是一种存储性能,数据安全和存储成本兼顾的存储解决方案.
# 原理:RAID5需要三块或以上的物理磁盘,可以提供热备盘实现故障恢复,采用奇偶校验,可靠性强,只有同时损坏两块盘时数据才会损坏,只损坏一块盘时,系统会根据存储的奇偶校验位重建数据,临时提供服务,如果此时有热备盘,系统还会自动在热备盘上重建故障磁盘上的数据.
# RAID5具有和RAID0相近的数据读取速度,只是多了奇偶校验,写入数据比单个磁盘写入操作要慢
RAID10:先做镜像(RAID1)再作条带化(RAID0),本质是对虚拟磁盘实现镜像,如果其中一个阵列损坏,仍然可以继续工作,保证数据的安全性同时又提高了性能,因为RAID10内部都含有RAID1模式,因此整体磁盘利用率均仅为 50%.
总结:在盘数相同的情况下各种RAID的对比:
# 冗余从好到坏:RAID1,RAID10,RAID5,RAID0
# 读写性能从好到坏:RAID0,RAID10,RAID5,RAID,1
# 成本从低到高:RAID0,RAID5,RAID1,RAID10
不同RAID级别的企业应用举例,根据数据的存储和访问的需求,去匹配对应的RAID级别.==>适用于互联网公司
# 单台服务器,很重要,盘不多,系统盘RAID1.
# 数据库/存储服务器,主库RAID10,从库RAID5\RAID0(风险较高),其实从库也推荐RAID10
# web服务器,如果没有太多数据的话,RAID5,RAID0(单盘).
# 有多台,监控\应用服务器,RAID0,RAID5.
主板
所有的硬件设备及接口都会被集成在一块电路板上,这块板子称之为主板
# 主板和CPU都是电脑中最关键的部件.
# 所有的板卡必须通过主板发挥作用,主板性能和质量的好坏直接影响到整个系统.
# 电脑主板按不同的架构标准和各种不同的主要部件,接口组合而成
3.服务器
- 服务器分类
# 按照尺寸分类
1. 1U服务器(U表示服务器的厚度) 1U = 1.75英寸 = 4.445CM = 4.45CM
2. 4U服务器
# 按照外形分类
(1)机架式服务器
机架式服务器的外形看起来不像计算机,而像"抽屉",有1U(1U = 1.75英寸= 44.45毫米),2U,4U等规格.
机架式服务器安装在标准的19**英寸机**柜里面,这种结构的多为功能型服务器
(2)刀片式服务器
所谓刀片服务器(准确的说应叫做刀片式服务器)是指在标准高度的机架式机箱内可插装多个卡式的服务
器单元,实现高可用和高密度.每一块"刀片"实际上就是一块系统主板.它们可以通过"板载"硬盘启动
自己的操作系统,如Windows NT/2000、Linux等,类似于一个个独立的服务器,在这种模式下,每一
块母板运行自己的系统,服务于指定的不同用户群,相互之间没有关联,因此相较于机架式服务器和机
柜式服务器,单片母板的性能较低。不过,管理员可以使用系统软件将这些母板集合成一个服务器集
群.在集群模式下,所有的母板可以连接起来提供高速的网络环境,并同时共享资源,为相同的用户群
服务.在集群中插入新的"刀片",就可以提高整体性能.而由于每块"刀片"都是热插拔的,所以,系统
可以轻松地进行替换,并且将维护时间减少到最小.
- 服务器品牌
Dell服务器品牌
1U:1850 1950 R410 R610 R420/430 R620/630
2U:2850 2950 R710 R720/R730
- 服务器的主要构成
一台电脑是由许许多多的零部件组成,只有这些零部件组合在一起协调的工作,才能称之为电脑.电脑发展到现在,其零部件都有了很大的变化,但其工作原理却没有变化,个人电脑与服务器的硬件组成大致相同.
1.机箱
2.电源 # 服务器双电源模块
# 电源模块的连线接到不同的插件板上
# UPS(不间断电源):相当于一个蓄电池,相当于服务器的电池,可以在突然断电的情况下为服务器供电几小时.
3.CPU(中央处理器)
4.CPU风扇
5.内存条
6.硬盘