微机原理初稿Word文件下载.docx
《微机原理初稿Word文件下载.docx》由会员分享,可在线阅读,更多相关《微机原理初稿Word文件下载.docx(35页珍藏版)》请在冰豆网上搜索。
7.方向标志DF(directionflag):
用来控制串操作指令的执行。
DF=0:
串操作指令的地址自动增量修改,串数据的处理过程是从低地址到高地址的方向进行。
DF=1:
串操作指令的地址自动减量修改,串数据的处理过程是从高地址到低地址的方向进行。
8.中断允许标志IF(interruptenableflag):
IF=1:
CPU可响应外部可屏蔽中断请求。
IF=0:
CPU不可响应外部可屏蔽中断请求。
9.指令周期、总线周期和时钟周期的概念。
指令周期:
CPU从内存取一条指令并执行该条指令所用的时间。
不同指令的指令周期长度是不同的。
CPU每执行一条指令,至少要通过总线对存储器访问一次(取指令),所以指令周期至少包含一个总线周期指令周期又可以划分为若干个总线周期。
总线周期:
8086CPU通过总线对外部(存储器或I/O接口)进行一次访问所需的时间称为一个总线周期。
时钟周期:
相邻两个时钟脉冲上升沿(下降沿)之间的时间间隔称为时钟周期,也称为T状态。
由计算机的主频决定(主频的倒数),T状态是总线操作的最小时间单位。
如果8086的时钟频率为5MHz(8086-1:
10MHz,8086-2:
8MHz),故时钟周期为200ns。
10.总线周期的构成。
何时有总线周期?
1.一个基本的总线周期通常包括4个时钟周期即T1,T2,T3和T4。
2.任何指令的取指阶段都需要存储器读总线周期,读取的内容是指令代码。
任何一条以存储单元为源操作数的指令都将引起存储器读总线周期,任何一条以存储单元为目的操作数的指令都将引起存储器写总线周期。
只有执行IN指令才出现I/O读总线周期,执行OUT指令才出现I/O写总线周期。
CPU响应可屏蔽中断时生成中断响应总线周期。
11.等待时钟周期,以及何时插入等待周期。
考虑到CPU和慢速的存储器或I/O接口之间传送的实际情况,8086具有在总线周期的T3和T4之间插入若干个附加时钟周期的功能。
这种附加时钟周期称为等待时钟周期TW。
在读写总线周期中,判断是否插入Tw:
1.在T2状态结束之前,存储器或外设如果无法在T3状态完成与CPU的数据传送,那么将通过READY发送低电平。
2.在T3的前CPU沿检测READY引脚是否为有效高电平。
3.如果READY无效,在T3之后插入一个Tw。
4.如果存储器或外设I/O端口和CPU之间完成了数据传输,则会通过READY线向CPU发送“准备好”信号,CPU收到这一信号后,会自动脱离Tw状态,进入T4状态
12.8086微处理器的工作模式的概念。
由硬件连线来确定,具体说就是利用MN/引脚所加电平来区别:
MN/接高电平+5V为最小模式
MN/接低电平0为最大模式
13.8086在最小模式下的典型配置。
8086在最大模式下的典型配置。
最小模式:
8086CPU时钟发生器8284×
1地址锁存器8282×
3总线收发器8286×
2
最大模式:
2总线控制器8288×
1
14.8086所有引脚信号。
(1)数据和地址引脚
1、AD15~AD0(Address/Data)
-地址/数据分时复用引脚,双向、三态
在访问存储器或外设的总线操作周期中,这些引脚在第一个时钟周期输出存储器或I/O端口的低16位地址A15~A0其他时间用于传送16位数据D15~D0
2、A19/S6~A16/S3(Address/Status)
-地址/状态分时复用引脚,输出、三态
这些引脚在访问存储器的第一个时钟周期输出高4位地址A19~A16
在访问外设的第一个时钟周期全部输出低电平无效
其他时间输出状态信号S6~S3
S6:
总为低电平,表示8086与总线相连。
S5:
表示了中断允许标志的状态。
当IF=1时S5置1。
S4和S3:
指示是哪一个段寄存器正在被使用。
S4S3=00表示CPU当前使用ES,
S4S3=01表示CPU当前使用SS,
S4S3=10表示CPU当前使用CS或未用,
S4S3=11表示CPU当前使用DS。
(2)读写控制引脚
1、M/
(Memory/InputandOutput)
-存储器或I/O访问,输出、三态
该引脚输出高电平时,表示CPU将访问存储器,这时地址总线A19~A0提供20位存储器地址
该引脚输出低电平时,表示CPU将访问I/O端口,这时地址总线A15~A0提供16位I/O端口地址
2、
(Write)
-写控制,输出、三态、低电平有效
有效时,表示CPU正在写出数据给存储器或I/O端口。
3、
(Read)
-读控制,输出、三态、低电平有效
有效时,表示CPU正在从存储器或I/O端口读入数据。
4、ALE(AddressLatchEnable)
-地址锁存允许,输出、三态、高电平有效
送给地址锁存器8282的控制信号,ALE在每个总线周期的T1输出高电平。
由于地址信息在复用引脚上出现的时间很短暂,所以系统可以利用ALE引脚将地址锁存起来
5、
(DataEnable)
-数据允许,输出、三态、低电平有效
送给总线收发器8286的控制信号
有效时,表示当前数据总线上正在传送数据,可利用它来控制对数据总线的驱动
6、DT/
(DataTransmit/Receive)
-数据发送/接收,输出、三态
8086提供给8286的控制信号
该信号表明当前总线上数据的流向
高电平时数据自CPU输出(发送)
低电平时数据输入CPU(接收)
7、READY
-存储器或I/O口就绪,输入、高电平有效
在总线操作周期中,8086CPU会在第3个时钟周期的前沿测试该引脚
如果测到高有效,CPU直接进入第4个时钟周期
如果测到无效,CPU将插入等待周期Tw。
CPU在等待周期中仍然要监测READY信号,有效则进入第4个时钟周期,否则继续插入等待周期Tw,直到在最后一个等待周期完成数据传送。
8、
/S7(BusHighEnable/Status):
高8位数据允许/状态,输出,低电平有效
在T1状态输出低电平时,表示高8位数据线上的数据有效。
和AD0配合表示当前总线的使用情况。
S7在8086中未定义
(3)中断请求和响应引脚
1、NMI(Non-MaskableInterrupt)
-不可屏蔽中断请求,输入、上升沿有效
当系统发生紧急情况时,可通过它向CPU申请不可屏蔽中断服务
有效时,表示外界向CPU申请不可屏蔽中断。
不受IF的影响,CPU会在当前指令结束之后,去处理。
2、INTR(InterruptRequest)
-可屏蔽中断请求,输入、高电平有效
有效时,表示请求设备向CPU发出可屏蔽中断请求。
CPU在每个指令周期的最后一个T状态对其采样,若为高电平,且IF=1则CPU在结束当前指令后去响应该中断,执行中断响应周期。
(InterruptAcknowledge)
-可屏蔽中断响应,输出、低电平有效
有效时,表示来自INTR引脚的中断请求已被CPU响应,CPU进入中断响应周期。
中断响应周期是连续的两个总线周期,每个周期的T2、T3、TW都发出有效的低电平响应信号,以便通知外设它们的中断请求已被响应、并令有关设备将中断类型号送到数据总线。
(4)总线请求和响应引脚
1、HOLD
-总线保持(即总线请求),输入、高电平有效
有效时,表示总线请求设备向CPU申请占有总线。
CPU在每个T状态的上升沿检测HOLD。
若CPU允许就会在当前总线周期的T4发出响应信号,同时让出总线的使用权。
该信号从有效回到无效时,表示总线请求设备对总线的使用已经结束,通知CPU收回对总线的控制权。
2、HLDA(HOLDAcknowledge)
-总线保持响应(即总线响应),输出、高电平有效
有效时,表示CPU已响应总线请求并已将总线释放
此时CPU的地址总线、数据总线及具有三态输出能力的控制总线将全都呈现高阻,使总线请求设备可以顺利接管总线。
待到总线请求信号HOLD无效,总线响应信号HLDA也转为无效,CPU重新获得总线控制权
(5)其它引脚
1、RESET
-复位请求,输入、高电平有效
该信号有效,将使CPU复位到初始状态;
指令队列清零,F、IP、DS、ES、SS清零,CS=FFFFH。
该信号至少要维持4个时钟周期的高电平才能完成复位过程,之后,当它返回低电平时,CPU将重新开始启动。
复位后CS=FFFFH、IP=0000H,所以程序入口在物理地址FFFF0H。
2、CLK(Clock)
-时钟输入
时钟发生器8284通过该引脚给CPU提供内部定时信号。
最高频率对8086为5MHz(8086-1:
8MHz)。
3、Vcc
电源输入,向CPU提供+5V电源
4、GND
接地,向CPU提供参考地电平
5、MN/
(Minimum/Maximum)
模式选择,输入接高电平时,8086引脚工作在最小模式;
反之,8086工作在最大模式。
6、
-测试,输入、低电平有效
该引脚与WAIT指令配合使用
当CPU执行WAIT指令时,它将在每个时钟周期对该引脚进行测试:
如果无效,则程序踏步并继续测试;
如果有效,则程序恢复运行
也就是说,WAIT指令使CPU产生等待,直到引脚有效为止。
在使用协处理器8087时,通过引脚和WAIT指令,可使8086与8087的操作保持同步
CPU引脚是系统总线的基本信号
可以分成三类信号:
16位数据线:
D0~D15
20位地址线:
A0~A19
控制线:
ALE、
、DT/
、M/
、
、READY、
、CLK
INTR、
、NMI、HOLD、HLDA
MN/
、RESET、
、CLK、Vcc、GND
15.低8位数据总线的选通信号AD0和高8位数据总线的选通信号。
1.AD0--低8位数据的选通信号
CPU的传输特性决定了:
只要是和偶地址传输数据,则CPU必定通过总线的低8位(AD7~AD0)来传输数据。
2.
高8位数据允许/状态,输出,低电平有效
在T1状态输出低电平时,表示高8位数据线上的数据有效。
S7在8086中未定义
16.对规则字和非规则字的操作的区别。
17.为什么要用总线收发器8286、总线控制器8288和地址锁存器8282?
总线收发器8286
8位三态双向缓冲器
有8路双向缓冲电路,可实现8位数据的双向传送,输出与输入同相
总线控制器8288
在多处理器系统中,除了要解决对存储器和I/O设备的控制、中断管理、DMA传送时总线控制权外,还必须解决多处理器对系统总线的分时共享控制问题和处理器之间的通信问题。
因为多个处理器通过公共系统总线共享存储器和I/O设备,所以必须增加相应的逻辑电路-总线控制器8288。
地址锁存器8282
8282是8位三态输出的透明锁存器
输出控制信号无效时,不允许数据输出,呈高阻状态
输出控制信号有效时,允许数据输出
锁存器的输出能够跟随输入变化
18.地址锁存器、总线收发器与8086系统的连接。
地址锁存器与8086系统的连接:
需要锁存的数据包括20位地址和1位信号,共需3片8282。
3片8282的数据输入端分别和8086的AD0~AD15,A16/S3~A19/S6,相连,输出与A0~A19的20条地址线和控制线相连。
其中A0~A19称为系统地址总线。
3片8282的STB端与8086的地址锁存允许信号ALE相连。
在不用DMA控制器的8086单处理器系统中,8282的引脚接地。
总线收发器与8086系统的连接:
16条数据线需用两片8286收发器。
16条数据线AD0~AD15(CPU级数据总线)与8286的A数据端相连。
16条数据线D0~D15(系统级数据总线)与8286的B数据端相连。
两片8286的OE*引脚与8086的数据允许信号DEN*相连,发送引脚T与8086的数据收发信号DT/R*相连。
这样,当8086与存储器、IO端口数据传送时,DEN*成为低电平,从而使OE*有效,控制8286进行数据传送。
19.系统复位后的状态。
当RESET信号有效后:
1.把所有三态输出线(包括AD15~AD0,A19/S6~A16/S3,BHE*/S7,M/IO*,DT/R*,DEN*,RD*,WR*和INTA*)2.都置成高阻抗状态,直到RESET信号回低电平结束复位操作为止。
而且这些信号在进入高阻抗状态的前半个时钟周期先被置为不起作用状态。
3.把不具有三态功能的控制信号(ALE,HLDA,RQ*/GT0*,RQ*/GT1*,QS0,QS1)都置为无效状态。
CS=FFFFH,IP=0000H
20.最小模式时读总线周期;
最大模式时写总线周期。
最小模式:
存储器读总线周期、存储器写总线周期
I/O读总线周期、I/O写总线周期
最大模式:
21.最大模式时的总线周期与最小模式时的总线周期的区别。
最大模式与最小模式系统不同之处有3点:
第一,用于8282锁存器及8286收发器的控制信号、读写控制信号和INTA*信号在最大模式系统中均由8288总线控制器根据CPU输出的3个状态S2*、S1*和S0*的状态产生;
第二,最小模式系统下的M/IO*、WR*和RD*信号在最大模式下由8288总线控制器产生的IORC*、IOWC*、MRDC*、MWTC*、AIOWC*、AMWC*代替;
第三,8288总线控制器输出的数据允许信号DEN的极性与最小模式下CPU产生的DEN*相反,使用时经反相加到8286的OE*端。
22.8086的中断类型有哪些。
1.硬件中断是由外部硬件产生的,又称为外部中断。
8086为外部设备提供了两条硬件中断信号线,即NMI和INTR,分别接收非屏蔽中断和可屏蔽中断请求信号。
2.软件中断是CPU根据软件的某条指令或者软件对标志寄存器的某个标志位的设置而产生的,由于它与外部硬件电路完全无关,故也称为内部中断。
在80X86系统中,内部中断主要有以下几种:
除法出错中断——0型中断
单步中断——1型中断
溢出中断——4型中断
指令中断——n型中断
23.中断向量和中断向量表。
中断向量地址指针的计算。
中断向量:
实际上就是中断处理程序的入口地址(段地址+偏移地址)。
通常在内存的最低1KB(00000H~003FFH)建立一个中断向量表,分成256个组,每组占4个字节,用以存放256个中断向量。
每个中断向量占4个字节,其中前2个字节存放中断处理程序入口地址的偏移量(IP,16位),后2个字节存放中断处理程序入口地址的段地址(CS,16位)。
按照中断类型码的序号,对应的中断向量在中断向量表中按规则顺序排列。
中断向量地址指针=4×
中断类型码
24.可屏蔽中断的响应过程。
可屏蔽中断的处理过程。
可屏蔽中断的响应过程:
①执行中断响应总线周期,CPU获得相应的中断类型码,将它左移2位形成中断向量表指针,存入暂存器。
②把CPU的标志寄存器F入栈,保护各个标志位。
③清除IF和TF标志,以禁止中断响应过程中其他可屏蔽中断的进入,同时也禁止了中断处理过程中出现单步中断。
④保存断点,即把断点处的IP和CS值压入堆栈,先压入CS值,再压入IP值。
⑤从中断向量表中取中断服务程序的入口地址,分别送至CS和IP中。
⑥按新的地址指针执行中断服务程序。
可屏蔽中断的处理过程:
①进一步保护现场。
(PUSH命令)
②开中断IF=1。
(STI命令)
③中断服务。
(相应程序段)
④关中断IF=0。
(CLI命令)
⑤恢复现场。
(POP命令)
⑥开中断IF=1。
⑦中断返回。
(IRET命令)
25.8086存储器物理地址的计算方法。
物理地址=段寄存器的内容×
16+偏移地址(PA=段寄存器的内容×
16+EA)
26.图2.18所示CS、DS、SS和其它寄存器组合指向存储单元的示意图。
27.8086的I/O的编址。
8086系统和外部设备之间是通过I/O芯片(I/O接口)来联系的。
每个I/O芯片都有一个或几个端口,每个端口往往对应芯片内部一个寄存器。
微型机系统要为每个端口分配一个地址,此地址叫端口号。
8086允许有=65536(64K)个8位的I/O端口,两个相邻的8位端口可以组合成一个16位端口。
对I/O端口,可以用2种方式进行编址:
1.通过硬件将I/O端口和存储器统一编址。
优点:
利用访问存储器的指令来实现对I/O端口的读/写,而对存储器的访问指令很多,功能强,使用灵活。
缺点:
I/O端口占用内存空间;
访问指令长,速度慢;
访问I/O口指令和访问内存指令一样,影响指令的可读性。
2.I/O端口独立编址。
采用这种编址方式,指令系统中有专用于I/O口的指令。
指令运行速度快;
可读性强
28.Pentium中最重要的创新技术是什么?
先进的体系结构,CISC和RISC相结合的技术,超标量流水线技术,分支预测技术
29.Pentium的3种工作方式:
实地址方式、保护方式、虚拟8086方式。
1.实地址方式:
主要是为Pentium进行初始化用的,刚加电或复位时,便进入实地址方式。
在这种方式下,为保护方式所需要的数据结构做好各种配置和准备。
实地址方式下,采用类似于8086的体系结构。
有以下特点:
1.寻址机构、存储器管理、中断处理机构均和8086一样。
2.操作数默认为16位。
3.存储器容量最大为1MB,采用分段方式,每段大小固定为64KB。
4.存储器中保留两个固定区域:
初始化程序入口区:
FFFF0H~FFFFFH中断向量表区:
00000H~003FFH
2.保护方式:
是Pentium最常用的方式。
通常开机或复位后,先进入实地址方式完成初始化,便立即转入保护方式。
此方式提供了多任务环境中的各种复杂功能以及对庞大的存储器组织的管理机制。
只有在保护方式下,Pentium才能发挥其强大的功能和本性,也称本性方式。
所谓保护,主要是指对存储器的保护。
在保护方式下,有如下特点:
1.存储器用逻辑地址空间、线性地址空间和物理地址空间三种方式来描述。
2.映像机制使逻辑地址空间大大超过实际的内存空间。
3.既能进行16位运算,也能进行32位运算。
3.虚拟8086方式:
在保护方式下,可通过软件切换到虚拟8086方式。
1.可以执行8086的应用程序。
2.段寄存器的用法和实地址方式时一样,即段寄存器内容左移4位加上偏移量为线形地址。
3.存储器寻址空间为1MB,将1MB分为256个页面,每页4KB。
在Pentium多任务系统中,可以使其中一个或几个任务使用虚拟8086方式。
此时,一个任务所用的全部页面可以定位于某个物理地址空间,另一个任务的页面可以定位于其他区域,即对各个任务可以转换到物理存储器的不同位置,这样,把存储器虚拟化了。
30.Pentium实地址方式和虚拟8086方式区别。
①多任务问题
Real:
CPU不支持多任务,所以实地址是针对整个CPU而言的。
Virtual:
CPU工作于多任务状态下的某一个任务所对应的方式。
②寻址空间问题
Real:
整个系统的寻址空间最大为1MB。
每个任务的寻址空间为1MB。
③内存管理问题
内存采用分段方式。
内存除了采用分段方式,还采用分页方式。
31.段选择子、段描述符、全局描述符表GDT、局部描述符表LDT、全局描述符表寄存器GDTR和局部描述符表寄存器LDTR的概念。
课本p49-p50
32.逻辑地址、线性地址和物理地址的概念。
第3章
33.Pentium的寻址方式。
一.立即数寻址
操作数直接包含在指令中,它紧跟在操作码的后面,与操作码一起放在代码段区域中。
例如:
MOVAL,80H
二.寄存器寻址
操作数在CPU的内部寄存器中,寄存器名在指令中给出。
8位:
AH、AL、BH、BL、CH、CL、DH、DL
16位:
AX、BX、CX、DX、SI、DI、SP、BP
32位:
EAX、EBX、ECX、EDX、ESI、EDI、ESP、EBP
三.输入/输出端口寻址
80X86指令中有专门的输入/输出指令。
CPU和外设交换数据均通过I/O接口中的端口进行。
有直接寻址和间接寻址两种:
直接寻址
I/O端口的地址直接在指令中给出INAL,80H
OUT81H,AL
INAX,80H
OUT81H,AX
寻址范围:
00H---FFH(0--255)
间接寻址
I/O端口的地址在寄存器DX中INAL,DX
OUTDX,AL
INAX,DX
OUTDX,AX
(DX内容为地址)0000H---FFFFH(0--65535)
四.存储器寻址
在大多数情况下,操作数在存储器中。
有效地址(EffectiveAd