计算机组成原理-学习指导与习题解答-答疑提纲

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

概述图1.1使读者一目了然地看到一个结构简单、清晰明了的计算机内部组成框图,并由此使读者领略全书的要点和各章节之间的相互关系。CPU内部互连ALUCU寄存器中央处理器寄存器和解码器控制单元排队逻辑控制存储器计算机I/O系统总线存储器CPU图1.1全书各章节内容之间的关系本章重点要求读者掌握一个较细化的计算机组成框图,如图1.2所示。而且要求学生根据此图描述计算机内部的控制流和数据流的变化,从而初步认识计算机内部的工作过程。图1.2细化的计算机硬件框图图中主存储器由存储体M、MAR和MDR组成。存储体由很多存储单元组成,用来存放指令或数据,MAR存放欲访问的存储单元的地址,MDR存放从存储单元读出的信息或即将存入某存储单元的信息。运算器由累加器ACC、乘商寄存器MQ、操作数寄存器X和算术逻辑部件ALU组成,用来完成算术运算和逻辑运算。控制器由PC、IR、CU组成,PC存放欲执行指令的地址,IR存放欲执行的指令,CU用来发出各种操作命令。1.1例题精选1.1.1例1.1以加法指令ADDM(M为主存地址)为例,写出完成该指令的信息流程(从取指令开始)。【解】指令ADDM的真实含义是将地址为M的存储单元中的加数取出并送至运算器中,然后和存放在运算器的被加数通过ALU(算术逻辑部件)相加,结果仍放在运算器中。结合图1.2,设运算器中ACC存放被加数,X存放加数,求和结果存放在ACC中。故完成ADDM指令的信息流程为取指令PC→MAR-.M→MDR→IR分析指令OP(IR)→CU执行指令Ad(IR)→MAR→M→MDR→XACC→ALU,同时X→ALUALU→ACC1.1.2例1.2设主存储器容量为64K×32位,并且指令字长、存储字长、机器字长三者相等。写出图1.2中各寄存器的位数,并指出哪些寄存器之间有信息通路。【解】由主存容量为64K×32位得216=64K,故MAR为16位,PC为16位,MDR为32位。因指令字长=存储字长=机器字长,则IR、ACC、MQ、X均为32位。寄存器之间的信息通路有PC→MARAd(IR)→MARMDR→IR取数MDR→ACC,存数ACC→MDRMDR→X系统总线2.1主要内容2.1.1总线的基本概念2.1.1.1总线和总线上信息传输的特点总线是连接多个部件(模块)的信息传输线,是各部件共享的传输介质。而且在某一时刻只允许有一个部件向总线发送信息,但多个部件可以同时从总线上接收相同的信息。2.1.1.2总线的传输周期总线的传输周期是指一次总线操作所需的时间,简称总线周期(包括申请阶段、寻址阶段、传送阶段和结束阶段)。2.1.1.3总线宽度总线宽度又称为总线位宽,它是总线上同时能够传输的数据位数,通常是指数据总线的根数。2.1.1.4总线带宽总线带宽是指单位时间内总线上可传输数据的位数,通常用每秒钟传送信息的字节数来衡量,单位可用字节/秒(Bps)表示。2.2例题精选2.2.1例3.6假设总线的时钟频率为33MHz,且一个总线时钟周期为一个总线传输周期。若在一个总线传输周期可并行传送4个字节的数据,求该总线的带宽,并分析哪些因素影响总线的带宽。【解】总线的带宽是指单位时间内总线上可传输的数据位数,通常用每秒传送信息的字节数来衡量,单位可用字节/秒(Bps)表示。由时钟频率f=33MHz,可得时钟周期T=1/f,根据题目假设的条件,一个总线传输周期为一个时钟周期,且在一个总线传输周期传输4个字节数据,故总线带宽为4B/T=4B×f=4B×33×106Hz≈132MBps(1M=220)影响总线带宽的因素有:总线宽度、传输距离、总线发送和接收电路工作频率的限制以及数据传输形式等。2.2.2例3.8设一个32位微处理器配有16位的外部数据总线,时钟频率为50MHz,若总线传输的昀短周期为4个时钟周期,试问处理器的昀大数据传输率是多少?若想提高一倍数据传输率,可采用什么措施?【解】根据题目给定的数据,该总线的昀短传输周期为T=4/(50MHz)=4×20×10-9s=80×10-9s对于外部总线为16位的处理器,昀大数据传输率为2B/T=2B/(80×10-9s)=25×106Bps若想提高一倍数据传输率,可采用以下两种措施。(1)外部数据总线宽度改为32位,CPU时钟频率仍为50MHz,则数据传输率为4B/T=4B/(80×10-9s)=50××106Bps(2)时钟频率加倍至100MHz,外部数据总线宽度仍为16位,则数据总线的传输周期为T′=4/(100MHz)=40×10-9s数据传输率为2B/T'=2B/(40×10-9s)=50×106Bps若既增加数据总线位数,又提高时钟频率,将有更好的效果。存储器3.1主要内容3.1.1存储器的分类及存储系统的层次结构存储器是计算机系统中的记忆设备,种类繁多。从不同的角度对存储器可做不同的分类,通常以存储器在计算机中的作用分类,如图4.1所示。磁盘、磁带、光盘高速缓冲存储器(Cache)FlashMemory存储器主存储器辅助存储器ROMPROMEPROMEEPROMRAMROM静态RAM动态RAM图4.1存储器分类为了解决存储器的速度、容量和价格这三个主要性能指标之间的矛盾,通常可将存储系统分为Cache-主存层次和主存-辅存层次。图4.2存储器层次结构前者主要解决存储系统的速度问题,后者主要解决存储系统的容量问题。这两个层次都遵循程序访问的局部性原理。主存与缓存Cache之间的数据调动是由硬件自动完成的,主存与辅存之间的数据调动是由硬件和操作系统共同完成的。3.1.2主存储器1.主存的基本组成MAR存放欲访问的存储单元地址,经译码驱动后,可读出某单元的内容,或将某信息写入某单元中。MDR存放从某单元读出的信息,或即将写至某单元的信息,它与读/写电路配合可完成存储器的读/写功能。存储体驱动器译码器MAR控制电路读写电路MDR地址总线数据总线读写……………图4.3主存的基本组成由于现代计算机的主存都由半导体集成电路构成,因此图4.3中的驱动器、译码器和读/写电路均制作在存储芯片中,而MAR和MDR制作在CPU芯片内。存储芯片和CPU芯片可通过(系统)总线连接,如图4.4所示。图4.4主存和CPU的连接不同容量的半导体存储芯片可组成一定容量的存储器,它们与CPU连接可按字节编址也可按字编址。一个容量为16MB的存储器,按字节编址的寻址范围是16M,按字编址的寻址范围则随字长不同而变化。对于16位长的存储字,寻址范围为8M;对于32位长的存储字,寻址范围仅为4M。可见,存储器容量是指存储器存放二进制信息的总位数,不能简单地只看做CPU对其的寻址范围。3.主存与CPU的连接存储芯片与CPU芯片相连时,特别要注意两者之间的地址线、数据线和控制线的连接。(1)地址线的连接存储芯片容量不同,其地址线数也不同,而CPU的地址线数往往比存储芯片的地址线数要多。通常总是将CPU地址线的低位与存储芯片的地址线相连。CPU地址线的高位或在存储芯片扩充(字扩展)时使用,或做其他用途,如做片选信号等。例如,设CPU地址线为16根A15-A0,1K×4位的存储芯片仅有10根地址线A9-A0,此时,可将CPU的低位地址A9-A0与存储芯片地址线A9-A0相连。又如当用16K×1位存储芯片时,则其地址线有14根A13-A0,此时,可将CPU的低位地址A13-A0与存储芯片地址线A13-A0相连。(2)数据线的连接CPU的数据线数与存储芯片的数据线数也不一定相等。此时,必须对存储芯片扩位(位扩展),使其数据位数与CPU的数据线数相等。(3)读/写命令线的连接CPU读/写命令线一般可直接与存储芯片的读/写控制端相连。读/写命令线共用时,通常高电平为读,低电平为写。有些CPU的读/写命令线是分开的,此时CPU的读命令线应与存储芯片的允许读控制端连;而CPU的写命令线则应与存储芯片的允许写控制端相连。(4)片选线的连接片选线的连接是CPU与存储芯片连接的关键。存储器由许多存储芯片叠加(字扩展、位扩展)而成,哪一片被选中完全取决于该存储芯片的片选控制端CS是否能接收到来自CPU的片选有效信号。片选有效信号与CPU的访存控制信号MREQ(低电平有效)有关,因为只有当CPU要求访存时,才要求选择存储芯片。若CPU访问I/O,则MREQ为高,表示不要求存储器工作。此外,片选有效信号还和地址有关,因为CPU的地址线往往多于存储芯片的地址线,故那些未与存储芯片连上的高位地址必须和访存控制信号共同产生存储器的片选信号。通常需用到一些逻辑电路,如译码器及其他各种门电路来产生片选有效信号。3.2例题精选3.2.1例4.3用一个512K×8位的Flash存储芯片组成一个4M×32位的半导体只读存储器。试回答:(1)该存储器的数据线数。(2)该存储器的地址线数。(3)共需几片这种存储芯片?(4)说明每根地址线的作用。【解】(1)对于4M×32位的存储器,数据线为32位。(2)对于4M×32位的存储器,按字寻址的范围是222,按字节寻址的范围是224,故该存储器的地址线为24位A23-A0。(3)4片512K×8位的Flash可组成512K×32位的存储器,4M×32位的存储器共需32片512K×8位的Flash。(4)CPU的24根地址线中,昀低2位地址A1A0为字节地址,A20-A2这19根地址线与Flash的地址线相连,昀高3位地址A23A22A21;可通过3线-8线译码器形成片选信号。每一个片选信号同时选中4片Flash,以满足32位的数据线要求。3.2.2课堂例题进一步分析输入输出系统4.1例题精选4.1.1例5.4在程序查询方式的输入输出系统中,假设不考虑处理时间,每一个查询操作需要100个时钟周期,CPU的时钟频率为50MHz。现有鼠标和硬盘两个设备,而且CPU必须每秒对鼠标进行30次查询,硬盘以32位字长为单位传输数据,即每32位被CPU查询一次,传输率为2MB/s。求CPU对这两个设备查询所花费的时间比率,由此可得出什么结论?【解】(1)CPU每秒对鼠标进行30次查询,所需的时钟周期数为100×30=3000根据CPU的时钟频率为50MHz,即每秒50×106个时钟周期,故对鼠标的查询占用CPU的时间比率为[3000/(50×106)]×100%=0.006%可见,对鼠标的查询基本不影响CPU的性能。(2)对于硬盘,每32位被CPU查询一次,故每秒查询次数为2MB/4B=512K则每秒查询的时钟周期数为100x512x1024=52.4×106故对磁盘的查询占用CPU的时间比率为[(52.4×106)/(50×106)]×100%=105%可见,即使CPU将全部时间都用于对硬盘的查询也不能满足磁盘传输的要求,因此CPU一般不采用程序查询方式与磁盘交换信息。4.1.2例5.5假设磁盘采用DMA方式与主机交换信息,其传输速率为2MB/s,而且DMA的预处理需1000个时钟周期,DMA完成传送后处理中断需500个时钟周期。如果平均传输的数据长度为4KB,试问在硬盘工作时,50MHz的处理器需用多少时间比率进行DMA辅助操作(预处理和后处理)。【解】DMA传送过程包括预处理、数据传送和后处理三个阶段。传送4KB的数据长度需时(4KB)/(2MBps)=0.002s如果磁盘不断进行传输,每秒所需DMA辅助操作的时钟周期数为(1000+500)/0.002s=750000故DMA辅助操作占用CPU的时间比率为[750000/(50×106)]×100%=1.5%4.1.3例5.7说明调用中断服务程序和调用子程序的区别。【解】调用中断服务程序和调用子程序的区别是:(1)中断服务程序与中断时CPU正在运行的程序是相互独立的,它们之间没有确定的关系。子程序调用时转入的子程序与CPU正在执行的程序段是同一程序的两部分。(2)除了软中断,通常中断产生都是随机的,而子程序调用是由CALL指令(子程序调用指令)引起的。(3)中断服务程序的入口地址可以通过硬件向量法产生向量地址,再由向量地址找到入口地址。子程序调用的子

1 / 48
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功