微机原理复习.docx
《微机原理复习.docx》由会员分享,可在线阅读,更多相关《微机原理复习.docx(15页珍藏版)》请在冰豆网上搜索。
微机原理复习
微型计算机原理以及应用
第一章:
1.微机的主要的特点是:
(1)体积小、重量轻;
(2)价格低廉;(3)可靠性高、结构灵活
(4)应用面广
2.微型机的分类:
按微处理器规模分类:
单片机、个人计算机、笔记本电脑、掌上电脑
按微处理器的字节分类:
4位微处理器、8位微处理器、16位微处理器、32位微处理器
3.微处理器、微型计算机和微型计算机系统三者之间有什么不同?
答:
①微处理器即CPU是微型计算机的核心,是微型计算机的一部分。
它是集成在一块芯片上的CPU,由运算器和控制器组成。
②微型计算机包括微处理器、存储器、I/O接口和系统总线,是微型计算机系统的主体。
③微型计算机系统是以微型计算机为主体,配上系统软件、应用软件和外设之后组成的
4.CPU在内部结构上由哪几个部分组成?
CPU应具备哪些主要功能?
答:
1.CPU在内部结构上由以下几部分组成:
1算术逻辑部件(ALU);
2累加器和寄存器组;
3控制器
2.CPU应具备以下主要功能:
1可以进行算术和逻辑运算;
2可保存少量数据;
3能对指令进行译码并执行规定的动作;
4能和存储器、外设交换数据;
5提供整个系统所需要的定时和控制;
6可以响应其他部件发来的中断请求。
5.CUP总线按功能分为:
数据总线、地址总线、控制总线
数据总线用来传输数据信息,数据总线是双向的
地址总线专门用来传送地址信息,地址总线是单向的
控制总线用来传输控制总线
6.微型计算机的应用:
科学计算、信息处理、过程控制、仪器仪表控制、家用电器民用产品控制
7.微处理器的主要性能指标:
CPU的位数、CUP的主频、内存容量和速度、硬盘容量
第六章
1.并行通信与串行通信
数据通信的基本方式可分为两种:
并行通信与串行通信
并行通信是指利用多条数据传输线将一个数据的各位同时传送。
特点是传输速度快,适用于短距离通信。
串行通信是指利用一条传输线将数据一位位地顺序传送。
特点是通信线路简单,利用电话或电报线路就可实现通信,降低成本,适用于远距离通信,但传输速度慢。
2.串行通信分为两种方式:
异步通信(ASYNC)与同步通信(SYNC)。
异步通信以一个字符为传输单位,通信中两个字符间的时间间隔是不固定的,然而在同一个字符中的两个相邻位代码间的时间间隔是固定的。
同步通信以一个帧为传输单位,每个帧中包含有多个字符,在通信过程中,每个字符间的时间间隔是相等的,而且每个字符中各相邻位代码间的时间间隔也是固定的。
3.
根据数据传送方向的不同有以下三种数据传送方式。
(a)单工方式(b)半双工方式(c)全双工方式
1)、单工方式
只允许数据按照一个固定的方向传送,即一方只能作为发送站,另一方只能作为接收站。
2)、半双工方式
数据能从A站传送到B站,也能从B站传送到A站,但是不能同时在两个方向上传送,每次只能有一个站发送,另一个站接收。
通信双方可以轮流地进行发送和接收。
3)、全双工方式
允许通信双方同时进行发送和接收。
这时,A站在发送的同时也可以接收,B站亦同。
全双工方式相当于把两个方向相反的单工方式组合在一起,因此它需要两条传输线在计算机串行通讯中主要使用半双工和全双工方式。
4.可编程串行接口芯片8251A
第七章
第二章
1.8086共可寻址多大的范围?
假设段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多大?
指向这一物理的地址的CS和IP值是唯一的吗?
答1.8086共可寻址的地址空间是2^20字节,即1MB
2.该指令的物理地址=CS左移四位+IP=21F00H。
3.指向这一物理地址的CS值和IP值不是唯一的
2.总线周期的含义是什么?
8086/8088的基本总线周期由几个时钟组成?
如一个CPU的时钟频率为24MHZ,那么,它的一个时钟周期为多少?
一个基本总线周期为多少?
如主频为15MHZ呢?
答:
1.总线周期的含义是总线接口部件完成一个取指令或传送数据的完整操作所需的最少时钟周期数。
2.8086/8088的基本总线周期由4个时钟周期组成。
3.当主频为24MHz时,Tφ=1/24MHz≈41.7ns,T总=4Tφ≈167ns。
4.当主频为15MHz时,Tφ=1/15MHz≈66.7ns,T总=4Tφ≈267ns。
3.在总线周期的T1、T2、T3、T4状态,CPU分别执行什么动作?
什么情况下需要插入等待状态TW?
TW在哪儿插入?
怎样插入?
答:
1.在总线周期的T1、T2、T3、T4状态,CPU分别执行下列动作:
1T1状态:
CPU往多路复用总线上发出地址信息,以指出要寻找的存储单元或外设端口的地址。
2T2状态:
CPU从总线上撤销地址,而使总线的低16位浮置成高阻状态,为传输数据做准备。
总线的高4位(A19~A16)用来输出本总线周期的状态信息。
3T3状态:
多路总线的高4位继续提供状态信息。
低16位(8088为低8位)上出现由CPU写出的数据或者CPU从存储器或端口读入的数据。
4T4状态:
总线周期结束。
2.当被写入数据或者被读取数据的外设或存储器不能及时地配合CPU传送数据。
这时,外设或存储器会通过“READY”信号线在T3状态启动之前向CPU发一个“数据未准备好的信号”,于是CPU会在T3之后插入一个或多个附加的时钟周期TW。
3.TW插在T3状态之后,紧挨着T3状态。
4.插入的TW状态时的总线上的信息情况和T3状态的信息情况一样。
当CPU收到存储器或外设完成数据传送时发出的“准备好”信号时,会自动脱离TW状态而进入T4状态。
4.8086如何区分当前是和内存交换数据还是IO交换数据?
如何区分当前是读数据还是写数据?
答:
最小模式:
1.8086的是利用M/IO来区分CPU进行存储器的方位是输入/输出访问。
如果为高电平,表示CPU和存储器之间进行数据传输;如果是低电平,表示CPU和输入/输出端口之间进行数据传输。
2.区分当前是读数据还是写数据利用的是WR信号和RD信号
组合方式和对应功能如下:
M/IO
RD
WR
功能
0
0
1
I/O读
0
1
0
I/O写
1
0
1
存储器读
1
1
0
存储器写
最大模式:
利用总线周期状态信号:
S2、S1、S0
具体如下:
S2
S1
S0
操作过程
0
0
0
发出中断响应信号
0
0
1
读I/O端口
0
1
0
写I/O端口
0
1
1
暂停
1
0
0
取指令
1
0
1
读内存
1
1
0
写内存
1
1
1
无源状态
5.在系统复位之后,8086所执行的一个指令的物理地址是多少?
为什么?
答:
复位(系统开始或者按RESET键)在8086系统中,CPU被启动后,处理器的标志寄存器、指令指针寄存器IP、段寄存器DS、SS、ES和指令队列都被清零,但是段寄存器CS为设置为FFFFH。
因为IP=0000,而CS=FFFFH,所以,此后,8086将从地址FFFF0H开始执行。
6.CPU在8086的微机系统中,为什么常用AD0作为低8位数据的选通信号?
答:
因为每当CPU和偶地址单元或偶地址端口交换数据时,在T1状态,AD0引腿传送的地址信号必定为低电平。
而CPU的传输特性决定了只要是和偶地址单元或偶地址端口交换数据,则CPU必定通过总线低8位即AD7~AD0传输数据。
可见AD0可以用来作为接于数据总线低8位上的8位外设接口芯片的选通信号。
7.8086和8088是怎样解决地址线和数据线的复用问题的?
ALE信号何时处于有效电平?
答:
1.在总线周期的T1状态,复用总线用来输出要访问的存储器或I/O端口的地址给地址锁存器8282(3片)锁存;在其他状态为传送数据或作传送准备。
地址锁存器8282在收到CPU发出的地址锁存允许信号ALE后,锁存地址。
2.ALE信号在每个总线周期的T1状态为有效高电平。
8.RESET信号来到后,CPU的状态有哪些特点?
答:
复位信号来到后,CPU便结束当前操作,并对处理器标志寄存器FR、IP、DS、SS、ES、其他寄存器及指令队列清0,而将CS设置为FFFFH。
当复位信号变为低电平后,CPU从FFFF0H单元开始执行程序。
9.8086的中断分类:
256种中断对应的中断类型号为0~255。
其中类型号0~4是5个专用中断,5~31是27个系统中断,其余224个是用户定义中段。
10.硬件中断的响应过程:
●从数据中读取中断类型号,目的是为了获得中断程序的入口地址(类型*4)
●将标志寄存器FR的值推入堆栈中
●将中断允许信号IF、跟踪标志TF清零,目的就是中断嵌套
●将断点保护到堆栈中(堆栈的CS和IP的值)
●根据类型号求入口地址,执行中断处理
11.一般中断处理程序的模式:
●保护现场,利用PUSH
●用IF来开放中断,即允许脊背较高的中断(允许中断嵌套)
●中断子程序的处理
●子程序结束,弹出现场信息,利用POP
●中断返回指令,IF、CS、FR恢复
12.在中断响应过程中,8086往8259A发的两个
信号分别起什么作用?
答:
第一个负脉冲通知外部设备的接口,它发出的中断请求已经得到允许;外设接口收到第二个负脉冲后,往数据总线上放中断类型码,从而CPU得到了有关此中断请求的详尽信息
13.8086复位后,编写程序时,为什么通常总要用开放中断指令来设置中断允许标志?
答:
因为在复位时,标志寄存器FR被清0,则IF=0,禁止从INTR进入的可屏蔽中断,所以必须在编写程序时,用指令来设置中断允许标志。
14.8086最多可有多少个中断?
按照产生中断的方法分为哪两大类?
答:
1.8086最多可有256个中断。
2.按照产生中断的方法分为硬件中断和软件中断两大类。
15.软件中断有哪些特点?
在中断处理子程序和主程序的关系上,软件中断和硬件中断有什么不同之处?
答:
1.软件中断有如下特点:
①用一条中断指令进入中断处理子程序,并且,中断类型码由指令提供。
②进入中断时,不需要执行中断响应总线周期。
③不受中断允许标志IF的影响。
④软件中断的优先级最高。
⑤软件中断没有随机性。
2.软件中断允许在主程序和中断处理子程序之间传递数据。
而硬件中断由于是随机的,所以不能传递数据。
16.从8086/8088的中断向量表中可以看到,如果一个用户想定义某个中断,应该选择在什么范围?
答:
应该选择在中断类型码为32(20H)~255(FFH)范围。
17.8086存储空间最大为多少?
怎样用16位寄存器实现对20位地址的寻址?
答:
1.8086存储空间最大为220=1MB。
2.采用分段的方法实现16位寄存器实现对20位地址的寻址。
物理地址=段基址×10H+偏移地
课堂上的练习题:
【例题1】:
假设中断类型为180,①、则中断处理程序的绝对入口地址(物理地址)是多少?
②、中断向量表中存放类型为180的首地址
【解答】:
低地址
40H
30H
20H
10H
IP的低8位
IP的高8位
CS的低8位
CS的高8位
高地址
①IP=3040HCS=1020H,则该中断处理程序的绝对入口地址为:
CS*10H+IP=13240H
②180*4=720=0200H,则中断向量表中存放类型为180的首地址为0200H
【例题2】
假设当前CPU的FR=>AX
端点CS=>BX
IP=>DX
那么根据汉诺塔堆栈的处理过程,一下处理是否合理?
(先进先出)
PushAX
PushBX
PushDX
具体指令集为
PopAX
PopBX
FR推入堆栈
=>CS和IP推入堆栈
=>弹出IP和CS
=>弹出标志R
PopDX
【解析】不合理,应该为:
PopDX
PopBX
PopAX
【例题3】分析下面的程序(码的压缩)
MOVSI,1000H
MOVDI,2000H;给SI和DI赋一个首地址
MOVCX,0014H;该程序对20个进行操作
BBB:
MOVAL,[SI];AL=00H
ANDAL,0FH;高4位清零
MOVBL,AL;BL=00H
INCSI
MOVAL,[SI]
PUSHCX
MOVCL,4
SALAL,CL;
POPCX
ADDAL,BL
MOV[DI],AL
INCSI
INCDI
DECCX
JNEBBB
【例题4】
下面的程序执行完后,BX是多少?
MOVCL,3;CL=0003H
MOVBX,0B7H;BX=0B7H
ROLBX,1;将BX中最高位和最低位连接起来,成为一个环,而后一起向左移
RORBX,CL;向右移动3位
【解析】:
BX:
0000000010110111
0000000010110111=》0000000101101110=》1100000000101101
C02D
BX=C02DH
【例题5】
DATASEGMENT
NUM1DW111H,2222H,3333H,5555H
NUM2DW9999H,9FFFH,8111H,6666H
BUFFDW5DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
ADD64PROCFAR
BEGIN:
MOVAX,DATA
MOVDS,AX
LEABX,NUM1
MOVAX,[BX]
ADDAX,[BX+8]
MOV[BX+16],AX
INCBX
INCBX
MOVAX,[BX]
ADCAX,[BX+8]
MOV[BX+16],AX
INCBX
INCBX
MOVAX,[BX]
ADCAX,[BX+8]
MOV[BX+16],AX
INCBX
INCBX
MOVAX,[BX]
MOVAX,[BX+8]
MOV[BX+16],AX
MOVAX,0
MOVAX,0
MOVWORDPTR[BX+18],AX
MOVAH,4CH
INT21H
ADD64ENDP
CODEENDS
ENDBEGIN
【例题5】(与程序结构)
DATASEGMENT
STRINGDB'12345678998123605031',13
ERRORDB'ERROR!
',13,10,'$'
BUFFERDB10DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
MAINPROCFAR
BEGIN:
MOVAX,DATA
MOVDS,AX
LEABX,STRING
LEADI,BUFFER
LP:
MOVAH,[BX]
INCBX
CMPAH,'0'
JBNEXT1
CMPAH,'a'
MOVAL,[BX]
INCBX
CMPAL,'0'
JBNEXT2
CMPAL,'9'
JANEXT1
LP1:
CALLSPE1
MOV[DI],AH
INCDI
JNPLP
NEXT1:
CMPAH,''
JZLP
CMPAH,','
JZLP
CMPAH,13
JZDONE
NEXT2:
LEADX,ERROR
MOVAH,9
INT21H
DONE:
MOVAH,4CH
INT21H
MAINENDP
SPE1PROC
ANDAH,0FH
MOVCL,4
SHLAH,CL
ANDAL,0FH
ORAH,AL
RET
SPE1ENDP
CODEENDS
ENDBEGIN
【例题6】循环结构,冒泡法
TABLESEGMENT
ARRAYDWx1,x2,x3,……,xn
COUNTDW$-ARRAY
TABLEENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
TABLE
BUFFERPROCFAR
START:
MOVAX,TABLE
MOVDS,AX
MOVCX,COUNT
SHRCX,1
DECCX
LP2:
MOVSI,CX
LEABX,ARRAY
LP1:
MOVAX,[BX]
CMPAX,[BX+2]
JGENEXT
XCHGAX,[BX+2]
MOV[BX],AX
NEXT:
ADDBX,2
LOOPLP1
MOVCX,SI
LOOPLP2
PONE:
MOVAH,4CH
INT21H
BUFFERENDP
CODEENDS
ENDSTART
【例题7】分支结构
TABLESEGMENT
BRATABLEDWPOVTINE1,POVTINE2,POVTINE3……POVTINE6
TABLEENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
TABLE
MAXINPROCFAR
BEGIN:
MOVAX,TABLE
MOVDX,AX
LEABX,BRATABLE
MOVAH,6
MOVCL,0
NEXT:
INCCL
CMPCL,AL
JZGORUN
INCBX
INCBX
DECCH
JNZNEXT
JMPCONTINUE
GORUN:
JMPWORDPTR[BX]
POVTINE1:
POVTINE2:
POVTINEn:
CONTINUE:
MOVAH,4CH
INT21H
MAXINENDP
CODEENDS
ENDBEGIN