数字IC保研专业课重点问答
计算机组成原理
-
解释cache:cache又叫高速缓存或高速缓冲存储器,是主存与CPU一级存储器不同于使用DRAM技术主存,cache 由SRAM组成,容量远小于主存,但速度远高于主存, 接近于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
- 在编译时重新排列代码
- 在运行时重定向数据
- 在运行时停止处理器
控制冲突:取指令时还未确定下条指令应取的地址
分支错误预测开销:
指令的总数在采取分支时刷新
可以通过更早地确定分支来减少开销
分支预测
- 预测会采用哪一个分支
- 通常采用向后分支(循环)
- 考虑之前的结果以改进猜测
- 良好的预测减少了需要刷新的分支的比例
- 中断:
中断源(请求CPU中断的设备或事件)向CPU发出请求。
中断处理过程:
- 关中断
- 保存断点
- 引出中断服务程序
- 保存现场和屏蔽字
- 开中断
- 执行中断服务程序
- 关中断
- 恢复现场和屏蔽字
- 开中断、中断返回
- 关于输入/输出的一些基本概念:
CPU如何识别设备寄存器?
- :把设备寄存器等同于一般寄存器访问
- :为访问设备寄存器专门设置指令
转移时间是如何管理的?
- 异步:I/O设备与处理器工作节奏不一致
- 同步:I/O设备速度恒定,处理器定期访问
谁控制转移?
- CPU(轮询):CPU控制交互,定期查看各设备
- 设备(中断):设备控制交互,向CPU申请
数字电路
- 组合逻辑与时序逻辑:
如果数字电路满足任意时刻的输出仅仅取决于该时刻的输入,那么该数字电路为。相反,如果数字电路任意时刻的输出不仅取决于当前时刻的输入,而且还取决于数字电路原来的状态,那么该数字电路为。
- 输入输出关系:组合逻辑电路是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。时序逻辑电路是不仅仅取决于当前的输入信号,而且还取决于电路原来的状态,或者说,还与以前的输入有关。
- 有无存储(记忆)单元:组合逻辑电路没有存储记忆,时序逻辑电路却包含了存储记忆。
- 结构特点:组合逻辑电路只是包含了电路,但是时序逻辑电路包含了组合逻辑电路+存储电路,输出状态必须反馈到组合电路的输入端,与输入信号共同决定组合逻辑的输出。
锁存器:是一种对脉冲电平敏感(即电平触发)的存储单元电路。
- 优点:面积小、锁存器比FF快,所以用在地址锁存是很合适的,不过一定要保证所有的latch信号源的质量,锁存器在CPU设计中很常见,正是由于它的应用使得CPU的速度比外部IO部件逻辑快许多。latch完成同一个功能所需要的门较触发器要少,所以在asic中用的较多;
- 缺点:时序分析较困难;
- 不用锁存器的原因有二:1、锁存器容易产生毛刺,2、锁存器在ASIC设计中应该说比FF要简单,但是在FPGA的资源中,大部分器件没有锁存器这个东西,所以需要用一个逻辑门和FF来组成锁存器,这样就浪费了资源;
触发器:由交叉耦合门构成的双稳态器件。对脉冲边沿敏感,其状态只在时钟脉冲的上升沿或下降沿的瞬间改变 ;
寄存器:在实际的数字系统中,通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器.由于触发器内有记忆功能,因此利用触发器可以方便地构成寄存器。由于一个触发器能够存储一位二进制码,所以把n个触发器的时钟端口连接起来就能构成一个存储n位二进制码的寄存器。
- 钟控D触发器其实就是D锁存器,边沿D触发器才是真正的D触发器,钟控D触发器在使能情况下输出随输入变化,边沿触发器只有在边沿跳变的情况下输出才变化。两个D锁存器可以构成一个D触发器,归根到底还是dff是边沿触发的,而latch是电平触发的。锁存器的输出对输入透明的,输入是什么,输出就是什么,这就是锁存器不稳定的原因,而触发器是由两个锁存器构成的一个主从触发器,输出对输入是不透明的,必须在时钟的上升/下降沿才会将输入体现到输出,所以能够消除输入的毛刺信号。
- 竞争和冒险:
竞争:输入经过不同途径传输后,到达电路某一会合点的时间有先有后,这种现象称为竞争。
冒险:由于竞争而使电路输出端产生尖峰脉冲的现象称为冒险。
- 单个输入变量在过渡过程中产生的冒险成为
- 两个或多个输入变量同时变化引起的冒险称为
竞争与冒险的判别:
- 代数法:表达式在一定条件下可以化简成 F = A + A ‾ F=A+\overline A F=A+A或 F = A ⋅ A ‾ F=A\cdot {\overline A} F=A⋅A的形式
- 卡诺图法:如果两卡诺圈相切,且相切处未被其他卡诺圈包围,则可能产生冒险现象。
- 实验法:功能冒险难以用前两种方法判断,应做实验用示波器观察。
冒险现象的消除:
- 加滤波电容:电容具有阻止(延缓)电平变化的功能
- 加选通信号:使用选通信号可以避开毛刺可能产生的时间
- 增加冗余逻辑
- 同步时序电路:电路状态的变化在同一时钟脉冲作用下发生(触发器状态转换同步完成)
- 异步时序电路:触发器钟控端所接时钟脉冲信号不同(触发器状态转换异步完成)
- 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)
硬件描述语言与可编程设计
- Verilog语言的描述层次:
-
综合:在自上而下的电子设计过程中,将较高层次的设计基于EDA工具自动转化为较低层次设计的过程,包括算法综合、逻辑综合、结构综合等。
-
FPGA设计流程
- 设计定义:方案论证、系统设计、器件选择
- HDL实现:将设计的系统或电路以开发软件要求的某种形式(如HDL、原理图、波形、状态机等)表示出来,并送入计算机的过程
- 功能仿真:在编译之前对用户所设计的电路进行逻辑功能验证,此时的仿真没有延时信息,仅对功能实现进行检测。
- 逻辑综合:通过设计软件对设计输入文件进行逻辑化简、综合优化和适配的,生产基于FPGA器件的网表。
- 语法检查和设计规则检测
- 逻辑优化和综合
- 适配和分割
- 代码原则
- 前仿真:对逻辑综合后的网表的功能进行仿真,确定综合后的网表是正确的,验证综合后的实际功能与模型所描述功能的一致性。(添加了器件延时信息,初步验证时序)
- 布局布线:布局布线由软件自动完成,以最优的方式对逻辑元件布局,并准确地实现元件间的互连。
- 后仿真:检查确认布局布线后的时序正确性。
- 静态时序分析:采用静态时序分析能够通过算法检查每条路径的时序,速度快捷,覆盖全面。
- 动态时序分析:需要测试向量;效率低;覆盖率不能保证
- 静态时序分析:不需要外部测试激励;效率高;全覆盖;精确度不高
- 在系统测试:将比特流文件下载到对应的器件中,检查是否满足设计目标。
数字集成电路设计
半导体物理
- 迁移率与温度和杂质浓度的关系:
- 迁移率与温度的关系
- 低掺杂情况下:迁移率随温度升高而减小(晶格振动散射为主)
- 高掺杂情况下:迁移率随温度升高先增大后减小(低温时电离杂质散射为主,高温时晶格振动散射为主)
- 迁移率与杂质浓度的关系
- 温度一定时,迁移率随杂质浓度的增大是单调减小的
- 电阻率与温度和杂质浓度的关系:
ρ = 1 n i q ( μ n + μ p ) ρ = \frac{1}{n_iq(\mu_n+\mu_p)} ρ=niq(μn+μp)1
- 电阻率与杂质浓度的关系
- 轻掺杂时:电阻率与杂质浓度的成简单反比的关系(常温下杂质全部电离,迁移率随杂质浓度变化不大)
- 重掺杂时:曲线严重偏离直线(常温下杂质不能全部电离,在简并半导体中情况更加严重,迁移率随杂质浓度增加而显著下降)
- 电阻率与温度的关系
- 本征半导体电阻率随温度升高而单调减小
- 杂质半导体:
- 低温段:随温度增加而减小(本征激发可忽略,杂质电离随温度升高而增大,杂质浓度增大,电阻率减小;晶格振动散射可忽略,电离杂质散射随温度增加而增大,迁移率增大,电阻率减小)
- 室温段:随温度增加而增大(杂质完全电离,本征激发和电离杂质散射是次要因素,晶格振动散射随温度增加使迁移率减小,电阻率增大)
- 高温段:随温度增大而减小(杂质电离、电离杂质散射、晶格振动散射成次要因素,本征激发随温度升高而使杂质浓度增大,电阻率减小)
半导体器件物理
- PN结的形成:采用不同的掺杂工艺,通过扩散作用,将P型半导体与N型半导体制作在同一块半导体(通常是硅或锗)基片上,在它们的交界面就形成空间电荷区称为PN结(英语:PN junction)。
- PN结构成的器件:二极管、BJT
集成电路制造技术
- 溅射:是一种PVD技术,多元薄膜组份易控制台阶覆盖能力强,衬底附着性好(原理:等离子体轰击靶材,靶材原子获得能量从靶表面逸出,溅射原子淀积在表面)
模拟电路
- 比较器与运放的区别:
- 运放工作在闭环状态,比较器工作在开环状态,运放工作于线性区,比较器工作于非线性区
- 比较器的翻转速度快,大约在 ns 数量级,而运放翻转速度一般为 us 数量级(特殊的高速运放除外)。
- 运放可以接入负反馈电路,而比较器则不能使用负反馈,虽然比较器也有同相和反相两个输入端,但因为其内部没有相位补偿电路,所以,如果接入负反馈,电路不能稳定工作。内部无相位补偿电路,这也是比较器比运放速度快很多的主要原因。
- 运放输出级一般采用推挽电路,双极性输出。而多数比较器输出级为集电极开路结构,所以需要上拉电阻,单极性输出,容易和数字电路连接。
在闭环状态,比较器工作在开环状态,运放工作于线性区,比较器工作于非线性区
- 比较器的翻转速度快,大约在 ns 数量级,而运放翻转速度一般为 us 数量级(特殊的高速运放除外)。
- 运放可以接入负反馈电路,而比较器则不能使用负反馈,虽然比较器也有同相和反相两个输入端,但因为其内部没有相位补偿电路,所以,如果接入负反馈,电路不能稳定工作。内部无相位补偿电路,这也是比较器比运放速度快很多的主要原因。
- 运放输出级一般采用推挽电路,双极性输出。而多数比较器输出级为集电极开路结构,所以需要上拉电阻,单极性输出,容易和数字电路连接。