微机原理复习笔记Word文档格式.docx
- 文档编号:21980107
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:10
- 大小:26.45KB
微机原理复习笔记Word文档格式.docx
《微机原理复习笔记Word文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理复习笔记Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
4个16位的段寄存器(CS、DS、ES、SS);
1个16位的指令指针寄存器IP;
1个20位的地址加法器;
1个指令队列缓冲器(长度为6个字节);
I/O控制电路(总线控制电路);
1个与EU通信的内部寄存器。
BIU的功能:
根据EU的请求负责CPU与内存或I/O端口传送指令或数据。
①BIU从内存取指令送到指令队列
②当EU执行指令时,BIU要配合EU从指定的内存单元或I/O端口中读取数据,或者把EU的操作结果送到指定的内存单元或I/O端口去。
(2)执行单元Eu组成:
①16位的ALU(算术逻辑单元);
②通用寄存器组AX,BX,CX,DX(4个数据寄存器)BP(基址指针寄存器)SP(堆栈指针寄存器)SI(源变址寄存器)DI(目的变址寄存器)
③数据暂存寄存器④标志寄存器FLAGS⑤EU控制电路
作用:
负责执行指令,执行的指令从BIU的指令队列中取得;
运算结果和所需数据,则由EU向BIU发出请求,经总线访问内存或I/O端口进行存取。
10.物理地址与逻辑地址有什么区别?
答:
逻辑地址是指未定位之前在程序中存在的地址,由段地址和偏移地址组成。
物理地址是实际访问存储器时的地址(通过20位地址总线传递)。
存储单元的逻辑地址不是唯一的,一个存储单元只有唯一的一个物理地址,但可以有一个或多个逻辑地址;
5.CF——进位标志,运算结果有进(借)位,CF=1
AF——辅助进位标志,低4位向前有进(借)位,AF=1
ZF——零标志,结果为0,ZF=1
SF——符号标志,最高位的值
OF——溢出标志,双高位判别法确定
PF——奇/偶标志,运算结果低8位中1的个数为偶数个,PF=1
控制标志:
控制处理器的某一特定功能。
IF——可屏蔽中断允许标志,若STI将IF=1表示允许CPU接收外部从INTR引脚上发来的可屏蔽中断请求信号;
由CLI将IF清0;
该状态对非可屏蔽中断及内部中断没有影响;
DF——方向标志,CLD将DF=0串操作按增地址方式进行;
STD将DF=1,串操作按减地址方式进行;
TF——跟踪(陷阱)标志(TF=1,单步工作方式;
否则正常执行程序);
4.地址总线A19~A1可同时对高、低位库的存储单元寻址,A0和BHE用于对库的选择。
当A0=0时,只访问偶地址存储体,读写低字节信息;
当BHE=0时,奇高;
当两者均为0时,则同时访问两个存储体,读写一个字的信息。
同为1则无操作;
5.在什么情况下8086的执行单元(EU)才需要等待总线接口单元(BIU)提取指令?
EU在执行完转移、调用(包括子程序调用和中断调用)和返回指令时,因指令的执行顺序发生跳转,原来预取到指令队列中的指令将不再执行,需清空指令队列缓冲器。
在此情况下,EU才需要等待BIU从新的地址重新开始提取指令。
6.存储器为什么要分段(段加偏移)?
1.8086有1M的存储空间,有20根地址线,而CPU的指令指针和堆栈指针都是16位的,只能直接寻址64KB的地址空间,为了能寻址1MB的空间,需要把存储器分为若干段。
2.存储器的分段的机制允许重定位,由于段寄存器里的段地址可以由程序来重新设定,因而使得程序和数据不需要进行任何修改,就能使他们重定位。
7.1)段地址:
段寄存器的内容,出现在汇编后的机器指令中。
2)段基址:
段地址左移4位后形成的20位段起始地址。
8.8086CPU系统中为什么要用地址锁存器?
8086CPU由于引脚数量少,其地址总线采用了分时复用的双重总线,仅在总线周期的Tl时钟周期输出地址信号,而在整个总线周期中地址信号需保持不变,这就需用地址锁存器将T1周期发出的地址信号锁存起来以在整个总线周期中都能使用,为此8086CPU在T1周期提供地址锁存允许信号ALE(正脉冲),用ALE的下降沿将地址信息锁存在地址锁存器中(3分)共需3片73LS373芯片用作地址锁存器,锁存信息A19—A0和BHE
9.8086的最大工作模式和最小工作模式的区别?
最小工作方式即单处理器系统方式;
在此方式下,全部控制信号由CPU本身提供,它适合于较小规模的应用。
CPU工作于最大工作方式时,系统的控制信号由8288总线控制其提供,通常,在最大方式系统中一般包含两个或多个处理器。
10.什么叫重定位:
重定位是指一个完整的程序块或数据块可以在存储器所允许的空间内任意浮动并定位到一个新的可寻址的区域。
11.8086指令系统的特点:
8086与8088的指令系统由8位的8080/8085指令系统扩展而来的,同时又能在其后续的80x86系列的CPU上正确运行。
其主要特点是:
(1)采用可变长指令,指令格式比较复杂。
(2)寻址方式灵活多样,处理数据的能力比较强。
(3)有重复指令和乘、除运算指令。
扩充了条件转移、移位/循环指令。
(4)为加强软件中断功能和支持多处理器系统的工作,增设了有关的指令。
12.总线周期概念:
总线周期通常是指微处理器完成一次访存或I/O端口操作所需的时间。
在8086/8088中,一个最基本的总线周期由4个时钟周期组成,分别称为4个状态,即T1、T2、T3与T4这4个状态。
T1状态:
CPU往多路复用总线上发送地址信息,以选中所要寻址的存储单元或外设端口的地址。
T2状态:
CPU从总线上撤消地址,并使总线的低16位浮置成高阻状态,为传送数据做准备。
T3状态,多路总线的高4位继续提供状态信息,而其低16位(对8088CPU则为低8位)上将出现由CPU写出的数据或者CPU从存储器或端口读入的数据。
说明:
若访问设备未准备好,则CPU会在T3之后自动插入1个或多个附加的时钟周期Tw,这个Tw就叫等待状态(CPU在每个总线周期的T3状态开始对READY信号采样。
)
T4状态:
CPU采样数据总线,完成本次读/写操作,总线周期结束。
(要对INTR信号进行采样)
只有BIU与内存或I/O端口交换数据,以及填充指令队列时,BIU才执行总线周期。
除此之外,既不需要填充指令队列,EU也没有向BIU发出总线周期请求时,系统总线就处于空闲状态,进入空闲周期,空闲周期由一个或几个Ti状态组成。
13.RESET:
复位后,标志寄存器与指令队列缓冲器的原有信息被清除,IP与DS、SS和ES也被清零,而CS被置为FFFFH。
当RESET信号变为低电平时,CPU就从FFFF0H开始执行程序。
在程序执行时,RESET线保持低电平。
14.对存放的字,若低位字节从奇数地址开始存放,为非规则字;
反之,为规则字。
读一个规则字需要访问一次存储器,一个总线周期,读一个非规则字需要访问两次存储器,两个总线周期。
当存放的是双字形式(这种数一般作为指针),其低位字是被寻址地址的偏移量;
高位字则是被寻址地址所在的段地址。
15.每个I/O接口都有一个或几个端口。
在微机系统中每个端口分配一个地址号,称为端口地址。
一个端口通常为I/O接口电路内部的一个寄存器或一组寄存器。
当CPU与偶地址的I/O设备实现16位数据的存取操作时,可在一个总线周期内完成;
当CPU与奇地址的I/O设备实现16位数据的存取操作时,要占用两个总线周期才能完成。
操作数有立即数操作数、寄存器操作数、存储器操作数、IO操作数、
16.8086/8088指令的分类
8086/8088的指令按功能可分为6大类:
数据传送、算术运算、逻辑运算、串操作、程序控制和CPU控制
数据传送指令(细分成4类)∙通用数据传送指令MOV、PUSH、POP、XCHG、XLAT∙目标地址传送指令LEA、LDS、LES
∙标志位传送指令LAHF、SAHF、PUSHF、POPF∙I/O数据传送指令IN、OUT
传送指令:
MOVDST,SRC执行操作:
(DST)←(SRC)说明:
可实现一个字节或字的传送
注意:
*DST、SRC不能同时为段寄存器*立即数不能直接送段寄存器MOVDS,2000H*DST不能是立即数和CS
*DST、SRC不能同时为存储器寻址*不影响标志位
压入堆栈指令:
PUSHSRC“先移后入”,先SP-2,SP始终指向堆顶,然后将操作数压入((SP)+1:
(SP))中,操作数可以是通用寄存器,段寄存器或者某种寻址方式所指向的存储单元;
弹出堆栈指令:
POPdst“先出后移”((SP)+1:
(SP))给dst,后SP-2,dst可以是存储器,通用寄存器或段寄存器(不能是CS),不能是立即数。
堆栈操作必须以字(16位)为单位不影响标志位不能用立即寻址方式PUSH1234H并非局限在栈顶操作MOVAX,[BP][SI]
交换指令:
XCHGOPR1,OPR2执行操作:
(OPR1)↔(OPR2)
不影响标志位不允许使用段寄存器不能在存储器单元之间交换
换码指令:
XLAT或 XLATOPR(通过查表实现)执行操作:
(AL)←((BX)+(AL))
例:
MOVBX,OFFSETTABLE;
(BX)=0040H(表预先建立在内存)
MOVAL,3;
索引值
XLATTABLE指令执行后(AL)=30H
注意*不影响标志位*字节表格(长度不超过256字节)首地址→(BX)*需转换的代码位移量→(AL)
∙目标地址传送指令
取有效地址指令:
LEAREG,SRC执行操作:
(REG16位通用寄存器)←SRC(存储器操作数)将一个近地址指针写入到指定的寄存器。
把源操作数的EA即16位偏移地址送到寄存器。
指针送寄存器和DS指令:
LDSREG,SRC执行操作:
(REG)←(SRC)(DS)←(SRC+2)
相继二字→寄存器、DS
指针送寄存器和ES指令:
LESREG,SRC执行操作:
(REG)←(SRC)(ES)←(SRC+2)
相继二字→寄存器、ES
*不影响标志位*REG不能是段寄存器*SRC必须为存储器寻址方式
∙标志位传送指令*影响标志位
标志送AH指令:
LAHF执行操作:
(AH)←(FLAGS的低字节)
AH送标志寄存器指令:
SAHF*(置位/复位)执行操作:
(FLAGS的低字节)←(AH)
标志进栈指令:
PUSHF(转子/中断调用)执行操作:
(SP)←(SP)–2((SP)+1,(SP))←(FLAGS)
标志出栈指令:
POPF*(转子/中断调用)执行操作:
(FLAGS)←((SP)+1,(SP))(SP)←(SP)+2
二、算术运算类指令(共20条指令)
∙加法指令ADDdst,src(dst=dst+src不带进位加法指令,影响全部6位状态标志位,目的操作数可以是寄存器或存储器,源操作数可以是寄存器或存储器或立即数,两者不能同时为存储器,段寄存器不能参加加减乘除法,操作对象可以是8位或16位)、ADC(带进位加法指令,dst=dst+src+CF,主要用于多字节数据的加法,其它与ADD同)、INCdst(加1指令,对CF无影响,dst可以是寄存器或存储器,不能是立即数或段寄存器,字节操作或字操作)
∙减法指令SUBdst,src(不带借位,dst=dst-src,目的操作数可以是寄存器或存储器,源操作数可以是立即数,存储器,寄存器,不允许两个存储器操作数相减,可以字相减,字节相减)、SBB(带借位dst=dst-src-CF,用于多字节减法)、DEC(减1指令,不影响CF,其它与加1同)、NEG(求补指令,dst=0-dst,操作数可以是寄存器或存储器,可以对8位或16位求补,可得到负数的绝对值,)、CMPdst,src(比较指令,dst-src,不送回dst,dst可以是寄存器或存储器,src可以是立即数,寄存器或存储器,但不能同时为存储器,可以字比较,字节比较,两个相等ZF=1,比较两个无符号数时,前者小于后者CF=1,)
∙乘法指令MUL、IMUL∙除法指令DIV、IDIV、CBW、CWD
串传送指令MOVS(字符串传送指令)
执行REPMOVS之前,应先做好(初始化工作):
(1)源串首地址(末地址)→SI
(2)目的串首地址(末地址)→DI(3)串长度→CX(最大64KB)(4)建立方向标志(CLD使DF=0,STD使DF=1)
一个串传送的例子:
datasegment
mess1db‘personal_computer’;
字符数组
dataends
extrasegment
mess2db17dup(?
extraends
codesegment
movax,data;
不能:
movds,data(×
movds,ax;
立即数不能直接送段寄存器
movax,extra;
leads,data(×
moves,ax;
用于取变量的有效地址
leasi,mess1;
源串首地址
leadi,mess2;
目标串首地址
movcx,17;
串长度
cld;
建立方向标志(CLD使DF=0,STD使DF=1)
repmovsb;
串传送
…
codeends
例(续):
把附加段中的10个字节缓冲区置为20H
leadi,mess2
moval,20H
movcx,10
cld
repstosb
比较例3.66中两串是否完全相同,若两串相同,则BX寄存器内容为0;
若两串不同,则BX指向源串中第1个不相同字节的地址,且该字节的内容保留在AL寄存器中。
CLD
MOVCX,100
MOVSI,2500H
MOVDI,1400H
REPECPMSB;
串比较,直到ZF=0或CX=0
JZEQQ;
两串相同,置BX为0
DECSI;
将指针修改回第1个不相同字节处
MOVBX,SI
MOVAL,[SI]
JMPSTOP;
必须跳转,否则仍继续执行EQQ
EQQ:
MOVBX,0
STOP:
HLT
试比较两个无符号数80H和79H,则用下面的指令,即
MOVAL,80H
CMPAL,79H
JAABOVE
试比较两个有符号数80H和79H,则用下面的指令,即MOVAL,80H
JGGREATER
串传送指令STOS将累加器AL或AX的值送传到内存缓冲区的某个位置上,对状态标志没有影响,若加上前缀REP,则操作一直重复进行下去直到CX=0;
19.8086汇编语句的种类:
(3种):
指令语句,伪指令语句,宏指令语句
说明:
关系运算的结果是一个常数(布尔值)。
关系成立,结果为0FFFFH,否则,为0。
28.在指令中引用$时,$就表示该指令首地址,与$本身所指向单元无关。
比如指令:
JNZ$+6
该指令的转移地址是JNZ指令的首地址加上6。
当然,$+6必须是某一条指令的首地址,这样才能达到正确转移的目的
补充题:
为什么I/O接口芯片的地址线A0要和8086系统总线的A1相连?
参考答案要点:
1)在8086系统中,数据总线为16位,而I/O接口芯片只有8条数据引线。
因此,应让CPU和I/O接口芯片之间的数据传输通过数据总线的低8位进行。
2)将地址总线的A1和I/O接口芯片的A0端相连,A0浮空,从CPU的角度看,是用两个相邻的偶地址来作为I/O接口芯片的端口地址,同时仍满足接口内部对一奇一偶两个相邻端口地址的要求,从而可以保证用数据总线的低8位和I/O接口芯片交换数据。
3)这样的连接方式也和8088系统利用8位数据总线进行传输保持兼容。
1.IO接口的作用:
①总线隔离作用,大多数外设不能直接和CPU的数据总线相连,要借助与接口电路使外设与总线隔离,起缓冲、暂存数据的作用,使主机和外设协调一致的工作。
②速度匹配作用③信号变换作用
2.I/O接口的基本结构(接口与端口)
接口(Interface):
介与主机和外设之间的缓冲电路。
端口(Port):
接口中可以进行寻址读写的寄存器,简称口。
一个接口往往含有几个端口,CPU通过输入输出指令向这些端口取或存信息。
端口主要有三类:
一类为状态口,一类为命令口(或控制口),一类是数据口。
通过输入输出指令可以从数据端口与外设交换数据。
因此说,计算机主机与外设之间交换信息都是通过接口中的端口来实现的。
4.微机系统中,I/O端口的编址方式分为统一编址和独立编址两大类。
在Intel80x86系列微机中,采用独立编址方式。
5.CPU通过接口与外设之间数据传送的方式,一般有三种:
程序控制的输入/输出方式(这种传送方式又分为无条件传送和有条件传送)、程序中断的输入/输出方式和直接存储器存取方式。
6.中断的定义
计算机在执行正常程序过程中,当出现某种异常事件或某种外部请求时,处理器就暂停执行当前的程序,而转去执行对异常事件或某种外部请求的处理操作。
当处理完毕后,CPU再返回到被暂停执行的程序,继续执行,这个过程称为程序中断。
7.中断嵌套CPU在执行低级别中断服务程序时,又收到较高级别的中断请求,CPU暂停执行低级别中断服务程序,转去处理这个高级别的中断,处理完后再返回低级别中断服务程序,这个过程称为中断嵌套
8.中断向量表中断向量表是存放中断向量的一个特定的内存区域。
所谓中断向量,就是中断服务子程序的入口地址。
对于8086/8088系统,所有中断服务子程序的入口地址都存放在中断向量表中。
9.8259A的功能8259A是用于管理和控制外部中断请求,实现中断优先级判定,提供中断类型号,屏蔽中断输入等功能。
单片8259A可管理8个中断,若采用级联方式,最多可用9片8259A构成两级中断机构,管理64个中断。
8253的工作过程
(1)由CPU向控制寄存器写入控制字,以确定工作方式;
(2)由CPU向计数器寄存器写入计数初值或定时常数;
(3)计数单元从计数器寄存器中获得初值,在CLK端输入的计数脉冲控制下进行减1计数(CLK决定计数速率);
(4)减到0时,该状态由OUT输出或由状态寄存器的某一位表示,以作为中断请求信号或供查询方式使用,也可将OUT连到一个I/O设备上,去启动一个I/O操作;
(5)任何时候都可以将计数单元的当前值送到输出锁存器被CPU读取而不干扰计数器继续计数;
(6)门脉冲GATE是由设备送来的,作为对时钟脉冲的控制信号,门脉冲对时钟的控制方法有多种,以形成多种工作方式。
8253定时器/计数器的每个计数器都有六种可编程选择的工作方式。
1.方式0—计数结束产生中断方式2.方式1——可编程单次脉冲3.方式2——分频工作方式
4.方式3——方波产生器5.方式4——软件触发选通6.方式5——硬件触发选通
8255A
端口A、端口B和端口C都是8位端口,可以选择作为输入或输出。
还可以将端口C的高4位和低4位分开使用,分别作为输入或输出。
当端口A和端口B作为选通输入或输出的数据端口时,端口C的指定位与端口A和端口B配合使用,用做控制信号或状态信号。
1.8255A的工作方式
8255A在使用前要先写入一个工作方式控制字,以指定A、B、C三个端口各自的工作方式。
8255A共有三种工作方式:
方式0——基本输入输出方式,即无须联络就可以直接进行8255A与外设之间的数据输入或输出操作。
A口、B口、C口的高4位和低4位均可设置为方式0。
方式O适用于无条件数据传送,也可以把C口的某一位作为状态位,实现查询方式的数据传送。
方式1——选通输入输出方式,此时8255A的A口和B口与外设之间进行输入或输出操作时,需要C口的部分I/O线提供联络信号。
只有A口和B口可工作于方式1。
方式2——选通双向输入输出方式,即同一端口的I/O线既可以输入也可以输出,只有A口可工作于方式2。
此种方式下需要C口的部分I/O线提供联络信号。
1)工作方式选择控制字
它可以使8255A的三个端口工作于不同的工作方式。
2)C口按位置位/复位控制字
8255A的C口具有位控功能,即端口C的8位中的任一位都可通过CPU向8255A的控制寄存器写入一个按位置位/复位控制字来置1或清0,而C口中其他位的状态不变。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 复习 笔记