微机原理与接口技术44496.docx
- 文档编号:29180143
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:52
- 大小:243.43KB
微机原理与接口技术44496.docx
《微机原理与接口技术44496.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术44496.docx(52页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术44496
第一章
1.微处理器和微型计算机的发展经历了哪些阶段?
各典型芯片具备哪些特点?
【解答】经历了6代演变,各典型芯片的特点如表1-1所示。
表1微处理器的发展及典型芯片的特点
发展时代
类别
典型芯片及性能特点
第一代
(1971~1973年)
4、8位低档微处理器
Intel4004集成2300多个晶体管,主频108KHz,寻址640Byte,指令系统简单;Intel8008采用PMOS工艺,集成3500晶体管,基本指令48条,主频500KHz。
第二代
(1974~1977年)
8位中高档微处理器
Intel8080采用NMOS工艺,集成6000晶体管,主频2MHz,指令系统较完善,寻址能力增强,运算速度提高了一个数量级。
第三代
(1978~1984年)
16位
微处理器
Intel8086采用HMOS工艺,集成29000晶体管,主频5MHz/8MHz/10MHz,寻址1MB。
Intel80286集成度达到13.4万晶体管,主频20MHz。
第四代
(1985~1992年)
32位
微处理器
Intel80386集成27.5万个晶体管,主频33MHz,4GB物理寻址。
有分段存储和分页存储部件,可管理64TB虚拟存储空间。
Intel80486集成120万个晶体管,包含浮点运算部件和8KB的一级高速缓冲存储器Cache。
第五代
(1993~1999年)
超级32位
微处理器
IntelPentium、PentiumPro、PentiumMMX、PentiumII、PentiumIII、Pentium4微处理器等,采用新式处理器结构,数据加密、视频压缩和对等网络等方面性能有较大幅度提高。
第六代
(2000年以后)
64位
微处理器
由Intel公司与HP公司联手开发的Merced采用全新的IA-64结构设计,是一种采用长指令字、指令预测、分支消除、推理装入和其他一些先进技术的全新结构微处理器。
2.数制之间的转换问题,如十进制25.625转换为二进制等
(1)十进制到二进制:
整数部分连续除以2后“倒取余”,小数部分连续乘以2后“正取整”;
(2)二进制到十进制:
将二进制数按权展开即可。
(3)二进制到八进制:
将3位二进制一组对应1位八进制数码。
(4)八进制到二进制:
将1位八进制数码对应3位二进制数码。
(5)十六进制与二进制间转换与八进制与二进制间转换类似,只是比例关系为1位十六进制数码对应4位二进制数码。
3.名词解释:
位:
在计算机中,数据的最小单位是位,位是指一位二进制数,英文名称是bit。
字节:
8个二进制位构成1个字节(B),1个字节可以储存1个英文字母或半个汉字。
字节是存储空间的基本计量单位,计算机的内存和磁盘的容量都是以字节表示的。
字:
不同计算机系统中字长的整数倍.
字长:
电脑技术中对CPU在单位时间内(同一时间)能一次处理的二进制数的位数叫字长。
4.什么是微型计算机的系统总线?
说明数据总线、地址总线、控制总线各自的作用。
【解答】系统总线是CPU与其它部件之间传送数据、地址和控制信息的公共通道。
(1)数据总线(DB):
用来传送数据,主要实现CPU与内存储器或I/O设备之间、内存储器与I/O设备或外存储器之间的数据传送。
16位机有16条数据总线,32位机有32条。
数据总线是双向的。
(2)地址总线(AB):
用来传送地址。
主要实现从CPU送地址至内存储器和I/O设备,或从外存储器传送地址至内存储器等。
地址总线的多少决定了系统直接寻址存储器的范围,如8086的地址总线有20条,可以寻找从00000H-FFFFFH共220=1M个存储单元,可以寻址64K个外设端口。
地址总线是单向的。
(3)控制总线(CB):
用于传送控制信号、时序信号和状态信息等。
5.微机即微型计算机,微处理器即微型计算机中央处理器,微机系统即微型计算机系统包含软件和硬件配置,他们的关系是:
微处理器是构成计算机的部件之一,微型计算机是由微处理器、存储器、接口等组成,微机系统是以微型计算机的硬件和软件为中心构成的一个比较大的应用系统。
6.关于源码、补码、反码之间的转换运算,一定要仔细的看课本第十页的例题5、6、7以及第十一页的表1.4,否则你会后悔的。
7.写出下列带符号十进制数的原码、反码、补码表示(采用8位二进制数)。
(1)+64
(2)+64(3)+127(4)-128
(5)+1000000B(6)-0010101B
答案略:
这么简单的题就不要答案了。
第二章
8.8086CPU具有20条地址线,可直接寻址(220=)1MB容量的内存空间,在访问I/O端口时,如果使用地址线16条,最多可寻址(216=)64K个I/O端口。
9.8086CPU的数据外总线宽度为16位,指令缓冲器为6个字节,选通存储器或I/O接口的信号是
;8088CPU的数据外总线宽度为8位,指令缓冲器为4个字节,选通存储器或I/O接口的信号是
。
10.8086CPU的内部结构有何特点?
由哪两部分组成?
它们的主要功能是什么?
【解答】8086微处理器是典型的16位微处理器,HMOS工艺制造,集成了2.9万只晶体管,使用单一的+5V电源,有16根数据线和20根地址线;通过其16位的内部数据通路与设置指令预取队列的流水线结构结合起来而获得较高的性能。
8086微处理器内部安排了两个逻辑单元,即执行部件EU和总线接口部件BIU。
EU主要负责指令译码、执行和数据运算,包括计算有效地址;BIU主要完成计算物理地址、从内存中取指令、实现指令规定的读/写存储器或外部设备等信息传输类操作。
11.8086CPU内部寄存器有哪几种?
各自的特点和作用是什么?
【解答】CPU有14个内部寄存器,可分为3大类:
通用寄存器、控制寄存器和段寄存器。
通用寄存器是一种面向寄存器的体系结构,操作数可以直接存放在这些寄存器中,既可减少访问存储器的次数,又可缩短程序的长度,提高了数据处理速度,占用内存空间少。
控制寄存器包括指令指针寄存器IP和标志寄存器FLAG:
IP用来指示当前指令在代码段的偏移位置;FLAG用于反映指令执行结果或控制指令执行的形式。
为了实现寻址1MB存储器空间,8086CPU将1MB的存储空间分成若干个逻辑段进行管理,4个16位的段寄存器来存放每一个逻辑段的段起始地址。
12.8086的标志寄存器分为6个状态标志位和3个控制标志位,它们各自的含义和作用是什么?
【解答】标志寄存器各标志位的含义和作用如下表:
标志位
含义
作用
CF
进位标志
CF=1,指令执行结果在最高位上产生一个进位或借位;CF=0,则无进位或借位产生
PF
奇偶标志
PF=1,结果低8位含偶数个1;PF=0,表示结果低8位含奇数个1
AF
辅助进位标志
AF=1,运算结果的低4位产生了一个进位或借位;AF=0,则无此进位或借位
ZF
零标志
ZF=1,运算结果为零;ZF=0,则运算结果不为零
SF
符号标志
SF=1,运算结果为负数;SF=0,则结果为正数
OF
溢出标志
OF=1,带符号数在进行运算时产生了溢出;OF=0,则无溢出
TF
陷阱标志
TF=1,8086CPU处于单步工作方式;TF=0,8086CPU正常执行程序
IF
中断允许标志
IF=1,允许CPU接受外部从INTR引脚上发来的可屏蔽中断请求信号;IF=0,则禁止接受可屏蔽中断请求
DF
方向标志
DF=1,字符串操作指令按递减的顺序对字符串进行处理;DF=0,字符串操作指令按递增的顺序进行处理
13.解释逻辑地址、偏移地址、有效地址、物理地址的含义,8086存储器的物理地址是如何形成的?
怎样进行计算?
【解答】逻辑地址:
表示为段地址:
偏移地址书写程序时用到,一个存储单元可对应多个逻辑地址;
偏移地址:
是某一存储单元距离所在逻辑段的开始地址的字节个数。
有效地址:
是指令中计算出的要访问的存储单元的偏移地址。
物理地址:
是CPU访问存储器时用到的20位地址,是存储单元的唯一的编号。
物理地址计算公式:
物理地址=段地址×10H+有效地址(或偏移地址)
14.已知堆栈段寄存器(SS)=2400H,堆栈指针(SP)=1200H,计算该堆栈栈顶的实际地址,并画出堆栈示意图。
2400:
1200
【解答】(SS)=2400H,(SP)=1200H
;PA=(SS)×10H+(SP)=2400H×10H+1200H=25200H。
15.什么是总线周期?
8086CPU的读/写总线周期各包含多少个时钟周期?
什么情况下需要插入等待周期TW,什么情况下会出现空闲状态TI?
【解答】8086CPU经外部总线对存储器或I/O端口进行一次信息的输入或输出过程所需要的时间,称为总线周期。
8086CPU的读/写总线周期通常包括T1、T2、T3、T4状态4个时钟周期。
在高速的CPU与慢速的存储器或I/O接口交换信息时,为了防止丢失数据,会由存储器或外设通过READY信号线,在总线周期的T3和T4之间插入1个或多个必要的等待状态TW,用来进行必要的时间补偿。
在BIU不执行任何操作的两个总线周期之间会出现空闲状态TI。
(本题要求:
会分析写读操作时序图,课本44、45页)
16.了解堆栈的概念(课本52页)。
17.掌握下列引脚的作用。
8086CPU的AD0~AD15是数据与地址引脚,INTR是发送可屏蔽请求信号,ALE是发送地址锁存允许信号,8086CPU工作在哪种模式下通过CPU的第33条引脚MN/
来控制,
引脚控制选通存储器或I/O接口,
引脚有效时表示CPU正在进行存取或I/O读操作,READY准备就绪输入信号,
有效时表示CPU正在进行写存储器或写I/O端口的操作,RESET是CPU的复位输入信号。
18.什么是时钟周期和指令周期?
时钟周期也称为振荡周期,是计算机中最基本的、最小的时间单位。
在一个时钟周期内,CPU仅完成一个最基本的动作。
指令周期是CPU的关键指标,指取出并执行一条指令的时间。
第三章
19.简要分析8086的指令格式由哪些部分组成,什么是操作码?
什么是操作数?
寻址和寻址方式的含义是什么?
8086指令系统有哪些寻址方式?
【解答】8086的指令格式由操作码和操作数字段组成:
“标号:
助记符操作数;注释”。
操作码:
要完成的操作。
操作数:
参与操作的对象。
寻址:
寻找操作数或操作数地址的过程。
寻址方式:
指令中给出的找到操作数或操作数地址采用的方式。
8086指令系统的寻址方式主要有立即寻址方式、寄存器寻址方式、直接寻址方式、寄存器间接寻址方式、寄存器相对寻址方式、基址变址寻址方式、相对基址变址寻址方式和隐含寻址方式。
20.设(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据变量VAL的偏移地址为0050H,请指出下列指令的源操作数字段是什么寻址方式?
它的物理地址是多少?
(1)MOVAX,21H
(2)MOVAX,BX(3)MOVAX,[1000H]
(4)MOVAX,VAL(5)MOVAX,[BX](6)MOVAX,ES:
[BX]
(7)MOVAX,[BP](8)MOVAX,[SI](9)MOVAX,[BX+10]
(10)MOVAX,VAL[BX](11)MOVAX,[BX][SI](12)MOVAX,VAL[BX][SI]
【解答】
(1)MOVAX,21H
立即寻址,源操作数直接放在指令中
(2)MOVAX,BX
寄存器寻址,源操作数放在寄存器BX中
(3)MOVAX,[1000H]
直接寻址,EA=1000H,PA=(DS)×10H+EA=2000H×10H+1000H=21000H
(4)MOVAX,VAL
直接寻址,EA=[VAL]=0050H,PA=(DS)×10H+EA=2000H×10H+0050H=20050H
(5)MOVAX,[BX]
寄存器间接寻址,EA=(BX)=0100H,PA=(DS)×10H+EA=2000H×10H+0100H=20100H
(6)MOVAX,ES:
[BX]
寄存器间接寻址,EA=(BX)=0100H,PA=(ES)×10H+EA=2100H×10H+0100H=21100H
(7)MOVAX,[BP]
寄存器间接寻址,EA=(BP)=0010H,PA=(SS)×10H+EA=1500H×10H+0010H=15010H
(8)MOVAX,[SI]
寄存器间接寻址,EA=(SI)=00A0H,PA=(DS)×10H+EA=2000H×10H+00A0H=200A0H
(9)MOVAX,[BX+10]
寄存器相对寻址,EA=(BX)+10D=0100H+000AH=010AH,PA=(DS)×10H+EA=2000H×10H+010AH=2010AH
(10)MOVAX,VAL[BX]
寄存器相对寻址,EA=(BX)+[VAL]=0100H+0050H=0150H,PA=(DS)×10H+EA=2000H×10H+0150H=20150H
(11)MOVAX,[BX][SI]
基址变址寻址,EA=(BX)+(SI)=0100H+00A0H=01A0H,PA=(DS)×10H+EA=2000H×10H+01A0H=201A0H
(12)MOVAX,VAL[BX][SI]
相对基址变址寻址,EA=(BX)+(SI)+[VAL]=0100H+00A0H+0050H=01F0H,PA=(DS)×10H+EA=2000H×10H+01F0H=201F0H
21.给定寄存器及存储单元的内容为:
(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=32H,(20101)=51H,(20102)=26H,(20103)=83H,(21200)=1AH,(21201)=B6H,(21202)=D1H,(21203)=29H。
试说明下列各条指令执行完后,AX寄存器中保存的内容是什么。
(1)MOVAX,1200H
(2)MOVAX,BX(3)MOVAX,[1200H]
(4)MOVAX,[BX](5)MOVAX,1100H[BX](6)MOVAX,[BX][SI]
【解答】
(1)MOVAX,1200H;执行后,(AX)=1200H
(2)MOVAX,BX;执行后,(AX)=(BX)=0100H
(3)MOVAX,[1200H];直接寻址,EA=[VAL]=1200H,PA=(DS)×10H+EA=2000H×10H+1200H=21200H,执行后,(AX)=B61AH
(4)MOVAX,[BX]
EA=(BX)=0100H,PA=(DS)×10H+EA=2000H×10H+0100H=20100H,执行后,(AX)=5132H
(5)MOVAX,1100H[BX];EA=(BX)+1100H=0100H+1100H=1200H,PA=(DS)×10H+EA=2000H×10H+1200H=21200H,执行后,(AX)=B61AH
(6)MOVAX,[BX][SI];EA=(BX)+(SI)=0100H+0002H=0102H,PA=(DS)×10H+EA=2000H×10H+0102H=20102H,执行后,(AX)=29D1H
22.分析下列指令的正误,对于错误的指令要说明原因并加以改正。
(1)MOVAH,BX
(2)MOV[BX],[SI]
(3)MOVAX,[SI][DI](4)MOVMYDAT[BX][SI],ES:
AX
(5)MOVBYTEPTR[BX],1000(6)MOVBX,OFFSETMAYDAT[SI]
(7)MOVCS,AX(8)MOVDS,BP
【解答】
(1)MOVAH,BX
错误,寄存器类型不匹配,可改为MOVAX,BX
(2)MOV[BX],[SI]
错误,两个操作数不能都为存储单元,可改为MOVBX,[SI]或MOV[BX],SI
(3)MOVAX,[SI][DI]
错误,寻址方式中只能出现一个变址寄存器,可改为MOVAX,[BX][DI]。
(4)MOVMYDAT[BX][SI],ES:
AX
错误,AX签不能有段跨越前缀,去掉ES:
,改为MOVMYDAT[BX][SI],AX
(5)MOVBYTEPTR[BX],1000
错误,1000超出字节空间存储范围
(6)MOVBX,OFFSETMAYDAT[SI];正确
(7)MOVCS,AX
错误,MOV指令CS不能做目的操作数,可改为MOVDS,AX
(8)MOVDS,BP;正确
23.掌握以下数据传送指令:
MOVXCHGPUSHPOPINOUT
XCHGBH,AL;数据交换指令(P71例3.10)
PUSHDX;进栈指令POPBX;出栈指令(P74例3.13)
INOUT输入输出指令(P75例3.14)
24.掌握加减法指令及其对进位标志位的影响:
P76例3.15P76例3.16P77例3.17P78减法指令
(1)
(2)(3)(4)(5)
25.掌握非、与、位测试、或、异或指令:
NOTANDTEST(P86例3.32)ORXOR
26.掌握以下跳转指令和子程序返回指令:
无条件转移指令JMP(P94)单条件转移指令:
JZJNZJSJNS(P96)
RET(P102)INTINRT(P104)
27.掌握以下标志位操作指令:
SRC(置CF=1)CLC(置CF=0)CMC(CF取反)STD(置DF=1)
CLD(置DF=0)STI(置IF=1)CLI(置IF=0)
28.空操作指令NOP不执行任何操作,但是占一个字节的内存空间,执行时间是三个时钟周期。
29.设VAR1、VAR2为字变量,LAB为标号,分析下列指令的错误之处并加以改正。
(1)ADDVAR1,VAR2
(2)MOVAL,VAR2
(3)SUBAL,VAR1(4)JMPLAB[SI]
(5)JNZVAR1(6)JMPNEARLAB
【解答】
(1)ADDVAR1,VAR2
错误,两个操作数不能都为存储单元,可改为MOVBX,VAR2
ADDVAR1,BX
(2)MOVAL,VAR2
错误,数据类型不匹配,可改为MOVAX,VAR2
(3)SUBAL,VAR1
错误,数据类型不匹配,可改为SUBAX,VAR1
(4)JMPLAB[SI]
错误,寄存器相对寻址形式中不能用标号做位移量,可改为JMPVAR1[SI]
(5)JNZVAR1
错误,条件跳转指令只能进行段内短跳转,所以后面只能跟短标号。
可改为JNZLAB
(6)JMPNEARLAB
错误,缺少运算符PTR,可改为JMPNEARPTRLAB
第四章
30.了解段、语句、标识符、过程名、段名等基本概念(P122-P125)。
1)段属性(SEG)变量所在的存储单元的段基址
2)偏移量属性(OFFSET)变量所在的存储单元距段起点的字节数
3)类型属性(TYPE)一个单位变量占用存储单元的字节数,分为:
DB(1个字节)DW(2个字节)DD(4个字节)
4)段名:
用户为程序中某个段所起的名字,等于该段的段基址。
5)过程名:
用户为程序中某个过程(子程序)所起的名字,等于该过程的入口地址,即该过程第一条指令的目标地址,与标号一样也有三个属性。
31.数据的定义DB(定义字节)、DW(定义字)(P130例4.10、4.11、4.12、4.13)、EQU、=表达式(P131例4.15、4.16)。
32.会使用段定义(P132)、过程定义(P133)等。
33.掌握汇编语言程序的三种基本结构:
顺序程序、分支程序、循环程序。
顺序型结构程序的特征是在程序的指令中无转移指令,CPU从程序的第一条指令开始顺序执行,直到程序的最后一条指令为止。
例:
编程计算Z=3(X2+Y2)/4
DATASEGMENT
XDB8
YDB4
ZDW?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
PUSHDS
XORAX,AX
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVAX,0
MOVAL,X
MULAL
MOVBX,AX
MOVAL,Y
MULAL
ADDAX,BX
MOVBX,3
MULBX
MOVCL,2
SHRAX,CL
MOVZ,AX
CODEENDS
ENDSTART
分支程序根据条件是真或假决定执行与否。
判断的条件是各种指令,如CMP、TEST等执行后形成的状态标志。
转移指令JZ和JMP等可以实现分支控制。
例:
编程实现符号函数。
DATASEGMENT
XDB?
YDB?
DATAENDS
STACKSEGMENT
DB100DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
PUSHDS
XORAX,AX
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVAL,X
CMPAL,0
JZZERO
JGGREAT
MOVY,-1
JMPFIN
ZERO:
MOVY,0
JMPFIN
GREAT:
MOVY,1
FIN:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
循环型结构从本质上讲也是一种分支型结构,它也具有判定条件转移指令。
不过,循环型结构中的转移,是转移到曾经执行过的程序段,这样就有可能重复测试和条件转移,形成周而复始的循环,能重复执行一组指令是循环型结构的重要特征。
例:
已知有N个数据存放在以BUF为首地址的字节存储区中,编程统计其中负数的个数。
DATASEGMENT
BUFDB–2,5,-3,6,100,
0,-20,-9,8,-110,20
N=$-BUF
RESULTD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 44496