47-2:这种题其实并不是考察定点数的乘法运算,在这种题使用乘法运算极度吃亏,相反,考察的是定点数的表示范围,通过转化成十进制,并搞清楚定点数表示的十进制范围,然后通过比较从而判断是否溢出。
47-3:这题考察了大/小端地址以及数据边界对齐的问题,具体的可以查看178页的解释,注意这道题目中的字节分配,可以看答案明白
48-10:这道题目考察的是对于 0 这个比较特殊的情况,原码、反码、补码和移码的区别,从而根据 0 所存在的形式数量,判断不同数据的存在数量:
48-11:考察定点数范围以及你对它的熟练度,知道为什么,才能做,这个我建议去看
49-20:这个描述把我坑了,补码与移码的 0 各自表示时当然唯一,但是它们之间相互比较自然不一样
47-28:这道题比较特别,主要是B选项的问题,x 为正数只是充分条件,比如说 x = 0 就打破了这个当且仅当条件,另外需要注意的是,补码的表示形式全部唯一
50-29:这他娘考的就是符号扩展
50-32:你都不知道模4补码是啥?书上41面,双符号位也称模4补码,具体理解可以看
要注意的是,存储模4补码只需要一个符号位,因为任何一个正确的数值,模4补码的两个符号位都是相同的
50-35:注意题目的表述,默认认为描述 -0 这种就是原码和反码了
51-42:考察溢出的判断条件,如果再次出错,建议重新观看42页
51-45:描述很奇怪,之后可能还需要判断,这个描述看来,它给你的是什么,本身的机器码就是什么,而且本身还考察了溢出的判断问题
52-54:在计算机中,主存地址主要都是用无符号数表示,因为主存地址都是正数所以不需要符号位
52-58:这他娘考的就是符号扩展,别想多了
52-59:搞清楚逻辑移位与算术移位的区别
53-2:你需要知道的是,这些转换来转换去,机器码本身是不变的,变化的只是对机器码的解释
54-6:变形补码又称之为双符号位,也叫模4补码
66-6:错的知识点都差不多,需要知道的是,阶码位数越多表示的数范围越大,尾数位数越多表示的精度越高
66-7:
这道题就是没搞清楚基数是啥,基数就是这里面的2咯,一般来说是默认为2,当然,可能改成别的考,另外
存在几个还没搞清楚咋回事的东西:
67-10:注意,IEEE 754的规则是隐藏了那一个1,但是你自己的规定没说隐藏,所以你懂的
67-11:没有搞清楚为什么要进行浮点数规格化,其实是为了提高精度的同时,保证数据的唯一性, 在计算机内,对非0值的浮点数,要求尾数的绝对值必须大于基数的倒数(默认小于等于1),这就要求尾数的最高有效位是1,满足这种表示要求的浮点数称为规格化表示,不满足条件的就需要规格化咯。 按规格化的定义-1/2确实应该是算规格化数,但是在机器实际判断规格化与否(以补码为例)是根据符号位与有效位最高位是否不同老判断的,即认为符号位与有效位最高位不同时才是规格化数,所以-1/2又不算规格化数,而根据定义-1本来不算规格化数,但其补码表示为11.0000,机器识别其是规格化数,所以应该是要站在机器判断的角度看,这两个是特殊情况,另外这道题a选项有个小问题,就是它现在是补码,你必须先把它化成原码再取绝对值
67-14:注意国际标准中的尾数编码是原码!
68-29、30、31:定点数是没有舍入概念的,别瞎搞;浮点数舍入有两种情况,对阶和右规格化;舍入不一定产生误差,比如说11.00 -> 11.0就没有产生误差;想要具体搞清楚这几道题,我们需要知道什么是溢出:
70-4:取 n = 8, 你的问题就变为 -128 的补码为什么 是 1000 0000忘掉 所谓的补码计算公式吧 -> (正数不变,负数除符号位之外,其余各位取反,最后+1)补码的本质 同余同余 运算了解哇? 1 ≡ 257 (mod 256) 0 ≡ 256 (mod 256) -1 ≡ 255 (mod 256) -> -1 的补码是 255: 1111 1111-2 ≡ 254 (mod 256) -> -2 的补码是 254: 1111 1110所以 -128 ≡ 128 (mod 256) -> -128 的补码是 128: 1000 0000说的远一点,数轴上任何一个整数都可以通过加减 256的整数倍 跳到0-255之间,它最后落到的位置就是它的补码比如计算机存储 -1, 实际就是存储的 255:1111 1111;注意基数只管阶码那一段,你要知道尾数依旧是二进制表示;
70-8:左规右规的次数问题,两个n位数的加减运算,其和/差最多为n+1位,因此有可能需要右规,但右规最多一次。由于异号数相加或同号数相减。其和/差的最少位数无法确定,因此左规的次数也无法确定,但最多不会超过尾数的字长n位次。
70-9: 原码表示的尾数判断浮点数是否规格化:第一个数值位是否为“1”,是,规格化;否,非规格化。补码表示的尾数判断浮点数是否规格化:符号位与第一个数值位是否相异,是,规格化;否,非规格化(-1/2除外);默认舍入取0舍1
70-10:无符号数的 -1 可以表示为 111111 这种;机器数为32个1时,int型数解释时其值为-1;int型最大可表示的是0后面加31个1;IEEE 754用阶码全1、尾数全0表示无限大
153-3:运算型指令寻址的是操作数,而转移型指令寻址的是程序转移地址
153-8:指令的地址个数和指令的长度是否固定没有必然联系,即使是单地址指令也可能由于单地址的寻址方式不同而导致指令长度不同
162-2:首先,我们采用不同寻址方式的原因是为了缩短指令字长,扩大寻址空间,提高编程灵活性;但是,由于不同的寻址方式多了,增大了我们的译码难度;最后,实现程序控制的是转移指令
163-16:这个考察的只有进位标志和零标志,与符号标志、溢出标志无关
164-17:这题我估计它在考什么你都没看懂,虽然选对了但根本没懂;发现自己连题目都没看懂,笑死
164-20、21、22:操作数有效地址和操作数本身是不一样的,按照操作数地址取到的内容才是操作数本身
164-24:这道题目的问题你没弄明白
165-1:这个需要理解记忆:
165-2:这道题目错在了PC那个地方,你需要知道的是变址寻址、基址寻址的优点是扩大寻址范围(寄存器位数大于形式地址A的位数),但是相对寻址就不一样了,PC的位数可并没有扩大寻址范围,所以按照形式地址的大小计算寻址范围
166-5: ,另外,这道题第三小问用了助记符,记得仔细审题,明白它是什么意思
167-7:这个补码呀,还是有符号位的,应该,至少现在写的题全部满足条件,另外你这个臭弟弟别老拿有效地址当内容好不好啊臭傻逼???
182-184(概念实在了解的不清晰):
184-23:其实考察的就是寄存器位的大小由什么决定,但考察的很灵活
190-1:这我真不知道,考察的是指令和数据都在存储器中以二进制形式保存,那么如何区别呢?无它,就是CPU根据指令周期的不同阶段判断,当然,这种区分是在控制器的控制下进行的
190-2:指令预取技术:如果不采取,那么每个指令周期都需要取指令;即使是空操作指令,在取指令操作后,PC也会自动加1;开中断状态:每条指令结束时都有可能被外部中断打断
190-4:存取周期是指存储器进行两次独立的存储器操作的最小时间间隔
190-6: CPU内部设有程序计数器PC,PC中的内容就是指令地址。程序的指令在PC中是顺序存放的。程序顺序执行时,PC的内容自动递增,形成下一条指令地址。当执行转移指令,改变程序执行顺序时,CPU将转移目的地址送给PC,形成了转移后的指令地址。也因此,指令总是根据程序计数器从主存中读出
190-9:取指操作是自动进行的,控制器不需要得到相应的指令
190-10:(操作码+地址码(指令地址))=(指令字)
190-15:中断周期用于响应中断,若有中断,则在指令的执行周期后进入中断周期
190-18:指令字长一般取存储字长的整数倍,若指令字长等于存储字长的2倍,那么需要两次访存,取指周期等于机器周期的2倍;如果指令字长等于机器字长,取值周期等于机器周期;指令字长和机器字长的长度没有任何关系
196-3:记住就好,这个也不太好描述
196-1:完整地分析一遍吧,很重要:
时钟 | 功能 | 描述 | 有效控制信号 |
---|---|---|---|
C1 | (PC) -> MAR | 在读写存储器前,必须先将地址送至MAR | PCout、MARin |
C2 | M(MAR) -> MDR, (PC) + 1 -> PC | 读写的数据必须经过MDR,指令取出后PC自增1 | MemR、MDRinE、PC + 1 |
C3 | M(MDR) -> IR | 将读到的MDR中的指令代码送至IR进行后续操作 | MDRout、IRin |
C4 | 指令译码 | ||
C5 | (R1) -> MAR | R1out、MARin | |
C6 | M(MAR) -> MDR | MemR、MDRin | |
C7 | (MDR) -> A | MDRout、Ain | |
C8 | (A) + (R0) -> AC | 执行加法操作,将结果写回到R1内容所指的主存单元,注意MAR中的内容没有变 | R0out、Add、ACin |
C9 | (AC) -> MDR | ACout、MDRin | |
C10 | (MDR) -> M(MAR) | MDRoutE、MemR、MARin |
215-218(又是一个不做题不好理解的题目):
215-10:这个地方需要搞清楚到底什么是控制部件与执行部件,其实也没什么,只是控制存储器的两个部分,搞清楚分别是干什么的就行了
215-12(注意微程序与微指令的对应关系):
微指令的格式(与微指令的编码方式有关) | 微程序长度 | 执行速度 | 微指令长度 | 编写微程序 |
---|---|---|---|---|
水平型微指令 | 短 | 快 | 长 | 麻烦 |
垂直型微指令 | 长 | 慢 | 短 | 简单 |
216-14:这个考察微指令的编码方式,就考察的相当灵活了,注意字段直接编码方式中每个小段还要留出一个状态,表示本字段不发出任何微命令,通常用000表示
246-1:取指令时,指令便是在数据线上传输的。操作数显然在数据线上传输。中断类型号用以指出中断向量的地址,CPU响应中断请求后,将中断应答信号发回数据总线,CPU从数据总线读取中断类型号后,查找中断向量表,找到相应的中断处理程序入口。而握手信号属于通信联络控制信号,应在控制总线上传输;
246-2:总线带宽是指单位时间内总线上传输数据的位数,通常用每秒传送信息的字节数来衡量。单位为B/s
246-3:总线的猝发传输方式:在一个总线周期内传输存储地址连续的多个数据字的总线传输方式,称为猝发传送;关键这题重点不是这个什么猝发传送啊,考的是先传送地址。。。先记住吧
247-5:猝发传输:一次总线事务中,主设备只需要给出一个首地址,从设备就能从首地址开始的若干连续单元读出或写入多个数据。多个存储地址连续的数据;
并行传输:指每个数据位有一条单独的传输线,所有的数据位同时进行
串行传输:数据的二进制代码在一条物理信道上以位为单位按时间顺序逐位传输的方式
同步传输:传输过程由统一的时钟控制
247-10:间址寻址首次访问内存所得到的信息是操作数的有效地址,该地址通过数据总线而非地址总线传送至CPU。地址总线是用于CPU选择主存单元地址和I/O端口地址的单向总线,不能回传;
247-13:单周期处理器就是指所有指令的指令周期为一个时钟周期的处理器,CPI代表每条指令执行所需的时钟周期数;因为每条指令的CPI为1,要考虑较慢的指令,所以处理器的时钟周期较低;单周期处理器并不指采用单总线结构数据通路;控制信号即指PC中的内容,PC用来存放当前欲执行指令的地址,可以自动+1形成下一条指令的地址。所以指令执行过程中,控制信号不变化;
247-15:不同信号在同一条信号线上分时传输的方式,称为总线复用方式
248-18:应该在输入输出设备那一章会详细讲解这种题型
248-22:
248-23:在实际时钟频率较低的情况下,并行总线因为可以同时传输若干比特,速率确实比串行总线快?但是随着技术的发展,时钟频率越来越高,并行导线之间相互干扰越来越严重,当时钟频率提高到一定程度时,传输的数据已经无法恢复;而串行总线因为导线少,线间干扰容易控制,反而不断提高时钟频率来提高传输速率;总线复用是指一种信号线在不同的时间传输不同的信息,它可以使用较少的线路传输更多的信息,节省空间和成本;分离事务通信是总线复用的一种,相比单一的传输线路可以提高总线的利用率;
248-24:多总线结构用速率高的总线连接高速设备,用速率低的总线连接低速设备;PCI-Express总线都采用串行数据包传输数据???
254-1:这个是书上的原话,计数可以从0开始,此时一旦设备的优先次序被固定,设备的优先级就按0、1、…、n的顺序降序排列,而且固定不变;计数也可以从上一次的终点开始,即采用一种循环方法,此时设备使用总线的优先级相等;计数器的初值还可由程序设置,故优先次序可以改变,且这种方式对电路的故障没有链式查询敏感;
254-2:在总线控制中,申请使用总线的设备向总线控制器发出总线请求,由总线控制器进行裁决。若经过裁决允许该设备使用总线,就由总线控制器向该设备发出总线允许信号,该设备收到信号后发出总线忙信号,通知其他设备总线已经被占用。该设备使用完总线后,将总线忙信号撤销,释放总线;
254-6:独立请求方式的优先次序是可以通过程序改变的,控制非常灵活,所有肯定可以采用某种算法实现各个设备使用总线的机会相同。
257-6:异步总线即采用异步通信方式的总线。在异步方式下,没有公用的时钟,完全依靠传送双方相互制约的握手信号来实现定时控制。传送操作时由双方按需分配时间的;所以这题别想多了;
258-1:考察地叫做有效数据传输率
264-1:I/O设备不可能直接与主板总线相连,它总是通过设备控制器来相连。
265-2:I/O指令是指令系统的一部分,是机器指令的一类,但其为了反映与I/O设备交互的特点,格式与其它通用指令有所不同
265-3:通道程序存放在主存而非通道中,由通道从主存中取出并执行。通道程序由通道执行,且只能在具有通道的I/O系统中执行
269-1:打印机从打字原理的角度来分,可分为击打式和非击打式两种,按照能否打出汉字来分,可分为点阵式打印机和活字式打印机;键盘、数据等输入设备一般都采用中断方式来实现,原因在于CPU需要及时响应这些操作,否则容易造成输入的丢失;
269-2、3、4:计算机中一个汉字内码在主存中占用2B,输出的字型码 16 * 16 点阵在缓冲存储区占用 16 * 16/8 = 32B;在字符显示器的VRAM中存放ASCII码用以显示字符;每个汉字用16 * 16点阵标识
270-8、11:这个还是操作系统讲的详细很多;对了,有个地方你理解错了,磁盘那玩意不是有转速嘛,转一圈假如为T,但是我们的时延是寻找扇区产生的,而找到这个扇区是平均时间,即T/2;
274-1:I/O总线是在内存和外设之间传输数据的总线,根据信号线上传输信息内容的不同可分为三类:数据线、控制线和地址线。控制线和地址线都是单向传输的,从CPU传送给I/O接口,而I/O接口中的命令字,状态字及中断类型号均是由I/O接口发往CPU的,故只能通过I/O总线的数据线传输;
275-9:物理地址是外部连接使用的,且是唯一的,它与地址总线相对应;而逻辑地址是内部和编程使用的,并不唯一。在内存中的实际地址就是所谓的物理地址,而逻辑地址就是用于逻辑段管理内存的,因此程序员使用逻辑地址访问设备
275-11:在执行一条指令时,CPU使用地址总线选择所请求的I/O接口,使用数据总线在CPU寄存器和端口之间传输数据;
284-1:浮点数运算下溢将按机器零处理,不会产生中断!!!!
285-7:当有多个中断请求同时出现时,中断服务系统必须能从中选出当前最需要给予响应的且最重要的中断请求,这就需要预先对所有的中断进行优先级排队,这个工作可由中断判优逻辑来完成,排队的规则可由软件对中断屏蔽寄存器进行设置来确定(但是中断判优操作既可以由软件实现也可以由硬件实现)
285-9:中断服务程序是处理器处理的紧急事件,可理解为一种服务,是通过执行事先编好的某个特定程序完成的,一般属于操作系统的模块,以供调用执行;
286-13:IO设备的就绪时间是随机的,而CPU在统一的时刻即每条指令执行阶段结束前接口发出中断查询信号,以获取IO的中断请求,也就是说,CPU响应中断的时间是在每条指令执行阶段的结束时刻。CPU会在每个存储周期结束后检查是否有DMA请求,而不是每条指令的执行过程中;
286-14:能产生DMA请求的总线部件只有具有DMA接口的设备
286-15:
286-18:一条指令执行完毕可能响应中断请求,但它本身不会引起中断请求
286-19:主存故障引起的中断时机器校验中断,属于内中断,外中断一般指主存和CPU外的中断
286-20:有点意思,这里用户程序需要输入/输出时,并不是说外设发起中断,这里是用户程序请求系统调用服务,所以是访管指令;
286-24:中断触发器置0代表关中断
286-27:有一说一,这个只能留些印象,中断请求一般来自CPU以外的事件,异常一般发生在CPU内部;
286-29:
输入/输出方式 | CPU与外设 | 传送与主程序 |
---|---|---|
程序查询 | 串行(CPU不断查询外设状态,直到外设准备就绪) | 串行(中断主程序执行数据传送) |
中断 | 并行 | 串行(中断主程序执行数据传送) |
DMA | 并行 | 并行 |
286-33:每个机器周期结束后,CPU就可以响应DMA请求;DMA再主存交换数据时通过周期窃取方式,窃取的时存取周期;
Comments
😅 Commenting is disabled on this post.