ComputerOrganization:Appendix01-简答题

来自Jimmy's Wiki
Jimmyho讨论 | 贡献2021年12月11日 (六) 20:15的版本 (创建页面)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

说明计算机系统的层次结构。

虚拟机器M4(高级语言机器)用编译程序翻译成汇编语言程序 虚拟机器M3(汇编语言机器)用汇编程序翻译成机器语言程序 虚拟机器M2(操作系统机器)用机器语言解释操作系统 传统机器M1(传统语言机器)用微程序解释机器指令 微程序机器M0(微指令系统)由硬件直接执行微指令

说明冯诺依曼体系结构的特点。

计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成 指令和数据均以同等地位存放于存储器内,并可按地址寻访 指令和数据均用二进制数表示 指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来标识操作数在存储器中的位置 指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序 机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成

什么是机器字长、指令字长、存储字长?

机器字长:指CPU一次能处理数据的位数,CPU中寄存器的位数(P17) 指令字长:机器指令中含二进制代码的总位数 存储字长:存储单元中含二进制代码的总位数(P13)

系统总线包括哪三类?起到什么作用?

数据总线:用来传输各功能部件之间的数据信息。 地址总线:用来指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备的地址 控制总线:用来发出各种控制信号,监视各部件状态。

总线判优控制是解决什么问题的?总的来说可以分为哪两种方式?

按一定的优先等级顺序确定哪个主设备能使用总线,只有获得总线使用权主设备才能开始传送数据 集中式 分布式

集中式总线控制优先权仲裁方式有哪三种?各有什么特点?

链式查询:只需要很少几根线就能按一定优先次序实现总线控制,很容易扩充设备,但对电路故障很敏感,且优先级别低的设备可能很难获得请求 计数器定时查询:计数可以从“0”开始,此时一旦设备的优先次序被固定,设备的优先级就按0,1,……,n的顺序降序排列,而且固定不变;计数也可以从上一次计数的终止点开始,即是一种循环方法,此时设备使用总线的优先级相等;计数器的初始值还可由程序设置,故优先次序可以改变。这种方式对电路的故障不如链式查询方式敏感,但增加了控制线数,控制也较复杂 独立请求方式:响应速度快,优先次序控制灵活,但控制线数量多,总线控制更复杂

简述总线周期的4个阶段。

申请分配 寻址 传数 结束

总线通信控制是解决什么问题的?总的来说有哪几种控制方式?各自的特点是什么?

总线通信控制主要解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调如何配合.

(1) 同步通信:规定明确、统一, 模块间的配合简单一 致.其缺点时间配合属于强制性“同步”,必须在限定时间内完成规定的要求

(2)异步通信: 克服了同步通信的缺点,允许各模板速度的不-致性,给设计者充分的灵活性和选择余地.它没有公共的始终标准,不要求所有部件严格的统一操作时间, 而是采用应答方式(又称握手方式).即当主模块发出请求(Request) 信号时,-直等待从模块反馈回来“响应”(Acknowledge) 信号后,才开始通信.

(3)半同步通信: 既保留了同步通信的基本特点,如所有的地址、命令、数据信号的发出时间,都严格参照系统时钟的某个前沿开始,而接收方都采用系统时钟厚沿时刻来进行判断识别;同时又像异步通信那样,允许不同速度的模块和谐的工作.

(4)分离式通信: 1各模块欲占用总线使用权都必须提出申请. 2在得到总线使用权后,主模块在限定的时间内向对方传送信息,采用同步方式传送,不再等待对方的回答信号 3各模块在准备数据的过程中都不占用总线,使总线可接受其他模块的请求 4总线被占用时都在做有效工作,或者通过它发送命令,或者通过它传送数据,不存在空闲等待时间,充分的利用了总线的有效占用,从而实现了总线在多个主、从模块间进行信息交叉重叠方式传送,这对大型计算机系统是极为重要的.

串行传输和并行传输有何区别?各适用于什么场合?

串行传输是指数据在一条线路上按位依次进行传输,线路成本低,但速度慢,适合于远距离的数据传输。 并行传输是每个数据位都有一条独立的传输线,所有的数据位同时传输,其传输速度快、成本高,适应于近距离、高速传输的场合。

试比较RAM和ROM。

RAM是随机存取存储器,在程序的执行过程中既可以读出又可以写入。 ROM是只读存储器,在程序的执行过程中只能读出信息,不能写入信息

从实现技术的角度,试比较SRAM和DRAM。

在同样大小的芯片中,DRAM(动态RAM)的集成度远高于SRAM(静态RAM) DRAM行、列地址按先后顺序输送,减少了芯片引脚,封装尺寸也减少 DRAM的功耗比SRAM小 DRAM的价格比SRAM便宜,容量大,存取周期长 DRAM的速度比SRAM低 DRAM需要再生,故需配置再生电路,也需要消耗一部分功率

存储芯片内的地址译码方式有几种?各自特点及应用场合?

线选法:适用于地址线较少的芯片。其特点是地址信号只须经过一个方向的译码就可以选中某一存储单元的所有位 重合法:适用于地址线较多的芯片。其特点是地址线分成两组,分别经行、列两个方向译码,只有行、列两个方向均选中的存储元才能进行读/写

什么是动态RAM的刷新?刷新有几种方式?简要说明之。

动态随机存储器利用存储元中的栅极电容存储电荷,电容上有电荷表明存放数据1,无电荷表明存放数据0。由于存储元电路存在漏电流,使栅极电容上的电荷流失,因此必须每隔一段时间对存储体中的所有记忆单元的栅极电容补充电荷,这个过程称为刷新。 集中刷新:在规定的一个刷新周期内,对全部存储单元集中一段时间逐行进行刷新,此刻必须停止读/写操作。这段时间称为“死时间” 分散刷新:对每行存储单元的刷新分散到每个存取周期内完成 异步刷新:是前两种方式的结合,既可缩短“死时间”,又充分利用最大刷新间隔

存储容量扩展有哪几种方法?

字扩展 位扩展 字、位扩展 === 使用汉明码进行校验时,需要增加k位检测位,且k位的检测位和n位的待检测二进制代码位之间要满足什么关系?为什么? 设欲检测的二进制代码为n位,为使其具有纠错能力,需增添k位检测位,组成n+k位的代码。为了能准确对错误定位以及指出代码没错,新增添的检测位数k应满足:2^k ≥ n+k+1。

已知收到的海明码为0100111(按配偶原则配置),试问欲传送的信息是什么?

P1 = 1⊕3⊕5⊕7 = 0,P2 = 2⊕3⊕6⊕7 = 1,P4 = 4⊕5⊕6⊕7 = 1 所以P4P2P1 = 110,故第六位出错,可纠正为0100101,故要求传送的信息为0101

什么是多体并行存储器?有哪两种存储体编址方式,各自有什么特点?

多体并行系统就是采用多体模块组成的存储器。每个模块有相同的容量和存取速度,各木块各自都有独立的地址寄存器(MAR)、数据寄存器(MDR)、地址译码、驱动电路和读/写电路,他们能并行工作,又能交叉工作。 高位交叉:高位地址可表示体号,地位地址为体内地址 低位交叉:地位地址用来表示体号,高位地址为体内地址

Cache、主存和辅存构成的三级存储系统分别的目的是什么?设计依据是?

提高访存速度 扩大存储容量 程序访问的局限性原理

请简述Cache的基本工作原理。

CPU欲读取主存某字时,有两种可能:一种是所需要的字已经在缓存中,即可直接访问Cache;另一种是所需的字不在Cache内,此时需将该字所在的主存整个字块一次调入Cache中(Cache与主存之间是字块传输)。当Cache未满时,主存块可被调入缓存块中,称该主存块与缓存块建立了联系。当Cache已满时,无法接收来自主存块的信息,就由Cache内的替换机构按一定的算法从Cache内移除哪块返回主存,并把新的主存块调入Cache中。

试比较主存-Cache管理中三种地址映射的方法,并分别给出在三种地址映射下,主存地址划分。

直接映射:每个主存块只与一个缓存快相对应 全相联映射:主存中每一字块映射到Cache中的任何一块位置上 组相联映射:是直接映射和组相联映射的一种折中

Cache-主存间的替换策略有哪些,请简述。

先进先出( First-In-First-Out,FIFO)算法

FIFO算法选择最早调人Cache的字块进行替换,它不需要记录各字块的使用情况,比较容易实现,开销小,但没有根据访存的局部性原理,故不能提高Cache的命中率。因为最早调人的信息可能以后还要用到,或者经常要用到,如循环程序。

近期最少使用( Least Recently Used,LRU)算法

LRU算法比较好地利用访存局部性原理,替换出近期用得最少的字块。它需要随时记录Cache中各字块的使用情况,以便确定哪个字块是近期最少使用的字块。它实际是种推测的方法,比较复杂,-般采用简化的方法,只记录每个块最近一次使用的时间。LRU算法的平均命中率比FIFO的高。

随机法

随机法是随机地确定被替换的块.比较简单,可采用- 个随机数产生器产生一个随机的被替换的块,但它也没有根据访存的局部性原理,故不能提高Cache的命中率。

发生主存写请求时,如何保证Cache和主存的一致性?

①写直达法(Write-through),又称为存直达法(Store-hrough),即写操作时数据既写人Cache又写人主存。它能随时保证主存和Cache的数据始终一致 ,但增加了访存次数。 ②写回法( Write-back),又称为拷回法( Copy-back),即写操作时只把数据写人Cache而不写人主存,但当Cache数据被替换出去时才写回主存。可见写回法Cache中的数据会与主存中的不一致。为了识别Cache中的数据是否与主存一致Cache中的每一块要增设个 标志位。该位有两个状态:“清”(表示未修改过,与主存一致)和“浊”(表示修改过:与主存不一致)。在Cache替换时,“清”的Cache块不必写回主存,因为此时主存中相应块的内容与Cache块是一致的。在写Cache时,要将该标志位设置为“浊”替换时此Cache块要写回主存,同时要使标志位为“清”

I/O地址码的编制方式有哪两种?

统一编址和不统一编址

I/O与主机交换信息有哪几种控制方式?各有何特点?

程序查询方式:其特点是主机与I/O串行工作。CPU启动I/O后,,若设备准备就绪,CPU便转入处理I/O与主机间传送信息的程序;若设备未做好准备,则CPU反复查询,“踏步”等待直到I/O准备就绪为止。可见这种方式CPU效率很低 程序中断方式:其特点是主机与I/O并行工作。CPU启动I/O后,不必时刻查询I/O是否准备好,而是继续执行程序。当I/O准备就绪时,向CPU发中断请求信号,CPU在适当的时候响应I/O的中断请求,暂停现行程序为I/O服务。这种方式消除了“踏步”现象,提高了CPU的效率 DMA方式:其特点是主机与I/O并行工作,主存与I/O之间有一条直接数据通路。CPU启动I/O后,不必查询I/O是否准备好,当I/O准备就绪后,发出DMA请求,此时CPU不直接参与I/O和主存间的信息交换,只是把外部总线(地址线、数据线和有关的控制线)的使用权暂时交赋予DMA,仍然可以完成自身内部的操作(如加法、移位等),故不必中断现行程序,只需暂停一个存取周期访存(即周期挪用),CPU的效率更高 通道方式:通道是一个具有特殊功能的处理器,CPU把部分权力下放给通道,由它实现对外围设备的统一管理和外围设备与主存之间的数据交换,大大提高了CPU的效率,但它是以花费更多的硬件为代价的 I/O处理机方式:它是通道方式的进一步发展,CPU将I/O操作及外围设备的管理权全部交给I/O处理机,其实质是多机系统,因而效率有更大提高

什么是I/O接口,它与端口有何区别?为什么要设置I/O接口,I/O接口如何分类。

I/O接口通常是指主机与I/O设备之间设置的一个硬件电路及其相应的软件控制。 端口:指接口电路中的一些寄存器,这些寄存器分别用来存放数据信息、控制信息和状态信息。 设置I/O接口的理由如下: 一台机器通常配有多台I/O设备,他们各自有其设备号(地址),通过接口可实现I/O设备的选择 I/O设备种类繁多,速度不一,与CPU速度相差可能很大,通过接口可实现数据缓冲,达到速度匹配 有些I/O设备可能串行传送数据,而CPU一般为并行传送,通过接口可实现数据串 - 并格式的转换 I/O设备的输入输出电平可能与CPU的输入输出电平不同,通过接口可实现电平转换 CPU启动I/O设备工作,要向I/O设备发各种控制信号,通过接口可传送控制命令 I/O设备需将其工作状态(如“忙”、“就绪”、“错误”等)及时向CPU报告,通过接口可监视设备的工作状态,并可保存状态信息,供CPU查询 I/O接口的分类: 按数据传送方式分类:并行接口和串行接口 按功能选择的灵活性分类:可编程接口和不可编程接口 按通用性分类:通用接口和专用接口 按数据传送的控制方式分类:程序型接口和DMA型接口

程序查询方式和程序中断方式都由程序实现外围设备的输入输出,它们有何不同?

程序查询方式是用户在程序中安排一段输入输出程序,它由I/O指令、测试指令和转移指令等组成。CPU一旦启动I/O后,就进入这段程序,时刻查询I/O准备的情况,若未准备就绪就踏步等待;若准备就绪就实现传送。在输入输出的全部过程中,CPU停止自身的操作。 程序中断方式虽也要用程序实现外部设备的输入、输出,但它只是以中断服务程序的形式插入到用户现行程序中。即CPU启动I/O后,继续自身的工作,不必查询I/O的状态。而I/O被启动后,便进入自身的准备阶段,当其准备就绪时,向CPU提出中断请求,此时若满足条件,CPU暂停现行程序,转入该设备的中断服务程序,在服务程序中实现数据的传送。

以I/O设备的中断处理过程为例,说明一次程序中断的全过程。

由CPU发启动I/O设备指令,将接口中的B置“1”,D置“0” 接口启动输入设备开始工作 输入设备将数据送入数据缓冲寄存器 输入设备向接口发出“设备工作结束”信号,将D置为“1”,B置为“0”,标志设备准备就绪 当设备准备就绪(D=1),且本设备未被屏蔽(MASK=0)时,在指令执行阶段的结束时刻,由CPU发出中断查询信号 设备中断请求触发器INTR被置为“1”,标志设备向CPU提出中断请求。与此同时,INTR送至排队器,进行中断判优 若CPU允许中断(EINT=1),设备又被排队选中,即进入中断相应阶段,由中断响应信号INTA将排队器输出送至编码器形成向量地址 向量地址送至PC,作为下一条指令的地址 由于向量地址中存放的是一条无条件转移指令,故这条指令执行结束后即无条件转至该设备的服务程序入口地址,开始执行中断服务程序,进入中断服务阶段,通过输入指令将数据缓冲寄存器的输入数据送至CPU的通用寄存器,再存入主存相关单元 中断服务程序的最后一条指令是中断返回指令,当其执行结束后,即中断返回至原程序的断点处。至此,一个完整的程序中断处理过程即告结束

在DMA方式中有没有中断请求,为什么?DMA接口电路中应设置哪些硬件。

有中断请求,只是数据不通过CPU。DMA控制器在传送完所有字节时,通过中断请求线发出中断信号。CPU在接收到中断信号后,转入中断处理程序进行后续处理。 硬件:主存地址寄存器(AR)、字计数器(WC)、数据缓冲寄存器(BR)、DMA控制逻辑、终端机构、设备地址寄存器(DAR)

DMA方式中的中断请求和程序中断中的中断请求有何区别?

从数据传送看,程序中断方式靠程序传送,DMA方式靠硬件传送 从CPU响应时间看,程序中断方式是在一条指令执行结束时响应,而DMA方式可在指令周期内的任一存取周期结束时响应 程序中断方式有处理异常事件的能力,而DMA方式没有这种能力,主要用于大批数据的传送,如硬盘存取、图像处理、高速数据采集系统等,可提高数据吞吐量 程序中断方式需要中断现行程序,故需保护现场;DMA方式不中断现行程序,无须保护现场 DMA的优先级比程序中断的优先级高

DMA和主存交换数据时有哪三种方法?分别简述。

1、停止CPU访问主存:当外设要求传送一批数据时, 由DMA接口向CPU发一个停止信号,要求CPU放弃地址线、数据线和有关控制线的使用权。DMA接口获得总线控制权后,开始进行数据传送,在数据传送结束后,DMA 接口通知CPU可以使用主存,并把总线控制权交回给CPU.

2、周期挪用:每当IO设备发出DMA请求时,I/O 设备便挪用或窃取总线占用权一个或几个主存周期,而DMA不请求时,CPU 仍继续访问主存。

3、DMA与CPU交替访问:不需要总线使用权的申请、建立和归还过程. CPU和DMA接口各自有独立的访存地址寄存器、数据寄存器和读/写信号.

简述DMA的工作过程。

预处理:主存起始地址→DMA;设备地址→DMA;传送数据个数→DMA;启动设备 数据传送:继续执行主程序;同时完成一批数据的传送 后处理:中断服务程序;做DMA结束处理 继续执行主程序

DMA接口的类型有哪几种?

选择型DMA接口、链式多路型DMA接口、独立请求多路型DMA接口

说明浮点加/减法运算步骤。

加减运算:对阶、尾数求和、规格化、舍入、溢出判断

说明浮点乘/除法运算的基本步骤。

乘除运算:阶码运算、尾数运算

试比较基址寻址和变址寻址,并举例说明其适用的场合。

都可有效地扩大指令寻址范围 基址寻址时,基准地址由基址寄存器给出,地址的改变反映在位移量A的取值上;变址寻址时,基准地址由A给出,地址的改变反映在变址值的自动修改上,变址值由变址寄存器给出 基址寄存器内容通常由系统程序设定,变址寄存器内容通常由用户设定 基址寻址适用于程序的动态重定位,变址寻址适用于数组或字符串处理

任意写出五种寻址方式,令EA为有效地址,A为形式地址,写出这五种寻址方式计算有效地址的表达式。

立即寻址: 直接寻址: A = EA 隐含寻址: 间接寻址: 寄存器寻址: 寄存器间接寻址: 基址寻址:EA = A + (BR) BR:基址寄存器 变址寻址: EA = A + (IX) IX:变址寄存器 相对寻址:EA = (PC) + A 堆栈寻址:

指令中有哪些字段?各有何作用?如何确定各字段的位数?

指令中有三种字段:操作码字段、寻址特征字段和地址码字段。操作码字段指出机器完成某种操作,其位数取决于指令系统的操作种类。寻址特征字段指出该指令以任何方式寻找操作数的有效地址,其位数取决于寻址方式的种类。地址码字段和寻址特征字段共同指出操作数或指令的有效地址,其位数与寻址范围有关。

RISC和CISC指令系统各自的特点。

CISC结构主要优点是:指令丰富,功能强大;寻址方式灵活;以微程序控制器为核心,指令存储器与数据存储器共享同一个物理存储空间,性能强大 CISC结构主要缺点是:指令使用率不均衡;不利于采用先进结构提高性能;结构复杂不利于VLSI实现 RISC结构主要优点是:具备结构简单、易于设计;指令精简,使用率均衡程序执行效率高 RISC结构主要缺点是:指令数较少,功能不及CISC强大;寻址方式不够灵活

CPU有哪些功能?画出其内部的组成框图,并说明每个部件的作用。

CPU的主要功能:指令控制、操作控制、时间控制、数据加工、处理中断等

寄存器:存放当前指令的地址,存放操作数 CU:发出各种操作命令序列 ALU:实现算术逻辑运算 中断系统:处理异常情况和特殊请求

影响流水线性能的因素有哪些?分别由什么原因导致的?分别采用什么方法解决?

结构相关:当指令在重叠执行过程中,不同指令争用同一功能部件产生资源冲突时产生的。解决办法之一是在完成前一条指令对数据的存储器访问时,暂停(一个时钟周期)取后一条指令的操作。解决办法之二是设置两个独立的存储器分别存放操作数和指令,以免取指令和取操作数同时进行时相互冲突。 数据相关:是流水线中的各条指令因重叠操作,可能改变对操作数的读写访问顺序,从而导致了数据相关冲突。解决办法之一是后推法,即遇到数据相关时,就停顿后继指令的运行,直至前面指令的结果已经生成。解决办法之二是采用定向技术,直接将执行结果送到其他指令所需要的地方。 控制相关:主要是由转移指令引起的。解决办法是采用尽早判别转移是否发生,尽早生成转移目标地址。

流水线性能评价指标有吞吐率、加速比、效率。各自的定义是什么?

吞吐率:指单位时间内流水线所完成的指令或输出结果的数量 加速比:指流水线的速度与等功能的非流水线的速度之比 效率:指流水线中各功能段的利用率

某机有五个中断源L0、L1、L2、L3、L4,按中断响应的次序由高向低排序为L0→L1→L2→L3→L4,现要求中断处理次序为L1→L3→L4→L0→L2,写出各中断源的屏蔽字。

L0:10100 L1:11111 L2:00100 L3:10111 L4:10101

什么是中断?中断系统需要解决哪些问题?

中断:指当出现需要时,CPU暂时停止当前程序的执行转而执行处 理新情况的程序和执行过程。即在程序运行过程中,系统出现了一个必须由CPU立即处理的情况,此时,CPU暂时中止程序的执行转而处理这个新的情况的过程就叫做中断。 设计中断系统需解决的问题: 各中断源如何向CPU提出中断请求 当对个中断源同时提出中断请求时,中断系统如何确定优先响应哪个中断源的请求 CPU在什么条件、什么时候、以什么方式来响应中断 CPU响应中断后如何保护现场 CPU响应中断后,如何停止原程序的执行而转入中断服务程序的入口地址 中断处理结束后,CPU如何恢复现场,如何返回到原程序的间断处 在中断处理过程中又出现了新的中断请求,CPU该如何处理

CPU响应中断的条件和时间是什么?

条件:允许中断触发器必须为”1” 时间:指令执行周期结束后

CPU进入中断周期后,完成哪些操作?

保护程序断点 寻找中断程序的入口地址 关中断

什么是中断隐指令?它有哪些功能。

中断隐指令:CPU响应中断之后,经过某些操作,转去执行中断服务程序。这些操作是由硬件直接实现的。 功能:保护程序断点,寻找中断程序入口地址,开中断

什么是中断屏蔽字,它的作用是什么?

对应每个中断请求触发器就有一个屏蔽触发器,将所有屏敝触发器组合在一起,便构成一个屏蔽寄存器,屏蔽寄存器的内容称为屏蔽字。 在中断服务程序中设置适当的屏蔽字,能起到对优先级别不同的中断源的中断作用

什么是多级时序?

机器周期,节拍组成了多级时序系统。 机器周期:机器周期课看做是所有指令执行过程中的一个基准时间,机器周期取决于指令的功能及器件的速度 节拍:用时钟信号控制节拍发生器所产生,每个节拍的宽度对应一个时钟周期,是控制计算机操作的最小时间单位

简述微程序设计的思想。

将一条机器指令编写成一个微程序,每一个微程序包含若干条微指令,每一条微指令对应一个或几个微操作命令。然后把这些微程序存到一个控制存储器中,用寻找用户程序机器指令的方法来寻找每个微程序中的微指令。由于这些微指令是以二进制代码形式表示的,每位代表一个控制信号(若该位为1,表示该控制信号有效;若该位为0,表示此控制信号无效),因此,逐条执行每一条微指令,也就相应地完成了一条机器指令的全部操作。可见,微程序控制单元的核心部件是一个控制存储器。由于执行一条机器指令必须多次访问控制存储器,以取出多条微指令来控制执行各个微操作,因此要求控制存储器的速度较高。

什么是水平型微指令,什么是垂直型微指令,说明其各自的特点。

垂直型微指令的结构类似于一般机器指令的结构,由微操作码确定微指令的功能。通常一条微指令只能有1~2个微操作命令。因为它要经过译码后控制对象,影响每条微指令的执行时间。而且垂直型微指令字长较短,实现一条机器指令的微程序要比水平型微指令编写的微程序长得多,它是用较长的微程序结构来换取较短的微指令格式水平型微指令一次能定义并执行多个并行操作,其并行操作能力强,效率高。而且水平型微指令的大多数微命令一般可直接控制对象,故执行每条微指令的时间短。又因水平型微指令字长较长,故可用较少的微指令数来实现一条机器指令的功能