计算机组成原理基础知识(简答版)

1. 说明计算机系统的层次结构。

  • 常见的五级计算机系统层次结构

    分别是

    • 高级语言机器,高级语言由编译程序翻译成汇编语言
    • 汇编语言机器,汇编语言由汇编程序翻译成机器语言
    • 操作系统机器,机器语言解释操作系统
    • 软硬件分界
    • 机器语言机器,微程序解释机器指令
    • 微指令系统,硬件执行微指令

2. 说明冯诺依曼体系结构的特点。

  • 五大部件:运算器,存储器,控制器,I/O设备
  • 运算器为中心
  • 指令和数据用二进制表示,同等地位存于存储器
  • 指令由操作码和地址码组成,顺序执行

3. 什么是机器字长、指令字长、存储字长?

  • 机器字长:CPU一次能处理的数据位数,与寄存器位数有关
  • 指令字长:计算机指令所占用的位数,取决于操作码长度,操作码地址长度和个数
  • 存储字长:MDR一个存储单元存储的二进制代码的位数

4.系统总线包括哪三类?起到什么作用?

分为数据总线,地址总线,控制总线

  • 数据总线:传输数据信息
  • 地址总线:数据地址或设备地址
  • 控制总线:发出控制信号

5. 总线判优控制是解决什么问题的?总的来说可以分为哪两种方式?

总线判优控制解决多个部件同时申请总线时的总线使用权分配问题

分为集中式和分布式

6. 集中式总线控制优先权仲裁方式有哪三种?各有什么特点?

集中式总线控制优先权仲裁方式有链式查询,计时器定时查询,独立请求三种

  • 链式查询:结构简单,易于扩充设备;电路故障敏感,优先级固定
  • 计时器定时查询:优先级设置灵活,对电路故障不那么敏感;控制较复杂
  • 独立请求方式:响应时间快,优先次序灵活;控制逻辑复杂

7. 简述总线周期的4个阶段。

总线周期分为申请分配,寻址,传数,结束四个阶段

  • 申请分配:主模板申请总线使用,总线仲裁机构将总线使用权给某一申请者。

  • 寻址:主模块通过总线发出本次要访问的从模块(或从设备)的地址及有关命令,启动从模块。

  • 传数:主模块和从模块进行数据交换

  • 结束:从总线撤除主模板信息,让出总线使用权

8. 总线通信控制是解决什么问题的?总的来说有哪几种控制方式?各自的特点是什么?

总线通信控制主要解决通信双方如何获知传输开始和结束,协调配合的问题

总的有同步通信,异步通信,半同步通信,分离式通信四种控制方式

  • 同步通信:统一时标,强制性同步
  • 异步通信:允许各模块速度的不一致性,采用应答方式(握手方式)
  • 半同步通信:同步异步结合
  • 分离式通信:各模板需要申请,限定时间同步传送信息,准备数据不占用总线,控制复杂

9. 串行传输和并行传输有何区别?各适用于什么场合?

  • 串行传输:

    • 数据在单条 1 位宽的传输线上,一位一位地按顺序分时传送。
    • 成本低,速度慢,适合远距离数据传输。
  • 并行传输:

    • 数组在多条并行 1 位宽的传输线上,同时由源传送到目的地。
    • 成本高,速度快,适合近距离数据传输

10.试比较RAM和ROM。

  • RAM:随机存取存储器,可读可写,常用于主存。
  • ROM:只读存储器,在程序执行过程中只能将内部信息读出,不能随意写入。

11. 从实现技术的角度,试比较SRAM和DRAM。

  • SRAM:用触发器工作原理存储信息,断电易失信息,不需要刷新,速度快成本高
  • DRAM:用电容存储电荷原理寄存信息,需要刷新,集成度高,功耗高,速度较慢

12. 存储芯片内的地址译码方式有几种?各自特点及应用场合?

有线选法和重合法两种

  • 线选法:一根字选择线选中一个存储单元,结构简单,用于容量不大的存储芯片
  • 重合法:二维地址译码,由行列地址译码器共同选中一个存储单元,结构复杂,用于大容量存储芯片

13. 什么是动态RAM的刷新?刷新有几种方式?简要说明之。

刷新的过程实质上是先将原存信息读出,再由刷新放大器形成原信息并重新写入的再生过程,或者说是对 DRAM 定期进行的全部重写过程,一次刷新一行

  • 集中刷新:规定刷新周期,集中刷新,存在“死区”
  • 分散刷新:每行刷新分散到每个存取周期,存取周期长,系统速度降低
  • 异步刷新:结合集中刷新和分散刷新,缩短“死区”,充分利用最大刷新间隔为2ms
  • 将刷新安排在CPU对指令的译码阶段

14. 存储容量扩展有哪几种方法?

有位扩展,字扩展和字位扩展三种

  • 位扩展:增加存储字长,两片1K4位组成一片1K\8位
  • 字扩展:增加存储器字的数量,两片1K8位组成2K\8位
  • 字位扩展:既增加存储字的数量,又增加存储字长

15. 使用汉明码进行校验时,需要增加k位检测位,且k位的检测位和n位的待检测二进制代码位之间要满足什么关系?为什么?

  • 2^k ≥ n+k+1
  • 为了能准确对错误定位以及指出代码没错

16. 已知收到的海明码为0100111(按配偶原则配置),试问欲传送的信息是什么?

  • P1 = 1⊕3⊕5⊕7 = 0
  • P2 = 2⊕3⊕6⊕7 = 1
  • P4 = 4⊕5⊕6⊕7 = 1
  • P4P2P1 = 110
  • (110)2=6->第六位出错,纠正为 0100101,故要求传送的信息为 0101

17. 什么是多体并行存储器?有哪两种存储体编址方式,各自有什么特点?

  • 多体并行系统就是采用多体模块组成的存储器。每个模块有相同的容量和存取速度,各模块各自都有独立的地址寄存器(MAR)、数据寄存器(MDR)、地址译码、驱动电路和读/写电路,他们能并行工作,又能交叉工作。
  • 两种存储体编址方式:高位交叉编址地位交叉编址
  • 高位交叉:高位表示体位,低位表示体内地址,顺序存储
  • 低位交叉:低位地址表示体位,高位地址为体内地址模M编址,交叉存储

18. Cache、主存和辅存构成的三级存储系统分别的目的是什么?设计依据是?

Cache-主存层次

  • 解决 CPU 和主存速度不匹配的问题
  • 依据:
    • 程序访问的局部性原理
    • 缓存的速度比主存的速度高

主存-辅存层次:

  • 解决存储系统的容量问题
  • 依据
    • 辅存的速度比主存的速度低,而且不能和 CPU 直接交换信息,但它的容量比主存大得多,可以存放大量暂时未使用得信息。

19. 请简述Cache的基本工作原理。

  • 主存和缓存按块存储,且块的大小相同,任何时刻都有一些主存块处在缓存块
  • CPU欲读取主存某字时,若所需字已在缓存中,直接访问Cache;
  • 若不在Cache内,将该字所在的主存整个字块一次调入Cache中进行访问。

20. 试比较主存-Cache管理中三种地址映射的方法,并分别给出在三种地址映射下,主存地址划分。

  • 直接映射:每个主存块只能和一个缓存块对应,每个缓存块可以和若干个主存块对应。

    • | 主存字块标记 | Cache字块地址 | 字块内地址 | | ------------ | ------------- | ---------- | | t位 | c位 | b位 |
  • 全相联映射:主存中的任一块可以映射到缓存中的任一块

    • | 主存字块标记 | 字块内地址 | | ------------ | ---------- | | m=t+c位 | b位 |
  • 组相联映射:某一主存块按模Q映射到缓存的某组中的任一块

    • | 主存字块标记 | 组地址 | 字块内地址 | | ------------ | ------- | ---------- | | s=t+r位 | q=c-r位 | b位 |

21. Cache-主存间的替换策略有哪些,请简述。

  • 先进先出(FIFO)算法:选择最早调入Cache的字块进行替换。
  • 近期最少使用(LRU)算法:利用访存局部性原理,替换出近期用的最少的字块。
  • 随机法:随机地选择被替换的块。

22. 发生主存写请求时,如何保证Cache和主存的一致性?

  • 写直达法:写操作时数据既写入Cache又写入主存,随时保证主存和Cache的数据始终一致。
  • 写回法:写操作时只把数据写入Cache而不写入主存,当Cache数据被替换出去时才写回主存

23. 影响Cache-主存层平均访问时间的因素有哪些?如果降低平均访存时间,可以怎么办?

  • 因素:访问Cache的时间、失效率、失效开销
  • 强制性失效:增加块大小、预取
  • 容量失效:增加容量
  • 冲突失效:提高相关联

24. I/O地址码的编制方式有哪两种?

  • 统一编码:将I/O地址看作存储器地址的一部分
  • 不统一编码: I/O 地址和存储器地址是分开的

25. I/O与主机交换信息有哪几种控制方式?各有何特点?

程序查询方式CPU和I/O串行工作,踏步等待

程序中断方式:CPU和I/O并行工作,没有踏步等待现象,进行中断现行程序

DMA方式:CPU和I/O并行工作,主存和I/O之间有一条直接数据通道,不中断现行程序,周期挪用(周期窃取)方式。

26. I/O接口有什么作用。

  1. 选择设备
  2. 数据缓冲达到速度匹配
  3. 数据串-并格式转换
  4. 电平转换
  5. 传送控制命令
  6. 反应设备的状态

27. 程序查询方式和程序中断方式都由程序实现外围设备的输入输出,它们有何不同?

  • 程序查询方式通过“程序”传送数据时,程序对I/O的控制包括了I/O准备和I/O传送两段时间。由于I/O的工作速度比CPU低得多,因此程序中要反复查询I/O的状态,造成“踏步等待”,严重浪费了CPU的工作时间
  • 程序中断方式虽然也是通过“程序”传送数据,但程序仅对I/O传送阶段进行控制,故CPU此时照样可以运行现行程序,与I/O并行工作,大大提高CPU的工作效率。

28. 以I/O设备的中断处理过程为例,说明一次程序中断的全过程。

中断请求、中断判优、中断响应、中断服务、中断返回

  • 由CPU发出启动 I/O 设备指令
  • 接口启动输入设备开始工作
  • 输入设备将数据送入数据缓冲寄存器
  • 输入设备向接口发出“设备工作结束”信号,标志设备准备就绪
  • 当设备准备就绪(D=1),且本设备未被屏蔽(MASK=O)时,在指令执行阶段的结束时刻,由 CPU 发出中断查询信号
  • 设备中断请求触发器 INTR 被置为“1”',标志设备向 CPU 提出中断请求。与此同时,INTR 送至排队器,进行中断判优
  • 若 CPU 允许中断(EINT=1),设备又被排队选中,即进入中断相应阶段,由中断响应信号 INTA 将排队器输出送至编码器形成向量地址
  • 向量地址送至 PC,作为下一条指令的地址
  • 由于向量地址中存放的是一条无条件转移指令,故这条指令执行结束后即无条件转至该设备的服务程序入口地址,开始执行中断服务程序,进入中断服务阶段,进行数据交换
  • 中断服务程序的最后一条指令是中断返回指令,当其执行结束后,即中断返回至原程序的断点处。
  • 至此,一个完整的程序中断处理过程即告结束

29.在DMA方式中有没有中断请求,为什么?DMA接口电路中应设置哪些硬件。

有。当字计数器溢出(全为0)时,由“溢出信号”通过中断机构向CPU提出中断请求,表示数据交换完毕,请求CPU作DMA操作的后处理,。

主存地址寄存器(AR),字计数器(WC),数据缓冲寄存器(BR),

DMA控制逻辑,中断机构,设备地址寄存器(DAR)。

30. DMA方式中的中断请求和程序中断中的中断请求有何区别?

  • DMA方式中的中断请求是为了报告一批数据传送结束
  • 程序中断中的中断请求是为了数据的交换

31. DMA和主存交换数据时有哪三种方法?分别简述。

  • 停止CPU访问主存:当外设要求传送一批数据时,由DMA接口向CPU发一个停止信号,要求CPU放弃地址线、数据线和有关控制线的使用权。
  • 周期挪用(周期窃取):每当I/O设备发出DMA请求时,I/O设备便挪用或窃取总线占用权一个或几个主存周期,而DMA不请求时,CPU仍继续访问主存。
  • DMA和CPU交替访问:将一个CPU周期分为C1和C2两个分周期,其中C1专供DMA访问,C2专供CPU访问。

32.简述DMA的工作过程。

  1. 预处理:通过几条输入输出指令通知DMA控制逻辑传送方向,设备地址,主存地址,传送字数
  2. 数据传送:若允许传送,则主存地址送总线,数据送I/O设备(或主存),修改主存地址,修改字计数器。若数据传送接送,则向CPU申请程序中断
  3. 后处理:中断服务程序做DMA结束后处理。

33. DMA接口的类型有哪几种?

  • 选择型DMA接口、多路型DMA接口。

34. 说明浮点加/减法运算步骤。

  1. 对阶:小阶向大阶看齐
  2. 尾数相加减
  3. 尾数规格化
  4. 尾数舍入
  5. 阶码判溢出

35.说明浮点乘/除法运算的基本步骤。

  1. 阶码采用定点加减运算
  2. 尾数乘数同定点运算
  3. 尾数规格化
  4. 尾数舍入
  5. 阶码判溢出

36. 试比较基址寻址和变址寻址,并举例说明其适用的场合。

  • 基址寻址:操作数的有效地址EA等于指令字中的形式地址与基址寄存器中的内容(称为基地址)相加。基址寄存器的内容由操作系统确定,在程序执行过程中内容不变。在多道程序中极为有用。
  • 变址寻址:有效地址EA等于指令字中的形式地址A与变址寄存器IX的内容相加。变址寄存器的内容由用户给定,在程序的执行过程中IX内容可变,形式地址A不变。便于处理数组问题

37. 任意写出五种寻址方式,令EA为有效地址,A为形式地址,写出这五种寻址方式计算有效地址的表达式。

  • 立即寻址:A是操作数本身
  • 直接寻址:EA = A
  • 隐含寻址:隐含在操作码或某个寄存器中
  • 间接寻址:EA = (A)
  • 寄存器寻址:EA = R
  • 寄存器间接寻址:EA = (Ri)
  • 基址寻址:EA = A + (BR)
  • 变址寻址:EA = A + (IX)
  • 相对寻址:EA = (PC) + A
  • 堆栈寻址:EA=(SP)

38. 指令中有哪些字段?各有何作用?如何确定各字段的位数?

  • 指令通常由操作码和地址码组成,同时因为数据寻址方式种类较多,中必须设一字段来指明属千哪一种寻址方式,所以指令也可以分为操作码字段、寻址特征字段和地址码字段

  • 操作码指明该指令所要完成的操作

  • 地址码指出该指令的源操作数的地址(一个或两个)、结果的地址以及下一条指令的地址
  • 寻址特征字段指明属于哪一种寻址方式

39. RISC和CISC指令系统各自的特点。

  • RISC的主要特点:

    • 选用使用频度较高的一些简单指令,复杂指令的功能由简单指令来组合。
    • 指令长度固定、指令格式种类少、寻址方式少
    • 只有LOAD/STORE指令访存
    • CPU中有多个通用寄存器
    • 采用流水技术一个周期内完成一条指令
    • 采用组合逻辑实现控制器
    • 采用优化的编译程序
  • CISC的主要特点:

    • 系统指令复杂庞大,各种指令使用频度相差大
    • 指令长度不固定、指令种类多、寻址方式多
    • 访存指令不受限制
    • CPU中设有专用寄存器
    • 大多数指令需要多个时钟周期执行完毕
    • 采用微程序控制器
    • 难以用优化编译生成高效的目的代码

40. 请简述MIPS指令系统的R型、I型和J型指令格式,并举出指令实例。

  • 寄存器指令(R型指令)
    • 操作数(6bits),两个源操作数寄存器(5bits共10bits),目的寄存器(5bits),位移量(shamt)(5bits),功能(6bits)。一般R型指令op为000000,由funct决定操作种类
    • add,sub
  • 立即数指令(I型指令)
    • 操作数(6bits),源操作数寄存器(5bits),目的寄存器(5bits),constant or address(16bits)
    • lw,sw,bne
  • 跳转指令 (J型指令)
    • J 型除了6位操作码之外,其余位都是地址字段
    • j

41. 在MIPS指令子集实现的时候,如何从单周期数据通路构造流水线?

将单周期数据通路分为IF,ID,EX,MEM,WB五段,并在每两段之间加入流水寄存器

42. 流水线中有哪三种冒险?请简述,并至少举出一种解决冒险的方法。

  • 结构冒险:需要的资源被占用(硬件资源冲突)。将指令和数据分别存储;设计指令/数据高速缓存。
  • 数据冒险:需要等待前面指令完成其读写操作。转发(旁路);代码重排;阻塞和冒泡。
  • 控制冒险:根据前面正在执行的指令决策控制操作。静态分支预测;动态分支预测;分支延迟槽。

43. 请简述Flynn分类法将计算机系统结构分成哪四类。

根据指令流和数据流分类

  • 单指令流、单数据流 SISD
  • 单指令流、多数据流 SIMD
  • 多指令流、单数据流 MISD
  • 多指令流、多数据流 MIMD

44. 请简述程序局部性原理。

程序执行时所访问的存储器地址相对地簇拥。

  • 程序的时间局部性:程序即将用到的信息很可能就是目前正在使用的信息。
  • 程序的空间局部性:程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。

45.请简述Amdahl定律。

加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比。

46. 影响CPU时间的因素包括什么?(提示:从CPU公式入手,考虑3个参数的影响因素)

CPU时间=IC*CPI*时钟周期

  • 时钟周期时间:取决于硬件实现技术和计算机组成。
  • CPI(平均每条指令耗费的时钟周期数):取决于计算机组成和指令集结构。
  • IC(程序总指令数):取决于指令集结构和编译技术。

47. 请简要说明提高计算机系统并行性的3种技术途径,并分别从单机和多机系统的角度举例。

  • 时间重叠,资源重复,资源共享

    单机:部件功能专用化、重复设置功能部件、使用分时系统

    多机:处理机专用化、重复设置处理机、使用分布式系统

48. 请说明什么是静态调度?什么是动态调度?动态调度的优点是什么?

  • 静态调度:依靠编译器对代码进行调度,也就是在代码被执行之前进行调度;

  • 动态调度:在程序的执行过程中,依靠专门硬件对代码进行调度。

动态调度优点:

  • 减少阻塞。
  • 能够处理一些在编译时情况不明的相关。
  • 能够使本来使面向某一流水线优化编译的代码在其他的流水线(动态调度)上也能高效地执行。

49. 请简述Tomasulo算法的基本思想,并分析其局限性。

  • 记录和检测指令相关,操作数一旦就绪就立刻执行,把发生RAW冲突的可能性减少到最小;
  • 通过寄存器换名来消除WAR冲突和WAW冲突

  • 局限性:

  • 不能处理异常和控制冲突
  • 指令队列里有分支指令,分支指令之后的指令不能流出,直到确定分支是否成功。
  • 硬件逻辑复杂

50. 请说明什么是动态分支预测?有何优点?

  • 通过硬件技术,在程序执行时根据每一条转移指令过去的转移历史记录提前预测分支方向

  • 优点:

    • 减少或消除控制相关导致的流水线停顿
    • 根据程序的执行过程动态地改变转移的预测方向,因此有更好的准确度和适应性
    • 程序每次执行时,可能预测的分支方向与前次相同或不同。

51. 请简述分支历史表BHT的基本思想。

用BHT来记录分支指令最近一次或几次的执行情况(成功或不成功),并据此进行预测。

52.请简述分支目标缓冲器BTB的基本思想。

分支成功的分支指令地址和它的分支目标地址都放到一个缓冲区中保存起来,缓冲区以分支指令的地址作为标识。

53. 请简述基于硬件的前瞻算法基本思想。

按照分支预测结果继续取出、流出和执行后续的指令。指令的结果放到一个称为ROB(ReOrder Buffer)的缓冲器中。等到响应的指令得到“确认:(commit)(即确实是应该执行的)之后,才将结果写入寄存器或存储器。

54. 请在PVP、SMP、MPP、DSM和COW中任选一种,简要描述其特点。

  • PVP,Parallel Vector Processor, 并行向量处理机

    • 向量处理器 VP
    • 存储器以兆字节每秒的速度向处理器提供数据
    • 交叉开关网络互连
    • 通常不使用高速缓存
  • SMP, Symmetric Multiprocessor, 对称多处理机

    • 使用商品微处理器(具有片上或外置高速缓存
    • 高速总线(或交叉开关)
    • 系统是对称的
  • MPP, Massively Parallel Processor, 大规模并行处理机

    • 超大型计算机系统
    • 处理节点采用商品微处理器;每个节点上有自己的局部存储器;采用高通信带宽和低延迟的互连网络(专门设计和定制的)进行节点互连;
    • 异步的MIMD机器,程序系由多个进程组成,每个都有其私有地址空间,进程间采用传递消息相互作用
  • DSM,Distributed Shared Memory, 分布式共享存储多处理机

    • 物理上有分布在各节点中的局部存储器,但是对用户而言,系统硬件和软件提供了逻辑上单地址的编程空间
    • 高速缓存目录DIR用以支持分布高速缓存的一致性
    • DSM 相对于 MPP的优越性是编程较容易
  • COW,Cluster of Workstations, 工作站集群

    • 集群往往是低成本的变形的MPP

    • COW 的每个节点都是一个完整的工作站

    • 各节点通过一种低成本的商品(标准)网络(如以太网、FDDI和 ATM 开关等)互连

    • 各节点内总是有本地磁盘,而 MPP节点内却没有

    • 节点内的网络接口是松散耦合到I/O 总线上的,而 MPP内的网络接口是连到处理节点的存储总线上的,因而可谓是紧耦合式

    • 一个完整的操作系统驻留在每个节点中,而 MPP中通常只是个微核

  • 从存储角度来看MIMD

  • 单地址空间共享存储

    • 存储器可以是物理上集中的或者分布的,但是所有存储单元有统一的地址空间,并被所有的处理器所访问
    • 均匀存储访问:SMP
    • 非均匀存储访问:DSM
  • 多地址空间非共享存储:MPP

55. 什么是多处理机Cache一致性问题?

允许共享数据进入Cache,极可能出现多个处理器的Cache中都有同一存储块的副本,其中某个处理器对其Cache中的数据进行修改后,就会使得其修改后Cache中的数据与其他Cache中的数据不一致

56.请简述监听式协议的原理。

每个Cache包含物理存储器中块的数据拷贝和各个块的共享状态信息

Cache通常连在共享存储器的总线上,当某个Cache需要访问存储器时,它会把请求放到总线上广播出去,其他各个Cache控制器通过监听总线来判断它们是否有总线上请求的数据块。如果有,就进行相应的操作。

57. 请简述目录式协议的原理。(自学)

对于存储器中每一个可以调入Cache的数据块,在目录中设置一条目录项,用于记录该块的状态以及哪些Cache中有副本等相关信息

对于任何一个数据块,都可以快速地在目录里唯一的一个位置中找到相关的信息。这使一致性协议避免了广播操作。

58. 请比较说明写作废协议和写更新协议性能上的差别。(自学)

  1. 在对同一个数据进行多次写操作而中间无读操作的情况下,写更新协议需进行多次写广播操作,而写作废协议只需一次作废操作。
  2. 在对同一Cache块的多个字进行写操作的情况下,写更新协议对于每一个写操作都要进行一次广播,而写作废协议仅在对该块的第一次写时进行作废操作即可。
  3. 写作废是针对Cache块进行操作,而写更新则是针对字(或字节)进行。
  4. 写更新协议的延迟时间较小。

59. 请解释,在目录式协议中,什么是本地节点、宿主节点、远程节点和共享集合?(自学)

本地结点:发出访问请求的结点

宿主结点:包含所访问的存储单元及其目录项的结点

远程结点:Cache中拥有该块的副本

共享集合:位向量记录拥有其副本的处理器的集合

60. 请简述目录式协议中,目录的三种结构。(自学)

全映像目录:每一个目录项都包含一个N位(N为处理机的个数)的位向量,其每一位对应一个处理机

有限映像目录:采用位数固定的目录项目

链式目录:用一个目录指针链来表示共享集合。当一个数据块的副本数增加(或减少)时,其指针链表就跟着变长(或变短)。

©OZY all right reserved该文件修订时间: 2025-09-20 05:42:10

评论区 - 计算机组成原理基础知识(简答版)

results matching ""

    No results matching ""