02325计算机系统结构复习资料_第1页
02325计算机系统结构复习资料_第2页
02325计算机系统结构复习资料_第3页
02325计算机系统结构复习资料_第4页
02325计算机系统结构复习资料_第5页
已阅读5页,还剩88页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章 计算机系 是指可以在一个存 重复地执行使用同统结构的基本概念储周期内并行读出一套设备的各个部从处理数据的角多个CPU字的,采分,加快硬件周转来度看,并行级别有位用单体多字、多体单赢得速度。例子有流串字串,位并字串,字或多体多字的交水线处理机。位片串字并,全并叉访问主存系统,进处理器操作并行行。位串字串和位并而采用按内容访问是指一个指令部件字串基本上构成了方式,位片串字并或同时控制多个处理SIMD。位片串字并全并行方式,在一个单元,实现一条指令的例子有:相联处理主存周期内实现对对多个数据的操作。机STARAN,MPP。存储器中大量字的擅长对向量、数组进全并行的例子有:阵高速并行操作。例子行处理。例子有阵列列处理机ILLIAC有并行存储器系统,处理机。IV。以相联存储器为核指令、任务、作业从加工信息的角心构成的相联处理并行是指多个独立度看,并行级别有存机。的处理机分别执行储器操作并行,处理处理器操作步骤各自的指令、任务、器操作步骤并行,处并行是指在并行性作业。例子有多处理理器操作并行,指概念中引入时间因机,计算机网络,分令、任务、作业并行。素,让多个处理过程布处理系统。存储器操作并行在时间上错开,轮流并行性的开发途1/91径有时间重叠(Time理机。机。MIMD:多个Interleaving),资源资源共享是指用独立的处理机分别重复(Resource软件方法让多个用执行各自的指令、任Replication),资源户按一定时间顺序务、作业,实现指令、共享(Resource轮流使用同一套资任务、作业并行的多Sharing)。源以提高资源的利机系统,是多个时间重叠是指在用率,从而提高系统SISD的集合,也称并行性概念中引入性能。例子有多处理多倍SISD系统时间因素,让多个处机,计算机网络,分(MSISD)。例子有多理过程在时间上错布处理系统。处理机,计算机网开,轮流重复地执行SISD:一个指令部络,分布处理系统。使用同一套设备的件控制一个操作部exercises:各个部分,加快硬件件,实现一条指令对1.有一台经解释实周转来赢得速度。例一个数据的操作。例现的计算机,可以按子有流水线处理机。子有传统的单处理功能划分成4级,每资源重复是指一机SIMD:一个指一级为了执行一条个指令部件同时控令部件同时控制多指令,需要下一级的制多个处理单元,实个处理单元,实现一N条指令来解释。如现一条指令对多个条指令对多个数据果执行第1级的一条数据的操作。例子有的操作。例子有阵列指令要Kns时间,阵列处理机,相联处处理机,相联处理那么执行第2、第32/91和第4级的一条指令Ks,问在第2、3和表示N/M表示第各需要用多少时4级上一段等效程序i+1级需(N/M)条指间?各需要运行多长时令来完成第i级的计解答:执行第2、间?算量。所以,当有一第3和第4级的一条答:第2级上等效段第1级的程序需要指令各需要KNns、程序需运行:运行Ks时,在第2KN^2ns、KN^3ns(N/M)*Ks。第3级级就需要(N/M)Ks,的时间。上等效程序需运行:以此类推1.有一个计算机系(N/M)*(N/M)*Ks。2.硬件和软件在什统可按功能分成4第4级上等效程序需么意义上是等效级,每级的指令互不运行:的?在什么意义上相同,每一级的指令(N/M)*(N/M)*(N/又是不等效的?试都比其下一级的指M)*Ks。举例说明。令在效能上强M倍,note:由题意可答:软件和硬件在逻即第i级的一条指令知:第i级的一条指辑功能上是等效的,能完成第i-1级的M令能完成第i-1级的原理上,软件的功能条指令的计算量。现M条指令的计算量。可用硬件或固件完若需第i级的N条指而现在第i级有N条成,硬件的功能也可令解释第i+1级的一指令解释第i+1级的用软件模拟完成。但条指令,而有一段第一条指令,那么,我是实现的性能价格1级的程序需要运行们就可以用N/M来比,实现的难易程序3/91不同。(1)计算机的系理方式。在DOS操作系统统结构相同,但可采(2)相同的组成时代,汉字系统是一用不同的组成。如可有多种不同的实个重要问题,早期的IBM370系列有现。如主存器件可用汉字系统的字库和115、125、135、双极型的,也可用处理程序都固化在158、168等由低档MOS型的;可用汉卡(硬件)上,而到高档的多种型号VLSI单片,也可用随着CPU、硬盘、内机器。从汇编语言、多片小规模集成电存技术的不断发展,机器语言程序设计路组搭。UCDOS把汉字系者看到的概念性结(3)计算机的系统的所有组成部份构相同,均是由中央统结构不同,会使采做成一个软件。处理机/主存,通道、用的组成技术不同,3.试以实例说明计设备控制器,外设4反之组成也会影响算机系统结构、计算级构成。其中,中央结构。如为实现机组成与计算机实处理机都有相同的A:=B+CD:=E*F,可现之间的相互关系 机器指令和汇编指 采用面向寄存器的与影响。令系统,只是指令的系统结构,也可采用答:计算机系统结分析、执行在低档机面向主存的三地址构、计算机组成、计上采用顺序进行,在寻址方式的系统结算机实现互不相同,高档机上采用重叠、构。要提高运行速但又相互影响。流水或其它并行处度,可让相加与相乘4/91并行,为此这两种结综上所述,系统结如,为达到速度要构在组成上都要求构的设计必须结合求,可用简单的组成设置独立的加法器应用考虑,为软件和但却是复杂的实现和乘法器。但对面向算法的实现提供更技术,也可用复杂的寄存器的系统结构多更好的支持,同时组成但却是一般速还要求寄存器能同要考虑可能采用和度的实现技术。前者时被访问,而对面向准备采用的组成技要求高性能的器件,主存的三地址寻址术。应避免过多地或后者可能造成组成方式的系统结构并 不合理地限制各种 设计复杂化和更多无此要求,倒是要求 组成、实现技术的采 地采用专用芯片。能同时形成多个访 用和发展,尽量做到 组成和实现的权存操作数地址和能 既能方便地在低档 衡取决于性能价格同时访存。又如微程机上用简单便宜的比等因素;结构、组序控制是组成影响组成实现,又能在高成和实现所包含的结构的典型。通过改档机上用复杂较贵具体内容随不同时变控制存储器中的的组成实现,这样,期及不同的计算机微程序,就可改变系结构才有生命力;组系统会有差异。软件统的机器指令,改变成设计上面决定于的硬化和硬件的软结构。如果没有组成结构,下面受限于实件都反映了这一事技术的进步,结构的现技术。然而,它可实。VLSI的发展更进展是不可能的。与实现折衷权衡。例使结构组成和实现5/91融为一体,难以分 存储器最小编址单 存储器最小编址单开。位;Cache存储器。位。4.什么是透明性概答:透明指的是客观5.从机器(汇编)语念?对计算机系统存在的事物或属性言程序员看,以下哪结构,下列哪些是透从某个角度看不到。些是透明的?明的?哪些是不透透明的有:存储器指令地址寄存器;指明的?的模m交叉存取;令缓冲器;时标发生存储器的模m交叉数据总线宽度;阵列器;条件寄存器;乘存取;浮点数据表运算部件;通道是采法器;主存地址寄存示;I/O系统是采用用结合型还是独立器;磁盘外设;先行通道方式还是外围型;PDP-11系列的进位链;移位器;通处理机方式;数据总单总线结构串行、重用寄存器;中断字寄线宽度;字符行运算叠还是流水控制方存器。指令;阵列运算部式;Cache存储器。答:透明的有:指令件;通道是采用结合不透明的有:浮点缓冲器、时标发生型还是独立型;数据表示;I/O系统器、乘法器、先进先PDP-11系列的单总是采用通道方式还出链、移位器、主存线结构;访问方式保是外围处理机方式;地址寄存器。护;程序性中断;串字符行运算指令;访6.下列哪些对系统行、重叠还是流水控问方式保护;程序性程序员是透明的?制方式;堆栈指令;中断;;堆栈指令;哪些对应用程序员6/91是透明的?note:系列机各档不么?系列机各档不同的同的数据通路宽度、新增加字符数据类数据通路宽度;虚拟Cache存贮器、指令型和若干条字符处存储器;Cache存储缓冲寄存器属于计理指令,以支持事务器;程序状态字;算机组成,对系统和处理程序的编译。“启动I/O”指令;程序员和应用程序(2)为增强中断处“执行”指令;指令员都是透明的。理功能,将中断分级缓冲寄存器。虚拟存贮器、程序由原来的4级增加到答:对系统程序员透状态字、“启动5级,并重新调整中明的有:系列机各档I/O”指令,对系统断响应的优先次序。不同的数据通路宽程序员是不透明的,(3)在CPU和主存度;Cache存储器;而对应用程序员却之间增设Cache存指令缓冲寄存器;是透明的。“执储器,以克服因主存对应用程序员透行”指令则对系统访问速率过低而造明的有:系列机各档程序员和应用程序成的系统性能瓶颈。不同的数据通路宽员都是不透明的。(4)为解决计算误度;Cache存储器;7.想在系列机中发差较大,将机器中浮指令缓冲寄存器;虚展一种新型号机器,点数的下溢处理方拟存储器;程序状态你认为下列哪些设法由原来的恒置字;“启动I/O”指想是可以考虑的,哪“1”法,改为用令。些则不行的?为什ROM存取下溢处理7/91结果的查表舍入法。示器。的实现技术,即使用(5)为增加寻址灵答:可以考虑的有:复杂、昂贵的组成实活性和减少平均指1,3,4,6,7。不可以考现时,也还能充分发令字长,将原等长操虑的有:2,5,8。挥该实现方法所带作码指令改为有3类原则是看改进后来的好处。不同码长的扩展操 能否保持软件的可 8.并行处理计算机作码;将源操作数寻移植性。除分布处理、MPP址方式由操作码指P.S.为了能使软和机群系统外,有哪明改成如VAX-11件长期稳定,就要在4种基本结构?列举那种设寻址方式位 相当长的时期里保 它们各自要解决的字段指明。证系统结构基本不主要问题。(6)将CPU与主存变,因此在确定系列答:除了分布处理,间的数据通路宽度结构时要非常慎重。MPP和机群系统外,由16位扩展成32其中最主要是确定并行处理计算机按位,以加快主机内部好系列机的指令系其基本结构特征可信息的传送。统、数据表示及概念分为流水线计算机,(7)为减少公用总性结构。既要考虑满阵列处理机,多处理路线的使用冲突,将足应用的各种需要机和数据流计算机单总线改为双总线。和发展,又要考虑能四种不同的结构。(8)把原0号通用方便地采用从低速流水线计算机主寄存器改作堆栈指到高速的各种组成要通过时间重叠,让8/91多个部件在时间上到时间和空间上的性能目标是什么?交划重叠地并行招异步并行。它主要答:计算机系统的3T待运算和处理,以实应解决:处理机间互性能目标是现时间上的并行。它连等硬件结构,进程1TFLOPS计算能主要应解决:拥塞控间的同上步和通讯,力,1TBYTE主存容制,冲突防止,流水多处理机调度等问量和1TBYTES的线调度等问题。题。I/O带宽阵列处理机主要数据流计算机设第二章数据表示通过资源重复实现有共享变量的概念,与指令系统空间上的并行。它主指令执行顺序只受1.尾数的rm进制数要应解决:处理单元指令中数据的相关位m'和尾数的二进灵活、规律的互连模性制约。数据是以表制数位m的关系式和互连网络设计,示某一操作数或参存在数据在存储器中的数已准备就绪的数m'=m/log2(rm)这分布算法等问题。据令牌直接在指令种关系是因为,在机多处理机主要通之间传递。它主要应器中,一个rm进制过资源共享,让一组解决:研究合适的硬的数位是用log2(rm)计算机在统一的操件组织和结构,高效个机器数位来表示作系统全盘控制下,执行的数据流语言的。实现软件和硬件各等问题。假设rm=8,尾数级上的相互作用,达9.计算机系统的3T为20,则m'=2,八9/91进制数20转换成二为零的数,所以,应平均长最短,请设计进制数为10000,其该去掉小数点后第操作码的编码,并计二进制数位,即机器一个数位是0的那些算所设计操作码的数位m=5。非规格化的数。显平均长。(4分)2=5/log2(8)。然,非规格化数的个(2)设计8位长度note:这里的等号数占了全部尾数编的寄存器-寄存器并不表示纯粹数学码总数的1/rm的比型指令3种,16位意义上的“等于”。例,所以可表示的浮长度的寄存器-存2.可表示的尾数个点数规格化的尾数储器变址寻址方式数公个数应该是:rm^m'指令4条,变址范围式rm^m'(rm-1(1-1/rm)。不小于正、负127。)/rm。exercises:请写出指令格式,并对于rm进制的1.某模型时机共有7给出各字段的长度数来说,每个数位均种指令,各指令使用和操作码编码。(6可以有0到rm-1,频率分别为0.35,分)即rm个码。m'个0.25,0.20,0.10,解答:(1)全rm进制数位共有0.05,0.03,0.02,Huffman编码的平rm^m'种编码。但课有8个通用数据寄存均码长是可用的二本中讨论的是规格器和2个变址寄存进制位编码中平均化数,即尾数的小数器。码长最短的编码。点后第一个数位不(1)要求操作码的全Huffman编码的10/91平均码长OPR1间的结构关系。=2*(0.35+0.25+0.R2数据结构要通过20)+3*0.10+4*0.0操作码寄存器1寄软件映象变换成机5+5*(0.02+0.03)=存器2器所具有的各种数2.354位3位1据表示实现,所以数(2)由于有8个位8位据表示是数据结构通用数据寄存器和2OPR1的组成元素。不同的个变址寄存器,所以Xd数据表示可为数据通用寄存器用3位表操作码寄存器1变结构的实现提供不示,变址寄存器用1址寄存器相对位移同的支持,表现在实位表示,8位的寄存主存逻辑地址现效率和方便性不器-寄存器型指令,31.数据结构和机器同。数据表示和数据个操作码编码为00、的数据表示之间是结构是软件、硬件的01、10,16位的寄什么关系?确定和交界面。存器-存储器变址寻引入数据表示的基除基本数据表示址方式指令,4个操本原则是什么?不可少外,高级数据作码编码为1100、答:数据表示是能由表示的引入遵循以1101、1110、硬件直接识别和引下原则:1111,用的数据类型。数据(1)看系统的效2位3位3结构反映各种数据率有否提高,是否养位元素或信息单元之活了实现时间和存11/91储空间。 描述符数据表示(2)看引入这种 为向量、数组的的实数据表示后,其通用 现提供了支持,有利性和利用率是否高。 于简化高级语言程2.标志符数据表示 序编译中的代码生与描述符数据表示 成,可以比变址法更有何区别?描述符 快地形成数据元素数据表示与向量数 的地址。但描述符数据表示对向量数据 据表示并不支持向结构所提供的支持 量、数组数据结构的有什么不同? 高效实现。而在有向答:标志符数据表示 量、数组数据表示的与描述符数据表示 向量处理机上,硬件的差别是标志符与 上设置有丰富的赂每个数据相连,合存 量或阵列运算指令,于同一存储单元,描 配有流水或阵列方述单个数据的类型 式处理的高速运算特性;描述符是与数 器,不仅能快速形成据分开存放,用于描 向量、数组的元素地述向量、数组等成块 址,更重要的是便于数据的特征。 实现把向量各元素

成块预取到中央处理机,用一条向量、数组指令流水或同时对整个向量、数组高速处理.如让硬件越界判断与元素运算并行。这些比起用与向量、阵列无关的机器语言和数据表示串行实现要高效的多。堆栈型机器与通用寄存器型机器的主要区别是什么?堆栈型机器系统结构为程序调用的哪些操作提供了支持?答:通用寄存器型机器对堆栈数据结构实现的支持是较差12/91的。表现在:(1)堆栈高级语言的编译;(4)大尾数值、可表示的操作的指令少,功能有力地支持子程序最小值和最大值及单一;(2)堆栈在存储的嵌套和递归调用。可表示的规格化数器内,访问堆栈速度堆栈型机器系统的总个数。低;(3)堆栈通常只用结构有力地支持子解:依题意知:于保存于程序调用程序的嵌套和递归p=6m=48rm=2,时的返回地址,少量调用。在程序调用时8,16,用堆栈实现程序间将返回地址、条件m'=m/log2(rm),列的参数传递。码、关键寄存器的内下表:而堆栈型机器则容等全部压入堆栈,p=6,p=6,p=6,不同,表现在:(1)待子程序返回时,再m=4m=4m=4有高速寄存器组成从堆栈中弹出。8,rm8,rm8,rm的硬件堆栈,并与主4.设某机阶值6位、=16(=2(m=8(m存中堆栈区在逻辑尾数48位,阶符和m'=1'=48)'=16)上组成整体,使堆栈数符不在其内,当尾2)的访问速度是寄存数分别以2、8、16最器的,容量是主存为基时,在非负阶、小的;(2)丰富的堆栈指正尾数、规格化数情阶000令可对堆栈中的数况下,求出其最小(据进行各种运算和阶、最大阶、阶的个非处理;(3)有力地支持数、最小尾数值、最负13/91阶-1可,))表2^638^6316^6最最示*(1-2*(1-83*(1-小大的^(-116^(-^(-4为尾最6))12))0)1-8^8))数大1-16最值(-16)值(11-2^^(-12大,即阶),即阶-r(-48)(1-2的2^6-2^6-2^6-(1-2^(211m^(-4个1(-48))^p^(8))数2^62^62^6-1-(2)m'^p最)))小可可尾表表16^1数示示2^488^161/21/81/16的1/21/81/16的*(2-1*(8-12*(1值6-1)/(r最尾)/2)/816m小数^(值的14/91个=rm^(2^p-1)*(1-r数值、最大阶值、可数m^(-m'));表示的最小值和最可可表示的尾数大值及可表示数的表的个数个数。示=rm^m'*(rm-1)/r(2)对于的2^6*m;rp=2,p=2,rm=4,m'2^6*2^6*=2,重复以上计算。规16^1可表示的规格2^488^16化数的个数=阶的个格2*(1解:依题意列下*(2-1*(8-1数*尾数的个数化6-1)/表:)/2)/8=2^p*rm^m'*(rm-p=2,rm=p=2,rm数16的1)/rm。10,m'=1=4,m'=2个5.(1)浮点数系统最数使用的阶基rp=2,阶小note:可表示的最小值位数p=2,尾数基10^-1=04^-1=0.尾25值rm=10,以rm.1值=rm^(最小阶)*最为数小尾数值基的尾数位数m''=1,值=rm^0*rm^(-1)=r按照使用的倍数来最m^(-1);说,等价于m=4,试大计算在非负阶、正尾1-10^-11-4^-2=可表示的最大尾值=rm^(最大阶)*最数、规格化情况下的=0.915/16数大尾数值最小尾数值、最大尾值15/91最数地址与内容的对应大的关系2p^-1=33阶个地000000010010001值数址可题中“按照使用内00000100101表的倍数来说,等价于容示m=4,”这个m=4,7.变址寻址和基址的0.10.25因为2^3<10<2^4,寻址各适用于何种最等价为实际要4个二场合?设计一种只小进制位,表示用6位地址码就可指值RM=10为基的一位向一个大地址空间可6.由4位数(其中最中任意64个地址之表低位为下溢附加位)一的寻址机构。示经ROM查表舍入答:基址寻址是对逻10^3*0.4^3*15法,下溢处理成3位的9=900/16=60辑地址空间到物理最结果,设计使下溢处地址空间变换的支大理平均误差接近于持,以利于实现程序值零的ROM表,列出的动态再定位。变址可ROM编码表地址与寻址是对数组等数表3648内容的对应关系。据块运算的支持,以示解:ROM编码表16/91利于循环。将大地址求了。9.若某机要求:三地空间64个地址分8.经统计,某机器14址指令4条,单地址块,用基址寄存器指条指令的使用频度指令255条,零地址出程序所在块号,用分别为:指令16条。设指令指令中6位地址码表0.01,0.15,0.12,0.字长为12位.每个示该块内64个地址03,0.02,0.04,0.02地址码长为3位。问之一,这样基址和变,0.04,0.01,0.13,0.能否以扩展操作码址相结合可访问大15,0.14,0.11,0.03为其编码?如果其中地址任意64个地址。分别求出用等长单地址指令为254之一。比如地址空间码、Huffman码、条呢?说明其理由。很大,为0-1023,只有两种码长的扩答:①不能用扩展只用6位地址码就可展操作码3种编码方码为其编码。以指向这1024个地式的操作码平均码∵指令字长12址中的任意64个。长。位,每个地址码占3剖析:比如地址空间解:等长操作码的平位;很大,1024,就是均码长=4∴三地址指令最分成16个块,块号位;Huffman编码的多是放在寄存器中,块内平均码长=3.38位;2^(12-3-3-3)=8地址放在地址位中,只有两种码长的扩条,现三地址指令寄存器内容和地址展操作码的平均码需4条,位结合,就能达到要长=3.4位。∴可有4条编码17/91作为扩展码,足题目要求4*2^6=256条,但∴单地址指令最note:由于韪目要求要有多为三地址指令格式:255条,所以剩下一4×2^3×2^3=2^8操作码地址码个编码,已经用了9=256条,地址码地址码位的全部编码,最后现要求单地址指零地址指令(全部12令255条,∴可有一3位3位3位都可作为操作码条编码作扩展码位3位的编码)还有∴零地址指令最单地址指令格式:1*2^3=8(这是12多为1×2^3=8条操作码地址码位编码中最后三位不满足题目要求的)若只要求254∴不可能以扩展9位3位种,则可以有码为其编码。所以前面9位由(256-254)②若单地址指令于三地址指令用了*2^3=16条254条,可以用扩展最前面3位,还有中10.某机指令字长码为其编码。间6位可作为编码16位。设有单地址∵依据①中推导,(也就是总共可以指令和双地址指令单地址指令中可用2有9位作为单地址指两类。若每个地址字条编码作为扩展码令的指令操作码的段为6位.且双地址∴零地址指令为编码)。减去3地址指令有X条。问单地2×2^3=16条,满指令的4条,有址指令最多可以有18/91多少条?指如何用最短位数在存储器内按整数答:单地址指令最多表示指令的操作信边界存储的前提下,为(16-X)×2^6息和地址信息,使程使用多种不同的指P.S.双地址指令序中指令的平均字令字长度。最多是长最短。12.某模型机9条指2^(16-6-6)=2^4=1①操作码的优化令使用频率为:6条,现双地址指令采用Huffman编ADD(加)30%有X条,码和扩展操作码编SUB(减)24%∴可有(16-X)条码。JOM(按负转移)6%编码作为扩展码,②对地址码的优STO(存)7%∴单地址指令最化:JMP(转移)7%多为采用多种寻址方SHR(右移)2%(16-X)×2^6=256式;CIL(循环)3%条采用0、1、2、3CLA(清加)20%11.何谓指令格式的等多种地址制;STP(停机)1%优化?简要列举包括在同种地址制内要求有两种指令字操作码和地址码两再采用多种地址形长,都按双操作数指部分的指令格式优式,如寄存器-寄存令格式编排,采用扩化可采用的各种途器型、寄存器-主存展操作码,并限制只径和思路。型、主存-主存型能有两种操作码码答:指令格式的优化等;在维持指令字长。设该机有若干通19/91用寄存器,主存为16位宽,按字节编址,采用按整数边界存储。任何指令都在一个主存周期中取得,短指令为寄存器 -寄存器型,长指令为寄存器-主存型,主存地址应能变址寻址。仅根据使用频率,不考虑其它要求,设计出全Huffman操作码,计算其平均码长;(2)考虑题目全部要求,设计优化实用的操作形式,并计算其操作码的平均码长;该机允许使用多少可编址的通用寄存器?

画出该机两种指令字格式,标出各字段之位数;指出访存操作数地址寻址的最大相对位移量为多少个字节?解: 第(1)和(2)中Huffman 和扩展操作码的编码及平均码长如下表:使用频度指令IiPiI1 30%I2 24%I3 20%I4 7%I5 7%I6 6%I7 3%I8 2%

I9 1% 11西个马pili(3)8 个。两种指令格式如下图所示:2位 3位 3位OP R1R2操作码 寄存器1寄Huffman存器2 编 扩展操作码5位码3位编码3位105位00OP00 R1 01X 01 d 10操作1100码寄存器111000变址寄1101存器 相对位11001移1110 11010主存11110逻辑地址 11011111110(5)访存操作11100数20/91地址寻址的最大相器个数,一般不少于即大多数简单指令对位移量为32个字32个,尽量减少访用硬联方式实现,功节。存次数;能复杂的指令用微13.设计RISC机器(5)大多数指令用程序实现。的一般原则及可采硬联实现,少数用微(3)用重叠寄存器用的基本技术有那程序实现;窗口。即:为了减少些?(6)优化编译程访存,减化寻址方式答:一般原则:序,简单有效地支持和指令格式,简单有(1)确定指令系统高级语言实现。效地支持高级语言时,只选择使用频度基本技术:中的过程调用,在很高的指令及少量(1)按RISC一般RISC机器中设有大有效支持操作系统,原则设计,即确定指量寄存嚣,井让各过高级语言及其它功令系统时,选最常用程的寄存器窗口部能的指令;基本指令,附以少数分重叠。(2)减少寻址方式对操作系统等支持(4)用流水和延迟种类,一般不超过两最有用的指令,使指转移实现指令,即可种;令精简。编码规整,让本条指令执行与(3)让所有指令在寻址方式种类减少下条指令预取在时一个机器周期内完到1、2种。间上重叠。另外,将成;(2)逻辑实现用硬转移指令与其前面(4)扩大通用寄存联和微程序相结合。的一条指令对换位21/91置,让成功转移总是点:机器指令系统庞(1)由于指令少,在紧跟的指令执行大复杂。在原CISC上一条指之后发生,使预取指RISC结构特点:令完成的功能现在令不作废,节省一个机器指令系统简单,需多条RISC指令才机器周期。规模小,复杂度低。能完成,加重汇编语(5)优化设计编译CISC的问题:言程序设计负担,增系统。即尽力优化寄(1)指令系统庞加了机器语言程序存器分配,减少访存大,一般200条以长度,加大指令信息次数。不仅要利用常上;流量。规手段优化编译,还(2)指令操作繁(2)对浮点运算和可调整指令执行顺杂,执行速度很低;虚拟存储支持不很序,以尽量减少机器(3)难以优化生成强。周期等。高效机器语言程序,(3)RISC编译程14.简要比较CISC编译也太长,太复序比CISC难写。机器和RISC机器各杂;由于RISC和自的结构特点,它们(4)由于指令系统CISC各有优缺点,分别存在哪些不足庞大,指令的使用频在设计时,应向着两和问题?为什么说今度不高,降低系统性者结合,取长补短方后的发展应是CISC能价格比,增加设计向发展。和RISC的结合?人员负担。答:CISC结构特RISC的问题;第三章总线、中断22/91与输入输出系统硬件部分的简单逻其程序状态字从主中断嵌套的原则:辑原理示意图。图中存指定单元或区域在处理某级中断请略去了某些实现上取出送到分散于系求时,只能比它的中的具体细节,因为这统各部分的寄存器断处理级别高的中些已不是本课程要或计数器中,建立起断请求才能中断其讨论的内容。运行此程序或进程处理,等呼应和处理中断级屏蔽位是程的环境。一个程序或完后再继续处理原序状态字中的一个进程在退出运行时,先的那个中断请求。组成部分。程序状态也会将反映该程序为了领会中断响字是将散布于系统状态的这些寄存器应排队器对中断响各部分,反映程序工或计数器内容组拼应优先次序是用硬作时某些关键性硬成程序状态字,存回件固定的,以及通过件的状态,组合在一该程序或进程在主由操作系统给各中起所构成的字,有的存中的指定单元或断级服务程序现行计算机也称其为处区域里。因此,程序程序状态字中的中理器状态字或程序或进程的切换,只需断级屏蔽位设置不换道区。每类程序均要通过硬件启动的同的状态,可以改变在主存中指定一个交换新旧程序状态中断处理(完)的次序区域来放置其程序字的内容即可快速这两个要点,下图给状态字。运行一个程完成。例如,在出了一个中断响应序或进程时,就会将IBM370系列机上,23/91程序状态字为64的输出端产生出响行结束,执行到中断位,等于它的长字,应信号。此信号经中返回指令时,就会从交换程序状态字只断级服务程序入口堆栈中弹出所保存需硬件启动写长字地址形成硬件,生成的返回地址,再次交和读长字两次访存出该级中断服务程换程序状态字,系统即可完成。序的程序状态字在又重新返回到原被尽管中断请求是内存区中所存放的中断的程序,恢复运随机发出的,为了便地址。同时,经中断行。于精确保存中断的响应控制信号启动,1.如何设置中断级断点以及在中断处 进行新旧程序状态 屏蔽位寄存器中的理完后又能返回到字的交换,完成程序中断屏蔽码?原中断处,中断响应的切换。被中断的程设中断级屏蔽位排队器总是在每条序的断点地址(即程“1”对应于开放,指令执行到最后一序计数器的内容),由“0”对应于屏蔽。个机器周期的最后硬件自动压入返回第i级中断处理程一个时钟周期时,对地址堆栈,予以保序级别的各级中断目前到达中断响应存。系统切换到新的级屏蔽位中应有i-1排队器入口的所有程序或进程后,继续位设为“1”。举例中断请求排一次队,运行下去。如果新的来说,第1级中断处择优进行响应。在中程序或进程是一个理程序级别的各级断响应排队器相应中断服务程序,在运中断级屏蔽位均应24/91设为“0”。队器;回用户程序。响应级别为n的*按中断响应优先3.怎样题目中没有中断处理程序的n级,1最高,响应;说明的通道属于哪级中断级屏蔽位应*1的屏蔽字为一类型?设为“0”。0000,所以1中断有的题目中没有设第i2级中断处执行到结束,回用户说明谈及的通道的理程序级别的中断程序;类型,这种情况下,处理级别高于第i1*剩下的2优先级一般是指字节多路级中断处理程序级高,2响应,但其屏通道。别,根据中断嵌套的蔽字为1011,允许1.简要举出集中式原则,第i1级中断响应1、3、4,3的串行链接,定时查询处理程序级别的第响应优先级高,所和独立请求3种总线i2级中断级屏蔽位以;*2被中断,控制方式的优缺点。应设为“1”,从而3响应,但其屏蔽字同时分析硬件产生实现对第i2级中断为1001,允许响应故障时通讯的可靠处理程序级别的开1、4,所以;性。放。*4响应,执行到答:2.对3.3.1中中断级结束,回3;控屏蔽位举例1的解释*3执行到结束,制优点缺点*1,2,3,4中回2;方断同时出现,进行排*2执行到结束,25/91式选(1)对“总择算线可用”法简线及其有单。关电路失控效敏感。制线(2)灵活性数差,如果高少,优先级的串只需 部件频繁行要3 要求使用链根, 总线,离总接且不线控制器取决远的部件于部就难以获件数得总线使量。用权。可(3)“总线扩充可用”信性号顺序脉

好。 动地通过各个部件,总线的分配速度慢。(4)受总线长度的限制,增减和移动部件受限制。灵(1)总线的活性分配速度强,不能很高。部件(2)控制较定的优 为复杂。时先次 (3)控制线查序由 数多,需要询程序 2+log2N控 根。制。 (4)可扩充可性差。

靠性高,不会因某个部件失效而影响其它部件使用总线。灵(1)控制较活性为复杂。独强, (2)控制线立部件 数多,要控请的优 制N个设求先次 备,需要有序由 2N+1根控26/91程序 制线。控制。能方便地隔离失效部件的请求。总线的分配速度快。设中断级屏蔽位“1”对应于开放,“0”对应于屏蔽,

各级中断处理程序中断处理时间少得的中断级屏蔽位设多。当机器正在运行置如下:用户程序时,同时发生第2,3级中断请中断级屏蔽位中断处理123求,过两个单位时程序级别4间,又同时发生第1,级级级级第10004级中断请求,试画级0出程序运行过程示第2级1010意图。第3级1000答:第4级1010(1)当中断响应优先次序为(1)当中断响应优 1→2→3→4时,其先次序为 中断处理次序为1→2→3→4时,其 1→3→4→2。中断处理次序是什 (2)么?如果所有的中断处理都各需3个单位时间,中断响应和中断返回时间相对27/91答:同3.若机器共有5级中(1)中断级屏蔽位时断,中断响应优先次设置如下图:出序为现,中断级屏蔽位1→2→3→4→5,现中断处理123进5程序级别4要求其实际的中断行级级级级级处理次求序第1111排11→4→5→2→3。级1队(1)设计各级中断处第2级01100器。理程序的中断级屏第3级00100蔽位(令“1”对应第4级01111首于开放,“0”对应第5级011先10于屏蔽);响(2)若在运行用户程(2)中断过程示意应序时,同时出现第4,图:如图第22级中断请求,而在级处理第2级中断未完中成时,又同时出现第2、4断1,3,5级中断请求,中请请画出此程序运行断求,过程示意图。屏28/91蔽去行字响结为应束,01第4回10级2。0,中表断1、明请3、5其求进对并入第4进排级行队中处器。断理。请第2求响级开应中放,4,断所中请以断4求转运的29/91处理。处理理请响第2求应级被第5中中级断断,中处转断理去请请响求求,应并结第1进束级行后中处返断理。回请用求继户并续程进响序。行应处并最30/91后 节)间的等待时间很处 长。通道“数据宽理 度”为单字节,以字第3 节交叉方式轮流为级 多台设备服务,使效中 率提高。字节多路通断 道可有多个子通道,请 同时执行多个通道求。 程序。数组多路通道适合于连接多台象磁4.简述字节多路,数 盘等高速设备。这些组多路和选择通道 设备的传送速率很的数据传送方式。 高,但传送开始前的答: 寻址辅助操作时间字节多路通道适 很长。通道“数据宽用于连接大量的像 度”为定长块,多台光电机等字符类低 设备以成组交叉方速设备。这些设备传 式工作,以充分利用送一个字符(字节)的 并尽可能重叠各台时间很短,但字符(字 高速设备的辅助操

作时间。传送完K个字节数据,就重新选择下个设备。数组多路通道可有多个子通道,同时执行多个通道程序。选择通道适合于连接象磁盘等优先级高的高速设备,让它独占通道,只能执行一道通道程序。通道“数据宽度”为可变长块,一次将 N个字节全部传送完,在数据传送期只选择一次设备。如果通道在数据传送期中,选择设备需9.8μs,传送一个字节数据需0.2μs。31/91某低速设备每隔μs发出一个字节数据传送请求,问至多可接几台这种低速设备?对于如下A~F6种高速设备,一次通讯传送的字节数不少于 1024 个字节,问哪些设备可以挂在此通道上 ?哪些则不能?其中A—F设备每发出一个字节数据传送请求的时间间隔分别为(单位为μs):表3-5设A B CD E F备发申. 2 . 1 . 2

请255941间隔(μs)答:(1)至多可连接50台低速的外设。剖析:根据题意可知:低速设备应挂接在字节多路通道上,字节多路通道的通道极限流量为:fmax.byte=1/(TS+TD)>=fbyte通道极限流量应大于或等于设备对通道要求的流量

fbyte。如果字节多路通道上所挂设备台数为m,设备的速率为fi,为了不丢失信息,应满足:1/(TS+TD)>=m*fifi 也就是设备发出字节传送请求间隔时间 (500μs)的倒数,所以:m<=1/((TS+TD)*f)=500/(9.8+0.2)=50(台)(2)设备B,C,E,F可以挂在此通道上,设备A,D则不能。剖析:思路一:从传送字节速率上入手。32/91A~F 是高速设备,应挂接在选择通道上,选择通道的极限流量为:fmax.select=N/(TS+N*TD)=1/((TS/N)+TD)=1/((9.8/1024)+0.2)=1/0.21(约)通道上所挂设备的最大速率 fi.max应小于或等于通道的极限流量。由表3-5可得出设AB CD E F备传111111送/ / / / / /速率 . 2 . 1 . 2

( 2 5 5 9 4 1 字节的时间间隔分B 别为:/设μABCDEF备s)传送所以,B、C、E、时25194221F可挂在该通道上。间014.055.A、D不能。(4.2569.604思路二:从传送字μ86节时间上入手。s对于高速设备,由)于一次传送字节数不少于1024byte∴为使数据不丢∴该通道一次传失,B、C、E、F可送数据的时间为挂在该通道上。A、9.8μs+1024×0.2μD不能。s=214.6μs由表3-5可得出6.某字节多路通道每台设备发送1024连接6台外设,某数33/91据传送速率分别如 开始,画出此通道在 间示意图表中所列。数据传送期内响应设备123456和处理各外设请求传送的时间示意图。由此1你发现了什么问题?速率512420(3)在(2)的基础上,(KB055000/s)在哪台设备内设置由此发现由于高多少个字节的缓冲速设备的响应优先器就可以避免设备级高,使低速设备2(1)计算所有设备都信息丢失?那么,这造成数据丢失。工作时的通道实际是否说书中关于流(3)在2中各设两个最大流量:量设计的基本要求字节的缓冲区即可。(2)如果设计的通道是没有必要的了呢?这并不说明流量设工作周期使通道极为什么?计的基本条件是不限流量恰好与通道解:必要的,因为若基本最大流量相等,以满(1)实际最大流量条件不满足,无论设足流量设计的基本=备优先级如何确定要求,同时让速率越50+15+l00+25+4总有设备的信息会高的设备被响应的0+20=250KB/S。丢失。优先级越高。当6台(2)通道响应和处剖析:设备同时发出请求理各设备请求的时(2)由各设备的传34/91送字节速率可解其连续发出传送请求的时间间隔分别为:设1 2 3456备发申请2 67( 1425间0 约) 0050隔(μs)通道型I/O系统由一个字节多路通道A(其中包括两个子通道Al和A2),两个数组多路通道B1和B2及一个选择通道C构成,各通道所

接设备和设备的数据传送速率如表所示。分别求出各通道应具有多大设计流量才不会丢失信息;设I/O系统流量占主存流量的1/2时才算流量平衡,则主存流量应达到多少?所接设备的数据传通道号送速率(KB/s)子503520通字节 205035道多路 2020A1通道子 503520通 205035

道2020A2数组多路500400通道350250B1数组多路500400通道350250B2选择500400通道350250C解:要不丢失信息,各通道需要达到的流量:字节多路通道子通道A1:0.25KB/S; 字节多路通道子通道35/91A2:0.25KB/S;数组各种通道和子通道对Cache进行写操多路通道可以并行工作,因作时,如果命中B1:500KB/s;数组此,I/O系统的最大Cache,不仅将数据多路通道流量应等于各通道写入Cache,而且写B2:500KB/s;选择最大流量之和。入主存,使两者的对通道C:500KB/s。第四章存储体系应内容统一起来,这(2)主存流量应达解决Cache的透样,当Cache中的到4MB/S。明性所带来的问题,块被替换时,就不必剖析:和中央处理机写再花时间写回主存(1)设备要求字节Cache,使主存内容了。多路通道或其子通跟不上Cache内对写回法,又称抵触道的实际最大流量,应内容的变化造成修改法,是指在CPU是该通道所接各设的不一致的问题的对Cache进行写操备的字节传送速率关键是选择好更新作时,如果命中之和;设备要求数主存内容的算法,一Cache,就只将数据组多路通道或选择般有两种写直达法写入Cache,而暂时通道的实际最大流(存直达法)和写回法不写入主存,只有当量,是该通道所接各(即抵触修改法)两变化了的Cache块设备的字节传送速种。被替换时,才花一个率中的最大者。写直达法,又称存主存周期,将其写回(2)I/O系统中,直达法,是指在CPU主存相应的位置上,36/91使两者的对应内容主存第i+1块预取进意思,就是地址码一统一起来。Cache。不命中时预般是按字节编码。Cache采用按需取进算法是指访问2.相等比较电路的取进算法和预取进到主存第i块的信息个数=组内块数?算法来提高Cache时,只有当其不在我不知道是不是的命中率。Cache中时,才将主可以这么理解,遇到按需取进算法是存第i+1块预取进过一道题,其中存在指在Cache块失效Cache。这种关系,不知道是时才将要访问的字1.按位编址和按字不是巧合?所在的块取进编址?一个采用位选择Cache。预取进算法现在从内存中读组相联映象方式的是指在用到某数据都是按字节为Cache,要求CacheCache块之前就将单位。的每一块在主存周该块预取进Cache。P86第二段第一期内取得。主存采用预取进算法包括行:“目前不少机器4个存储体的低位交恒预取进算法和不的指令地址码已达叉方式访问,每个存命中时预取进算法。24-32位,相当于每储体的字长为4个字恒预取进算法是个用户的程序空间节,总容量为指访问主存第i块已达256MB,Cache的时,不论其是否在16MB-8192MB”容量为512KB,每一Cache中命中,恒将。这里有一层隐含的组内有4块。采用按37/91地址访问存储器构较对触发器的个数项的大小为4字节。成相联目录表,实现设组内有b块,试问:(1)共需要主存地址到Cache每组g群,每群p对,多少个页表项?地址的变换,采用4每对l行。(2)每个页面可存个相等比较电路。每组g群,组中选放多少个页表项?(1)设计主存地址群需C2(g)个比较对(3)需要几级页表格式,并标出各字段触发器。构成表层次?的长度。(5分)每群p对,群中解答:(1)2^22(2)设计Cache的选对需gC2(p)个比个或4M地址格式,并标出各较对触发器。个(2)1024/4=字段的长度。(5分)每对l行,对中选256个(3)3级(3)设计相联目录行需gpC2(l)个比较表结构,并求出该表对触发器。第四章存储体系的行数及每一行的共需1.设二级虚拟存储格式。(5分)C2(g)+gC2(p)+gpC器的TA1=10-7s、画出实现位选2(l)个比较对触发TA2=10-2s,为使存择组相联地址变换器。储层次的访问效率e的逻辑示意图。(5分)1.在一个页式虚拟达到最大值的80%3.采用多级状态位存储器中,虚地址空以上,命中率H至少技术、比较对法实现间为4G字节,页大要求达到多少?实LRU算法时需要比小为1K字节,页表际上这样高的命中38/91率是很难达到的,那2、程序存放在模32访问字数。么从存储层次上如单字交叉存储器中,3、设主存每个分体何改进?设访存申请队的转的存取周期为2μs,解:e=TA1/TA=移概率λ为25%,求宽度为4个字节。采TA1/(H*TA1+(1-H每个存储周期能访用模m多分体交叉)*TA2)≥80%,问到的平均字数。当存取,但实际频宽只H≥(10^5-5/4)/(1模数为16呢?由此能达到最大频宽的0^5-1)。你可得到什么结0.6倍。现要求主存这样的命中率很论?解:实际频宽为4MB/S,难达到。为了降低对B=[1-(1-λ)^m]/λ问主存模数m应取H的要求,可以选择解:由多少方能使两者速高命中率的算法,可λ=0.25,m=32求度基本适配?其中以减少相邻两级的得:m取2的幂。访问速度差和容量B=4-4*(3/4)^32解:m=4差(这样做不利于降同理,m=16剖析:根据题意,低存储器的平均每时,B=4-4*(3/4)^模m多分体交叉的位价格),可在主、辅16最大频宽为:分体数存储器间加一层电可得出,在*单体频宽=m*分体子磁盘,使存储体系λ=0.25时,m=32的宽度/分体的存取中相邻两级的访问的平均访问字数大周期=m*4B/2μs,时间比不太大。于m=16时的平均所以有39/910.6*m*4/2>=4。6800。55面面4.某虚拟存储器共8解:(1)会发生页失失个页面,每页1024面失效的全部虚页效效个字,实际主存为号为:2,3,5,7。页页4096个字,采用页(2)7863面面表法进行地址映象。页页00720无失失虚虚装实实映象表的内容如下内内效效地页入页地表所示。位位4020址号位号址40120虚页号01234567移移9648实页号312321000001303068656565610装入位110010107200666注:我把虚页号加上页页剖析:(1)根据页表法了。3265面面列出表2,当装入位30无786(1)列出会发生页面失失为0时,即为页面失失效的全部虚页号;效效效,再找出相对应的(2)按以下虚地址计10010131040虚页号即可。算主存实地址:0,23232395(2)虚页号=虚地3728,1023,1010址/页面大小101101024,2055,2424页内位移量=虚地7800,4096,20270页页无址-虚页号*页面大40/91小实地址=实页号 *页面大小+页内位移量由于可以用替换算法解决页面失效的问题,所以,发生页面失效的虚页2,3,5,7 仍然可以有相应的实地址,但这样要在页表中建立新的虚实地址对应关系,新的虚实地址对应关系和原来的对应关系相同的可能性就很小了。、一个段页式虚拟存储器。虚地址有2位段号、2位页号、位页内位移(按字编址),主存容量

为32K字。每段可虚页有访问方式保护,其页表页表和保护位如下1实实不实表所示。所页页在页段0123在30主1号位存可置内访可读可虚页读/页表问只读在/写2实不实方读/辅执/所页在页式写存行执在15主6上行位存虚页置内页在表虚页0实不实页表在辅实实所页在页3不辅存页页在9主14所在存上128位存在主上置内位存41/91置 内此地址空间中共有多少个虚页?当程序中遇到下列情况时方式段页取数01取数11取数33存数01存数21存数10转移至此13取数02取数20转移至此30写出由虚地址计算出实地址。说明哪个会发生段失效、页面

或保护失效失效。取数3060无解答:1)该地址空间转移中共有16个虚页。至此(2)程序中遇到上表中各情况时,是否会发生段失效、页失效或保护失效及相剖析:页内位移应的主存实地址的(1)虚地址中段号1情况如下表所示:有2位,页号有2位,102047页内位段失页失实页也就是每个程序最实地址方式段页移效效号个4多只能有2^2=4取数2011段无,每个无段至多3只能6145取数141110有无2^2=4无页,0所以10取数332047该地址空间中共有无100存数500144*4=16无无个虚页3。6184存数5212有(2)先从/题意无得无存数601014知无:有无无转移13100无实地址无:158位,16484至此0250其无中实页有号4无位,页无取数205内有位移11/位无无42/91页大小为2K字行两道程序。其中,3,5,4,2,5,3,1,3,2,(由页内位移得知)程序X为5,1,3,1,5,2页。如6.设某程序包含5个DO50I=1,3果采用LRU算法,虚页,其页地址为4,B(I)=A(I)-C(I)实存却只有8页位置5,3,2,5,1,3,可供存放数组之用。2,2,5,1,3。当IF(B(I)·LE·0)GO试问为这两首程序使用LRU算法替换TO40的数组分别分配多时,为获得最高命中少个实页最为合率,至少应分配给该D(I)=2*C(I)-A(I)适?为什么?程序几个实页?其解答:可能的最高命中率IF(D(I)·EQ·0)G分别分配给程序为多少?OTO50X和Y的数组4个实40E(I)=0页最为合适。50CONTINUE根据题意,程序XData:A=(-4,+2,0)依次调用数组C=(-3,0,+1)A,C,B,B,E,每个数组分别放在A,C,B,B,C,A,D,D,不同的页面中;而程E,A,C,B,B,E中的7.采用页式管理的序Y在运行过程中,数据。虚拟存储器,分时运其数组将依次用到设程序X中的数程序空间的第组A,B,C,D,E分别43/91存放于程序空间的配给程序X和Y的数{第1,2,3,4,5页,则组4个实页。intA[]={-4,2,0};程序的页地址流为:note:intC[]={-3,0,1};1,3,2,2,5,1,分时运行在微观for(i=0,i<>0)3,2,2,3,1,4,上是串行的,就是E[i]=0;4,5,1,3,2,2,说,分时运行时把时};5。间划分为若干时间};分析使用LRU算片,每个程序轮流占}法对程序X的页地用时间片;在宏观上8.设一个按位编址址流进行堆栈处理是并行的,就是说,的虚拟存储器,它应的过程可知,分配给每个程序在一个时可对应1K个任务,程序X的数组5个实间片内并不能运行但在一段较长时间页最为合适;分析使完。总的来看,是同内,一般只有4个任用LRU算法对程序时运行的,所以两个务在使用,故用容量Y的页地址流进行堆程序分配的实页和为4行的相联寄存器栈处理的过程可知,不能大于8。组硬件来缩短被变分配给程序Y的数组我不了解换的虚地址中的用4个实页最为合适。FORTRAN,找朋友户位位数;每个任务但实存只有8页把上面的源代码转的程序空间最大可位置可供存放数组成C了:达4096页,每页为之用,所以,分别分main()512个字节,实主存44/91容量为2^20位;设(5)每个相等比较器快表用按地址访问的位数;存储器构成,行数为(6)快表的总容量(以32,快表的地址是经位为单位)。散列形成;为减少散解:列冲突,配有两套独(1)依题意得知:立相等比较电路。请虚地址为34位,设计该地址变换机其中用户号为10位构,内容包括:(对应1K的任务)、画出其虚、实地址虚页号12位(每个经快表变换之逻辑任务4096页)、页结构示意图; 内位移12位(每页相联寄存器组中512字节,512字节每个寄存器的相联=512*8=1024*4=2比较位数;^12)(3)相联寄存器组中实地址为20位,每个寄存器的总位数;(4)散列变换硬件的输入位数和输出位数;45/91其中实页号8位,页实页号。内位移12位(与虚快表的作用:相当页页内位移对应)于页表,即虚页号对相联寄存器的作实页号的对应关系。用:把10位的用户但又有所简化(原因号转换为2位的ID是如果用用户号和(因为一般只有4个虚页号与实页号对任务在使用),并把应,前者就有22位,ID 与虚地址的虚页 现改进后虚页号只号合并到快表中查 有14位了)46/91(6)快表的总容(3)若页面大小为(2)相联寄存器组量:32行*(14(输400字,再做一遍;中每个寄存器的相入位数)+8(输出位(4)由(1)、(2)、(3)的联比较位数为10(与数))*2=32*22*2结果可得出什么结虚地址中的用户号论?宽度对应)9.考虑一个920个(5)若把主存容量增(3)相联寄存器组字的程序,其访问虚加到800字,按第(1)中每个寄存器的总存的地址流为20,小题再做一遍,又可数为12(用户号宽22,208,214,146,得出什么结论?度+ID宽度)618,370,490,解:(4)散列变换硬件492,868,916,(1)主存容量400的输入位数为14位728。字,页面大小200(虚页号宽度+相联(1)若页面大小为字,所以主存实页数寄存器中ID的宽200字,主存容量为为2;度),输出位数为8400字,采用FIFO把地址流转换为位(与主存中的实页替换算法,请按访存页地址流,以第一个号宽度对应)的各个时刻,写出其虚地址流转换为页(5)每个相等比较虚页地址流,计算主地址流为例说明:求器的位数=ID+用户存的命中率;模公式为:INT(地虚页号(2)若页面大小为址/页面大小),就nv'=2+12=14(位)。100字,再做一遍;是把地址整除于页47/91面大小,得INTH=25%面替换,发现命中率(20/200)=0,下(3)H=50%H太低,因此有下列同,所以页地址流(4)由以上结论可建议:为:得,FIFO算法的条(1)增大辅存容量;0,0,1,1,0,3,1,2,2,件下,当页面大小发(2)增大主存容量(页4,4,3生变化时,其命中率数);按FIFO算法得变化是:一开始随页(3)FIFO改为LRU;出替换过程为:0(调面大小增大命中率(4)FIFO改为LRU,入),0(命中),1(第一步与第二步并增大主存容量(页(调入),1(命中),比较),但当页面大数);0(命中),3(替换小增到一定时,命中(5)FIFO改为LRU,0,0比1先入队,率不再增加(第一步并增大页面大小。所以被替换,下同),与第三步比较)。试分析上述各建议1(命中),2(替换(5)命中率为对命中率的影响情1),2(命中),458%,结论是如果分况。(替换3),4(命配给主存容量增加解答:中),3(替换2),时可以搞高命中率。(1)增大辅存容所以总共命中6次。量,对命中率H无影故命中率10.在一个页式二响。H=6/12=50%级虚拟存储器中,采(2)增大主存容量(2)方法同(1)用FIFO算法进行页(页数),可普遍提高48/91命中率。能从主存取得。主存剖析:(3)FIFO改为模4交叉,每个分体在一个主存周期LRU,一般可提高命宽为32位,总容量内主存能访问到的中率。为256KB。用按地字节数为(4)FIFO改为址访问存储器构成mW=4*32/8=16(LRU,并增大主存容相联目录表实现主Byte)。要求Cache量(页数),一般可使存地址到Cache地的每一块在一个主命中率有较大提高。址的变换,并约定用存周期内能从主存(5)FIFO改为4个外相等比较电取得,所以,CacheLRU,并增大页面大路。请设计此相联目中每块的块内字数小,如果原来页面很录表,求出该表之行不能大于16Bytes。小,则会使命中率显数、总位数及每个比为了加速调块,一般著上升,如果原来页较电路的位数。让每块的大小等于面很大,则会使命中解答:在一个主存周期内率下降。设Cache地址中主存能访问到的字的组内块号为s,相数,即16Bytes。11.采用组相联映象联目录表的行数是设Cache地址中的Cache存储器,2^(13-s),总位数是的组内块号为s,相Cache为1KB,要(8+2s)*2^(15-s),每联目录表的行数求Cache的每一块个比较电路的位数=Cache地址内的组在一个主存周期内为8+s。数Q=Cache容量49/91/(每组块数*每块大表的位数*相联目录储器。主存共分8个小)=1KB/(S*4*32)表的行数块(0~7),Cache为4=2^13/(2^s*2^7)==4*(nd+s'+s)*Q=4个块(0~3),采用组相2^(6-s)。*(8+2s)*2^(6-s)=(8联映象,组内块数为主存块数+2s)*2^(8-s)。2块,替换算法为近/Cache块数note:期最少使用算法=256=2*8,所以,若认为相等比较(LRU)。主存地址中的区号电路的个数=组内块(1)画出主存、Cachend=8。每个比较电数,则相联目录表的地址的各字段对应路的位数行数=2^4,每个比关系(标出位数)图;=nd+s'=nd+s=8+s较电路的位数=10,(2)画出主存、Cache。相联目录表的总位空间块的映象对应相联目录表的总数=12*2^6。关系示意图;位数=表中子目录表(3)对于如下主存块的个数*每个子目录12.有一个Cache存地址流:50/911,2,4,1,3,7,0,1,2,(2)主存块、CacheHc=3/15=0.2。5,4,6,4,7,2,如主存块的映象对应关系剖析:中内容一开始未装如下图所示由于主存块、入Cache中,请列(3)Cache中各块Cache块之间存在出Cache中各块随随时间的使用状况上述的映象对应关时间的使用状况;如下图所示。图中标系,主存的第0、1、(4)对于(3),指出块失*号的是候选替换块4、5块只能映象装效又发生块争用的的块号,H:命中;R:入或替换物理时刻;替换;L:失效。Cache的第0、1块;(5)对于(3),求出此期主存的第2、3、6、间Cache的命中率。(4)发生块失效又发7块只能映象装入或解答:(1)主存地生块争用的时刻有替换物理Cache的址、Cache地址的各6、7、9、10、11、第2、3块。字段的位数及其对12、14、15。应关系如下图所示(5)Cache的块命13.采用组相联映中率象,LRU替换算法的51/91Cache存储器,发现块数(块的大小不变)一般将缩短ta,从而等效访问速度不高,一般将使Cache的提高Cache的等效为此建议:命中率Hc上升,从访问速度。(1)增大主存容量;而使ta下降,从而(2)增大Cache的块提高Cache的等效14.你对Cache存储数(块的大小不变);访问速度。器的速度不满,于是(3)增大组相联组的(3)增大组相联组申请到一批有限的大小(块的大小不变);的大小(块的大小不经费,为能发挥其最增大块的大小(组变)一般将使Cache大经济效益,有人建的大小和 Cache 总 的命中率 Hc上升, 议你再买一些同样容量不变); 从而使 ta下降,从 速度的 Cache 片子提高Cache本身而提高Cache的等以扩充其容量;而另器件的访问速度。 效访问速度。 有人建议你干脆去解答: (4)增大块的大小 买更高速的 Cache(1)增大主存容量 (组的大小和 Cache 片子将现有的低速对Cache的访问时总容量不变)一般将Cache片子全部换间ta基本不影响,使ta下降,从而提掉。你认为哪种建议从而对Cache的等高Cache的等效访可取?你如何做决效访问速度基本不问速度。定?为什么?影响。(5)提高Cache本解答:(2)增大Cache的身器件的访问速度Cache本身的速52/91度与容量都会影响度还不能满足需要,功能进行联接,只有Cache存储器的等就应该更换更高速等流水线全部流空效访问速度。如果对的Cache片子。后,才能切换成按另Cache存储器的等一种功能进行联接。效访问速度不满,需第五章重叠、流水多功能动态流水要改进的话,就要作和向量处理机线,在同一时间段内具体分析,看看现在因机器语言程序该流水线的各功能Cache存储器的等中邻近指令之间出段之间可以按多种效访问速度是否已现了关联,为防止出不同的功能进行联接近于Cache本身错不让它们同时被接。的速度。如果差得较解释的现象,称为相中断和转移一样,远,说明Cache的关。数据相关是指相会引起流水线断流。命中率低,应从提高邻指令的数据地址由于发生中断的概Cache命中率着手,之间有关联。指令相率远低于条件转移,包括调整组的大小、关是因为指令在程且中断又是随机发块的大小、替换算法序的执行过程中允生的,所以,流水机以及增大Cache容许被修改造成的。器处理中断的关键量等。如果Cache多功能静态流水在于如何处理好断存储器的等效访问线,在同一时间段内点现场的保存和恢速度已经非常接近该流水线的各功能复,而不是如何缩短于Cache本身的速段之间只能按一种流水线的断流时间。53/91设在执行指令i时有中断,断点本应是在指令i执行结束,指令i+1尚未开始执行的地方,但由于流水机器是同时解释多条指令,后续指令i+1,i+2,...可能已进入流水线并被解释。对于采用异步流动方式的流水线,这些后续指令中的一些可能已经流到指令i前面去了。早期的流水机器多采用不精确断点法。不论指令i在流水线的哪一段发生中断,未进入流水线的后续指令不再进入,已在流水线的指

令继续流完,再转入中断处理程序。这样断点就不一定是指令i,而可能是指令i+1,i+2,...即断点是不精确的。仅当指令在流水线的第一段呼应中断时,断点才是精确的。采用不精确断点法,硬件开销少,控制简单,不利于编程和程序的排错。后来的流水机器多采用精确断点法。不论指令i在流水线的哪一段发生中断,中断处理程序的现场都是对应于指令i的。如果在执行第i条指令时发生了程

序性错误或故障,那么断点就是i。最坏的情况是指令i执行到流水线的最后一个功能段时才发生程序性错误或故障,为此,需设置很多后援寄存器,以保证流水线中断点之后后续指令的原有现场都能被保存和恢复。如何画流

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论