XJTUSE-OA-ch01-09
题型: 判断 英文:(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算法)。
除法(不要求)
浮点数的表示

