第三章:8086微处理器结构

合集下载

8086微处理器思维导图,脑图

8086微处理器思维导图,脑图

8086微处理器内部结构基本组成指令执行部件EU组成算术逻辑单元(ALU) 、标志寄存器、通用寄存器和EU 控制系统等部件功能执行指令总线接口部件BIU组成地址加法器、专用寄存器组、指令队列缓冲器和总线控制逻辑等部件功能形成访问存储器的物理地址,与外部(存储器或I/O 接口)进行联系内部寄存器结构通用寄存器组通用寄存器组数据寄存器地址指针和变址寄存器段寄存器组控制寄存器组指令指针寄存器IP1(16位)用来存放将要取出的下一条指令在代码段中的偏移地址。

在程序运行过程中, BIU 可修改IP 中的内容,使它始终指向将要取出的下一条指令。

标志寄存器FLAGS(双字)有9 个标志位,其中6个用来表示运算结果的状态,包括CF 、PF 、AF、ZF 、SF 和OF ,称为状态标志位,另外3 个是控制标志位,用来控制CPU 的操作,包括IF 、DF 和TF。

标志位2CFCarry Flag——进位标志位如果做加法时最高位产生进位或做减法时最高位产生借位,则CF=1 ,否则CF=0。

PFParity Flag——奇偶标志果操作结果的低八位中含有偶数个1 ,则PF= 1,否则PF=0 。

AFAuxiliary Carry Flag——辅助进位标志位如果做加法时,D3位有进位;做减法时,D3位有借位,则AF=1 ,否则AF=0。

ZFZero Flag——零标志位如果运算结果各位都为0,则ZF = 1 ,否则ZF=0SFSign Flag——符号标志位。

如果运算结果的最高位为1 ,则SF= 1 ,否则SF=0 。

OFOverllow Flag——溢出标志在加或减运算中结果超出8位或16位有符号数所能表示的数值范围时,产生溢出,OF= 1 ,否则OF=0 。

IFInterrupt Flag——中断标志位TFTrap Flag——单步标志位DFDirection Flag——方向标志位存储管理存储器的分段逻辑地址和物理地址逻辑地址由段地址和偏移地址两个部分构成。

第3章2—8086微处理器总线周期及引脚

第3章2—8086微处理器总线周期及引脚
WR* READY (高电平)
16
第3章 80x86微处理器
第3章:I/O写总线周期
T1 CLK T2 T3 T4
T1状态——输出16位I/O地址A15 ~ A0 IO/M* IO/M*输出高电平,表示I/O操作; S6 ~ S 3 0000 A19/S6 ~ A16/S3 ALE输出正脉冲,表示复用总线输出地址 A15 ~ A8 A15 ~ A8 T2状态——输出控制信号WR*和数据D7 ~ D0 A7 ~ A0 输出数据 ADT3和Tw状态——检测数据传送是否能够完成 7 ~ AD0 T4状态——完成数据传送
6
第3章 80x86微处理器
⑵ 总线写操作时序 总线写操作就是指CPU向存储器或I/O端口 写入数据。图3.4是8086在最小模式下的总线写 操作时序图。 总线写操作时序与总线读操作时序基本相 同,但也存在以下不同之处:
7
第3章 80x86微处理器
T1 CLK M/IO ① 高为读内存 低为读IO ② ⑥ 状态输出 地址 ④ ⑧ BHE输出 ② ⑦ 地址输出 数据输出 ③ ⑨ ⑤ T2 T3 TW T4
⑵ 总线周期
8086CPU与外部交换信息总是通过总线进行的 。CPU的每一个这种信息输入、输出过程所需要 的时间称为总线周期(BusCycle),一般一个总线 周期由四个时钟周期组成。
⑶ 时钟周期
时钟脉冲的重复周期称为时钟周期 (Clock Cycle)。时钟周期是CPU的时间基准,由计 算 机的主频决定。如8086的主频为5MHz,1个时钟 周期就是200ns。
15
第3章 80x86微处理器
第3章:存储器写总线周期
T1 CLK IO/M* T2 T3 T4
T1状态——输出20位存储器地址A19 ~ A0 S6 ~ S 3 A19 ~ A16 A19/S6 ~ A16/S3 IO/M*输出低电平,表示存储器操作; ALE输出正脉冲,表示复用总线输出地址 A15 ~ A8 A15 ~ A8 T2状态——输出控制信号WR*和数据D7 ~ D0 A 7 ~ A0 输出数据 AD7 ~ AD0 T3和Tw状态——检测数据传送是否能够完成 T4状态——完成数据传送 ALE

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)用于保存下一条指令在内存中的地址。

微机原理 第三章 微处理器

微机原理 第三章  微处理器

青岛理工大学琴岛学院
表3.1 通用寄存器的特定用法
寄存器 操作 寄存器 操作 在移位指令中作 移位次数计数器
AX
字乘,字除,字I/O
CL
AL
字节乘,字节除,字节I/O, 查表转换,十进制运算
字节乘,字节除
DX
字乘,字除指令 中作辅助累加器
堆栈操作,做堆 栈指针
AH
SP
BX
查表转换,做基址寄存器
SI
青岛理工大学琴岛学院
2)逻辑地址与物理地址
逻辑地址(LA)和物理地址(PA):
物理地址:就是存储器的实际地址,它是指CPU和存储器 进行数据交换时所使用的地址(20位)。
逻辑地址:是在程序中使用的地址,它由段基址和偏移地
址两部分组成(16位)。
物理地址=段基址(左移4位)+偏移量
形成20位段 起始地址 16位
青岛理工大学琴岛学院
2 . 8086/8088CPU的寄存器结构
8086/8088CPU中可供编程使用的有14个16位寄存器, 按其用途可分为3类:通用寄存器、段寄存器、指针和标 志寄存器,如所示。
AH BH CH DH SP BP SI DI FLAGS IP CS DS SS ES AL BL CL DL 累加器 基址寄存器 计数寄存器 数据寄存器 数据寄存器 通用寄存器 地址指针和 变址寄存器
2
3 4 5
6
存取一般变量(除3、4、5项外)
DS
有效地址EA
根据寻址方式计算出来的偏移量又叫操作数的有效地址EA
青岛理工大学琴岛学院
4. CPU对堆栈的设置与操作
堆栈的功能:用于暂存数据和现场保护 (特别是在过程调用或中断处理时暂存断 点信息) 堆栈的解释:实际上是由特定存储单元 构成的一个存储区,只是在这个存储区中 信息的出入严格按照“先进后出”或“后 进先出”的规则进行。

第03-1章. 80868088微处理器及其系统

第03-1章. 80868088微处理器及其系统

3.1.1、8086/8088CPU的内部结构
执行单元( Execute Unit ) 总线接口单元 ( Bus Interface Unit )
8088的内部结构
AH BH CH DH AL BL CL DL SP BP SI DI
16位
地址 加法 器

20位
通用 寄存器
CS DS SS ES IP 内部暂存器
PA的书写方式:
段地址:段内偏移
如:1121H : 2200H=11210+2200=13410H

已知CS=1055H,DS=250AH,ES=2EF0H, SS=8FF0H,DS段有一操作数,其偏移地址=0204H, 1)画出各段在内存中的分布 2)指出各段首地址 10550H CS 3)该操作数的物理地址=?
2.地址加法器和段寄存器
BIU中的地址加法器用来实现逻辑地址到物理地址的变换 8086采用了 “段加偏移”的技术。
15 0 15 0
逻辑地址
段基值
3 0
偏移量
0000
各段寄存器分别来存放确定各段的 起始地址的16位段地址信息
寻址单元的16位偏移地址
Σ
19 0
物理地址
物理地址
左移4位后的段寄存器的内容同时 送到地址加法器进行相加
CH DH CL DL
地址 加法 器

20位
CS DS SS ES IP 内部暂存器
16位
输入/输出 控制电路 外 部 总 线
1 2
8位
3 4
把EU的操作结果存储 标志寄存器 到指定的M或I/O口。
执行部件 (EU)
指令队列
总线接口部件 (BIU)

8086微处理器的功能与结构

8086微处理器的功能与结构

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 、T2 、T3 和T4 。

8086微处理器与存储器的编程结构教案

8086微处理器与存储器的编程结构教案

第3章 8086微处理器与存储器的编程结构1.教学目的:掌握INTEL80X86微处理器概况以及基于微处理器的计算机系统构成,为汇编语言编程奠定基础。

2.教学要求:①了解INTEL80X86微处理器概况②理解基于微处理器的计算机系统构成③熟练掌握汇编语言编程所需的CPU功能结构、微机存储器(MEM)组织和微机接口组织等基础知识3.教学重点:①微处理器的功能结构②微存储器组织4.掌握难点:①微处理器的寄存器组②存储器寻址5.教学进程安排:P20~406.教学方法:①一般叙述INTEL80X86微处理器概况以及基于微处理器的计算机系统构成②重点讲授微处理器的功能结构和微存储器组织7.教学内容摘要:3.1 80X86微处理器概述3.1.1 微处理器发展简介1.Intel 8086微处理器2.Intel 80386微处理器3.Intel 80486微处理器4.Intel 奔腾(Pentium)处理器5.Intel 奔腾Ⅱ处理器6.Intel 奔腾Ⅲ处理器7.Intel 奔腾Ⅳ处理器3.1.2 与微处理器相关的概念1. 芯片集成度2. 微处理器主频3. 系统总线, 系统总线一般分三类:(1)数据总线(DATA BUS,DB)(2)地址总线(ADDRESS BUS,AB)(3)控制总线(CONTROL BUS,CB)4. 程序存储及存储器组织5. 处理器运算速度3.2 基于微处理器的计算机系统构成微型计算机系统包括硬件和软件两部分。

3.2.1 硬件系统图3.1给出了微型计算机组成框图。

1.运算器2.控制器3.存储器,(1)“读操作”:是指CPU将存储器中存储的某一部分信息取出来进行处理的操作。

(2)“写操作”:是指CPU用新的信息刷新存储器原来存储的某一部分内容的操作。

(3)注意:存储器的读/写操作是以字节为单位按存储器存储单元地址进行的。

4.输入/输出设备图3.1 微型计算机硬件系统组成把运算器、控制器、主存储器和输入/输出接口称为组成计算机硬件系统的五大部件。

8086结构组成

8086结构组成

8086结构组成一、简介8086是英特尔(Intel)公司于1978年推出的16位微处理器,是第一款具有高度通用性的微处理器。

8086结构包括各种功能部件,如寄存器组、运算单元、控制单元等。

本文将详细介绍8086的结构组成和各个组成部分的功能。

二、8086结构组成1. 寄存器组8086包含了多个寄存器,用于存储各种数据和地址信息。

寄存器组包括通用寄存器、指令指针寄存器、段寄存器等。

1.1 通用寄存器8086拥有四个16位的通用寄存器:AX、BX、CX、DX。

这些寄存器可以用于存储数据、地址以及进行运算。

1.2 指令指针寄存器指令指针寄存器IP存储当前执行指令的地址,可以进行程序的跳转和控制。

1.3 段寄存器8086采用段寄存器和偏移地址的方式来定位内存中的数据。

段寄存器包括代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES。

2. 运算单元8086拥有一个功能强大的运算单元,可以执行各种运算和逻辑操作。

运算单元包括算术逻辑单元ALU、标志寄存器FLAGS等部件。

2.1 算术逻辑单元(ALU)ALU是8086中重要的组成部分,负责执行各种算术和逻辑运算,如加法、减法、与、或等。

2.2 标志寄存器(FLAGS)FLAGS寄存器用于存储运算结果的状态信息,包括进位标志、零标志、溢出标志等。

这些标志位可以帮助程序进行条件分支和判断。

3. 控制单元控制单元是8086中负责控制和协调各个部件工作的组成部分。

主要包括指令译码器、时钟发生器等。

3.1 指令译码器指令译码器用于解析指令,将指令转化为相应的控制信号,控制其他部件的工作。

3.2 时钟发生器时钟发生器为8086提供稳定的时钟信号,用于同步各个部件的工作,确保指令能够按序执行。

4. 外部接口8086能够与外部设备进行通信,包括输入输出接口和存储器接口。

4.1 输入输出接口输入输出接口负责将内部数据和外部设备进行数据交换,通过输入输出指令控制。

8086cpu的组成

8086cpu的组成

8086CPU的组成8086CPU是一种早期的微处理器,用于计算机的中央处理单元(CPU)。

它由多个组件组成,包括逻辑单元、寄存器、内存控制器、输入/输出单元等。

以下是对8086CPU组成的详细描述:1. 逻辑单元:8086CPU的逻辑单元包括各种控制单元和调度单元,用于处理指令、数据和内存访问请求。

这些逻辑单元负责协调各个组件之间的操作,确保CPU能够高效地执行任务。

2. 寄存器:8086CPU使用多个寄存器来存储数据和处理指令。

这些寄存器用于临时存储数据、操作数和结果,并支持CPU执行各种操作。

3. 内存控制器:8086CPU的内存控制器负责与主存储器(如RAM)进行通信,以快速访问数据和指令。

内存控制器通过内部总线与逻辑单元和其他组件进行交互,确保数据传输的效率和准确性。

4. 输入/输出单元:8086CPU的输入/输出单元负责与外部设备进行通信。

这些设备包括显示器、键盘、鼠标、硬盘驱动器等。

输入/输出单元通过接口与外部设备连接,并处理与它们的通信和数据传输。

5. 时钟和电源管理:8086CPU需要一个时钟信号来控制其操作速度。

时钟信号的频率决定了CPU的执行速度。

此外,8086CPU还具有电源管理功能,以确保各个组件在需要时获得适当的电源,并在不需要时关闭以节省能源。

总的来说,8086CPU由多个组件组成,这些组件协同工作以实现高效的计算任务。

它具有强大的逻辑单元、寄存器、内存控制器和输入/输出单元,以及时钟和电源管理功能,使其成为早期计算机系统的重要组成部分。

这些组件的组合和协同工作,使得8086CPU能够处理复杂的指令和数据,并支持计算机系统的正常运行。

微机原理第三章: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 的内容提供。

8086cpu的结构和功能

8086cpu的结构和功能

8086cpu的结构和功能8086CPU是由英特尔公司开发的一款经典的16位微处理器。

它是在20世纪80年代初面世的,也是当时最新一代的微处理器。

8086CPU具有复杂的结构和强大的功能,为计算机技术的发展做出了重要贡献。

本文将从多个方面介绍8086CPU的结构和功能。

首先,我们来了解8086CPU的整体结构。

8086CPU包括两个主要部件:执行部件和总线控制部件。

执行部件由数据总线单元(DBU)、算术逻辑单元(ALU)和寄存器组成,负责实际进行数据的处理和运算。

总线控制部件包括指令队列、指令译码器和时序控制器,负责控制数据和指令的传输以及处理器的时序控制。

这种分离的结构使得8086CPU 具有高效的指令执行能力。

其次,我们来探讨8086CPU的功能特点。

8086CPU具有许多强大的功能,包括多种数据类型支持、分段式寻址、以及可扩展的指令集等。

首先是多种数据类型支持。

8086CPU支持多种数据类型,包括字节、字和双字等。

这使得它能够处理各种不同类型的数据,适应了不同应用场景的需求。

其次是分段式寻址。

8086CPU采用分段式寻址的方式,将内存划分为多个段,每个段具有独立的段地址。

这种寻址方式可以灵活地管理内存,提高内存的利用率,并且方便编程。

最后是可扩展的指令集。

8086CPU的指令集非常丰富,包括各种数据处理、逻辑控制、输入输出、以及字符串操作等指令。

同时,8086CPU还支持通过软件扩展指令集,满足用户的个性化需求。

总之,8086CPU作为一款经典的微处理器,具有复杂的结构和强大的功能。

它为计算机技术的发展做出了重要贡献,为后续的微处理器设计奠定了基础。

通过多种数据类型支持、分段式寻址和可扩展的指令集等特点,8086CPU实现了高效的数据处理和灵活的内存管理,为用户的应用提供了广泛的功能支持。

参考文献:1. Patterson, D.A., & Hennessy, J.L. (2017). Computer Organization and Design: The Hardware/Software Interface. Morgan Kaufmann.2. Kip Irvine. (2016). Assembly Language for x86 Processors. Pearson.。

8086-8088微处理器的内部结构

8086-8088微处理器的内部结构

3 段寄存器与指令指针寄存器
微机原理
CS:代码段寄存器 DS:数据段寄存器 SS:堆栈段寄存器 ES:附加段寄存器 IP:指令指针寄存器
注意:DS、SS和ES寄存器的内容可由程序 设置,而CS寄存器的内容不能用程序设置
4.标志寄存器FLAG
微机原理
用于存放CPU工作过程中的状态,其中9位有
定义, 9位中6位表示状态,3位表示控制标志。 (1)状态标志位
OF:溢出标志位(Overflow Flag )。 当两个带符号数进行运算产生溢出时, OF=1;否则OF=0。
微机原理
例:十六进制数0CCCCH与十六进制数5115H相加, 请写出运算后六个标志状态位的值。 解: 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 (0CCCCH)
+ 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 (5115H) 10 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1
1.2 8086/8088 内部寄存器
寄存器
AX BX CX DX
运算器
状态寄存器
控制器
处理器

控制逻辑
令 寄
存 器
寄存器
IP
CS
BP
DS
SI
SS
DI
ES
SP
主存
取指
微机原理
微 处 理 器 一 般 编 程 结 构
通用寄存器组
微机原理
AX:累加器。可分成两个八位寄存器AH、 AL使用。
BX:基址寄存器。可分成两个八位寄存 器BH、BL使用。
与•标外志部寄总存器线—相—连FLAG
CPU
•段寄存器组
(CS、DS、SS、ES)

8086-8088CPU系统结构

8086-8088CPU系统结构
♣ CS:代码段寄存器 ♣ DS:数据段寄存器 ♣ ES:附加数据段寄存器 ♣ SS:堆栈段寄存器
1.2 8086/8088寄存器结构及用途
1.1.3 指针寄存器和变址寄存器
▲指针寄存器:
♣ SP:堆栈指针寄存器 ♣ BP:基址指针寄存器
▲变址寄存器:
♣ SI:源变址寄存器 ♣ DI:目的变址寄存器
汇编语言程序设计
8086/8088CPU系统结构
• 1.1 Intel8086/8088微处理器的结构 • 1.2 8086/8088寄存器结构及其用途 • 1.3 8086的存储器组织
• 1.4 堆栈
1.1 Intel8086/8088微处理器的结构
• 1.1.1 8086微处理器的结构
8086微处理器由两大部分组成: ♣ 执行部件EU ♣ 总线接口部件BIU 其内部结构如图(P20 图1.1)
1.3 8086的存储器组织
• 1.3.2 存储器的分段结构
◆8086CPU的寻址能力为:220=1MB; ◆8086CPU的内部寄存器为16位,直接 寻址:216=64KB; ◆在8086系统中引入逻辑段的概念:把 的地址空间划分为任意个逻辑段,长度 为64KB。
1.3 8086的存储器组织
• 1.3.3 物理地址和逻辑地址
▲是CPU与外部存储器、I/O设备的接口;
▲BIU由以下几部分组成: ♣16位指令指针寄存器IP; ♣指令队列; ♣4个16位段寄存器CS、DS、ES、
SS; ♣20位地址加法器; ♣总线控制部件。
1.1.1 8086微处理器的结构
• 3. BIU和EU的管理
▲二者处于并行的工作状态和重叠的工 作方式; ▲相互配合,协调工作; ▲充分利用总线实现最大限度的信息传 输,提高了程序的执行速度。

8086微处理器

8086微处理器

8086CPU的结构1. 8086 CPU的内部结构1)指令执行部件指令执行部件EU主要由算术逻辑运算单元ALU、标志寄存器FR、通用寄存器组和EU控制器等四个部件组成。

其主要功能是执行命令。

一般情况下指令顺序执行,EU可不断地从BIU 指令队列缓冲器中取得执行的指令,连续执行指令,而省去了访问存储器取指令所需的时间。

如果指令执行过程中需要访问存储器存取数据时,只需将要访问的地址送给BIU,等待操作数到来后再继续执行。

遇到转移类指令时则将指令队列中的后续指令作废,等待BIU重新从存储器中取出新的指令代码进入指令队列缓冲器后,EU才能继续执行指令。

这种情况下,EU和BIU的并行操作回受到一定的影响,但只要转移类指令出现的频率不是很高,两者的并行操作仍然能取得较好的效果。

EU中的算术逻辑运算部件A LU可完成16位或8位二进制数的运算,运算结果一方面通过内部总线送到通用寄存器组或BIU的内部寄存器中以等待写到存储器;另一方面影响状态标志寄存器FR的状态标志位。

16位暂存器用于暂时存放参加运算的操作数。

EU控制器则负责从BIU的指令队列缓冲器中取指令、分析指令(即对指令译码),然后根据译码结果向EU内部各部件发出控制命令以完成指令的功能。

2)总线接口部件BIU总线接口部件BIU主要有地址加法器、专用寄存器组、指令队列缓冲器以及总线控制电路等四个部件组成。

其主要功能是负责完成CPU与存储器或I/O设备之间的数据传送。

BIU中地址加法器将来自于段寄存器的16位地址段首地址左移4位后与来自于IP寄存器或EU提供的16位偏移地址相加(通常将“段首地址:偏移地址”称为逻辑地址),形成一个20位的实际地址(又称为物理地址),以对1MB的存储空间进行寻址。

具体讲:当CPU执行指令时,BIU根据指令的寻址方式通过地址加法器形成指令在存储器中的物理地址,然后访问该物理地址所对应的存储单元,从中取出指令代码送到指令队列缓冲器中等待执行。

微机原理第3章 8086微型计算机系统

微机原理第3章 8086微型计算机系统
第3章 8086微型计算机系统
2、总线接口部件BIU
BIU组成: 4个16位段寄存器(DS、CS、ES、SS); 指令指针寄存器(IP); 20位的地址加法器; 6字节指令队列缓冲器; 内部暂存器和总线控制逻辑。 BIU功能:负责CPU与存储器、I/O设备之间的 数据传送。具体包括: 取指令送指令队列,配合EU从指定的内存 单元或者外设端口中取数据,将数据传送 给EU,或者把EU的操作结果传送到指定的 内存单元或外设端口中。第3章 8086微型计算机系统
第3章 8086微型计算机系统
4、内存操作
读:将内存单元的内容取入CPU,原单元内容不改变; 写:CPU将信息放入内存单元,单元中原内容被覆盖; 刷新:对CPU透明,仅动态存储器有此操作 内存的读写的步骤为: 1)CPU把要读写的内存单元的地址放到AB上 2) 若是写操作, CPU紧接着把要写入的数据放到DB上 3) CPU发出读写命令 4) 数据被写入指定的单元或从指定的单元读出到DB 若是读操作, CPU紧接着从DB上取回数据
第3章 8086微型计算机系统
3、8086的存储器的地址
内存包含有很多存储单元(每个内存单元包含 8bit),为区分不同的内存单元,对计算机中 的每个内存单元进行编号,内存单元的编号 就称为内存单元的地址。
内存单 元地址
. . .
Bit 7 6 5 4 3 2 1 0 01011000
内存单 元内容
段基地址(16位)
第3章 8086微型计算机系统

段地址说明逻辑段在主存中的起始位置 8086规定段地址必须是模16地址:xxxx0H 省略低4位0000B,段地址就可以用16位数据 表示,就能用16位段寄存器表达段地址 偏移地址(也称有效地址EA)说明主存单元 距离段起始位置的偏移量 每段不超过64KB,偏移地址也可用16位数据 表示

第三章 8086微处理器(结构)

第三章 8086微处理器(结构)

CLK S2-S0 A19-16 S3-S7 BHE AD15-0 ALE MRDC (IORC) DT/R DEN
最大方式写时序
地址 CS 数据 T1 T2 S2-S0 A19-16 A15-0 BHE 数据输出 T3 S2-S0 无效 S3-S7 D15-D0 T4
CLK S2-S0 A19-16 S3-S7 BHE AD15-0 ALE AMWC (AIOWC) MWIC(IOWC) DEN
INTEL 8086
8086引脚信号
8088引脚信号
INTEL 8088
8086最小方式系统结构
8284 CLK READY RESET
等待状态发生器
M/IO INTR INTA WR RD STB BHE
ALE BHE AD19-16 AD15-0
8082x3
地址总线 A19-0
数据总线 DEN DT/R MN/MX 8086 CPU 8286x2 OE RAM HOLD HLDA OE WR OE
IOB BHEຫໍສະໝຸດ 8286X2 OE RD MN/MX 8086 CPU T OE RAM
数据总线 (D15-0)
RD
ROM
I/O
WR RD
S2-S0代码组合和操作
S2 S1 S0 代码组合和对应操作 S1 S0 对 应 操 作 0 0 发中断响应信号 0 1 读 I/O 端口 1 0 写 I/O 端口 1 1 暂停 0 0 取指令 0 1 读内存 1 0 写内存 1 1 无源状态(CPU无作用) QS1 QS0 代码组合和对应操作 对应操作 无操作 从指令队列的第1个字节中取走代码 队列为空 除第1字节外,还取走了后续字节中的代码
低为IO读,

8086微处理器的内部结构

8086微处理器的内部结构

各个逻辑段允许重叠
例如,如果代码段中的程序占有8KB(2000H)存储区, 数据段占有2KB(800H)存储区,堆栈段占有256个字 节的存储区。此时分段情况如图所示。
代码段的区域本可为 02000H ~ 11FFFH (64KB),由于程序 区只需要8KB,所以 程序区结束后的地址 就可作为数据段的起 始地址(04000H) 注意:这里所谓的重叠只是指每个区段的大小允许根据 实际情况分配,而不一定非要占有64KB的最大段空间。
程序设计过程中必须遵守的系统内部约定:
如果访问存储器要求读/写操作数,则通常由DS给 出段地址(必要时可修改为CS、ES或SS),而其偏移 地址要由CPU的指令执行部件根据指令中所给定的寻 址方式来进行计算,通常将这样计算得到的偏移地址称 为有效地址(EA)。
如果所采用的寻址方式是通过基址指针BP寻址,则 段地址要由SS提供(必要时可以修改为CS、DS或ES)。
数据总线
通用寄存器
8086 暂存寄存器
ALU数据总线 (16位)
CS DS SS ES IP 内部通信 寄存器
(16位)
总线 控制 逻辑
8086 总线
ALU
EU 控制 系统
Q总线 16位
指令队列
1 2 3 4 5 6
总线接口部件 (BIU)
标志
指令执行部 件(EU)
1. 指令执行部件EU 由算术逻辑单元(ALU)、标志寄存器、通用寄存 器组和EU控制器等部件组成。 主要功能是执行指令: ○一般顺序执行,EU不断地从指令队列中取指令连 续执行,而省去访问存储器取指令的时间。 ○需要访问存储器取操作数时,EU将访问地址送给 BIU后,将要等待操作数到来后才能继续操作; ○遇到转移类指令时,要将指令队列中的后续指令 作废,等待BIU重新从存储器取出目标地址中的指令代 码进入指令队列后,EU才能继续执行指令。

8086CPU结构

8086CPU结构
21
零标志ZF (Zero Flag) ---反映运算结果是否为零, 若是,则该位置“1”,否则置“0”。 符号标志SF (Sign Flag) ---反映运算结果最高位的 状态,并与运算结果最高位状态相同。表明了本次运 算的结果是正还是负。 溢出标志OF (Overflow Flag) --- 反映带符号数进行 算术运算后是否有溢出,有则为“1”,无则为“0”。
3
指令和程序
机器指令 操作码 + 操作数
若干条指令构成程序
MOV B8H AX, 1234H 34H 12H
4
指令解释方式
CPU解释一条指令的步骤为如下两个阶段: 取指:从内存中取出指令,明确指令规定的功能; 执行:分析指令要求实现的功能,读取所需要的操作 数,执行指令规定的操作,并保存执行结果。
执行部件EU
功能:执行指令并暂时存储运算结果 结构: (1)16位算术逻辑单元ALU; (2)16位标志寄存器F; (3)数据暂存寄存器(与编程无关,不对用户开放) (4)通用寄存器组: AX、BX、CX、DX---数据寄存器 SP、BP---指针寄存器 SI、DI---变址寄存器 (5)EU控制电路:内部电路,不对用户开放
时 间
顺序解释
取指1
执行1
取指2
执行2
取指3
执行3
取指4
执行4
取指5
执行5
执行1
执行2
执行3
执行4
执行5
重叠解释
取指1 取指2 取指3 取指4 取指5
指令和程序的解释过程
5
8086微处理器的内部结构
地址总线 AH BH 通用 寄存 器 CH DH SP BP SI DI ALU数据总线 (16位) 暂存寄存器 总线控制 8086 逻辑 总线 ALU EU 控制系统 标志寄存器 执行部件(EU) 图2-2 8086 CPU内部结构 总线接口部件(BIU) 6 队列 总线 (8位) 指令队列缓冲器 1 2 3 4 5 6 段寄 存器 AL BL CL DL AX BX CX DX CS DS ES SS IP 内部通信 寄存器 指令指 针 地址 形成器 (20位) 数据 总线 (16位)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

● 8086 微处理器内部寄存器的分类、名称及功能;
● 8086 微处理器系统存储器的结构及堆栈的功能; ● 8086 系统总线的形成及两种模式下的总线周期;
● 了解 80X86 系列微处理器的基本结构和功能。
3.1 8086/8088 微处理器的内部结构
1.8086/8088 CPU是16位的第三代微处理器 2.8086 其内部数据总线和外部数据总线均16位 8088 却具有16 位的内部总线和8位的外部数据总线; (因而称为准16 位机) 3.均具有20 位地址总线,可寻址的内存地址空间达1M字节, 可寻址的I/O 地址空间为64 K字节,
3.1.1 8086/8088 的功能结构
一、8086/8088 CPU内部结构
有两个独立的
功能部件构成
1.EU
指令执行部件
2.BIU
总线接口部件
3.1.1 8086/8088 的功能结构
二、执行单元EU和总线接口单元BIU 1.指令执行单元 EU ★ 四个部件组成 ★ 功能是执行指令
通用寄存器组
4.8086 和8088 二者的指令系统完全兼容
(1)有24 种寻址方式,具有乘、除法指令等。 (2)取指令和执行指令的操作并行运行,运行速度大大提高。
(3)具有最小模式和最大模式,应用领域宽广,适应性强。
(4)可方便地和数据处理器8087、I/O 处理器8089 或其它处理器 组成多处理机系统,提高数据处理能力和输人输出能力。
3.1.2 8086/8088 的寄存器结构
一、通用寄存器组 EU单元中设有: 4 个16 位通用寄存器 AX BX CX DX 2 个16 位指针寄存器 SP BP
2 个16 位变址寄存器 DI SI
3.1.2 8086/8088 的寄存器结构
二、段寄存器 BIU单元中设置有4 个16 位 的段寄存器,用来存放段的 基地址,它们分别是 :
有效地址 EA 存储器
DS 数据段寄存器
地址加法器 操作数的 20 位物理地址
数据段
4.扩展段寻址
SI 数据段寄存器 DS数据段寄存器
存储器
左移四位
地址加法器
操 作 数 地 址
数据段
DS段
DI 数据段寄存器 ES扩展段寄存器 左移四位
ES段
扩展段
3.2.4 堆栈
★ 堆栈是在存储器中定义的一个堆栈段(特殊存储区域) ★ 同其它逻辑段一样,容量达 64KB(在 1MB 存储空间中) 1.堆栈段的段基址由堆栈寄存器SS 给定;断内偏移地址由堆栈 指针SP 给出,当栈空时,SP 指向堆栈栈底 。 2.堆栈以字为单位进行操作;堆栈中的数据项必须以规定宇的 形式存储,每访问一次堆栈,能压入/弹出一个字的信息。 3.堆栈的操作是入栈(PUSH)操作和弹出(POP)操作; ★ 入栈操作:先修改SP的内容(SP-2→SP),后将信息入栈; ★ 弹出操作:先将信息出栈,后修改SP的内容(SP+2→SP)
有借住,则: AF =1,否则置 AF =0。
4.ZF 零标志位:运算的结果为0,则:ZF =1,否则ZF =0。 5.SF 符号标志位:他和运算结果的最高位相同。
6.OF 溢出标志:运算结果有溢出则 OF =1,否则置 OF =0。
7.IF 中断标志位:用于控制可屏蔽的硬件中断,该标志可用指令 置位(1)或复位(置零)。
3.3 8086 微处理器的引脚信号和总线形成
3.3.1 最小方式的引脚定义
★ 8086/8088 CPU 包含16 条 数据线、20条地址线和一
些必要的控制信号
★ 采用分时复用地址/数据 总线的技术,减少了芯片
的引脚,构成40条引脚双
列直插式封装。 ★ 8086和8088 CPU 的引脚 功能基本相同,本节介绍 8086CPU 的引脚
A1~A19;地址码 A0 用来区分当前访问哪一个存储体。 A0=0 表示访问偶地址体;A0=1表示访问奇地址体。
高字节体
低字节体
二、8086 CPU 对存储器的访问
8086 系统允许一次读/写一个字节,也允许一次读/写一个字。
★ 读/写一个字节:A0 = 0,访问偶地址体;A0= 1,访问奇地址体。 ★ 读/写一个字:要同时访问两个存储体,从奇、偶体中各取一个字节。 情况下,仅凭 A0 来控制读/写操作无法完成。因此,系统中专门设有 总线高位有效控制信号 BHE。
间范围仅为64K 字节 。 ★ 将整个存储空间分成若干个逻辑段,
每个逻辑段的容量不能超过 64K 字节,
各个逻辑段之间可以紧密相连,也可以相 互重叠(完全或部分重叠)如图所示:
3.2.2 存储器的分段
二、段首地址的确定
★ 各个逻辑段的段首地址的低 4 位
地址码总是为“0”
★ 段首地址高 16 位地址码称作: “段基址” ★ “段基址” 存放在: 代码段基址寄存器 CS, 堆栈段基址寄存器 SS, 数据段基址寄存器 DS, 扩展段基址寄存器 ES。
★ 规则字的读/写操作可以一次完成。由于两个存储体上的地址
线 A19~A1 是连在一起的,只要使 A0=0,BHE=0,就可 以实现一次在两个存储体中对一个字的读/写操作。 ★ 读写的是从奇地址开始的字(高字节在偶体中,低字节在奇体 中),这种字的存放规则称为“非规则字”或“非对准字”。 ★ 非规则字的读/写,需要两次访问存储器才能完成。 第一次访问存储器读/写奇地址中的字节;
运算单元ALU
EU 控制器
16位标志寄存器FR
3.1.1 8086/8088 的功能结构
二、执行单元EU和总线接口单元BIU 2.总线接口单元BIU 地址加法器
专用寄存器组 总线控制电路 ★ 四个部件组成 ★ 功能是:

形成访问存储器的物理地址从存储器取 出的指令暂存到指令队列中等待执行

配合EU部件访问存储器或I/O端口,读取 操作数参加EU中的运算或存放运算结果 指令队列
IF =1可接受中断; IF =0 中断被屏蔽,不接受中断。
8.DF 方向标志位:指定字符串处理指令的步进方向,可用指令置位 或清零。DF =1,串处理以递减方式由高地址向低地址方向进行;
DF =0,串处理以递增方式由低地址向高地址方向进行。
9.TF 单步标志位:TF =1,表示控制CPU 进入单步工作方式。 此方式下,CPU 执行完一条指令就自动产生一次内部中断,用于
★ 段基址和偏移地址都是无符号的 16 位二进制数。
二、逻辑地址 :16 位的段基址和偏移地址通称为逻辑地址。
段 基 址

移 地 址
地 址 加 法 器

理 地 址
3.2.3 物理地址和逻辑地址
三、物理地址的形成:它是由逻辑地址变换得来的。
★ 当 CPU 访问存储器时,必须完成如下的地址运算:
物理地址 = 段基址×16 +偏移地址 ★ 通过 CPU 中总线接口部件BIU 中的地址加法器来实现的。
★ 也可将 IP 的内容压人堆栈或从堆栈中弹出。
3.2 8086/8088 微处理器的存储器结构
3.2.1 存储器的组成 一、存储器的组成
● 8086/8088 CPU 具有20 位地址线,可寻址 1M 字节
的存储单元。
● 在此存储空间中是以 8 位为一个字节顺序排列存放,
每一字节都有一个唯一的 20 位物理地址。
3.3.1 最小方式的引脚定义
二、引脚
1.Vcc(电源)、GND(地) 8086 CPU只需要单一的+5V电源,由Vcc输人,GND为接地端。
2.CLK(Clock):主时钟信号输人
由8284 时钟发生器输人,其频率随芯片型号不同有较大差异。 3.AD15~AD0:分时复用的地址/数据总线
三、标志寄存器 FR
1.CF 进位标志位:算术运算指令执行之后,运算结果最高位若
产生进位或借位,则:CF =1,否则置 CF =0。
2.PF 奇偶标志:运算指令执行后,如果运算结果中 1的个数为 偶数,则: PF =1,否则置 PF=0。
3.AF 辅助进位标志位:加减法运算过程中,若第3位有进位或
段 基 址

移 地 址
地 址 加 法 器




逻辑地址来源
存目标串
1.代码段寻址
程序计数器 PC
指 令 指 针 IP 存储器
CS代码段寄存器
左移四位
地址加法器 20位当前指令物理地址
代码段
2.堆栈段寻址
堆栈指针 SP 存储器
SS代码段寄存器
左移四位
地址加法器 20位当前指令物理地址
堆栈段
3.数据段寻址
第二次访问存储器读/写偶地址中的字节。
3.2.2 存储器的分段
一、划分逻辑段
★ 在8086/8088 系统中,可寻址的存储 器空间为1M 字节,每个存储单元对应一 个唯一的20 位的物理地址;对整个存储 空间寻址需20 位地址,但 CPU 可以提供 地址的寄存器 BX、IP、SP、BP、SI 和
DI 及运算单元都是16 位,可以寻址的空
程序调试过程中。
3.1.2 8086/8088 的寄存器结构
四、指令指针寄存器 IP ★ 16 位的指令指针寄存器 IP 用来存放将要执行的下一条 指令在代码段中的偏移地址。 ★ 在程序运行过程中,BIU 可修改 IP 中的内容,使它始终 指向将要执行的下一条指令。 ★ 程序不能直接访问 IP,但可通过某些指令修改 IP 内容。 ★ 如遇到转移类指令,则将转移目标地址送人IP中,以实 现程序的转移。
3.2.2 存储器的分段
三、段内地址的确定
★ 由于一个段中最多可以包括一个 64K 字节的存储空间,故段内
任一存储单元的地址可以用相对于段基址的16位偏移量来表示;
★ 该偏移量称为当前段内的“偏移地址”,可用CPU 中的16 位通 用 寄存器来存放。
相关文档
最新文档