第一章
- 设计高性能计算机的重要途径:提高cpu性能比如提高cpu主存、用多个计算机构成多机系统、扩大内存容量、采用非冯诺依曼的结构、采用并行技术流水线技术...
- 采用并行流水线技术(利用时间重叠提高并行能力)
- 向量机(用向量运算器并行处理适于向量化的任务)
- 精减指令系统计算机RISC(提高单机运算速度)
- 超标量方式(同时执行多条指令)
- 超长指令字(相当于多条常规指令,提高并行速度)
- 阵列机(多处理器组成一个阵列-单指令流多数据流)
- 多存贮体交叉访问技术(并行主存系统)
- 多机系统(多个cpu构成多机系统)
总之是增强并行处理能力
- 冯诺依曼计算机体系结构的基本思想
- 首次提出“存储程序”的概念
- 以运算器为中心
- 指令和数据用二进制表示
- 计算机由5大部件组成(运算器、控制器、存储器、输入设备、输出设备)
- 指令和数据以同等地位存于存储器,可按地址寻访
- 指令由操作码和地址码组成
- 计算机硬件系统的组成
- 各部件的作用
输入设备->将信息转换成机器能识别的形式
输出设备->将结果转换成人们熟悉的形式
主存储器->按地址存放或读取内容,存放数据和程序
运算器->算术运算、逻辑运算
控制器->指挥个部件、使程序运行
- 运算分类(有哪些运算)
算术运算、逻辑运算
第二章
各寻址方式的特点及操作数地址的表示
寄存器寻址:
1.寄存器(直接)寻址:指令中地址码给出寄存器号(寄存器地址),从寄存器中获取 操作数
特点:执行阶段不访存,寻址速度比直接寻址快,可减少一个操作数地址的位数,寄存 器个数有限,可缩短指令字长。
2.寄存器(间接)寻址:操作数在主存单元中,由指令给出寄存器号,该寄存器存放操 作数地址
特点:有效地址在寄存器中,操作数在存储器中,执行阶段访存,寻址速度比间址快, 可减少一个操作数地址的位数,便于编制循环程序
间接寻址:指令中给出的是存放操作数地址的主存单元地址(操作数地址的地址)
特点:可扩大寻址范围,提供编程的灵活性,增加访存次数,增加指令执行时间
变址寻址:给出一个形式地址,并指定一个寄存器作为变址寄存器,将变址寄存器的内容与 形式地址相加得到操作数有效地址
特点:将形式地址D作为基准地址,变址寄存器的内容作为修改量,面向用户,常用于字符串处理,数组运算等成批数据处理中。
立即寻址在取指令阶段,访问一次内存;在执行阶段,不需要访问内存;(一次)
直接寻址在取指令阶段,访问一次内存;在执行阶段,访问一次内存;(两次)
间接寻址在取指令阶段,访问一次内存;在执行阶段,访问两次内存;(三次)
寄存器直接寻址在取指令阶段,访问一次内存;在执行阶段,不需要访问内存;(一次)
寄存器间接寻址在取指令阶段,访问一次内存;在执行阶段,访问一内存;(两次)
各机器数数据表示范围(一般考补码:补码整数、补码小数)
合法表示范围 | 最大的数 | 最小的数 | 真值0的表示 | |
无符号整数 | 0<=x<=2n+1-1 | 111....111=2n+1-1 | 000....000=0 | 000...000 |
原码带符号整数 | -(2n-1)<=x<=2n-1 | 0,111....111=2n-1 | 1,000...000=-2n | [+0]原=0,000...000 [-0]原=1,000...000 |
补码带符号整数 | -2n<=x<=2n-1 | 0,111....111 | 1,000...000=-2n | [0]补=0,000...000 |
原码小数 | -(1-2-n)<=x<=1-2-n | 0,111....111=1-2-n | 1,000...000=-(1-2-n) | [+0]原=0,000...000 [-0]原=1,000...000 |
补码小数 | -1<=x<=1-2-n | 0.111....111=1-2-n | 1,000...000=-1 | [0]补=0,000...000 |
定点表示和浮点表示的区别
定点表示——小数点位置固定不变
- 定点小数(只表示带符号纯小数)
约定小数点位置隐含在最高有效位之前,符号位之后,可写成x=x0.x1x2...xn
- 定点整数(只表示纯整数)
最高位为符号位,小数点位置在最低位右边,可写成x=x0x1x2...xn;
无符号定点整数无符号位,小数点位置在最低位右边
浮点表示
对于任意一个二进制数N,总可以写成
N=R^E x M
R是阶码的底,即基数,一般取为2,8或16;E是阶码,即指数为纯整数,常用移码或补码表示M是尾数,为纯小数,常用原码或补码表示。
阶码的值反映浮点数的小数点的实际位置;阶码的位数反映浮点数的表示范围;尾数的位数反映浮点数的精度。
比较:
定点、浮点表示的区别字长相同的情况下
数值的表示范围
浮点表示法的数值范围远大于定点表示法。
精度
浮点数虽扩大了数的表示范围,但精度降低
数的运算
浮点数包括阶码和尾数。运算时不仅要做尾数的运算,还要做阶码的运算,且运算结果要求规格化,所以浮点运算比定点运算复杂。
溢出问题
在定点运算中,运算结果超出数的表示范围时,发生溢出;浮点运算中,运算结果超出尾数表示范围时不一定溢出,只有规格化后阶码超出所能表示的范围时,才发生溢出
溢出判断:浮点数是对规格化的阶码进行判断,若阶码>2m-1出现上溢,即溢出错误,机器应停止运算;若阶码<-2m出现下溢,表示低于机器分辨率,机器做0处理
顶点数是对数值本身进行判断
浮点表示有两个明显的优点:运算的精度高;表示的数值范围大。但浮点表示在运算规则、运算速度及硬件成本方面不如定点数。
一般来说,大型机大多采用浮点数,或同时采用定、浮点数;
小型、微型及某些专用机、控制机大多采用+定点数
需作浮点运算时,可通过软件实现,也可外加扩展硬件(如协处理器)来实现
第三章
指令流水技术性能分析(执行时间)
->影响指令流水效率加倍的因素:
(1)执行时间>取指时间
取指令部件->指令部件缓冲区->执行指令部件
解决方式:在取指部件和执行部件中增加一个缓冲区用于缓存取出来的指令,等待执行部件空闲
(2)条件转移指令对指令流水的影响
必须等上条指令执行结束,才能确定下条指令的地址造成时间损失
解决方式:如分支预测中最简单的猜测法
影响流水线性能的因素:
- 结构相关
不同指令争用同一功能部件产生资源冲突
解决办法:停顿;指令存储器和数据存储器分开;指令预取技术
- 数据相关
不同指令因重叠操作,可能改变操作数的读/写访问顺序
解决办法:后推法(退后读写,等待上条指令写结果后再读)
旁路技术(不等待结果回写)
- 控制相关
转移指令引起
流水线中各功能段的利用率
效率=流水线中各段处于工作时间的时空区/流水线中各段总的时空区
=mnΔt/m(m+n-1)·Δt
ALU进位——16位组件并行ALU结构(进位链,两个芯片74ls181,182,一个进行组内进位一个进行组间进位)
1.进位链:进位信号传递的逻辑结构
进位信号的基本形式:
浮点数加减(每一步写清楚,4-5步)
- 对阶
- 尾数求和
- 规格化并舍入
补码规格化的结果应为00.1´´… ´或11.0´´… ´,即符号位统一,且与尾数第一位相反。有两种情况需规格化:
(1)左规:结果尾数未发生溢出时进行。
条件:运算结果符号与尾数第一位相同,即尾数为11.1 …/00.0 …形式,非规格化数。
方法:尾数左移,一直移到尾数第一位与符号位不同为止。每左移一位,阶码减1。
(2)右规:结果尾数发生溢出时进行。
条件:运算结果向符号位产生进位(尾数加减运算溢出),尾数为10. … 或01. …形式。此时浮点结果不一定溢出。
方法:尾数右移。右移一位,阶码加1。
(3)舍入操作
- “恒舍”:直接截取所需位数,丢弃后面的所有位。
- “0舍1入”:类似于十进制中的“四舍五入”,这种方法可能需要尾数加1,造成尾数溢出,则需再进行右规。
- “恒置1” :无论右移掉的是0还是1,尾数末位置1。
4.判溢出:若阶码有m位(另有符号位)表示范围为:
若E>2m-1, 则上溢,出错——右规和尾数舍入后发生
若E<-2m则下溢,用机器0表示——左规后发生
组合逻辑控制器的基本原理
按时间顺序发送根据指令的要求、当前的时序及外部和内部的状态,按时间发送一系列微操作控制信号。由复杂的组合逻辑门电路和一些触发器构成。微操作控制信号由组合逻辑电路根据当前指令码、状态和时序即时产生。
组合逻辑控制单元框图
微程序控制器与组合逻辑控制器的对比
一条机器指令对应的微程序的执行过程
由于已将机器所有指令对应的微程序放在控制存储器CM中,其一条机器指令对应的微
程序执行过程可描述如下:
1.根据微地址寄存器的内容(通常为0或1),从CM的0号(或1号)单元中读出一条
“取机器指令”微指令,送到微指令寄存器,这是一条公用微指令。该微指令的微命令字段产生有关的控制信号,完成从存储区中取出机器指令送往指令寄存器IR,并修改程序计数器PC的内容。
2.IR中机器指令的操作码通过微地址形成电路形成这条指令对应的微程序入口地址,并
送入微地址寄存器。
3.根据微地址寄存器中的微地址从CM中取出对应微程序的一条微指令,其微命令字段
产生一组微命令控制有关操作;由顺序控制字段形成下一条微指令地址,送入微地址寄存器
重复步骤3,直到该机器指令的微程序执行完。
4.执行完一条机器指令的微程序后,返回到CM的0号(或1号)微地址单元,重复步
骤1,读取“取机器指令”微指令,以便取下一条机器指令
微指令编码方式(作业题有)
1.假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指令公用的。已知微指令长度为32位,请估算控制存储器CM的容量。
2.某微程序控制器中,采用水平直接控制(编码)方式的微指令格式,后继微指令地址由微指令的下地址字段给出。已知机器共有28个微命令,6个互斥的可判定的外部条件,控制存储器的容量为512×40位。试设计其微指令的格式,并说明理由。
3.某机共有微操作控制信号52个,构成5个相斥类的微命令组,各组分别包括5个、8个、2个、15个和22个微命令;可判定的外部条件有CY和ZF两个,微指令字长28位。
(1)按水平型微指令格式设计微指令,要求微指令的下地址字段直接给出后继微指令地址。
(2)控制存储器的容量应为多少位?
4.某机的微指令格式中有10个独立的控制字段C0 ~ C9 ,每个控制字段Ci 有Ni 个互斥控制信号。每个字段Ci 中Ni 的定义为:
(1)若这10个控制字段采用字段直接编码,需要多少控制位?
(2)如果各字段都采用纯水平编码方式(直接控制/不译码法),需要的最大控制位数是多少?
第四章
(简答题)8086/8088指令格式各字节和字段的含义
操作特征部分:
操作码字段OP:规定指令的操作种类及两操作数的来源。若源操作数为立即 数,则第二字节的寻址特征中的REG字段作为辅助操作码
D:方向字段:用来指示源操作数及目的操作数分别由哪个字段确定。
D=1:REG确定目的操作数,MOD、R/M确定源操作数;
D-0: MOD、R/M确定目的操作数,REG确定源操作数,
W:字/字节字段,指出操作数的类型(长度)
W=1,操作数为字
W=0,操作数为字节
寻址特征部分:表示两操作数所使用的寻址方式:
REG确定一个操作数,3位;寄存器字段,确定为寄存器寻址方式,一个操作 数必定在某通用寄存器中,与W字段配合共有16种编码指明寄存器地址
MOD:(寻址方式)字段 R/M:寄存器/存储器字段:共同确定一个操作数,可在 寄存器中亦可在存储器中,两者的编码将确定寻址方式。
MOD=11时,寄存器方式:R/M、W编码指明寄存器地址(与REG、W编码相同) MOD≠11时,存储器方式:MOD、R/M编码给出计算存储器操作数有效地址EA的24种方法;注意:双操作数指令特点:两操作数不能同时在存储器中。
位移量部分:由寻址特征中的MOD、R/M字段决定其有无
若有:disp8,字节位移量,位于指令代码最后一个字节;disp16,字位移量,位于指令代码最后两个字节;若无,则代码中无位移量部分;
立即数部分:源操作数为立即数,则放于第五、六字节。若是8位立即数, 则 占一个字节;若是16位、则占2B。
第五章
汇编、连接、调试的概念
汇编程序设计:顺序、分支、循环程序设计(重点前两个)
顺序
例5-1:试编制程序,计算下列公式的值,并将结果存放 在FUN存储单元中。
F=
其中X,Y,Z的值分别存放在VARX、VARY、VARZ三个字存储单元中,且计算过程的中间值和最后结果仍在16位二进制数的范围内。
例5-2:用查表方法将一位十六进制数(0~9,A~F)转换成它对应的ASCII码。
分支
例:数据段的 ARY 数组中存放有10个无符号数,试找出其中最大者送入MAX单元。
例:编写汇编程序,实现将存储器中的源数据块传送到目的数据块。
例5-4:设数据段中NUM1,NUM2两字节单元中有无符号整数,编程完成下面的操作:
如两数均是偶数,两数加1后分别送入DA1、DA2字节单元;如两数均是奇数,两数分别直接送入DA1、DA2字节单元中;如一个是奇数,一个是偶数,则奇数直接送 DA1字节单元,偶数直接送DA2字节单元。
第六章
存储器的作用(书上有)
按存储器在计算机系统中的作用分类
从体系结构的观点划分,根据存储器是设在主机内还是主机外,存储器分为如下三类
(1)内部存储器
内部存储器(简称内存或主存)是计算机主机的组成部分,用来存储当前运行所需要的序和数据,CPU可以直接访问内存并与其交换信息。相对外部存储器而言,内存的容量较小存取速度快。由于 CPU 要频繁地访问内存,因此内存的性能在很大程度上影响了整个计算机系统的性能。
(2)外部存储器
外部存储器也称辅助存储器或后援存储器,简称外存或辅存。外存用于存放当前不参加运行的程序和数据,以及一些需要永久保存的信息。外存设在主机外部,其容量大,但存取速度相对较慢,CPU 不能直接访问它,而必须通过专门的设备才能对它进行读写(如磁盘驱动器
等 ),这是它与内存之间的一个本质区别。
(3)高速缓冲存储器
高速缓冲存储器(Cache)位于主存和 CPU之间,用来存放正在执行的程序和数据,以便CPU 能高速地访问它们。Cache 的存取速度可以与 CPU 的速度相匹配,但其价格昂贵,存储容量小。目前的微处理器通常将 Cache 或 Cache 的一部分制作在 CPU 芯片中。
RAM和ROM的对比(ppt有)
DRAM芯片刷新周期计算(作业有)
(简答题)存储器的层次结构(两个层次,第一个干什么的,第二个干什么的,有什么用,为什么有这个层次结构)
存储器的层次结构是为了解决存储器速度和容量间的矛盾设计的。不同层次存储器的速度和容量不同,速度越快的存储器容量越小,反之亦然。
Cache与主存之间主要解决速度问题(cpu和主存速度的不匹配),因此通过硬件方法实现(主存速度的更新换代远跟不上CPU的发展,速度差异存在“剪刀差”)
主存与辅存之间主要解决容量问题,因此使用软硬件相结合的方法
Cache与主存使用的是主存储器的地址,也就是实地址(也叫物理地址);主存与辅存构成虚拟存储器,使用的是虚地址(也叫逻辑地址)
存储器设计(存储容量扩展):芯片选取、存储空间分配、芯片地址范围;地址分配、片选逻辑;存储器逻辑图、片选逻辑、数据线、地址线、读写控制。(考试大题,重点看书上例题,课上的的题,作业题)
Cache-主存层地址映射方式(三种,搞清楚三种的区别)
简答题)第七章
I/O编址方式、不同I/O编址方式下进行I/O操作的指令
常用的I/O编址方式有:
1、独立编址(专用的I/O端口编址)----存储器和I/O端口在两个独立的地址空间中
2、统一编址(存储器映像编址)----存储器和I/O端口共用统一的地址空间,当一个地址空间分配给I/O端口以后,存储器就不能再占有这一部分的地址空间
基本I/O控制方式的概念,程序中断方式的过程(中断处理的基本流程)
- 程序直接控制方式:
- 中断驱动方式:
- DMA方式:
程序中断的处理过程通常包括以下几个阶段:
中断请求:当一个外部设备需要处理器的注意时,它会向处理器发送一个中断请求信号。这个信号会被处理器检测到,并在适当的时候对其进行响应。
中断判优:如果有多个中断请求同时到达,处理器会根据预设的优先级规则来决定响应哪一个中断。通常,优先级高的中断会先被处理。
中断响应:处理器确认中断请求后,会暂停当前执行的程序,保存必要的状态信息,以便之后能够恢复。
中断服务:处理器执行对应的中断服务程序,这是一段专门用来处理特定中断的代码。
中断返回:中断服务完成后,处理器会恢复之前暂停的程序,继续执行。
总线概念
总线是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机所传输的信息种类,计算机的系统总线可以划分为 数据总线 、 地址总线 和 控制总线,分别用来传输数据、数据地址和 控制信号。