当前位置:文档之家› 第二章 8086微处理器

第二章 8086微处理器

第二章 8086微处理器
第二章 8086微处理器

考点一:掌握8086/8088CPU的功能构成及流水线技术,理解流水线管理规则。

考点二:掌握8086/8088CPU寄存器的组成及其应用。

考点三:理解8086/8088CPU的内存分配,掌握实地址模式下的存储器地址变换方法。考点四:掌握8086/8088CPU的引脚构成,理解其引脚复用的特性。

2.18086/8088CPU的功能构成

1、8086/8088是Inter公司的第三代位处理器芯片。

其特点:

(1)具有20条地址总线,直接寻址能力为1MB。

(2)8086有16条数据总线,为16位微处理器;8088有8条数据总线,为准16位微处理器。

(3)片内总线和ALU均为16位,可进行8位和16位操作。

(4)8086/8088片内均由两个独立的裸机单元组成,即总线接口单元(BIU)和执行单元(EU)

2、总线接口单元BIU

(1)组成部件

14个16位段寄存器(CS、DS、SS、ES);

216位指令偏移地址寄存器(IP);

3指令队列寄存器(8086CPU:6字节;8088CPU:4字节);

4形成20位物理地址的加法器

5与EU通讯的内部寄存器;

6总线控制逻辑;

(2)功能:实现CPU与存储器或I/O口之间的数据传送

1自动按CS值和IP值组成20位实际地址的存储器中去取指令,一次取两个字节指令存放到指令队列中。

2由EU从指令队列中取指令,并根据EU请求,BIU将20位操作地址传送给存储器;

3取来操作数经总线控制逻辑传送到内部EU数据总线,由EU完成内部操作;

4操作结果:若EU提出请求,则由BIU负责产生20位实际目的地址,将结果存入存储器里;

3、执行单元EU

(1)组成部分:

116位算术逻辑单元(ALU);

216位状态标志寄存器FLAG;

38个16位通用寄存器组(AX,BX,CX,DX,SP,BP,SI,DI);

416位数据暂存器;

5EU控制电路;

(2)功能:

1从BIU指令队列中取指令;

2由EU控制电路对指令进行译码分析,指出操作性质及对象;

3在EU中计算出操作数的16位地址偏移量送给BIU,由BIU的加法器形成20位绝对地址;

4将取来的操作数经系统数据总线送ALU进行制定的操作;

5运算结果经内部总线送到指定位置;

4、EU和BIU单元执行过程中,应该满足的规则

(1)当指令队列寄存器中无指令时,EU处于等待状态;

(2)当指令队列中存满指令,而EU又没有访问存储器或I/O端口的需要,则BIU进入空闲状态;

(3)当指令队列中有两个空闲字节,则BIU自动执行取指令的总线周期;

(4)在EU执行指令时,需要访问存储器或I/O端口,如果这时BIU正在取指令,则应等待BIU 完成取指令周期,然后BIU进入存储器和I/O端口访问周期;

(5)在EU执行转移,子程序调用或返回等指令时,自动清除指令队列的内容。

2.28086/8088CPU的流水线技术

1、流水线技术即指令执行的顺序

BIU和EU分开,取指令和执行指令可以重叠,大大减少了等待区赤岭所需要的时间,提高CPU的利用率。

2、BIU和EU的动作协调原则

BIU和EU按以下流水线技术原则协调工作,共同完成所需要的任务。

(1)每当8086的指令队列中有两个空字节,BIU就会自动把指令取到指令队列中。其取值的顺序是按指令在程序中出现的前后顺序。

(2)每当EU准备执行一条指令时,它会从BIU部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者I/O端口,那么EU就会请求BIU,进入总线周期,完成访问内存或I/O端口的操作;如果此时BIU正好处于空闲状态,会立即响应EU的总线请求。如BIU 正将某个指令字节取到指令队列中,则BIU将首先完成这个取指令的总线周期,然后再去响应EU发出的访问总线的请求。

(3)当指令队列已满,且EU又没有总线访问请求时,BIU便进入空闲状态;

(4)在执行转移指令、调用指令和返回指令时,由于待执行指令的顺序发生了变化。则指令队列中已经装入的字节被自动消除,BIU会接着往指令队列转入转向的另一程序段中的指令代码。

将8086/8088CPU分成两个独立的功能部件使二者能够并行工作,把取指令工作和分析指令、执行指令工作重叠进行,从而提高CPU的工作效率,加快指令的执行速度。

指令队列可以被看成是个特殊的RAM,他的工作原理是“先进先出”,写入的指令只能存放在队列尾,读出的指令是队列头存放的指令。EU和BIU之间就是通过指令队列联系起来,多数情况下,BIU在不停的向队列写入指令,而EU每执行完一条指令后,就向队列读取下一条指令。二者的动作即独立,又协调。

2.38086/8088CPU寄存器的组成及应用

1、通用寄存器

8086/8088有4个16位的通用寄存器(AX、BX、CX、DX),可以存放16位的操作数,也可以分为8个8位的寄存器(AL,AH;BL,BH;CL,CH;DL,DH)来使用。

(1)AX称为累加器,多用于存放中间运算结果。所以I/O指令都通用AX与接口传送信息,中间运算结果也多放于AX中;

(2)BX称为基址寄存器,在间接寻址中用于存放基地址;

(3)CX称为计数寄存器,用于再循环或串操作指令中存放计数值,即存放循环次数或重复次数。

(4)DX称为数据寄存器,在间接寻址的I/O指令中存放I/O端口地址

系统中有两个16位的指针寄存器SP和BP

(1)SP是堆栈指针寄存器,由它的堆栈段寄存器SS一起来确定堆栈在内存中的位置,

其内容为栈顶的偏移地址;

(2)BP是基数指针寄存器,通常用于存放基地址。

BP和BX在应用上的区别:作为通用寄存器,二者都可以用于存放数据,作为基址寄存器,用BX表示所寻找的数据在数据段,用BP表示的数据在堆栈段。

3、变址寄存器

系统中有两个16位的变址寄存器SI和DI,其中SI是源变址寄存器,DI是目的变址寄存器,都用于指令的变址寻址方式。

4、控制寄存器

IP、标志寄存器是系统中的两个16位控制寄存器

(1)IP是指令指针寄存器,用来控制CPU的指令执行顺序,它和代码寄存器CS一起可以确定当前所要取的指令的内存地址。顺序执行程序时,CPU每取一个指令字节,IP自动加1.指向下一个要读取的字节;当IP单独改变时,会发生段内的程序转移;当CS和IP同时改变时,会产生段间的程序转移。

(2)标志寄存器的内容被称为处理器状态字PSW,用来存放8086CPU在工作过程中的状态。

5、段寄存器

系统中有4个16位段寄存器,即代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES。

这些段寄存器的内容与有效地址编译量一起,可确定内存的物理地址。通常CS划定并控制程序区,DS和ES控制数据区,SS控制堆栈区。

8086/8088内部标志寄存器的内容,又称为处理器状态字(PSW),共有9个标志位。可分为两类:一类为状态标志,一类为控制标志。

状态标志表示前一步操作(加、减等)执行以后,ALU所处的状态,后续操作可以根据这些状态标志进行判断,实现转移;

控制标志则可以通过指令人为设置,用以对某一种特定的功能起控制作用(如中断屏蔽等),反映了对微机系统工作方式的可控制性。

6个状态标志:表示处理器当前运行状态

CF:进位标志,做加法时最高位出现进位或做减法是最高位出现借位,CF=1

PF:奇偶标志,低8为中1的个数为偶数个,PF=1

AF:辅助进位,低4位向前有进(借)位,AF=1

ZF:零标志位,结果为0,ZF=1

SF:符号标志,与最高位一致

OF:溢出标志,双高位判别法

3个控制标志:控制处理器某一特定功能

IF:可屏蔽中段允许标志,IF=1表示允许

TF:陷阱标志(单步执行)

DF:方向标志,DF=0地址增量变化,DF=1地址减量变化

2.48086/8088的内存分配

1、存储单元的地址和内容

(1)存储器按字节编址

①一个字节单元占用一个地址码

②一个字节单元可存放8位数据。如字节单元(0002)=34H

(2)用MOV指令访问字节单元。

如MOV AL,[0002H];(AL)<--(0002H)

(3)一个字占用相继的两个单元。低字节在前,高字节在后。

(4)同一地址即可以看作字节单元地址,又可看作字单元地址,需要根据使用情况确定。

①字节单元:(0002H)=34H

字节访问:MOV AL,[0002H]

②字单元:(0002H)=1234H

字访问:MOV BX,[0002H]

(5)字单元又分为两种情况

①对准字:字的起始地址是偶地址字单元。如(0002H)=1234H

②非对准字:字的起始地址是奇地址。如(0003H)=7812H

(6)规则存放和非规则存放

①只有8086存储器才有规则存放和非规则存放的概念。

②多字节数据从偶数地址开始存放,称为规则存放;从奇数地址开始存放,

称为非规则存放。

③字节数据只占1个存储单元,不存在规则存放与非规则存放。

2、地址码宽度与存储容量

(1)地址码宽度为n位,则存储器容量为2^n个单元。如

1地址码宽度为10位(A9~A0),则存储器容量为:2^10个单元=1024个单元=1K个单元。

216位地址吗,访问内存64K,0000H~FFFFH

3

3、

MOV (16位地址

物理地址直接送至A19~A0访问内存。

3内存单元的物理地址是唯一的,但逻辑地址不是唯一的。

4当段地址不变时,改变偏移地址,可访问16KB区域,该区域称为一个段。

5当段地址确定后,改变偏移地址,可访问不同的内存单元。

6一般情况下,访问一个连续的内存区域时,段地址值是不同的,故引入

段地址寄存器来存放段地址的值。

78086/8088中4个专用的段地址寄存器,用来分别存放4个段的段地址值。

a)DS:数据段寄存器,用来存放数据段地址值;

b)CS:代码段寄存器,用来存放代码段段地址值;

c)SS:堆栈段寄存器,用来存放堆栈段段地址值;

2.6

1、I/O

2、采用了分时复用地址/数据总线技术,减少了芯片的引脚。

3、最小模式,在系统中只有一个处理器,所有总线控制信号都是直接由该处理器产生,此时系统中的总线接口电路被减到最少。

4、最大模式,是相对最小模式而言的,系统中包含两个或两个以上的微处理器,其中一个是主处理器,其他的处理器是协处理器,协助主处理器工作。

5、8086/8088CPU的最大或最小模式是由硬件决定的。是通过第33号引脚(MN/MX#)控制的。

6、8086CPU的引脚按其作用可分为5类

(1)地址/数据总线AD15~AD0(双向,三态)

(2)地址/状态线A19/S6~A16/S3(单向输出,三态)

7

(1)

请求做出响应。低电平表示CPU已经响应外设的中段请求,即将执行中断服务程序。

(2)ALE:地址锁存允许信号,输出。CPU利用该信号可以把AD15~AD0地址/数据、A19/S6~A16/S3地址/状态线上的地址信息锁存在地址锁存器中。

(3)DEN#:数据允许信号,输出,三态。用作总线收发器的选通控制信号。有效时,表明CPU进行数据的读/写操作。

(4)DT/R#:数据发送/接收信号,输出,三态。用来控制数据传送的方向。高电平时,CPU发送数据到存储器或I/O端口;低电平时,CPU接收来自存储器或I/O端口的数据。

(5)M/IO#:存储器/IO控制信号,输出。指明当前CU是选择访问存储器还是访问IO端口。高电平时,访问存储器,表示当前要进行CPU与存储器之间的数据传送;低电平时,访问IO端口,表示当前要进行CPU与IO端口之间的数据传送;DMA方式,此时为高阻态。

(6)WR#:写信号,输出。有效时,表示CPU正在进行写总线周期,同时由M/IO#信号决定是对存储器还是对IO端口执行写操作。

(7)HOLD:总线保持请求信号,输入。

(8)HLDA:总线保持响应信号,输出。

8、最大模式下的专用引脚信号(MN/MX#为低电平)

(1)QS0、QS1:指令队列状态信号,输出。QS0和QS1信号的组合可以只是总线接口部件BIU中队列指令的状态。

(2)S2#、S1#、S0#:总线周期状态信号,输出。他们的组合表明当前总线周期所进行的操作类型。

(3)LOCK#:总线封锁信号,输出。有效时,表示8086CPU不允许其它总线部件占用总线。

(4)RQ#/GT1#和RQ#/GT0#:总线请求信号输入/总线请求允许信号输出。高信号用以取代最小模式时的HOLD/HLDA两个信号的功能,是特意为多出力气系统而设计的。

第二课 Intel 8086微处理器简介

微型计算机主要是由微处理器(CPU)、主存储器、外部设备及互联部件组成,总线(数据总线、地址总线、控制总线)在部件之间提供通信。 Intel 8086微处理器按功能可分为两大部分:执行部件和总线接口部件 执行部件 主要由寄存器组、算逻部件、标志寄存器组成 含有8个16位的标志寄存器,这些标志寄存器属于CPU的专用存储器, 按其用途可分为两组:数据寄存器组和指示器变址寄存器组 数据寄存器组(AX、BX、CX、DX) 数据寄存器主要用来保存操作数和运算结果等信息。 AX:累加器,其作用为乘除运算,字的输入输出,中间结果的缓存 BX:基址寄存器,其作用为存储器的指针使用 CX:计数寄存器,其作用为串操作和循环控制 DX:数据寄存器,其作用为字的乘除运算,间接的输入输出,也可以用作存放I/O的端口地址 高8位H组:AH、BH、CH、DH 低8位L组:AL、BL、CL、DL 指示器变址寄存器(SI、DI、SP、BP) 它们一般存放操作数的偏移地址,用作指示器或者变址寄存器。 SP:堆栈指示器,其作用为存取堆栈的指针 DI:存储器指针,其作用为串指令目的操作数指针(目的变址寄存器) BP:堆栈操作数的基址寄存器 SI:源变址寄存器。 当SI、DI和BP不用做指示器和变址寄存器时,也可以将他们当作数据寄存器使用,用来保存操作数和运算结果,但是这时只能呢个用来做16位寄存器而不能是8位的。 由于SP是专用的堆栈指示器,所以他不能做数据寄存器使用。 总线接口部件 由于执行部件所提供的存储器地址是16位的,而8086访问1M空间却需要20位的地址,为了形成这20位地址,在总线接口部件中设立了4个段寄存器(CS、DS、ES和SS) CS:代码段寄存器,指示当前代码段,即它规定了现行程序所在的存储区首址 DS:数据段寄存器 ES:附加数据段寄存器 SS:堆栈段寄存器, 每个段可达64K字节。 在总线接口部件中,还有一个很重要的寄存器——指令指示器(IP),他总是保存着下一次将要从主存中取出的指令的偏移地址,其值为该指令到所在段段首址的字节距离。

大工计算机原理-第3章 8086微处理器的指令系统(1)

第3章8086微处理器的指令系统(1) 3.1 指令系统概述 ●指令系统是一台计算机所能(识别和执行)的全部指令的集合。它与(微处理器)有着密切的关系,不同的 微处理器有不同的指令系统。8086CPU包含133条指令 ●指令是使计算机执行某种(特定操作)的二进制编码。 指令一般包括两个部分:(操作码域)和(地址域)。填空 操作码域:存放指令的操作码,即指明该指令应由计算机完成何种操作。 地址域:确定操作数的值或地址、操作结果的地址,有的指令的地址域还指出下一条指令的地址。 ●机器指令:计算机能(直接识别)的二进制代码。 ●汇编语言:汇编语言是一种符号语言,用助记符表示操作码,用符号或符号地址表示操作数或操作数地址, 它与机器指令是一一对应的 ●汇编程序:将汇编语言源程序翻译成机器语言(就是一条一条的机器指令),即目标程序。 3.2寻址方式 ●根据(指令内容)确定(操作数地址)的过程,称为寻址。 ●根据寻址方式计算所得到的地址叫做(有效地址EA),也就是(段内偏移地址)。有效地址还需要与相应的(段 基地址)组合才是20位的(物理地址PA) ,该工作由微处理器来完成。 牢记什么是EA?什么是PA?怎么计算? 后面有关于EA和PA的解释及计算方法! ●寻址方式在两种方式下被涉及:(操作数)的寻址方式和(指令)的寻址方式。 如果没有特别说明,寻址方式是指源操作数的寻址方式。 1、隐含寻址(隐含了规定的操作数) 例:DAA指令 ,只有操作码,无操作数。规定对AL中的内容进行压缩BCD码转换。 2、立即寻址(操作数(立即数)直接放在指令中,不需访问存储器) 例:MOV AX ,1234H (若CS=1000H ,IP=100H) 3、寄存器寻址(操作数就放在内部寄存器中, 例:INC CX ;(CX)←(CX)+1 MOV AX ,BX ;执行后BX 4、直接寻址(指令中直接给出操作数的存放地址) 例1:MOV AX ,[4000H] (DS=3000H) ?操作数寻址

8086微处理器引脚

8086微处理器引脚(线)说明 ﹡8086/8088微处理器采用40条引线双列直插(DIP)封装。﹡ 8086/8088微处理器引线是对外前端总线及专用信号引线。 ﹡ 8086/8088微处理器引线,在逻辑上可分为3类:地址总线信号、数据总线信号、控制总线信号。还有一些专用信号:电源、地、时钟。 ﹡ 8086/8088采用引线分时复用技术,一条引线不同时间代表不同信号,解决引线不够问题。基本引脚信号 ﹡AD15~AD0(I/O,三态):地址/数据复用引脚。 ﹡A19/S6 ~ A16/S3(O,三态):地址/状态复用引脚。﹡BHE# /S7 (O,三态):高字节允许/状态复用引脚。﹡NMI(In):非屏蔽中断请求线,上升边触发。﹡INTR (In) :可屏蔽中断请求线,高电平有效。﹡RD# (O,三态) :读选通信号,低电平有效。﹡CLK (In) : 时钟信号,处理器基本定时脉冲。﹡RESET (In) :复位信号,高电平有效。 * WR# (O,三态):写选通信号,低电平有效。﹡READY (In):准备好信号,高电平有效。处理器与存储器及I/O接口速度同步的控制信号。﹡TEST# (In): 测试信号,低电平有效。处理器执行W AIT指令的控制信号。﹡MN/MX# (In):最大/最小工作模式选择信号。硬件设计者用来决定8086工作模式,MN/MX# =1 8086为最小模式, MN/MX# =0 8086为最大模式。﹡Vcc (In): 处理器的电源引脚,接 +5V电源。﹡GND :处理器的地线引脚,接系统地线 2)最小模式下的有关控制信号 ﹡INTA# (O) :最小模式下的中断响应信号。﹡ALE (O) :地址锁存允许信号。 ﹡DEN# (O,三态) :数据总线缓冲器允许信号。 ﹡DT/R# (O,三态) :数据总线缓冲器方向控制信号。﹡M/IO# (O,三态) :存储器或I/O接口选择信号。﹡WR# (O,三态) :写命令信号。﹡HOLD (In) : 总线请求信号。﹡HLDA (O) :总线请求响应信号。(3)最大模式下的有关控制信号 ﹡QS1、QS0 (O) :指令队列状态信号。表明8086当前指令队列的状态。﹡S2# ,S1# ,S0# (O,三态) :最大模式总线周期状态信号。作为总线控制器8288的输入信号,8288输出各种控制信号。 ﹡LOCK# (O,三态) :总线封锁信号。信号有效时不允许其他主控部件占用总线。 ﹡RQ#/GT#0, RQ#/GT#1 (I/O) :最大模式总线请求/总线响应信号,每条引线作为输入时是总线请求RQ信号,每条引线作为输出时是总线请求响应GT信号

第二章微处理器和指令系统习题选解

2.9如果GDT寄存器值为0013000000FFH,装人LDTR的选择符为0040H,试问装人描述符高速缓存的LDT描述符的起始地址是多少? 解:GDT寄存器的高32位和低16位分别为GDT的基址和段限,所以:GDT的基址=00130000H LDTR选择符的高13位D15~D3=000000001000B是该LDT描述符在GDT中的序号,所以: LDT描述符的起始地址= GDT的基址 十LDT描述符相对于GDT基址的偏移值 =00130000H+8×8=00130040H 2.10假定80486工作在实模式下,(DS)=1000H, (SS)=2000H, ( SI ) = El07FH, ( BX )=0040H, (BP) = 0016H,变量TABLE的偏移地址为0100H。请间下列指令的源操作数字段是什么寻址方式?它的有效地址(EA)和物理地址(PA)分别是多少? (1)MOV AX,[1234H ] (2) MOV AX, TABLE (3) MOV AX,[BX+100H] (4) MOV AX,TABLE[BPI[SI] 解:(1)直接寻址,EA=1234H , PA =(DS)×16+EA=11234H。 (2)直接寻址,EA= O100H,PA= (DS)×16+EA=10100H。 (3)基址寻址,EA=( EBX)+100H =0140H,PA= (DS) × 16+EA=10140H。 (4)带位移的荃址加变址寻址。(EA)= (BP)+[SI]十TABLE的偏移地址=0195H PA=(SS)×16+EA=20195H} 2.11下列指令的源操作数字段是什么寻址方式? (1)MOV EAX , EBX (2)MOV EAX,[ ECX] [EBX ] (3) MOV EAX,[ESI][EDX * 2] (4)MOV EAx,[ ESI*8] 解:(1)寄存器寻址。 (2)基址加变址寻址。 (3)基址加比例变址寻址。 (4)比例变址寻址。 2.12分别指出下列指令中源操作和目的操作数的寻址方式。 式表示出EA和PA。 (1)MOV SI,2100H (2)MOV CX, DISP[BX] (3) MOV [SI] ,AX (4)ADC AX,[BX][SI] (5)AND AX,DX (6) MOV AX,[BX+10H] (7) MOV AX,ES:[BX] (8) MOV Ax, [BX+SI+20H] (9) MOV [BP ].CX (10) PUSH DS 解:(1) 源操作数是立即数寻址;目的操作数是寄存器寻址。 (2)源操作数是基址寻址,EA=(BX)+DISP,PA=(DS)×16+(BX)+DISP 目的操作数是寄存器寻址。 (3)源操作数是寄存器寻址; 目的操作数是寄存器间接寻址,EA=(SI).PA=(DS) × 16十(SI)。 (4)操作数是基址加变址寻址,EA= (BX)+(SI).PA= (DS) × 16十(BX)+(SI) 目的操作数是寄存器寻址。 (5)源操作数和目的操作数均为寄存器寻址。 (6)源操作数是基址寻址,EA=(BX)+10H.PA= (DS) × 16十(BX)+10H 目的操作数是寄存器寻址。 (7)源操作数是寄存器间接寻.EA= (Bx).PA= (ES) × 16+(BX)

第二章 8086微处理器

第二章8086/8088微处理器及其系统结构 内容提要: 1.8086微处理器结构: CPU内部结构:总线接口部件BIU,执行部件EU; CPU寄存器结构:通用寄存器,段寄存器,标志寄存器,指令指针寄存器; CPU引脚及其功能:公用引脚,最小模式控制信号引脚,最大模式控制信号引脚。 2.8086微机系统存储器结构: 存储器地址空间与数据存储格式; 存储器组成; 存储器分段。 3.8086微机系统I/O结构 4.8086最小/最大模式系统总线的形成 5.8086CPU时序 6.最小模式系统中8086CPU的读/写总线周期 7.微处理器的发展 学习目标 1.掌握CPU寄存器结构、作用、CPU引脚功能、存储器分段与物理地址形成、最小/最大模式的概念和系统组建、系统总线形成; 2.理解存储器读/写时序; 3.了解微处理器的发展。 难点: 1.引脚功能,最小/最大模式系统形成; 2.存储器读/写时序。 学时:8 问题:为什么选择8088/8086? ?简单、容易理解掌握 ?与目前流行的P3、P4向下兼容,形成x86体系 ?16位CPU目前仍在大量应用 思考题

1、比较8086CPU与8086CPU的异同之处。 2、8086CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么? 3、CPU的运算功能是由ALU实现的,8086CPU中有几个ALU?是多少位的ALU? 起什么作用? 4、8086CPU有哪些寄存器?各有什么用途?标志寄存器的各标志位在什么情 况下置位? 5、8086CPU内哪些寄存器可以和I/O端口打交道,它们各有什么作用? 6、8086系统中的物理地址是如何得到的?假如CS=2400H,IP=2l00H,其物 理地址是多少? 思考题 1.从时序的观点分析8088完成一次存储器读操作的过程? 2.什么是8088的最大、最小模式? 3.在最小模式中,8088如何产生其三总线? 4.在最大模式中,为什么要使用总线控制器? 思考题 1.试述最小模式下读/写总线周期的主要区别。 2.CPU响应中断时,为什么要执行两个连续的中断响应周期? 3.当8086微处理器响应总线请求发出HLDA信号后,有哪些引脚信号处于高 阻? 4.8086/8088微处理器响应总线请求发出HLDA信号后,执行部件EU会立即 停止操作吗?为什么? 5.在8086系统中,地址/数据复用信号是如何区分的? 6.总线周期的含义是什么? 8086/8088的基本总线周期由几个时钟组成?如 果一个CPU的时钟频率为4.77MHz,那么它的一个时钟周期为多少?一个基本总线周期为多少?若主频为l5MHz呢? 7.在最小模式总线写周期的T 1、T 2 、T 3 、T 4 状态,8086CPU分别执行什么动 作? 思考题 1.在8086系统的最大模式下为什么一定要用总线控制器?试述总线控制器 8288的主要功能,并说明它有哪些输入和输出信号?试述8086系统中时钟发生器8284A的主要作用以及可提供的几种时钟信号。

第二章 微处理器

第二章微处理器 一、教学内容: 1.概述 2.8088/8086微处理器 3.80286微处理器 4.80X86/Pentium微处理器 二、要求熟练掌握8086微处理器的组成原理、各功能部件的作用。 三、重点掌握16位微处理器的体系结构、各种寄存器的用途。 四、难点在于对整个CPU的各功能部件的结构组成、工作原理、概念的论述等方面的理解。 五、本章分为4讲,每讲2学时。 第一讲8088/8086微处理器 尽管微处理器已进入了Pentium时代,其内部结构和性能也发生了巨大的变化,但其基本结构仍然和早期的8086/8088 相似,可以说8086/8088 是80X86系列芯片的基础。 1.8086/8088 微处理器的内部结构 8086/8088 是Intel系列的16位微处理器,它是采用HMOS工艺制造的,内部包含约29000个晶体管,用单一的+5V电源,时钟频率为 5MHz~10MHz。 8086有16根数据线和20根地址线,其寻址空间达1M字节;8088是一种准16位微处理器,它的内部寄存器、内部运算部件以及内部操作都是按16位设计的,但对外的数据总线只有8条。8086/8088 芯片内设有硬件乘除指令部件和串处理指令部件,可对位、字节、字串、BCD码等多种数据类型进行处理。 1)总线接口单元BIU和执行单元EU

①总线接口单元BIU ?BIU的功能是8086 CPU与存储器或I/O设备之间的接口部件,负责全部引脚的操作。具体来说,BIU负责产生指令地址,根据指令地址从存储器取出指令,送到指令队列中排队或直接送给EU去执行。 ?BIU也负责从存储器的指定单元或外设端口中取出指令规定的操作数传送给EU,或者把EU的操作结果传送到指定的存储单元或外设端口中。 ?BIU内部设有4个16位的段寄存器:代码段寄存器CS (Code Segment)、数据段寄存器DS (Data Segment)、堆栈段寄存器SS (Stake Segment)、附加段寄存器ES (Extra Segment)。 ?一个16位的指令指针寄存器IP (Instruction Pointer) ?6字节指令队列缓冲器。 ?20位地址加法器和总线控制电路。 ②执行单元EU ?执行单元EU的功能是从BIU的指令队列中取出指令代码,然后执行指令所规定的全部功能。 ?在执行指令的过程中,如果需要向存储器或I/O传送数据,则EU向BIU 发出访问存储器或I/O的命令,并提供访问的地址和数据。 ?16的算术逻辑单元ALU (Arithmetic and Logic Unit) ?16位的状态标志寄存器F (Flags)

第二章 8086微处理器

考点一:掌握8086/8088CPU的功能构成及流水线技术,理解流水线管理规则。 考点二:掌握8086/8088CPU寄存器的组成及其应用。 考点三:理解8086/8088CPU的内存分配,掌握实地址模式下的存储器地址变换方法。考点四:掌握8086/8088CPU的引脚构成,理解其引脚复用的特性。 2.18086/8088CPU的功能构成 1、8086/8088是Inter公司的第三代位处理器芯片。 其特点: (1)具有20条地址总线,直接寻址能力为1MB。 (2)8086有16条数据总线,为16位微处理器;8088有8条数据总线,为准16位微处理器。 (3)片内总线和ALU均为16位,可进行8位和16位操作。 (4)8086/8088片内均由两个独立的裸机单元组成,即总线接口单元(BIU)和执行单元(EU)

2、总线接口单元BIU (1)组成部件 14个16位段寄存器(CS、DS、SS、ES); 216位指令偏移地址寄存器(IP); 3指令队列寄存器(8086CPU:6字节;8088CPU:4字节); 4形成20位物理地址的加法器 5与EU通讯的内部寄存器; 6总线控制逻辑; (2)功能:实现CPU与存储器或I/O口之间的数据传送 1自动按CS值和IP值组成20位实际地址的存储器中去取指令,一次取两个字节指令存放到指令队列中。 2由EU从指令队列中取指令,并根据EU请求,BIU将20位操作地址传送给存储器; 3取来操作数经总线控制逻辑传送到内部EU数据总线,由EU完成内部操作; 4操作结果:若EU提出请求,则由BIU负责产生20位实际目的地址,将结果存入存储器里; 3、执行单元EU (1)组成部分: 116位算术逻辑单元(ALU); 216位状态标志寄存器FLAG; 38个16位通用寄存器组(AX,BX,CX,DX,SP,BP,SI,DI); 416位数据暂存器;

8086微处理器的功能与结构

四、80x86微处理器的结构和功能 (一)80x86微处理器 1.8086/8088主要特征 (1)16位数据总线(8088外部数据总线为8位)。 (2)20位地址总线,其中低16位与数据总线复用。可直接寻址1MB存储器空间。 (3)24位操作数寻址方式。 (4)16位端口地址线可寻址64K个I/O端口。 (5)7种基本寻址方式。有99条基本指令。具有对字节、字和字块进行操作的能力。 (6)可处理内部软件和外部硬件中断。中断源多达256个。(7)支持单处理器、多处理器系统工作。 2.8086微处理器内部结构 8086微处理器的内部结构由两大部分组成,即执行部件EU(Execution Unit)和总线接口部件BIU(Bus Interface Unit)。和一般的计算机中央处理器相比较,8086的EU相当于运算器,而BIU则类拟于控制器。 3.8086最小模式与最大模式及其系统配置 最小模式在结构上的特点表现为:系统中的全部控制信号直接来自8086CPU。 与最小模式相比,最明显的不同是系统中的全部控制信息号不再由8086直接提供,而是由一个专用的总线控制器8288输出的。 4.8087与8089处理机简述 (1)8087协处理机 8087协处理机与8086组合在一起工作,以弥补8086在数值运算能力方面的不足,所以它又称为协处理机。 (2)8089I/O处理机

8089是一个带智能的I/O接口电路,相当于大型机中的通道,它将CPU的处理能力与DMA控制器结合在一起。它具有52条基本指令,1MB的寻址能力,包含两个DMA通道。 8089也可以与8086联合在一起工作,执行自己的指令,进行I/O操作,只在必需时才与8086进行联系。在8089的控制下,可以进行外设与存储器之间、存储器与存储器之间以及外设与外设之间的数据传输。同时,8089还可以设定多种终止数据传输的方式。 5.总线时序 一个基本的总线周期包括4个时钟周期,即4个时钟状态T 1 、T 2 、T 3 和T 4 。 (二)80286\80386\80486微处理器 1.80286微处理器 (1)80286的特征 80286是一种高性能的16位微处理器,向上兼容8086/8088,可以有效地利用8086系列软件。80286引入虚拟地址空间的概念,具有存储器管理功能,能为每一个任务分配多达1G字节的虚拟地址空间并映射到16M字节的物理地址中去。80286具有保护功能,可对段的边界、属性和访问权等进行自动检查,通过四级环结构和任务之间相互隔离,可建立可靠性高的系统软件。80286具有高效率的任务转换功能,适用于多用户、多任务系统。80286工作时钟为8~12MHz,工作时钟多样化,便于组成高性能价格比的系统。 (2)80286的结构 80286内部结构中,除了EU执行单元外,总线接口部件BIU又细分成地址部件AU、指令部件IU和总线部件BU。(3)80286的工作方式 80286微处理器有两种工作方式:实地址方式和保护虚拟地址方式。 2.80386微处理器 (1)80386的特征 80386是一种灵活的32位微处理器,可以处理8位、16位、32位等多种类型的数据,有8个32位通用寄存器。80386可直接输出32位的物理地址,最大可支持4GB字节的物理内存空间。 (2)80386微处理器内部结构

大工计算机原理第3章8086微处理器的指令系统(1)资料

第3章 8086微处理器的指令系统(1) 3.1 指令系统概述 ● 指令系统是一台计算机所能(识别和执行)的全部指令的集合。它与(微处理器)有着密切的关系,不同的微处理器有不同的指令系统。8086CPU 包含133条指令 ● 指令是使计算机执行某种(特定操作)的二进制编码。 指令一般包括两个部分:(操作码域)和(地址域)。填空 操作码域:存放指令的操作码,即指明该指令应由计算机完成何种操作。 地址域:确定操作数的值或地址、操作结果的地址,有的指令的地址域还指出下一条指令的地址。 ● 机器指令:计算机能(直接识别)的二进制代码。 ● 汇编语言:汇编语言是一种符号语言,用助记符表示操作码,用符号或符号地址表示操作数或操作数地址,它与 机器指令是一一对应的 ● 汇编程序:将汇编语言源程序翻译成 机器语言(就是一条一条的机器指令),即目标程序。 3.2寻址方式 ● 根据(指令内容)确定(操作数地址)的过程,称为寻址。 ● 根据寻址方式计算所得到的地址叫做(有效地址EA ),也就是(段内偏移地址)。有效地址还需要与相应的(段基地址)组合才是20位的(物理地址PA) ,该工作由微处理器来完成。 牢记什么是EA ?什么是PA ?怎么计算? 后面有关于EA 和PA 的解释及计算方法! ● 寻址方式在两种方式下被涉及:(操作数)的寻址方式和(指令)的寻址方式。 如果没有特别说明,寻址方式是指源操作数的寻址方式。 1、隐含寻址(隐含了规定的操作数) 例:DAA 指令,只有操作码,无操作数。规定对AL 中的内容进行压缩BCD 码转换。 2、立即寻址(操作数(立即数)直接放在指令中,不需访问存储器) 例:MOV AX ,1234H (若CS=1000H ,IP=100H ) 3、寄存器寻址(操作数就放在内部寄存器中,不需访问存储器) 例:INC CX ;(CX)←(CX)+1 MOV AX ,BX ;执行后BX 内容不变 4、直接寻址(指令中直接给出操作数的存放地址) 例1:MOV AX ,[4000H] (DS =3000H ) ?操作数寻址 可以进行寄存器寻址的寄存器: (16位)AX 、BX 、CX 、DX 、SI 、DI 、SP 、BP (8位) AH 、AL 、BH 、BL 、CH 、CL 、DH 、DL

8086微处理器指令系统习题集1

8086微处理器指令系统习题集1 第三章 8086微处理器指令系统习题集 一.单项选择题 1. 逻辑地址1000:2000对应的物理地址为()。 A. 1200H B. 12000H C. 2100H D. 21000H 2. 下面哪个寄存器使用时的默认段寄存器为SS()。 A. AX B. BX C. SP D. SI 3. 当使用BP寄存器作基址寻址时,若无指定段替换,则内定在 ()段内寻址。 A.程序 B.堆栈 C.数据 D.附加 4. 在下面四组寄存器中,第()组都可用于对存储器间接 寻址方式的寄存器。 A. AX,BX,CX,IP; B. BX,SP,DX,SI C. IP,SP,BP,AX D. BP,BX, SI,DI 5. 含有立即数的指令中,该立即数被存放在()。

A. 累加器中 B. 指令操作码后的内 存单元中 C. 指令操作码前的内存单元中 D. 由该立 即数所指定的内存单元中 6. 用段基值及偏移量来指明内存单元地址的方式称为 ()。 A. 有效地址 B. 物理地址 C. 逻辑地址 D. 相对地址 7. 已知物理地址为0FFFF0H,且段内偏移量为0B800H,若对应 的段基地址放在DS中,则DS=(()。 A. 0FFFFH B. 0F47FH C. 2032H D. 0F000H 8. 现行数据段位于存储器BOOOOH到BOFFFH字节单元,则段寄 存器DS的内容及该段长度 (字节数)分别为: () A. BOOOH,1000H B. O0OOH,OFFFH C. BOOOH,OFFFH D. BOOOH,OOFFH 9.寄存器间接寻址方式中,操作数在()中。 A. 通用寄存器 B. 堆栈 C. 存储单元 D. 段寄存器 10. 下列指令中,有语法错误的指令是 ()。

【微机原理与接口课程设计】基于8086微处理器和8255A芯片的汽车信号灯微机控制系统的设计与实现

浙江理工大学课程设计 题目汽车信号灯 学院计算机科学与技术学院 专业软件工程专业 班级软件0803 班 姓名林瑞 指导教师****** 2011 年 1 月 6 日

目录 一、设计目的 (2) 二、系统硬件设计 (3) 三、系统软件设计 (9) 四、系统调试及结果 (15) 五、总结和体会 (16) 六、参考文献 (16)

一、设计目的 通过所学知识和现代计算机技术来模拟模拟汽车信号灯控制系统,把所学的理论的知识用到现实实践中去,加强了对理论知识的理解和记忆。展示了计算机技术在汽车行业的应用。 设计出汽车信号灯微机控制系统。汽车信号灯的作用是大家所熟知的,汽车通过显示不同的信号灯来告诉前后左右的行车者本汽车正在进行的操作,本控制系统采用8086微处理器作为处理器和可编程的8255A芯片来模拟汽车信号灯控制系统。通过在实验箱上分别按K1,K2,K3和K4键来显示汽车左转、右转,前进和后退等状态。左/右转弯开关K1,K2闭合时,对应的仪表板左/右转弯指示灯、左/右转弯头灯和左/右转弯尾灯闪烁;紧急开关闭合时,所有仪表板左右转弯灯、左右转弯头灯和左右转弯尾灯闪烁;当用户按K3时,也即踩刹车时,刹车开关闭合,刹车灯(左右红色尾灯)亮;停靠时(合上停靠开关),即按K4键时,所有的灯闪烁。所需执行的操作由相应的开关状态反映,

所需控制的信号灯有仪表板左/右转弯灯、暂停灯、照明远灯和照明近灯共五类类灯. 二、系统硬件设计 1.硬件连接图:利用8088驱动8255 8253来连接外 部电路。 2.器件选择: CPU(8088) 1个发光二极管 5个 74ALS373 2个电阻 5个 74ALS245 1个 74LS00 5个 8255 1个控制开关 5个 8253 1个 3、8088,8255,8253功能及说明 8088的引脚包括20根地址线,16根数据线及控制线,状态线,时钟,电源和地线等,大致可分五大类. 第一类只传送一种信息,第二类每个引脚电平的高低代表不同信息,第三类代表不同的工作方式,第四类每个引脚可以传送两种信息,第五类引脚在输入和输出时分别传送不同的信息.同时还要地址锁存器及数

8086微处理器

8086/8088微处理器 8086是全16位微处理器,内、外数据总线都是16位。8088是准16位微处理器,内数据总线是16位,外数据总线是8位。二者除外数据总线位数及与此相关的部分逻辑稍有差别外,内部结构和基本性能相同,指令系统完全兼容。 1. 内部结构 8086/8088微处理器从功能上可分为两个独立的处理单元:执行单元EU(Execution Unit)和总线接口单元BIU(Bus Interface Unit)。其内部结构如图2.1所示。 执行单元EU由8个16位的通用寄存器、1个16位的标志寄存器、1个16位的暂存寄存器、1个16位的算术逻辑单元ALU及EU控制电路组成。 8个通用寄存器中,AX、BX、CX、DX为数据寄存器,用于存放参与运算的数据或运算的结果,它们中的每一个既可以作为一个16位寄存器使用,又可以将高、低8位分别作为两个独立的8位寄存器使用。作为8位寄存器时,它们的名称分别为AL、AH、BL、BH、CL、CH、DL、DH。这些寄存器除了用作通用寄存器外,通常还有各自特殊的用法: AX作累加器,所有的I/O指令及一部分串操作必须使用AX或AL来执行,另外还有一些指令使用AX及由AX 分出的AL、AH作为缺省的操作数,如乘、除法指令;BX作基址寄存器,在计算内存地址时,常用于存放基址;CX作计数寄存器,可以在循环、重复的串操作及移位操作中被作为计数器来使用;DX作数据寄存器,在一些I/O指令中用来保存端口地址。指针寄存器SP和BP分别为堆栈指针寄存器和基址指针寄存器,作为通用寄存器的一种,它们可以存放数据,但实际上,它们更经常、更重要的用途是存放内存单元的偏移地址。而变址寄存器DI和SI则主要用于变址寻址方式的目的变址和源变址。

第三章8086微处理器指令系统习题答案

第三章8086微处理器指令系统习题答案 一、单项选择题 1.B 2.C 3.B 4.D 5.A 6.C 7.B 8.C 9.C10. D 11.D12.C13.C14.A15.C16.B17.C18.B19.D20. D 21.B22.D23.A24.D25.A26.A27.A28.D29.C30. A 31.D32.C33.B34.D35.D36.D37.A38.B39.B40. B 41.B42.A43.D44.D45.A46.C47.D48. C 二、多项选择题 1.ABC 2.ABCD 3.ABF 4.BF 5.BCD 6.CD 7.ABCDE 8.BD 三、填空题 1.操作码,操作数 2段地址,10H,偏移地址,02051H 3.AA92AH 4.立即,基址变址 5.5425H 6.D36AH 7.源操作数为8位,目的操作数为16位,不匹配;源操作数和目的操作数不能同时为存储器;INC指令操作数不能为立即数;目的操作数的的地址大于字节。 8.6310H 9.0132H,0112H 10.0000H,1,1,0,0 11.1202H,1200H,2000H 12.除4 13.7230H 14.12AAH,0BBCCH 15.6804H 16.3,0 17.4154H,6F30H 18.0,00FFH,0 四、判断题 ×V ××V ××V ×V ××××V ×V ××× 五、读程序,指出结果 1.11H 2.5678H,1234H 3.80H,0 4.1,1 5. 1 6.0132H,0112H 7.01H,00H,08H 8.0,0 9.79H,6H,7FH 10.60H,35H

相关主题
文本预览
相关文档 最新文档