第2章学习指导习题解答

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

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

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

资源描述

4第2章微处理器及其结构本章介绍了8086、80486和Pentium微处理器的内部结构、寄存器结构、存储器组织及输入/输出结构、工作模式及总线操作时序。1.1重点与难点本章的重点是80486微处理器的内部结构、寄存器结构、存储器组织、输入/输出结构和微处理器的工作模式,难点是实地址工作模式下存储器的寻址。具体内容如下:1.8086微处理器总线接口部件和执行部件的功能,通用数据寄存器、指针及变址寄存器、段寄存器和指令指针的名称及用途,标志寄存器中各个标志位的意义,存储器的分段及物理地址的形成。8086CPU存储器的名称及功能见表2.1。表2.18086寄存器及其功能类别名称缩写位数功能通用数据寄存器累加器AX16均可以作为8位寄存器使用。既可以作为算术、逻辑运算的源操作数,向ALU提供参与运算的原始数据,也可以作为目标操作数,保存运算的中间结果或最后结果。基址寄存器BX16计数寄存器CX16数据寄存器DX16指针及变址寄存器堆栈指针SP16在进行堆栈操作的过程中,SP用来指示堆栈栈顶的偏移地址基址指针BP16用来存放位于堆栈段中的1个数据区的“基址”的偏移地址源变址指针SI16在串操作指令中,SI用来存放源操作数地址的偏移地址目的变址指针DI16在串操作指令中,DI用来存放目标操作数地址的偏移地址段寄存器代码段寄存器CS16用来存放当前使用的代码段的段基址数据段寄存器DS16用来存放当前使用的数据段的段基址堆栈段寄存器SS16用来存放当前使用的堆栈段的段基址附加段寄存器ES16用来存放当前使用的附加段的段基址控制寄存器指令指针IP16存放BIU将要取的下一条指令代码的偏移地址。标志寄存器FR16只使用了9位。其中6位为状态标志位,用来反映算术运算或逻辑运算结果的状态;3位为控制位,用来控制CPU的操作2.80486微处理器80486微处理器的内部结构、新增寄存器名称及用途、存储器组织以及输入/输出结构。实地址模式、保护模式和虚拟8086模式的特点及其相互转换,时钟周期、总线周期和指令周期的概念以及总线操作时序。80486CPU存储器的名称及功能见表2.2。3.Pentium微处理器Pentium微处理器的超标量流水线、独立指令Cache和数据Cache、浮点部件和分支转移动态预测等部件的特点,存储器组织以及输入/输出结构。5表2.280486寄存器及其功能分类类别名称缩写位数功能程序可见程序不可见基本寄存器通用寄存器累加器EAX32无均可以作为8位、16位和32位寄存器使用。基址寄存器EBX32无计数寄存器ECX32无数据寄存器EDX32无堆栈指针ESP32无可作为16位和32位寄存器使用,用来指示堆栈栈顶的偏移地址基址指针EBP32无可作为16位和32位寄存器使用,用来存放位于堆栈段中的1个数据区的“基址”的偏移地址源变址指针ESI32无可作为16位和32位寄存器使用,在串操作指令中,用来存放源操作数的偏移地址目的变址指针EDI32无可作为16位和32位寄存器使用,在串操作指令中,用来存放目标操作数的偏移地址段寄存器代码段寄存器CS1664程序可见部分在实地址模式下,存放段基址,在保护模式下,存放选择符。程序不可见部分只有在保护模式下有效。CS用来存放当前使用的代码段的段基址DS用来存放当前使用的数据段的段基址SS用来存放当前使用的堆栈段的段基址ES、FS和GS用来存放当前使用的附加数据段的段基址数据段寄存器DS1664堆栈段寄存器SS1664附加段寄存器ES1664FS1664GS1664控制寄存器指令指针EIP32无可作为16位和32位寄存器使用,存放BIU将要取的下一条指令代码的偏移地址。标志寄存器EFR32无在8086的基础上,增加了5位系统标志位,用于控制系统或执行某种操作。系统寄存器系统地址寄存器全局描述符表寄存器GDTR48无用于存放全局描述表的32位基地址和16位段限值局部描述符表寄存器LDTR1664用于保存局部描述符表的32位基地址、16位段限值和16位访问权限中断描述符表寄存器IDTR48无用于存放中断描述符表的32位基地址和16位段限值任务寄存器TR1664用于存放任务状态段的32位基地址、16位段限值和16位访问权限控制寄存器模式控制与状态控制寄存器CR032无用于系统操作模式控制和系统状态控制控制寄存器CR132无为与后续的IntelCPU兼容而保留页故障线性地址寄存器CR232无存放页故障的线性地址页目录寄存器CR332无微处理器提供当前任务的页目录表地址调试与测试寄存器调试寄存器断点地址寄存器DR032无存放断点0的线性地址断点地址寄存器DR132无存放断点1的线性地址断点地址寄存器DR232无存放断点2的线性地址断点地址寄存器DR332无存放断点3的线性地址调试寄存器DR432无保留未用调试寄存器DR532无保留未用断点状态寄存器DR632无说明是哪一种性质的断点及断点异常是否发生断点控制寄存器DR732无指明断点发生的条件及断点的类型测试寄存器Cache数据测试寄存器TR332无用作Cache数据读/写缓冲器Cache状态测试寄存器TR432无包含Cache测试期间标志位和有效位的信息Cache控制测试寄存器TR532无说明可测试性操作、置位和入口的选择TLB控制测试寄存器TR632无包含对TLB进行测试的标志信息和控制信息TLB状态测试寄存器TR732无包含TLB测试期间数据块的存取信息浮点寄存器数据寄存器R7~R080无相当于20个32位的寄存器,用于堆栈操作标志寄存器FPTW16无指示8个数据寄存器的特征,每两位代表1个数据寄存器控制寄存器FPCW16无用于浮点运算部件操作控制的选择状态寄存器FPSW16无指示浮点运算部件的状态指令指针IP48无用于指令错误的处理数据指针DP48无用于数据错误的处理62.2习题解答2.1简述8086和80486CPU内部结构由那些部件组成,并阐明它们结构上的异同。答:(1)参见P26~28,2.1.1Intel8086微处理器内部结构;(2)参见P38~41,2.2.1Intel80486微处理器内部结构。2.28086微处理器和80486微处理器中的寄存器是如何分类的,它们的主要功能是什么?答:(1)参见P28~29,2.1.2Intel8086微处理器寄存器结构;(2)参见P41~47,2.2.2Intel80486微处理器寄存器结构。2.3EFR寄存器包含哪些标志位?说明各主要标志位的作用。答:参见P42~43,(3)标志寄存器EFR2.4说明80486微处理器中控制寄存器、系统地址寄存器的作用和各自的功能。答:参见P44~46,2.系统寄存器。2.5存储器为什么要分段?在实地址方式下存储器如何分段?答:8086CPU有20条地址线,可直接寻址1M字节的存储空间,而寄存器均为16位,可寻址216=64K的存储空间,不能直接寻址1M的存储空间,为此采用分段结构,由16位段寄存器提供段基址,由不同的寻址方式或寄存器提供16位偏移地址,共同组成20位的物理地址,寻址1M的存储空间。在实地址方式下,将1M字节的存储器划分为4段,即代码段、数据段、堆栈段和附加段。每段包含若干个216个字节(即64K字节单元),并且每个段的首地址是1个可以被16整除的数(即段的起始地址的最低4位为0)。在任意时刻,程序能够很方便地访问4个分段的内容。2.6什么是逻辑地址?什么是物理地址?在实模式下,如何求存储器的物理地址?设一个16字的数据存储区,它的起始地址为70A0H:DDF6H.。写出这个数据区的首字单元和末字单元的物理地址。答:(1)逻辑地址由段基址(存放在段寄存器中)和偏移地址(由寻址方式提供)两部分构成,它们都是无符号的16位二进制数。逻辑地址是用户进行程序设计时采用的地址。(2)物理地址是1M内存空间中每个存储单元惟一的地址,由20位二进制数构成。物理地址是CPU访问内存时使用的地址。当用户通过编制程序将16位逻辑地址送入CPU的总线接口部件BIU时,地址加法器通过地址运算变换为20位的物理地址。(3)20位物理地址的计算公式为:物理地址=段基址×16+偏移地址(4)解题思路:按照物理地址的计算公式,计算首字单元的物理地址。在计算末字单元的物理地址时,注意16个字为32个字节,占用32个(即20H个)存储单元。7首字单元的物理地址=70A0H×16+DDF6H=7E7F6H末字单元的物理地址=7E7F6H+20H-2=7E816H-2=7E814H占用存储器单元的情况如图2.1所示。2.780486微处理器有哪3种工作方式?简述没种工作方式的特点和区别。答:参见P53~54,2.3Intel80486微处理的工作模式。2.8堆栈的数据结构特点是什么?计算机中为什么要设置堆栈?答:(1)堆栈是CPU内存中一个特定的存储区。堆栈的数据结构特点是“先进后出”,即最后进入堆栈的数据最先从堆栈中弹出。(2)CPU在处理数据的过程中,有一些中间数据需要进行暂存,同时CPU在调用子程序和进行中断响应的过程中,现场和断点都需要进行保护,为此计算机中设置了一定容量的堆栈。2.9简述时钟周期、总线周期和指令周期之间的关系。答:参见P55,3.时钟周期、总线周期和指令周期。2.10什么叫突发传送和非突发传送?80486微处理器的最快非突发单总线周期传送由几个时钟周期组成?答:(1)由BRDY信号结束的传送周期,称为突发周期传送。由RDY信号结束的传送周期,称为非突发周期传送。(2)80486微处理器的最快非突发单总线周期传送由2个时钟周期组成。2.11简述80486CPU芯片引脚ADS、RDY、BRDY、BLAST、KEN、PCHK的功能。物理地址逻辑地址存储器70A0H:DDF6H70A0H:DE14H┇7E7F6H7E7F8H7E7FAH7E814H图2.1题2.6图70A0H:DE16H7E816H第1个字第2个字第3个字第16个字第17个字8答:参见P48~52,2.2.3Intel80486微处理器引脚信号及其功能。2.1280486微处理器的实地址工作模式的物理地址空间是多大?保护模式的物理地址空间是多大?保护模式虚拟地址空间是多大?答:解题思路:实地址工作模式的物理地址空间为1MB;保护模式的物理地址空间为4GB,程序可用的虚拟存储空间为64TB;在保护模式下,通过使用分页功能,可以把虚拟8086模式下的1MB地址空间映射到80486微处理器的4GB物理空间中的任何位置。2.13如果在数据写总线周期的字节允许信号代码BE3BE2BE1BE0等于1110B时,所发生的是字节、字还是双字数据传送?答:解题思路:由P53表2.9可知,当BE3BE2BE1BE0等于1110B即只有BE0为低电平有效,所以,当BE3BE2BE1BE0等于1110B时,是字节数据传送。2.14总线状态码M/IOD/CW/R等于010时,将进行哪种总线周期?答:解题思路:由题意可知M/IO=0,表明是对I/O端口操作。D/C=1,表明是对数据信号进行操作,W/R=0,表明是读操作,所以,当总线状态码M/IOD/CW/R等于010时,是对I/O端口进行读数据操作。

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

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

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

×
保存成功