欢迎来到天天文库
浏览记录
ID:11266016
大小:484.50 KB
页数:57页
时间:2018-07-11
《现代微型计算机原理与接口技术习题解答(汇编语言部分)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、习题一1.8086CPU由哪几个部件构成?它们的主要功能各是什么?8086CPU由指令执行部件EU和总线接口部件BIU两个部份组成。指令执行部件主要功能是执行指令。总线接口部件的主要功能是完成访问存储器或I/O端口的操作:形成访问存储器的物理地址;访问存储器取得指令并暂存到指令队列中等待执行;访问存储器或I/O端口以读取操作数参与EU运算,或存放运算结果。2.什么是逻辑地址?什么是物理地址?它们各自如何表示?如何转换?程序中使用的存储器地址称为逻辑地址,由16位“段基址”和16位“偏移地址”(段内地址)组成。段基址表示一个段的起始地址的高16位。偏移地址表
2、示段内的一个单元距离段开始位置的距离。访问存储器的实际地址称为物理地址,用20位二进制表示。将两个16位二进制表示的逻辑地址错位相加,可以得到20位的物理地址:物理地址=段基址×16+偏移地址在32位CPU的保护模式下,“逻辑地址”的表示产生了一些变化,请参考第8章的相关内容。3.什么是“堆栈”?它有什么用处?在使用上有什么特点?堆栈是内存中的一块存储区,用来存放专用数据。例如,调用子程序时的入口参数、返回地址等,这些数据都按照“先进后出”的规则进行存取。SS存放堆栈段的段基址,SP存放当前堆栈栈顶的偏移地址。数据进出堆栈要使用专门的堆栈操作指令,SP的值
3、在执行堆栈操作指令时根据规则自动地进行修改。X=36H=00110110BY=78H=01111000B(-Δ=10111110BCF=1,SF=1,OF=0,PF=1,ZF=0,AF=14.设X=36H,Y=78H,进行X+Y和X-Y运算后FLAGS寄存器各状态标志位各是什么?X=36H=00110110BY=78H=01111000B(+Σ=10101110BCF=0,SF=1,OF=1,PF=0,ZF=0,AF=05.按照传输方向和电气特性划分,CPU引脚信号有几种类型?各适用于什么场合?CPU引脚传输的信号按照传输方向划分,有以下几种类型:输出:信
4、号从CPU向外部传送;输入:信号从外部送入CPU;双向:信号有时从外部送入CPU,有时从CPU向外部传送。双向信号主要用于数据信号的传输;输出信号用于传输地址信号和一些控制信号;输入信号主要用于传输外部的状态信号(例如READY)和请求(中断、DMA)信号。按照信号的电器特性划分,有以下几种类型:一般信号:用来传输数据/地址信号时,高电平表示“1”,低电平表示“0”;用来表示正逻辑的控制/状态信号时,“1”表示有效,“0”表示信号无效;用来表示负逻辑的控制/状态信号时,“0”表示有效,“1”表示信号无效。三态信号:除了高电平、低电平两种状态之外,CPU内部
5、还可以通过一个大的电阻阻断内外信号的传送,CPU内部的状态与外部相互隔离,也称为“悬浮态”。CPU放弃总线控制权,允许其他设备使用总线时,将相关信号置为“悬浮态”。1.8086CPU以最小模式工作,现需要读取内存中首地址为20031H的一个字,如何执行总线读周期?请具体分析。为了读取内存中首地址为20031H的一个字,需要执行二个总线读周期。第一个总线周期读取20031H字节内容,进行的操作如下。T1状态:=1,指出CPU是从内存读取数据。随后CPU从地址/状态复用线(A19/S6~A16/S3)和地址/数据复用线(AD15~AD0)上发出读取存储器的20
6、位地址20031H。为了锁存地址,CPU在T1状态从ALE引脚输出一个正脉冲作为地址锁存信号。由于需要读取高8位数据线上的数据(奇地址),=0。为了控制总线收发器8286接受数据,=0。T2状态:地址信息撤消,地址/数据线AD15~AD0进入高阻态,读信号开始变为低电平(有效),=0,用来开放总线收发器8286。T3状态:CPU检测READY引脚信号。若READY为高电平(有效)时,表示存储器或I/O端口已经准备好数据,CPU在T3状态结束时读取该数据。若READY为低电平,则表示系统中挂接的存储器或外设不能如期送出数据,要求CPU在T3和T4状态之间插入
7、1个或几个等待状态Tw。TW状态:进入TW状态后,CPU在每个TW状态的前沿(下降沿)采样READY信号,若为低电平,则继续插入等待状态TW。若READY信号变为高电平,表示数据已出现在数据总线上,CPU从AD15~AD0读取数据。T4状态:在T3(TW)和T4状态交界的下降沿处,CPU对数据总线上的数据进行采样,完成读取数据的操作。第二个总线周期读取地址为20032H字节的内容。CPU发出的信号与第一个周期类似,区别在于T1状态CPU发出存储器地址为20032H,由于只需要读取低8位数据线上的数据(偶地址),=1。在CPU内部,从20031H读入的低位字
8、节和从20032H读入的高位字节被拼装成一个字。2.8086CPU
此文档下载收益归作者所有