计组面试--h自用

📅 2026/7/6 4:04:51 👁️ 阅读次数 📝 编程学习
计组面试--h自用

● 冯诺依曼体系结构核心思想、计算机五大核心部件

● CPU核心组成、指令执行周期、CISC vs RISC 核心区别

● 存储器层次结构、Cache工作原理、局部性原理、Cache映射与写策略

● CPU流水线技术、流水线冒险与解决方案

● IO控制方式:程序查询、中断驱动、DMA、通道控制

计算机硬件的基本组成

  1. 存储器:分为主存和辅存(辅存中的信息必须调入主存后才能被CPU访问)
  2. 控制器:程序计数器PC、指令寄存器IR、控制单元CU组成
  3. 运算器:进行算数运算和逻辑运算,核心部件:算术逻辑单元(ALU)
  4. 输入设备
  5. 输出设备

冯诺依曼思想

  1. 计算级硬件系统由存储器、控制器、运算器、输入设备、输出设备五大部件组成
  2. 指令和数据以同等地位存放在存储器中且可以按地址访问
  3. 指令和数据均用二进制码标识
  4. 指令由操作码和地址码组成,操作码表示操作的性质,地址吗表示操作数在存储器中的位置
  5. 指令在存储器内按顺序存放。
  6. 以运算器为中心

编译,解释型语言

  1. 编译型语言写的程序在执行之前,需要一个专门的编译过程,把程序编译成为可执行程序,如果源程序不变以后要运行的话就不用重新翻译。
  2. 解释型语言的程序不需要编译,在运行程序的时候才翻译,翻译一句执行一句,不生成目标程序,这样解释型语言每执行一次就要翻译一次,效率比较低。

原码、反码、补码、移码

  1. 原码:表示方法简单;不可直接参与运算;
  2. 反码:符号位可参与运算;循环进位
  3. 补码:可以将减法换成加法
  4. 移码:主要用于浮点数的阶码

计算机性能指标

吞吐量:单位时间内处理请求的数量

主频:机器内部主时钟的频率,衡量机器速度

时钟周期:主频的倒数,是CPU中最小的时间单位

机器周期(CPU周期):一个指令周期由若干个CPU周期构成,CPU操作的最基本单位

指令周期:指令周期含有若干个机器周期

CPI:执行一条指令所用的时钟周期数

MIPS:每秒执行多少百万条指令

MFLOPS:每秒执行多少百万次浮点运算

存储器分层

寄存器-》cache-》主存-》辅存

Cache-》主存:环节主存与CPU速度不一致的问题

主存-》辅存:实现了虚拟存储,解决主存空间容量不够的问题

存储器分类

RAM随机存储器,在程序执行过程中可读可写,是易失性存储器,一旦写入信息就不可轻易改变。
ROM只读存储器,在程序执行过程中只可读,是非易失性存储器,掉电信息也不会丢失。
串行访问存储器:对存储单元进行读写时,按其物理位置的先后顺序寻址。

静态随机存储器(SRAM)vs动态随机存储器(DRAM)

  • SRAM:不需要刷新,运行速度块,集成度低,非破坏性读出,读出后不用重写,易失,用于cache
  • DRAM:需要刷新,采用地址复用运行速度慢,集成度高,破坏性读出,读出后重写,易失,用于主存

内存的扩展

字拓展增加存储器中字的数量,片选线不一样,地址线,数据线都用一根线
位拓展增加同一个地址下的存储单元的位数,地址线和片选线一样,不一样的数据线,低8位数据线和高8位数据线 2根数据线
字位同时拓展同时扩充字和位

提高主存速度的方法

双端口存储器:利用两个端口、有两组相互独立的数据线、控制线、地址线

单体多字存储器

多体并行存储器(高位和低位)

cache和主存映射

  1. 直接映射:直接映射就是将主存地址映射到Cache中的一个指定地址,任何时候,主存中存储单元的数据只能调入到Cache中的一个或几个位置,这是固定的,若这个位置已有数据,则产生冲突,原来的块将无条件地被替换出去。
  2. 全相连映射:在这种方式下,主存中存放的数据可以调入到Cache中的任意位置,只有在Cache中的块全部装满后才会出现块冲突。
  3. 组相连映射:组相连映射是指将存储空间的页面分成若干组,各组之间采用直接映射,而组内各块之间采用全相连映射。

Cache(高速缓冲存储器)工作原理

处理机判断cache中是否有被访问的数据,如果在,则Cache命中,按地址访问Cache。否则,Cache不命中,则需要访问主存,并从主存中调入相应数据块到Cache中,若Cache中已写满,则要按某种算法 将Cache中的某一块替换出去。

替换算法

  • 随机算法
  • 先入先出算法
  • 近期最少使用算法

cache写策略

cpu修改了cache副本,如何保证主存中母本的一致性

写命中时

(1)写回法:只修改cache而不修改主存,等换出时才写回。要设计一个脏位检验是否修改过

(2)全写法:同时修改主存和cache

写不命中时

(1)写分配法:将所写的先调入cache,然后配合写回法

(2)非写分配:直接写入主存

寻址方式

寻址方式 指令地址字段
立即寻址:操作数
直接寻址:操作数的地址
间接寻址:操作数地址所在存储单元的地址
寄存器直接寻址:指令字直接给出操作数所在的寄存器编号
寄存器间接寻址:寄存器给出操作数所在主存单元的地址
相对寻址:操作数的有效地址等于pc+地址A(共享代码)
基址寻址:有效地址等于基址寄存器中的内容+A(BX)
变址寻址:变址寄存器+A数组元素访问

复杂指令集计算机CISCvs简单指令集计算机RISC

复杂指令集计算机CISC简单指令集计算机RISC
复杂,庞大简单,精简
指令字长不固定固定
可访存指令无限制LOAD/STORE指令
指令执行时间差别大基本都在一个周期完成
通用寄存器数量较少
控制方式微程序控制器组合逻辑控制
指令流水线必须实现

CPU的核心组成

  • 运算器
  • 控制器(控制单元CU、指令寄存器IR、程序计数器PC)
  • 主存

指令执行周期

取址周期:将程序计数器PC中的地址给主存的地址寄存器MAR,通过MAR找到指令后放入数据寄存器MDR中,指令寄存器IR从MDR将指令取走。

间址周期:根据指令中的地址码从主存中获取操作数的有效地址

执行周期

终端周期:保存断点,将中断服务程序入口送入PC

数据通路

数据在各个功能部件之间传送路径叫做数据通路

实现CPU内部的运算器和寄存器以及寄存器之间的数据交换

异常与处理中断过程

(1)响应处理

关中断:临时禁止中断请求

保存断点:保存现场和屏蔽字

中断识别

(2)中断服务程序

保护现场

(开中断,允许中断嵌套)

中断服务

(关中断,保证恢复现场的时候不被打断)

恢复现场

中断返回

CPU流水线技术、流水线冒险与解决方案

将指令过程划分为:取指-》译码-》执行-》访存-》写回

冲突与解决办法:

(1)结构相关:多条指令在同一时刻竞争同一资源

  • 采用独立的指令存储器和数据存储器避免访问冲突
  • 暂停一时钟周期

(2)数据相关:下一条指令用到当前指令的计算结果

  • 采用数据旁路技术,即把前一条指令的ALU计算结果直接输入到下一条指令

(2)控制冲突:遇到执行转移、调用、返回导致PC中断

  • 采用分支预测