1.做一切涉及存储量、带宽、速率的计算题目两大注意点:第一是区分大B字节和小b二进制位,第二是区分K的1000进位(速率)和1024进位(存储容量、文件大小),尤其是利用数据量求速率的题要记得转换进位法则
2.做一切涉及寄存器或立即数数值计算的题目,首先关注:结果要求是二进制、十进制还是十六进制的形式,要求是机器码还是真值,数据是否溢出,存储形式是大端还是小端,位数不统一的时候是否需要扩展
3.做计网涉及速率和数据量的计算题,关注是否要去掉各级协议附加内容只算有效数据;关注“端到端时延”和“RTT”的文字叙述区别(代入数值计算之前小声默念一遍题目条件)
4.做一切和存储相关的题,第一时间找关于编址方式的信息,否则可能从头错到尾;关注寻址方式直接或几次间接;偏移寻址的加减法和间接寻址哪个先操作
5.二叉树性质相关计算题:注意区分满二叉树、完全二叉树两个概念。叶子结点数量等于度为2的节点数加1和第k层上至多2^(k-1)个结点的性质有一个共同的限制条件:二叉树非空。
6.十六进制结果随手写上H或者0x就像不定积分随手写上C一样自然
7.Cache标记项关注脏位(写回法);替换控制位/算法位(时间、使用情况);有效位(无条件,每次访Cache必查)。算法位的位数是组的路数对2的log
8.“把进程唤醒”不是指“给某个进程处理机”,而是特指“某个进程从阻塞态变为就绪态”
9.扩展操作码vs定长操作码:扩展的op不能全1(类比哈夫曼编码);定长操作码的指令数目可以放心地写2的n次方
10.指令设计的格式是操作码+寻址特征+形式地址,牢记这个格式,在读指令和设计指令系统的题目中不要漏项,尤其寻址特征很容易忽略
11.计算相对寻址指令跳转位置时,要格外注意PC的自增功能机制。其中PC自增值是指令字长除以内存编址单位。换一种表达方式,相对寻址的A实质上是以下条指令(而不是本条地址)在内存中首地址为基准位置的偏移量
12.区分以下概念:直接寻址/间接寻址(主存相关) vs 寄存器寻址/寄存器间接寻址。注意寄存器寻址的操作数是寄存器的编号,位数由系统中相关寄存器决定。概念上不难但实际做题干扰性极强
13.在一地址的运算指令中,通常第一操作数在累加器中,第二操作数由指令地址码给出,运算结果在累加器中
14.三种“相对寻址”的比较:基址寻址(BR)适用于多道程序设计、常用于为程序或数据分配空间;变址寻址(IX)主要用于处理数组问题;相对寻址(PC)用于转移指令和程序浮动
15.CF和OF:CF是无符号数溢出标志,OF是有符号数溢出标志(有符号数相加相减导致CF=1也无意义)。
16.十字链表是有向图的存储结构;邻接多重表是无向图的存储结构
17.特殊矩阵的存储中(KMP算法也需注意),重点关注矩阵和数组的下标是从0开始还是从1开始(通常矩阵1数组0)
18.图的邻接矩阵表示唯一,其广度优先生成树也是唯一的;邻接表表示不唯一,广度生成树也不唯一
19.中缀表达式转后缀表达式的简便手动算法:a.按运算符优先级对所有运算单位加括号;b.运算符移到括号后;c.去除括号
20.指令字长是指令中二进制代码位数;机器字长是CPU一次能处理的数据长度(通常等于内部寄存器位数);存储字长是一个存储字长度
21.计算机中用户可见的寄存器:通用寄存器组、PSW、PC、ACC;不可见:MAR、MDR、IR、DR(拓展:cache、控制存储器、锁存器、暂存器)
22.运算器包括算数逻辑单元、暂存寄存器、累加器、通用寄存器组、PSW、移位器等;控制器包括指令部件(PC、IR、指令译码器ID)、时序部件、微操作信号发生器(控制单元)、中断控制逻辑等
23.带符号整数加减运算的溢出判断规则:若加法器两个输入端符号相同,且和输出端的符号不同,结果溢出;或加法器完成加法操作时,次高位进位和最高位进位不同,结果溢出
24.答题易忽视:IP数据报分片除了最后一片外的所有报片有效载荷都是8B的倍数
25.进程的程序段是可以被多进程所共享的(多个进程可以运行同一个程序)
26.进程在运行时发生异常事件,程序无法正常运行,此时要终止进程(常见需终止的问题清单:存储区越界、保护错、非法指令、特权指令错、运行超时、算数运算错、I/O故障)
27.I/O接口主机侧的数据线传输的是读写数据、状态字、控制字(别以为是状态线和控制线在传输)、中断类型号,与数据缓冲寄存器和状态/控制寄存器相连;地址线给出要访问的I/O接口中寄存器的地址;控制线传输读写信号、仲裁信号和握手信号
28.IP数据报在分片之后“总长度”字段指的是分完之后一片的首部加数据长度,而不是分片前的分组长度
29.关注规格化浮点数(自设计)和IEEE754浮点数的规则差别
30.总线的猝发传输要消耗一个周期用来传地址。考虑存储器准备数据和传送数据两项时间
31.负数原码转补码的最快方式:从右往左找到第一个1,它左边所有的数值位取反,自己和右边一串0都不变
32.“捎带确认”默认确认帧的长度和发送帧相等
33.TCP拥塞避免算法中,拥塞窗口cwnd增加的时机是收到ack。比如RTT为10ms,慢开始40ms后cwnd从1增长到16(不考虑其他因素)
34.中断向量是中断服务程序的入口地址,而中断向量的地址是中断服务程序入口地址的地址。诸如此类表达注意避坑。补充一条,系统中所有中断向量集中存放在存储器某区域,利用中断向量寻址服务程序属于硬件方式,还可以利用软件查询法执行此功能
35.字符设备不是“可寻址到字节”的设备,而是数据存储传输以字符为单位的设备;传输速率较低不可寻址常用中断驱动。字符设备都是独占设备,而共享设备必须是可寻址可随机访问的设备;一段时间内(而不是同一时间内)允许多进程访问。
36.DRAM采用传两次地址的策略,地址线数量是正常的一半
37.工作集是指窗口大小,不要和驻留集混淆
38.网络层出现的各协议总结(不一定是网络层的协议):RIP是应用层协议,使用UDP;OSPF是网络层协议,直接使用IP数据报传输;BGP是应用层协议,使用TCP;NAT是传输层协议,它看到了端口号;ARP是网络层协议,它看到了IP地址;DHCP是应用层协议,使用UDP;ICMP是网络层协议,以IP报文形式存在
39.在IPv4路由器上具有报文分片和重组的功能,根据下一跳的MTU自动分片,到达目的地后由目标主机进行重组;IPv6网络取消了路由器的报文分片和重组功能,这个功能由源主机来承担,它可以发送MTU探测数据包进行最小MTU探测,然后按照最小MTU发送数据包
40.注意:IPv4的CIDR子网号和主机号一样,都不能全1或全0(子网号暂存在争议,取决于路由器的路由选择软件是否支持,需谨慎使用)
41.区分概念:存储时间(周期)为连续两次启动同一存储器所需最小时间间隔;存取时间(包括读出时间和写入时间)是从上一次启动存储器到完成读写操作为止,一般小于存储周期
42.DRAM存储器的刷新是存储器中所有芯片的相同行同时进行刷新,而不是按芯片顺序完成
43.数据按边界对齐时,结构体内部的成员起始地址mod该成员长度为0;结构体长度是有效对齐值的整数倍
44.奇偶校验码:所谓“奇偶”指整个校验码(有效信息+校验位)二进制1的数量,而不是添加校验位前有效信息1的数量
45.模4补码:存储时只需要一个符号位(正常的数值双符号相等),双符号位只在ALU中采用
46.原语:通过关中断和开中断两个特权指令实现其原子性
47.Prim退出的标准是所有点都被连上,适用于求解边稠密图;Kruskal退出的标准是连通分量为1,适用于求解边稀疏而点较多的图,常用堆存放边的集合,用并查集描述生成树
48.二叉树不是有序树。有序树的结点次序是相对于另一结点而言的,当只有一个节点时无须区分次序,但二叉树中无论孩子数量是否为2都有区分左右
49.进程实体的组成:PCB、共享正文段(二进制代码和赋值常量)、数据堆段(动态分配的存储区)和数据栈段(临时使用的变量、函数调用常量)
50.路由器交付可以分为直接交付和间接交付。直接交付不涉及路由器,要求发送站和目的站在同一网段内;间接交付的最后一个路由器采用直接交付方式
51.多道程序的“多道”是指内存中同时存放多个可供调度的作业,常与高级(作业)调度放在一起考,在内存范围内嵌套低级(进程/处理机)调度的计算。遇到此类题目先静心想好结构
52.被剥夺时间片的进程要放在当前就绪队列尾部,新进程也放在队尾。入队时间顺序决定调度顺序,这类题目可能会挖坑,遇到计算题一定要把时序图和队列都在草纸上画得一清二楚,用不了几分钟
53.微指令设计时注意两点:第一是指令的操作码并行性(字段直接编码:互斥同段相容异段;直接编码:一位一条微指令);第二是分段时每个字段留出一个“不操作”编码(如8种互斥操作需要4位而不是3位)
54.运算器通用寄存器用于暂存中间数和中间结果,如ACC、MQ(乘商寄存器)、X(操作数寄存器)、IX、BR。其中前三者必须具备
55.在K、M、G、T之上:P - 10^15;E - 10^18;Z - 10^21
56.循环冗余码CRC检错重要特性:具有r位检测位的多项式可检测出所有小于等于r的突发错误;长度大于r的错误逃脱的概率是1/(2^r)
57.UDP的校验和计算中使用的“反码运算求和”,首先对参与求和的所有行数据所有内容取反,累加(有进位)。再检查最高位是否有进位,若有,结果要加1。最后对运算结果按位取反得到校验和(检验报文时若无差错累加的结果是全1否则有差错可丢弃)
58.解释程序的特点是“解释一句,执行一句”;编译程序则是先翻译再执行,二者速度对比是编译更快(循环中解释程序需多次重复)。答题时注意细节:“编译不仅仅包含高级语言到汇编语言,也可以直接一步到位到机器语言”
59.Cache-主存层次主要解决CPU和主存速度不匹配的问题,数据交换由硬件自动完成,对程序员透明;主存-缓存层次主要解决存储系统容量问题,数据交换由硬件和操作系统共同完成
60.三种总线结构:单总线结构I/O和主存共用一条地址线,主存I/O统一编址;双总线把I/O单独分出来;三总线把DMA总线分出来(但任意时刻只能使用三条线中的一条)
61.OSI两个不常见到的层次:表示层(数据格式变换、加密解密、压缩和恢复);会话层(两个进程建立、管理和终止会话,有序传输数据,使用校验点使通信失效时继续恢复通信实现数据同步)
62.TCP/IP下两层名字为“网际层”和“网络接口层”
63.SSD的访问以页为单位,写时擦除以块为单位。磁盘地址是柱面-盘片-扇区;SSD地址是闪存芯片-块-页
64.总线性能指标:注意区分时钟频率和工作频率别看花眼,分别是时钟周期/传输周期的倒数
65.I/O三种方式对比:程序查询方式中,CPU和设备、传送和主程序都串行工作;中断方式中,CPU于设备并行工作,传送和主程序串行工作;DMA方式中都并行
66.超标量流水技术:每个时钟周期内同时并发多条指令(CPI小于1);超流水线技术:缩短原来流水线的处理器周期;超长指令字技术:由编译程序将多条指令组合成一条指令
67.B树高度默认不包括失败结点层
68.散列表:除留余数法表长为m,除数p的最佳值是不大于m但最接近或等于m的质数
69.系统打开文件表表项:索引号、FCB、打开计数;用户打开文件表表项:索引号、打开方式(读写权限,可以每个进程互不相同)、读写指针(下一次读写开始位置,由seek设置)、系统打开表项索引
70.用户源程序变成内存可执行程序的三个步骤是编译-链接-装入;链接形成逻辑地址、装入形成物理地址;静态重定位适用于早期批处理,在进程装入一次完成,整个运行期间不能动;动态重定位只在运行时进行地址转换,需要重定位寄存器支持
71.简单选择排序、希尔排序、快速排序、堆排序都是不稳定的(归并排序是三种高效算法中唯一的稳定算法)(p.s.外部排序是归并思想)
72.简单选择排序、冒泡排序、堆排序每次可以选出一个放在最终位置的元素,而快速排序每次确定位置的可能不只一个,所以说“快排每次能取出一个元素放在最终位置上”的表述,尤其是在其他三种出现在其他选项里面的时候,可能是错的。
73.GBN和SR重传机制:二者合称“连续ARQ协议”GBN不容忍失序,而SR只重传未确认的帧;GBN序号2^n但窗口2^n-1
74.归零编码中间跳变的是1;NRZ(非归零)是最直观的1高0低;NRZI(反向非归零)和差分Manchester都是0跳1不跳
75.临界区互斥机制四原则的名称分别为:空闲让进,忙则等待,有限等待,让权等待(前三个必须实现);死锁产生的四个必要条件的名称分别为:互斥条件,不剥夺条件,请求并保持条件,循环等待条件
76.理解“时间局部性”和“空间局部性”:遍历数组的操作有空间局部性(顺序访问)但没有时间局部性(每个元素只被遍历一次);而for循环体的空间(循环体内指令连续存放)和时间局部性(内循环体多次重复执行)都好。
77.本地广播地址全1,路由器不转发,只要在同一链路上无条件收到;直接广播地址可指定任一LAN,主机号全1
78.五段流水线中第二段ID除了译码还可读寄存器,第三段EX除了执行还有计算地址。所以连续指令的寄存器数据相关需要插三条nop
79.汇编指令函数分析题注意栈指针上推下拉、调用前后的参数传递
80.文件内部的隐式链接方案格外注意块尾指针有空间,可能影响到最大文件的限度、访问物理块数量等计算。连续分配fcb项是首块物理块号和块数;隐式链接是首末块号
81.文件连续分配可随机读写,不适合文件拓展;隐式链接不可随机读写但可拓展;显式连接和索引分配既可随机读写又可拓展;FAT表常驻内存
82.有效CPI只计算执行一条指令的时钟周期数,不考虑存储器存取延迟
83.电路交换只要建立连接直接可以传数据,一切和分组相关的信息全是多余的
84.数据相关的“写后读”的英文缩写是“RAW”,即read after write,中英语序不一样。WAR同理
85.Cache的字地址结构是“组号+块内地址”,由于组内是相联存储器,不需要定位到组内哪一行
86.散列表的查找效率取决于三个因素:散列函数、处理冲突的方法和装填因子,和表长无关;开放定址时不能随便删除表中某元素只能标记为删除状态,否则搜索路径可能中断
87.直接插入、冒泡和快排的效率和初始状态有关(注意简单选择算法一直都是n^2)
88.二叉排序树是每个结点的值都要比左子树所有节点值大,比右子树小;而不是仅仅处于左右孩子中间(否则可能出现12435的错误排序)
89.线程共享进程逻辑地址空间,但他们拥有自己的栈空间
90.常见应用层协议:FTP数据连接-TCP-20;FTP控制连接-TCP-21;TELNET-TCP-23;SMTP-TCP-25;DNS-UDP-53;TFTP-UDP-69;HTTP-TCP-80;POP3-TCP-110;SNMP-UDP-161
91.SRAM和DRAM都是易失性存储器;DRAM是破坏性读出但SRAM不是;“随机存储”有时候是不能用于一切ROM的,注意CD-ROM其实不是ROM是光盘存储器
92.变址寻址的加减法操作比一次间接寻址的访存通常要慢一些
93.总线上,地址、控制和状态的传输都是单向的,数据是双向的
94.程序查询I/O完全由软件方式实现;中断方式通过程序传送但中断处理需要相关硬件;DMA完全由硬件控制数据交换;通道采用软硬件结合
95.固态硬盘写慢(先擦后写)读快(随机访问)
96.SCAN调度(电梯调度)双向扫描;C-SCAN单向扫描,两种算法都默认双向不触底(LOOK和C-LOOK
97.路由表填写时,无明确标识信息的“互联网”可以填全0的默认路由
98.在随机访问的Flash半导体存储器中,FCFS调度策略比C-SCAN更高效,无需考虑寻道时间和旋转延迟,可以直接按I/O请求先后顺序服务
99.CSMA/CD计算有效传输速率必须考虑四个时间:甲传输数据帧+数据帧传播到乙+乙传输确认帧+确认帧传播到甲。滑动窗口流水线机制的链路利用率=(n*数据帧传输时延)/(RTT+数据帧传输时延+确认帧传输时延)
100. ip分组经过路由器,TTL和首部校验和必改变;如果路由器需要NAT,源ip改变;如果分组长度超过链路MTU,总长度、标志、片偏移字段也会发生变化
101. ip报头标志的三位中,第一位空,第二位DF,第三位MF;tcp报头标志六位顺序分别是URG、ACK、PSH、RST、SYN、FIN
102. 子程序调用只保存程序断点,但中断调用不仅需要保护PC还要保护PSW(中断处理最重要两个寄存器是PC和PSW)
103. 多叉哈夫曼树必须考虑到权为0的虚叶结点
104. 交换机的最大优点是用户可以独占而不是共享带宽,分为直通式(只查看地址)和存储转发式
105. I/O端口异步传输一个ASCII字符需要考虑起始位、停止位和校验位
106. 物理格式化是磁盘分扇区,每个扇区采用特殊数据结构包括校验码;逻辑格式化是创建文件系统