软件设计师考点—计算机组成原理 计算机中数据的表示 计算机的存储单位 8 bit = 1 Byte 一字节 1024 B = 1 KB 千字节 1024 KB = 1 MB 兆字节 1024 MB = 1 GB 吉字节区分 KB、MB、GB 和 K、M、GK、M、G 为数量单位。1024=1K,1024K=1M,1024M=1G KB、MB、GB 指容量大小。1024B=1KB,1024KB=1MB,1024MB=1GB. 定点数、浮点数 在 IEEE-754 标准中,单精度格式(32 位):符号位(S)1 位;阶码(E)8 位,阶码的偏移量为 127(7FH);尾数(M)23位;2为阶符。 浮点数的一般表示形式为
阶码的长度决定浮点表示的范围,尾数的长度决定浮点表示的精度 工业标准IEEE754浮点数格式中阶码采用移码、尾数采用原码表示 浮点数加减:①对阶操作(小阶变大阶) ②尾数加减 结果规格化 舍入处理(判定溢出)。 参考 浮点数的加减法运算过程详解 原码、反码、补码 原码:最高位为符号位,0代表正数,1代表负数,非符号位为该数字绝对值的二进制表示。 反码:正数的反码与原码一致,负数的反码是对原码按位取反,只是最高位(符号位)不变。 补码:正数的补码与原码一致;负数的补码是该数的反码加1。 移码 在补码的基础上,符号位取反
8位二进制数的取值范围 原码 [1111 1111 , 0111 1111] , 即 [-127 , 127]。 反码 [1000 0000 , 0111 1111] , 即 [-127 , 127]。 补码 [1000 0000 , 0111 1111] , 即 [-128 , 127]。 移码 取值范围和 补码一样 +0和-0的原码、反码都不相同。而在补码中,+0和-0的补码是一致的,都是00000000,所以多出的那一位 ( 1000 0000 ) ,就被约定用来表示 -128 奇偶检验码、海明码、循环冗余检验吗 海明码:假设数据位有 n 位,检验位有 k 位。n 和 k 满足
小白鼠与毒药解题过程 海明码 循环冗余校验码: 两幅图学会CRC 主存储器 基本概念 位:存储信息的最小单位,称为存储位或存储。 存储单:由若干个存储组成的一个编址单。 存储体:许多个存储单集合在一起形成了一个存储体,它是存储器的核心部件,计算机调用的信息就是存放在存储体中。 存储单地址:给存放在存储体中的各个存储单编号,这个编号就是该存储单的地址。有的按字编址,有的按字节编址。 字:在计算机中,一串数码作为一个整体来处理或运算的,这组二进制数称为一个计算机的“字” 字长:字长通常指的是ALU一次操作可以处理的最大数据长度,字这个概念应该说是建立在字长这个概念之上,所以字的长度和字长是一样的。如果这个字长没有特别说明,通常就是指机器字长,机器字长=CPU中寄存器的大小。32位CPU指的是在同一时间内可以处理字长为32位的二进制数据,一般来说计算机的数据线的位数和字长是相同的。这样从内存数据后,只需要一次就能把数据全部传送给CPU。 存储字长:指的是存储单的位数 存储容量:是指主存存放二进制代码的总,即:存储容量=存储单个数×存储字长。如 它的容量也可用数来表示,即:存储容量=存储单个数×存储字长/8。 目前的计算机存储容量大多以字节数来表示,例如,某机主存为1GB,则按字节寻址的地址线位数应对应32位。 寻址范围:地址总线的数量决定了他最大的寻址范围。就目前来说一般地址总线的位数和字长相同。比如32位计算机拥有32为数据线和32为地址线,最大寻址范围是4G(
)。当然也有例外,Intel的8086是16为字长的CPU,采用了16位数据线和20位数据线。 内存编址 不同的计算机,存储器的编址方式是不同的,主要有和。 按字编址,就是说将主存中的空间以字长为单位进行分割,对每个这样分出来的一块给一个地址编号。同理,按字节编址是按字节(8bit)为单位划分主存空间的 指令 指令(又称机器指令),是指示计算机执行某种操作的命令,是计算机运行的最小功能单位。一台计算机的所有指令的集合构成该机的指令系统,也称为指令集。 一条指令通常要包括操作码字段和地址码(也称操作数)字段两部分。
操作码指出了这条指令的功能(停机中断,求反求补,加减乘除)。地址码指出了这条指令操作的对象 或 这个操作对象的地址。 操作的类型 数据传送LOAD作用:把存储器中的数据放到寄存器中STORE 作用:把寄存器中的数据放到存储器中 算术逻辑操作算术:加、减、乘、除、增1、减1、求补、浮点运算、十进制运算逻辑:与、或、非、异或、位操作、位测试、位清除、位求反 移位操作算术移位、逻辑移位、循环移位(带进位和不带进位) 转移操作无条件转移JMP条件转移JZ,结果为0;J0,结果溢出;JC,结果有进位调用和返回CALL和RETURN陷阱(Trap)与陷阱指令 输入输出操作CPU寄存器与IO端口之间的数据传送(端口即IO接口中的寄存器) 寻址方式 指令寻址:找出下一条待执行指令的指令地址。(由程序计数器pc决定) 顺序寻址(PC)+1→PC (程序计数器每次递增一) 跳跃寻址 由转移指令指出 数据寻址:确定本条指令的操作数地址
找到这条指令操作数的方式有很多。有立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址加变址寻址方式,相对基址加变址寻址 等等。所以要在指令中加一个寻址特征位来指定的寻址方式。
立即寻址:形式地址A就是操作数本身,又称为立即数,一般采用补码形式。指令执行阶段不访问主存,指令执行时间最短。A的位数限制了立即数的范围。如A的位数为n,且立即数采用补码时,可表示的数据范围为
。 直接寻址:指令字中的形式地址A就是操作数的真实地址EA,即EA=A。
优点:简单,指令执行阶段仅访问一次主存,不需专门计算操作数的地址。 缺点:A的位数决定了该指令操作数的寻址范围。由于形式地址存放的是操作数的真实地址,操作数的地址不能轻易修改。 间接寻址:指令的地址字段给出的形式地址不是操作数的真正地址,而是操作数有效地址所在的存储单的地址,也就是操作数地址的地址,即EA=(A)。
间接寻址可能是一次,也可能是两次。我们可以在存储单多加一位,如果是1,则表示存储的是地址要继续寻址。如果存储的是0,,则表示存储的是操作数。 优点:可扩大寻址范围(有效地址EA的位数大于形式地址A的位数)。便于编制程序(用间接寻址可以方便地完成子程序返回)。 缺点:指令在执行阶段要多次访存(一次间址需两次访存,多次寻址需根据存储字的最高位确定几次访存) 寄存器寻址:在指令字中直接给出操作数所在的寄存器编号,即EA=R,其操作数在由R所指的寄存器内
优点:指令在执行阶段不访间主存,只访问寄存器,指令字短且执行速度快,支持向量/矩阵运算。 缺点:寄存器价格品贵,计算机中寄有器个数有限。 寄存器间接寻址:寄存器R中给出的不是一个操作数,而是操作数所在主存单的地址,即EA=(R)
隐含寻址:不是明是地给出操作数的地址,而是在指令中隐含着操作数的地址。(如甲方指令)
加法指令 优点:有利于缩短指令字长。 缺点:需增加存储操作数或隐含地址的硬件。 指令流水线 一条指令的执行过程可以分成多个阶段(或过程)。根据计算机的不同,具体的分法也不同。
取指:根据PC内容访问主存储器,取出一条指令送到IR中。 分析:对指令操作码进行译码,按照给定的寻址方式和地址字段中的内容形成操作数的有效地址EA,并从有效地址EA中取出操作数。 执行:根据操作码字段,完成指令规定的功能,即把运算结果写到通用寄存器或主存中。 流水线的类型 设取指、分析、执行3个阶段的时间都相等,用 t 表示,按以下几种执行方式分析n条指令的执行时间。 顺序执行方式
总耗时
优点:控制简单,硬件代价小。缺点:执行指令的速度较慢,任何时刻,处理机中只有一条指令在执行,各功能部件的利用率很低 二次重叠执行方式
总耗时
优点:与顺序执行方式相比,指令的执行时间缩短近2/3。这是一种理想的指令执行方式,在正常情况下,处理机中同时有3条指令在执行。缺点:需要付出硬件上较大开销的代价,控制过程也比顺序执行t复杂了。也可以把每条指令的执行过程分成4个或5个阶段,分成5个阶段是比较常见的做法。 指令执行表示方式 指令执行过程图
(随着指令数的增加,会越画越高) 时空图
(随着指令数的增加,会越画越长) 流水线的性能指标 操作周期 操作周期取决于基本操作时间最长的一个。设某流水线技术分为n个基本操作,操作时间分别是
操作周期为
吞吐率 是指在单位时间内流水线所完成的任务数量,或是输出结果的数量。 设任务数为n,处理完成n个任务所用的时间为
则计算流水线吞叶率(TP)的最基本的公式为
理想情况下,流水线的时空图如下:
一条指令的执行分为k个阶段,每个阶段耗时
,一般取
= 一个时钟周期。 根据上图吞吐率的公式可以表示为
当连续输入的任务
时,得最大吞吐率为
(表示一个时钟周期,执行一条指令) 加速比 完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比。 设
表示不使用流水线时的执行时间,即顺序执行所用的时间,
表示使用流水线时的执行时间,则计算流水线加速比的基本公式为
。 当连续输入的任务
时,得最大加速比为
效率 流水线的设备利用率称为流水线的效率。 在时空图上,流水线的效率定义为完成n个任务占用的时空区有效面积与n个任务所用的时间与k个流水段所围成的时空区总面积之比。
为方便流水线的设计,将每个阶段的耗时取成一样,以最长耗时为准。即此处应将机器周期设置为100ms。 例题:
总线 总线是一组能为多个部件提供分时共享公共信息的传送线路。
总线的分类 按数据传输格式:串行总线 和 并行总线 按总线功能:片内总线(内部总线)、系统总线、通信总线(外部总线) 按时序控制方式:同步总线、异步总线 片内总线 片内总线是芯片内部的总线。是CPU芯片内部寄存器与寄存器之间、寄存器与ALU之间的公共连接线。 系统总线 系统总线是计算机系统内各功能部件(CPU、主存、I/O 接口)之间相互连接的总线。按系统总线传输信息内容的不同,又可分为3类:数据总线、地址总线和控制总线。 传输各功能部件之间的数据信息,包括指令和操作数;位数(根数)与机器字长、存储字长有关(双向)。 传输地址信息,包括主存单或I/O端口的地址;位数(根数)与主存地址空间大小及设备数量有关。因为寻址即包括主存的地址,也包括外设的地址(单向)。 传输控制信息;一根控制线传输一个信号;出:cPU送出的控制命令;入:主存(或外设)返回CPU的反馈信号。
通信总线 通信总线是用于许算机系统之间或计算机系统与其他系统(如远程通信设备、测试设备)之间信息传送的总线,通信总线也称为外部总线。 总线标准 总线标准是国际上公布或推荐的互连各个模块的标准,它是把各种不同的模块组成计算机系统时必须遵守的规范。按总线标准设计的接口可视为通用接口,在接口的两端,任何一方只需根据总线标准的要求完成自身方面的功能要求,而无须了解对方接口的要求。 系统总线标准:1SA、E1SA、YSA、ICI、PCI-Express等。 设备总线标准:1DE、AGlP、RS-232C、USB、SATA、551、IKMCIA等。设备总线,亦称扩展总线,用于系统IO扩充。 局部系线标准:如PCI、lPC1-E、VESA、AGP等,可以节省系统的总带宽。扩充总线不能满足高性能设备(图形、视频、网络)接口的要求,在系统总线与扩充总线之间插入一层总线。
输入输出系统 I/O 的方式 程序查询方式
优点:接口设计简单、设备量少。缺点:CPU在信息传送过程中要花费很多时间用于查询和等待,而且在一段时间内只能和一台外设交换信息,效率大大降低。 中断方式 程序中断是指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序。
中断的分类
中断请求标记 每个中断源向CPU发出中断请求的时间是随机的。 为了记录中断事件并区分不同的中断源,中断系统需对每个中断源设置中断请求标记触发器INTR,当其状态为“1”时,表示中断源有请求。 这些触发器可组成中断请求标记寄存器,该寄存器可集中在CPU中,也可分散在各个中断源中。
对于外中断,CPU是在统一的时刻即每条指令执行阶段结束前向接口发出中断查询信号,以l/O的中断请求,也就是说,CPU响应中断的时间是在每条指令执行阶段的结束时刻。 CPU响应中断必须满足以下3个条件:中断源有中断请求。CPU允许中断。一条指令执行完毕,且没有更紧迫的任务。 DMA 在DMA方式中,当I/设备需要进行数据传送时,通过DMA控制器(DMA接口)向CPU提出DMA传送请求,CPU响应之后将让出系统总线,由DMA控制器接管总线进行数据传送。
中断的方式,可省去等待 I/O的时间,但是每准备好一个数据都要中断cPU,由CPU运行中断服务程来完成一次传送。 而 DMA则接管了 等待 I/O 和数据传输的的功能,CPU 无需参与这两个步骤。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/69957.html