微机原理及接口技术期末复习资料重点归纳 联系客服

发布时间 : 星期五 文章微机原理及接口技术期末复习资料重点归纳更新完毕开始阅读38d695a29e314332396893f9

微机重点总结 第一章

计算机中数的表示方法:真值、原码、反码(-127—+127)、补码(-128—+127)、BCD码,1000的原码为-0,补码为-8,反码为-7。

ASCII码:7位二进制编码,空格20,回车0D,换行0A,2、算数逻辑运算单元;

3、控制器(指令寄存器、指令译码器和各种定时与控制信号产生电路);

4、现代微处理器中还集成了浮点运算部件及高速缓冲寄存器cache。 8086/8088微处理器结构: 0-9(30-39),A-Z(41-5A),a-z(61-7A)。 模型机结构介绍

1、程序计数器PC:4位计数器,每次运行前先复位至0000,取出一条指令后PC自动加1,指向下一条指令; 2、存储地址寄存器MAR:接收来自PC的二进制数,作为地址码送入存储器; 3、可编程只读存储器PROM

4、指令寄存器IR:从PROM接收指令字,同时将指令字分别送到控制器CON和总线上,模型机指令字长为8位,高4位为操作码,低4位为地址码(操作数地址); 5、控制器CON:(1)每次运行前CON先发出CLR=1,使有关部件清零,此时PC=0000,IR=0000 0000;(2)CON有一个同步时钟输出,发出脉冲信号CLK到各部件,使它们同步运行;(3)控制矩阵CM根据IR送来的指令发出12位控制字,CON=CPEPLMER LIEILAEA SUEULBIO;

6、累加器A:能从总线接收数据,也能向总线送数据,其数据输出端能将数据送至ALU进行算数运算(双态,不受E门控制);

7、算数逻辑部件ALU:当SU=0时,A+B,当SU=1时,A-B; 8、寄存器B:将要与A相加或相减的数据暂存于此寄存器,它到ALU的输出也是双态的; 9、输出寄存器O:装入累加器A的结果; 10、二进制显示器D。

中央处理器CPU:PC、IR、CON、ALU、A、B;存储器:MAR、PROM;输入/输出系统:O、D。

执行指令过程:指令周期(机器周期)包括取指周期和执行周期,两者均为3个机器节拍(模型机),其中,取指周期的3个机器节拍分别为送地址节拍、读存储节拍和增量节拍。

控制器:环形计数器(RC)、指令译码器(ID)、控制矩阵(CM)、其他控制电路。

微型计算机硬件基本结构:算术逻辑单元ALU、控制器、存储器、输入/输出设备。

微型机工作原理:存储程序,按地址顺序执行。

第二章

微处理器基本结构和功能:

1、内部寄存器阵列(通用寄存器和专用寄存器);

段寄存器(CS、SS、DS、ES) 总线接口单指令指针寄存器IP 元BIU(完成地址加法器 取指令和存指令队列

取数据)

内部控制逻辑 8086/8088 输入/输出控制电路

CPU

执行单元EU算术逻辑单元ALU (负责分析寄存器组 指令和执行标志寄存器FR 指令)

暂存器

执行部件EU的组成: 1、ALU(算术逻辑单元); 2、寄存器组:

(1)通用寄存器:4个16位通用寄存器(AX、BX、CX、DX)或8个8位寄存器(AL、AH、BL、BH、CL、CH、DL、DH),其中AX为累加器,BX为基址寄存器,CX为计数寄存器,DX为数据寄存器;

(2)专用寄存器:两个16位指针寄存器SP和BP,两个16位变址寄存器SI和DI,其中,SP是堆栈指针寄存器,由它和堆栈段寄存器SS一起来确定堆栈在内存中的位置,BP是基址指针寄存器,通常用于存放基地址,SI是原变址寄存器,DI是目的变址寄存器,都用于指令变址寻址方式;

AH AL AX BH BL BX 通用寄存器

CH CL CX DH DL DX

SP BP SI 专用寄存器

DI

(3)标志寄存器FR:为16位寄存器,其中7位未使用,使用的9个标志位可分为两类:状态标志(CF、PF、AF、

ZF、SF、OF),控制标志(TF、IF、DF),

15-12 11 10 9 8 7 6 5 4 3 2 1 0 OF DF IF TF SF ZF AF PF CF

① CF—进位标志位:做加法最高位有进位或减法最高位有借位时为1,反之为0;

② PF—奇偶标志位:运行结果低8位中1的个数为偶数时为1,反之为0;

③ AF—半进位标志位:低四位有向高四位的进位或借位时为1,反之为0;

④ ZF—零标志位:运算结果为0时置1; ⑤ SF—符号标志位:与运算结果最高位相同; ⑥ OF—溢出标志位:字节运算结果范围超过-128~+127或者字运算结果范围超出-32768~+32767时置1,溢出判断:同符号数相加,结果的符号位与之不同(符号位发生变化);

⑦ TF—陷阱标志位:置1时8086/8088进入单步工作方式,通常用于程序调试;

⑧ IF—中断允许标志位:置1时处理器响应可屏蔽中断; ⑨ DF—方向标志位:置1时串操作指令的地址修改为自动减量方向。

总线接口部件BIU的组成:

1、段寄存器:4个16位段寄存器DS(数据段寄存器)、CS(代码段寄存器)、ES(附加段寄存器)、SS(堆栈段寄存器);

2、16位指令寄存器IP:CPU每取一个指令字节,IP自动加1,IP总是指向下一条要取出的指令代码的首地址; 3、20位地址加法器;

4、6字节(8088为4字节)指令队列缓冲器。 BIU与EU的动作协调原则:BIU和EU是并行工作的,按流水线技术原则管理

1、当8086指令队列中有两个空字节(8088中一个)时,BIU自动把指令取到队列中;

2、EU从指令队列取指,执行,执行过程中如要访问存储器或I/O,而此时BIU正在取指,完成取指后响应EU的总线请求;

3、指令队列已满,EU又没有总线访问,BIU进入空闲状态;

4、执行转移、调用和返回指令时,指令队列中的原有内容自动消除,BIU往指令队列中装入另一程序段中的指令。 存储器组织: 1、物理地址:

物理地址=段地址×16+偏移量

任何一个存储单元的20位实际地址称为物理地址,又称绝对地址,同一物理地址可以有不同的段地址和偏移量。 2、逻辑地址:

段地址:偏移地址

程序中出现的地址,由段地址和段内偏移量组成,段地址和段偏移量都是16位二进制数。

3、一般程序存放在代码段中,段地址来源于代码段寄存器CS,偏移地址来源于指令指针寄存器IP;当涉及一个堆栈操作时,段地址在堆栈段寄存器SS中,偏移地址来源于栈指针寄存器SP;当涉及一个操作数时,则数据段寄存器DS或附加段寄存器ES作为段寄存器,而偏移地址由16位的偏移量得到,16位的偏移量取决于指令的寻址方式。

4、采用段寄存器的优点:

(1)、解决了16位寄存器如何访问大于64KB内存空间的问题;

(2)、可以实现程序的重定位。

总线:总线是传送信息的公共导线,一般由地址总线、数据总线和控制总线组成;

1、地址总线(AB),一般是单向总线,传送CPU发出的地址信息;

2、数据总线(DB),是双向总线,可以从CPU传送数据信息到外设和主存,也可以从主存和外设向CPU传送数据;

3、控制总线(CB),其中每根线上的方向是一定的,它们分别传送控制信息、时序信息和状态信息。 8086/8088微处理器的工作模式:

1、最小工作模式MN/MX=VCC:(单CPU系统)系统中只有一个8086/8088微处理器,所有的总线控制信号都直接由8088/8086产生。

2、最大工作模式MN/MX=GND(多CPU系统):8086/8088要通过总线控制器8288来形成各种总线周期,控制信号由8288供给。

指令周期、总线周期、时钟周期:

1、指令周期:执行一条指令所需要的时间,执行每一条指令的时间不同;

2、总线周期:访问一次总线的时间,CPU从存储器或I/O端口存取一次所需要的时间,一个基本的总线周期由4个T状态T1、T2、T3、T4组成,基本总线周期包括存储器的读或写,输入/输出的读或写,中断响应,若存储器或外设速度较慢,不能及时送上数据(T3状态数据没准备好),则通过READY线通知CPU,CPU在T3前沿检测READY,若READY=0,则在T3结束后自动插入1个或几个TW,并

在每个TW的前沿处检测READY,等到RAEDY变高后,自动脱离TW进入T4;

3、时钟周期:T状态,是微机系统工作的最小时间单位,取决于系统的主频率,系统完成任何操作所需要的时间均是时钟周期的整数倍。

8086/8088引脚信号和功能:8086/8088都有16位数据线,有效(总线保持请求信号);

8、HLDA(RQ/GT1):同意让出总线信号,输出,高电平有效(总线保持响应信号)。 最大工作模式的24~31引脚:

1、QS1和QS2,指令队列状态信号,输出

2、S2、S1、S0:总线周期状态信号,输出,三态; 20位地址线,直接寻址能力为1MB,引脚数为40,其中32个引脚在两种工作模式下的名称和功能是相同的,还有8个引脚在不同的工作模式下,具有不同的名称和功能。双功能引脚的功能转换,一是通过分时复用,即同一引脚在总线的不同时钟周期内其功能不同;二是根据工作模式定义引脚的功能。

两种模式下,名称和功能相同的32个引脚: 1、VCC、GND:单一+5V电源,两个地;

2、AD15~AD0:地址/数据复用总线,双向,三态(8088中A15~A8不复用,输出,三态);

3、A19/S6~A16/S3:地址/状态线复用,输出,三态; 4、NMI:非屏蔽中断,输入,高电平有效, INTR:可屏蔽中断,输入,高电平有效; 5、RD:读信号,输出,三态,低电平有效; 6、CLK:时钟信号,输入;

7、RESET:复位信号,输入(至少保持4个时钟周期的高电平),复位信号输入后,CPU立即停止操作,清FR、DS、ES、SS、IP及指令队列,同时置CS为0FFFFH,当RESET变为低电平时,CPU从FFFF0单元开始启动; 8、READY:“准备好”信号,输入; 9、TEST:测试信号,输入,低电平有效;

10、MN/MX:最小/最大模式控制引脚,输入,MN/MX=VCC时为最小工作方式(单CPU),MN/MX=GND时为最大工作方式(多CPU);

11、BHE/S7:高8位数据线允许/状态信息复用引脚,输出。

最小工作模式的24~31引脚(括号中是最大工作模式下的引脚功能):

1、INTA(QS1):中断响应,输出,三态,低电平有效,该信号为两个连续负脉冲;

2、ALE(QS0):地址锁存允许信号,输出,三态,高电平有效;

3、DEN(S0):数据允许信号,输出,三态,低电平有效; 4、DT/R(S1):数据发送/接收控制,输出,三态; 5、M/IO(S2):存储器/IO控制,输出,三态(8088中为M/IO);

6、WR(LOCK):写信号,输出,三态,低电平有效; 7、HOLD(RQ/GT0):请求占用总线信号,输入,高电平

3、LOCK:总线封锁信号,输出,三态,低电平有效; 4、RQ/GT1、RQ/GT0:双向总线请求/允许信号,双向。 总线空操作:CPU与存储器或I/O端口之间没有数据传送,总线空操作并不意味着CPU不工作,只是总线接口部件BIU不工作,总线执行部件EU仍在工作,实质上,总线空操作期间是BIU对EU的一种等待。

地址线为什么需要锁存:由于8086系统的地址的低16位与数据引脚公用,地址信号与数据信号是分时复用这些引脚的。这样先送出的地址信号可能被后送出的数据信号所代替,因此要有一个地址锁存器来保存先送出来的地址信息。锁存器主要用来锁存地址的低16位。

第三章

机器指令:

1、操作码—表示该指令所要完成的操作(二进制代码); 2、地址码—操作数或操作数的地址。 8086/8088汇编语言指令:

[标号] 指令助记符 [操作数表] [;注释] 指令的寻址方式:

1、顺序寻址方式;2、跳转寻址方式。 8086/8088操作数的寻址方式: 1、立即数寻址:

MOV AL,80H MOV AX,1090H

操作数就包含在指令当中,紧跟在操作码之后;立即数为常量,常量可以是二进制数、十进制数、十六进制数(以A~F开头则要加0)、字符串(用单或双引号括起的字符,表示对应的ASCII码值,如’A’=41H),还可以是标识符表示的符号常量、数值表达式等;立即数可以是8位、16位;立即数只能是整数,不能是小数、变量或其它类型数据;立即数只能作原操作数。 2、寄存器寻址:

INC CX ROL AH,1 MOV AX,BX MOV AX,1090H

寄存器寻址方式的操作数存放在CPU内部的寄存器中,它可以是8位寄存器AH/AL/BH/BL/CH/CL/DH/DL,也可以是16位寄存器AX/BX/CX/DX/SI/DI/BP/SP,另外,操作数还可以存放在4个段寄存器CS/DS/SS/ES中;因为操作数存放在CPU内部,取操作数时不需要访问存储器,因而执行速度较快;在一条指令中,可以对源操作数采用寄存

器寻址,也可以对目标操作数采用寄存器寻址,还可以两者都采用寄存器寻址方式;在双操作数指令中,操作数之一必须是寄存器寻址,汇编语言在表达寄存器寻址时使用寄存器名。其实质就是指它存放的内容(操作数)。 3、存储器寻址:操作数存放在主存储器中,指令中给出的是有关操作数所在存储器单元的地址信息。 (1)直接寻址:

MOV AX,DS:[2000H]; 等价于MOV AX,[2000H] MOV ES,ES:[3000H]; 物理地址=(ES)×16+3000H

操作数地址的16位偏移量(有效地址)直接包含在指令中,它与操作码一起存放在代码段区域,操作数一般存放在数据段区域,系统默认DS为数据段寄存器;8086/8088中允许段超越,还允许操作数放在代码段、堆栈段或附加段中,此时要在指令中,指明段超越,格式为

段寄存器:[偏移地址]

与立即数寻址不同的是,直接寻址的地址要放在方括号内。

(2)寄存器间接寻址:操作数在存储器中,但是操作数的有效地址包含在SI、DI、BP、BX四个寄存器中,如没有特殊说明,用寄存器SI、DI和BX间接寻址时,对应的段寄存器是DS,如:

MOV AX,[SI]

假设(SI)=2000H,原操作数物理地址=(DS)×16+(SI)=32000H;

如果用寄存器BP间接寻址时,对应的段寄存器是SS,如:

MOV AX,[BP]

原操作数物理地址=(SS)×16+(BP); 寄存器间接寻址指令中也可以使用段超越,如:

MOV AX,DS:[BP]

原操作数物理地址=(DS)×16+(BP);

(3)寄存器相对寻址:操作数在存储器中,由指定的寄存器内容,加上指令中给出的8位或16位偏移量作为操作数的有效地址,即带位移量的寄存器间接寻址;可以作为寄存器相对寻址的四个寄存器是SI、DI、BX、BP(同寄存器间接寻址),若用SI、DI和BX作寄存器相对寻址,则操作数默认在数据段,如:

MOV AX,[SI+4000H]

原操作数物理地址=(DS)×16+(SI)+4000H;

指令中可以使用段超越,若用BP作为寄存器相对寻址,则SS为默认的段寄存器地,如:

MOV AX,COUNT[BP]

原操作数物理地址=(SS)×16+(BP)+COUNT。

(4)基址加变址寻址:把BX和BP看作基址寄存器,把SI、DI看作变址寄存器,把一个基址寄存器(BX或BP)

的内容加上一个变址寄存器(SI或DI)的内容,作为操作数的有效地址,即为基址加变址寻址方式,如:

MOV AX,[BX+SI]

原操作数物理地址=(DS)×16+(BX)+SI;

当基址寄存器为BP时,默认的段地址寄存器为SS,如:

MOV AX,[BP][SI]

(5)相对基址变址寻址:基址加变址寻址加上一个相对位移量,如: MOV AX,MASK[BX][SI] MOV BH,4[DI][BP] MOV BH,[BP+DI+4] 常用语法规则:

立即数不能作目的操作数;

代码段寄存器CS不能作目的操作数; 两个操作数不能同时是存储器寻址; 堆栈操作都是十六位的操作; 两个操作数的类型必须匹配;

8086/8088寄存器间接寻址地址是BX、BP、SI、DI之一; 数据传送类指令: 1、通用数据传送指令:

MOV OPRD1,OPRD2

功能:把一个字节或一个字从源操作数PORD2送至目的操作数OPRD1,源操作数不改变; 注意事项:

(1)原和目的操作数的类型要一致,即同时为字节或同时为字;

(2)不允许对IP进行操作,CS不能作为目的操作数; (3)两个操作数中,除立即寻址外必须有一个为寄存器寻址,即两个存储器操作数之间不允许直接进行信息传送;

(4)两个段寄存器之间不能直接传递信息,也不允许用立即数寻址方式为段寄存器负初值; (4)目的操作数不能用立即寻址方式; MOV可以实现的传送:

立即数 寄存器 立即数 存储单元 寄存器 寄存器 寄存器 存储器 寄存器 段寄存器 存储器 段寄存器

2、交换传送指令:

XCHG OPRD1,OPRD2

功能:操作数OPRD1的内容与操作数OPRD2的内容交换; OPRD1和OPRD2可以是通用寄存器和存储单元(两个操