微型计算机原理及其接口技术第七章部分习题答案-林志贵
- 格式:doc
- 大小:235.00 KB
- 文档页数:4
第七章习题答案7.1 ARM处理器有几种运行模式,处理器如何区别各种不同的运行模式?ARM处理器有7中运行模式:●用户模式(user):ARM处理器正常的程序执行状态●快速中断模式(fiq):处理高速中断,用于高速数据传输或通道处理●外部中断模式(irq):用于普通的中断处理●管理模式(supervisor):操作系统使用的保护模式,系统复位后的默认模式●中止模式(abort):数据或指令预取中止时进入该模式●未定义模式(undefined):处理未定义指令,用于支持硬件协处理器的软件仿真●系统模式(system):运行特权级的操作系统任务处理器使用CPSR寄存器中的M4~M0位来指示不同的运行模式。
7.2 通用寄存器中PC、CPSR和SPSR的作用各是什么?PC:程序计数器,用于保存处理器要取的下一条指令的地址。
CPSR:当前程序状态寄存器,CPSR保存条件标志位、中断禁止位、当前处理器模式标志,以及其他一些相关的控制和状态位。
SPSR:备份程序状态寄存器,当异常发生时,SPSR用于保存CPSR的当前值,当从异常退出时,可用SPSR来恢复CPSR。
7.3 从编程的角度讲,ARM处理器的工作状态有哪两种?这两种状态之间如何转换?从编程角度讲,ARM处理器的两种工作状态为:●ARM状态(复位状态):处理器执行32位的字对齐的ARM指令●Thumb状态:处理器执行16位的半字对齐的Thumb指令ARM指令集和Thumb指令集均有切换处理器状态的指令,并可在两种工作状态之间切换:●进入Thumb状态:当操作数寄存器的状态位(最低位)为1时,执行BX指令就可以进入Thumb状态。
如果处理器在Thumb状态时发生异常(异常处理要在ARM状态下执行),则当异常处理返回时自动切换到Thumb状态●进入ARM状态:当操作数寄存器的状态位(最低位)位0时,执行BX指令就可以进入ARM状态。
处理器进行异常处理时,把PC的值放入异常模式链接寄存器中,从异常向量地址开始执行程序,系统自动进入ARM状态7.5 哪些特征是ARM和其他RISC体系结构所共有的?ARM和其他RISC体系结构共有的三个相同特征:●Load/Store体系结构:也称为寄存器/寄存器体系结构或RR系统结构。
《微机原理与接口技术》习题解答习题77.1 什么是中断?常见的中断源有哪几类?CPU响应中断的条件是什么?【解答】中断是指CPU在正常执行程序时,由于内部/外部时间或程序的预先安排引起CPU暂时终止执行现行程序,转而去执行请求CPU为其服务的服务程序,待该服务程序执行完毕,又能自动返回到被中断的程序继续执行的过程。
常见的中断源有:一般的输入/输出设备请求中断;实时时钟请求中断;故障源;数据通道中断和软件中断。
CPU响应中断的条件:若为非屏蔽中断请求,则CPU执行完现行指令后,就立即响应中断。
CPU若要响应可屏蔽中断请求,必须满足以下三个条件:①无总线请求;②CPU 允许中断;③CPU执行完现行指令。
7.2 简述微机系统的中断处理过程。
【解答】(1)中断请求:外设需要进行中断处理时,向CPU提出中断请求。
(2)中断响应:CPU执行完现行指令后,就立即响应非屏蔽中断请求。
可屏蔽中断请求,CPU若要响应必须满足三个条件。
(3)中断处理:保护现场、开中断、中断服务。
(4)中断返回:CPU执行IRET中断返回指令时,自动把断点地址从堆栈中弹出到CS 和IP中,原来的标志寄存器内容弹回Flags,恢复到原来的断点继续执行程序。
7.3 软件中断和硬件中断有何特点?两者的主要区别是什么?【解答】硬件中断由外部硬件产生,是由CPU外部中断请求信号触发的一种中断,分为非屏蔽中断NMI和可屏蔽中断INTR。
软件中断是CPU根据某条指令或者对标志寄存器的某个标志位的设置而产生的,也称为内部中断。
通常有除法出错中断、INTO溢出中断、INT n中断、断点中断和单步中断等。
两者的主要区别:硬件中断由外部硬件产生,而软件中断与外部电路无关。
7.4 中断优先级的排队有哪些方法?采用软件优先级排队和硬件优先级排队各有什么特点?【解答】软件优先级排队:各中断源的优先权由软件安排。
优点是电路比较简单,可以直接修改软件查询顺序来修改中断优先权,不必更改硬件。
1.什么是实地址模式?什么是(虚地址)保护模式?什么是虚拟8086 模式?试列写出三者主要特点。
答:①实模式将整个物理内存看成分段的区域,程序代码和数据位于不同区域,系统程序和用户程序没有区别对待,而且每一个指针都是指向"实在"的物理地址。
这样一来,用户程序的一个指针如果指向了系统程序区域或其他用户程序区域,并改变了值,那么对于这个被修改的系统程序或用户程序,其后果就很可能是灾难性的。
②为了克服实模式内存管理方式的缺点,处理器厂商开发出保护模式。
这样,物理内存地址不能直接被程序访问,程序内部的地址(虚拟地址)要由操作系统转化为物理地址去访问,程序对此一无所知。
保护模式同实模式的根本区别是进程内存受保护与否。
③虚拟8086 模式是运行在保护模式中的实模式,它不是一个真正的CPU 模式,还属于保护模式。
2.虚拟地址两个部分各叫什么名字?答:虚拟地址指的是由程序产生的由段选择符和段内偏移地址两个部分组成的地址。
3、页转换产生的线性地址的三个部分各是什么?给出各个部分的大小。
答:页转换产生的线性地址的三个部分各是:位31--位22是页目录项索引;位21--位12是二级页表项索引;位11--位0 是指定实际页面内的偏移值。
4、选择符 250EH 装入了数据段寄存器, 该值指向局部描述符表LDT 中从地址00100220H 开始的段描述符。
如果该描述符的字为: [00100220H]=0110H[00100222H]=0000H[00100224H]=1A20H[00100226H]=0000H那么该数据段RPL=?, 段的Limit 和Base 各为多少?答:段的Limit为:00200000H段的Base为00110H5. 用几句话简述IA-32 基本保护机制是如何实现的?答:6. 简单表述在IA32 环境下的多任务机制。
答:任务是指共同完成某项功能的多个程序的集合,而多任务机制又是指应用于多个任务的集合。
习题及解答1.列举中断的具体应用。
要点:符合如下四种的均可(1)响应外部突发事件。
(2)实时多任务调度。
(3)实现外设与CPU的并行处理(4)分时多任务操作系统的基础。
2.中断的分类方式及其关系。
要点:3.中断向量表的功能时什么,8086/8088CPU如何对中断源识别并跳转到正确的中断服务程序入口?要点:中断向量表是存放中断服务程序入口地址的一个特定的内存区域,屮断号都与一个中断服务程序的入口地址相对应,实现中断处理程序的直接跳转8086/8088cpu通过中断号标识中断源,外部中断的中断号山中断控制器(如8259a)提供,内部中断中断号和不可屏蔽中断号系统固定分配发生中断时:1)将标志寄存器、CS、TP内容压入堆栈。
2)获取中断类型号n,生成中断向量表地址4杓。
3)从中断向量表地址为4*n的存储单元中収出中断向量送入CS和1P,继而转去执行中断服务子程序。
4.中断的一般处理流程包括那些步骤,分别完成什么功能?要点:中断处理的一般过程山中断请求、中断优先级判别、中断响应、现场保护、中断服务、现场恢复和中断返回构成。
中断请求:发起中断信号中断判优:优先级判断确定响应那个中断中断响应:通过中断屏蔽确定是否响应中断,回复中断响应信号现场保护:保存状态寄存器、地址寄存器和相关重要寄存器中断服务:中断处理程序现场恢复:恢复状态寄存器、地址寄存器和其他重要寄存器中断返回:跳转到断点5.8259A如何进行优先级管理?要点:全嵌套方式、特殊全嵌套方式和优先级自动循环方式,分别针对单片,级联和特殊情况下的应用6.设8259A的端口地址为80H和81H,用程序清除中断服务寄存器的ISR6。
;EOI 二1; SL 二1; R=0; L2L1L0二6 ;设置0CW27. 2片8259A 组成的级联系统,设备A 接在从片的IR0上,从片接在主片的IR4±,说明A 设备发生中断到CPU 响应的全过程。
要点:1, A 设备产生中断请求2, 从片8259A 进行优先级判断,如果IR0上的中断优先级高于当前从片的其它优先级, 从片8259A 响应屮断,向主片的IR4脚发起屮断请求3, 主片8259A 进行优先级判断,如果IR4上的中断请求优先级高于当前主片的其它优 先级,则主片通过INT 管脚向CPU 发起屮断请求4, CPU 接收到中断请求后,若允许中断,则向主片8259A 发送两个INTA 响应。
习题一、选择题1.在程序控制传送方式中,_______可提高系统的工作效率。
A. 无条件传送B. 查询传送C. 中断传送D.以上均可答案:C2.在8086的中断中,只有______需要硬件提供中断类型码。
A.外部中断B.可屏蔽中断C.不可屏蔽中断D.内部中断答案:B3.在中断响应周期,CPU从数据总线上获取______。
A.中断向量的偏移地址B.中断向量C.中断向量的段地址D.中断类型码答案:D4.执行INT n指令或响应中断时,CPU保护现场的次序是______。
寄存器(FR)先入栈,其次是CS,最后是IP在先,其次是IP,最后FR入栈在先,其后一次是IP,CS在先,其次是CS,最后FR答案:A5.在PC/XT中,NMI中断的中断向量在中断向量表中的位置_______。
A.是由程序指定的B.是由DOS自动分配的C.固定在0008H开始的4个字节中D.固定在中断向量表的表首答案:C6.中断调用时,功能调用号码应该_______。
A.写在中断指令中B.在执行中断指令前赋给AHC. 在执行中断指令前赋给AXD. 在执行中断指令前赋给DL答案:B7.若8259A的ICW2设置为28H,从IR3引入的中断请求的中断类型码是_____。
A. 28H答案:B有3中EOI方式,其目的都是为了_____。
A.发出中断结束命令,使相应的ISR=1B. 发出中断结束命令,使相应的ISR=0C. 发出中断结束命令,使相应的IMR=1D. 发出中断结束命令,使相应的IMR=0答案:B特殊全嵌套方式要解决的主要问题是______。
A.屏蔽所有中断B.设置最低优先级C.开发低级中断D.响应同级中断答案:D编程时,中断屏蔽可通过______设置。
答案:B二、填空题8088的中断系统,可以处理______种不同的中断。
从产生中断的方法来分,中断可分为两大类:一类叫_____中断;一类叫______中断。
硬件中断又可分为两大类:一类叫______中断;另一类叫______中断。
第七章1、计算机在下列情况中,不适合采用中断方式处理的是()A.随机发生的事件B.定时发生的事件C.成块数据的高速传送D.突然停电2、CPU与外设之间传送数据的程序控制方式有( )。
A.无条件传送方式B.查询方式C.中断方式D.以上所有方式3、在I/O设备、数据通道、时钟和软件这四项中,可能成为中断源的是()A. I/O设备B. I/O设备和数据通道C. I/O设备、数据通道和时钟D. I/O设备、数据通道、时钟和软件4、为了便于实现多级中断,保存现场信息最有效的方法是采用()A.通用寄存器B.堆栈C.存储器D.外存5、在8086/8088系统中,关于可屏蔽和不可屏蔽中断的下列说法中正确的是()A.CPU对不可屏蔽中断必须响应B. CPU对可屏蔽中断必须响应C.两种中断优先级别一致D.无法判断他们的优先级6、电源故障中断属于()A.不可屏蔽中断B.可屏蔽中断C.控制器产生的中断D.内部中断7、转入中断服务程序以及从中断服务程序返回原程序的方法是()A.执行相应的转移指令B.调用相应的子程序C.将相应的地址装入程序计数器D.将相应的地址装入指令的操作数字段8、DMA方式在()之间建立了直接的数据通道A.外设与外设B.主存与外设C.CPU与主存D.CPU与外设9、硬中断服务程序结束返回断点时,程序末尾要安排一条指令IRET,它的作用是()A.构成中断结束命令B.恢复断点信息并返回C.转移到IRET的下一条指令D.转入下一中断服务10、PC/XT微机采用向量中断方式处理8级外部硬中断,中断类型号依次为08 ~0FH,在RAM 中0000:002CH单元开始依次存放了23H、FFH、00H、F0H四个数据,该向量对应的中断号和中断服务程序入口地址是()A.0CH和23FF:00F0HB.0BH和F000:FF23HC.0BH和00F0:23FFHD.0CH和F000:23FFH11、右图为8086/8088系统中一段主存储器的示意图,由图可知84H号中断的中断向量是()A.1284H:00F1HB.F100H:8412HC. CD85H:F0E2HD.E2F0H:85CDH12、右图为8086/8088系统中一段主存储器的示意图,由图可知85H号中断的中断向量是()A.1284H:00F1HB.F100H:8412HC. CD85H:F0E2HD.E2F0H:85CDH13、右图为8086/8088系统中一段主存储器的示意图,由图可知0000:0210H开始的四个单元所存放的中断向量其对应的中断类型码是()A.12HB. 84HC. 8412HD. F100H:8412H14、右图为8086/8088系统中一段主存储器的示意图,由图可知0000:0214H开始的四个单元所存放的中断向量其对应的中断类型码是()A.CDHB. 85HC. 85CDHD. E2F0H:85CDH15、当按下键盘上的一个键时,将产生一个中断请求,这是一种()A.I/O设备中断B.软件中断C.定时中断D.单步中断16、CPU响应INTR引脚来的中断请求的条件是()。
第7章输入/输出接口习题与参考答案这一章的习题与参考答案分为两大部分,一部分是输入输出概述及DMA控制器的习题与参考答案;另一部分是中断及中断控制器部分的习题与参考答案。
一、输入输出概述及DMA控制器的习题与参考答案1、请说明为什么输入接口的数据缓冲寄存器必须有三态输出功能而输出接口却不需要的原因。
解:输入接口的数据缓冲寄存器的输出端是直接接在数据总线上的,如果数据寄存器没有三态输出功能,则无论数据寄存器被寻址选中或未被选中,其数据都会被送上数据总线,若此时总线上真正要传送的数据与该输入缓存器的内容不一致时,就会发生总线冲突。
所以,输入接口的数据缓冲器必须有三态输出功能,以便当接口未被寻址选中时,其输出端处于高阻态,从而与总线隔离。
对于输出接口来说,是输入端与数据总线相连,而输出端是与外设相连,因此其输出不影响总线状态;另外,一个外设一般只与一个输出数据缓存器相连,因此输出接口的数据缓存器无须有三态输出功能。
2、8086/8088CPU中哪些寄存器可以用于I/O寻址?若I/O端口地址分别是10H和100H,分别写出向这两个端口写入73H的程序段。
解:8086/8088CPU内可以用于I/O寻址的寄存器为AL、AX和DX。
向端口10H写入73H的程序段为:MOV AL,73HOUT 10H,AL向端口10H写入73H的程序段为:MOV AL,73HMOV DX,100HOUT DX,AL3、图为7段显示器接口,显示器采用共阳极接法,试编写程序段,使AL中的一位十六进制数显示于显示器上。
输出锁存器地址为40H。
解:TABLE DB 3FH,06H,5BH,4FHDB 66H,6DH,7DH,07HDB 7FH,67H,77H,7CH,DB 39H,5EH,79H,71HLEA BX,TABLEXLA TOUT 40H,AL4、PC/XT机有哪些输入输出方式?各自的特点如何?DMA控制器应具备哪些功能?解:无条件方式:需要外设处于就绪状态,硬件简单;查询方式:CPU需要不断地查询外设是否就绪,浪费CPU时间,硬件较简单;中断方式:外设准备好后,向CPU发中断请求,请求CPU完成数据传输,外设与CPU 并行;硬件又比前两者复杂。
7-1、I/O接口的信号有哪几种?各有什么特点?
答:接口信号通常有以下四种:
1、 开关量:只有2种状态,用一位二进制数(0或1)表示开或关。
2、 数字量:二进制形式的数据或是已经过编码的二进制形式的数据。
3、 脉冲量:脉冲信号是以脉冲形式表示的一种信号。关注的是信号发生的跳变情况。
4、 模拟量:用模拟电压或模拟电流幅值大小表示的物理量。
7-2、什么是接口?接口的主要功能是什么?
答:接口是CPU与外设之间进行数据传输的桥梁。接口的主要功能:
1、 信号形式转换
2、 电平转换和放大
3、 锁存器缓冲
4、 I/O定向
5、 并行及串行I/O转换
7-3、什么是端口?端口和存储单元有什么区别?
答:端口指输入/输出接口中的寄存器。
区别:I/O单元地址使用的是绝对地址,而内存单元需要使用段地址和偏移地址来寻址。
7-4、I/O端口编址有几种方式?他们各有什么特点?
答、I/O端口有两种编址方式:
统一编址方式是将I/O端口与内存单元统一起来进行编号。该方式优点是不需要专门的
I/O指令,对I/O端口操作的指令类型多;缺点是端口要占用部分存储器的地址空间,不容
易区分是访问存储器还是外部设备。
独立编址的端口单独构成I/O地址空间,不占用存储器地址。优点是地址空间独立,控
制电路和地址译码电路简单,采用专用的I/O指令,使得端口操作的指令在形式上与存储器
操作指令有明显区别,程序容易阅读;缺点是指令类别少,一般只能进行传送操作。
7-5、I/O接口的控制方式有几种?简述各个方式的特点?
答:CPU和外设之间的数据传送方式通常有四种:程序传送方式、中断传送方式、DMA传
送方式和I/O处理机方式。
1、程序控制方式:在程序控制下进行信息传送,分为有条件传送方式和无条件传送方式。
无条件传送方式主要用于对简单外设进行操作,或者外设的定时是固定的或已知的场合。
条件传送方式主要用于不能保证输入设备总是准备好了数据或者输出设备已经处在可以接
收数据的状态。
2、中断控制方式:中断传送方式下,当外设要求交换数据时,向CPU发中断请求,CPU
在执行完当前指令后,即可中断当前任务的执行,并根据中断源转入相应的中断处理服务程
序,实现对请求中断外设的管理。中断控制方式主要用于需要提高CPU利用率和进行实时
数据处理的情况。
3、直接存储器存取方式(DMA方式):DMA方式是在存储器与外设间开辟一条高速数据
通道,使外设与内存之间直接交换数据,不需要CPU的干预。DMA控制方式主要用于快速
完成大批的数据交换任务。
4、输入/输出处理器方式:(1)拥有自己的指令系统,可以独立执行自己的程序。
(2)支持DMA传送。
。
7-6、什么叫DMA传送方式?DMA控制器8237A的主要功能是什么?
答:DMA方式是在存储器与外设间开辟一条高速数据通道,使外设的数据不经过CPU
直接送入内存储器,或者,从内存储器不经过CPU直接送往外部设备。
8237A的主要功能:
1、 8237A中有4个独立的DMA通道,但需要一片8位地址锁存器配合使用
2、 每一个通道的DMA请求都可以分别被允许和禁止
3、 每一个通道的DMA请求有不同的优先权,优先权可以固定的,也可以是旋转的
4、 每一个通道一次传输数据最大长度可达64KB.可以在存储器与外设间进行数据方式以及
级联方式。在存储器的两个区域之间进行传递
5、 8237A的数据的传递有4种工作方式:单字节传送方式,数据块传送方式,请求传送方
式以及级联方式。在每一种工作方式下,8237A都能接受外设的请求信号DREQ,并向
CPU发出DMA请求信号HRQ。当接收到CPU的响应信号HLDA后就可以接管总线进
行DMA传送,并向外设发出响应信号——D ACK
6、 有一个结束处理的输入信号——EOP,允许外界用此输入端来结束DMA传送或重新初始化
7、 8237A可以级联,任意扩展通道数
7-7、某8086系统中使用8237A完成从存储器到外设端口的数据传送任务,若已知通道0
的地址寄存器,终点计数器,方式寄存器端口地址分别为EEE0H、EEE1H和EEE8H,要
求通过通道0将寄存器中偏移地址为1000H—10FFH的内容传送到显示器输出,请编初始
化写程序。
解:
;清高/低触发器(清0后,先写低地址,然后高/低触发器自动变1,再写高地址)
MOV DX , 0EEEDH
OUT DX , AL
;写通道0的基地址寄存器,先写低地址,再写高地址
MOV DX , 0EEE0H
MOV AX , 1000H
OUT DX , AL
MOV AL , AH
OUT DX . AL
;写通道0的基字节计数器,先写低地址,再写高地址
MOV DX , 0EEE1H
MOV AX , 00FFH
OUT DX , AL
MOV AL , AH
OUT DX , AL
;写工作方式字,块方式传送,地址增值,禁止自动初始化,读传递,通道0
MOV DX , 0EEEBH
MOV AL , 88H
OUT DX , AL
;写单通道屏蔽寄存器,开放指定DMA通道0的屏蔽位
MOV DX , 0EEEAH
MOV AL , 00H
OUT DX , AL
;写控制寄存器,DACK有效为低,DREQ有效为低,滞后写,固定优先权,允许8237A工
作,正常定时,禁止存储器到存储器
MOV DX , 0EEE8H
MOV AL , 40H
OUT DX , AL
7-8、某8086系统中使用8237A完成从存储器的数据传送,已知源数据块首地址的偏移地
址值为1000H,目标数据块首地址的偏移地址为1050H,数据块长度为100B。请编写初始
化程序,并画出硬件连接图。
解:
题目分析:
(1)寄存器的端口地址:高4位地址A7~A4经译码后,选通片选端CS,这里假设地址的
高4位A7~A4为1001时选通CS,即DMA的16个端口地址从90H开始。
(2)题目要求的是数据传送是从存储器到存储器,源数据块的首地址的偏移地址为1000H,
目标数据块首地址的偏移地址为1050H,这里利用DMA的通道0作为源数据块的输出端,
通道1作为目的地址的输入端,而且通道1的基字节计数器存放要传送的字节数。最后通过
软件DMA请求通道0进行数据的传送。
程序如下:
;清高/低触发器(清0后,先写低地址,然后高/低触发器自动变1,再写高地址)
OUT 9DH , AL
;写通道0的基地址寄存器,先写低地址,再写高地址
MOV AX , 1000H
OUT 90H , AL
MOV AL , AH
OUT 90H , AL
;写通道1的基地址寄存器,先写低地址,再写高地址
MOV AX , 1050H
OUT 92H , AL
MOV AL , AH
OUT 92H , AL
;写通道1的基字节计数器,先写低地址,再写高地址,由题意可知传送的数据块长度为100B,
转化为16进制并且减1后为63H
MOV AX , 0063H
OUT 93H , AL
MOV AL , AH
OUT 93H , AL
;写工作方式字,块方式传送,地址增值,允许自动初始化,写传递,通道1
MOV AL , 10010101B
OUT 9BH , AL
;写屏蔽寄存器,开放指定DMA通道0和通道1的屏蔽位
MOV AL , 00001100B
OUT 9EH , AL
;写控制寄存器,DACK有效为低,DREQ有效为低,滞后写,固定优先权,允许8237A工
作,禁止通道0地址保持,允许存储器到存储器
MOV AL , 01000001B
OUT 98H , AL
;写请求寄存器,通过软件DMA请求通道0进行数据的传送
MOV AL , 00000100B
OUT 99H , AL
硬件连线图如下:(下面的图应该把外设改为存储器,图是书上的图)
控制信号转换器AD19~AD0送8259A向CPU发INTR8086 CPUM/IORDIOR
HLDA
HOLD
8286/87
8282/83
地址
译码器
8282
IOWMEMRCSA3~A0A7~A4D7~D0ADSTBDREQ0AEN
HLDAHOLDEOPD
A
C
K
0
控制信号
转换器
WR
MEMW
外设端口D7~D0CS存储器
D15~D
0
CS
外设
数据总线
地址总线
8237A