微机原理期末复习

微机原理期末复习

ID:15988846

大小:214.50 KB

页数:10页

时间:2018-08-07

上传者:U-4651
微机原理期末复习_第1页
微机原理期末复习_第2页
微机原理期末复习_第3页
微机原理期末复习_第4页
微机原理期末复习_第5页
资源描述:

《微机原理期末复习》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、微机结构:由微处理器、存储器、输入输出接口电路组成,由系统总线连接。2、接口:介于计算机和外部设备之间的电路称为输入输出接口电路。3、总线:总线是一组公共的信号传输线,用于连接计算机各个部件。位于芯片内部的总线称为内部总线;连接微处理器与存储器、输入输出接口,用以构成完整的微型计算机的总线称为系统总线(有时也称外部总线),可分为:数据总线:用于传送数据信息,数据总线是双向总线。地址总线:用于发送内存地址和I/O接口的地址。控制总线:传送各种控制信号和状态信号,使微型计算机各部件协调工作。4、微处理器内部结构:指令执行部件EU总线接口部件BIU5、物理地址:访问存储器的实际地址称为物理地址,用20位二进制表示。物理地址的位数由地址总线的位数决定,物理地址的位数决定了该计算机能够连接的存储器的数量:例如:16根地址线最多能连接2^16=64KB内存储器;20根地址线最多能连接2^20=1MB内存储器(8086系统的物理空间地址)。5、逻辑地址:EU送来的存储器地址称为逻辑地址,由16位“段基址”和16位“偏移地址”(段内地址)组成。段基址表示一个段的起始地址的高16位。偏移地址表示段内的一个单元距离段开始位置的距离。因此,偏移地址也称为段内地址。例如,2345H∶1100H表示:段基址为2345H(这个段的起始地址是23450H),段内偏移地址为1100H的存储单元地址。 6、8088/8086的寄存器组有8个通用寄存器4个段寄存器1个标志寄存器1个指令指针寄存器,数据寄存器:AX:累加器BX:基址寄存器CX:计数寄存器DX:数据寄存器变址寄存器:SI:源地址寄存器DI:目的地址寄存器指针寄存器:SP:堆栈指针寄存器,指示堆栈段栈顶的位置(偏移地址)BP:基址指针寄存器,表示数据在堆栈段中的基地址IP:指令指针寄存器,指示主存储器指令的位置标志寄存器状态标志位:(1)ZF零标志位。(2)SF符号标志位。(3)PF奇偶标志位。(4)AF辅助进位标志位。(5)CF进位标志位。(6)OF溢出标志位。控制标志位:(1)IF中断允许标志位(2)DF方向标志位。(3)TF单步标志位。7、堆栈:堆栈是主存中一个特殊的区域,采用“先进后出”或“后进先出”存取操作方式、而不是随机存取方式。用8088/8086形成的微机系统中,堆栈区域被称为堆栈段。8、最小工作模式:系统中只有一个8086/8088处理器;所有的总线控制信号都由8086/8088CPU直接产生;构成系统所需的总线控制逻辑部件最少。最大工作模式:系统内可以有一个以上的处理器,除了8086/8088作为“中央处理器”之外,还可以配置用于数值计算的8087“数值协处理器”和用于I/O管理的“I/O协处理器”8089;各个处理器发往总线的命令统一送往“总线控制器”,由它“仲裁”后发出。CPU两种工作模式由引脚决定,接高电平,CPU工作在最小模式;将接地,CPU工作在最大模式。9、(1)M/IO存储器或I/O端口访问选择信号,三态输出。(2)Read读信号。三态输出,低电平有效,表示当前CPU正在读存储器或I/O端口。(3)Write写信号。三态输出,低电平有效,表示当前CPU正在写存储器或I/O端口。(4)RESET复位信号。由外部输入,高电平有效。通常由计算机机箱上的复位按钮产生;至少要保持4个时钟周期才有效。(5)INTR可屏蔽中断请求信号,由外部输入,电平触发,高电平有效。中断允许标志IF=1时才能响应INTR上的中断请求。INTR引脚用于连接一般外部设备的中断请求。10、时钟周期:系统主时钟一个周期信号所持续的时间称为时钟周期(T),大小等于频率的倒数,是CPU的基本时间计量单位。指令周期:CPU执行一条指令的时间(包括取指令和执行该指令所需的全部时间)称为指令周期。一个指令周期由若干个总线周期组成。不同指令的指令周期长度各不相同。11、CPU与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看内部:⑴数据寄存器:输入数据寄存器:保存外设给CPU的数据;输出数据寄存器:保存CPU给外设的数据。⑵状态寄存器:保存外设或接口电路的状态。⑶控制寄存器:保存CPU给外设或接口电路的命令12、输入指令(IN:将外设数据传送给CPU内的AL/AX)INAL,21;字节输入INAL,DX;字节输入INAX,21;字输入INAX,DX;字输入输出指令(OUT:将CPU内的AL/AX数据传送给外设)OUT21,AL;字节输出 OUTDX,AL;字节输出OUT21,AX;字输出OUTDX,AX;字输出13、数据传送方式:(1)程序控制下的数据传送:无条件传送;查询传送;中断传送。(2)直接存储器存取(DMA)(3)I/O处理机14、汇编语言程序中通常包括数据段、堆栈段和代码段复习题:1、8086CPU由哪几个部件构成?它们的主要功能各是什么?8086CPU由指令执行部件EU和总线接口部件BIU两个部份组成。指令执行部件主要功能是执行指令。总线接口部件的主要功能是完成访问存储器或I/O端口的操作:1)形成访问存储器的物理地址;2)访问存储器取得指令并暂存到指令队列中等待执行;3)访问存储器或I/O端口以读取操作数参与EU运算,或存放运算结果。2、什么是逻辑地址?什么是物理地址?它们各自如何表示?如何转换?程序中使用的存储器地址称为逻辑地址,由16位“段基址”和16位“偏移地址”(段内地址)组成。段基址表示一个段的起始地址的高16位。偏移地址表示段内的一个单元距离段开始位置的距离。访问存储器的实际地址称为物理地址,用20位二进制表示。将两个16位二进制表示的逻辑地址错位相加,可以得到20位的物理地址:物理地址=段基址×16+偏移地址3、什么是“堆栈”?它有什么用处?在使用上有什么特点?堆栈是内存中的一块存储区,用来存放专用数据。例如,调用子程序时的入口参数、返回地址等,这些数据都按照“先进后出”的规则进行存取。SS存放堆栈段的段基址,SP存放当前堆栈栈顶的偏移地址。数据进出堆栈要使用专门的堆栈操作指令,SP的值在执行堆栈操作指令时根据规则自动地进行修改。4、按照传输方向和电气特性划分,CPU引脚信号有几种类型?各适用于什么场合?CPU引脚传输的信号按照传输方向划分,有以下几种类型:1)输出:信号从CPU向外部传送;2)输入:信号从外部送入CPU;输入信号主要用于传输外部的状态信号(例如READY)和请求(中断、DMA)信号。3)双向:信号有时从外部送入CPU,有时从CPU向外部传送。双向信号主要用于数据信号的传输;输出信号用于传输地址信号和一些控制信号;按照信号的电器特性划分,有以下几种类型:1)一般信号:用来传输数据/地址信号时,高电平表示“1”,低电平表示“0”;用来表示正逻辑的控制/状态信号时,“1”表示有效,“0”表示信号无效;用来表示负逻辑的控制/状态信号时,“0”表示有效,“1”表示信号无效。2)三态信号:除了高电平、低电平两种状态之外,CPU内部还可以通过一个大的电阻阻断内外信号的传送,CPU内部的状态与外部相互隔离,也称为“悬浮态”。CPU放弃总线控制权,允许其他设备使用总线时,将相关信号置为“悬浮态”。5、什么是时钟周期、指令周期?它们的时间长短取决于哪些因素?时钟周期:CPU连接的系统主时钟CLK一个周期的时间。CLK信号频率越高,时钟周期越短。指令周期: CPU执行一条指令的时间(包括取指令和执行该指令所需的全部时间)称为指令周期。指令周期的时间主要取决于主时钟的频率和指令的复杂程度,它也受到存储器或IO设备接口工作速度的影响。6、接口电路与外部设备之间传送的信号有哪几种?传输方向怎样?1)数据信号:对于输入设备,数据信号从外设通过接口送往总线,对于输出设备,数据信号从总线通过接口发往外部设备。2)状态信号:状态信号表明外部设备当前的工作状态,用来协调CPU与外部设备之间的操作。状态信号总是从外部设备通过接口发往总线。3)控制信号:控制信号是CPU向外设发出的命令,它指定设备的工作方式,启动或停止设备。控制信号从CPU通过接口发往外部设备7、I/O端口的编址有哪几种方法?各有什么利弊?80X86系列CPU采用哪种方法?I/O端口的编址有两种不同的方式:1)I/O端口与内存统一编址:把内存的一部分地址分配给I/O端口,一个8位端口占用一个内存单元地址。已经用于I/O端口的地址,存储器不能再使用。I/O端口与内存统一编址后,访问内存储器单元和I/O端口使用相同的指令,这有助于降低CPU电路的复杂性,并给使用者提供方便。但是,I/O端口占用内存地址,相对减少了内存可用范围。而且,由于难以区分访问内存和I/O的指令,降低了程序的可读性和可维护性。2)I/O端口与内存独立编址:这种编址方法中,内存储器和I/O端口各自有自己独立的地址空间。访问I/O端口需要专门的I/O指令。80x86CPU采用I/O端口独立编址方式。8、按照传输信号的种类,I/O端口有几种?它们信号的传输方向怎样?按照传输信号的种类,I/O端口有三种:1)数据端口:数据信息从端口输入CPU(输入设备接口),或者从CPU写入端口(输出设备接口);2)状态端口:外设状态信息从端口输入CPU;3)控制端口:命令信息从CPU写入端口。9、外部设备数据传送有哪几种控制方式?从外部设备的角度,比较不同方式对外部设备的响应速度。外部设备数据传送有以下四种控制方式。1)直接传送方式(也称为无条件传送方式、同步传送方式):这种情况下,外部端口完全被动地等待CPU的访问,没有确定的响应速度,响应时间取决于CPU忙碌的程度以及程序对外部设备控制采取的策略。2)查询方式:如果CPU在某一时刻只对一个外设采用查询方式进行数据传输,CPU的响应延迟约为3~10个指令周期。响应速度快于中断方式,慢于DMA方式。3)中断方式:CPU的响应延迟平均为几十个指令周期,慢于查询方式,但是这种方式可以同时管理多个外部设备。4)DMA方式:外部端口的传输请求由DMA控制器响应,由于DMAC是一个专用于传输控制的电路,任务单一,不发生DMA传输竞争时,响应延迟仅为1~2个DMAC使用的时钟周期,远快于中断方式和查询方式。10、什么是DMA传输?DMA传输有什么优点?为什么? 所谓直接存储器传送(DMA)是指将外设的数据不经过CPU直接送入内存储器,或者,从内存储器不经过CPU直接送往外部设备。使用DMA传输之后,每个数据的传输过程不需要CPU参与,在DMA控制器的控制下,在一个DMA总线周期里完成数据在外部接口和存储单元之间的直接传输。所以使用DMA传输既可以减轻CPU的负担,又可以缩短系统对外部设备的响应时间,提高数据传输速率11、比较程序中断方式和查询方式的区别,根据比较,指出中断工作方式的优缺点。中断方式:外部设备工作完成后,通过“中断请求”信号“主动”向CPU“报告”。查询方式:外部设备工作完成后,状态信号储存在接口电路内,被动地等待CPU来读取。根据上述比较,可以得到中断工作方式的如下特点:优点:CPU能够及时了解外部设备的状态,从而对外部设备IO请求进行及时处理。由于CPU“被动”地等待外部设备的“中断请求”,外部设备进行输入/输出操作时,CPU可以同时执行其他的程序,CPU和外部设备“并行”工作。由于同样的原因,在中断方式下,CPU可以同时管理多台外部设备,CPU的效率得到提高。缺点:用中断方式需要CPU增加相应的管理逻辑,增加了CPU电路的复杂性。由于CPU“被动”地接收“中断请求”信号,CPU必须通过与外部的一个联络过程才能知道是那一个设备在申请中断,这增加了响应时间。为了从当前任务转移到中断服务,CPU必须保护原有的运行环境,进行“任务”的“切换”,这也会增加响应时间。有较多的设备使用中断方式时,会产生“中断申请”的“竞争”。这一方面降低了响应速度,另一方面增加了管理的复杂性。12、比较DMA方式和程序中断方式的区别,根据比较,指出DMA工作方式的优缺点。中断方式:外部设备每进行一个数据的输入/输出,都要通过“中断申请”要求CPU进行处理。CPU通过执行一段“中断服务程序”完成数据的传输。DMA方式:CPU通过对DMAC的初始化,启动一个数据块的传输操作。之后的数据传输通过信号的联络,在外设接口和存储器之间进行,CPU只需简单地让出总线,而无需其他操作。根据上述比较,可以得到DMA工作方式的如下特点:优点:对于CPU而言,它的任务仅仅是在一个数据块传输之前对DMAC进行初始化,CPU用于传输控制的操作达到最小(不考虑与通道/IO处理器方式的比较),CPU的效率最高。CPU与外设“并行”工作。外部设备一个数据输入/输出完成后,向DMAC申请进行数据传输,响应时间仅为DMAC的1~3个时钟周期。响应速度达到最快,可以满足高速传输的需要。缺点:实现DMA控制需要增加DMA控制器和总线控制逻辑,增加了系统的复杂性。DMA传输需要占用总线,并且具有较高的“优先级”。这使得系统对其他设备的响应速度不能得到明确的保证。13、什么叫中断?有哪几种不同类型的中断?由于某个事件的发生,CPU暂停当前正在执行的程序,转而执行处理该事件的一个程序。该程序执行完成后,CPU接着执行被暂停的程序。这个过程称为中断。根据中断源的位置,有两种类型的中断。有的中断源在CPU的内部,称为内部中断。大多数的中断源在CPU的外部,称为外部中断。根据中断引脚的不同,或者CPU响应中断的不同条件,也可以把中断划分为可屏蔽中断和不可屏蔽中断两种。14、什么是中断类型?它有什么用处?什么是中断向量? 用若干位二进制表示的中断源的编号,称为中断类型。中断类型用来区分不同的中断,使CPU能够在中断响应时调出对应的中断服务程序进行中断处理。中断服务程序的入口地址称为中断向量。15、判断下列指令是否正确。若不正确,指出错误原因(1)MOVAX,[EBX](2)MOVSI,DL(3)MOVEBP,[ESP][EAX*3](4)LEAAX,3006H(5)MOV[BP][DI],0(6)MOV[SI],[DI](7)MOVES,1000H(8)MOVAX,X+2(9)MOVAX,CX+2(10)MOV[EAX][EAX*2],AL答:(1)指令MOVAX,[EBX]是正确的。(2)指令MOVSI,DL是错误的,两个操作数类型不匹配。(3)指令MOVEBP,[ESP][EAX*3]是错误的,比例因子不能为3。(4)指令LEAAX,3006H是错误的,LEA指令的源操作数必须为内存操作数。(5)指令MOV[BP][DI],0是错误的,操作数类型无法确定。(6)指令MOV[SI],[DI]是错误的,不能同时出现两个内存操作数。(7)指令MOVES,1000H是错误的,装载段寄存器时,源操作数不能为立即数。(8)如果“X”是用常数表达式定义的符号(例如:XEQU5+6),或者是用“DW”定义的内存变量,指令MOVAX,X+2是正确的。否则这条指令是错误的。(9)指令MOVAX,CX+2是错误的,源操作数表达式CX+2不是一个可以直接计算的“常数表达式”。(10)指令MOV[EAX][EAX*2],AL是正确的。16、现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21203H)=65H,说明下列指令执行后AX寄存器的内容。(1)MOVAX,1200H(2)MOVAX,BX(3)MOVAX,[1200H](4)MOVAX,[BX](5)MOVAX,1100H[BX](6)MOVAX,[BX][SI](7)MOVAX,1100H[BX][SI]答:(1)指令MOVAX,1200H执行后,(AX)=1200H(立即数操作数)。(2)指令MOVAX,BX执行后,(AX)=0100H(寄存器操作数)。(3)指令MOVAX,[1200H]执行后,(AX)=4C2AH(直接地址,EA=1200H)(4)指令MOVAX,[BX]执行后,(AX)=3412H(寄存器间接寻址,EA=0100H)(5)指令MOVAX,1100H[BX]执行后,(AX)=4C2AH(相对地址,EA=1200H)(6)指令MOVAX,[BX][SI]执行后,(AX)=7856H(基址变址寻址,EA=0102H)(7)指令MOVAX,1100H[BX][SI]执行后,(AX)=65B7H(相对基址变址寻址,EA=1202H)17、写出执行以下计算的指令序列,其中各变量均为16位有符号数。Z←W+(Z-X)Z←W-(X+6)-(R+9) Z←(W*X)/(Y+6),R←余数Z←(W-X)/(5*Y)*2解:(1)MOVAX,W  MOVBX,Z  SUBBX,X  ADDAX,BX  MOVZ,AX(2)MOVAX,W  MOVBX,X  ADDBX,6  SUBAX,BX  MOVBX,R  ADDBX,9  SUBAX,BX  MOVZ,AX(3)MOVAX,W  IMULX  MOVBX,Y  ADDBX,9  IDIVBX  MOVZ,AX  MOVR,DX(4)MOVAX,Y  MOVBX,5  IMULBX  MOVBX,AX  MOVAX,W  SUBAX,X  MOVCX,2  IMULCX  IDIVBX  MOVZ,AX18、一个双字长有符号数存放在DX(高位)AX(低位)中,写出求该数相反数的指令序列。结果仍存入DX,AX寄存器解:NOTDX;首先将(DX,AX)取反  NOTAX  ADDAX,1;最低位加1,注意:不能用INC指令  ADCDX,0;把进位(如果有)传递到高位19、编写循环结构程序,进行下列计算,结果存入RESULT内存单元 1+2+3+4+5+6+……+100 1+3+5+7+9+11+……+99 2+4+6+8+10+……+100 1+4+7+10+13+……+100 11+22+33+44+……+99 解:(1)CODESEGMENT  ASSUMECS:CODE  RESULTDW?  START:XORAX,AX  MOVCX,100  AGAIN:ADDAX,CX  LOOPAGAIN  MOVRESULT,AX  MOVAX,4C00H  INT21H  CODEENDS  ENDSTART  (2)CODESEGMENT  ASSUMECS:CODE  RESULTDW?  START:  XORAX,AX  MOVCX,50  MOVBX,1  AGAIN:ADDAX,BX  ADDBX,2  LOOPAGAIN  MOVRESULT,AX  MOVAX,4C00H  INT21H  CODEENDS  ENDSTART  (3)CODESEGMENT  ASSUMECS:CODE  RESULTDW?  START:  XORAX,AX  MOVCX,50  MOVBX,2  AGAIN:ADDAX,BX  ADDBX,2  LOOPAGAIN  MOVRESULT,AX  MOVAX,4C00H  INT21H  CODEENDS  ENDSTART  (4)CODESEGMENT  ASSUMECS:CODE   RESULTDW?  START:  XORAX,AX  MOVCX,34  MOVBX,1  AGAIN:ADDAX,BX  ADDBX,3  LOOPAGAIN  MOVRESULT,AX  MOVAX,4C00H  INT21H  CODEENDS  ENDSTART  (5)CODESEGMENT  ASSUMECS:CODE  RESULTDW?  START:  XORAX,AX  MOVCX,9  MOVBX,11  AGAIN:ADDAX,BX  ADDBX,11  LOOPAGAIN  MOVRESULT,AX  MOVAX,4C00H  INT21H  CODEENDS  ENDSTART19、阅读以下程序,指出它的功能。  MOVCL,04  SHLDX,CL  MOVBL,AH  SHLAX,CL  SHRBL,CL  ORDL,BL答:把32位二进制代码(DX,AX)联合左移4位。20、编写指令序列,将AX和BX中较大的绝对值存入AX,较小的绝对值存入BX。答:ANDAX,AX JGESKIP1 NEGAXSKIP1:ANDBX,BX JGESKIP2 NEGBXSKIP2:CMPAX,BX  JGESKIP3 XCHGAX,BXSKIP3:……编写指令序列,比较AX、BX中的数的绝对值,绝对值较大的数存入AX,绝对值较小的数存入BX。答:PUSHAXPUSHBXANDAX,AX JGESKIP1 NEGAXSKIP1:ANDBX,BX JGESKIP2 NEGBXSKIP2:CMPAX,BX POPBX POPAX JGESKIP3 XCHGAX,BXSKIP3:……21、外部设备为什么要通过I/O接口才能与CPU相连I/O接口有哪些主要功能?答:接口是CPU与外围设备之间的数据通道,人们使用计算机就必须和计算机进行信息交流,而这种交流就是通过外设实现的。I/O接口主要功能:1)信息传输功能,并提供处理器和I/O设备的缓冲、暂存功能2)通过地址译码来进行设备选择3)数据格式转换4)可编程功能5)联络和控制功能6)中断管理功能7)复位功能8)错误检测功能22、中断向量表是一个特殊的线性表,它保存着系统所有中断服务程序的入口地址。在80X86微机系统中,该表保存的256个中断向量分别对应于256种中断类型,每个表项占4个字节,其中两个字节存放中断处理程序的段地址,另两个字节存放中断处理程序的段内偏移量,所以中断向量表为1K字节,它起止于存储器中地址0000H~3FFH处,如图所示。各个中断处理程序的入口地址在中断向量表中是按中断类型号顺序存放的,因此将中断类型号乘以4就得到对应中断向量的地址。例如,溢出中断的中断类型号为04H,则它的中断向量的地址为04H×4=10H,内存地址从10H开始的4个字节中,10H和11H两字节中存放溢出中断程序的偏移地址,12H和13H两字节中存放溢出中断程序的段地址,在发生溢出中断时,将这个偏移地址和段地址分别取出送给寄存器IP和CS,CPU即转向溢出中断处理程序。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭