- 博客(113)
- 资源 (3)
- 收藏
- 关注
原创 计算机算术6-SRT2除法
SRT 算法目的在于加速非恢复二进制除法,在商数选择集中引入了0,且将商选函数(QDS)修改如下:w[j+1] = 2w[j] -dq[j+1]将w[j+1]看作纵坐标,2w[j]看作横坐标x;则y=x-dq[j+1];当q[j+1] = -1时, y=x+d;当q[j+1]=0 时, y=x;当q[j+1] =1时,y=x-d。
2025-08-17 16:03:58
293
原创 计算机算术5-整形除法
sj1sj−qk−jdrk−js0zsjsjrjsj1rsj−qk−jdrksj1和rsj但如上图所示,这样比较大小进行选商太复杂了,如果边界是个常数就好了。
2025-08-05 22:02:54
1019
原创 计算机算术4-整形乘法
在移位相加乘法中,我们可以直接跳过乘数中连续的0,因为被乘数乘以0也是0。而booth编码则允许我们将乘数中连续的n个1涉及的n次移位相加化简为一次移位相加与一次移位相减法,而增加乘数的稀疏度(增加0的数量)其中radix2的booth编码是乘以一个常数用到booth编码优化常数c的编码,或者做出一些其它优化,毕竟c是固定的。例如如果c=113,根据113=16(8-1)+1,我们可以把乘法过程优化为。
2025-07-25 21:11:38
395
原创 超标量处理器11-Alpha21264 处理器
21264处理器是一款4-way,乱序执行的超标量处理器,采用0.35um的CMOS工艺,工作电压是2.2V, 工作频率是466-667MHz;处理器能支持60条指令,也即ROB的深度是60;Load/Store指令也采取乱序执行, 总共7级流水。I-CACHE和D-CACHE都是采用2路组相连,64KB2级取指,1级rename, 1级issue, 1级read register file, 1级执行,1级写回,共7级流水。
2025-06-30 22:37:55
440
原创 超标量处理器设计10-提交
由于超标量处理器一般都是乱序执行的,但是为了保证程序执行结果的串行性,需要在流水线的最后阶段顺序提交,也称为commit 阶段。提交模块的功能主要有两个: 一个是负责指令的保序graduate, 另一个是负责exception的处理;第三个是负责分支预测错误的flush生成。其中保序graduate就涉及到ROB, 对ROB里每一条指令的指令状态进行更新,ROB的读写指针进行更新。
2025-06-21 08:08:49
773
原创 超标量处理器设计9-执行
执行阶段负责指令的执行。然后将这个执行的结果写入到寄存器,或者是存储器中。指令类型主要有ALU,负责算术运算,逻辑运算以及移位等操作;访问存储器的操作,load/store指令;控制程序流的操作,branch/jump/子程序调用CALL, 子程序返回return指令;特殊的指令,例如操作TLB的指令,存储器隔离指令;浮点运算指令。
2025-06-15 15:33:58
588
原创 超标量处理器设计7-寄存器重命名
因为存在数据相关性(WAW, WAR, RAW), 导致指令具有依赖关系,不利于指令的乱序执行。而寄存器重命名可以解决WAW和WAR这两种假性相关性,从而提高程序在超标量处理器中的并行性,提高处理器的性能。
2025-06-02 09:00:00
804
原创 超标量处理器设计6-指令解码
如果采用checkpoint的方式对分支预测失败的场景进行状态恢复,为了减少电路的复杂度,一般我们需要限制每周期内分支指令的个数,因此需要提前进行约束.pre-index : 对于load指令, 先更新存地址的寄存器值,然后用更新后的值索引内存 LDR W0, [X1, #12]post-index: 先用寄存器的值索引内存,然后更新存放地址的寄存器值 LDR W0, [X1], #12。涉及3 src的指令,所以PRF的读口个数会有影响。pre 和post针对的是啥时候更新X1的值。
2025-06-01 20:08:51
437
原创 超标量处理器设计5-指令集体系
指令集体系(ISA)是规定处理器的外在行为的一系列内容的统称,它包括基本数据类型,指令,寄存器,寻址模式,存储系统,中断,异常等内容。
2025-05-13 20:57:07
380
原创 超标量处理器设计4-分支预测
分支预测的准确率对性能的影响很大,主要是预测方向和预测跳转地址。其中跳转指令也分为直接跳转和间接跳转,直接跳转的跳转地址就在指令码中;而间接跳转的跳转地址在寄存器中,需要先访问寄存器的值,才能得到地址,一般只有call/return 指令才会是间接跳转。要进行分支预测,首先需要知道从I-Cache 取出来的指令中哪条指令是分支指令。a. 最容易的办法是从I-CACHE取出来之后,进行快速的解码,然后找到对应分支指令的PC值送到分支预测器中进行预测。
2025-05-11 16:19:50
699
原创 超标量处理器设计3-虚拟存储器
如果一个进程中的虚拟地址在访问页表时,发现对应的PTE中的有效位valid为0, 表示这个虚拟地址所属的页还没有被放到物理内存中,因此在页表中就没有存储这个页的映射关系,这个时候就发生了page fault.这个时候需要从下级存储器中(硬盘)中将这个页取出来放到物理内存中,并将对应的映射关系写到页表中。需要注意的是即使在组相连结构的cache中,这些重名的虚拟地址页不能够占据不同的way, 因为此时本质上使用的是物理Cache, 只有index部分相同的不同物理地址才可以占据不同的way.
2025-01-24 21:37:23
830
原创 超标量处理器设计2-cache
但是会引入两个问题,一个是不同的虚拟地址对应同一个物理位置,由于不同的虚拟地址会占用不同的cache line, 因此浪费了宝贵的cache空间,造成cache容量的减少,二是执行store指令时,本质上应该对同一个物理地址的cache line都应该修改。cache的内容较多,涉及到cache pipeline的设计(并行结构,串行结构),cache的大小计算,cache 内部结果的设计(multi-bank, 组相连,全相联等),对于这些分知识点,后续也需要单独介绍。
2025-01-17 23:08:59
1117
原创 超标量处理器设计1-处理器概览
超标量处理器可以在一个周期内执行多条指令,提高了处理器的处理速度,由于有相关性的问题,自然也引入了重命名的方法。Read after write(RAW), 先写后读,具有真相关性,用重命名的办法解决不了。取值:使用PC寄存器的值作为地址,从I-Cache中取出指令,并将指令存储到指令寄存器中。执行:根据指令的类型,完成计算任务。write after read(WAR), 先读后写,假相关性,可以用重命名解决。Write after write(WAW), 写后写,假相关性,可以用重命名解决。
2025-01-10 22:31:55
482
原创 计算机算术2-整数加减法(通用)
1. 一位全加器输入:cin, A, B输出:co sum真值表逻辑表达式sum = cin ^ A ^ Bco = A&B | A&Cin | B&Cin注意:sum的时延几乎是carray时延的两倍电路图因此全加器的输出需要2、3级门延迟2. 多位全加器2.1 串行进位加法器把多个全加器串链起来就形成了串行进位加法器,串行进位加法器将低位全加器的进位输出Cout作为本级全加器的进位输入Cin,因此在计算最高位的进位输出时(进位输出当作两级门延时),有3
2021-11-30 22:11:40
1260
1
原创 计算机算术1 - 数据表示
文章目录1. 原码2. 反码(1's com)3. 补码(2's com)4. 相关问题4.1 有符号数二进制转十进制4.2 为什么要用补码4.2 表示一个数减14.3 表示两个数相差为11. 原码原码就是符号位加上数的绝对值,即用第一位表示符号位,其余表示数值以8bit数据为例,表示的范围是[-127, 127]2. 反码(1’s com)正数的反码:是其本身;负数的反码:符号位不变,其余位取反。3. 补码(2’s com)正数的补码:是其本身负数的补码:在其原码的基础上,符号位不变,其
2021-11-21 21:34:21
595
原创 IC常用知识12-FPGA资源小结
文章目录1. 可编程输入输出单元 (IOB)2. 可配置逻辑块(CLB)3. 数字时钟管理模块(DCM)4. 存储器资源5. 丰富的布线资源6. 底层内嵌功能单元结合Xilinx Altera等公司的FPGA芯片,简要罗列一下FPGA内部的资源或者专用模块,并简要说明这写资源的一些作用或用途。1. 可编程输入输出单元 (IOB)可编程输入输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求。外部输入信号可以通过IOB模块的存储单元输入到FPGA的内部
2021-04-20 15:16:46
1035
原创 IC常用知识11-ASIC和FPGA设计流程
文章目录1. FPGA的基本开发流程?2. IC设计的基本流程1. FPGA的基本开发流程?总共分为5步系统规划:系统功能和模块规划RTL设计:用Verilog SV, VHDL描述功能仿真:理想情况下的仿真时序仿真:时序分析和约束板级验证2. IC设计的基本流程设计spec- RLT代码设计-动态仿真-逻辑综合-形式验证-DFT-版图规划-时钟树综合-布线-静态时序分析-DRC-LVS-后仿真-Tape-out;设计specRLT代码设计动态仿真逻辑综合(logic syn
2021-04-20 15:02:01
927
原创 IC常用知识8-glitch free 电路小结
文章目录1. 产生毛刺的原因2. 针对两个同步时钟源的切换3. 针对两个异步时钟源的切换1. 产生毛刺的原因时钟在另一个时钟为高电平的时候进行切换才会导致毛刺的现象,因此我们需要采用下降沿采样的方式来阻止这种情况2. 针对两个同步时钟源的切换通过下降沿触发器进行采样,然后与时钟信号相与,目前没有好的理解方式,只能强记。reg out1;reg out0; always @(negedge clk1 or negedge rst_n)begin if(rst_
2021-04-17 16:59:39
2953
原创 IC常用知识7-门控时钟小结
1. 简介门控时钟是降低动态功耗的常用手段2. 门控时钟电路2.1 不含触发器的门控时钟电路[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fVyAYCPk-1618555294344)(https://upload-images.jianshu.io/upload_images/9246563-899919ef34c5adcb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]缺点:如果使能信号过早无效,
2021-04-16 14:42:21
666
原创 IC常用知识6-信号跨时钟同步
文章目录1. 单bit信号跨时钟域传输1.1 电平同步器1.2 边沿检测器1.3 脉冲同步器1.4 电平延展-快到慢2. 多bit信号跨时钟域传输2.1. 握手2.2. 异步FIFO2.3 使用异步双口RAM2.4 DMUX3. 相关题目3.1 设计一个脉冲检测器3.2 介绍一下各种同步设计的优缺点3.3相关选择题1. 单bit信号跨时钟域传输按照信号用途将单bit跨时钟同步器分为:电平同步器,边沿检测器和脉冲同步器。小结:单bit信号传输我们要考虑它的实际用途,比如是串行数据信号,那么我们就需要
2021-04-16 10:16:03
8904
1
原创 IC常用知识4-静态功耗和动态功耗
文章目录1. 简介2. 静态功耗3. 动态功耗3.1 开关功耗3.2 短路功耗4. 低功耗设计4.1 RTL级4.2 门级电路5. 相关题目:1. 简介CMOS电路功耗主要由动态功耗和静态功耗组成,动态功耗又分为开关功耗、短路功耗两部分2. 静态功耗静态功耗也称为待机功耗,包含有电路中晶体管的漏电流所导致的功耗3. 动态功耗3.1 开关功耗动态功耗包括:开关功耗或称为反转功耗、短路功耗或者称为内部功耗;开关功耗:电路在开关过程中对输出节点的负载电容充放电所消耗的功耗。比如对于下面的CMOS非
2021-04-15 11:26:57
37247
3
原创 IC基础知识11-时序逻辑电路
目录1. 简介2. 分类3. 时序电路分析流程4. 时序电路分析举例5. 时序电路设计6. 时序电路设计举例-序列检测器1. 简介时序逻辑电路指电路的输入不仅与输入有关,还与当前电路的状态有关,一般由组合逻辑电路和存储电路构成,并时序逻辑电路中存在反馈。2. 分类时序逻辑电路分为同步时序电路和异步时序电路,其中同步时序电路指的是电路中所有的触发器共用一个时钟源。3. 时序电路分析流程根据电路图确定输出方程各触发器的驱动方程将驱动方程代入相应触发器的特性方程,求出状态方程根据状态方程,列出
2021-04-07 16:58:57
3778
原创 IC基础知识10-锁存器和触发器
目录1. 简介2. 锁存器2.1 SR锁存器2.2 特性表和特性方程2.3 由与非门构建的RS锁存器2.4 门控SR锁存器2.5 门控D锁存器3. 触发器3.1 主从D触发器3.2 特性表和特性方程3.3 维持阻塞D触发器3.4 JK触发器3.5 T触发器4. 锁存器和触发器的区别5. 建立时间和保持时间1. 简介锁存器和触发器统称为双稳态电路,它们具有存储数据的功能,是构成各种时序电路的基本单元2. 锁存器2.1 SR锁存器当S=0,R=0时,电路状态不变,故电路具有记忆功能当S=1,R=
2021-04-07 15:41:14
3021
原创 IC基础知识9-组合逻辑电路
目录1. 简介2. 分析组合逻辑电路3. 设计组合逻辑电路4. 组合逻辑电路中的竞争冒险5. 常见逻辑电路1. 简介组合逻辑电路的功能特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。2. 分析组合逻辑电路根据组合逻辑电路得到逻辑表达式化简逻辑表达式画出真值表确定逻辑功能3. 设计组合逻辑电路确定输入输出画出真值表通过卡诺图化简得到最简表达式画出逻辑电路4. 组合逻辑电路中的竞争冒险逻辑门电路的两个输入信号同时向相反的逻辑电平跳变,而跳变的时间有差异的现
2021-04-07 10:10:16
989
原创 IC基础知识8-逻辑代数
文章目录1. 逻辑代数常用公式2. 最小项3. 逻辑函数化简4. 化简多输出逻辑函数1. 逻辑代数常用公式其中较难的公式是第4条,只能强记2. 最小项最小项:一个逻辑函数可以用乘积项之和来表示。最小项的特点:3. 逻辑函数化简二变量卡诺图:三变量卡诺图:四变量卡诺图:卡诺图化简原则:同一个方格可以被不同的包围圈重复包围,但新增的包围圈中一定要有新的方格。包围圈内的方格要尽可能的多,包围圈的数目要尽可能的少。4. 化简多输出逻辑函数...
2021-04-06 20:54:24
478
IC基础知识7-数据选择器
@ [TCO] (目录)用数据选择器搭建门电路的一般步骤写出门电路的真值表根据真值表写出表达式根据表达式画出电路图其中选择器可以通过传输门搭建1. 非门Aout0110assign out = A ? 0 : 1;需要一个选择器,也可以直接用CMOS门电路搭建2. 与门ABout000010100111assign out = A ? B : 0;如果用与非+非门搭建,也需要6
2021-04-06 15:56:04
2524
原创 IC基础知识6-门电路
目录1. 非门2. 与非门3. 或非门4. 与门5. 或门6. 传输门7. 选择器8. 问题小结1. 非门NMOS和PMOS串联2. 与非门只有当两个输入为1时,输出为0,因此NMOS串联3. 或非门只有当两个输入为0时,输出才为1,因此PMOS串联4. 与门与非门+非门5. 或门或非门+非门6. 传输门NMOS和PMOS并联,低电平使能时实现双向传输,高电平,端口呈现高阻态。7. 选择器下图实现的选择器只需要6个MOS管,3个PMOS和3个NMOS而如果采用Out=
2021-04-06 11:38:23
9591
原创 IC基础知识5-版图识别
目录1. 区分N管和P管2. 识别接触孔3. 识别栅极4. 识别源极和漏极5. 识别串并联关系1. 区分N管和P管为了正常工作,CMOS芯片必须保证工作是衬底和管子形成的PN结反偏,因此P管需要接电源VDD, N管接低GND2. 识别接触孔版图中黑色的方框就是接触孔,一般只有源极或者漏极有。3. 识别栅极版图中竖着穿过P区和N区的长条结构就是栅极4. 识别源极和漏极一般NMOS接地端是源极,另一半是漏极;PMOS接电源端是源极,另一半是漏极。5. 识别串并联关系红框区域既是NM
2021-04-06 10:18:59
10231
2
原创 IC基础知识4-MOS管
1. 基础知识1.1 简介有结型场效应管(JFET),和金属-氧化物-半导体场效应管(MOSFET)以N沟道JFET为例:它在一块N型半导体材料两边高浓度扩散制造了两个重参杂P+区,形成两个PN结,两个P+区引出栅极G,两个PN结之间的N型半导体构成导电沟道,在N型半导体的两端分别引出源极S和漏极D.增强型NMOS管为例:它是利用半导体表面的电场效应进行工作的,由于栅极处于绝缘状态,因此也称绝缘栅场效应管,以P型硅片作为衬底,其上扩散两个重参杂的N+区,分别作为源区和漏区,在源区和漏区之间的衬底表
2021-04-02 15:29:06
2744
2
原创 IC基础知识3-输入阻抗和输出阻抗
1. 计算方法输入阻抗:通过在输入端加上一个电压源U,测试输入端的电流I,则输入阻抗Rin=U/I。输入阻抗越大越好,电阻越大,可以得到的分压越大,驱动能力越强。输入阻抗越大,相对应的电源内阻就会显得越小。输出阻抗:又称为内阻,不接负载的情况下测得输出端的电压U/I。因此Ro越小越好,因为内阻越小,自身损耗也就越小,带负载能力就越强。2. 计算举例如图所示为阻容耦合共射放大电路,取β = 100,rbe = 1k其交流等效模型:则电路放大倍数:信号源放大倍数:输入阻抗:Ri = Rb
2021-04-01 19:26:02
12988
1
原创 IC基础知识2-三极管
1. 简介三极管有两种:NPN管和PNP管,三个接口分别为基极(B)、发射极(E)、集电极©;有三种工作状态:截至状态、放大状态、饱和状态;截至状态:发射结反偏,集电结反偏 Vb<Vc, Vb<Ve (NPN)放大状态:发射结正偏,集电结反偏 Vb>Vc, Vb<Ve (NPN)饱和状态:发射结正偏,集电结正偏 Vb>Vc, Vb>Ve (NPN)放大状态的原理:NPN管的P管很薄,发射结正偏,导致N管的电子通过扩散作用到达P管,小部分中和了P管的空穴,形成基
2021-04-01 15:51:29
2172
原创 IC基础知识1-二极管
1. 简介二极管又称为PN管,由P型半导体和N型半导体结合而成。其中P型半导体通过在硅或者锗中添加3价硼元素得到,其多子为空穴;N型半导体添加5价磷元素得到,其多子为自由电子。之后,两边的多子向对方运动,但是P型的空穴扩散到N型区之后,本身会形成负离子,N型半导体的电子向P区扩散,会形成正离子,正负离子形成的内电场限制了多子的进一步扩散,这个电场构成的电压就是我们的导通电压。因为当内电场消失时,有利于扩散运动,此时的PN结非常的薄,形成了扩散电流,二极管导通。2. 应用稳压二极管:工作在反向击穿区
2021-03-31 16:51:59
2104
原创 总线通信协议-PCIe
文章目录1.简介1.1 总线特点1.2 总线接口1.3 拓扑模式2. 传输协议3. 小结1.简介采用串行同步全双工的传输方式,工作频率可以达到2.5GHz。1.1 总线特点代表着传统并行总线向高速串行总线发展的时代的到来为了兼容之前的PCI总线设备,虽然PCIe是一种串行总线,无法再物理层上兼容PCI总线,但是在软件层上面却是兼容PCI总线的和很多的串行总线一样,PCIe采用了全双工的传输设计,即允许在同一时刻,同时进行发送和接收数据。1.2 总线接口设备A和设备B之间通过双向的Link
2021-01-25 21:56:18
4120
原创 总线通信协议-PCI
文章目录1. 简介1.1 总线特点1.2 总线接口1.3 拓扑模式2. 传输协议2.1 传输模式2.2 时序图2.3 PCI-X总线基本概念2.4 PCI传输速率3. 小结1. 简介PCI(Peripheral Component Interconnect)总线协议由Intel在1992年提出,是一种局部并行总线,PCI常见的时钟频率为33MHz,32bit位宽,速率为133MB/s,作为扩展接口,主要用于外围设备的连接和扩展,是以前将声音,视频和网卡连接到主板的通用功能方法,但由于这些外设的速度越来越
2021-01-23 20:01:01
5791
原创 总线通信协议-USB
目录1. 简介1.1 总线特点1.2 总线接口1.3 拓扑结构1.4 传输模式2. 传输协议3. USB设备枚举4. 小结1. 简介USB,是英文 Universal Serial BUS (通用串行总线)的缩写,其中文简称“通串线”,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。1.1 总线特点即插即用 PnP(Plug and Play)(在计算机运行过程中随意地接入,并且立刻就能正常投入工作),支持热插拔(在系统不重启,不断电的情况下可以更换设备);传输速度快,在 USB1.0
2021-01-23 11:54:29
1424
原创 总线通信协议-CAN
1. 简介CAN总线:控制器局域网络,Controller Aera Network,是为了实现设备间信息共享,解决布线多,布线难的问题。1.1. 总线特点串行,速度与传输距离相关,可调节1Mbps一种广播式,多主控的总线系统差分信号,抗干扰性强,速度可以调节,串行1.2 总线接口CANL:只有低电平和高阻位CANH:只有高电平和高阻位没有电平差时:隐性状态,用高电平表示有电平差时:显性状态,用低电平表示。因为显性状态表示优先级高,而在线与逻辑中,低电平的优先级高。1.3 工作模式
2021-01-20 21:11:20
3037
原创 总线通信协议-SPI
目录1. 简介1.1 总线特点1.2 总线接口:1.3 工作模式2. 传输协议2.1 时序图2.2 结构图2.3 状态图:2.4 代码实现3. 小结1. 简介SPI总线又称串行外围总线接口:serial peripheral interface。1.1 总线特点特点:全双工,串行,同步,高速接口 10Mbps。slave设备的CLK由master的SCK管脚提供,slave本身不能产生或控制clock.SPI总线在传输数据的同时也传输了时钟信号,所以SPI协议是一种同步传输协议SPI总线协
2021-01-19 17:01:12
752
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人