8086微处理器的内部结构解析

合集下载

ch02-8086微处理器内部结构

ch02-8086微处理器内部结构

20
0FFFF h
0FFFE h 0FFFD h
220=FFFFF h+1
00001 h 00000 h
FFFFF h FFFFE h FFFFD h FFFFC h
0FFFF h 00001 h 00000 h
段&内存
四、指令运行
HYPer
操作 : 将内存中2000h单元内容加2,结果在AL中. CS=1000h, DS=3000h.
02h
HLT
1111 0100
F4h
CPU运行
A0h 00h 20h MOV AL,[2000]
04h 02h
ADD AL,02
F4h
HLT
五、指令执行时间
HYPer
• 指令周期 ——执行一条指令所需的时间称为指令周期。 在8088/8086中,由于它的并行处理的特点,一条指令的执行时间为: 取操作数+执行指令+传送结果
状 溢出标志O(Overflow Flag)——在算术运算中,带符号数的运算结果超出了8位或16位

带符号数能表达的范围,则O=1,否则O=0。

8位(字节)运算 --1768 —— +32767 志
符号标志S(Sign Flag)—— 结果的最高位(D15或D7)为1,则S=1,否则 S=0。
代码段
数据段
DS
堆栈段
SS
附加段

段Rs
三 类
ES
二、 功能结构
HYPer
8088从功能上来说分成两大部分,总线接口单元 BIU(Bus Interface Unit)
和执行单元 EU(Execution Unit). • BIU:负责与存储器接口,即8088与存储器之间的信息传送,都是由BIU负责进 行的,

1 80868088微处理器的内部结构

1 80868088微处理器的内部结构

微机原理第2章8086/8088系统结构8086/8088微处理器的内部结构微机原理8086是Intel系列的16bit微处理器,属第三代。

它有16bit数据总线和20bit地址线,可寻址1M空间。

8088有8bit数据总线和20bit地址线,可寻址1M空间。

其内部有16bit数据总线。

AH AL BH BL SI ALU 运算数暂存器标志寄存器EU控制电路16位CSDSSS ES IP 内部暂存器8位1 2 3 4 5 6执行部件(EU )总线控制电路 指令队列缓冲器总线接口部件(BIU )通用寄存器加法器80888086累加器基址寄存器计数寄存器数据寄存器堆栈指针基址指针目的变址源变址AX BX CX DX微机原理CPUEUBIU •16位通用寄存器组(AX、BX、CX 、DX、SP、BP、SI、DI)•算术逻辑单元—ALU•暂存器•EU控制器•标志寄存器—FLAG•段寄存器组(CS,DS,SS,ES),指令指针—IP •地址加法器•指令队列•总线接口控制逻辑微机原理EU 部件不直接与外部总线相连。

它从BIU的指令队列中取指令和数据。

EU 负责指令的执行。

BIU 根据EU 的请求,完成CPU 与存储器或I/O 之间的数据传送。

功能:符号名称高8位符号低8位符号AX累加器AH AL BX基址寄存器BH BL CX计数寄存器CH CL DX数据寄存器DH DL这里的寄存器可以8位或16位参与操作。

符号名称SP堆栈指针寄存器BP基址指针寄存器SI源变址寄存器DI目的变址寄存器这里的寄存器只能以16位参与操作。

符号名称CS代码段寄存器DS数据段寄存器ES附加段寄存器SS堆栈段寄存器IP指令指针寄存器D15D14D13D12D11D10D9D8 x x x x OF DF IF TF D7D6D5D4D3D2D1D0 SF ZF x AF x PF x CF符号名称定义CF进位标志运算中,最高位有进位或借位时CF=1,否则CF=0 PF奇偶标志运算结果低8位“1”个数为偶数时PF=1,否则PF=0 AF辅助进位D3有向D4进(借)位时AF=1,否则AF=0ZF零标志运算结果每位均为“0”时ZF=1, 否则ZF=0SF符号标志运算结果的最高位为1时SF=1,否则SF=0OF溢出标志运算中产生溢出时OF=1, 否则OF=0符号名称功能TF陷阱标志TF=1将使CPU进入单步执行指令IF中断标志IF=1允许CPU响应可屏蔽中断DF方向标志DF=1将从高地址向低地址处理字符串所以:CF=0PF=1AF=1ZF=0SF=1OF=0微机原理下次课见。

8086结构组成

8086结构组成

8086结构组成8086是一款16位微处理器,它的结构组成非常复杂。

本文将从以下几个方面来详细介绍8086的结构组成。

一、总体结构8086由三个主要部分组成:执行单元(EU)、总线接口单元(BIU)和寄存器组。

1.执行单元:负责执行指令并进行算术和逻辑运算。

2.总线接口单元:负责与外部设备通信并控制数据传输。

3.寄存器组:包括通用寄存器、段寄存器和指令指针寄存器等。

二、执行单元1.指令队列指令队列是执行单元中的一个重要部分,它可以存储多条指令,以便快速地进行取指令操作。

当EU需要执行一条新的指令时,它会从队列中取出下一条指令并开始执行。

2.算术逻辑单元算术逻辑单元(ALU)是执行单元中的核心部分,它可以进行各种算术和逻辑运算,如加、减、乘、除、与、或等操作。

ALU还可以处理条件跳转和无条件跳转等控制操作。

3.状态标志寄存器状态标志寄存器(FLAGS)用于记录ALU运算的结果,以便EU进行下一步操作。

FLAGS寄存器包括零标志位、进位标志位、溢出标志位等。

三、总线接口单元1.地址加法器地址加法器(AFA)是BIU的核心部分,它可以将内部地址转换为外部地址,并控制数据传输。

2.指令缓存器指令缓存器(IC)用于存储从内存中读取的指令。

当EU需要执行一条新的指令时,BIU会从IC中取出相应的指令并传输给EU。

3.数据缓存器数据缓存器(DC)用于暂时存储从内存中读取或写入的数据。

当EU 需要访问内存时,BIU会将相应的数据传输到DC中,EU再从DC中读取或写入数据。

四、寄存器组1.通用寄存器8086有8个16位通用寄存器,分别命名为AX、BX、CX、DX、SI、DI、BP和SP。

这些寄存器可以用于保存临时数据和计算结果等。

2.段寄存器8086有4个16位段寄存器,分别命名为CS、DS、ES和SS。

这些寄存器用于保存程序和数据在内存中的位置信息。

3.指令指针寄存器指令指针寄存器(IP)用于保存下一条指令在内存中的地址。

8086微处理器微处理器的基本结构8086

8086微处理器微处理器的基本结构8086

对某些I/O操作DX可用来存放I/O的端口地址(口地址 256)。
例: 例:
MUL BX IN AL , DX
; (AX)(BX)(DX)(AX)
(2)地址指针与变址寄存器: 段起始地址
SP、BP、SI、DI 四个16位寄存器。
以字为单位在运算过程中存放操作数,

经常用以在段内寻址时提供偏移地址。
寄存器组 AH AL AX BH BL BX CH CL CX DH DL DX
SI DI BP SP
运 算 器
(3) 如果在执行指令的过程中,
需要访问内存或I/O端口, EU
EU会请求BIU去完成存取操作。
PSW标志 寄存器
DS
BIU
ES

SS

CS


IP

数据暂存器

总线

接口

控制

电路
指令译码器
1、通用寄存器 (1)数据寄存器
AX、BX、CX、DX 作为通用寄存器。
用来暂存计算过程中所用到的操作数,结果或其它信息。 访问形式:可以用16位的访问;
或者可以用字节(8位)形式访问, 它们的高8位记作 : AH 、 BH 、 CH 、 DH 。 它们的低8位记作 : AL 、BL 、CL 、DL 。
二、8086/8088的编程结构 编程结构:
指从程序员和使用者的角度看到的结构。 与芯片内部的物理结构和实际布局有区别。
某CPU芯片内部实物图
12
8086 编程结构:
1. 总线接口部件BIU (Bus Interface Unit)
→ 运输部门
2. 执行部件EU

第2章-8086微处理器及其体系结构

第2章-8086微处理器及其体系结构

执行部件EU功能: 从BIU的指令队列中取 出码规指令向储写执1(用状数部A执6指器定令所B器操行寄态据件位LI行U令译的所需或作U部存标暂的的发)部代码全得的I。,/件器志存控算O出件8部数码后结E,寄寄制接术个命中一U功据,执果存存电口逻1经令包个能,行或6器器路进辑位都指,含1。指执,和。对行单6的由令执一一令行位执存读元通译行E个个所 指的行U/
2.2.2 8086微处理器内部结构组成
总线接口部件BIU 内部设有四个16位段地 址寄存器:代码段寄存 器CS、数据段寄存器 DS、堆栈段寄存器SS 和附加段寄存器ES,一 总根负或个I缓器P线 据 责 I/O,和1冲接执完6一设器总位口行成个备,线指部部C62之控P令字0件件间U位制指节BE与的地电UI针指U存数的址路功寄令储据请加。能存队器传求法:器列, 送。
物理地址:就是存储器的实际地址,它是指CPU和存储器进行数据 交换时所使用的地址(20位)。
逻辑地址:是在程序中使用的地址,它由段地址和偏移地址两部分 组成(16位)。逻辑地址的表示形式为“段地址∶偏移地址”。
段基地址:把段的起始单元的物理地址除以16的结果为段地址,段 的起始单元的物理地址为16的整数倍,即:XXXX0H
DF—方向标志位,若该位置1,则串操作指令的地址修 改为自动减量方向,反之,为自动增量方向。
3.段寄存器
8086CPU共有4个16位的段寄存器,用来存放每一 个逻辑段的段起始地址。
(1)代码段寄存器CS (3)堆栈段寄存器SS
(2)数据段寄存器DS (4)附加段寄存器ES
这些段寄存器的内容与有效的地址偏移量一起,可确 定内存的物理地址。
只晶体管;
使用单一的+5V电源,40条引脚双列直插式封装; 时钟频率为5MHz~10MHz,基本指令执行时间为.3ms~0.6ms 16根数据线和20根地址线,可寻址的地址空间达1MB 8086可以和浮点运算器、I/O处理器或其他处理器组成多处

8086的内部结构

8086的内部结构

8086的内部结构
1.寄存器:
8086包含了8个16位的通用寄存器,分为AX、BX、CX、DX、SI、DI、BP和SP。

其中AX寄存器又被分为两个8位的子寄存器AH和AL。

这些寄
存器用于存储数据、地址和控制信息,可以进行各种算术和逻辑操作。

此外,8086还有一些特殊的寄存器,如标志寄存器FLAGS用于存储标志位,IP指令指针寄存器用于存储下一条指令的地址。

2.执行单元:
8086的执行单元包括指令执行单元、算术逻辑单元(ALU)和控制单元。

指令执行单元负责从内存中读取指令,并根据指令的操作码执行相应
的操作。

ALU用于进行算术和逻辑操作,如加减、与或非等。

控制单元用
于控制指令的执行顺序和分支跳转。

3.数据总线和地址总线:
8086有一个16位的数据总线,用于传输数据。

它还有一个20位的
地址总线,用于寻址内存中的数据和指令。

通过这两条总线,8086能够
与外部存储器、输入输出设备等进行数据的读写和通信。

4.总线控制器:
5.输入输出控制器:
6.内存管理单元(MMU):
7.控制信号产生器:
总的来说,8086的内部结构是一个复杂的系统,包括寄存器、执行单元、数据总线和地址总线、总线控制器、输入输出控制器、内存管理单元和控制信号产生器等组件。

这些组件相互协作,使得8086能够进行数据的处理和存储,实现指令的执行和数据的输入输出。

微机原理第三章:8086微处理器结构

微机原理第三章:8086微处理器结构

4.8086 和8088 二者的指令系统完全兼容
(1)有24 种寻址方式,具有乘、除法指令等。 (2)取指令和执行指令的操作并行运行,运行速度大大提高。
(3)具有最小模式和最大模式,应用领域宽广,适应性强。
(4)可方便地和数据处理器8087、I/O 处理器8089 或其它处理器 组成多处理机系统,提高数据处理能力和输人输出能力。
代码段寄存器 CS 标 志 寄 存 器
数据段寄存器 DS
堆栈段寄存器 SS
附加段寄存器 ES
由于8086/8088 CPU 可直接寻址的存储器空间是1M字节,直接寻址需要 20位地址码,而所有的内部寄存器都是16位的,用这些寄存器只能寻址 64K字节,为此需要采取分段技术来解决这个问题。
表3.1
通用寄存器的隐含使用
程序调试过程中。
3.1.2 8086/8088 的寄存器结构
四、指令指针寄存器 IP ★ 16 位的指令指针寄存器 IP 用来存放将要执行的下一条 指令在代码段中的偏移地址。 ★ 在程序运行过程中,BIU 可修改 IP 中的内容,使它始终 指向将要执行的下一条指令。 ★ 程序不能直接访问 IP,但可通过某些指令修改 IP 内容。 ★ 如遇到转移类指令,则将转移目标地址送人IP中,以实 现程序的转移。
★ 规则字的读/写操作可以一次完成。由于两个存储体上的地址
线 A19~A1 是连在一起的,只要使 A0=0,BHE=0,就可 以实现一次在两个存储体中对一个字的读/写操作。 ★ 读写的是从奇地址开始的字(高字节在偶体中,低字节在奇体 中),这种字的存放规则称为“非规则字”或“非对准字”。 ★ 非规则字的读/写,需要两次访问存储器才能完成。 第一次访问存储器读/写奇地址中的字节;
三、标志寄存器 FR

8086CPU的结构与功能

8086CPU的结构与功能

8086CPU 的结构与功能CPU 结构与功能不管什么型号的CPU ,其内部均有这四⼤部件1. ALU :算术逻辑单元2. ⼯作寄存器:分为数据寄存器和地址寄存器⼯作寄存器的⽬的是为了提⾼运算速度,希望参与运算的数据不从外部存储器去取数据,⽽是在CPU 内部取,所以要有能暂存少量数据的寄存器。

数据寄存器是专门存放数据的,地址寄存器是专门存放地址,进⾏间接寻址⽅式,但当地址寄存器不提供地址时,也可以⽤来暂存数据。

3. 控制器:中央指挥机关4. I/O 控制逻辑电路⼀般CPU 执⾏存储器(按字节组织)⾥⾯指令过程如下:1. CPU 通过控制器部件⾥⾯的程序计数器(PC )给外部存储器的地址引脚输出地址(通过地址总线AB ),同时CPU 给存储器发送读操作命令;2. 在读操作下,就把这个地址单元的指令代码通过数据总线(DB ),取回来放在指令寄存器⾥⾯(IR ),注意此时因为指令没有执⾏完,所以PC 还不能去往下⼀条指令,IR 没有地⽅放数据。

3. 指令译码器(ID )不断检测指令寄存器有没有数据,有的话就把指令取⾛放在ID ⾥⾯,取来的指令就被ID 译码分析,就知道这个指令希望CPU 做什么,怎么做;4. ID 通知控制逻辑部件,在相应的控制引脚发出相应的有效命令(读,写等);5. 此条指令执⾏完,IR 为空,PC ⾃动增加到下⼀条指令的地址,执⾏下⼀条指令流程。

如果指令为n 字节,PC ⾃动增n 。

因为在取指令时候,不能执⾏指令,在执⾏指令时候,不能取指令,因此这种架构CPU 是取指令->执⾏指令->取指令...这样循环下去。

CPU 执⾏效率不⾼。

堆栈由先进后出原则组织的存储器区域,称为堆栈。

单⽚机应⽤中,堆栈是个特殊存储区,堆栈属于RAM 空间的⼀部分,堆栈⽤于函数调⽤、中断切换时保存和恢复现场数据(临时数据)。

对于8006 CPU ⽽⾔,堆栈操作是按字操作。

堆栈单元的地址指针由堆栈指针寄存器SP 的内容提供。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
➢16位地址加法器
专门用来完成由逻辑地址变换成物理地址的功能。实际 上是进行一次地址加法,将两个16位的逻辑地址转换为 20位的物理地址,以达到可寻址1M字节的存储空间。
➢总线控制电路
将 8086CPU 的 内 部 总 线 与 外 部 总 线 相 连 , 是 8086CPU 与外部交换数据的必经之路。包括16条数据总线、20条 地址总线和若干条控制总线。
(1)数据寄存器
通用寄存器AX、BX、CX和DX称为数据寄存器, 可用来存放16位的数据或地址。也可把它们当作八个8 位寄存器(AH、AL、BH、BL、CH、CL、DH、DL) 来使用,这时只能存放8位数据,而不能用来存放地址。
寄存器名
特殊用途
在输入/输出指令中作数据寄存器用 AX,AL 在乘法指令中,存放被乘数或乘积
2.1 8086微处理器的内部结构
2.1.1 8086基本组成部件BIU(Bus Interface Unit) ➢指令执行部件EU(Execution Unit)
通用寄存器 8086
AH AL BH BL CH CL DH DL
SP BP SI DI
ALU数据总线 (16位)
暂存寄存器
地址总线(20位)
Σ
数据总线
CS
(16位)
DS
SS
ES
8086
IP
总线 总线
内部通信
控制
寄存器
逻辑
ALU 标志
EU 控制 系统
Q总线 16位
指令执行部 件(EU)
指令队列
123456
总线接口部件 (BIU)
1. 指令执行部件EU
由算术逻辑单元(ALU)、标志寄存器、通用寄存 器组和EU控制器等部件组成。
总之,汇编程序一般将源程序分成四个逻辑段,即 代码段CS、数据段DS、堆栈段SS和附加段ES。
•CS:存放代码段的段基地址。 •DS:存放数据段的段基地址。 •SS:存放堆栈段的段基地址。 •ES:存放附加段的段基地址。
条指令的功能。
➢通用及标志寄存器 单独详细说明
2. 总线接口部件BIU
由地址加法器、专用寄存器组、指令队列缓冲器和 总线控制电路等部件组成;
主要功能是形成访问存储器的物理地址,负责与外 部(存储器或I/O接口)打交道。
正常情况下,BIU通过地址加法器形成指令的物理地 址,从给定存储器地址中取出指令代码送指令队列缓冲 器中等待执行(指令队列缓冲器中出现一个空字节, BIU将自动进行读指令的操作填满队列)
设置段寄存器的原因:
由于8086CPU可直接寻址的存储器空间是1M字节, 需要20位地址码。而CPU所有的内部寄存器都只有16 位,用这些寄存器只能直接寻址64K字节。
为此把1M字节的存储空间分成许多逻辑段,每段最 长为64k字节,这些逻辑段可在整个存储空间中浮动。 于是用段寄存器给定各个逻辑段的首地址的高16位,被 称为段地址。
SI(Source Index)源变址寄存器和DI(Destination Index)目的变址寄存器:它们一般与DS联用,用来确 定数据段中某一存储单元的地址。
寄存器名
特殊用途
SI 在字符串处理指令中作源变址寄存器用
在间接寻址中作变址寄存器用
DI 在字符串处理指令中作目标变址寄存器用
在间接寻址中作变址寄存器用
在除法指令中,存放被除数或商数
AH 在LAHF指令中,作目标寄存器用
AL 在十进制运算指令中作累加器用
在XLAT指令中作基址寄存器用
BX 在间接寻址中作基址寄存器用
在XLAT指令中作基址寄存器用
CX 在串处理和LOOP指令中作计数器用
CL 在移位/循环移位指令中作移位次数计数器用
DX 字乘法/除法指令中存放乘积高位或被除数高位或余数
由于EU和BIU可相互独立工作,大部分的取指令和执 行指令操作可以重叠进行,故大大减少了等待取指令的 时间,提高了微处理器的利用率和整个系统的执行速度。
2.1.2 8086内部寄存器 8086CPU中有14个16位的寄存器,其结构如下图。
1. 通用寄存器组 通用寄存器(8个)可分为两组: •数据寄存器(4个); •地址指针和变址寄存器(4个)。
➢算术逻辑单元(ALU) • 完成16位或8位的二进制运算; • 16位暂存寄存器用来暂存参加运算的操作数。 • 运算结果通过内部总线送到通用寄存器组或BIU的内
部寄存器中等待写入存储器。 • 经ALU运算后的结果特征置入标志寄存器中保存。
➢EU控制器 • 负责从BIU的指令队列中取指令,并对指令译码; • 根据指令要求向EU内部各部件发出控制命令以完成各
BP 在间接寻址中作基址指针用
SP 在堆栈操作中作堆栈指针用
2. 段寄存器组
8086CPU的BIU中设置4个16位段寄存器: •代码段寄存器CS(Code Segment) •数据段寄存器DS(Data Segment) •附加数据段寄存器ES(Extra Segment) •堆栈段寄存器SS(Stack Segment)
收到EU送来的操作数地址,BIU将立即形成操作数 的物理地址,完成读/写操作数或运算结果功能。遇到 转移类指令,BIU将指令队列缓冲器中的尚存指令作废, 重新从存储器目标地址中取指令送指令缓冲器中。
➢指令队列 可存放6字节的指令代码。一般情况下指令队列中总是 填满指令,使EU可不断地得到执行的指令。
在间接寻址的输入/输出指令中作地址寄存器用
(2)地址指针和变址寄存器
包括SP、BP、SI、DI四个16位寄存器。
• 可以在运算过程中存放操作数,但只能以字(16位) 为单位使用。
• 常用在段内寻址时提供偏移地址:
SP ( Stack Pointer ) 称 为 堆 栈 指 针 寄 存 器 , BP (Base Pointer)称为基址指针寄存器,它们都可以与 SS寄存器联用确定堆栈段中的某一存储单元的地址。 SP用来指示栈顶的偏移地址,BP可作为堆栈区中的一 个基地址以便访问堆栈。
主要功能是执行指令:
○一般顺序执行,EU不断地从指令队列中取指令连 续执行,而省去访问存储器取指令的时间。
○需要访问存储器取操作数时,EU将访问地址送给 BIU后,将要等待操作数到来后才能继续操作;
○遇到转移类指令时,要将指令队列中的后续指令 作废,等待BIU重新从存储器取出目标地址中的指令代 码进入指令队列后,EU才能继续执行指令。
相关文档
最新文档