微机原理第七章练习题及解
- 格式:docx
- 大小:23.20 KB
- 文档页数:11
第七章习题答案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系统结构。
“微机系统原理与接口技术”第七章习题解答(部分)1. 8086系统采用向量式中断,试简述8086系统中中断类型码、中断向量、中断向量表的含义及其之间的关系。
答:中断类型码:用于区分不同的中断源,即系统中每个中断源都应该对应一个唯一的类型 码。
8086系统中的中断类型码以 8位无符号数(00H 〜0FFH )表示,一共可以区分 256个不同的中断源。
中断向量:中断服务程序(ISR )的入口地址,也就是 ISR 的第一条指令在存储器中的 位置。
8086系统中的中断向量由两个字(4个字节)组成,低位字表示入口的偏移地址,高 位字表示入口的段基址。
显然,每个中断类型码对应一个中断向量,则8086系统中共应有256个中断向量。
中断向量表:中断向量的存放地。
8086系统将最低的 1KB (00000H 〜003FFH ) RAM 空间用于存放这256个中断向量。
三者之间的关系是:利用中断类型码 n 可以很容易地从中断向量表中找到该中断源所对应的中断向量,即:中断向量存放的起始地址 m = nX 4,从中断向量表的 m 地址单元开始连续取出的四个字节就是 n 号中断的ISR 入口地址。
8086CPU 正是用这种方法完成中断索引的。
系统将广义中断分为异常和狭义中断两大类。
(5)对。
4. 8086系统的RAM 存储单元中,从 0000H:002CH 开始依次存放 23H 、0FFH 、00H 和 0F0H 4个字节的中断向量,该向量对应的中断类型码是多少?而中断类型码为 14H 的中断向量应存放在哪些存储单元中?答:中断向量0F000:0FF23存放在0002CH 双字单元中,说明其对应的中断类型码N =2CH - 4= 0BH 。
14H 号中断向量的起始存放地址为4X 14H = 00050H ,即该中断向量的偏移量部分存放2.判断下列说法是否正确,如有错,指出错误原因并改正:(1) (2) (3) (4) (5) 答:(1)优先级别高的中断总是先响应、先处理。
第7章常用芯片的接口技术1.简述I/O接口的基本功能。
答:(1)地址选择(2)控制功能(3)状态指示(4)速度匹配(5)转换信息格式(6)电平转换(7)可编程性2.简述I/O接口与I/O端口的区别。
答:I/O接口是指I/O设备与系统总线之间的连接部件。
I/O端口是指I/O接口内部可由CPU进行读写操作的各种寄存器,根据存放信息的不同,这些寄存器分别称为数据端口、控制端口和状态端口。
3.简述I/O端口的编址方式及优缺点。
答:I/O端口编址的方式可以分为独立编址和统一编址两种方式。
独立编址方式是指I/O端口与存储器有相互独立的地址空间。
统一编址方式是指I/O端口与存储器共享一个地址空间,所有的存储单元只占用其中的一部分地址,而I/O端口则占用另外一部分地址。
优缺点:独立编址方式的优点之一是存储器的容量可以达到与地址总线所决定的地址空间相同;优点之二是访问I/O端口时的地址位数可以较少,提高总线的利用率。
但是缺点是必须设置专门的I/O指令,增加了指令系统和有关硬件的复杂性。
与独立编址方式相比,统一编址方式的优点是无需专门的I/O指令,从而使编程较灵活,但是I/O端口占用了存储器的一部分地址空间,因而影响到系统中的存储器的容量,并且访问存储器和访问I/O端口必须使用相同位数的地址,使指令地址码加长,总线中传送信息量增加。
4.简述程序查询、中断和DMA三种方式的优缺点。
答:程序查询方式的优点在于可以防止数据的丢失,实现起来较为简单;缺点是它占用了微处理器的大量时间,实时性较差。
中断方式具有较好的实时性;但在一定程度上增加成本和复杂性。
DMA方式的突出优点是传送过程无须处理器的控制,数据也无须经过微处理器,而是直接在I/O设备与主存储器间进行,因此既节约了微处理器的时间,也使传送速率大大提高;缺点是输入/输出操作占用微处理器时间,而且很难达到较高的数口,分配给该端口的地址为04E5H,试画出连接图。
解:连接图如图7.2所示。
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)MOV AX,V AR;(2)LEA AX,V AR;(3)MOV AX,OFFSET V AR三条指令之间的异同(V AR为数据段的一个变量名称)解: (1)将V AR的一个字送AX,相当于MOV AX,[V AR](2) 将VAR的偏移地址送AX(3) 将VAR的段内偏移地址送AX,功能与(2)相同。
2、若程序中多次使用某一程序段,问将该程序段设计成子程序和定义成宏指令各有何优缺点?答:设计成子程序在整个程序占用内存少,但执行时间长;定义成宏指令程序汇编后占用内存多,但执行时间短。
3、下面列出的是一个汇编源程序中的一个程序段。
试以图形表示出DATA段中各变量在存储器中的存储位置(标明偏移地址及有关单元的内容,制表示);写出CODE段内汇编后的可执行指令。
TABLDA TA SEGMENTTABL DB‘ABCD’2 DUP(2 DUP(1,2),3)V AR DW 4 DUP(?)DA TA ENDSCODE SEGMENTASSUME CS:CODE,D S:DATAORG 100HLEB1:LEA SI,TABLMOV BX,OFFSET V ARMOV AX,LENGTH V ARMOV AX,TYPE V ARMOV AL,SIZE V ARMOV AH,SIZE TABLMOV CX,(OFFSET V AR-(OFFSET TABL)V ARLEA DX,LEB1解: DATA段各变量的存储情况如右图所示,对CODE段可执行指令注释如下:LEB1:LEA SI,TABL ;将TABL的偏移地址送SIMOV BX,OFFSET V AR ;将V AR的偏移地址送BXMOV AX,LENGTH V AR ;将V AR的项数(4)的送AXMOV AX,TYPE V AR ;将V AR的符号名类型值02送AXMOV AL,SIZE V AR ;将为V AR分配的字节(08)送ALMOV AH,SIZE TABL ; 将为TABL分配的字节(0EH)送ALMOV CX,(OFFSET V AR)-(OFFSET TABL);将OEH送CXLEA DX,LEB1 将LEB1(100H)送DX。
第七章注意的问题:本章中控制信号后面的#表示此信号低电平有效。
一、选择1、 8086/8088CPU对I/O端口使用()编址方法。
A、独立B、统一C、直接D、间接2、 8086/8088CPU使用()根地址线对I/O编址。
A、 8B、 10C、16D、203、 8086/8088CPU对I/O端口的最大寻址空间为()。
A、 8KBB、 16KBC、64KBD、1MB4、 8086有一个独立的I/O空间,该空间的最大范围是()A、 8KBB、 16KBC、64KBD、1MB5、 8086CPU采用I/O独立编址方式,可使用()线的地址信息寻址I/O端口。
A、 AD7-AD0B、 AD15-AD0C、 AD19-AD0D、 AD23-AD06、某8088CPU构成的系统中,用10根地址线对I/O端口寻址,因而I/O端口的地址空间为()A、 1KBB、 10KBC、16KBD、64KB7、某8088CPU构成的系统中,占用地址空间0-1FFH,因而至少需用()根地址线对I/O端口寻址。
A、 8B、 9C、 10D、 118、若某8086CPU构成的系统中,具有1024个8位端口,则至少需用()根地址线对I/O端口寻址。
A、 4B、 8C、 10D、 169、 8086/8088CPU读写一次存储器或I/O端口操作所需要的时间称为一个()A、总线周期B、指令周期C、时钟周期D、基本指令执行周期10、 8086/8088CPU的基本I/O总线周期为()个时钟周期A、 6B、 5C、 4D、 311、在8088CPU构成的系统中,组合16位的I/O端口时,最好将其起始地址选为()地址A、奇B、偶C、页D、段12、在8088CPU构成的系统中,组合16位的I/O端口时,最好将其起始地址选为偶地址是为了()A、减少执行指令的总线周期B、减少执行指令的字节数C、节省占用的内存空间D、对内存单元快速寻址13、 8086/8088CPU按I/O指令寻址方式得到的地址是( )A、物理地址B、有效地址C、段内偏移量D、 I/O端口地址14、 8088 CPU对地址为240H的I/O端口读操作指令为()A、 MOV AL,240HB、 MOV AL,[240H]C、 IN AL,240HD、 MOV DX,240H IN AL,DX15、 8086/8088CPU的输出指令OUT Dest,Src中目的操作数Dest只能是()A、 8位或16位端口地址B、 8位端口地址或DX寄存器C、 16位寄存器D、任意16、 8086/8088CPU的输入指令IN Dest,Src中目的操作数Dest只能是()A、 8位或16位端口地址B、 8位端口地址或DX寄存器C、 16位寄存器D、任意17、 8086CPU的输入指令是将输入设备的一个端口中的数据传送到()寄存器。
第七章部分习题解答1、指出:(1)MOV AX,V AR;(2)LEA AX,V AR;(3)MOV AX,OFFSET V AR三条指令之间的异同(V AR为数据段的一个变量名称)解: (1)将V AR的一个字送AX,相当于MOV AX,[V AR](2) 将VAR的偏移地址送AX(3) 将VAR的段内偏移地址送AX,功能与(2)相同。
2、若程序中多次使用某一程序段,问将该程序段设计成子程序和定义成宏指令各有何优缺点?答:设计成子程序在整个程序占用内存少,但执行时间长;定义成宏指令程序汇编后占用内存多,但执行时间短。
3、下面列出的是一个汇编源程序中的一个程序段。
试以图形表示出DATA段中各变量在存储器中的存储位置(标明偏移地址及有关单元的内容,制表示);写出CODE段内汇编后的可执行指令。
TABLDA TA SEGMENTTABL DB‘ABCD’2 DUP(2 DUP(1,2),3)V AR DW 4 DUP(?)DA TA ENDSCODE SEGMENTASSUME CS:CODE,D S:DATAORG 100HLEB1:LEA SI,TABLMOV BX,OFFSET V ARMOV AX,LENGTH V ARMOV AX,TYPE V ARMOV AL,SIZE V ARMOV AH,SIZE TABLMOV CX,(OFFSET V AR-(OFFSET TABL)V ARLEA DX,LEB1解: DATA段各变量的存储情况如右图所示,对CODE段可执行指令注释如下:LEB1:LEA SI,TABL ;将TABL的偏移地址送SIMOV BX,OFFSET V AR ;将V AR的偏移地址送BXMOV AX,LENGTH V AR ;将V AR的项数(4)的送AXMOV AX,TYPE V AR ;将V AR的符号名类型值02送AXMOV AL,SIZE V AR ;将为V AR分配的字节(08)送ALMOV AH,SIZE TABL ; 将为TABL分配的字节(0EH)送ALMOV CX,(OFFSET V AR)-(OFFSET TABL);将OEH送CXLEA DX,LEB1 将LEB1(100H)送DX。
习题答案第6、7 章6-2 简述接口电路组成中各部分的作用,并区分什么是接口?什么是端口?答:接口部分功能如下:1.接向CPU部分的功能(1)总线驱动器:用来实现对CPU数据总线速度和驱动能力的匹配。
(2)地址译码器:接收CPU地址总线信号,进行译码,实现对各寄存器(端口)的寻址。
(3)控制逻辑:接收CPU控制总线的读/写等控制信号,以实现对各寄存器(端口)的读/写和时序控制。
2.接向外设部分的功能(1)数据寄存器(缓冲器):包括数据寄存器和输出寄存器。
前者暂存外设送来的数据,以便CPU读取,后者暂存CPU送来的数据,以便外设取走。
(2)控制寄存器:接收存放CPU的各种控制命令(或控制字)及其他信息。
这些控制命令用以设置接口工作方式、工作速度、指定某些参数及引脚功能等。
控制寄存器一般只能写入。
(3)状态寄存器:保存外设的当前信息。
如,忙/闲状态、准备就绪状态等等,以供CPU查询、判断。
以上3个寄存器均可由程序进行读或写。
类似存储器单元,所以又称为可编程序的I/O端口。
通常由系统给它们各分配一个地址码,称作端口地址。
外设必须通过输入或输出接口电路才能于CPU交换信息。
这种电路简称接口。
每个接口电路都需占用CPU的一个或多个I/O端口地址。
如8255A是一种接口,它占用4个端口地址。
6-3 说明CPU对I/O设备采用的两种不同编趾方式的优缺点和访问I/O设备采用的指令有哪些?答:I/O设备两种编趾方法是:1.统一编趾这种编趾方式又叫存储器映象方式,是从存储器空间划出一部分给I/O端口。
每个端口相当于一个存储单元。
优点是指令系统简单,便于掌握,且访问外设的寻址方式多。
缺点是,译码相对复杂。
2.I/O端口单独编趾译码电路相对简单(I/O指令所需地址线相对较少)。
缺点:指令系统相对复杂,且单独的I/O指令寻址方式弱。
访问I/O设备采用的指令是:(1)IN AL,PORT(2)IN AX.PORT(3)IN AL,DX(4)IN AX,DX(5)OUT PORT,AL(6)OUT PORT,AX(7)OUT DX.AL(8)OUT DX,AX6-4说明CPU与I/O设备之间交换数据的控制方式有哪些?比较它们的优缺点?答:CPU与外设之间数据交换的控制方式可归纳为3种:程序控制方式、中断控制方式和直接存储器存取(DMA)方式。