微机原理作业.docx
《微机原理作业.docx》由会员分享,可在线阅读,更多相关《微机原理作业.docx(15页珍藏版)》请在冰豆网上搜索。
微机原理作业
改错常见问题:
1)两操作数不能同时使用存储器寻址方式;
(2)除源操作数为立即寻址方式外,两操作数中至少一个为寄存器寻址方式;
(3)目的操作数不能为立即数。
(1)源操作数和目的操作数的类型不匹配,即字长不一致。
必须字节对字节,字对字。
(2)源操作数和目的操作数不能同时为存贮器寻址方式。
(3)基址变址方式没有SI和DI的组合。
因为SI和DI都变址寄存器。
(4)BX和BP作为基址寄存器不允许组合使用。
(5)AX为16位通用数据寄存器,ES:
为段跨越前缀,指明存储器的所在段,ES:
AX为非法。
(6)源操作数和目的操作数的类型不匹配,1000超出一个字节的表示范围,而BYTEPTR[BX]表示字节存储器。
2.已知(DS)=3000H,(SS)=3001H,(BX)=100H,(BP)=0F3H,(SI)=2,内存单元的值如图所示,求下列指令执行后AX的值。
错。
码段段址寄存器CS不能出现在指令中。
(2)错。
双操作数指令中两操作数不能同为存储器寻址方式。
(3)错。
IP是指令指针寄存器,它的内容是下一条要取出的指令的偏移地址,不能为用户所用,故不能出现在指令中。
(4)(5)错。
原因同
(1)。
(6)错。
IN为输入指令,不能使用BX,只能使用累加器AX或AL,接受端口上的数据信息。
指令中DX内存放16位端口地址。
(7)错。
数据类型不匹配,“BYTEPTR[BX]”指示目的操作数将存放在一个字节的存储器内,源操作数为立即数1000为字数据。
(8)错。
原因同
(1)。
(9)错。
SI和DI都是变址寄存器,不能同时使用。
(10)错。
双操作数指令中目的操作数不能为立即数。
(1)错。
数据类型不匹配。
(2)对。
(3)错。
两操作数必须有一个采用寄存器寻址方式。
(4)错。
DX不作变址用。
(5)对。
(6)对。
(7)错。
目的操作数应为wordptr[bx][di],即必须指明其数据类型。
(8)错。
符号地址与符号地址不能相加,此处必须为立即数。
(9)对。
(10)对。
原码:
符号位|数值位。
以8位为例(下同),表示数的范围为-127~+127。
反码:
对于正数,与原码表示相同;对于负数,则按规则:
符号位|数值位每位取反。
表示数的范围为-127~+127。
补码:
对于正数,与原码表示相同;对于负数,则按规则:
符号位|数值位每位取反+1。
表示数的范围为-128~+127。
7.Intel8088在功能上可以分为哪两大部分?
各有什么功能?
答:
intel8088微处理器可以分为总线接口部件和执行部件两部分,总线接口部件BIU负责从内部存储器的指定区域中取出指令送到指令队列中去排队,执行指令时所需要的操作数(内部存储器操作数和I/0端口操作数)也由BIU从相应的内存区域或I/O端口中取出,传送给执行部件EU。
执行部件EU从BIU的指令队列中获得指令,然后执行该指令,完成指令所规定的操作。
10.Intel8088的通用寄存器有哪些?
那些寄存器可拆分为高低字节两部分使用?
答:
intel8088的通用寄存器类型如下:
AX:
累加器,可以跟分为8位的寄存器,AH,AL
BX:
基址寄存器,可以分为两个8位的寄存器BH,HL
CX:
计数器,可以分为两个8位寄存器,CH,CL
DX:
数据寄存器,可以分为两个8位的寄存器,DH,DL
SP:
堆栈指针寄存器,始终指向栈顶
BP:
基数指针寄存器,用于堆栈段
SI:
源变址寄存器,
DI:
目的变址寄存器
12.为什么Intel8088的存储器地址空间要分段?
请说明其物理地址的形成过程。
答:
8088有20根地址线,它的直接寻址范围为220=1MB(Byte,字节)。
所以在以8088组成的微机系统中,可以有1MB的内部存储器。
而8088中的寄存器都是16位的,所以16位的寄存器只能给出来16位的地址,寻址空间只能在64KB的范围内。
因此,在8088系统中,将1MB的内存分成若干个段,一个段最大64KB,最小16B(16个字节定义成一个小节),最多可有64K个段,最少16个段。
段与段之间可以部分重叠,也可以完全重叠。
物理地址的形成过程可由下式表示:
物理地址=段寄存器的内容×10H+有效地址EA
1.Intel8088的寻址方式有那几类?
每一类又有那几种?
1.答:
立即寻址方式
寄存器寻址方式直接寻址方式
与数据有关的寻址方式寄存器间接寻址方式
存储器寻址方式寄存器相对寻址方式
基址变址寻址方式
8088寻址方式基址变址相对寻址方式
段内直接寻址方式
段内间接寻址方式
与转移地址有关的寻址方式段间直接寻址方式
段间间接寻址方式
2.Intel8088各种寻址方式是如何形成物理地址的?
2.答:
具体就是以数据有关的寻址方式的物理地址的形成方式。
直接寻址方式:
物理地址=(DS)╳16D+EA
寄存器间接寻址方式:
物理地址=(DS)╳16D+(BX)|(SI)|(DI)
物理地址=(SS)╳16D+(BP)
寄存器相对寻址方式:
物理地址=(DS)╳16D+(BX)|(SI)|(DI)+8位|16位位移量
物理地址=(SS)╳16D+(BP)+8位|16位位移量
基址变址寻址方式:
物理地址=(DS)╳16D+(BX)+(SI)|(DI)
物理地址=(SS)╳16D+(BP)+(SI)|(DI)
相对基址变址寻址方式:
物理地址=(DS)╳16D+(BX)+(SI)|(DI)+8位|16位位移量
物理地址=(SS)╳16D+(BP)+(SI)|(DI)+8位|16位位移量
伪指令:
TYPE运算符用来取变量和和标号的类型,BYTE=1,WORD=2,DWORD=4,NEAR=-1,FAR=-2
SIZE运算符用来计算一个存储区的字节数,共七个字节
4个字和100个字的分配存储,共208个字节
LENGTH运算符用来计算一个存储区中的单元。
1.Intel8088有那几种工作周期?
它们之间的关系如何?
1.答:
8088有三种工作周期:
指令周期、总线周期和T状态(时钟周期)。
CPU执行一条指令的时间(包括取指令、指令译码和执行该指令所需的全部时间)称为一个指令周期。
把通过系统总线对存储器或I/O端口进行一次读/写操作过程所需的称为总线周期,T状态就是CLK时钟周期。
一个指令周期由若干个总线周期组成。
每个总线周期通常包含4个T状态,即Tl、T2、T3、T4。
3.假定某CPU的时钟频率为100MHz,那么一个基本的总线周期为多长时间
3.解:
时钟周期T状态是CLK频率的倒数,即T=;本题T==10ns,那么一个基本的总线周期为40ns。
6.8284时钟发生器能产生哪三种信号?
结合等待状态产生电路的作用,试述8088插入等待周期TW的过程。
6.答:
8284时钟发生器能产生时钟信号CLK、复位信号RESET和准备好信号READY。
当访问的是慢速存储器或是外设接口,则在Tl输出的地址,经过译码选中某个单元或设备后,通过等待状态产生电路,立即驱动READY信号到低电平。
8088在T3的前沿采样到READY信号无效,就在T3状态后插人等待周期Tw。
在Tw状态的时钟下降沿,8088再采样READY信号,只要READY为低电平,就继续插人Tw状态,直至采样到READY为高电平,才进入T4状态。
7.8088在作I/O访问时,信号IO/为高电平还是低电平?
此时A19~A16在T1~T2时的状态有无实际意义?
为什么?
7.答:
8088在作I/O访问时,信号IO/为高电平,此时A19~A16在T1~T2时的状态无实际意义,因为I/O端口地址只能是8位的或16位的,高4位地址线不起作用。
10.在8088的最小组态(最小模式)的配置与最大组态(最大模式)的配置中,系统总线是如何形成的?
10.答:
在8088的最小组态(最小模式)的配置与最大组态(最大模式)的配置中,8088的引脚A19~16/S6~3、A15~8、AD7~0经过地址锁存器形成系统地址总线;AD7~0经过总线收发器形成系统数据总线。
在最小组态(最小模式)的配置中,系统控制总线直接来自8088的控制信号引脚,而在最大组态(最大模式)的配置中,8088CPU输出的状态信号、、经过总线控制器8288,转换成CPU系统所需要的各种控制信号,从而形成系统控制总线。
1.计算机存储器是怎样分类的?
其中半导体存储器又是怎样分类的?
1.答:
存储器的分类如下:
1)按构成存储器的器件和存储介质分类
可分为磁芯存储器、半导体存储器、光电存储器、磁膜、磁泡和其他磁表面存储器以及光盘存储器等。
2)按存取方式分类
可分为随机存取存储器RAM(RandomAccessMemory)、只读存储器ROM(ReadOnlyMemory)、串行访问存储器等。
3)按在计算机中的作用分类
可分为主存储器(内部存储器)、辅助存储器(外部存储器)、缓冲存储器等。
对于半导体存储器的分类可由下图表示:
4.试述六管静态存储电路的工作原理和特点。
4.答:
六管静态存储电路的结构可参见教材图6-5。
这个电路实际上是一个双稳态位电路,通过X地址线和Y地址线可以中某一个位电路。
当写入时,写入信号自I/0和I/O线输入,如要写“1”则I/O线为“1”,而线为“0”。
它们通过T7、T8管以及T5、T6管分别与A端和B端相连,使A=“1”,B=“0”。
靠两个反相器的交叉控制,只要不掉电就能保持写入的信号“1”(过程分析略)。
写入“0”时亦然。
在读出时,只要某一电路被选中,相应的T5、T6导通,A点和B点与位线D0和D0相通,且T7、T8也导通,故存储电路的信号被送至I/O与两线上。
读出时可以把I/O与两线接到一个差动放大器,由其电流方向即可判定存储单元的信息是“1”还是“O”;也可以只用一个输出端接到外部,以其有无电流通过而判定所存储的信息。
这种存储电路,它的读出是非破坏性的,即信息在读出后仍保留在存储电路内。
所以由它来构成存储器,不需要刷新。
5.试述单管动态存储电路的工作原理和特点。
单管动态存储电路的结构如下图所示。
单管动态存储电路由管子T1和电容C组成。
写入时,字选线为“1”,Tl管导通,写入信息由位线(数据线D)存入电容C中,使电容C充(放)电到数据线D的电平(“1”或“0”)。
此时,如果字选线恢复为“0”电平,则Tl管截止,而电容C仍保持已充电的电平,这就是写入过程。
读出时,字选线为“1”电平,使Tl管导通,存储在电容C上的电荷经T1输出到数据线上,再通过读出放大器即可得到存储信息。
由于C<<CD,每次读出后,存储的内容被破坏,要保存原来的信息,必须采取恢复措施,即重写。
动态RAM集成度高,功耗低,但需增加外围刷新电路,适用于构成大容量存储器。
8.有的RAM芯片(如Intel2164A)外部只有八根地址线,却具有64K位的寻址能力,这是为什么?
其中RAS与CAS信号起着什么作用?
怎样起作用的?
8.答:
这是因为这种存储芯片内有地址锁存器,可利用2条控制线(行地址选通)和(列地址选通),分别将行地址和列地址送入片内,先由将8位行地址送到片内行地址锁存器,然后由将后送入的8位列地址送到片内列地址锁存器。
由此实现216位,即64K位的寻址能力。
11.请比较全译码、部分译码和线选三种片选方式的优缺点。
11.答:
存储器片选的三种方法的优缺点比较见下表:
优点缺点
全译码法地址连续,无重叠现象译码电路复杂,成本高
部分译码法译码电路相对比较简单会产生地址的重叠现象和地址不邻接的现象
线选法电路最简单,地址确定容易会产生较严重的地址的重叠现象和地址不邻接的现象
16.解:
(1)系统连线见题图红线部分。
(2)RAM3的地址范围为:
C000H~C3FFH。
4.CPU与外部设备之间数据传递有哪三种方式?
4.答:
CPU与外部设备之间数据传递有三种方式:
程序控制传递方式、DMA方式和I/O处理机方式。
5.CPU与外部设备之间数据传递的程序控制传递方式又可分为哪三种方式?
各有什么优缺点?
5.答:
程序控制方式又分为无条件传送方式、查询传送方式和中断传送方式。
程序控制方式的特点:
由CPU执行预先编写好的输入输出程序来实现数据的传送。
在输入输出程序中用到的主要指令是传送指令和I/O指令。
每种方式有各有其特点和优缺点。
无条件传送方式(同步传送方式)
特点:
1)CPU和外设串行工作,且外设随时处于就绪状态或者的场合。
CPU可在任意时刻用I/O指令实现输入/输出。
2)CPU和外设串行工作,并且外设处理数据信息的时间是固定的而且是已知的场合。
为了实现CPU与外设之间的同步,主要采用软件延时程序的方法来实现输入输出。
优点:
硬件省,相应的接口电路简单
缺点:
对于第二种情况,CPU等待时间长,效率低。
查询传送方式(异步传送方式)
特点:
适用于CPU和外设串行工作且外设的定时是未知的或不固定场合,借助于外设提供的状态信息来实现CPU与外设之间的同步,必要时还需要通过外设接口中的控制端口传送必要的控制信息。
优点:
适用于CPU和外设串行工作且外设的定时是未知的或不固定场合;CPU的效率比无条件传送方式情况下要高。
缺点:
接口电路相对复杂。
中断传送方式
特点:
适用于CPU与外设、外设和外设之间并行工作的场合。
优点:
CPU的效率及系统的工作效率可以大大提高,CPU与外设、外设和外设之间可以并行工作。
缺点:
对接口电路的要求比较高,接口电路比较复杂
9.8255A的应用接口电路如图所示。
设8255A控制端口的地址为F7H,试编写程序段,判断开关K是否闭合,若K闭合,使存储器中2040H单元置00H,若K断开,置2040H单元为FFH。
9.解:
根据题意8255A的I/O端口地址的分配为
PAF4H
PBF5H
PCF6H
控制端口F7H
从题给电路看,开关K闭合,A点为低电平(0),开关K断开,A点为高电平
(1);在此应用中8255A的PB和PC并未使用,而A组的应为工作方式0,PA作输入口使用,故控制字为10010000B,即90H。
程序段应先对8255A进行初始化,进行控制字的设置,然后从PA输入开关K的状态,依其状态确定2040H存储单元的内容。
程序如下:
MOVAL,90H
OUT0F7H,AL
INAL,0F4H
TESTAL,80H
JZON
OFF:
MOVBYTEPTR[2040H],0FFH
JMPEXIT
ON:
MOVBYTEPTR[2040H],00H
EXIT:
HLT
19.CPU响应中断的条件是是什么?
请说明CPU响应中断、转入中断处理子程序的过程。
19.答:
对可屏蔽中断(从INTR引脚接收的请求信号),必须在以下四个条件同时被满足时才能响应:
1)无总线请求。
系统中若有其他总线主控设备,例如协处理器或DMA控制器,它们必须没有发出总线请求信号。
2)无非屏蔽中断请求。
3)CPU允许中断。
即CPU内部的中断允许寄存器置1,对于8088CPU,IF=1。
4)CPU执行完当前指令。
对非屏蔽中断(即从NMI引脚来的请求信号),要无总线请求且CPU执行完当前指令后才予以响应。
CPU在响应中断后,将完成以下的工作:
1)关中断。
对于8088CPU,将IF清0。
2)保护断点。
程序断点地址入栈,状态标志入栈。
对于8088CPU,即CS、IP以及标志寄存器的内容入栈。
3)转入中断服务子程序进行中断处理。
将中断服务子程序的偏移地址送IP,段地址送CS。
然后转入中断服务子程序。
在中断服务程序里的工作是:
(1)保护现场,把一些在主程序里使用到的寄存器的内容入栈保护起来;
(2)中断处理;
(3)恢复现场
还要注意一点的是,若在中断服务子程序中开中断,允许级别高的中断能得到响应,则在恢复现场前应关中断。
4)中断返回。
执行中断服务子程序的IRET指令,使CPU自动从堆栈中弹出标志寄存器的内容和断点地址送给标志寄存器、CS、IP,返回被中断的程序继续执行。
21.什么叫中断向量?
什么叫中断向量表?
对应与1CH的中断向量存放在哪里?
如果1CH的中断处理子程序从5110H:
2030H开始,则中断向量应如何存放?
21.答:
中断服务程序的入口地址叫作中断向量。
存放中断向量的内存区称为中断向量表,8088的中断向量表的地址范围为00000H~003FFH,共1KB。
题中的1CH是中断类型码,中断类型码乘以4即为该中断类型码所对应的中断向量存放单元的地址,那么对应于1CH的中断向量存放在地址00700H开始的4个字节单元中,即:
(00070H)=30H,(00071H)=20H,(00072H)=10H,(00073H)=51H
27.试按照如下要求对8259A中断控制器设置初始化命令:
系统中有一片8259A,中断请求信号用电平触发信号,下面要用ICW4,中断类型码为60H~67H,用特殊全嵌套方式,不用缓冲方式,采用中断自动结束方式。
8259A的端口地址为93H、94H。
27.试按照如下要求对8259A中断控制器设置初始化命令:
系统中有一片8259A,中断请求信号用电平触发信号,下面要用ICW4,中断类型码为60H~67H,用特殊全嵌套方式,不用缓冲方式,采用中断自动结束方式。
8259A的端口地址为93H、94H。