当前位置: 首页 > news >正文

计组面试--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中断

  • 采用分支预测
http://www.jsqmd.com/news/1132396/

相关文章:

  • Lua--协同线程与文件IO
  • 小红书博主都在偷偷用的AI工具,不用懂代码就能自动运营
  • 从Copilot到Agent:AI编程助手的演进与未来
  • logback-spring.xml 完整生产模板
  • 完整RAG工作流达成!手把手教你使用NAS部署企业生产级AI知识库
  • 2000+机柜怎么管?数据中心U位资产管理方案拆解
  • CSS View Transitions:页面过渡要连续,也要可控
  • 智能办公本X2:端侧AI驱动的手写语音协同工作流
  • Java 面试:ConcurrentHashMap 为什么线程安全?
  • Lua--基础入门
  • 库存并发安全控制的架构设计
  • 谷歌两款AI学习工具大揭秘:NotebookLM与Learn About谁更胜一筹?
  • MySQL视图学习笔记——视图与数据表增删改操作对比
  • 多服务上线日记一:
  • Windows 7 Problem Steps Recorder
  • 5分钟掌握Spectralizer:OBS直播音频可视化插件终极配置指南
  • 大语言模型解码策略与低资源部署技术详解
  • 机器人操作鲁棒性:当灵巧手遇上真实世界的不确定性
  • LinkedIn钓鱼攻击深度解析:识别伪装官方通知与账户安全防护指南
  • 别再硬写提示词了!LangChain PromptTemplate从入门到实战
  • 在ASP.NET MVC中对表进行通用的增删改
  • Selenium 高级进阶操作详解
  • p006-py文件编译成pyd
  • Linux内核CFS完全公平调度器:从vruntime到负载均衡的深度实现分析
  • How-To: Using the N* Stack, part 3
  • GEO代理接单后总部负责落地吗
  • PowerShell 路径规则详解:从基础到高级
  • 2026杭州初中毕业女生暑假学什么好?选对方向比努力更重要
  • 剪映专业版教程:制作西施跳广场舞效果
  • IPC-2152 标准深度解析:3大常见误区与5个影响通流的关键PCB设计参数