现代微型计算机与接口教程(杨文显)课后答案

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

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

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

资源描述

..习题一1.8086CPU由哪几个部件构成?它们的主要功能各是什么?8086CPU由指令执行部件EU和总线接口部件BIU两个部份组成。指令执行部件主要功能是执行指令。总线接口部件的主要功能是完成访问存储器或I/O端口的操作:形成访问存储器的物理地址;访问存储器取得指令并暂存到指令队列中等待执行;访问存储器或I/O端口以读取操作数参与EU运算,或存放运算结果。2.什么是逻辑地址?什么是物理地址?它们各自如何表示?如何转换?程序中使用的存储器地址称为逻辑地址,由16位“段基址”和16位“偏移地址”(段内地址)组成。段基址表示一个段的起始地址的高16位。偏移地址表示段内的一个单元距离段开始位置的距离。访问存储器的实际地址称为物理地址,用20位二进制表示。将两个16位二进制表示的逻辑地址错位相加,可以得到20位的物理地址:物理地址=段基址×16+偏移地址在32位CPU的保护模式下,“逻辑地址”的表示产生了一些变化,请参考第8章的相关内容。3.什么是“堆栈”?它有什么用处?在使用上有什么特点?堆栈是内存中的一块存储区,用来存放专用数据。例如,调用子程序时的入口参数、返回地址等,这些数据都按照“先进后出”的规则进行存取。SS存放堆栈段的段基址,SP存放当前堆栈栈顶的偏移地址。数据进出堆栈要使用专门的堆栈操作指令,SP的值在执行堆栈操作指令时根据规则自动地进行修改。4.设X=36H,Y=78H,进行X+Y和X-Y运算后FLAGS寄存器各状态标志位各是什么?5.按照传输方向和电气特性划分,CPU引脚信号有几种类型?各适用于什么场合?CPU引脚传输的信号按照传输方向划分,有以下几种类型:输出:信号从CPU向外部传送;输入:信号从外部送入CPU;双向:信号有时从外部送入CPU,有时从CPU向外部传送。双向信号主要用于数据信号的传输;输出信号用于传输地址信号和一些控制信号;输入信号主要用于传输外部的状态信号(例如READY)和请求(中断、DMA)信号。按照信号的电器特性划分,有以下几种类型:一般信号:用来传输数据/地址信号时,高电平表示“1”,低电平表示“0”;用来X=36H=00110110BY=78H=01111000B(+Σ=10101110BCF=0,SF=1,OF=1,PF=0,ZF=0,AF=0X=36H=00110110BY=78H=01111000B(-Δ=10111110BCF=1,SF=1,OF=0,PF=1,ZF=0,AF=1..表示正逻辑的控制/状态信号时,“1”表示有效,“0”表示信号无效;用来表示负逻辑的控制/状态信号时,“0”表示有效,“1”表示信号无效。三态信号:除了高电平、低电平两种状态之外,CPU内部还可以通过一个大的电阻阻断内外信号的传送,CPU内部的状态与外部相互隔离,也称为“悬浮态”。CPU放弃总线控制权,允许其他设备使用总线时,将相关信号置为“悬浮态”。6.8086CPU以最小模式工作,现需要读取内存中首地址为20031H的一个字,如何执行总线读周期?请具体分析。为了读取内存中首地址为20031H的一个字,需要执行二个总线读周期。第一个总线周期读取20031H字节内容,进行的操作如下。T1状态:IO/M=1,指出CPU是从内存读取数据。随后CPU从地址/状态复用线(A19/S6~A16/S3)和地址/数据复用线(AD15~AD0)上发出读取存储器的20位地址20031H。为了锁存地址,CPU在T1状态从ALE引脚输出一个正脉冲作为地址锁存信号。由于需要读取高8位数据线上的数据(奇地址),BHE=0。为了控制总线收发器8286接受数据,R/DT=0。T2状态:地址信息撤消,地址/数据线AD15~AD0进入高阻态,读信号RD开始变为低电平(有效),DEN=0,用来开放总线收发器8286。T3状态:CPU检测READY引脚信号。若READY为高电平(有效)时,表示存储器或I/O端口已经准备好数据,CPU在T3状态结束时读取该数据。若READY为低电平,则表示系统中挂接的存储器或外设不能如期送出数据,要求CPU在T3和T4状态之间插入1个或几个等待状态Tw。TW状态:进入TW状态后,CPU在每个TW状态的前沿(下降沿)采样READY信号,若为低电平,则继续插入等待状态TW。若READY信号变为高电平,表示数据已出现在数据总线上,CPU从AD15~AD0读取数据。T4状态:在T3(TW)和T4状态交界的下降沿处,CPU对数据总线上的数据进行采样,完成读取数据的操作。第二个总线周期读取地址为20032H字节的内容。CPU发出的信号与第一个周期类似,区别在于T1状态CPU发出存储器地址为20032H,由于只需要读取低8位数据线上的数据(偶地址),BHE=1。在CPU内部,从20031H读入的低位字节和从20032H读入的高位字节被拼装成一个字。7.8086CPU有几种工作方式?各有什么特点?8086/8088CPU有两种工作模式:最大工作模式和最小工作模式。所谓最小工作模式,是指系统中只有一个8086/8088处理器,所有的总线控制信号都由8086/8088CPU直接产生,构成系统所需的总线控制逻辑部件最少,最小工作模式因此得名。最小模式也称单处理器模式。最大模式下,系统内可以有一个以上的处理器,除了8086/8088作为“中央处理器”之外,还可以配置用于数值计算的8087“数值协处理器”、用于I/O管理的“I/O协处理器”8089。各个处理器发往总线的命令统一送往“总线控制器”,由它“仲裁”后发出。CPU两种工作模式由MX/MN引脚决定,MX/MN接高电平,CPU工作在最小模式;将..MX/MN接地,CPU工作在最大模式。8.分析8086CPU两个中断输入引脚的区别,以及各自的使用场合。INTR用于输入可屏蔽中断请求信号,电平触发,高电平有效。中断允许标志IF=1时才能响应INTR上的中断请求。NMI用于输入不可屏蔽中断请求信号,上升沿触发,不受中断允许标志的限制。CPU一旦测试到NMI请求有效,当前指令执行完后自动转去执行类型2的中断服务程序。NMI引脚用于连接CPU外部的紧急中断请求,例如内存校验错,电源掉电报警等。INTR引脚用于连接一般外部设备的中断请求。9.什么是时钟周期、总线周期、指令周期?它们的时间长短取决于哪些因素?时钟周期:CPU连接的系统主时钟CLK一个周期的时间。CLK信号频率越高,时钟周期越短。总线周期:CPU通过外部总线对存储器或I/O端口进行一次读/写操作的过程称为总线周期。8086CPU总线周期一般由四个时钟周期组成,存储器/IO设备(接口)速度不能满足CPU要求时,可以增加一个或多个时钟周期。指令周期:CPU执行一条指令的时间(包括取指令和执行该指令所需的全部时间)称为指令周期。指令周期的时间主要取决于主时钟的频率和指令的复杂程度,它也受到存储器或IO设备接口工作速度的影响。10.在一次最小模式总线读周期中,8086CPU先后发出了哪些信号?各有什么用处?T1状态:IO/M指出CPU是从内存(1)还是从IO端口(0)读取数据。随后CPU从地址/状态复用线(A19/S6~A16/S3)和地址/数据复用线(AD15~AD0)上发出读取存储器的20位地址,对IO端口访问时从AD15~AD0上发出16位地址。为了锁存地址,CPU在T1状态从ALE引脚输出一个正脉冲作为地址锁存信号。如果需要读取高8位数据线上的数据(奇地址/读取一个字),BHE=0。为了控制总线收发器8286数据传输方向,R/DT=0。T2状态:读信号RD开始变为低电平(有效),DEN=0,用来开放总线收发器8286。T3状态:CPU检测READY引脚信号。若READY为高电平(有效),表示存储器或I/O端口已经准备好数据,进入T4状态;若READY为低电平(无效),表示存储器或I/O端口尚未准备好数据,插入一个或多个TW状态,直到READY变为高电平。T4状态:在T3(TW)和T4状态交界的下降沿处,CPU对数据总线上的数据进行采样,完成读取数据的操作。11.结合指令“OUT21H,AL”,具体叙述最大模式“总线写周期”总线上的相关信号。T1状态:地址/数据复用线(AD15~AD0)上出现访问IO端口的16位地址21H。由于地址为奇数,需要通过高8位数据线访问端口,BHE=0。T2状态:IOW=0,表示本周期对IO端口进行写操作。地址/数据复用线(AD15~AD0)上出现来自AL的8位数据。T3状态:若READY为高电平(有效),表示I/O端口已经准备好接收数据。反之,表示I/O端口尚未准备好接收数据,需要CPU插入TW周期进行等待,直到READY出现高电平(有效)。T4状态:CPU结束本周期。..习题二1.内存储器主要分为哪两类?它们的主要区别是什么?内存储器分为随机存取存储器RAM(RadomAccessMemory)和只读存储器ROM(ReadOnlyMemory)两类。RAM中信息可以按地址读出,也可以按地址写入。RAM具有易失性,掉电后原来存储的信息全部丢失,不能恢复。ROM中的信息可以按地址读出,但是在普通状态下不能写入,它的内容一般不能被改变。ROM具有“非易失性”,电源关闭后,其中的信息仍然保持。2.说明SRAM、DRAM、MROM、PROM和EPROM的特点和用途。SRAM:静态RAM,读写速度快,但是集成度低,容量小,主要用作Cache或小系统的内存储器。DRAM:动态RAM,读写速度慢于静态RAM,但是它的集成度高,单片容量大,现代微型计算机的“主存”均由DRAM构成。MROM:掩膜ROM,由芯片制作商在生产、制作时写入其中数据,成本低,适合于批量较大、程序和数据已经成熟、不需要修改的场合。PROM:可编程ROM,允许用户自行写入芯片内容。芯片出厂时,所有位均处于全“0”或全“1”状态,数据写入后不能恢复。因此,PROM只能写入一次。EPROM:可擦除可编程只读存储器,可根据用户的需求,多次写入和擦除,重复使用。用于系统开发,需要反复修改的场合。回忆:半导体存储器芯片容量取决于存储单元的个数和每个单元包含的位数。存储容量可以用下面的式子表示:存储器容量(S)=存储单元数(p)×数据位数(i)存储单元个数(p)与存储器芯片的地址线条数(k)有密切关系:p=2k,或k=log2(p)。数据位数i一般等于芯片数据线的根数。存储芯片的容量(S)与地址线条数(k)、数据线的位数(i)之间的关系因此可表示为:S=2k×i3.已知一个SRAM芯片的容量为8K×8,该芯片有一个片选信号引脚和一个读/写控制引脚,问该芯片至少有多少个引脚?地址线多少条?数据线多少条?还有什么信号线?根据存储芯片地址线数量计算公式,k=log2(1024*8)=log2(213)=13,即总计有13根地址线。另有8根数据线、2根电源线。所以该芯片至少有25(=13+8+1+1+2)根引脚。4.巳知一个DRAM芯片外部引脚信号中有4根数据线,7根地址线,计算它的容量。因为:DRAM芯片把片内地址划分为“行地址”和“列地址”两组,分时从它的地址引脚输入。所以,DRAM芯片地址引脚只有它内部地址线的一半。根据存储容量计算公式S=2k×I,可得该芯片的存储容量为:214*4=16K×4bit(位),也可表示为64Kb=8KB(字节)。5.32M×8的DRAM芯片,其外部数据线和地址线为多少条?..根据存储芯片地址线数量计算公式,k=log2(1024*1024*32)=log2(225)=25,即需要25根地址线。但是,由于DRAM芯片的地址采用分时输入的方法,所以实际需要的地址线只有理论值的一半,此处为13根。数据线8根。6.DRAM为什么需要定时刷新?DRAM靠MOS管极间电容存储电荷的有无决定所存信息是0还是1,由于漏电流的存在,它存储的信息不能长时间保存,需要定时重新写入,称为“刷新”。7.74LS138译码器的接线如图2.28所示,写出0Y、2Y、4Y、6Y所决定的内存地址范围。从图看出,该存储系统的片内地址线有1

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

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

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

×
保存成功