408真题笔记

计算机网络:
一:计算机网络体系
常考点:
1.OSI模型的:会话层,表示层

2.网络层:不可靠,无连接

3.运输层TCP:可靠,有连接

有连接,可靠的服务:传输层TCP
无连接,不可靠的服务:网络层IP

有连接:面向连接,只有建立连接后数据才开始传输,数据传输结束后,必须释放连接
无连接:不建立连接,直接进行数据传输

题目:
1.不属于网络体系结构所描述的内容:协议内部的实现细节

2.OSI模型:会话层:建立,管理,终止会话,
表示层:处理两个系统之间的交换信息 的表示方式,可以实现数据格式的转换

3.OSI模型:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层

4.各层协议的要素:语法,语义,时序
语法:规定了传输数据的格式 语义:规定了双方要完成的功能 时序:信息交流的次序

5.物理层:比特流 数据链路层:帧 网络层:IP数据报 传输层:TCP报文 应用层:报文

二:物理层
常考:
1.两个准则:奈式和香农定理
两个准则:
奈式 2Wlog2V:是理想状态下的极限信息传输速率 香农Wlog2(1+S/N):有带宽受限且有噪声的情况下
S:信道传输的平均功率 N:信道内部的高斯噪声功率 S/N:信噪比
奈式:V是信号的变化种类,比如相位有4种,调制的幅度有四种,那么信号的变化种类为16
波特率:波特率=2W=码元极限传输率

信道的传输速率和信道的发送速率无关

2.几种编码的类型
**10BaseT的网卡:**以太网使用的是曼切斯特编码
NRZ,RZ(归零编码,每个时钟周期均跳变到低电平)高一低0
曼切斯特:前高后低为1,前低后高为0
NRZI(反向非归零编码):和前面的信号保持不变为1,翻转为0
差分曼切斯特:前半和上一段的后半保持应用为1(不变为1),不一样为0(翻转为0)

3.物理层的4种特性
机械特性:规定物理连接的特性:规格,接口形状,引线数目,引脚数量和排列
电气特性:规定传输二进制位时,线路上信号的电压范围,阻抗匹配,传输速率和距离限制
功能特性:指明某条线上出现的某一电平表示的何种意义,接口部件的信号线用途
过程特性:定义各条物理线路的工作过程和时序关系

三:数据链路层
考点:
1.GBN回退N帧:有ACK累积确认,重传选择最大确认号范围外的

2.SR选择重传:没有ACK累积确认,重传那些超时的,已经确认还有那些还没有超时的不需要重传,接收=发送窗口<=2的n-1次方;且接收+发送窗口<=2的n次方

3.计算题:信道利用率最大:发送窗口数越大,信道利用率越大
信道利用率:t/T:t:发送一帧的时间,T:从发送一帧的时间到收到确认帧的时间(发送帧+确认帧+往返时延),传播时延接近0的时候,信道利用率接近百分百。
帧序号数:发送窗口一次发送的帧数,二进制表示时的二进制位数
最大平均传输速率:最大平均传输速率受带宽制约,一定小于等于信道带宽; 算法:先带入信道带宽的速率算出总的时延和上面的往返时延;再用发送的比特数除以总的时间

4.RTT:往返时延

5.CSMA/CD:碰撞检测:有线:考最小帧:RTT*传输速率
CSMA/CD的碰撞窗口=2倍的传播时延,报文发送的时间>碰撞窗口
如果出现减少比特,问 减少多少传送距离----->减少的往返时间=减少的发送时间

6.CSMA/CA:碰撞避免:无线:考点:需要确认ACK机制和预约信道(交换RTS和CTS帧)等来避免碰撞
为了避免碰撞需要等到ACK才能发送下一帧,在最开始想要发送数据前的等待时间最长

7.介质访问控制:对于静态划分信道(频分,时分,波分,码分)的是不会产生冲突的,只有动态划分会有冲突(ALHO,CSMA,CSMA/CD,CSMA/CA)

8.码分复用:用码片序列和收到的信号内积:得到的结果除以码片序列中的数(比如(1,1,1,1)是其中的一个码片序列,内积结果除以4才是值),是1就是1,是-1就是0

9.以太网数据帧:不考虑前导码,数据部分帧最大1500字节
以太网MAC帧:6(目标地址),6(源地址),2(类型),46-1500(数据部分),4(校验码),,所以以太网MAC帧最小64B

10.100base-T的意思是:传输速率100Mb/s,T表示用的是双绞线,如果是F用的是光纤

11.以太网提供:无连接的不可靠服务

12.IEEE802.11数据帧有三个地址:地址1:接受地址,地址2:源地址;地址3:最终地址
13.广域网的两个协议:HDLC和PPP协议只支持全双工,透明传输,PPP不可靠无连接,HDLC可靠有连接,HDLC协议中遇到5个1就用一个0进行填充

14.广域网:使用分组转发机制,因特网是世界上范围最大的广域网

15.以太网交换机PDU:PDU就是目的地址,而以太网是以物理地址MAC帧作为地址转发的,所以以太网PDU地址就是目的物理地址

16.交换机第一次转发时,转发表没有目的主机的物理地址,所以会广播,发送端口包括每一个除发送端的主机的物理地址,但是接受后回复ACK时,转发表已经有了发送端的物理地址,所以此时端口就是一个---->即发送端的物理地址

17.以太网交换机本质上:一个多端口的网桥,可以隔绝冲突域,不可以隔绝广播域

18:hub:集线器 switch:交换机 router:路由器
集线器:不能隔绝冲突域,所以hub会给所有接口,除了输入接口外广播数据信号

19.以太网交换机实现的虚拟局域网VLAN,可以隔绝冲突域和广播域

四:网络层
考点:
1.距离—向量路由算法RIP:每经过一个路由器,跳数加一

2.NAT:地址转换表:私有地址和公有地址的转换

3.ARP:地址解析协议:解决下一跳地址,根据IP地址查询MAC地址

4.ICMP:网际控制报文协议:通过5种差错报告报文,提高交付的成功率,封装在IP分组中,IP协议为ICMP提供服务

5.判断子网个数:根据IP地址空间(可以看出该IP地址的网络号位数)和子网掩码(全一的位数)对比即可;判断子网中主机的个数:根据子网掩码中为0的位数-2即可

6.如果主机向其所在子网发送广播分组,那么目的地址就是广播地址:主机号全为1的地址

7.路由地址的最长前缀匹配原则:目的地址和路由表中的目的网络匹配时,选择网络号最长的:
比如 169.29.36.0/23和169.29.36/27,目的地址169.29.36.5,此时选择网络号为27的,如果和这些都不匹配,就选择默认路由0.0.0.0/0

8.IP通信:需要主机的默认网关和路由器的接口的IP地址一样才能进行IP通信,默认网关一样的主机不需要经过路由器,它们处于同一个网段,直接就可以通信

9.源地址和目的地址:0.0.0.0作为默认路由可以作为本网络的源地址不能作为目的地址;主机号全一255.255.255.255作为广播地址,既不能作为目的地址也不能作为源地址

10.1.网络传递中经常收到IP地址和MAC地址:MAC地址会随着信息发送到不同的网络而改变,目的地址进入路由那端就变成对应的路由的MAC地址;
2.IP地址只有在私人网络传递才会改变(NAT地址转换表),有NAT转换表,WEB服务器默认端口,对外对内都是80,此时主机的目的地址为路由的输出IP地址,不再是靠内的(和mac不一样了),源地址是本身,经过路由后转发,源地址就是路由对外的地址,目的地址是靠近WEB服务器的对内的地址(中间那些路由器不用管);
3. 有NAT服务时,主机想访问WEB服务器,需要配置 NAT转换表:内部的主机想访问IP地址为WEB服务器的IP号,外部主机想访问则IP号为离WEB服务器最近的路由外端的IP地址
4. 上面是通过路由器到服务器或主机的,若是通过路由器到网络,则目的网络地址:合并要抵达的网络IP,聚合它们(找相同的),成为短的,下一跳为最近的路由IP

11.分配5个子网,计算最小的子网可分配IP地址数:因为要最小,所以不能平均分配,使用变长分配,其他子网号应该尽量分配IP,所以子网号应该是0;10;110;1110;1111

12.1.MTU对数据报分片:若MF=1则表示后面还可以分片。比如MTU=800B,因为必须是B的整数倍,所以最大分片数据部分大小是776B
2.分片偏移量:对于总体数据,在该片从哪开始的,所以第一片的偏移量是0,第二片的偏移量:776/8=97

13.路由器的路由表:1.专门为域名服务器设定了一个特定的路由表项,此时的表项的子网掩码为全1,转发接口 是去往域名服务器最近的路由器的接受接口;2.为互联网的路由相当于一个默认路由,因为互联网的ip和路由表中的任何一项都不匹配,所以使用默认路由,此时子网掩码0.0.0.0,对应的接口和下一跳地址和域名服务器一样寻找

14.主机访问互联网时,ARP表为空,发出的第一个以太网帧的目MAC地址是ff-ff-ff-ff…全1;封装主机发往Internet的IP分组的以太网帧的目的MAC地址是离Internet最近的路由器的MAC地址接口

15.子网掩码和同一个子网的WWW服务器对应就可以访问WWW服务器,默认网关和Internet最近的路由的接口不一样就不能访问Internet,必须得一模一样才可以访问Internet

16.询问还能给子网中的主机分配多少地址 :记得看看给路由器分配的地址,在范围内记得减去3,广播地址+默认路由+分配给路由器的地址

17.三种路由选择协议:内部:RIP(UDP),OSFP(IP), 外部:BGP(TCP)

18.RIP:16跳表示不可达

19.路由器可以对IP分组头进行差错检测,但是不能确保传输的IP分组不丢失

20.目的地址为广播 地址的IP数据报,则除路由器可以隔绝,其他主机都会接受IP数据报

21.私有地址段想要访问网络,路由器需要提供NAT服务,私有地址段有ABC三种,对应网络号开头为0,10(128),110(192),通过前8位就可以判断出

五:传输层
考点:
1.UDP在IP数据报服务上增加了两个基本服务:复用和分用以及差错检测,所以UDP提供无连接服务,复用/分用,差错检测

2.UDP实现分用依据的头部字段是目的端口号

3.seq:客户端或者服务端的初始化序号
所以第一次握手:服务端的初始序列号是x,下一次握手的序列号是x+1;
ack:确认号;是接受对方握手报文的序号+1,希望下一个报文的序列号(冗余ack,快速重传会用到)
ACK和SYN置为1

4.发生超时时,阈值变成此时拥塞窗口的一半,开始慢开始算法,2的n次。达到阈值加法增大,最后上限是接受窗口大小,发送窗口取当时拥塞窗口和接受窗口的最小值

5.接受窗口为2000B,连续发送两段1000B的TCP段,此时收到第一个段的确认段,此时主机还可以接受最大字节为1000B,因为只接受到一个确认段

6.甲给乙发送TCP段,分别为300,400,500B,第三个段的序号 为900,此时已收到第一段和第三段,则乙给甲的确认序号为500,因为想收到第二段的,所以ack为第二段的序号900-400

7.快速重传:TCP规定当对一个字段连续发送三次确认后,认为报文丢失,启动快速重传,所以第三次收到确认的时间就是重新发送该字段的时间

8.FIN段:终止位,表示数据发送完毕,若FIN段中序号为5001,那么表示5000以内包含5000发字节数发送完毕,当客户收到服务器的FIN段时,并且向服务器发送ACK段时,此时客户的TCP状态为TIME_WAITE,此时还没有断开连接,经过一段时间2MSL(最长报文寿命)后为CLOSED状态

9.UDP首部有8B,UDP最小8B,TCP首部最短为20B,所以应用数据12B经过UDP和TCP数据报传输时,UDP最小为8+12=20B,TCP最小为20+12=32B

六:应用层
考点:
1.C/S模型:用户和用户之间不能直接通信

2.域名解析:递归查询:主机和本地都只需要发送一条域名请求条数,,,迭代查询:本地域名系统DNS查询的最少为0次(本地域名系统有缓存),最多4次

3.DNS在传输层可以使用传输层无连接服务,FTP传输文件,HTTP用来传输网页文件,SMTP用来传输电子邮件,POP3用来接受电子邮件,都对可靠性要求比较高

4.局域网内本地主机访问本地域名服务器时间忽略不计,访问internet服务器需要往返时延,找到对应位置后,建立TCP连接也要一次往返时延:所以从找地址到接受到网页返回内容需要的时延是:访问服务器找到对应位置的时延+建立TCP连接需要的一次时延

5.FTP服务器和客户间传递FTP命令时,采用的 是建立在TCP上的控制连接

6.FTP有控制连接和数据连接,分别是服务器端口的20(数据连接),端口21(控制连接),数据连接,数据传输完就关闭,控制连接在会话期间一直存在

7.SMTP传输电子邮件,POP3用来接受电子邮件

8.SMTP只支持传输7比特ASCII码内容,不支持邮件服务器向用户代理发送邮件

9.不需要转换就能由SMTP传输的是ASCII码文本

10串联:主机请求访问网址:HTTP层-》DNS层将域名转换为ip地址–》DNS基于UDP,所以通过UDP协议–》IP协议封装–》数据链路层通过CSMA/CD封装
所以封装关系:DNS报文->UDP数据报->IP数据报->CSMA/CD帧

11ARP:找到IP地址和对应的MAC地址
交换机的交换表:通过ARP找到对应的MAC地址和对应的端口号
路由器的路由表:目的IP地址和源地址以及下一跳地址
DNS:查询该该域名对应的IP地址
如果ARP为空,那么之后一系列操作过后ARP中的数据应该是,1.主机的mac,交换机对应的端口号---->2.本地域名系统的mac,和交换机对应的端口号---->3.如果本地域名服务器和主机不在同一个网段中,那么还需要通过路由器转发,则需要路由器的mac,交换机对应的端口号

计算机组成原理:

1.第一章**

1.1计算机发展历程

考点:
1.冯诺依曼计算机中指令和数据都以二进制的形式存放在存储器中,CPU区分它们的依据是:指令周期的不同阶段

2.衡量标量机的性能:MIPS每秒执行多少百万条指令。描述数运算速度的是MFLOPS每秒执行多百万浮点数运算

3.MIPS=主频/CPI

4.PFLOPS:每秒一千万亿次浮点运算

5.机器字长是CPU内部用于整数运算的数据通路的宽度,所以CPU内部进行数据运算,存储和传送的部件,这些部件的宽度基本上要一致才能互相匹配,所以位数一定和机器字长相同的是:ALU,通用寄存器

1.发展历程:电子管-》晶体管-》中小规模集成电路-》超大规模集成电路
2.系统组成:控制器,运算器,存储器,输入设备,输出设备
3.性能指标(常考部分):
机器字长:计算机一次整数运算所能处理的二进制数据的位数
数据通路带宽:数据总线一次并行所能传递信息的位数
主存容量:计算机主存所能存储信息的最大容量
以下为运算速度的性能指标:
吞吐量:系统在单位时间处理的请求的数量
响应时间:从用户提交请求到系统首次产生响应并且获得其所需要结果需要的时间
时钟周期:节拍脉冲或者T周期,是CPU最小的时间单位
主频:计算机内部主时钟的频率,时钟周期的倒数
CPI:执行一条指令需要的时钟周期
执行时间:运行一个程序需要花费的时间
MIPS:每秒执行多少百万条指令
FLOPS:每秒执行多少次浮点运算(MFLOPS:每秒百万浮点操作 GFLOPS:每秒10亿次浮点运算,1GFLOPS=1000MFLOPS)
CPU执行时间:执行一段程序所占用的CPU时间,CPU执行时间=CPU时钟周期数×CPU时钟周期长
4.计算机系统=硬件+软件
5.摩尔定律:集成电路上的晶体管每18个月就会翻一番
6.按照指令流和数据流可以分为四种类型的系统:其中多指令流单数据流的系统(MISD),实际上不存在

第二章:数据的表示和运算

考点:
1.冯诺依曼使用二进制 编码的主要原因:二进制运算规则简单,制造两个稳态的物理器件比较容易,便于用逻辑门电路实现算术运算

2.机器数:把正负号数字化,存到机器中;数据 在内存中以补码的形式存在

3.不管正负的真值进行加法运算,都可转换为补码的形式采用加法的格式得出结果

4.计算时候:小范围转大范围:比如int 和short进行运算时,int32位,short16位,计算时,short转成32位进行计算;符号位为1,前面填充1,符号位为0,前面填充0

5.补码的范围-128到127

6.将一个负数的补码unsigned化,由signed类型转化为unsigned类型,符号位成为数据的一部分,即负数转化为无符号数;若unsigned转化成为signed,此时无符号数又变成有符号数,最高位成为符号位,数的大小又改变了

7.计算机字长32位:按字节编址,一个存储位置可以放两位十六进制的数,十六进制一位数,由4位二进制表示

8.小端存储:一个字中的高位字节存放在内存中这个字区域的低地址处;就是反着来

9.逻辑位移:对象是无符号数:左移右移动空位都补0,,算术位移:对象是有符号数补码,正数的都是补0,负数的补码符号位不变,右移空位补符号位,左移空位补0,负数原码补0,反码补1

10.x补-y补=x补+(-y)补;-y的补码是连同符号位取反加一;最终减法变成加法;补码最高位进位和符号位值不相同产生溢出,OF=1;借位标志:CF,R1和R2相减时,R1大于R2,借位标志为0,没有产生借位

11.按边界对齐,不足补空,存储一个数必须用掉一个计算机字长

12.IEEE754标准中,偏置值是127

13.因为原码规格化---->消除尾数无效0,左规多次,使得尾数最高位为1;
补码规格化:因为溢出(双标志位01或者10)----->右规一次,使得符号位和最高位一定相反

14.原码尾数规格化后,尾数最高位一定是1,补码尾数规格化后,尾数最高位和符号位一定相反

15.两个浮点数相加,必须阶码对齐,小阶码对大阶码,尾数右移动

16.双符号位判断溢出;如果双符号位不同则溢出,01为正溢出,10为负溢出;浮点数,阶码有双符号位,尾数也有双符号位,尾数溢出有一次右归的机会避免溢出,此时阶码加一,判断溢出通过右归之后阶码的双符号位

17.浮点数加减运算:对阶操作不会引起阶码的上溢出或下溢出;右规和尾数舍入都可以引起阶码上溢;左规时可能引起阶码下溢出;尾数溢出时结果不一定溢出

18.最小规格化正数:1.0*2的负126次;移码的取值范围1到254;偏置值是127;取1的时候,得到阶码值是1-127=-126

19.IEEE754一共32位;数符位1;阶码8;尾数23位;可以表示的最大整数:数符取0;阶码取最大值127;尾数部分隐藏了整数部分1;23位尾数全取1时尾数最大,为2-2的负23次,此时浮点数的大小为(2-2的负23)*2的127次=2的128次-2的104次

20.机器数若为浮点数或者int型;若是浮点型数符为1表示负数,尾数隐藏最高位为1,阶码8位

第三章:存储系统

考点:
1.采用随机存取方式:EPROM,DRAM,SRAM

2.DRAM是电容存储,必须隔一段时间就刷新一次,若存储单元未被刷新,则存储的信息就会丢失,SDRAM表示同步动态随机存储器

3.RAM和ROM都采用随机存取方式进行信息访问,RAM是易失性存储器,需要刷新,ROM是非易失性存储器,不需要刷新,一般Cache采用高速的SRAM制作,比ROM速度快很多

4.闪存是EPROM,可读可写,使用的是MOS管的浮栅上有无电荷来存储信息,闪存依旧是ROM的一种,写入时必须先擦除原有数据,写速度比读速度慢不少,是一种非易失性存储器,采用的是随机访问方式,可替代计算机外部存储器

5.DRAM采用地址复用技术,如果是4M*8,按道理是22根地址线,但是复用了,所以是11根地址线

6.交叉存储编址会产生访存冲突:模块序号=访存地址%存储器交叉模块数 比如四体交叉编址存储器:那么存储器交叉模块数就是4

7.主存容量的扩展:1.位扩展法:CPU数据线数和存储芯片的数据位数不一样,必须对存储芯片扩位,多个存储器对字长进行扩充,增加存储字长,使其数据位数和CPU数据线数相等;连接方式是将多个存储芯片的地址端,片选端和读写控制端相应并联,数据端分别引出
2.字扩展法:增加存储器中字的数量,而位数不变,字扩展将芯片的地址线,数据线,读写控制线相应并联,由片选信号来区分各芯片的地址范围

8.**串行访问存储器:**对物理位置先后顺序寻址,包括顺序存取存储器(磁带),直接存取存储器(磁盘)

9.cacahe-主存:解决CPU和主存之间速度不匹配的问题
主存和辅存:解决存储系统容量的问题

10.动态DRAM主要用于内存
静态SRAM主要用于cache
SRAM、DRAM、ROM 和 EPROM 是不同类型的计算机内存,它们在存储数据和访问速度等方面有一些区别。

  1. SRAM (Static Random Access Memory,静态随机存取存储器) 是一种易失性存储器,使用触发器来存储每个位。SRAM 非常快速,它的存储单元保持数据的时间不依赖于外部刷新电路。因为使用了更多的电路,SRAM 的集成电路面积相对较大,造价也比较高。
  2. DRAM (Dynamic Random Access Memory,动态随机存取存储器) 也是一种易失性存储器。DRAM 使用了电容器来存储数据,需要定期刷新以维持数据的稳定性。由于需要刷新电路,DRAM 在访问时间上比 SRAM 要慢,但相对较便宜。DRAM 是大多数计算机系统中主要的系统内存。
  3. ROM (Read-Only Memory,只读存储器) 是一种非易失性存储器,其中存储的数据在常规操作下无法更改。ROM 中的数据是在制造过程中永久编程的,例如存储设备固件、操作系统信息等。ROM 是存储系统启动时所需的关键数据的重要组成部分。
  4. EPROM (Erasable Programmable Read-Only Memory,可擦写可编程只读存储器) 是一种可以被多次擦除和重新编程的存储器。EPROM 使用特殊的紫外线擦除器擦除存储的数据,然后通过编程电压将新数据编程到存储单元中。EPROM 通常用于存储固件等数据,但由于擦除和编程的过程相对复杂,它的使用比较受限。
    总的来说,SRAM 速度快但成本高,DRAM 速度较慢但成本较低,ROM 是只读存储器,而 EPROM 允许多次擦除和编程。这些存储器的选择取决于特定系统的需求和预算。

11.MAR的位数决定了主存地址空间的大小,MAR能保证能访问到整个主存地址空间,和主存容量没有关系,比如主存储器32B,主存地址空间大小64MB,那么跟着主存地址空间大小64MB判断MAR的位数

12.4000H-5FFFH表示的地址空间大小:5FFF-4000+1=2000H=2*16的三次方 =2的13次

13.DRAM地址复用技术是在存储阵列的行和列相等的情况下,地址引脚是原来的一半,不然的话地址引脚=log2(max(行,列));DRAM刷新是行刷新,所以当行和列的值接近的时候,减少刷新开销,又是行刷新,所以行列接近,但是行要小一点

14.磁盘存取时间:寻道时间(一般会给出)+延迟时间(磁盘转半圈的时间)+传输时间(要访问的数据量/磁盘传输率);具体情况具体分析,一般根据题目给的各种时间加上+磁盘转半圈的时间+传输时间(五花八门的各种传输情况)

15.RAID0方案是无冗余和无校验的磁盘阵列,而RAID1到RAID5方案均是加入了冗余(镜像)或校验的磁盘阵列,因此,能够提高RAID可靠性的措施主要是对磁盘进行镜像处理和奇偶校验

16.磁盘的最小读写单位是扇区,不是一字节,磁盘按块存取

17.指令Cache和数据Cache分离的主要目的:取值和取数分别在不同的Cache中寻找,指令流水线中取值 部分和取数部分就可以很好避免冲突,减少了指令流水线的冲突

18.访问数组cache缺失率的问题:访问数组时,cache为空,那么cache会调入相应的块,那么相邻的数据就不会cache缺失,比如int类型4B,对应cache16B,那么4个相邻的int只有第一个缺失,如果还有写操作,那么读写共八次就第一次读缺失,那么缺失率就是12.5%

19.时间局部性:一条指令在不久的将来很快又会被执行:for循环指令本身具有时间局部性, 空间局部性:一个存储单元被访问,它附近的存储单元也很快会被访问到;for循环指令时间局部性和空间局部性皆有

20.组相联映射:一共8组,那么就是模8运算,主存块号进行模8运算,例如:129号主存单元,一个主存有32B,按字节存储,此时该单元的对应的主存块号是4(主存块号从0号开始),cache块 号也是从0开始的,,此时对4进行模8运算,那么对应的映射cache块号为4

21.直写法,回写法cache行的位数是多少:首先公共位数:数据位(主存块的位数(数据cache的位数))+tag位(主存块位数减去-cache一共有多少块+物理地址中的偏移量(组内地址32B就有5位)) 回写法有脏位1位+有效位1位 直写法有一位有效位
Cache总容量的位数:(tag的位数+回写法的两位或者直写法的1位脏位)*一共多少cache块+cache块数乘以主存块的大小

  1. TLB 和缓存的关系在于它们都是用来提高内存访问效率的机制。TLB 通过保存地址映射信息,避免了每次访问内存都要进行页表的查询;而缓存通过临时保存频繁访问的数据,避免了直接访问内存,从而减少了访问延迟。在大多数的计算机系统中,TLB 和缓存都被设计为多级结构,以逐级增加容量和提高访问速度。同时,它们也有各自的工作原理、替换策略和访问控制机制。

  2. 不可能发生的是:TLB命中,Cache命中,Page未命中

  3. 缺页处理后回到缺页的指令继续执行,不是执行发生缺页指令的下一条执行

  4. Cache由SRAM组成,TLB通常由组相联存储器组成,也可以由SRAM组成,DRAM需要不断刷新,主要用于内存,性能偏低,不适合组成TLB和Cache;TLB和Cache命中率都与程序局部性有关,缺失后都需要访问主存,缺失处理都可以由硬件实现

  5. Cache直写法:数据写入主存的同时也写入Cache 写回法:只写入Cache,不立即写入主存,只有当此行换出时才写回主存

第四章:指令系统

题目:
1.指令中,操作码的位数是该地址位数下能够表示的指令种类

2.地址长度为n,上一层留出M种状态,下一层可以扩展出m2^n种状态;例子:计算机按字节编址,指令字长固定且 只有两种指令格式,其中三地址指令29条,二地址指令107条,每个地址字段6位,则指令字长至少应该是:24位;这种情况29条,所以最少是5位,按照5位计算留出3位,那么可以扩充364=192条,大于107条,所以可行,所以至少是5+3*6=23,按字节编制,指令字长最少是24位

3.偏移寻址有三种:都是通过ALU转化为EA,相对寻址,基址寻址,变址寻址,相对寻址:转移指令 基址寻址:有利于多道程序的设计,编写浮动程序 变址寻址:编制循环程序 (数组问题)
相对寻址类问题:转移指令采用相对寻址,由2字节组成,第一字节为操作码字段,第二字节为相对位移量字段,假定取指令时,每取一字节PC自动加一。若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功后的目标地址是:取了两个字所以PC+2=2002H,PC会自动更新,所以最后成功后目标地址为2002H+06H=2008H

4.偏移寻址中偏移量的位:指令长-操作码长-寄存器个数所需要的二进制位数表示

5.计算机采用16位定长指令格式,指令系统有48条指令,支持4种寻址方式,直接寻址方式的可寻址范围:48条指令需要6位操作码,4种寻址方式需要2位寻址特征位还有16-6-2=8位作为地址码

6.RISC采用硬布线控制器,指令条数少,指令长度固定,指令格式和寻址种类少,内部寄存器多,尽量减少访存次数,选取使用频率最高的一些简单指令,大多在一个时钟周期内完成

7.RISC有利于简化流水线的复杂度,指令长度一致,按边界对齐存放,仅Load/Store指令访存

8.主存地址空间的范围不能是负数

五:中央处理器

考点:
1.汇编语言程序员可见的是PC(程序计数器),状态/标志寄存器,基址寄存器,通用寄存器;IR,MAR,MDR是CPU的内部工作寄存器

2.指令寄存器的位数等于指令字长,PC程序计数器的位数等于主存地址块数,1G块,说明有30位

3.即使是空指令操作,PC也会自动加1

4.单总线处理器将所有寄存器的输入输出端都连在一条公共通道上,一个时钟内只允许一次操作,无法完成指令的所有操作,就是连一个完整的指令都完成不了

5.微程序控制器采用了存储程序的原理,每条机器指令对应一个微程序,因此修改容易和扩充容易,灵活性好,每条指令的执行都要访问控制存储器,速度慢,硬布线控制器由专门的逻辑电路实现,速度取决于逻辑电路的延迟,速度快,但是修改和扩展困难,灵活性差

6.主存按地址访问,控制存储器按照微指令的地址访问

7.只有在理想情况下流水线CPU,才可能实现每个时钟周期开始执行一条新指令,所以处理器不是总在每来一个时钟脉冲信号就开始执行一条新指令

8.指令译码阶段,取出指令后,计算机立即进入指令译码(Instruction Decode,ID)阶段。在指令译码阶段,指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类别以及各种获取操作数的方法。所以取数和执行过程中需要用到指令译码器

9.内部异常中只有故障才会返回到发生异常的指令继续执行;内部异常有三种:故障,陷阱,和终止
自陷也是一种内部异常,自陷处理完成后返回到陷阱指令的下一条指令执行

10.中断:来自CPU执行指令以外的事件,如设备发出的I/O结束中断,表示设备输入/输出完成,希望处理机能够向设备发出下一个输入/输出请求,同时让完成输入/输出后的程序继续运行,DMA传送结束属于中断

11.引起流水线阻塞的是:数据相关,资源冲突 条件转移:控制相关

12.数据冒险即是数据相关,指在一个程序中存在必须等前一条指令执行完才能执行后一条指令,这两条指令即为数据相关

13.超标量流水线技术:指CPU有一条以上的流水线,并且每个时钟周期内可以完成一条以上的指令,实质是用空间换时间,不影响流水线功能段的处理时间

14.数据在功能部件之间传送的路径被称为数据通路,包括数据通路上流经的部件,数据通路由控制部件控制,控制部件根据每条指令功能的不同生成对数据通路的控制信号,因此数据通路不包括控制部件。

15.指令流水线每个流水段的时间单位为时钟周期,所以CPU最少的时钟周期=最长的流水段部件时间+寄存器时延

16.CPI为1的是:单周期CPU,基本流水线CPU

第六章:总线

考点:
1.USB是串行总线,不能同时传输两位数据

2.总线猝发传送(突发传送)可以传送连续地址的数据:所以传送数据的最少需要时间是:传送地址(一个时钟周期)+传送数据花的时间

3.USB是一种连接外部设备的I/O总线标准,属于设备总线,是设备和设备控制器之间的接口

3.同步通信方式,系统采用一个 统一的时钟信号,不可以由各设备提供,无法实现统一时钟

4.时钟频率低的情况,并行总线比串行总线传输速率快,时钟频率高,并行总线之间的相互干扰严重,反而串行总线传输快

5.PCI-Express总线都采用串行数据包传输数据,靠近CPU的总线速度较快,各总线之间通过桥接器相连

6.采用地址/数据线复用技术,减少了线的数量,节省了成本,并不能提高传输率,所以数据线/地址线复用,其中地址线/数据线有32根,那么一次就是可以传输32/8=4B的数据

7.异步通信采用握手的方式进行通信,每次握手完成一次通信,一次通信会交换多为=位而非一位数据

七:输入输出系统

考点:
1.控制总线传输的内容:数据缓冲寄存器和命令/状态寄存器

2.地址总线:传送与CPU交换数据的端口地址

3.控制线:给I/O端口发送读/写信号

4.采用统一编址:CPU访存和访问I/O端口用的是一样的指令,访存指令可以访问I/O端口

5.响应外部中断:中断隐指令完成的操作:1.关中断 2.保护断点 3.引出中断服务程序

6.中断请求是cpu执行指令外的操作,所以和当前指令无关,在一条指令执行结束后响应中断,中断在保护现场时关中断,执行中断处理程序时开中断

7.中断优先级高的表示可被中断优先级低的中断

8.DMA控制器的总线使用权优先级比CPU高

操作系统

1.操作系统的概念

考点:
1.单处理机系统:并行是指同时执行多个任务或者操作的方式,单处理机是一个计算机系统只包括一个运算处理器,同一时间只能处理一个任务,进程和进程之间在单处理机中无法并行。

2.操作系统提供给应用程序接口的是系统调用

3.RAM随机存储器(一般作为内存,断电后数据会消失),ROM只读存储器(即使关闭电源数据也不会消失),EPROM:电可擦除存储器;

4.操作系统最终会被加载到RAM

5.多道程序:早期多道程序并发执行,即使不支持虚拟存储管理,也可以实现多道并发,进程越多不意味着CPU利用率高,进程越多可能会因为资源竞争导致死锁现象,从而导致CPU利用率低

6.用户态执行的有:1.直接执行:命令解释程序 2.程序接口(也可以称为系统调用:允许用户通过程序间接使用,由一组系统调用组成);用户态进入核心态通过陷入指令(也称为访管指令或trap指令);执行系统调用,先传递系统调用的参数,然后由陷入指令将用户态转化为内核态;系统调用避免用户直接访问 外设
核心态执行的有:1.各种中断的处理,特权指令:2.进程的调度 3.整数除零 4.I/O指令 5.进程,内存管理

7.中断程序和子程序调用都需要保护现场,中断处理一定会保护而子程序调用不需要保护的内容是:程序状态字寄存器:因为子调用和当前进程有关,不需要保存程序状态字

8.中断时保存的数据:1.硬件保存:程序计数器PC,程序状态字PSW ,将CPU改为内核态 2.操作系统负责:其他有必要保存的信息,如某些通用寄存器,中断屏蔽字

9.有可能产生中断的操作:1.(R0)/(R1)->R0 有可能是除零操作 2.MOV RO ,addr 吧地址addr中的内存数据放入到寄存器R0中,可能会有缺页异常
中断:CPU执行指令外的事件发生 异常:内部的指令执行

操作系统:是控制和管理整个计算机系统 的硬件和软件资源 ,合理地组织,调度计算机的工作和资源的分配,为用户和其他软件提供方便接口和环境的程序集合,是计算机系统中最基本的系统软件。

二:进程管理

考点:
1.引起进程创建的事件有:用户登陆,作业调度,提供服务,应用请求;设备分配是通过系统中设置相应的数据结构实现的,不需要创建进程

2.进程从就绪态转化为运行态不应该立马降低优先级,应该等进程时间片用完再降低,降低优先级别不一定发生,但是状态一定要改变

3.进程控制块PCB,线程控制块TCB,进程是资源分配的基本单位,线程是调度的基本单位,同一个进程的线程共享进程的地址空间;父进程和子进程共享一部分资源,但不能共享虚拟地址空间,可以并发执行,

4.执行态到阻塞态:请求某种资源(不包括处理机资源)或等待输入输出 ,阻塞被唤醒:进程等待的资源可用时 执行态到就绪态:被剥夺了处理机资源

5.多线程模型中,用户级线程和内核级线程的连接方式分为多对一,一对一,多对多,操作系统为每个用户级线程建立一个线程控制块

6.进程调度算法;
1.综合考虑进程等待时间和执行时间的是:高响应比优先调度算法R=(等待时间+要求服务时间)/要求服务时间
2.满足短作业优先且不会发生饥饿现象的是:高响应比优先,长作业没有得到响应,随着等待时间变长,响应比也会变大,最终得到响应,而非抢占式短作业优先,会导致饥饿现象,

7.处理机调度:不能进行处理机调度的几种情况:
1.处理中断的过程
2.进程在操作系统内核临界区(普通临界区还是可以调度)。
3.其他需要完全屏蔽中断的原子操作过程中。如加锁,解锁,中断现场保护,恢复等原子操作

8.合理的设置进程优先级:应该将进程的CPU时间和I/O时间做综合考虑,对于CPU占用时间较少而I/O占用时间较多的进程,优先调度可以让I/O更早的得到使用,提高了系统的资源利用率,显然应该具有更高的优先级

9.临界互斥方法:单标志法,双标志先检查,双标志后检查,皮特森算法
总结:只有使用记录型信号量才可以实现让权等待
满足循环条件,就一直循环,无法访问临界区,不满足循环条件,就可以访问临界区
经常考皮特森算法:能保证互斥进入临界区,不会出现饥饿现象

三:内存管理

考点:
1.分区分配内存管理方式的主要保护措施:界地址保护 ;每个进程都有自己独立的进程空间,若进程运行的地址在其地址空间之外,则发生地址越界
2.内存分配:1.单一连续分配(就一道程序占所有,有内部碎片,无外部碎片) 2.固定分区分配(多道程序固定分配,有内部碎片,无外部碎片) 3.动态分区分配 (无内部碎片,有外部碎片)
内部碎片:内存分配给进程的空间没有完全利用完 外部碎片:内存中有剩余空间太小无法利用;紧凑技术:让动态分区没有内部碎片;拼接技术:让动态分区没有外部碎片
3.4种动态分区算法

你可能感兴趣的:(笔记,网络)