清华数电复习_第1页
清华数电复习_第2页
清华数电复习_第3页
清华数电复习_第4页
清华数电复习_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章:布尔代数1、 URISC:超级精简指令计算机包括控制单元,数据通路和存储器,还有一个时钟信号数据通路:程序计数器,寄存器,ALU,地址寄存器,数据寄存器。控制单元:产生控制信号2、 摩尔定律:集成电路的集成度每三年翻两番,工作效率提高约30%。但集成电路的集成度和工作效率不能无限提高,因为要考虑集成电路的功耗问题。功耗问题制约着集成电路的发展。考虑到功耗问题,增大集成度就要降低频率,提高频率就要降低集成度。3、 机器码:原码、反码和补码正数的原码是本身,负数的原码是绝对值+2(n-1)正数的反码等于原码,负数的反码是原码的符号位不变,数值位按位取反正数的补码是本身,负数的补码是取反加一

2、;表示范围比原码和反码多1,0只有一种注意:1. 采用补码表示,可以用加法器来实现减法运算:a) 先对减数进行求补运算(取反加1)b) 将求补后的减数与被减数相加c) 相加的结果即为用补码表示的两数相减结果2. 有符号数用补码表示,那么无符号数和有符号数的加减运算可以用同一电路完成,无符号数无进位,有符号数无溢出4、 二进制编码:a) BCD码(有权码):09都用对应的二进制数表示b) 余三码(无权码):十进制数加三后表示为二进制数,可以产生正确的进位,但结果需要修正,若有进位,加3;无进位,减3c) 格雷码:可靠编码,相邻的两个二进制数只有一位不同d) ASCII码(美国标准信息交换代码):

3、用七位二进制码对字符进行编码;09:0110000-0111001;A-Z:41H:1000001;a-z:61H:11000015、 多媒体信息的编码:采样、量化、编码6、 与或非门7、 布尔代数:用逻辑门实现,通过定律可以化简函数或取消冒险8、 组合逻辑的设计:a) 逻辑抽象b) 真值表c) 卡诺图化简(化简结果不唯一)d) 逻辑函数e) 逻辑图9、 最小项:在n变量逻辑函数中,含有所有n个变量的与项,每个变量均以原变量或反变量的形式出现且仅出现一次;最大项:在n变量逻辑函数中,含有所有n个变量的或项,每个变量均以原变量或反变量的形式出现且仅出现一次。组合逻辑函数的标准形式:最小项的或或者

4、是最大项的与第三章:组合逻辑电路1、 组合逻辑:输出是输入的逻辑函数,当前输出仅与当前输入有关,无记忆电路基础器件:晶体管电路结构:逻辑门2、 组合逻辑部件:1 比较器a) 抽象出输入、输出变量b) 做出真值表c) 卡诺图化简d) 写出逻辑函数e) 做出逻辑图2 编码器:用m位二进制编码为n<=2m个信号进行编码a) 普通编码器b) 优先编码器:多个信号可以同时输入3 译码器:n个输入,2n个输出处理器中利用译码器寻址4 数据选择器:2n个数据输入,n个选择输入,一个输出,多路开关快速查找表5 加法器:计算机中加、减、乘、除,均可转换为加法运算。a) 半加器:不考虑进位b) 全加器:考虑

5、进位c) 串行加法器:进位是串行进行,必须在低位运算完后才能求高位d) 并行加法器:进位通过单独的电路实现,成本高3、 大规模集成电路大多采用CMOS,静态功耗低a) CMOS反相器:PMOS接高电平,NMOS接低电平 b) CMOS与非门:两个NMOS串联接地,PMOS并联 c) CMOS或非门:两个NMOS并联,PMOS串联 NMOS串联时,PMOS必须并联,反之亦然;NMOS和PMOS必须一个导通,一个截止d) CMOS与门/或门:与非门/或非门+非门:晶体管更多,面积更大,速度更慢e) 传输门:PMOS和NMOS并联 传输门实现三态门:0、1、高阻态典型应用:设备和总线使用三态门连接f

6、) CMOS漏极开路输出:无PMOSl 工作时必须外接电源和上拉电阻,带负载能力强l 输出端可直接相连,实现线与功能4、 组合逻辑中的冒险:由于不同路径的延时不同造成1) 静态冒险:一个本应保持不变的输出经历瞬时转换静态1冒险:取值为1的输出瞬时经历0状态静态0冒险:取值为0的输出瞬时经历1状态消除静态冒险的前提:输出的毛刺是单端输入取值变换的结果冒险消除:a)加入冗余项b)加入采样脉冲2) 动态冒险:本应发生从0-1或者1-0的单次跳变的输出信号发生不只一次跳变5、 组合逻辑的非理想因素1) 稳态因素:逻辑电平,噪声容限,扇出系数a) 逻辑电平b) 噪声容限:两级电路之间输出电压与输入电压的

7、差值VNHc) 扇出系数:最坏情况下,一个逻辑门所能驱动的输入端数目2) 动态因素:速度/延时,功耗,噪声a) 速度:逻辑门的输出从一个状态转换为另一个状态需要的时间延时:从逻辑门的输入发生变化到输出发生变化所用的时间(延时导致冒险)b) 功耗:单位时间内消耗的能量1静态功耗:CMOS在输入稳定的情况下,总有一个管子截止,因而理想情况下静态功耗为0;但由于漏电流的存在,实际静态功耗不为02 动态功耗:CMOS电路工作时会产生动态功耗,由开关电流和短路电流引起。开关电流:输入为“0”时,PMOS导通,电源通过PMOS向负载电容充电;输入为”1”时,负载电容向NMOS放电。开关电流就是对负载电容不

8、断地充放电形成的。低功耗技术:降低工作电压和工作频率功耗时延积:低功耗,延长电路寿命;时延小工作速度快第五章:时序逻辑电路1、时序逻辑电路:电路的输出不仅与当前的输入有关,还与电路原来的状态有关;关键部件:具有存储功能的记忆元件电路的状态与时间顺序有关2、时钟:分布于包含记忆元件的电路中的一个周期信号(同步/异步)时钟信号:用来同步控制所有的时序单元(锁存器/触发器)时钟信号的产生:利用反相器形成环形振荡器产生一组具有不同相位的时钟信号:3、亚稳态:两个时钟域不同步,CLKB对在DA变化时最DA采样,采样值可能为0也可能为1,非确定值4、双稳态单元基本时序单元5、状态机:给定一个输入集合,根据

9、对输入的接收顺序确定一个输出集合有限状态机:输入和输出集合都是有限的,而且状态的数目是有限的。有限状态机模型:状态集合,状态转移集合,关联于状态的操作集合,关联于转移的操作集合,同时关联于状态和转移的操作集合。6、 有限状态机的分类:a) Mealy机(米利机):输出依赖于当前的网络状态和当前输入b) Moore机(摩尔机):输出只依赖于当前的网络状态,与输入无关7、 基本时序电路:1) 锁存器:在任意时刻连续监测输入,并改变输出状态,与时钟信号无关(时钟信号可以有也可以没有,有的话只是用作使能端)有透明性a) RS锁存器: b) D锁存器:可以有时钟信号作为使能端,在时钟信号有效期间,时刻监

10、测输入取值c) 锁存器的时间参数:最小脉宽:为了得到输出结果需要的输入信号有效的最短时间延时:输入信号发生变化后,输出信号发生变化需要的时间建立时间:锁存操作开始之前,输入信号保持不变的时间保持时间:锁存操作开始以后,输入信号保持不变的时间d) 应用:输入缓冲电路防止各个输入信号到达时间不一致导致的竞争与冒险2) 触发器:仅在时钟有效时采样输入,并改变输出状态基本结构:双稳态单元可以避免透明性,每个时钟信号只改变一次a) 主从触发器:脉宽触发b) 边沿触发器:利用时钟的上升沿或者下降沿触发第六章:时序逻辑电路的设计1、摩尔型时序电路输出与时钟同步,输出与状态同步,状态多米利型时序电路输出与时钟

11、异步,只要输入发生变化,输出就发生相应变化;可能出现毛刺;状态少2、同步时序电路的设计方法:1)确定输入和输出,抽象出一个有限状态机2)状态化简3)状态分配4)确定激励方程和输出方程5)根据激励方程和输出方程,画出两级或多级电路图3、同步时序电路:串行加法器:记录进位第九章 时序逻辑电路1、寄存器:触发器构成a)存储寄存器:仅存储并行输入,并行输出b) 移位寄存器:移位+存储串入串出,串入并出,并入串出,并入并出四种串入简单,并入分为移位模式和加载模式2、计数器a)加法/减法计数器b)特殊进制计数器c)环形/扭环计数器环形计数器:将移位寄存器的串行输出接到串行输入,不能自启动 只有n个有用状态

12、,2n-n个状态被浪费1) 可以增加组合逻辑电路使得电路能够自启动2) 利用触发器的预置位和复位功能重新加载计数器扭环计数器:将移位寄存器的输出的反接回串行输入端,可以自启动N个触发器,有2N个不同状态,比环形计数器的模多一倍,但触发器的利用率仍不够d)异步/同步计数器异步计数器:自启动:在无外界干预的情况下,经过若干状态转换能够进入正常计数状态微机原理1、 CPU执行时间=指令数*每条指令的平均执行周期数*时钟周期2、 提高执行速度:1)快速电路技术2)流水线结构3、 MIPS:RISC:32个通用寄存器(32位)$0始终返回0;$31被子程序调用指令(跳转与链接指令)用于保存返回地址230

13、个存储字,字地址必须是4的倍数4、 为什么只32个通用寄存器?电信号传输距离越远,传输时间越长,寄存器太多会延长时钟周期5、 内存访问:load和store指令6、 算术运算指令:add $t0,$t1,$t2sub $t0,$t1,$t2addi $t0,$t1,5#立即数加法,无立即数减法7、 逻辑运算指令:and,or,nor(或非),xor(异或)如何实现或运算?将$t0与1异或8、 移位运算:1) 移位量为立即数sll $t0,$t1,4srl $t0,$t1,4sra $t0,$t1,43) 移位量在寄存器中sllv $t0,$t1,$t2srlv $t0,$t1,$t2srav

14、$t0,$t1,$t29、 比较指令:1)比较两个寄存器slt $t0,$t1,$t2#if($t1<$t2)$t0=1sltu $t0,$t1,$t2 #无符号数比较2) 寄存器与立即数slti $t0,$t1,$t2#if($t1<$t2)$t0=1sltui $t0,$t1,$t2 #无符号数比较1、 MIPS的操作数只能是寄存器或者立即数,若为内存中的数据,需要先用LOAD指令取出2、 数据传送指令Load指令:lw $t0,32($t1) #只能用基址(变址)加偏移量内存寻址方式lh(半字),lb(一个字节),装入最低位,剩余位用符号位填充(符号扩展)lhu,lbu,无符

15、号数,最高位补0(0扩展)store指令:sw $t0,32($t1),sh,sb,shu,sbu3、 将寄存器数据和内存数据交换:用栈来保护$sp指针,栈从高到低增长,堆从低到高增长。1)入栈addi $sp,$sp,-12sw $s1,8($sp)sw $s2,4($sp)sw $s3,0($sp)3) 出栈lw $s1,8($sp)lw $s2,4($sp)lw $s3,0($sp)addi $sp,$sp,124、 装入高位立即数lui $t1,30将32位立即数0x1234abcd装入t1寄存器lui $t1,0x1234ori $t1,abcd5、 流程控制指令:顺序、分支、循环1

16、) 分支:条件分支:beq$t1,$t2,Targetbne $t1,$t2,Target无条件分支:j Lable分支指令的应用:a) 条件分支Unsigned int i,j;if(i<j)z=g+h;else z=g-hsltu $t0,$t1,$t2#比较指令beq $t0,$zero,Else#分支指令sub $s0,$s1,$s2j ExitELSE: sub $s0,$s1,$s2Exit:2) 循环While(savei=k)i=i+1;Bne,loop6、 子过程调用:(跳转与链接指令jal)$a0-$a3传递参数;$v0-$v1返回值;$ra返回地址jal Proce

17、durejr $ra过程调用$s0-$s7必须保存7、第一步为什么要左移两位?因为每个数组元素占1个字节,即4bit,所以要左移两位,来表示第i个字节8、赋值:move $s0,$zero9、字符串操作:需要额外的存储空间存储字符串长度或者字符串结尾标识符第二章 MIPS三种指令格式1、MIPS有三种指令格式:R型(Register Format):算数运算指令和寄存器指令I型(Immediate Format):数据传送指令及立即数指令、分支指令分支指令采用PC相对寻址,需要左移两位再与基址相加(PC+4)+(OFFSET<<2),OFFSET指的是字节数,而非bit数,分支范围

18、是向上215条指令和向下215-1条指令J型(Jump Format):跳转指令,跳转与链接指令,26个字节,左移两位2、MIPS寻址方式:寄存器寻址add $s0,$s1,$s2,立即数寻址addi $sp,$sp,4,基址加偏移寻址lw $s0,8($t0),PC相对寻址(分支beq $s1,$s2,L1),为什么以PC为基准?几乎所有的条件分支指令都是跳转到当前指令附近的地址。如何处理16位无法表达的远距离分支?插入一个无条件跳转指令,并将当前分支指令取反以确定是否跳过该指令,即分支指令与无条件跳转指令结合:如bne $s0,$s1,L1=>beq $s0,$s1,L1 j L L

19、1:伪直接寻址(跳转指令,跳转与链接指令):26位无法表示如何?用寄存器跳转指令jr(32位);目的地址比当前地址小怎么办?减3、内存布局:4、浮点数:32.25e-25、标识符:字母,数字,下划线,”.”不能以数字开头,保留字不能作为标识符6、伪指令,汇编时用等效指令替代:MOVE(数据传送)move $t0,$t1=>add $t1,$zero,$t0,LI(装入立即数),LA(装入地址)第三章:处理器1、处理器包括数据通路和控制器2、CPU执行时间=指令数*CPI(每条指令平均执行周期数)*时钟周期3、数据通路部件:通用寄存器,算术逻辑单元,存储器(数据/指令)、程序计数器,符号扩

20、展单元,数据选择器4、寄存器:D触发器构成5、时钟同步方法:只有在写操作的时候,时钟信号才有效;读操作和组合逻辑相同6、单周期,周期长度由执行时间最长的指令决定7、多周期数据通路与单周期区别:1)指令和数据共用一个存储器2)只需要一个ALU单元,而不是一个ALU+两个加法器3)在每个单元后加入了一个或多个寄存器存储输出值,以便在后面的时钟周期内使用8、指令执行步骤:1)取指令2)指令译码和读寄存器3)执行指令,存储器地址计算或分支完成9、性能:存储,ALU和寄存器堆有延时,其他无延时分支和跳转3个周期,sw和ALU4个周期,lw5个周期第四章 异常处理1、异常:处理器内部的不可预知事件,如溢出

21、;同步2、中断:来自处理器外部的不可预知事件,例如I/O;异步3、异常是非程序控制的控制转移:1)记录产生异常的指令地址2)保护现场3)处理结束后恢复现场4)执行响应操作4、获得异常处理程序地址的方法:8086向量法;入口保存在固定地址出;MIPS原因寄存器:使用一个通用的异常处理程序,通过将足够的信息加载到原因寄存器中来采取相应措施EPC寄存器保存异常地址;Cause寄存器:异常原因第五章:流水线1、流水线:将一条指令的执行过程分解为若干个子过程,每个子过程与其他子过程同时进行。通过时间重叠来提高处理器的处理速度。2、超标量: 设置多个独立的功能部件确保处理器可以在一个周期内执行多条指令3、

22、超长指令字:在一条指令中设置多个独立字段,确保各字段可以独立控制功能单元并行工作4、但流水线不能缩短单条指令的执行时间,但可以提高指令的吞吐率;流水线的时间受限与最慢的处理资源5、流水线性能:1)吞吐率:单位时间内处理的指令数2)加速比:不使用流水线和使用流水线的时间之比6、取指令、指令译码和读寄存器、执行指令、访问存储器、写回寄存器7、 单周期、多周期、流水线的比较流水线冒险:1) 结构冒险:多条指令同时使用同一部件,无法在同一周期内执行解决:增加资源,如增加运算部件、使用哈佛体系结构(指令和数据存放在不同的存储器中)2) 数据冒险:一个操作必须等待另一个操作完成才能进行,流水线必须停顿。(

23、指令间的数据相关关系)解决:1)硬件:数据转发2)软件:指令调度3) 控制冒险:处理器需要根据一条指令进行决策(分支指令造成),为了取到正确的指令而产生流水线延迟解决:1)硬件:阻塞,分支预测2)软件:指令调度延迟分支1、 将单周期通路改造为流水线:1) 在各功能单元间加入寄存器存储各级输出值,以便本级的值可以直接被下一级使用,防止数据冒险2) 寄存器堆的读写:写操作发生在时钟周期的前半段,读操作发生在时钟周期的后半段,因此数据可以在一个周期内完成读和写2、 控制信息:ID段产生控制信息,控制EX,MEM,WB,控制信号依次传递3、 数据冒险与转发:通过额外的硬件(数据转发单元)提前得到需要的

24、结果数据冒险与阻塞:LOAD指令紧跟一条需要读取其结果的指令时,数据转发解决不了,必须通过流水线阻塞(冒险阻塞单元)4、 控制冒险:1) 静态分支预测:a)假设分支不发生,若分支,则丢弃ID,IF,MEMb)提前分支预测:在ID段计算分支地址,并判断是否进行分支,额外的硬件支持 2) 动态分支预测: 根据分支发生的历史记录,判断是否分支; 1位动态预测,根据前一次预测;2位动态预测,根据上两次预测下一次2) 指令调度(分支延迟)在分支指令之后加入适当的无关指令(分支延迟槽),以延迟后续操作。分支延迟槽中的指令执行完之后,才执行分支指令5、 流水线中的异常处理:需要清除IF,ID,MEMEPC:

25、异常处理的地址+4,EPC-4得到异常地址第七章 cache1、SRAM:速度快,所用管子多,单个器件容量小,贵 DRAM:速度慢,所用管子少,芯片密度高,但需要刷新2、速度:寄存器100ps>cache0.5-2.5ns>主存储器50-70ns>磁盘ms>光盘/磁带3、存储器访问的局部性原理:时间局部性(循环)和空间局部性(顺序)4、高速缓存:cache硬件实现地址映射和替换算法,包括统一cache(指令和数据使用同一个Cache),哈佛Cache(数据和指令分开两个Cache)5、如何知道cache是否命中?在内存地址和Cache地址之间建立确定的逻辑关系:地址映射

26、将主存分块,有块地址和块内地址;cache分成同样大小的块;二者以块为单位进行数据传输a) 直接映射:主存中的每一块只能装入特定的行中j=imod2c简单,但命中率低b) 全相联映射:主存中的每一块能够映射到cache任一行中,命中率高,但要做相联比较,代价高c) 组相联映射:将cache分成g组,每组k行,组间为直接映射,组内为全相联映射替换策略有空行填空行,无空行,a)FIFO先进先出法b)LRU最近最少使用c)随机方法更新策略1. 写无效:命中时,直接写入主存,并使cache行无效,可能造成缺失率增加2. 通写:cache和主存都写,访问时间=访问主存时间3. 带缓冲的通写:加硬件缓冲器,处理器处理和写入内存同时进行4. 回写:只写cache,修改标记,会造成主存与cache不一致6、 性能分析CPU时间=(CPU执行周期数+存储器停顿周期数)*时钟周期长度存储器停顿周期数由cache缺失导致7、 多级CacheL1目的在于减少命中时间,小;L2致力于减少缺失率,大第十章:虚拟存储器1、单处理器只能在同一时间处理一个进程,但由于进程间切换较快,所以好像是同时进行2、存储器管理有两种基本方法:页式管理和段式管理3、虚拟存储器的访问:局部性原理4、虚拟存储

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论