第一章
-
冯·诺依曼计算机的主要设计思想是什么?它包括哪些组成部分?
-
采用二进制形式表示数据和指令。指令由操作码和地址码组成。
-
将程序和数据存放在存储器中,计算机在工作时从存储器取出指令加以执行,自动完成计算任务。这就是“存储程序”和“程序控制”。
-
指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。
-
计算机由存储器、运算器、控制器、输入和输出设备五大基本部件组成。
-
-
如何理解计算机的概念?
计算机是一种以电子器件为基础的,不需人的直接干预,能够对各种数字化信息进行快速算术和逻辑运算的工具,是一个由硬件、软件组成的复杂的自动化设备。理解计算机的概念,应从六个方面
1. 以电子器件为物质基础,即研究的对象是电子数字计算机 2. 不需要人的直接干预,说明具有自动化能力,其前提是存储程序 3. 处理各种数字化信息,计算机以二进制编码作为数字化编码及运算的基础 4. 具有算逻运算能力,基本运算操作是算术和逻辑运算 5. 计算机是快速工具,主要取决于两个因素:一是电子器件,二是存储程序 6.由硬件和软件组成
-
指令和数据均存放在内存中,计算机如何区分指令还是数据?
-
时间上:在取指周期中,CPU从内存读出的信息一定是指令;二执行周期中从内存读出或写入的信息一定是数据。
-
空间上:指令一定流向控制器;而数据则是在内存(或寄存器)与运算器之间流动。
-
-
CPU的性能指标有哪些?其概念是什么?
把运算器和控制器合在一起称为中央处理器,简称CPU。其性能指标主要有以下几个方面
-
吞吐量:表示一台计算机在某一时间间隔内能够处理的信息量
-
响应时间:表示从输入有效到系统产生响应之间的时间间隔,用时间单位来度量
-
利用率:在给定的时间间隔内系统被实际使用的时间所占的比率,用百分比表示
-
处理机字长:指处理机运算器中一次能够完成二进制运算的位数,如32位、64位
-
总线宽度:一般指CPU中运算器与存储器之间进行互联的内部总线二进制位数
-
存储器容量:存储器中所有存储单元的总数,通常用KB、MB、GB、TB来表示
-
存储器带宽:单位时间内从存储器读出的二进制数信息量,一般用字节数/秒表示
-
主频、时钟周期:CPU的工作节拍受主时钟控制,主时钟是不断产生固定频率的时钟,主时钟的频率f称为CPU的主频,度量单位是MHz、GHz;主频的倒数称为CPU时钟周期T,T=1/f,度量单位是μs、ns
-
CPU执行时间:表示CPU执行一般程序所占用的CPU时间,CPU执行时间=CPU时钟周期数×CPU时钟周期
-
CPI:表示每条指令周期数,即执行一条指令所需的平均时钟周期数,CPI=执行某段程序所需的CPU时钟周期数/程序包含的指令条数
-
MIPS: Million Instructions Per Second 的缩写,表示平均每秒执行多少百万条定点指令数,MIPS=指令数/(程序执行时间×10^6)
-
FLOPS: Floating-pint Operations Per Second 的缩写,表示每秒执行浮点操作的次数,用来衡量机器浮点操作的性能,FLOPS=程序中的浮点操作次数/程序执行时间
-
-
什么是存储容量、单元地址、数据字、指令字?
-
存储容量:存储器所有存储单元的总数。通常用单位KB、MB、GB、TB等表示。
-
单元地址:存储器是由许多存储单元组成,每个存储单元的编号称为单元地址
-
某字代表要处理的数据,称为数据字
-
某字为一条指令,称为指令字
-
-
现代计算机系统如何进行多级划分?这种分积观点对计算机设计会产生什么影响?
现代计算机系统可分为五个层次
-
第一级是微程序设计级或逻辑电路级,是一个实在的硬件级,由硬件直接执行
-
第二级是一般机器级,称为机器语言级,也是硬件级,它由微程序来解释执行
-
第三级是操作系统级,它由操作系统程序实现
-
第四级是汇编语言级,由汇编程序支持和执行,它给程序人员提供一种符号形式语言,以减少程序编写的复杂性
-
第五级是高级语言级,它是面向用户的,为方便用户编写应用程序而设置的
系统分级对计算机设计产生的影响
-
采用这种用一系列的级来组成和计算机的概念和技术,对了解计算机如何组成提供了一种好的结构和体制。
-
用这种分级的观点来设计计算机,对保证产生一个良好的系统结构也是很有帮助的。
-
第二章
-
在浮点数中,阶码的正负和尾数正负各代表什么含义?对实际数值的正负与大小有何影响? 1. 阶码为正,表示将尾数扩大 2. 阶码为负,表示将尾数缩小 3. 尾数的正负代表浮点数的正负
第三章
-
cache与虚存的异同 cache与虚存的相同点 - 出发点相同:二者都是为了提高存储系统的性能价格比而构造的分层存储体系,都力图使存储系统的性能接近高速存储器,而价格和容量接近低速存储器
-
原理相同:都是利用了程序运行时的局部性原理把最近常用的信息块从相对慢速而大容量的存储器调入相对高速而小容量的存储器
cache与虚存的不同点
-
侧重点不同:cache主要解决主存与CPU的速度差异问题,虚存主要是解决存储器容量问题
- 数据通路不同:CPU与cache和主存之间均有直接访问通路,而虚存所依赖的辅存与CPU之间不存在直接的数据通路 -
透明性不同:cache对系统程序员和应用程序员均透明,虚存对系统程序员不透明,只对应用程序员透明
- 未命中时的损失不同:主存未命中时虚存系统的性能损失要远大于cache未命中时的损失
-
静态存储依靠什么存储信息?动态存储器又依赖什么原理存储信息?比较它们的优缺点 - 静态存储器以双稳态触发器为存储信息的物理单元,依靠内部交叉反馈保存信息,速度较快,不需要动态刷新,但集成度稍低,功耗大 - 动态存储靠电容上暂存电荷来存储信息,电容上有电荷为1,无电荷为0,集成度高,工号小,速度稍慢,需定时刷新
-
说明Cache的地址映射作用和方法?
- Cache通过地址映射的方法确定主存块与cache行之间的对应关系,确定一个主存块应该存放到哪个cache行中。
- 全相联映射:每个主存块可以放到任何一个cache块中,最灵活但实现的成本代价最大。
- 直接映射:每个主存块只能放到一个唯一对应的cache块中,实现简单但cache利用率低。
- 组相联映射:每个主存块唯一对应一个cache组,但可放到组内任何一个块中,是前两种方式的折中。
-
说明cache的替换策略 cache工作原理要求它尽量保存最新数据,必然要产生替换,直接映射的cache,不涉及替换算法,全相连和组相联cache,就要从允许存放新主存块的若干特定行中选取一行换出 - 最不经常使用(LFU)算法 - 将一段时间内被访问次数最少的那行数据换出 - 每行设置一个计数器,从0开始计数,每访问一次,将访行的计数器增1。当需要替换时,将计数值最小的行换出,同时将这些行的计数器都清零 - 该算法将计数周期限定在对两次替换之间的间隔时间内,不能严格反映近期访问情况 - 近期最少使用(LRU)算法 - 将近期内长久未被访问过的行换出 - 每行也设置一个计数器,cache每命中一次,命中行的计数器清零,其它各行计数器增1。当需要替换时,将计数值最大的行换出 - 保护了刚拷贝到cache中的新数据行,有较高的命中率,应用广泛,但实现的硬件较复杂
- 随机替换
- 从特定的行位置中随机地选取一行换出
- 在硬件上容易实现,且速度也比前两种策略快
降低了命中率和cache工作效率
- 随机替换
-
cache的写操作策略
cache内容是主存部分内容的拷贝,应当与主存内容保持一致
-
写回法
-
当CPU写cache命中时,只修改cache的内容,而不立即写入主存;只有当此行被换出时才写回主存
-
若写未命中,则将此块整个拷贝到cache后对其进行修改
-
可减少访问主存的次数,但存在不一致性的隐患
-
实现这种方法时,每个cache行必须配置一个修改位,以反映此行是否被CPU修改过
-
-
全写法
-
当写cache命中时,cache与主存同时发生写修改,较好地维护了cache与主存内容的一致性
-
当写cache未命中时,直接向主存进行写入
-
cache中每行无需设置一个修改位以及相应的判断逻辑
-
缺点是降低了cache的功效
-
根据修改过的主存块是否放入cache可分为
-
-
写不分配法:把所要写的字写入主存,而包括所写的字在内的块不写入cache
- 写分配法:把所要写的字写入主存,而包括所写的字在内的块写入cache
- 写一次法
-
基于写回法并结合全写法的写策略
- 写命中与写未命中的处理方法与写回法基本相同,只是第一次写命中时要同时先写入主存,便于维护系统全部cache的一致性
-
-
DRAM存储器为什么要刷新?有哪几种常用的刷新方法? DRAM存储器采用电容存放信息,由于电容漏电,保存信息经过一段时间会丢失,故用刷新保证信息不丢失。 常用的刷新方式有集中式刷新和分布式刷新 - 集中式刷新特点 - 对芯片的正常读/写周期不产生影响 - 会造成芯片“死时间”过长的问题 - 分散式刷新-方法1 - 将每一行的刷新插入到正常的读/写周期之中,有两点缺陷 - 增加了系统周期,进而降低了系统速度 - 刷新过于频繁 - 分散式刷新-方法2(异步式刷新) - 是前两种方式的结合,2ms内分散地把128行刷新一遍:2000μs÷128≈15.5μs,即每隔15.5μs刷新一行。
-
计算机存储系统分哪几个层次?每一层次主要采用什么存储介质?其存储容量和存取速度的相对值如何变化?
分为高速cache—主存—辅存三级层次结构,容量从小到大,速度从高到低
存储介质:
- cache SRAM
- 主存 DRAM
- 辅存 磁表面存储器
-
段式虚拟存储器对程序员是否透明?请说明原因 虚拟管理是由软件(操作系统)和硬件共同完成,由于软件的介入,虚存对实现存储管理系统程序不透明,而段是按照程序的自然分界划分的长度可以动态改变的区域。通常,程序员把子程序、操作数和常数等不同类型的数据划分到不同的段中,并且每个程序可以有多个相同类型的段。由于分段是由程序员完成的,所以段式虚拟存储器对程序员而言不是透明的,但虚存到实存的地址映射是由系统软件辅助完成的,故对应用程序而言,段式虚拟存储器是“半透明”的。
-
在一个进程的执行过程中,是否其所有页面都必须处在主存中? 在有虚拟存储管理的系统中,程序不是一次性装入内存才运行,所以不是所有页面都必须处在主存中,而是根据程序的局部性,有的页面在主存,有的页面在辅存。
-
为什么在页式虚拟存储器地址变换时可以用物理页号与页内偏移量直接拼接成物理地址,而在段式虚拟存储器地址变换时必须用段起始地址与段内偏移量相加才能得到物理地址? 由于物理页与虚拟页的页面大小相同,且为2的整数次幂,所以页式虚拟存储器地址变换时可以用物理页号与页内偏移量直接拼接成物理地址。而段式虚拟存储器的各段大小不同,且段起始地址任意,所以必须用段起址与段内偏移量相加才能得到物理地址
-
在虚存实现过程中,有些页面会在内存与外村之间被频繁地换入和换出,使系统效率急剧下降。这种现象称为颠簸。请解释产生颠簸的原因,并说明防止颠簸的办法。 产生的原因主要有 1. 分配的页面数太少 2. 替换策略不佳 防止颠簸的办法 1. 适当增加分配给用户程序的页面数 2. 选取LRU或更好的替换策略
第四章
-
指令是灵活多变的,体现在哪些方面? 1. 指令格式多样 2. 寻址方式丰富 3. 指令类型多种 4. 操作码位数可随地址码个数变化而变化(扩展操作码方式) 5. 指令长度可变
-
什么叫指令?什么叫指令系统? 指令是计算机执行某种操作的命令,也就是常说的机器指令。一台机器中所有机器指令的集合,称这台计算机的指令系统。
-
一个较完整的指令系统应包括哪几类指令? 一个较完整的指令系统,应包括数据传送指令、算术运算指令、逻辑运算指令、程序控制指令、输入输出指令、字符串指令、特权指令等。
-
指令的数据寻址方式有哪些? 操作数的寻址方式:形成操作数的有效地址的方法 操作数的寻址过程:把操作数的形式地址,根据寻址方式特征位变换为操作数的有效地址的过程 – 隐含寻址 • 特点:在指令中不明显地给出操作数的地址 • 单地址的指令格式,在指令地址字段中,没有指明第二操作数地址,而是规定累加寄存器AC作为第二操作数地址,AC对单地址指令格式来说就是一个隐含地址 – 立即寻址 • 特点:指令的地址字段指出的不是操作数的地址,而是操作数本身 • 指令中直接给出了操作数,不需要通过访问内存来取数,因而指令执行时间很短 – 直接寻址 • 特点:在指令格式的地址字段中,直接给出操作数在内存的地址A • 指令字中的形式地址A,就是操作数的有效地址EA,通常把形式地址A又称为直接地址 • 用D表示操作数,那么直接寻址的表达式为:D = (A) – 间接寻址 • 特点:形式地址A不是操作数D的真正地址,而是操作数地址的指示器,即:A的内容才是操作数的有效地址 • 有效地址EA = (A) – 寄存器寻址 • 特点:操作数不放在内存中,而是放在通用寄存器中,D = R • 指令中给出的操作数地址不是内存的地址单元号,而是通用寄存器的编号 – 寄存器间接寻址 • 特点:指令中指定的寄存器中的内容不是操作数,而是操作数的地址,即:EA = (R) • 指明的操作数是在内存中 – 偏移寻址 • 直接寻址和寄存器间接寻址的结合,有效地址EA = A + (R),要求指令中有两个地址字段,至少其中一个是显式的 • 相对寻址 – 特点:把程序计数器PC的内容加上指令中给出的形式地址A,进而形成操作数的有效地址,即:EA = A + (PC) – 形式地址A称为偏移量,其值可正可负,有效地址是当前指令地址(当前PC值)的一个上下范围的偏移,便于程序在内存中成块搬动 – 相对寻址方式中,指令所提供的相对地址实质上是一种以下条指令在内存中首地址为基准位置的偏移量 • 基址寻址 特点:将CPU中基址寄存器的内容加上指令中给定的形式地址A,而形成操作数的有效地址,即E = () + A – 基址寄存器的位数可以大于形式地址A的位数,从而可以扩大操作数的寻址范围 • 变址寻址 – 特点:把CPU中某个变址寄存器的内容与偏移量A相加,形成操作数有效地址,即EA = () + A – 形式地址A给出基准地址,给出偏移量,为重复操作的完成提供一种有效机制 – 段寻址 • 微型机中采用了段寻址方式,其实质还是基址寻址,基地址就是CPU中的段寄存器 – 堆栈寻址 • 堆栈有两种形式:寄存器堆栈和存储器堆栈 • 存储原则:先进后出 • 数据的存取都通过栈顶,需要一个隐式或显式的堆栈指示器(寄存器) • 堆栈指令:PUSH、POP
第五章
-
简述机器指令和微指令的关系 1. 一条机器指令对应一个微程序,这个微程序是由若干条微指令序列组成的。即一条机器指令所完成的操作划分成若干条微指令来完成,由微指令进行解释和执行。 2. 从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,前者与内存储器有关,后者与控制存储器有关。 3. 每一个CPU周期对应一条微指令
-
说明CPU中有哪些寄存器?它们的功能是什么? – 数据缓冲寄存器(DR) • 暂时存放ALU的运算结果,或来自内存或来自I/O接口的一个数据字 • 作为ALU运算结果和通用寄存器之间的缓冲 • 补偿CPU和内存、外围设备之间在操作速度上的差别 • 指令寄存器(IR):保存当前正在执行的一条指令 – 程序计数器(PC) • PC中存放的是下一条指令在内存中的地址 • 程序执行前,程序的第一条指令所在的内存单元送入PC • 顺序执行指令时,PC自增 • 遇到转移指令时,PC的内容由转移指令来规定 • 具有信息寄存和计数两种功能 – 数据地址寄存器(AR) • 保存当前CPU所访问的数据存储器地址 • 采用电位-脉冲方式,即电位输入端对应数据信息位,脉冲输入端对应控制信号,在控制信号作用下,瞬时将信息打入寄存器 – 通用寄存器:当运算器需执行算术或逻辑运算时,为ALU提供一个工作区 – 程序状态字寄存器(PSWR) • 又称状态条件寄存器 • 保存由算术运算指令和逻辑运算指令运行或测试结果建立的各种条件代码 • 保存中断和系统工作状态等信息 • 属于运算器的组成部分
-
RISC机器具有什么优点,试简单论述 RISC的三个基本要素 – 一个有限的简单的指令系统 – CPU配备大量的通用寄存器 – 强调对指令流水线的优化 RISC机器的特征 1. 使用等长指令,典型长度是4个字节(32位) 2. 寻址方式少且简单,一般为2、3种,最多不超过4种,绝不出现存储器间接寻址方式 3. 只有取数指令和存数指令访问存储器。指令中最多出现RS型指令,绝不出现SS型指令 4. 指令集中的指令数目一般少于100种,指令格式一般少于4种 5. 指令功能简单,控制器多采用硬布线方式,以期更快的执行速度 6. 平均而言,所有指令的执行时间为一个处理时钟周期 7. 指令格式中用于指派整数寄存器的个数不少于32个,用于指派浮点数寄存器的个数不少于16个 8. 强调通用寄存器资源的优化使用 9. 支持指令流水并强调指令流水的优化使用 10. RISC技术的复杂性在它的编译程序,因此软件系统开发时间比CISC机器长
-
CPU的功能是什么?由什么组成? 中央处理器(Central Processing Unit)是计算机的核心部件,通常简称为CPU,控制计算机自动完成取指令和执行指令任务 CPU的功能 – 指令控制:程序的顺序控制 – 操作控制:产生各种操作信号(微操作信号) – 时间控制:控制操作信号的有效时间(时序信号发生器) – 数据加工:对数据进行算术运算和逻辑运算(ALU) CPU的基本组成 – 控制器:由程序计数器、指令寄存器、指令译码器、时序产生器(产生并发出计算机所需要的时序控制信号)和操作控制器(根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路)组成 • 从指令cache中取出一条指令,并指出下一条指令在指令cache中的位置 • 对指令进行译码或测试,并产生相应的操作控制信号,启动规定的动作 • 指挥并控制CPU、数据cache和输入/输出(I/O)设备之间数据流动的方向 – 运算器:由ALU、通用寄存器、DR和PSWR组成 – cache – 芯片级总线
-
什么是指令周期、机器周期和时钟周期?三者有何关系? – 指令周期:CPU从内存取出一条指令并执行完这条指令的时间总和 – CPU周期:又称机器周期,是所有指令执行过程中的一个基准时间,通常取从内存读取一个指令字的最短时间 – 时钟周期:又称T周期或节拍脉冲,是处理操作的最基本单位,是机器主频的倒数,一个CPU周期包含个T周期 1个指令周期 = 若干个CPU周期,1个CPU周期 = 若干个T周期,每个指令周期内的机器周期数可以不等,每个机器周期内的时钟周期数也可以不等。
-
简述CPU的不同控制方式 控制方式:控制不同操作序列时序信号的方法 – 同步控制方式:在任何情况下,已定的指令在执行时所需的CPU周期数和时钟周期数都固定不变 • 完全同步控制方式:采用完全统一的、具有相同时间间隔和相同数目的节拍电位作为机器周期来运行各种不同的指令 • 采用不定长机器周期:将大多数操作安排在一个较短的机器周期内完成,对某些时间较长的操作,则采取延长机器周期的方法来解决 • 中央控制与局部控制结合:将大部分指令安排在固定的机器周期完成,对少数复杂指令采用另外的时序进行定时 – 异步控制方式:一般采用两条控制线,即“请求”线和“回答”线 • 每条指令、每个操作控制信号需要多少时间就占用多少时间 • 每条指令的指令周期可由多少不等的机器周期数组成 • 用这种方式形成的操作控制序列没有固定的CPU周期数(节拍电位)或严格的时钟周期(节拍脉冲)与之同步 – 联合控制方式:同步控制和异步控制相结合的方式 • 情况1:大部分操作序列安排在固定的机器周期中,对某些时间难以确定的操作则以执行部件的“回答”信号作为本次操作的结束 • 情况2:机器周期的节拍脉冲数固定,但是各条指令周期的周期数不固定
-
区分微命令、微操作、微指令和微程序 – 微命令:控制部件通过控制线向执行部件发出各种控制命令 – 微操作:执行部件接收微命令后所进行的操作 • 微命令和微操作是一一对应的 • 微命令是微操作的控制信号,微操作是微命令的操作过程 • 微操作是执行部件中最基本的操作 • 微操作具有互斥性和相容性 – 互斥性:不能同时或不能在同一个节拍内并行执行 – 相容性:能够同时或在同一个节拍内并行执行 – 微指令:在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,构成一条微指令 – 微程序:微指令序列 一个程序由多条机器指令组成,每条机器指令由多条微指令组成,微指令序列构成微程序
-
简述硬布线控制器和微程序控制器的比较 微程序控制原理:将微操作控制信号按一定规则进行信息编码形成控制字(微指令),一条机器指令对应一段“程序”,该程序存放在控制存储器中,当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作。因为“程序”的执行结果是实现一条机器指令的功能,所以称为“指令的微程序”。 硬布线控制器的基本思想:把控制部件看作为产生专门固定时序控制信号的逻辑电路,逻辑电路以使用最少元件和取得最高操作速度为设计目标 1. 硬布线控制器和微程序控制器的相同之处:根据指令操作码和时序信号,产生各种控制信号,以便正确地建立各种数据通路,完成取指令和执行指令的控制 2. 硬布线控制器的优点:速度快 3. 硬布线控制器的主要缺点:一旦设计完成,不可能通过其他的修改添加新功能 4. 微程序控制的主要优点:具有规整性、灵活性、可维护性 5. 微程序控制的主要缺点:速度慢
-
说明并比较微指令格式的种类 水平型微指令:一次能定义并执行多个并行操作微命令的微指令,格式为:控制字段 + 判别测试字段 + 下地址字段 按照控制字段的编码方法不同,水平型微指令分为三种 1. 全水平型(不译码法)微指令 • 在微指令的操作控制字段中每一个微命令都用一位信息表示,对应于一种微操作 • 设计微指令时,选用或不选用某个微命令,只要将表示该微命令的相应位设置成1或0 • 优点:简单、直观、执行速度快,微命令的并行控制能力强,编制的微程序短 • 缺点:微指令字比较长 2. 字段译码法(编码表示法)水平型微指令 • 把一组相斥性的微命令信号组成一个小组(即一个字段),通过小组(字段)译码器对每一个微命令信号进行译码,译码输出作为操作控制信号 • 优点:使微指令字大大缩短 • 缺点:由于增加了译码电路,使微程序的执行速度稍稍减慢 3. 直接和译码相混合的水平型微指令 • 把直接表示法与编码表示法混合使用,以便能综合考虑指令字长、灵活性、执行微程序速度等方面的要求 • 在微指令中还可附设一个常数字段。该常数可作为操作数送入ALU运算,也可作为计数器初值用来控制微程序循环次数 垂直型微指令
– 在微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能
– 其结构类似于机器指令的结构
– 实现一条机器指令的微程序要比水平型微指令编写的微程序长得多,它是采用较长的微程序结构去换取较短的微指令结构
水平型微指令与垂直型微指令的比较
1. 水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则较差
2. 水平型微指令执行一条指令的时间短,垂直型微指令执行时间长
3. 由水平型微指令解释指令的微程序,有微指令字段较长而微程序短的特点。垂直型微指令则相反
4. 水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握
-
简述提高并行性的技术途径 – 时间并行:指时间重叠,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度 – 空间并行:指资源重复 – 时间并行+空间并行:指时间重叠和资源重复的综合应用
-
说明流水线中的主要问题和解决方法 流水线实际上是把一个功能部件分解成多个独立的子功能(一个任务也就分成了几个子任务,每个子任务由一个子功能部件完成),并依靠多个子功能部件并行工作来缩短所有任务的执行时间 – 资源相关:是指多条指令进入流水线后,在同一机器时钟周期内争用同一个功能部件所发生的冲突 • 采用延迟IF法避开相关 • 增设一个存储器,将指令和数据分别存放在两个存储器中 • 采用多端口存储器结构 – 数据相关:由于多条指令的重叠处理,当后继指令所需的操作数刚好是前一指令的运算结果时,便发生数据相关冲突 • 在流水CPU的运算器中设置若干运算结果缓冲寄存器,暂时保留运算结果,以便于后继指令直接使用,这称为“向前”或定向传送技术 – 控制相关:控制相关冲突是由转移指令引起的,会使流水线发生断流 • 延迟转移法 – 由编译程序重排指令序列来实现 – 基本思想:先执行再转移 – 在转移指令之后让已进入流水线的一条或几条没有数据相关和控制相关的有效指令先执行,而转移指令被延迟执行 • 转移预测法 – 用硬件方法来实现,依据指令过去的行为来预测将来的行为 – 通过使用转移取和顺序取两路指令预取队列器以及目标指令cache,可将转移预测提前到取指阶段进行
第六章
-
简述总线的基本概念和分类和特性 总线是构成计算机系统的互连机构,是多个系统功能部件之间进行数据传送的公共通路 一个单处理器系统中的总线,大致分为三类 – 内部总线:CPU内部连接各寄存器及运算部件之间的总线 – 系统总线:CPU同计算机系统的其他高速功能部件,如存储器、通道等互相连接的总线 – I/O总线:中、低速I/O设备之间相互连接的总线 总线的特性 – 物理特性:总线的物理连接方式,包括总线的根数,总线的插头、插座的形状,引脚线的排列方式等 – 功能特性:描述总线中每一根线的功能 – 电气特性:定义每一根线上信号的传递方向及有效电平范围。送入CPU的信号叫输入信号(IN),从CPU发出的信号叫输出信号(OUT) – 时间特性:定义了每根线在什么时间有效,规定了总线上各信号有效的时序关系
-
比较单总线、多总线结构的性能特点 – 单总线结构是通过一组总线连接整个计算机系统的各大功能部件,即各大部件之间的所有的信息传送都通过这组总线 • 优点是允许I/O设备之间或I/O设备与内存之间直接交换信息,只需CPU分配总线使用权,不需要CPU干预信息的交换,即总线资源是由各大共能部件分时共享的 • 缺点是由于全部系统部件都连接在一组总线上,总线的负载很重,可能使其吞吐量达到饱和甚至不能胜任的程度,故多为小型机和微型机采用 – 多总线结构是通过桥、CPU总线、系统总线和I/O总线彼此相连,各大部件的信息传送不是只通过系统总线 • 高速、中速、低速设备连接到不同的总线上同时进行工作 • 提高了总线的效率和吞吐量 • 处理器结构的变化不影响高速总线
-
简述总线集中式仲裁的分类和特点 – 链式查询方式 • 优点:只用很少几根线就能按一定优先次序实现总线仲裁,判优方法简单,扩充设备容易 • 缺点:对询问链的电路故障很敏感;查询链的优先级是固定的,如果优先级高的设备出现频繁的请求时,优先级较低的设备可能长期不能使用总线 – 计数器定时查询方式 • 每次计数可以从0开始,也可以从上次的中止点开始 • 计数器的初值也可用程序来设置,可以方便改变优先次序,这种灵活性以增加线数为代价 – 独立请求方式 • 响应时间快,确定优先响应的设备所花费的时间少 • 既可以预先固定,也可以通过程序来方便地改变优先次序,对优先次序的控制相当灵活 • 可以用屏蔽(禁止)某个请求的办法,封锁来自无效设备的请求 • 这种方式需增加的线数较多(N个设备,需要2N根线),仲裁器
-
区分总线的定时方式和总线数据传送模式 – 同步总线定时 • 采用公共时钟,每个功能模块什么时候发送或接收信息都由统一时钟规定,传输频率较高 • 同步定时适用于总线长度较短、各功能模块存取事件比较接近的情况 – 异步总线定时 • 在异步定时协议中,后一事件出现在总线上的时刻取决于前一事件的出现,即建立在应答式或互锁机制基础上 • 这种系统中,不需要统一的公共时钟信号,总线周期的长度是可变的 • 异步时序的互锁关系 – 半同步总线定时 • 在同步总线定时协定的基础上稍加改动,扩展为半同步总线定时 • 整体上仍然采用同步操作方式,其总线周期是时钟周期的整数倍,增加一根联络信号线,由此信号决定是否需要增加时钟周期 • 适应能力大大提升,现代的许多同步总线已扩展为半同步总线 – 周期分裂式总线定时 • 将一个读周期分解成两个分离的传输子周期 – 第一个子周期:主方发送地址和命令及有关信息后,立即和总线断开,供其它设备使用 – 第二个子周期:被读的设备重新申请总线使用权后将数据通过总线发向请求数据的设备 • 要求读数据的双方都是总线主方 • 以硬件复杂度的提高换取总线性能的提升 总线数据传送模式 – 读、写操作 – 块传送操作 – 写后读、读修改写操作 – 广播、广集操作
第七章
第八章
-
CPU管理外围设备有几种方式?总结每一种方式的特点。 1. 程序查询方式:CPU的操作和外围设备的操作能够同步,且硬件结构比较简单,输入和输出控制和传输完全由CPU处理,降低了CPU的效率 2. 程序中断方式:一般适用于随机出现的服务,且一旦提出要求应立即进行,CPU不需要对外设进行状态查询,节省了CPU的时间开销,但硬件结构稍复杂一些 3. 直接内存访问(DMA)方式:时间传送不需要CPU的中转而在内存和外设间直接传送,数据传送速度很高,传送速率仅收到内存访问时间的限制。需要更多硬件,适用于内存和高速外设之间大批数据交换的场合 4. 通道方式:可以实现对外设的统一管理和外设与内存之间的数据传送,完全将CPU从I/O控制工作中解放出来,大大提高了CPU的工作效率 5. 外围处理机方式:是通道方式的进一步发展,基本上独立于主机工作,结构更接近一般处理机
-
简述查询方式和中断方式的主要异同点 – 两种方式都是以CPU为中心的控制方式,都需要CPU执行程序来进行I/O数据传送。 – 程序程序式控制简单,但系统效率很低,无法实现并行操作 – 中断式通过服务程序完成数据交换,实现了主机与外设的并行性
-
比较说明中断方式与DMA方式的异同 1. 相同点:二者都由随机请求引起 2. 不同点 1. 中断方式通过执行处理程序进行处理,DMA方式直接依靠硬件实现数据直传 2. 中断方式可处理复杂事件、控制中低速I/O操作,DMA方式适用于简单的、高速的数据批量传送
-
CPU响应中断应具备哪些条件? 1. CPU接收到中断请求信号 2. CPU允许中断 3. 一条指令执行完毕
-
以可屏蔽中断为例,说明一次完整的中断过程主要包括哪些环节? 复杂版: 1. 设备提出中断请求 2. 当一条指令执行结束时CPU响应中断 3. CPU设置中断屏蔽标志,不再响应其它中断请求(禁止中断) 4. 保存程序断点(PC) 5. 识别中断源(转移到中断服务子程序入口地址) 6. 用软件方法保存CPU线程 7. 为设备服务(中断服务、中断处理) 8. 恢复CPU现场 9. 中断屏蔽标志复位,以便接收其它设备中断请求(开放中断) 10. 返回主程序 简单版: 1. 中断请求 2. 中断判优 3. 中断响应 4. 中断服务 5. 中断返回
-
程序中断方式的四个标志触发器的具体功能 – 准备就绪触发器(RD):一旦设备做好依次数据的接收或发送,便发出一个设备动作完毕信号,使RD标志置位。在中断发送中,该标志用作为中断源触发器,简称中断触发器 – 允许中断触发器(EI):可以通过软件设置来控制是否允许某设备发出中断请求 • EI为1时,某设备可以向CPU发出中断请求 • EI为0时,则不能向CPU发出中断请求,某中断源的中断请求被禁止 – 中断请求触发器(IR):暂存中断请求线上由设备发出的中断请求信号。当IR标志位1时,表示设备已经发出了中断请求 – 中断屏蔽触发器(IM):CPU是否受理中断或批准中断的标志 • IM标志为0,CPU可以受理外界中断请求 • IM标志为1,CPU不受理外界中断请求
-
中断服务程序入口地址的获取有哪些? – 向量中断方式:由硬件在中断周期中完成查找中断源、中断排队与判优、获取中断服务程序的入口地址 – 查询中断方式:由软件查询中断源,获取中断服务程序的入口地址
-
区分中断向量、中断向量表、中断向量地址和中断向量号的概念 – 中断向量:中断服务程序的入口地址 – 中断向量表:系统中所有的中断向量按顺序放在内存指定位置的一张表 – 中断向量地址:存放中断向量的单元地址 – 中断向量号:不同的中断类型指定不同的中断向量号,经过查询中断向量表可得到响应中断向量