本篇专为上课啥也不听还想不挂科的同志准备
每大点前部分为知识点后部分为习题,红色标注为重点部分
题型总结:
选择填空就不多说了,根据知识点出题。
大题分三种,简答题、计算题、分析题
标红为必会!!!
具体题目都放在每部分的知识点后面了
简答题:
1.给你几行MIPS指令,分析数据冒险并解决
2.虚拟存储器部分虚拟地址实地址的转换
3.寻址方式部分求转移指令机器码
4.给你C语言语句让你写MIPS指令
5.给你MIPS语句让你去分析寄存器中内容的变化
计算题:
1.cache地址映射部分计算主存地址格式
2.原码补码的计算(有符号数无符号数、加法乘法减法、溢出判断、位扩展后的计算)
3.性能指标部分的计算
4.DRAM刷新死区时间的计算
分析题:
1.数据通路分析,如给你一条指令让你去分析该指令的指令通路、控制信号
2.数据冒险解决,给你MIPS指令让你去分析冒险类型并通过数据旁路和增加气泡的方式去解决
一丶计算机系统概述
1.程序的执行
2.计算机的发展
计算科学之父:图灵——图灵机——通用计算机理论基础
现代电子计算机之父:冯诺依曼
世界第一台全数字电子计算机:ENIAC
冯诺依曼体系结构:(必考)
五大部件:输入、输出设备,控制器,运算器,存储器
数据表示:二进制
两大设计思想:存储程序、程序控制(存储程序:将解题步骤编成程序存放到存储器中,程序控制:逐条取出指令按顺序执行,控制各部件工作)
3.计算机系统结构
习题:
1.计算机硬件能直接执行的是 机器语言
2.操作系统加载程序时是加载到 主存
3.
4.计算机字长与(运算精确度)密切相关。CPU地址线数量与内存容量密切相关
5.第一部分考计算题或填空题都是这种类型
6.
二丶计算机分类及性能评价
1.计算机性能
主存容量、存取周期、主频、时钟周期(主频倒数)、机器字长
2.计算机性能评价
响应时间、吞吐率、CPU执行时间(用户CPU时间和系统CPU时间)、程序的指令数(IC)、每条指令的时钟周期数(CPI)、MIPS(每秒执行多少百万条指令,与CPI和主频有直接的关系,主频越高MIPS越高,CPI越小MIPS越大)、MFLOPS(描述浮点数操作速度指标)
3.计算机分类
略
习题:
1.
2.
:90/1.5+10=70
3.
4.
三丶数据信息的表示
1.大端与小端存储
大端存储:高字节存储在低地址,低字节存储在高地址。
例如,对于一个32位整数0x12345678:内存中的存储顺序为:0x12 0x34 0x56 0x78
地址: 0x00 0x01 0x02 0x03
数据: 0x12 0x34 0x56 0x78
小端存储: 低字节存储在低地址,高字节存储在高地址。
例如,对于一个32位整数0x12345678:内存中的存储顺序为:0x78 0x56 0x34 0x12
地址: 0x00 0x01 0x02 0x03
数据: 0x78 0x56 0x34 0x12
2.定点数的编码
3.浮点数
重点是规格化(IEEE754标准)
阶码偏移量为127
4.运算
在定点二进制运算器中,减法运算一般通过补码运算的二进制加法器来实现
因为引入补码运算可以消除减法操作
习题:
1.
2.
4.计算机中数据默认用补码表示,类似的题如果没标明默认为补码形式
四丶运算方法与运算器
1. 行波进位加法器(含减法器实现),和串行,进位串行全加器。会列真值表,公式及图
可以得到
全加器:
串行进位加法器:


2. 先行进位加法器,和并行,进位并行
先行进位电路:
先行进位加法器:
组内并行、组间并行加法器:

3. 溢出产生的原因,加、减法运算中的溢出判断方法

4. 乘法器实现(多次加法和移位)详情看PPT吧
5.移位运算
逻辑移位、算术移位
习题:
五丶存储系统
1. 各类存储器
按存储介质分类:半导体、磁存储、光存储
按存取方式分类:随机存储器(RAM)、顺序存储器(SAM)、直接存储器(DAM)
按信息的可改写性分类:读写存储器和只读存储器(ROM)
按信息的可保存性分类:易失性存储器(RAM),非易失性存储器(ROM、闪存)(断电后保存的信息不丢失)
按功能和存取速度分类:寄存器存储器,高速缓冲存储器,主存储器,外存储器
2. 存储器性能指标(存储容量、存储周期、存储带宽)
-
1> 存储容量:存储字数*字长
-
2> 存取周期:它是指存储器进行一次完整的读写操作所需的全部时间,即连续两次独立访问存储器操作(读或写操作)之间所需的最小时间间隔
-
3> 存储速度:数据传输率=数据的宽度/存储周期
4. 存储层次结构,根据不同需求(如容量、速度等)设计存储系统
5.半导体存储器
静态随机存储器SRAM
动态随机存储器DRAM
刷新周期:存数据存入DRAM开始,到数据流失之前为止的这段时间,称为最大刷新周期
DRAM按行刷新
1)集中刷新
在一个刷新周期内,利用一段固定的时间,依次对存储器的所有行进行逐一再生,期间停止对存储器的读写操作,即死时间,访存“死区”。
优点:读写操作时不受刷新工作的影响,系统的存取速度较高。
缺点:在集中刷新期间(死区)不能访问存储器。
2)分散刷新
把对每行的刷新分散到各个工作周期中,一个存储器的系统工作周期分为两部分:前半部分用于正常读写或保持;后半部分用于刷新某一行。
优点:没有死区。
缺点:加长了系统的存取周期,降低了整机的速度。
3)异步刷新
将刷新周期除以行数,得到两次刷新操作之间的时间间隔t,每间隔时间t产生一次刷新请求。
前两种方法的结合,即可缩短”死时间“,又能充分利用最大刷新间隔2ms的特点。
![]()
程序局部性:是指在一段时间内,整个程序的执行仅限于一个较小的局部范围内。具体来说,表现为时间局部性和空间局部性。
6. 衡量 Cache 性能的重要指标:命中率
在CPU和主存之间添加了cache后,CPU不再直接直接访问慢速的主存,而是通过直接地址访问快速的cache。为便于快速查找,主存和cache都被划分为若干个大小固定的数据块,每个数据块又包含若干个子。进行数据分块后,需要给主存内的数据块和cache内的数据块分配地址。
数据块的的地址由块地址和块内偏移地址构成

7. Cache 的写处理方式:写穿和写回

8. Cache 地址映射:(这部分的例题要好好看看)
全相联映射:
直接相联映射
组相联映射

9. Cache 的替换策略

10. TLB 的作用(CPU中的小cache)
MMU:存储管理控制部件(在CPU和物理内存之间进行地址转换,将地址从逻辑空间映射到物理地址空间)
11. 虚拟存储器
虚拟地址
虚拟地址是程序员看得见的地址,也称逻辑地址。物理地址也称实地址,实际物理内存单元的地址程序员看不见。
主存和虚拟地址空间都被划分为页、段
页表
页表是一张保存虚拟页号和物理页号对应关系的查找表。包含了每个虚拟页的映射,有多少个虚拟页就有多少页表项。
13. 命中情况分析
习题:
1.
2.
3.
4.
5.
6.
7.
8.
六丶指令系统
1. 指令操作码与操作数
2.寻址方式
(1)指令寻址(简单)
指令在主存中顺序存放,执行时从第一条指令开始,逐条取出并执行。分为顺序寻址(下一条指令地址=当前地址指令+1条指令长度)和跳转寻址(程序控制指令给出下一条指令的地址)
(2)操作数寻址(复杂)
立即数寻址 :
寄存器寻址:
直接寻址:
间接寻址:
寄存器间接寻址:
变址寻址:
基址寻址:
相对寻址:
3.复杂指令计算机(CISC)精简指令计算机(RISC)
4.MIPS指令
这部分考试的时候要会查表(MIPS指令表)!!!
还要会用机器码写指令或指令写机器码!!!
还要会用MIPS写简单的C语言或C语言写MIPS!!!(就像Mars的实验一样)
MIPS指令寻址方式是立即数寻址和寄存器寻址!!!
指令格式(要记住不同指令格式以及不同源和目的寄存器,要搞懂各字段作用和含义)
R型指令
I型指令
J型指令
J型指令比较好辨认就不再介绍了
条件分支指令(beq,bne)的目标地址计算方法
即PC=PC+4+ (符号扩展)imm<<2
无条件分支指令(J型)
即PC+4的高四位+address,00
习题:
1.16-6-2=8,2的8次方=256 2.变址寻址是(I)+ D是操作数的地址,后间接寻址,所以((I)+D)才是真正的操作数地址
3.相对寻址:主存地址+形式地址D=2006H,转移指令两个字节所以2006+2=2008H
4.1000H+2000H=3000H,变址寻址存放的是操作数地址,所以操作数是地址中的内容为4000H
(1)立即数(2)寄存器(3)直接(4)寄存器间接
7.
8.
9.
解析lw $t0,8($s0)
lw $t1,12($s0)
beq $s2,$s3,True
sub $t2,$t0,$t1
J Fin
True:
add $t2,$t0,$t1
Fin:
sw $t2,0($s1)
10.要会查MIPS表
sw,j型指令访存不写回
R型指令,除sw、lw指令外的I型指令写回不访存
lw又访存又写回
所以这里add的RegWrite为1,MemWrite为0;SW相反
画数据路径这没什么好说的,自己要把每种指令的通路搞懂,包括每种指令的控制信号!!!
11.这一部分会出分析题,给你数据通路的图让你去分析,包括时延、哪种数据冒险、如何解决数据冒险等类问题,一定要搞明白!!!
如:
12. 13.
14.
15.
七丶中央处理器(单周期)
本章主要是要把上课的那些图搞搞清楚,数据通路的图,指令执行路线,取指的路线等等
图片很多都在ppt里这里不单独放了
1.指令的执行
指令周期:从主存取一条指令并执行指令的时间
分为五步:取指、译码、执行、访存、写回
sw,j型指令访存不写回
R型指令,除sw、lw指令外的I型指令写回不访存
lw又访存又写回
这些步骤的流程图要自己去看懂!!!
2. 单周期数据通路(单周期指的是CPI=1)
数据在各功能部件之间传送的路径称为数据通路。
不同功能的指令及统一指令在不同指令周期中均可能使用不同的数据通路!!!、
3. 流水线技术
流水线级数不是越多越好:流水线寄存器延迟所占比例会越来越高导致资源浪费
4. 流水线冒险
(1)结构冒险:两条指令试图在同一时间使用同一硬件资源
通过增加硬件资源的方式解决
(2)数据冒险:在数据准备好之前试图使用数据
先读后写WAR,先写后读RAM,写后写WAW
阻塞的方法解决冒险不是很好,因为他会拖慢整个系统导致资源浪费
旁路实现:
旁路加阻塞:
判断数据冒险:检查相邻的三条指令,若一条指令在译码阶段源寄存器编号与前面两条指令写输入端的寄存器编号相同,则判断有数据冒险。
(3)控制冒险:分支指令之后载入流水线的相邻指令可能因为分支跳转而不能进入执行阶段
解决办法:
改进后的办法:
分支延迟槽:流水线不停顿
静态分支预测:
动态分支预测:
习题:
1.简单的大题这种一定要会
2.最后的分析题,题目一定就是这种,务必搞懂!!!
要会分析冒险,写出解决方法(气泡和旁路都要会)
这种时空图就是上课教员讲过的,大家要会在这上面画旁路和加气泡
3.
5.
解析:(1)
100011 00001 00010 0000000000000010
000000 00001 00011 00010 00000 100000
101011 00001 00010 0000000000000100
(2)$1 0x01 $2 0x04 $3 0x03
(3)0x05 发生了变化 变化为 0x00000004
6.
解析:(1)0x80000001
(2)发生溢出以后的结果,二进制的8是1000,两个正数相加得到了一个负数
(3)0x7FFFFFFD
(4)是期望的结果 两个正数相减得到的一定是最大表示范围内,不会发生溢出
八丶总线与输入输出系统
这部分是课上我们自己讲的,都是一些简单的知识点
1.基本概念
总线:是各功能部件传递信息的公共通路;
不仅包括物理连线,还包括逻辑结构和规则
2.总线的分类
3.性能指标
4.总线传输机制(总线仲裁)
总线事务:总线上主从设备之间的一次信息交换过程
传输过程:总线申请)总线仲裁,地址阶段,数据阶段,结束阶段
总线仲裁{集中式总线仲裁,分布式总线仲裁}(链式查询方式:饥饿现象,计数器定时查询方式,独立请求方式)
总线结构简单了解一下
5.输入输出系统
方式:
中断:
中断优先级:
附录:
指令通路和控制信号合集
这部分搞懂分析题20分就到手啦