20220719.学习记录
上午
数字IC方向保研专业课重点问答整理:
计算机组成原理
- 中断:
中断源(请求CPU中断的设备或事件)向CPU发出请求。
中断处理过程:
- 关中断
- 保存断点
- 引出中断服务程序
- 保存现场和屏蔽字
- 开中断
- 执行中断服务程序
- 关中断
- 恢复现场和屏蔽字
- 开中断、中断返回
- 关于输入/输出的一些基本概念:
CPU如何识别设备寄存器?
- 内存映射:把设备寄存器等同于一般寄存器访问
- 专用I/O指令:为访问设备寄存器专门设置指令
转移时间是如何管理的?
- 异步:I/O设备与处理器工作节奏不一致
- 同步:I/O设备速度恒定,处理器定期访问
谁控制转移?
- CPU(轮询):CPU控制交互,定期查看各设备
- 设备(中断):设备控制交互,向CPU申请
晚上
计算机组成原理
- 移位
逻辑移位:移出去的位丢弃,空缺位(vacant bit)用 0 填充。
算术移位:移出去的位丢弃,空缺位(vacant bit)用“符号位”来填充,所以一般用在右移运算中。
- 总线的工作原理:
总线是一组能为多个部件分时共享的公共信息传送线路。分时和共享是总线的两个特点。
分时是指同一时刻只允许有一个部件向总线发送信息,若系统中有多个部件,则他们只能分时地向总线发送信息。
共享是指总线上可以挂接多个部件,各个部件之间相互交换的信息都可通过这组线路分时共享。在某一时刻只允许有一个部件向总线发送信息,但多个部件可同时从总线上接收相同的信息。
总线的分类:
- 片内总线:片内总线是芯片内部的总线,是CPU芯片内部寄存器与寄存器之间、寄存器与ALU之间的公共连接线。
- 系统总线:系统总线是计算机系统内各功能部件(CPU、主存、I/O接口)之间相互连接的总线。按系统总线传输信息内容的不同,又可分为三类:
- 数据总线
- 地址总线
- 控制总线
- 通信总线:通信总线是在计算机系统之间或计算机系统与其他系统(如远程通信设备、测试设备)之间传送信息的总线,通信总线也称为外部总线。
系统总线的结构:
- 单总线结构
- 双总线结构
- 三总线结构
AXI总线:
- 流水线:流水线是一项提高资源利用率的技术,他增加了电路的数据处理量,我们在逻辑块之间插入寄存器,这使得一组输入数据的计算分布在几个时钟周期之中,这一计算过程以一种装配线的形式进行,因此得名流水线。
三种处理器微结构
- 单周期:一个周期内执行一条指令
- 控制简单,但时钟周期由最慢的指令决定
- 多周期:利用多个较短的周期实现一条指令
- 需要增加非体系结构寄存器来保存中间结果
- 对加法器和存储器可以进行复用
- 流水线:同时执行多条指令,将单周期体系结构流水线化
- 同时执行多条指令,显著提高吞吐量
- 需要增加非体系结构流水线寄存器
- 所有商用高性能都采用流水线结构
程序执行时间:执行时间= C P I ⋅ T c CPI\cdot{T_c} CPI⋅Tc
CPI:每条指令所需要的周期数
时钟周期 T c T_c Tc:每个周期所需要的时间
五级流水线:取指、译码、执行、访存、写回
流水线的冲突:多条指令同时执行,当一条指令依赖于另一条还没有完成的指令时,发生冲突
数据冲突:当一条指令试图读取前条指令尚未写回寄存器的数据
解决措施:
- 在编译时在代码中插入nops
- 在编译时重新排列代码
- 在运行时重定向数据
- 在运行时停止处理器
控制冲突:取指令时还未确定下条指令应取的地址
分支错误预测开销:
指令的总数在采取分支时刷新
可以通过更早地确定分支来减少开销
分支预测
- 预测会采用哪一个分支
- 通常采用向后分支(循环)
- 考虑之前的结果以改进猜测
- 良好的预测减少了需要刷新的分支的比例
数字电路
-
- 同步时序电路:电路状态的变化在同一时钟脉冲作用下发生(触发器状态转换同步完成)
- 异步时序电路:触发器钟控端所接时钟脉冲信号不同(触发器状态转换异步完成)
- Mealy型时序电路:某时刻输出取决于该时刻外部输入X和内部状态Q, Z = F ( X , Q ) Z=F(X,Q) Z=F(X,Q)
- Moore型时序电路:某时刻输出只取决于该时刻内部转换Q,而与该时刻外部输入X无关, Z = F ( Q ) Z=F(Q) Z=F(Q)
硬件描述语言与可编程逻辑设计
-
综合:在自上而下的电子设计过程中,将较高层次的设计基于EDA工具自动转化为较低层次设计的过程,包括算法综合、逻辑综合、结构综合等。
-
FPGA设计流程
- 设计定义:方案论证、系统设计、器件选择
- HDL实现:将设计的系统或电路以开发软件要求的某种形式(如HDL、原理图、波形、状态机等)表示出来,并送入计算机的过程
- 功能仿真:在编译之前对用户所设计的电路进行逻辑功能验证,此时的仿真没有延时信息,仅对功能实现进行检测。
- 逻辑综合:通过设计软件对设计输入文件进行逻辑化简、综合优化和适配的,生产基于FPGA器件的网表。
- 语法检查和设计规则检测
- 逻辑优化和综合
- 适配和分割
- 代码原则
- 前仿真:对逻辑综合后的网表的功能进行仿真,确定综合后的网表是正确的,验证综合后的实际功能与模型所描述功能的一致性。(添加了器件延时信息,初步验证时序)
- 布局布线:布局布线由软件自动完成,以最优的方式对逻辑元件布局,并准确地实现元件间的互连。
- 后仿真:检查确认布局布线后的时序正确性。
- 静态时序分析:采用静态时序分析能够通过算法检查每条路径的时序,速度快捷,覆盖全面。
- 动态时序分析:需要测试向量;效率低;覆盖率不能保证
- 静态时序分析:不需要外部测试激励;效率高;全覆盖;精确度不高
- 在系统测试:将比特流文件下载到对应的器件中,检查是否满足设计目标。
数字集成电路设计
总结
态时序分析能够通过算法检查每条路径的时序,速度快捷,覆盖全面。
- 动态时序分析:需要测试向量;效率低;覆盖率不能保证
- 静态时序分析:不需要外部测试激励;效率高;全覆盖;精确度不高
- 在系统测试:将比特流文件下载到对应的器件中,检查是否满足设计目标。
数字集成电路设计
总结
今日学习时长大概在六小时左右,要加油呀。