17.并行处理考优点:1.简单性:这是多处理器系统组成的最简单方式2.灵活性:可以附加更多处理器到总线上来扩充系统.可靠性:总线上任何一个设备故障不会引起整个系统的瘫痪.缺点:系统性能被总线时钟周期限制.为了解决这个问题,需要为每个处理器配置cache,以减少对总线的访问,但是cache的引入又带来了新的问题,那就是cache一致性问题.--------------------------------------------------------------------------------------------------------------------------------- 熟知:回写,写直达.软件解决方案,硬件解决方案(目录协议,监听协议);了解MESI协议和集群.16.微程序控制考:为什么采用微程序控制器(Micro-programmed Control)?||微程序控制器和硬布线实现(hardwired implementation)的比较||引入微程序控制器的目的.首先阐述为什么引入微程序控制:计算机指令越来越复杂;为了降低译码成本;硬连线方式成本太高,设计复杂,测试困难,不灵活. 微程序控制器的优点:成本低,不易出错,控制器设计简单.缺点:相比硬布线方式,速度更慢.硬布线优点:速度快.题外话:CISC多采用微程序控制器,RISC因为指令格式相对简单,一般使用硬布线方式.控制存储器有何作用:控制存储器包含了一组微指令,它们决定了控制单元的行为和功能.微指令基本概念;微指令格式(水平,垂直,混合,具体什么样的);微程序控制器的两项基本任务(定序:由控制存储器得到下一条微指令;执行:生成相应的控制信号);微指令定序设计考虑两个问题(微指令大小和地址生成时间);如何获得将要执行的微指令地址(指令寄存器确定;下一顺序地址;转移);定序技术(单地址字段,双地址字段,可变格式),必须根据当前微指令,条件标志,指令寄存器内容,产生下一条微指令的控制存储器地址.水平微指令的并行性比垂直微指令好,垂直微指令需要额外的译码器将功能代码转换为控制信号.15.控制器操作考习题15.6,p375.15.2What’s the relationship between instructions and micro-operation?指令和微操做之间有什么关系?一条指令包含了一系列微操做;而微操做是cpu在一个时钟周期内所能完成的基本操作. 15.3What is the overall function of a processor’s control unit?CPU控制器的总体功能是什么?定序:控制器根据正在被执行的程序,使CPU以恰当的顺序执行一系列微操做.执行:生成控制信号使每个微操做得以完成.微操做:指令执行周期中的最基本操作.注意那个PC+1,实质是PC+I;.现在IR的地址段容纳的是操作数的直接地址,IR的状态和不使用间接寻址时的状态一样.中断周期要保存PC的值,并把PC更新为子程序地址.执行周期的微操做依据具体的操作码.应掌握书上给出的例子(ADD;ISZ-递增,若为0则跳步;BSA-转移并保存地址).14.指令级并行性和超标量处理器考习题14.3,14.4(a),14.6(a);思考题:14.2 What is the difference between the superscalar and superpipelined approaches?超标量与超级流水线的区别是什么?14.3 What is instruction-level parallelism?什么是指令级并行性?14.4Briefly define the following terms:简要定义如下术语:•True data dependency真数据相关性•Procedural dependency过程相关性•Resource conflicts资源冲突•Output dependency输出相关性•Antidependency反相关性14.5 What is the distinction between instruction-level parallelism and machine parallelism?指令级并行性与机器并行性有何区别?14.8 What is register renaming and what is its purpose?什么是寄存器重命名,目的何在?13精简指令级计算机RISC的流水线技术.P319-321;考P321的图13-7考习题13.4,p332RISC设计关键点:大量使用通用寄存器或使用编译器技术来优化寄存器的使用.一个有限且简单的指令集.强调指令流水的优化.RISC的共同特征:每周期一条指令.大多数操作是寄存器到寄存器的.简单的寻址方式.简单的指令格式.12CPU结构和功能考P282的图.考12.6List and briefly explain various ways in which an instruction pipeline can deal with conditional branch instructions.列出并简要说明指令流水线处理条件分支的几种方式.多个指令流预取分支目标循环缓冲器分支预测延迟分支12.1If the last operation performed on a computer with an 8-bit word was an additionin which the two operands were 00000010 and 00000011, what would be the valueof the following flags?p305•Carry•Zero•Overflow•Sign•Even Parity•Half-Carryb. Repeat for the addition of-1 (twos complement) and+1 .12.2Repeat Problem 12.1 for the operation A- B, where A contains 11110000 and Bcontains 0010100.12.4A microprocessor provides an instruction capable of moving a string of bytes fromone area of memory to another. The fetching and initial decoding of the instructiontakes 10 clock cycles.Thereafter, it takes 15 clock cycles to transfer each byte.The microprocessoris clocked at a rate of 10 GHz.a. Determine the length of the instruction cycle for the case of a string of 64 bytes.b. What is the worst-case delay for acknowledging an interrupt if the instruction is noninterruptible?c. Repeat part (b) assuming the instruction can be interrupted at the beginning ofeach byte transfer.11寻址方式和指令格式p256图11-111.1Given the following memory values and a one-address machine with anaccumulator,whatvalues do the following instructions load into the accumulator?p275•Word 20 contains 40.•Word 30 contains 50.•Word 40 contains 60.•Word 50 contains 70.a. LOAD IMMEDIATE 20b. LOAD DIRECT 20c. LOAD INDIRECT 20d. LOAD IMMEDIATE 30e. LOAD DIRECT 30f. LOAD INDIRECT 3011.3An address field in an instruction contains decimal value 14. Where is the correspondingoperand located fora. immediate addressing?b. direct addressing?c. indirect addressing?d. register addressing?e. register indirect addressing?10指令集:特征和功能考P225图考10.1Show in hex notation:P247a. The packed decimal format for 23b. The ASCII characters 23考10.6Compare zero-, one-, two-, and three-address machines by writing programs to compute X = (A + B * C)/(D - E * F)for each of the four machines.The instructions available for use are as follows:CPU指令集:CPU能执行的各种不同指令的集合.机器指令要素.p222指令分类:数据处理-算术和逻辑指令,数据存储-存储器指令,数据传输-i/o指令,控制-测试和分支指令. 双地址(mov),单地址(load+stor+AC)操作数类型:地址,数值,字符,逻辑数据逆波兰.int 12345678h;1是高位,8是低位.大端:高位存在低地址小端:低位存在低地址.大小端对数组无影响.9.计算机算术考9.5Consider the following operation on a binary word. Start with the least significant bit. Copy all bits that are 0 until the first bit is reached and copy that bit, too. Then takethe complement of each bit thereafter.What is the result?P220考9.7The r’s complement of an n-digit number N in base r is defined asr^n-N for N≠0,and 0 forN=0,Find the tens complement of the decimal number 13250.考9.8Calculate (72530-13250) using tens complement arithmetic. Assume rules similarto those for twos complement arithmetic.考9.10Assume numbers are represented in 8-bit twos complement representation. Show the calculation of the following.P220考9.14Given x=0101 and y=1010 in twos complement notation,compute the product x*y with Booth’s a lgorithm考9.15Use the Booth algorithm to multiply 23 (multiplicand) by 29 (multiplier), where each number is represented using 6 bits.9.3 What's the sign-extension rule for twos complement numbers?在左边添加额外的位,它们均用原来的符号位来填充.9.8 What are the four essential elements of a number in floating-point notation?①符号②有效值③阶④基7Complementary Problems:1. Describe the programmed I/O operations.①CPU发送命令到相应的I/O模块,请求I/O操作②I/O模块执行所要求的动作,并在I/O状态寄存器中设置一些适当的位.③I/O模块不会才去进一步的动作来通知CPU,也不会去中断CPU,所以CPU周期性地检查I/O 模块状态,直到发现该操作完成.2. Describe the interrupt-driven I/O operations.①CPU发送命令到相应的I/O模块之后,继续执行其他指令.②当I/O模块准备个CPU交换数据时,请求中断CPU.③CPU执行数据传输.④CPU恢复原先的工作.3. Describe the DMA operations.①当处理器希望读或写数据时,发送一个命令给DMA模块,该命令包含如下信息:a.说明操作是读还是写.b.相应的I/O设备地址.c.执行读或写操作的存储器数据的起始单元地址.d.数据传输量的大小.②然后,处理器继续执行其他工作,该I/O操作被委派给DMA.③数据传输完成时,DMA模块给处理器发送一个中断信号.Review Question:7.1 List three broad classifications of external,or peripheral devices.①人可读设备:适用于与计算机用户通信.②机器可读设备:适用于与设备通信.③通信设备:适用于与远程设备通信.7.3 What are the major functions of an I/O module?①控制和定时.②处理器通信.③设备通信.④数据缓冲.⑤检错.7.4 List and brief define three techniques for performing I/O.①编程式I/O:处理器发送一条命令到I/O模块,然后必须等待I/O模块完成操作,才能继续做其他的.②中断驱动式I/O:处理器发送一条命令到I/O模块,然后去处理其他工作,当I/O模块准备和处理器交换数据时,它中断处理器以请求服务.然后,处理器执行数据传送,最后恢复原先的和处理工作.③直接存储器存取(DMA):当处理器希望读或写数据时,会发送一个命令给DMA,该命令包含了I/O操作的细节;然后,处理器继续执行其他工作,DMA接管该I/O操作;当数据传输完成时,DMA模块给处理器发送一个中断信号.7.5 What is the different between memory-mapped I/O and isolated I/O?①对于存储器映射式I/O,存储单元和I/O设备有单一的地址空间.处理器将I/O模块的状态和数据寄存器看成和存储单元一样对待,使用相同的机器指令来访问存储器和I/O设备②对于分离式I/O,命令线指定该地址是说明存储单元还是说明I/O设备.整个地址范围对两者都适用.7.6 When a device interrupt occurs ,how does the processor determine which deveice issued the interrupt?通常使用四种技术来识别设备中断:①多条中短线②软件轮询③硬件轮询(向量,菊花链)④总线仲裁Problem:7.1:第一种方式,可以寻址2^8=256个端口.第二种方式可以寻址2^16=64K个端口.需要注意的是,操作码在一次操作内,要么指定输入操作,要么指定输出操作.所以,地址可以重用.对于可以寻X个端口的CPU来说,再一次I/O操作中,既可以寻址最大数量为X个的输入端口,也可以寻址最大X个输出端口.5Review Questions:5.2 What are two senses in which the term random-access memory is used?①通过固定的寻址逻辑,存储器的单个字被直接存取.②在半导体存储器中,可以方便快捷地从存储器读取数据和向存储器写入数据.5.3 What is the difference between DRAM and SRAM in terms of application?①DRAM用于主存.②SRAM用于cache(片内或片外).5.4 What is the difference between DRAM and SRAM in terms of characteristics such as speed,size,and cost?①SRAM的速度通常比DRAM快.②DRAM的位元比SRAM小,且电路也更简单,价格也更便宜.4Review Questions:4.1 What are the differences among sequential access,directaccess,and random access?顺序存取:存储器组织成许多称为记录的数据单元,它们以特定的线性序列方式存取.直接存取:单个块或记录有基于物理存储位置的唯一地址.存取通过直接到达所需的块处,然后在块中顺序搜索基于物理存储位置的唯一地址.随机存取:存储器中每一个可寻址的存储位置有唯一的物理编排的寻址机制.存取给定存储位置的时间是固定的,不依赖于前面存取的序列.4.2 What is the general relationship among access time,memorycost,and capacity?①存取时间越短,平局每位的花费就越大.②存储容量越大,平均每位的花费就越小.③存储容量越大,存取时间就越长.4.4 What are the differences among direct mapping,associativemapping,and set associative mapping?直接映射:将主存中的每一个块映射到一个固定的可用的cache行中.全相连映射:允许每一个主存块装入cache中的任意行.组相联映射:cache块被分成v组,每组包含相同行数k行;主存中的每一块可以映射到确定组中的任意行.Problems:4.14:采用写回法,每一个脏行只在交换时写回主存一次,耗时30+5*7=65ns;因为65/30≈2.17.所以写入平均超过2.17次,写回法就更有效.4.15:a.第二条指令紧跟着第一条指令b.内部for循环的a[i]在很短的时间间隔内达到103Review Questions:3.1 What general categories of functions are specified by computer instruction?①处理器-存储器:数据在CPU和主存之间相互传输②处理器-I/O:通过处理器与I/O模块之间的相互传输,数据可以传送到或来自外围设备③数据处理:处理器可以对数据执行一些算术或逻辑操作.④控制:指令可以用来改变执行顺序.3.2 List and briefly define the possible state that define an instruction execution.①指令地址计算(iac):决定下一条将要执行的指令地址②读取指令(if):将指令从存储器单元读到处理器中③指令操作译码(iod):分析指令,以决定将执行何种操作以及将如何使用操作数④操作数地址计算(oac):如果该操作包含对存储器或通过I/O的操作数访问,那么决定操作数地址⑤取操作数(of):从存储器或从I/O中读取操作数⑥数据操作(do):完成指令需要的操作⑦操作数存储(os):将结果写入存储器或输出到I/O3.3 List and briefly define two approaches to dealing with multiple interrupts.①在中断处理过程中禁止其他中断.②定义中断优先级,允许优先级较高的中断引起低优先级中断处理程序本身被中断.3.4 What types of transfers must a computer's interconnection structure (e.g.,bus)support?①存储器到处理器:处理器从存储器中读一条指令或一个单元的数据.②处理器到存储器:处理器向存储器写一个单元的数据.③I/O到处理器:处理器通过I/O模块从I/O设备中读数据.④处理器到I/O:处理器向I/O设备发送数据.⑤I/O与存储器之间:对于这两种情况,I/O模块允许与存储器直接交换数据,使用直接存储器(DMA),而不通过处理器.3.5 What is the benefit of using a multiple-bus architecture compared to a single-bus architecture ?使用多总线,每一条总线上面连接的设备更少,这就有两个好处:①减小传输延迟,因为每一条总线相对更短②降低瓶颈效应Problems:3.1:假设的内存位置及值为:100:3005;101:5940;102:7006①3005→IR ②3→AC ;因为设备5里面是3③5940→IR ④3+2=5→AC ;940处放的2⑤7006→IR ⑥AC=5→设备63.2:step1 1.PC的值是300,PC将值传给MAR,然后内存地址为300(指令1940)处的值被加载到MBR,然后PC自加1.2.最后MBR中的值被加载到IRstep2 1.IR把地址940加载到MAR,然后地址940处的值被加载到MBR2.最后MBR中的值被加载到ACstep3 1.PC的值是301,PC将值传给MAR,然后内存地址为301(指令5941)处的值被加载到MBR,然后PC自加1.2.最后MBR中的值被加载到IRstep4 1.IR把地址941加载到MAR,然后地址941出的值被加载到MBR2.然后把原来AC中的值加上MBR中的值,得出的结果加载到ACstep5 1.PC的值是302,PC将值传给MAR,然后内存地址为302(指令2941)处的值被加载到MBR,然后PC自加1.2.最后MBR中的值被加载到IRstep6 1.IR把地址941加载到MAR,然后AC中的值被加载到MBR2.最后把MBR中值加载到地址941处.2Review Questions:2.1 What is stored program computer?在一台存储程序计算机中,程序能够以某种形式与数据一同存在存储器中,计算机可以通过在存储器中读取程序来获取指令,而且通过设置一部分存储器的值就可以编写和修改程序.2.2 What are the four main components of any general-purpose computer ?①主存储器:用于存储数据和指令.②算术逻辑运算单元(ALU):用于处理二进制数.③控制器:负责解释内存中的指令并执行之.④输入/输出设备(I/O):被控制器操纵.2.4 Explain Moore's law.单芯片上所能包含的晶体管数量每年翻一番,并正确断言这种态势在不远的将来还会继续下去.11.1 What is the computer architecture.计算机体系结构是那些对程序员可见的系统属性,这些属性直接影响到程序的逻辑执行. 1.2 What is the computer organization.计算机组成是实现结构规范的操作单元及其相互连接.1.3 What is the structure of a computer system.分层性质的系统.是由一系列互相关联的子系统,每个子系统又在结构上分层,直到分成我们所能达到的一些基本子系统的最低级.1.4 What are the functions of a computer.计算机的基本功能有四项:数据处理,数据存储,数据传输,控制.1.5 Describe the principal elements of a computer.中央处理单元(CPU):它控制计算机的操作并且执行数据处理功能;主存储器:存储数据;I/O:在计算机及其外部环境之间传输数据;系统互连(系统总线):为CPU,主存储器和I/O之间提供一些通信机制.1.6 Describe the principal elements of a CPU.控制单元:控制CPU以至于整个计算机的操作;算术逻辑单元(ALU):执行计算机的数据处理功能;寄存器:提供CPU内部存储;CPU内部互联:提供控制器,ALU和寄存器之间的某种通信机制.。