第二章 16位微处理器 ♥

考点1:功能结构类型、寄存器结构的类型

第二章 16位微处理器 ♥_第1张图片第二章 16位微处理器 ♥_第2张图片

 8088/86寄存器的总结

8个8位、816位通用寄存器

6个状态标志和3个控制标志

1MB存储空间分段管理,有4个段寄存器【CPU中】,对应程序中4种逻辑段【段首地址】

默认【DS】的情况允许改变,需要使用段超越前缀指令,明确指定数据所在的逻辑段

MOV AX,ES:[BX]     加上了ES超越前缀改变了数据段的位置,访问的是附加段的内容

指针寄存器

指针寄存器用于寻址内存堆栈内的数据

        SP为堆栈指针寄存器(Stack Pointer) ,指示堆栈段栈顶的位置(偏移地址)

        BP为基址指针寄存器(Base Pointer) ,表示数据在堆栈段中的基地址

SP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址

MOV AX, [BP]   默认使用SS

push, sp-2

pop,sp+2

堆栈(Stack)是主存中一个特殊的区域,采用“先进后出”或“后进先出”存取操作方式、而不是随机存取方式。

第二章 16位微处理器 ♥_第3张图片用8088/8086形成的微机系统中,堆栈区域被称为堆栈段

比如:定义100个字节的堆栈区,用于子程序或中断调用保护信息。

STAK SEGMENT [PARA STACK 'STACK' ]    #堆栈区域
    DB 100DUP(?) 
STAK ENDS                            #定义堆栈结束

CODE SEGMENT                        #代码段区域
    ASSUME CS:CODE,SS:STAK     #通过段名复制给SS
。。。。
CALL /INT

# PARA :段地址从***OH开始   一个小节=16个字节  如果不写CPU默认使用小节
# STACK :指定该段运行时为堆栈段
# 'STACK':连接时用于组成该段的名字

指令指针寄存器

IP (Instruction Pointer)为指令指针寄存器,指示主存储器指令的位置。随着指令的执行,IP将自动修改以指示下一条指令所在的存储单元地址

CS:IP 确定逻辑地址和物理地址

标志寄存器

标志(Flag)用于反映指令执行结果或控制指令执行形式

8088处理器的各种标志形成了一个

16位的标志寄存器(FLAGS);

9位有效,6位状态位3位控制位

程序状态字PSW寄存器

程序运行需要利用标志的状态


状态标志:用来记录程序运行结果的状态信息,许多指令的执行都将相应地设置:CF ZF SF PF OF AF控制标志:可由程序根据需要用指令设置,用于控制处理器执行指令的方式DF IF TF

溢出和进位的区别

·溢出标志OF和进位标志CF是两个意义不同的标志·

进位标志表示无符号数运算结果是否超出范围,运算结果仍然正确

溢出标志表示有符号数运算結果是否超出范围,运算结果已经不正确


例1: ЗAH+7CH=OB6H

无符号数运算: 0~255

58+124= 182范围内,CF=0

有符号数运算:  -128~+127

58+124=182范围外,OF=1

例2: 8位运算: OAAH+7CH=

无符号数运算: 0~255

170+124=294范围外,CF=1

有符号数运算:  -128~+127

-86+124=28,范围内,OF=0

溢出和进位的应用场合

`利用哪个标志,由程序员来决定`。

如果将参加运算的操作数认为是无符号数,就应该关心进位;

认为是有符号数,则要注意是否溢出。

考点3:8086/88引脚及其功能

第二章 16位微处理器 ♥_第4张图片

 第二章 16位微处理器 ♥_第5张图片

 intel 80x86cpu的数据线位数

intel 80x86                 数据位数

8086                                16

8088                                8                [准16位]

80286                               16

8386~Pentium 4               32


8088【2^15x8位=32kb】

8086:2^15x16=32kb字=64kb       【16位数据线会涉及到奇偶体】


“引脚”总结

CPU引脚分成三类系统总线信号:

8088:8位数据线:Do~D7

8086:16位数据线:Do~D15

20位地址线:A~A19

控制线:

        ALE、IO/M (8086; M/IO)、WR、RD、READY、 INTR、INTA、NMI,HOLD、HLDA、RESET、 CLK、 Vcc、 GND


8088和8086区别:

两种CPU完全兼容,主要区别:

        (1)数据总线位数的差别

                8088:8位

                8086:16位

        (2)指令队列容量的差别:

                8088为4字节,

                8086为6字节

        (3)引脚特性的差别:

                ① AD15~AD0的定义不同:

                ②34号引脚的定义不同:8086为 BHE

                 ③28号引脚的相位不同:在8086中为 M/IO

而在8088中被倒相,改为IO/M


       8088和8086引脚注意事项:

(1)功能、类型

(2)工作电平

(3)分时复用

(4)工作模式

(5)方向

(6)三态


第二章 16位微处理器 ♥_第6张图片

NMI:   【2型】,外中断

 系统板的RAM在读写时产生奇偶校验错;

I/0通道中的扩展选件出现奇偶校验镨;

协处理器8087【浮点运算】的异常状态产生的中断。

INTR:

外设硬件通过8259向CPU产生的请求信号

【外设】——8255——cpu

                         |        cpu

                        8259  传送到cpu 【8259通过中断类型号传给cpu】


考点4: 8088/8086CPU工作模式及配置

工作模式设置:MN/MX   33#

        由设置者决定工作模式

最小工作模式:

系统中只有一个8086/88微处理器。系统中所需要的控制信号全部由8086(或8088) CPU本身直接提供。如图:第二章 16位微处理器 ♥_第7张图片

20根地址线 

最大工作模式:

系统中除了主处理器8086/88,还有协处理器(8087算术协处理器或8089输入/输出协处理器)。系统中所需要的控制信号由8288[总线控制器]提供。

第二章 16位微处理器 ♥_第8张图片第二章 16位微处理器 ♥_第9张图片

第二章 16位微处理器 ♥_第10张图片考点5: 8088/8086CPU操作时序

1.系统复位与启动的特点(Reset时序图, 2-11)

第二章 16位微处理器 ♥_第11张图片reset由低向高才会执行复位

三态信号线

RESET

复位请求,输入[由8284]、高电平有效该信号有效,将使CPU初始化86/88复位后

CS= FFFFH、IP = 000OH,所以程序入口在物理地址OFFFFOH位置处。

2.总线的读/写操作及时序功能特点

(1)分时复用总线的时刻

(2)引脚的功能和配合方式

(3)引脚的工作电平:高、低、三态

(4)读/写、访问主存/接口的区别

(5)总线周期、时钟周期及等待周期关系a

i/o读总线周期

第二章 16位微处理器 ♥_第12张图片存储器的读/写

第二章 16位微处理器 ♥_第13张图片Ready:

总线操作周期中,

Ready=1,外设就绪,CPU继续读/写

Ready=0, CPU将插入等待周期;

第二章 16位微处理器 ♥_第14张图片第二章 16位微处理器 ♥_第15张图片一、判断题

        1.8086CPU的Ready信号是由外部硬件产生的。(V)

                                是由外部硬件8284产生的。

        2.8086系统的存储器引入了分段的概念,每个段必须为64KB,段与段之间可以是独立的。 (X)                                每个段小于等于64kb

        3.需要8086、 8282和8286就能构成一个最小8086CPU的微机系统。(X)

×,构成一个最小8086 CPU的微机系统除了8086、8282、8286至少还需要8284时钟发生器

        4, 8086CPU的最小模式是为实现多处理器系统而设计的。 (X)

最大模式

        5,物理地址和逻辑地址都是唯一代表内存单元的地址。(X)

物理地址是唯一代表内存单元的地址。

        6.8088/8086的数据可以存放在几个不连续的段中。 (V)

        7.8088/8086中,取指令和执行指令不可以重叠操作。(x)

    可以重叠操作 

        8.8086向存储器的奇地址写一个字节的数据时,需要一个总线周期,在该总线周期内的第一个时钟周期中, Ao为0。(X)       A0=1

9,寄存器由具有特殊用途的部分内存单元组成,是内存的一部分。 X

寄存器是CPU的组成部分,与内存无关。

10.8086系统中,一个栈可用的最大存储空间是1MB

X    64kb    8086系统中,一个栈可用的最大存储空间是64KB


二、选择题

        (1) CPU对主存读周期时,根据IP提供的有效地址,从内存中取出(D)

A. 操作数        B.操作数地址        C.转移地址        D.操作码

        (2) CPU对存储器或1/O端口完成一次读/写操作所需的时间为一个(B)。

A. 指令周期        B.总线周期        C.时钟周期        D.机器周期

三、简述分析题

        1,某计算机主频为8MHZ,每个机器周期平均2个时钟周期,每条指令平均2.5个机器周期,则该机器的平均指令执行速度为多少MIPS。

        答:如果该机器的主频为8MHZ,则
       

         时钟周期为:1/8=0.125μS

        机器周期为: 0.125μS×2=0.25uS

        指令周期为: 0.25μS×2.5=0.625μS

        所以,该机器的平均指令执行速度为1/0.625-1.6MIPS、

2. 简述读内存的基本过程。

答:读内存的过程就是取指令(或取数)的过程:

        (1)CPU先将待取指令(数据)的地址送上地址总线并译码指定到对应的内存单元。

        (2)CPU再发出读信号

        (3)内存单元内容的送出指令(数据),到数据总线。

        (4)指令(数据)通过数据总线送到CpU

        (5)取指令时, CPU内部存入指令队列(取指特有),取数据时,数据存入CPU的指定寄存器。

3.什么是引脚的分时复用?请说出8086CPU有哪些引脚是分时复用引脚?如何分时复用?

答: 8086的数据线和地址线是分时复用的,所以常把8086的总线称为多路总线,即某一时刻总线上出现的是地址,另一时刻总线上出现的是数据。正是这种引脚的分时使用方法才能使8086用40条引脚实现20位地址、16位数据及众多的控制信号和状态信号的传输。

答: 8086CPU的分时复用的引脚有:地址/数据复用引脚是: AD15~AD,,在总线周期的T状态,传送地址信息,在其它状态则传送数据信息;

 地址/状态复用引脚是: A1g/S6-A16/S3,这些引脚在总线周期的T状态输出地址的高4位,在总线的T2、T3、 Tw和T状态时,用来输出状态信息。

4.8086CPU的形成三类总线时,为什么要对部分地址线进行锁存?用什么信号控制锁存?8086系统中采用什么地址锁存器?

答:为了确保CPU对存储器和1/0端口的正常读/写操作,要求地址和数据同时出现在地址总线和数据总线上。

而在8086CPU中AD,~AD1s总线是地址/数据复用的,因此需在总线周期的T2传送出地址信息,并存于地址锁存器中,而用T2T周期传送数据。

8086CPU中是通过CPU送出的ALE[地址锁存器]高电平信号来控制锁存的。

8086/8088CPU系统中采用8282或74LS373地址锁存器,一片8282只能锁存8位的地址,所以至少要3片才能完整的锁存20位的地址。 

考点6:中断相关概念:

中断、中断向量、中断向量表、中断向量(类型)码、中断优先级,中断过程等

中断类型码:

                中断向量号   n 0 1 2 3 4 21H

                0型   内中断  分母为零时中断

为了区别不同类型的中断,系统为每个中断源设置的编号,共0~255,用n表示.

中断向量:

        中断服务程序 (中断[服务子程序]处理程序)入口地址。

                cs:ip 指令地址

逻辑地址[cs:ip  [1000H:2000H]]

物理地址:csx16+ip

中断向量表:用以存效中断服务程序入口地址的内存空间。

向量表地址:中断向量在中断向量表中的位置。在8086系统中,n*4→向量表的入口,从此处读出4字节内容即为中断向量。

举例   如  INT 21H  的地址就是用 21H X4  =84H 就是这个向量表的地址


中断向量表 

总容量为1kb   范围是 【低】0000:【高】03FFH

第二章 16位微处理器 ♥_第16张图片

中断嵌套

优点:提高中断响应的实时性,保证系统能够及时响应优先级高的中断请求。

条件:中断请求的优先级高于正在执行的中断处理程序的优先级;

>如果是外中断,CPU的PSW的IF=1,开中断;

 中断请求未被8259屏蔽;

没有不可屏蔽中断请求和总线请求(DMA)。


假如外设A1、A2、 A3、A4、A5按优先级排列,外设A1优先级最高,按下列提问,说明中断处理的运行次序(中断服务程序中有STI指令) ,画图表示。

(1)外设A3, A4同时发中断请求;

(2)外设A3中断处理中,外设A1发中断请求;

(3)外设A1中断处理未完成前,发出EOI结束命令,外设A5发中断请求。 

第二章 16位微处理器 ♥_第17张图片

第二章 16位微处理器 ♥_第18张图片

第二章 16位微处理器 ♥_第19张图片

中断过程

一个完整的中断过程一般经历五个步骤:中断请求、中断优先级判定、中断响应、中断处理和中断返回。


中断响应过程中,为什么通常要保护现场?如何保护?哪些信息要进行保护?

答:因为中断服务程序会用到CPU主程序中的寄存器,(累加器、保存各种状态的PSW),会把这些数据覆盖,为了存中断前的状态不被破坏,在中断返回时,通常要保护现场。

方法是把要保护的内容压入到堆栈。

保护现场通过利用一系列PUSH指令保护CPU现场,即将相关寄存器的内容入栈保护起来

中断的处理过程为:

关中断(在此中断处理完成前,不处理其它中断)、 [cli]

保护现场、  【push】

执行中断服务程序、

恢复现场、[pop]

开中断。[sti]


一、选择题1. 中断处理不能中断()

        A. 当前子程序执行

        B. 当前指令的执行

        c.当前中断服务程序执行

        D.当前主程序的执行

2. 中断服务程序中有一条 STI 指令,目的是(C)。

        A. 开放所有屏蔽中断

        B. 允许低一级中断产生

        c. 允许高一级中断发生

        D. 允许同级中断产生

在中断服务程序中,STI(Set Interrupt Flag)指令的目的是:

C. 允许高一级中断发生

STI指令会将中断标志位置为1,从而允许高一级中断触发。这是为了确保在中断服务程序执行期间,更高优先级的中断可以被响应。

3,在中断系统中,中断类型号是在()的作用下送往CPU的。

        A. 读信号

        B. 地址译码信号

        C.中断请求信号INTR

        D.中断响应信号  [INTA]

4. CPU在中断响应过程中(),是为了能正确地实现中断返回。

        A. 识别中断源

        B/断点压栈

        C.获得中断服务程序入口地址

        D. 清除中断允许标志IF

5,在PC机中,启动硬中断服务程序执行的是()

A. 主程序中安排的中断指令

B.中断控制器发出的中断请求信号

c.主程序中安排的转移指令

D. 主程序中安排的调用指令


二、填空题

1. 中断是指中断是指计算机系统在执行程序时,暂停正在运行的进程以执行优先级更高的任务或处理紧急事件的机制。这可以包括外部设备的请求、异常事件的发生或定时器中断等。中断允许计算机在必要时刻切换任务,以提高系统的响应性和多任务处理能力

实现中断功能的控制逻辑称为中断系统

2.中断源是指   引起中断的设备或事件

按照CPU与中断源的位置可分为 内  外

3. CPU内部运算产生的中断主要有  0型【除法错中断】  3型 【断点】 4型【溢出】

4.中断源的识别通常有_____查询中断和向量中断___两种方法;前者的特点是_____;后者的特点是_____

多个中断源公用一个中断入口服务程序,通过执行一段查询程序,确定引起中断的中断源状态,然后做相应的中断处理

每个中断源对应一个中断服务入口地址,由中断向量来指示中断服务程序入口地址

5.中断向量是存放中断向量的存储区称为 中断服务程序的入口地址

存放中断向量的存储区称为 中断向量表

6, 8086中断系统可处理256种不同的中断,对应中断类型码为_0~255,每个中断类型码与一个中断相对应,每个中断向量需占用4个字节单元;两个高字节单元存放中断入口段地址[CS]_,两个低字节单元存放中断入口偏移地址 [IP]_

7·如果有中断向量表指针是004CH,假设由该指针起的四个内存单元中顺序存放着59H,ECH, OOH, FOH,则中断服务程序入口的物理地址是 0FEC59H     如果求中断向量号   004Cx4

 8. CPU在中断服务程序中需要响应比当前中断源更高级别的中断,则应在中断服务程序的开头加上STI_,中断服务子程序的最后一条指令是_IRET


三、简述分析题

1. 8086/8088系统中可以引入哪些中断?

外部中断。不可屏蔽中断NMI和可屏蔽中断INTR内部中断。

内部中断又称软件中断,三种情况引起:

①INTn:中断指令引起的中断

②CPU 的某些运算错误引起的中断:包括除法错中断和溢出中断

③调试程序debug 设置的中断:单步中断和断点中断。

 2.若8086系统采用单片8259A,其中断类型码为46H,则其中断向量表的中断向量地址指针是多少?

这个中断源应连向哪一个输入端87/78?

若中断服务程序入口地址为OABCOOH,则其向量区对应的4个单元的数码依次为多少?

答:中断向量表的地址指针是0:46H,即0:118H【46hx4】。这个中断源应连向8259的IR6输入端。若中断服务程序入口地址为OABCOOH,则其向量区对应的4个单元的数码依次为00、OC、00、AB,这只是其中一种方案,其实答案很多。

3. 8086/8088CPU 如何获得中断类型号?

对于内部中断 

① INT n:n 即为中断类型号

②除法错中断自动获得类型号0,INTO溢出中断自动获得中断类型号4

③单步中断自动获得类型号1,断点中断自动获得类型号3。

对于外部中断

①不可屏蔽中断 NMI:自动获得中断类型号2

②可屏蔽中断 INTR:CPU响应可屏蔽中断,对中断接口电路发出两个中断响应信号INTA,中断接口电路收到第二个INTA以后,通过数据线向CPU送中断类型号。

中断响应时序图

第二章 16位微处理器 ♥_第20张图片

4,在编写程序时,为什么通常总要用STI和CLI中断指令来设置中断允许标志? 8259A的中断屏蔽寄存器IMR和中断允许标志IF有什么区别?

答:在某些程序段处理避免中断时要用CLI指令关中断,在于要嵌套中断调用的程序段的位置用STI指令开中断。

8259A的中断屏蔽寄存器IMR对个别中断源的屏蔽与否处理;CPU中断允许标志IF对总所有中断允许与否的处理。

5,某外部可屏蔽中断的类型码为08H,它的中断服务程序的人口地址为0020:0040H。请编程将该中断服务程序的入口地址填入中断向量表中。

CLI         
                   #关中断
MOV AX,00H        #段地址为0
MOV DS,AX

MOV S1,08H*4
MOV WORD PTR[SI],0040H    #间接寻址    把中断类型号装入到SI里面
INC SI
INC SI
MOV WORD PTR[S1],0020H 
STI                            #开中断

第二章 16位微处理器 ♥_第21张图片

中断类型号为20H的中断服务程序入口符号地址为SINT,试写出中断向量的装入程序段。

CLI                    #关中断
PUSH DS                #保护现场
XOR AX, AX        #清0
MOV DS, AX
MOV AX, OFFSET SINT        
MOV [80H],AX            #存IP
MOV AX, SEG SINT
MOV [82H], AX            #存cs

POP DS                #恢复现场
STI                    #开中断

SINT PROC NEAR   #SINT中断服务子程序


    IRET 
SINT ENDP

考点7:流水线技术,流水线的管理规则

 

两大部件:

        流水线的运行机制

        时间并行

        不同步 

简述流水线技术,8086/8088怎样实现了最简单的指令流水线?

答: (1)流水线技术是指在程序执行时多条指令重叠进行操作的一种并行处理实现技术。

(2)流水线技术的并行处理是指完成一条指令的各个部件在时间上是可以同时重叠工作,分别同时为多条指令的不同部分进行工作,以提高各部件的利用率。

(3)流水线技术是每个子过程由专门的功能部件来实现,每个子过程与其他子过程并行进行。

(4) 8086/8088中,指令的读取是在BIU单元,而指令的执行是在EU单元。因为BIU和EU两个单元相互独立、分别完成各自操作,所以可以并行操作。 

(5)在EU单元对一个指令进行译码执行时, BIU单元可以同时对后续指令进行读取。

第2章 总结

掌握8088/8086CPU的结构和引脚的功能。掌握8086/8088CPU 寄存器的组成及应用。

掌握8086/8088CPU的引脚构成,理解其功能、特性掌握计算机系统中断的相关知识。

掌握8088/8086CPU的结构和引脚的功能。掌握8086/8088CPU 寄存器的组成及应用。

掌握8086/8088CPU的引脚构成,理解其功能、特性掌握计算机系统中断的相关知识。 

你可能感兴趣的:(微机原理♥,河北专升本,1024程序员节)