考研计组全篇回顾和总结

常见概念总结

  1. 数据总线:数据总线数据总线是CPU与存储器、CPU与I/O接口设备之间传送数据信息(各种指令数据信息)的总线,存储器的字长即为数据总线宽度,一次能够传输的二进制位数
  2. 地址总线:地址总线的宽度决定内存容量大小,例如32根地址线,则内存大小为4G
  3. 控制总线:英文名称:ControlBus,简称:CB。控制总线主要用来传送控制信号和时序信号。控制信号中,有的是微处理器送往存储器和输入输出设备接口电路的,如读/写信号,片选信号、中断响应信号等;也有是其它部件反馈给CPU的,宽度通常由寄存器个数决定
  4. 时钟周期:计算机运行程序时间的最基本单位,例如主频2.5GHz,则其倒数为一个时钟周期
  5. 机器周期:包含多个时钟周期
  6. 指令周期:包含多个机器周期
  7. 存取周期:它是指存储器进行一次完整的读写操作所需的全部时间,存取周期包括存取时间+恢复时间
  8. 程序计数器位数:取决于存储器的容量,因为程序计数器是需要到存储器(内存)中访问数据,所存的内容为存储器的地址,例如存储器一个存储单元为32bit,存储容量为64KB,则总共有16K个存储单元,16K可以由14根线译码得到,因而程序计数器的位数为14
  9. 指令寄存器位数:取决于指令字长,指令寄存器专门存放指令,因而指令中二进制位数即指令寄存器位数
  10. 通用寄存器位数:取决于机器字长,由于通用寄存器中通常存放操作数和地址信息,因而与机器字长相等
  11. 存储字长:一个存储单元中存储的二进制代码长度(存储矩阵中的一行大小)
  12. 机器字长:计算机能够直接处理的二进制数据的位数,一般等于内部寄存器的大小,决定计算机的运算精度,数据总线的宽度
  13. 指令字长:一条指令中包含的二进制代码位数
  14. 存储字长、机器字长、指令字长都必须是字节的整数倍,便于存取操作
  15. 指令字:一条指令的机器字(应该就是二进制代码吧)
  16. 微程序:一条指令对应一个微程序,微程序包含多条微指令
  17. 微指令:微指令包含多条微命令,微命令是执行微操作所对应的信号

模拟计算机信息交互过程

  1. 把程序和数据装入主存储器
    https://blog.csdn.net/qq_42146775/article/details/84293723
  2. 从程序的首地址开始运行程序
  3. 程序的首地址放在IR指令寄存器中,分析其中的操作码判断具体操作,指令中地址码寻址方式分为隐含寻址(操作数在ACC中)、立即寻址(也成为立数寻址,地址码给出的不是操作数地址而是操作数本身)、直接寻址(地址码为操作数的真实地址EA=A,A为地址码),间接寻址(地址码存放的为操作数所在单元的地址,即(A)为操作数的地址)、寄存器寻址(在指令字中直接给出寄存器编号,EA=R)、寄存器间接寻址(寄存器R中给出的不是操作数,而是操作数所在的主存单元的地址,EA=(R),相对寻址(把程序计数器PC的内容加上指令格式中的形式地址A,EA=(PC)+A,A为当前地址的位移量,可正可负,补码表示),基址寻址(cpu中的基址寄存器的内容加上指令格式中的形式地址A,EA=(BR)+A,基础寄存器的内容不变,最为基地址),变址寻址(变址寄存器IX,EA=(IX)+A,A作为偏移量不发生变化,IX中的内容进行调整,适合数组中任一数据的地址,循环程序中)
  4. 一个程序包含若干机器指令,一条机器指令对应一个微程序,微程序中包含若干个微指令,其中一条指令可以划分成为取值、分析、执行多个阶段,因而可以采用流水线的方式执行这些指令,并行的运行这些指令,从而来缩短执行时间。
  5. CPU取指令首先将PC中的指令地址传送到MAR中(寄存访问内存的地址,存储器地址寄存器),cpu访问主存,需要CU(cpu中的控制单元 control unit)发出控制信息 ,cpu获得总线的控制权,首先访问cache(或同时访问cache和主存,若cache未命中则将主存内容直接写回cpu或者写入cache,再写回cpu),根据映射方式分析主存的地址,直接映射(地址格式:主存字块标记 Cache字块地址 字块内地址),全相联映射(地址格式:主存字块标记 字块内地址),组相联映射(地址格式:主存字块标记 组地址 字块内地址),找到对应的内容之后,再通过数据总线传输到MDR(存储器数据寄存器)中,MDR中的内容即指令内容,MDR的内容通过总线传输到IR指令寄存器中,再进行下步操作。
  6. 在程序执行过程中会出现人为中断,或者是内中断的情况,I/O方式包括三种,程序查询方式,程序中断方式,DMA方式,其中程序查询方式是当I/O请求发出之后,CPU需要不断的发送请求,查看IO设备是否准备就绪,准备完成之后才能开始传输数据,同时I/O一旦启动,程序必须终止,cpu需要花费大量的时间来检查IO是否准备就休,效率较低;程序中断方式,cpu在指令执行过程中,统一在每条指令的结束阶段向IO接口发出请求,如果有中断请求,则响应中断请求,cpu执行中断隐指令(实际上全由硬件完成),关中断、保存断点、引出中断服务程序是中断隐指令做的事情,接下来进入到中断程序中,首先需要保护现场和屏蔽字,开中断(用于响应更高级的中断请求),执行、关中断,恢复现场和屏蔽字,开中断,中断返回,屏蔽字的功能用于多重中断,优先级别高的中断源可以屏蔽中断源优先级低的请求。DMA方式是通过与CPU建立直接的通信,包括预处理、数据传送、后处理,DMA在后处理和预处理阶段才会用到CPU,数据传输则不用,传输方式可以字节、块为单位,因而在大规模数据传输时,DMA方式能够大大减少对CPU的依赖。中断方式是请求cpu的使用权,DMA方式则是请求总线的控制权。
  7. 用上述取到的指令计算出下步指令,知道程序结束。

计算机引入相关部件的原因

  1. 在存储器中,初始模型为cpu-主存-外存的模型,为解决存储系统大容量、高速度、低成本的相互制约矛盾,计算机开始采用多级存储器,速度最快的为cpu,依次是寄存器、cache、主存、磁盘、磁带和光盘,速度依次降低,价格也逐步降低,但容易逐步增大,cache-主存的层次是为了解决cpu与主存速度不匹配问题,主存-辅存是为了解决存储系统的容量问题。
  2. 主存容量的拓展包括位扩展、字扩展法、字位同时扩展法,利用有限的存储芯片扩展出更大的容量的存储容量,由于cpu数据位固定,不需要进行片选,一对一,cpu要实现对内存的访问需要选择访问哪块芯片,因而需要进行片选,片选方式包括两种,一是线选法,一对一,cpu的一个地址端口对应一个芯片,优点是接线方便,不需要地址译码器,缺点是浪费cpu地址端口,地址且存在不连续的情况;二是译码片选法,采用译码器,例如cpu三个多出来的地址端口,通过译码可以对应8个存储芯片,地址连续且地址利用率高。
  3. 为提高cpu访问存储器的速度,可以采用双端口存储器、多模块存储器,属于并行技术,前者是空间并行,后者是时间并行。双端口存储器是一个存储器有左右两个独立的端口,分别具有相互独立的地址线和数据线以及读写控制线,允许两个独立的控制器同时异步的访问存储单元,若同时对同一地址写入数据则会报错、对同一地址进行写入和读取也会报错。多模块存储器包括两种,一是单体多字存储器,特点是只有一个存储器中只有一个存储器,每个存储单元存储m字,一次并行读出m字,地址必须顺序排列并处于同一存储单元,即在一个存取周期中,能够从同一个地址中读取m条指令,增大存储器的带宽,缺点在于指令和数据必须连续存放,否则没什么效率提升。二是多体并行存储器,每个模块具有相同的容量和存取速度,模块都有独立的读写控制电路、地址寄存器、数据寄存器,既能并行也能交叉,多体并行存储器分为高位交叉编址、低位交叉编址,高位交叉编址高位为体号(即模块号),低位为体内地址,一个模块地址依次为1 2 3 4…n,第二个模块为n+1 n+2…依次排列,属于顺序存储器,低位交叉编址则是低位体号,高位地址,(n个模块)第一个模块地址为1,n+1,2n+1…第二个为2,n+2,2n+2,采用流水线的方式并行存取(因为存取数据在进入第一个模块后,第二个数据在第二个模块,可以直接进行访问,因而可以并且,采用流水线),注意的是:模块数>=存取周期/总线传输周期(若小于这个数字则会出现第一个模块还未结束,流水线中又需要再次访问第一个模块)
  4. 虚拟存储器具有主存的速度和辅存的容量,提高存储系统的性价比,虚拟存储器将主存和辅存统一编址,不必在乎实际的主存容量和程序在主存中的实际位置。虚拟存储器包括页式虚拟存储器,段式虚拟存储器,段页式虚拟存储器,页式虚拟存储器的页面大小固定,最后一页的零头容易造成浪费,段式虚拟存储器长度可变,因而容易留下空间碎片,段页式虚拟存储器需要先从段表中取出页表起始地址,再与虚地址段内页号合成,得到页表地址,然后再从页表中取出实页号,再进行拼接形成主存实地址,两次查表,耗费较大。
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值