题型:
判断 英文:(10分,每题一分)
选择 英文(20分,每题1分)
名词解释 英文(10分,每题2分)
简答题(每题5分,共30分)
计算设计题(5题,共30分,具体分值不等)
第一章-导论
计算机的基本功能:
第二章-计算机的演变和性能
演变历史不做考点,适当了解即可。
演变
冯诺依曼机
- 主存储器:用于存储数据、指令。
- ALU:能够处理二进制的算术逻辑运算单元
- 控制器:负责解释内存中的指令并执行
- I/O设备:由控制器操作的输入/输出设备
摩尔定律
耳熟能详了,集成电路上可以容纳的 晶体管 数目在大约每经过18个月到24个月便会增加一倍。
性能
指令执行速度
主要是CPI、t、Ic、MIPS等概念,作业题目搞懂
基准程序
由高级语言编写的,各种特殊程序设计方式的代表,易于度量、广泛发布
阿姆达尔定律
就是改进一部分功能的性能,对于整体性能的加速比。
公式:f为改进功能的用时,为加速比。
第三章-计算机功能和互连的顶层视图
计算机功能
指令的读取和执行
搞懂书上的例题:
中断
提供中断是为了提高处理的效率。
中断的类型:
- 顺序中断处理
- 嵌套中断处理
顺序中断处理:
优点:简单有效,严格按照顺序处理
缺点:没有考虑到相对的优先级和时间紧迫的需要。
嵌套中断处理
优点:定义了优先级,考虑了时间紧迫等问题
I/O功能
略,后面会详细展开
互连结构
互连
连接各个模块的通路
总线
总线是连接两个或者多个设备的通信道路,总线的特征是各部件共享的传输介质
总线结构
总线分为:
- 数据线:用来传输个功能部件之间的数据信息,双向。
- 地址线:指定数据总线上的数据的来源和去向,单向。
- 控制线:用来控制数据线和地址线的存取和使用,单向。
- 分离导线的数量称之为数据总线的宽度,如32位,64位。宽度和指令的位长决定了一次指令周期需要访问存储器几次。
总线的设计要素
总线类型
专用/复用
仲裁方法
集中式/分布式
常见的集中式总线控制有三种:链式查询、计数器定时查询、独立请求;
链式查询方式连线简单,易于扩充,对电路故障最敏感;
计数器定时查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;
独立请求方式速度最快,但硬件器件用量大,连线多,成本较高。
这两种仲裁方式的目的都是为了指定一个设备(CPU或者I/O)作为主控器,启动与其他设备的数据传输。
时序
同步时序:总线上时间的发生由时钟决定
异步时序:总线上一个事件的发生取决于上一个事件的发生。
总线宽度
(前面已经介绍)
数据传输类型
PCI
PCI(外围组件互连):也称为高速I/O总线 ,是一种高带宽、独立于处理器的总线。
第四章-cache存储器
计算机存储系统概述
特性
衡量存储器的性能的三个方面:
- 容量
- 存取时间
- 价格
层次结构
矛盾:存储速度越快,单位存储价格越高。
为了解决这一难题引入了存储器层次结构。
引入分层结构的依据:局部性原理
- 时间局部性:如果程序中的某条指令⼀旦执⾏,不久以后该指令可能再次执⾏;如果某数据被访问过,不久以后该数据可能再次被访问。产⽣时间局部性的典型原因,是由于在程序中存在着⼤量的循环操作。
- 空间局部性:⼀旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被访问,即程序在⼀段时间内所访问的地址,可能集中在⼀定的范围之内,这是因为指令通常是顺序存放、顺序执⾏的,数据也⼀般是以向量、数组、表等形式簇聚存储的。
学会访问的平均时间的计算(即命中的关系)。
cache
引入目的
减少CPU访问存储器的次数,节省时间。
原理:局部性原理
结构
标记为的作用是识别存储的到底是主存中的那一块,需要注意,不同的映射机制,标志设计不一样,一般而言,标记为主存地址的一部分。
设计要素
映射机制(重点)
这里的笔记简单记录,想搞懂建议看书看PPT之类的
直接映射
可以简单地理解为使用模进行映射的哈希表,不过为了准确识别,使用了标记为作为前几位的主存地址进行区分。
字不必多说,行为cache的行数,标记即为内存前8位。
全关联映射
简单理解为一个数组,直接装进去,克服了模的对应关系。使用标记为区分。当在cache中寻找的时候,要把数组全部遍历一遍。
直接简单粗暴地把所有剩余的位置作为标记位进行区分。
组相联映射
结合了直接映射和全相联映射的优点,相当于哈希表多留了几个空。
替换算法
LRU:最近最少使用,使用计数器实现
FIFO:先进先出
LFU:最不经常使用
随机:类似LRU性能
写策略
写直达:直接写cache+内存
写回法:使用脏位/使用位
cache一致性:即多个cache中的值保持一样。
cache的数目
- 多级cache
- 统一和分立的cache
第五章-内部存储器
半导体主存储器
RAM
DRAM:动态RAM,利用电容充电来存储数据,需要周期性充电。常用于主存。
SRAM:静态RAM,只要直流电源一直供电,无需刷新。常用于cache。
ROM
数据和程序永久地保存在主存中,无需冲辅存中调入。常用于子程序库,系统程序和函数表。
flash
重编程速度快,使用点擦除技术。能擦除储存其中的某些块,但不提供字节级的擦除。
纠错
差错:
- 硬故障
- 软差错
应对措施:纠错码(如汉明码)
设计题-拓展(大题)
三种拓展:
- 拓展字长:1kx4->1kx8,直接拓展数据线即可
- 拓展字数:1kx4->2kx4,用最高几位进行区分即可
- 拓展字长+字数:先进行拓展字长,再拓展字数,使用译码器即可。
第六章-外部存储器
磁盘
读写机制(略)
组织和格式化+物理特性
扇区
磁道
柱面
盘面布局方式:恒角速度,多带式记录
磁盘涂层:单面、双面。
性能参数
- 寻道时间
- 旋转延迟
- 传送时间
RAID
看看就行了
第七章-I/O
外设
类型:
- 人可读设备
- 机器可读设备
- 通信设备
例子:
- 键盘/监视器
- 磁盘驱动器
I/O模块
为什么要有I/O模块
- 各种外设的操作方法不同
- 外设的数据传送速度和CPU不一致,有的快有的慢
- 外设使用的数据格式和CPU不一致
I/O模块的功能
主要分为两大功能:
- 通过数据总线或中央交换器与处理器和存储器连接。
- 通过专用数据线与一个或多个外设连接。
可细分为:
- Control & Timing 控制与定时
- CPU ~ I/O Communication 处理器通信
- Device ~I/O Communication 设备通信
- Memory ~ I/O communication 存储通信
- Data Buffering 数据缓冲
- Error Detection 检错
完成I/O模块操作需要的三种技术
- 编程式I/O
- 中断驱动式I/O
- DMA(直接存储器存取)
编程式I/O
概述
I/O模块不会采取进一步动作通知处理器,因此处理器需要周期性地检查I/O模块的状态。
I/O命令
控制命令、测试命令、读命令、写命令。
I/O指令
当处理器、主存和I/O共享一条公共总线时,编址方式主要有两种:存储器映射式、分离式。
存储器映射式:
存储单元和I/O设备有单一的地址空间,处理器将I/O模块的状态和数据寄存器看作存储单元一样对待,使用相同的及其支流来访问存储器和I/O设备。
优点:有多种指令
分离式:
让总线既有存储器的读线和写线,同时也有输入和输出命令线。命令线指定该地址是存储单元还是IO设备。
优点:I/O端口只有被特定的I/O命令访问
缺点:只有少数几种I/O指令
中断驱动式I/O
是什么
处理器发送一个I/O命令到模块,然后去处理其他有用的工作,当I/O模块准备与处理器交换数据时,它中断处理器以请求服务,然后处理器执行数据传送,最后恢复原来的处理工作
处理过程
OS中学习过了,简单给个图刺激回忆...
识别中断的四大技术
- 多条中断线
- 软件轮询
- 菊花链(硬件轮询,向量)
- 总线仲裁(向量)
软件轮询:一个程序轮询每一个I/O模块来确定是哪一个模块的中断。
菊花链(daisy chain):所有I/O模块共享一个中断请求线,中断应答线采用菊花链穿过这些中断模块,。当处理器检测到有中断请求的产生,就发出一个应答信号。请求中断的模块防止向量响应此应答信号。
总线仲裁:I/O模块在发出中断请求前必须首先获得总线的控制权。总线仲裁可以采用优先级方案,这在之前讲过。
DMA(直接存储访问)
概念
DMA在系统总线上增加了一个模块,模仿处理器,从CPU接管I/O,无需CPU干预就可以将数据块传输到内存或者从内存中获取。
数据传输模式
- 块传输方式:如果DMA传输数据,CPU将被禁用一段时间,直到DMA释放总线
- 周期窃取式:DMA仅在CPU不需要或强制CPU暂时暂停运行时才使用总线
- 透明方式(交替模式):DMA和CPU采用分时复用的方式使用总线,效率最高。
为什么DMA效率更高
- DMA控制器按周期掌管总线
- 传输一个字的数据
- 不是一个中断,CPU不切换上下文
- CPU在进入总线前暂停
- 尽管会使CPU速度变慢,但相比前者更佳
I/O通道
概念
是DMA概念的扩充。I/O 通道能够执行 I/O 指令并控制 I/O 操作。
功能
- 接收来自CPU的命令
- 从内存中加载I/O程序,将命令发送给设备
- 缓冲、控制和传输数据,为传输提供路径
- 报告设备状态,发送中断
类型
- 选择通道:一次选择一个高速设备
- 多路通道:与多个低速设备相连。
要学会计算两类通道的最大传输速率!!
第八章-操作系统支持(略)
第九章-计算机算术
算术逻辑单元ALU
整数的表示
无符号的表示:直接看成二进制即可
有符号的表示:即符号-增幅表示法,0代表正数,1代表负数。
原码、反码、补码
正数:原码、反码、补码一致
负数:反码等于原码除最高位的其他位取反,补码为反码加1。
整数的加减乘除
加法:原码、反码(用溢出位)、补码(舍弃最高位)的加法
减法:利用加法即可,8-5=8+(-5)
乘法(了解):无符号数的乘法;补码的乘法(booth算法)。
除法(不要求)