您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 《微处理器系统原理与嵌入式系统设计》第四章习题参考答案
《微处理器系统原理与嵌入式系统设计》第四章习题参考解答4.1地址映像方法有哪几种?它们各有什么优缺点?(1)内存地址映射指内存虚拟地址空间到物理地址空间的转换。分页技术:特点是页的大小固定;优点是程序不必连续存放,因此没有外碎片(每个内碎片不超过页大小);缺点是增加了硬件成本(如需要地址变换机构)和系统开销(如需要好的调页算法)。分段技术:特点是段的大小可变;优点是每个段按内容独立,因此可以分别编写和编译,可以针对不同类型的段采取不同的保护,可以按段为单位来进行共享(包括通过动态链接进行代码共享);缺点是会导致碎片。(2)I/O地址映射指系统中I/O端口的编址方式。独立编址技术:优点是系统中存储单元和I/O端口的数量可达到最大;缺点是需专门信号来指示系统地址线上出现的是存储单元地址还是端口地址,I/O指令的功能比较弱。存储器映像编址技术:优点是对端口操作和存储器单元操作完全一样,因此系统简单,并且对端口操作的指令比较多;缺点是CPU对存储单元和I/O单口的实际寻址空间都小于其最大寻址空间。4.2EPROM存储器芯片在没有写入信息时,各个单元的内容是什么?某SRAM单元中存放有一个数据(如5AH),CPU将它读取后,该单元的内容是什么?EPROM存储器芯片在没有写入信息时,所有存储单元的内容均为全“1”。SRAM为非破坏性读出,因此该单元的内容在读取后保持不变。4.4下列ROM芯片各需要多少个地址输入端?多少个数据输出端?(1)16×4位(2)32×8位(3)256×4位(4)512×8位(1)16×4位=24*4bit,因此有4个地址输入端和4个数据输出端。(2)32×8位=25*4bit,因此有5个地址输入端,8个数据输出端。(3)256×4=28*4bit,因此有8个地址输入端,4个数据输出端。(4)512×8=29*4bit,因此有9个地址输入端,8个数据输出端。4.7某计算机系统中ROM为6K,最后一个单元的地址为9BFFH,RAM为3K。已知其地址为连续的,且ROM在前,RAM在后,求该存储器的首地址和末地址。该存储器的首地址(第一个ROM单元地址)为:9BFFH-6K+1=9C00H-1800H=8400H该存储器末地址(最后一个RAM单元地址)为:9BFFH+3K==9BFFH+0C00H=0A7FFH4.8若某系统有16条地址线,现用SRAM2114(1K×4)存储芯片组成存储系统,试问采用线选译码时,系统的存储容量最大为多少?需要多少个2114存储芯片?每片2114需要10条地址线,剩余6条地址线进行线选译码最多可以区分6组12个芯片。这时系统的存储容量最大为(1K*4bit)*2片/组*6组=6KB。4.10设有一个具有24位地址和8位字长的存储器,问:(1)该存储器能够存储多少字节的信息?(2)如果该存储器由4M×1位的RAM芯片组成,需要多少片?(3)在此条件下,若数据总线为8位,需要多少位地址线用于芯片选择?(1)该存储器的存储容量=224*8bit=16M字节(2)需要4M*1的芯片数目:32/8414816组片组MM片(3)用于片内4M字选的地址线应满足:222=4M,即字选需要22根地址线,片选需要2根地址线。4.13试为某8位计算机系统设计一个具有8KBROM和40KBRAM的存储器。要求ROM用EPROM芯片2732组成,从0000H地址开始;RAM用SRAM芯片6264组成,从4000H地址开始。查阅资料可知,2732容量为4K×8(字选线12根),6264容量为8K×8(字选线13根),因此本系统中所需芯片数目及各芯片地址范围应如下表所示:A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1共需2片2732构成系统ROM红色为片选第一片地址范围0000H~0FFFH000000000000000000011111111111第二片地址范围1000H~1FFFFH000100000000000000111111111111共需5片6264构成系统RAM红色为片选第一片地址范围4000H~5FFFH010000000000000010111111111111第二片地址范围6000H~7FFFFH011000000000000011111111111111第三片地址范围8000H~9FFFFH100000000000000100111111111111第四片地址范围0A000H~0BFFFFH101000000000000101111111111111第五片地址范围0C000H~0DFFFFH110000000000000110111111111111硬件连线方式之一如下图所示:说明:①8位微机系统地址线一般为16位。采用全译码方式时,系统的A0~A12直接与6264的13根地址线相连,系统的A0~A11直接与2732的12根地址线相连。片选信号由74LS138译码器产生,系统的A15~A13作为译码器的输入。②各芯片的数据总线(D0~D7)直接与系统的数据总线相连。③各芯片的控制信号线(RD、WR)直接与系统的控制信号线相连。4.18某计算机系统有8个I/O接口芯片,每个接口芯片占用8个端口地址。若起始地址为9000H,8个接口芯片的地址连续分布,用74LS138作为译码器,试画出端口译码电路图,并说明每个芯片的端口地址范围。A5A4A3接口2接口8接口1……Y7.Y1Y0A2~A0CBAENA15A14……A7A6A14CS6ENC2B1A0A0-A11RDWRD0-D7ABCS2732WRD0-7ABCS2732WRD0-7ABCS6264RDWRD0-7A12A13A1538译码器A0-A12RDWRABCS6264RDWRD0-7…………未用1215……接口编号A15~A6A5A4A3A2~A0地址空间11001000000000000~1119000H~9007H2001000~1119008H~900FH3010000~1119010H~9017H4011000~1119018H~901FH5100000~1119020H~9027H6101000~1119028H~902FH7110000~1119030H~9037H8111000~1119038H~903FH4.19试完成下面的RAM系统扩充图。假设系统已占用0000~27FFH段内存地址空间,并拟将后面的连续地址空间分配给该扩充RAM。译码器输出A15~A14A13A12A11A10~A0地址空间/Q0000000000000000~111111111110000H~07FFH/Q10010800H~0FFFH/Q20101000H~17FFH/Q30111800H~1FFFH/Q41002000H~27FFH/Q51010000000000~11111111112800H~2BFFH12C00H~2FFFH/Q6110/Q71114.22假设一台打印机的数据输出I/O端口地址为378H,状态端口地址为379H,状态字节的D0位为状态位(D0=0,表示打印数据缓冲区空,CPU可以向它输出新数据;D0=1,表示打印数据缓冲区满)。试用查询方式从内系统A11A12A13A14A15A10存中以BUF为首址的单元处开始,将连续1KB的数据传送给打印机,每次传送一个字节。给出接口的硬件结构,说明数据交换流程。(1)初始化内存指针为BUF;(2)CPU从379H端口读入状态字,并判断D0位(Busy),若D0=1则重复(1);(3)若D0=0则CPU向378H数据端口写数据,同时Busy会变为高电平,并通知外设数据已经准备好;(4)外设在适当时候取走数据,并发送/ACK信号将D触发器清零,使Busy=0,准备下一次数据传送;(5)修改内存指针(加1),重复(2)至(5)1000次;4.23试用无条件传输方式完成下列功能:将首地址为40000H的内存单元中1K个字数据从端口Output处输出,然后从端口Input处输入2KB数据到首地址为50000H的内存单元中。给出接口的硬件结构,说明数据交换流程。(1)初始化内存指针为40000H;(2)CPU取一个字节数据输出到Output端口,并修改内存指针(加1);(3)重复(2)2000次,完成2K个字节的传送;(4)初始化内存指针为50000H;;(5)CPU从Input端口读入一个字节数据写入内存单元,并修改内存指针(加1);(6)重复(5)2000次,完成2K个字节的传送;打印机数据锁存器(输出端口)状态缓冲器(输入端口)Busy1bit5VRQD/ACK状态端口读选通数据端口选通4.28在某系统中,要求采用中断方式把一个长100字节的数据块从首址为AREA的存储区传送到端口地址为37FH的接口上,每次中断只传送一个字节。试给出数据交换流程。主程序:(1)初始化内存指针为AREA(全局变量);(2)初始化传送次数为100(全局变量);(3)允许传送中断;(4)启动传送:从内存取一个字节输出到37FH端口;(5)等待中断或处理其他事情;中断服务程序:(1)修改传送次数(减1),并判断是否为0,若为0,退出中断,结束传送;(2)若未传送完,修改内存指针(加1);(3)从内存取一个字节输出到37FH端口;(4)返回;4.31用8255A作为CPU与打印机的接口,8255A的A端口工作于方式0输出;C端口工作于方式0。8255A与打印机及CPU的连线如下图所示。试给出查询方式下将100个数据送打印机打印的数据交换流程。(1)CPU读C口并判断PC0(BUSY)电平,若PC0(BUSY)=1,则重复(1);(2)若PC0(BUSY)=0,表示打印机空闲,CPU即可向A口输出一个数据;(3)CPU写C口令PC6=0(延时后再令PC6=1),通知打印机数据已准备好;数据输入缓冲器端口数据输出缓冲器端口端口译码器DBAB/RD/WR(4)打印机取走数据后令BUSY=0;(5)重复(1)~(4)100次;4.39若某8位A/D转换器的满度输入电压为10V,则其量化误差为多少?V0196.01210218
本文标题:《微处理器系统原理与嵌入式系统设计》第四章习题参考答案
链接地址:https://www.777doc.com/doc-2837194 .html