CHAP2-8086CPU

合集下载

第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

8086cpu

8086cpu

8086 CPU简介8086 是英特尔(Intel)公司于 1978 年推出的 16 位微处理器。

它是最早的 x86 微处理器之一,被广泛应用于个人电脑(PC)的起步阶段,对于计算机技术的发展和普及起到了重要的推动作用。

本文将介绍 8086 CPU 的基本特征、工作原理和应用领域。

8086 CPU 的特点1.16 位架构: 8086 CPU 是一种 16 位微处理器,相对于 8 位微处理器,它能够处理更多的数据,提高计算机的处理能力。

2.寻址能力强: 8086 CPU 支持 1MB 的物理内存寻址,这在当时是非常先进的。

它通过分段的方式来实现 1MB 内存的寻址,其中代码段和数据段的概念对于内存管理非常重要。

3.复杂指令集: 8086 CPU 拥有丰富的指令集,包括算术运算、逻辑运算、条件分支、循环等指令。

这使得编程人员能够更灵活地进行程序设计。

4.支持多种工作模式: 8086 CPU 支持实模式和保护模式两种工作模式,实模式是与早期的 8080 和 8085 微处理器兼容的模式,保护模式则是为了在用户程序和操作系统之间提供更高的安全性和稳定性。

8086 CPU 的工作原理8086 CPU 主要包括以下几个部分:1.总线接口单元(BIU):负责处理与外部器件之间的数据传输,例如内存读写、I/O 设备访问等。

2.执行单元(EU):负责指令的解码和执行,包括算术逻辑运算、数据传输等操作。

3.时钟发生器(CLK):生成 CPU 的时钟信号,控制CPU 的工作频率。

8086 CPU 的工作过程如下:1.取指令(Fetch): BIU 从指令队列(Instrution Queue)中读取指令,并将其送往指令寄存器(Instruction Register)中进行解码。

2.解码指令(Decode): EU 解码指令,并将执行所需的数据从寄存器堆或内存中读取出来。

3.执行指令(Execute): EU 执行指令中的操作,包括算术运算、逻辑运算、数据传输等。

8086cpu最小模式工作原理

8086cpu最小模式工作原理

8086cpu最小模式工作原理8086CPU是Intel公司于1978年推出的一款16位微处理器,是Intel x86架构的第一代产品。

8086CPU最小模式是指CPU在最简单的工作模式下运行,没有外部芯片的辅助,只使用CPU内部的寄存器和控制信号进行操作。

8086CPU最小模式的工作原理可以分为初始化、取指、执行、访存和写回五个阶段。

首先是初始化阶段,CPU上电后,需要进行一系列的初始化工作,包括设置寄存器的初始值、选择内部工作频率、设置中断向量表等。

这些初始化工作的目的是为了让CPU进入正常的工作状态。

接下来是取指阶段,CPU从内存中读取指令并存放到指令寄存器中。

8086CPU采用的是分段存储结构,每个段都有一个段寄存器来存放段的起始地址。

取指阶段需要根据指令寄存器中的段地址和偏移地址,计算出实际的物理地址,并从内存中读取指令。

然后是执行阶段,CPU根据取到的指令进行相应的操作。

8086CPU 支持多种指令,包括数据传输指令、算术运算指令、逻辑运算指令等。

执行阶段会根据指令的类型和操作数的地址,对寄存器和标志位进行相应的修改。

在访存阶段,CPU根据指令中的地址信息,从内存中读取或写入数据。

8086CPU的内存访问采用的是段地址加偏移地址的方式,需要根据段寄存器的值和偏移地址计算出实际的物理地址。

访存阶段还包括对I/O端口的访问,通过特定的指令和端口号,与外部设备进行数据交互。

最后是写回阶段,CPU将执行结果写回到寄存器或内存中。

在执行阶段中,CPU可能会修改一些寄存器和标志位的值,这些值需要在写回阶段进行更新。

同时,如果执行的是写内存的指令,也需要将数据写入到相应的内存地址中。

总结一下,8086CPU最小模式的工作原理是通过初始化、取指、执行、访存和写回五个阶段来完成指令的执行。

在每个阶段,CPU会根据控制信号和当前状态进行相应的操作,从而完成指令的执行和数据的读写。

这种最小模式的工作原理是8086CPU能够正常运行的基础,也是后续扩展模式的基础。

微机原理习题ch2-answer

微机原理习题ch2-answer

习题22.1 8086CPU具有20 条地址线,可直接寻址1MB 容量的内存空间,在访问I/O端口时,使用地址线16条,最多可寻址64K 个I/O端口。

2.2 8086CPU的内部结构有何特点?由哪两部分组成?它们的主要功能是什么?【解答】8086微处理器是典型的16位微处理器,HMOS工艺制造,集成了2.9万只晶体管,使用单一的+5V电源,有16根数据线和20根地址线;通过其16位的内部数据通路与设置指令预取队列的流水线结构结合起来而获得较高的性能。

8086微处理器内部安排了两个逻辑单元,即执行部件EU和总线接口部件BIU。

EU主要负责指令译码、执行和数据运算,包括计算有效地址;BIU主要完成计算物理地址、从内存中取指令、实现指令规定的读/写存储器或外部设备等信息传输类操作。

2.3 8086CPU中的指令队列的作用是预取指令,其长度是 6 字节。

2.4 8086CPU内部寄存器有哪几种?各自的特点和作用是什么?【解答】CPU有14个内部寄存器,可分为3大类:通用寄存器、控制寄存器和段寄存器。

通用寄存器是一种面向寄存器的体系结构,操作数可以直接存放在这些寄存器中,既可减少访问存储器的次数,又可缩短程序的长度,提高了数据处理速度,占用内存空间少。

控制寄存器包括指令指针寄存器IP和标志寄存器FLAG:IP用来指示当前指令在代码段的偏移位置;FLAG用于反映指令执行结果或控制指令执行的形式。

为了实现寻址1MB存储器空间,8086CPU将1MB的存储空间分成若干个逻辑段进行管理,4个16位的段寄存器来存放每一个逻辑段的段起始地址。

2.5 8086的标志寄存器分为6 个状态标志位和3 个控制标志位,它们各自的含义和作用是什么?【解答】标志寄存器各标志位的含义和作用如下表:表2-1 标志寄存器FLAG中标志位的含义和作用2.6 已知堆栈段寄存器(SS)=2400H,堆栈指针(SP)=1200H,计算该堆栈栈顶的实际地址,并画出堆栈示意图。

8086CPU结构介绍及基础知识

8086CPU结构介绍及基础知识

分段管理的特点: ①起始点可浮动; ②可分开或重叠; ③实际地址由段地址、段内偏移地址组成; ④段首地址必须能被16整除
• 2、物理地址的形成
逻辑地址:存储器的任一个逻辑地址由段基址和偏移地址组成,程序设计时采 用。

段基址:偏移地址
物理地址:存储器的绝对地址,从00000~FFFFFH,它是由逻辑地址变换而来。
二、8086CPU的内部结构 8086CPU内部按功能可分为两部分: 1、BIU(总线接口部件) 功能:地址形成、取指令、指令排队、
读/写操作数、总线控制 2、EU(执行部件) 功能:指令译码、指令执行
组成部件见下页图
8086CPU的内部组成
执行单元(EU)
总线接口单元(BIU)
1、BIU ①段寄存器
例2-2
• 将5394H与-777FH两数相加,并说明其标志位状态

0101 0011 1001 0100
•+
1000 1000 1000 0001

1101 1100 0001 0101
• 运算结果:-23EBH
• 标志位:CF=0,DF=0,AF=0

ZF=0,SF=1,OF=0
控制标志位的名称和定义如下:
三寄存器结构目的变址寄存器destinationindexsidibpspax累加器accumulatorbx基数寄存器basecx计数寄存器countdx数据寄存器dataahbhchdhalblcldlipflagsdsessscs数据段寄存器datasegment附加段寄存器extrasegment堆栈段寄存器stacksegment代码段寄存器codesegment标志寄存器flags指令指针寄存器instructionpointer变址寄存器段寄存器控制寄存器通用寄存器源变址寄存器sourceindex基址指针寄存器basepointer堆栈指针寄存器stackpointer指针寄存器数据寄存器8086cpu寄存器组1通用寄存器组?常用来存放参与运算的操作数或运算结果?特殊用途见p25表212指针和变址寄存器?可作通用寄存器存放一般操作数或运算结果?作指针和变址寄存器用于存放某段地址偏移量3段寄存器?用于存放逻辑段的段基地址4指令指针和标志位寄存器?ip存放下一条指令在现行代码段中的偏移地址由biu自动修改

8086系统结构与8086CPU详解

8086系统结构与8086CPU详解

8086系统结构与8086CPU详解8086是Intel公司于1978年推出的16位微处理器,是第一个被广泛应用于个人电脑的微处理器。

指令执行单元是8086的核心部分,它包括指令队列和执行单元。

指令队列用于存储将要执行的指令,执行单元根据指令队列中的指令来执行相应的操作。

8086采用流水线执行模式,使指令的执行更高效。

8086有14个寄存器,其中有4个通用寄存器AX、BX、CX和DX,其分别可以作为数据寄存器、地址寄存器、指针寄存器和变址寄存器使用。

AX寄存器可以拆分为两个独立的8位寄存器AH和AL,分别用于存储高8位和低8位数据。

除了通用寄存器外,8086还有4个段寄存器CS、DS、ES和SS,用于存储程序的代码段、数据段和堆栈段的物理地址。

内存管理单元用于实现8086的内存管理功能。

8086采用分段分页的内存管理模式,通过段寄存器和偏移地址来访问内存。

段寄存器存储段的起始地址,偏移地址表示从段起始地址开始的偏移量。

通过这种方式,8086可以寻址1MB的内存空间。

8086使用外部总线与其他设备进行通信。

它包括地址总线、数据总线和控制总线。

地址总线用于传输地址信息,数据总线用于传输数据,控制总线用于传输控制信号。

8086的地址总线宽度为20位,可以寻址1MB的内存空间。

除了系统结构,了解8086的CPU结构也是很重要的。

8086包括指令流水线、ALU、寄存器组、时钟和控制单元等部分。

指令流水线用于提高指令执行的效率,将指令的执行过程分为取指令、译码、执行和写回四个阶段,并行地执行不同的指令。

ALU(算术逻辑单元)用于进行算术和逻辑运算。

寄存器组包括通用寄存器和段寄存器,用于存储数据和地址信息。

8086的时钟是由外部提供的,它通过时钟和控制单元来对指令的执行进行控制。

总的来说,8086的系统结构和CPU结构共同组成了一个完整的微处理器系统。

通过了解其结构,可以更好地理解8086的工作原理和性能特点,为编程和系统设计提供指导。

8086cpu的组成

8086cpu的组成

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8086cpu物理存储规则

8086cpu物理存储规则

8086cpu物理存储规则一、结构说明8086CPU主要由三块部分组成、通过内部总线实现CPU内各个器件之间的联系:运算器进行信息处理:处理指令运算使用。

寄存器进行信息存储:存储地址数据使用。

控制器协调各种器件进行工作:发送读写执行使用。

二、寄存器寄存器是CPU内部的信息存储单元CPU通过寄存器存放、内存地址、数据、指令,通过总线访问主板上任意连接的设备。

8086CPU有14个寄存器:通用寄存器:AX、BX、CX、DX变址寄存器:SI、DI指针寄存器:SP、BP指令指针寄存器:IP段寄存器:CS、SS、DS、ES标志寄存器:PSW通用寄存器说明:•AX:计算乘法除法专用•BX:可作为指针寄存器专用、默认指向DS•CX:默认循环指针、指针转移专用•DX:配合AX计算乘法除法专用8086 CPU 物理存储规则一、CPU 存储CPU 存储主要通过寄存器,在8086CPU中寄存器最多可以存储16位数据,两个字节。

CPU寄存器存储单位:字:CPU寄存器使用位以字为单位、PC位、如16位32位64位、称为字、8086CPU的字长(word size)为16bit=2字节。

字节:1字节= 8bit 、1bit= 二进制1二、CPU 兼容上面说到8086CPU寄存器存储单元最多存储16位数据存储,那么上一代最多存储8位数据、那么如今的16位CPU是如何兼容8位CPU的,下面会有说明。

通用寄存器均可以分为两个独立的8位寄存器使用、两个8位寄存器作为一个16位寄存器使用。

高位低位:一个字(word)可以存在一个16位寄存器中这个字的高位字节存在这个寄存器的高8位寄存器这个字的低位字节存在这个寄存器的低8位寄存器通用寄存器AX可以分为AH和ALBX可以分为BH和BLCX可以分为CH和CLDX可以分为DH和DL高低位在内存中存储:低位字节存在低地址单元,高位字节存在高地址单元。

例:20000D(4E20H)存放0、1两个单元,18D(0012H)存放在2、3两个单元。

8086cpu

8086cpu

转载自Zachary.XiaoZhen - 梦想的天空PS:感觉其实前边通用寄存器里边已经把一些段寄存器的一些东西介绍过了,所以感觉这里的东西没有上一篇内容多。

段寄存器(CS,IP,SS,SP,DS,ES)由于段寄存器总是和其他一些像指针寄存器,变址寄存器,控制寄存器一起使用,所以在这里,我并不会单独介绍段寄存器,而是将段寄存器和一些其他的常用寄存器搭配介绍。

由于下面的介绍中会涉及到很多关于段和栈的概念,而段和栈的介绍又都必须关系到物理内存,所以在介绍段寄存器以及其他一些呈协作关系的寄存器之前,还是先来介绍一下这几个基本的概念比较好。

8086 CPU 访问内存(物理地址):当CPU 需要访问一个内存单元时,需要给出内存单元的地址,而每一个内存单元在物理内存空间中都有一个唯一的地址,即可以通过这个地址定位到内存单元,而这个地址即为物理地址。

CPU 通过地址总线将一个内存单元的物理地址送入存储器,而后CPU 便可以通过这个物理地址来访问这个物理地址所指向的内存单元了。

那么这个物理地址在CPU 中是如何形成的呢?首先,我们知道8086 CPU 的地址总线是20 根,即每次都可以传输20 位的地址,从而寻址能力有220也就是1MB 的大小,但是8086 CPU 的寄存器只有16 位,也就是在8086 CPU 的内部,一次性处理,传输,暂存的地址都只能是16 位,即8086 CPU 不能完整的保存下一个物理地址(物理地址为20 位),如果单单以最简单的方式(即直接用16 位寄存器来保存物理地址)的话,那么,寻址能力只有216,也就是64KB,如果真以如此简单的方式的话,那么地址总线还需要20 根干嘛呢?而且,难不成我们以后的内存就是64KB 了吗?当然不是的,8086 CPU 在这里采取了一定的措施从而使其寻址能力达到1MB 。

8086 CPU 在内部通过两个16 位的地址进行合成从而形成一个20 位的物理地址,由此,8086 CPU 的寻址能力便可以达到1MB 。

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.。

8086cpu知识点总结

8086cpu知识点总结

8086cpu知识点总结8086 CPU 是 Intel 公司于 1978 年推出的第一款 16 位微处理器,它奠定了后来计算机发展的基础,为后续的计算机体系结构设计奠定了基础,其后续版本的处理器也是以其为基础进行设计。

这篇文章将对 8086 CPU 的架构、指令系统、寻址方式、操作模式、管脚、寄存器组、数据通路和控制信号等知识点进行详细的总结,以便更好地理解和掌握该处理器的相关知识。

一、8086 CPU 架构8086 CPU 是一种 16 位微处理器,其架构主要包括三部分:执行单元 (EU)、总线接口单元(BIU) 和通用寄存器组成。

EU 负责执行指令、算术运算和逻辑运算,同时与 BIU 进行数据交换;BIU 负责处理数据传输、地址生成和取指令等操作;通用寄存器组包括 4 个 16 位通用寄存器 AX、BX、CX 和DX,其中 AX 寄存器作为中央处理器 (CPU) 的数据寄存器,用于存放运算结果。

8086 CPU 内部结构由许多部件组成,包括寄存器、运算器、时钟、分频器、全速脉冲发生器、指令译码器、片选逻辑、地址生成器、数据总线缓冲器、地址总线驱动器、总线控制器、中断控制器、中断识别器、数据缓冲器等。

这些部件共同组成了 8086 CPU 的内部结构,为其正常工作提供了支持。

二、8086 CPU 指令系统8086 CPU 的指令系统包括数据传输指令、算术运算指令、逻辑运算指令、串处理指令、控制转移指令、程序调用和返回指令、中断指令等。

这些指令可以根据其功能和操作数的不同进行分类。

数据传输指令包括将数据从一个位置传送到另一个位置的指令,其中包括 MOV、XCHG、LEA 等指令;算术运算指令包括实现加法、减法、乘法、除法等运算的指令,其中包括ADD、SUB、MUL、DIV 等指令;逻辑运算指令包括实现与、或、非、异或等逻辑运算的指令,其中包括 AND、OR、NOT、XOR 等指令;串处理指令包括在存储器中进行字符串操作的指令,其中包括 MOVSB、MOVSW、CMPSB、SCASB 等指令;控制转移指令包括跳转、调用、返回等指令,其中包括 JMP、CALL、RET 等指令;程序调用和返回指令包括实现过程调用和返回的指令,其中包括 INT、IRET 等指令;中断指令包括控制中断处理的相关指令,其中包括 INT、IRET 等指令。

8086芯片

8086芯片

8086芯片8086芯片是由英特尔公司推出的一款16位微处理器芯片,于1978年首次发布。

它是第一款采用x86指令集的微处理器,被广泛应用于个人电脑和工业控制系统中。

以下是关于8086芯片的详细介绍。

8086芯片采用了16位数据总线和20位地址总线,支持最大1MB的内存寻址能力。

它的时钟速度通常在5-10 MHz之间,相对于早期的8位微处理器,它具备更高的处理能力和更大的内存寻址范围。

8086芯片采用了引入了许多创新的架构设计,其中包括分段存储器结构和实模式与保护模式的切换能力。

分段存储器结构将内存划分为多个段,每个段的大小可以达到64KB。

这种设计使得8086芯片可以灵活地管理内存,提供更好的内存管理能力。

实模式与保护模式的切换能力使得8086芯片可以在不同的工作模式之间切换,以适应不同的应用需求。

8086芯片可以执行多种指令,包括算术指令、逻辑指令、数据传输指令、控制转移指令等。

它的指令集被称为x86指令集,是现今个人电脑及服务器等计算设备使用最广泛的指令集之一。

8086芯片的指令集支持16位和8位操作数,提供了丰富的指令功能,可以满足复杂的应用需求。

8086芯片在应用方面具备广泛的适用性。

它可以用于个人电脑、工作站、嵌入式系统等多种设备中。

在个人电脑领域,8086芯片的性能和可靠性为后来的x86系列微处理器奠定了基础,成为了现代个人电脑发展的重要里程碑。

尽管8086芯片已经有40多年的历史了,但它的设计理念和架构思想仍然对于计算机体系结构的研究和教学有着重要的影响。

它的分段存储器结构和实模式与保护模式的设计不仅为后来的x86微处理器提供了参考,也为其他体系结构的设计带来了启示。

总结来说,8086芯片是一款具备16位数据总线和20位地址总线的微处理器芯片,采用了创新的架构设计,具备了高性能和内存管理能力。

它的指令集成为现代个人电脑的基础,对计算机体系结构的研究和教学有着重要影响。

尽管已经有40多年的历史,8086芯片仍然被广泛应用于各种计算设备中。

8086微处理器的指令集架构

8086微处理器的指令集架构

8086微处理器的指令集架构8086微处理器是一种16位的通用微处理器,由英特尔公司于1978年发布。

它的指令集架构称为x86,后来的许多处理器都是基于该架构进行扩展的。

这个指令集架构是8086微处理器与其后继处理器(如80286、80386等)之间的兼容性的基础,影响了后来的计算机硬件和软件设计。

8086指令集架构具有大量的指令和寻址模式,这些指令可以操作不同的数据类型和寄存器。

下面我们来介绍一些8086指令集的主要特点和功能:1.数据传送指令:- MOV:用于将数据从一个位置复制到另一个位置。

例如,MOV AX, BX可以将BX寄存器的内容复制到AX寄存器。

- PUSH和POP:用于将数据从寄存器或内存推送到堆栈或从堆栈中弹出。

例如,PUSH AX将AX寄存器的内容推送到堆栈中。

2.算术和逻辑指令:- ADD、SUB、INC和DEC:用于对寄存器或内存中的数据执行加法、减法、递增和递减操作。

- AND、OR、XOR和NOT:用于对寄存器或内存中的数据执行逻辑操作,如与、或、异或和取反。

- MUL和DIV:用于对寄存器或内存中的数据执行乘法和除法操作。

3.控制转移指令:- JMP:用于无条件跳转到指定标签或内存位置。

- JZ、JNZ、JE、JNE等:用于根据条件跳转到不同的指令位置。

例如,JZ表示如果零标志位为真,则跳转。

- CALL和RET:用于调用和返回子程序。

4.串操作指令:- MOVS、LODS、STOS、CMPS:用于在内存之间复制、加载、存储和比较数据。

- REP和REPE:用于重复执行串操作指令。

5.输入输出指令:- IN和OUT:用于从输入输出端口读取和写入数据。

- INT和IRET:用于进行中断和中断返回操作。

在8086指令集架构中,还有一些特殊的指令和寻址模式,用于实现更复杂的功能。

例如,8086支持段寻址模式,即使用段寄存器和偏移地址的组合来访问内存。

此外,还有一些面向特定任务的指令,如乘法指令和浮点操作指令等。

迅驰2平台英特尔移动处理器参数表

迅驰2平台英特尔移动处理器参数表

Centrino 2三个组件包括PM/GM45芯片组、45nm酷睿2双/四核处理器、Intel WiFi Link 5000系列无线网卡。

QX: Quad-Core Extreme SegmentX: Extreme SegmentT: Mobile Highly Performance SegmentP: Power Optimized Energy Efficient higher Performance Segment迅驰2平台已知的移动处理器参数见下表:型号主频L2FSB制程TDP核心双核Montevina平台(迅驰2平台:搭配GM45、GM47、PM45芯片组)英特尔酷睿2至尊移动处理器:Core 2 Extreme QX9300 2.53 GHz12M1066MHz45nm45W Penryn四核Core 2 Extreme X9100 3.06 GHz6M1066MHz45nm44W Penryn√英特尔酷睿4双核移动处理器Core 2 Extreme Q9100 2.26 GHz12M1066MHz45nm45W Penryn四核Core 2 Extreme Q9000 2.00 GHz6M1066MHz45nm45W Penryn四核英特尔酷睿2双核移动处理器:Core 2 Duo T9800293 GHz6M1066MHz45nm35W Penryn√Core 2 Duo T9600 2.80 GHz6M1066MHz45nm35W Penryn√Core 2 Duo T9550 2.66 GHz6M1066MHz45nm35W Penryn√Core 2 Duo T9400 2.53 GHz6M1066MHz45nm35W Penryn√Core 2 Duo P9500 2.53 GHz6M1066MHz45nm25W Penryn√Core 2 Duo P8700 2.53 GHz3M1066MHz45nm25W Penryn√Core 2 Duo P8600 2.40 GHz3M1066MHz45nm25W Penryn√Core 2 Duo P8400 2.26 GHz3M1066MHz45nm25W Penryn√Core 2 Duo P7450 2.13 GHz3M1066MHz45nm25W Penryn√Core 2 Duo P7350 2.00 GHz3M1066MHz45nm25W Penryn√Montevina平台(迅驰2 SFF平台:搭配GS45芯片组)英特尔酷睿2双核移动处理器:Core 2 Duo SP9400 2.40 GHz6M1066MHz45nm25W Penryn√Core 2 Duo SP9300 2.26 GHz6M1066MHz45nm25W Penryn√英特尔酷睿2双核低电压、超低电压移动处理器Core 2 Duo SL9400 1.86 GHz6M1066MHz45nm17W Penryn√Core 2 Duo SL9300 1.60 GHz6M1066MHz45nm17W Penryn√Core 2 Duo SU9400 1.40 GHz3M800MHz45nm10W Penryn√Core 2 Duo SU9300 1.20 GHz3M800MHz45nm10W Penryn√Core 2 Duo SU3300 1.20 GHz3M800MHz45nm5W Penryn√英特尔酷睿2双核移动处理器(搭配GM45、GM47、PM45芯片组)Core 2 Duo T6600 2.20 GHz2M800MHz45nm35W Penryn√Core 2 Duo T6400 2.00 GHz2M800MHz45nm35W Penryn√Core 2 Duo T5900 2.20 GHz2M800MHz65nm35W Merom√Core 2 Duo T5800* 2.00 GHz2M800MHz65nm35W Merom√英特尔奔腾双核移动处理器(搭配GM47、GM45、GL40芯片组)Pentium Dual Core T4200 2.00 GHz1M800MHz45nm25W Penryn√Pentium Dual Core T3400 2.16 GHz1M667MHz65nm35W Merom√Pentium Dual Core T3200* 2.00 GHz1M667MHz65nm35W Merom√英特尔赛扬双核移动处理器(搭配GM47、GM45、GL40芯片组): Celeron Dual Core T1800 2.00 GHz1M667MHz65nm35W Merom√Celeron Dual Core T1700 1.83 GHz1M667MHz65nm35W Merom√Celeron Dual Core T1600 1.66 GHz1M667MHz65nm35W Merom√英特尔赛扬移动处理器:Celeron M 585 2.16 GHz1M667MHz65nm25W Merom Celeron M 575 2.00 GHz1M667MHz65nm25W Merom英特尔赛扬超低电压版移动处理器:Celeron M 723 1.20 GHz1M800MHz65nm10W Meromk 5000系列无线网卡。

微机原理课后单元习题-单元2-8086cpu

微机原理课后单元习题-单元2-8086cpu

习题二 8086微处理器答案主要内容:主要介绍8086/8088CPU内部结构。

了解80X86CPU的特点。

2.1 8086 CPU在内部结构上由哪几部分组成?其功能是什么?【答】8086的内部结构分成两部分。

总线接口部件BIU,负责控制存储器与I/O端口的信息读写,包括指令获取与排队、操作数存取等。

执行部件EU负责从指令队列中取出指令,完成指令译码与指令的执行行。

2.2 8086的总线接口部件有那几部分组成? 其功能是什么?【答】8086的总线接口部件主要由下面几部分组成:4个段寄存器CS/DS/ES/SS,用于保存各段地址;一个16位的指令指针寄存器IP,用于保存当前指令的偏移地址;一个20位地址加法器,用于形成20位物理地址;指令流字节队列,用于保存指令;存储器接口,用于内总线与外总线的连接。

2.3 8086的执行单元(部件)由那几部分组成?有什么功能?【答】8086的执行单元部件主要由下面几部分组成:控制器、算数逻辑单元、标志寄存器、通用寄存器组。

(1)控制器,从指令流顺序取指令、进行指令译码,完成指令的执行等。

(2)算数逻辑单元ALU,根据控制器完成8/16位二进制算数与逻辑运算。

(3)标志寄存器,使用9位,标志分两类。

其中状态标志6位,存放算数逻辑单元ALU 运算结果特征;控制标志3位,控制8086的3种特定操作。

(4)通用寄存器组,用于暂存数据或指针的寄存器阵列。

2.4 8086内部有哪些通用寄存器?【答】四个16位数据寄存器AX、BX、CX、DX,二个指针寄存器SP、BP, 二个变址寄存器SI、DI。

这些寄存器使用上一般没有限制,但对某些特定指令操作,必须使用指定寄存器,可参考后面指令系统章节。

2.5 8086内部有哪些段寄存器?各有什么用途?【答】四个16位段寄存器:CS、DS、SS、ES,分别保存代码段、数据段、堆栈段与扩展段的段地址。

2.6 8086CPU状态标志和控制标志又何不同?程序中是怎样利用这两类标志的? 8086的状态标志和控制标志分别有哪些?【答】(1)标志分两类:状态标志(6位),反映刚刚完成的操作结果情况。

说明8086cpu的封装形式 -回复

说明8086cpu的封装形式 -回复

说明8086cpu的封装形式-回复8086 CPU的封装形式8086 CPU是Intel公司于1978年推出的一款16位微处理器,被广泛应用于个人电脑和工业控制等领域。

在设计8086 CPU时,Intel公司对其封装形式进行了精心设计,以保证其正常运行和可靠性。

本文将详细介绍8086 CPU的封装形式。

1. 引言8086 CPU的封装形式是指芯片的外形结构,它影响了芯片的连接方式和安装方法。

设计封装形式时,需要考虑到散热、电磁兼容、面积利用等因素。

8086 CPU的封装形式也会影响到电路板的设计和制造。

在设计8086 CPU封装形式时,Intel公司通过不断创新,提高了芯片的耐用性和生产效率。

2. DIP封装(双列直插式封装)最早的8086 CPU采用的是DIP封装,该封装形式采用直插式设计,芯片的引脚(PIN)排列成两个列,从芯片的两侧插入插座中。

这种封装形式在早期的个人电脑中得到了广泛应用。

然而,DIP封装方便插拔,但限制了芯片引脚的数量和间距,使得芯片的功能扩展受到限制。

3. LGA封装(Land Grid Array封装)为了满足8086 CPU在功能和性能上的进步,Intel公司引入了LGA封装形式。

LGA封装采用小锡球(solder ball)作为连接引脚,通过把这些小锡球焊接到电路板上与芯片接触接头(land)上,实现芯片与电路板的连接。

LGA封装形式具有较高的可靠性和良好的散热性能,适用于高性能计算机和服务器。

4. PGA封装(Pin Grid Array封装)8086 CPU的PGA封装形式主要用于早期的个人电脑。

PGA封装形式中,芯片的引脚(PIN)以网格状排列在芯片底部,通过焊接或插座与电路板连接。

PGA封装形式相对较大,容易插拔,适合于频繁更换CPU的个人电脑。

然而,PGA封装受限于引脚的数量和长度,限制了芯片的功能扩展。

5. BGA封装(Ball Grid Array封装)BGA封装形式是近年来发展起来的一种新型封装形式。

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位)

8086-CPU内部结构

8086-CPU内部结构

课题:8086微处理结构一、8086 CPU的内部结构:图解分析:1、8086 CPU从功能上可分为:总线接口部件BIU(Bus Interface Unit)执行部件EU(Execution Unit)2、BIU:负责与存储器、外部设备之间进行信息交换。

功能:①负责从内存指定单元取出指令,并送到6字节的指令队列中排列;②同时负责从内存指定单元取出指令所需的操作数并送EU;③EU运算结果也由BIU负责写入内存指定单元。

组成:20位的地址加法器段寄存器(CS、DS、ES、SS)指令指针(IP)指令队列缓存器总线控制电路各组件功能:①地址加法器:计算并形成CPU要访问的内存单元的20位物理地址;②段寄存器:用于存放对应段的段基址;③指令指针寄存器:用于存放下一条要执行的指令的偏移地址;④指令队列:是6字节的“先进先出”的RAM存储器,用于顺序存放CPU要执行的指令,并送EU去执行;⑤总线控制电路:产生总线控制信号,如存储器读/写、I/O读写控制信号。

3、EU:负责指令的执行。

功能:①负责从BIU的指令队列中取得指令、分析指令、执行指令,并将结果存入通用寄存器或由BIU写入内存单元;②同时负责计算操作数所在内存单元的偏移地址。

组成:算术逻辑单元(ALU)标志寄存器通用寄存器:数据寄存器:AX、BX、CX、DX指针和变址寄存器:SP、BP、SI、DIEU控制电路各组件的功能:①算术逻辑单元(ALU):对操作数进行算术和逻辑运算,也可按指令的寻址方式计算出CPU要访问的内存单元的16位偏移地址;②标志寄存器:用于反映算术和逻辑运算结果的状态;③数据寄存器:用于保存操作数或运算结果等信息;④指针和变址寄存器:用于存放操作数所处存储单元的偏移地址;⑤EU控制电路:接收从BIU指令队列中取得的指令,分析、译码,以便形成各种实时控制信号,对各个部件实现特定的控制操作。

8086cpu

8086cpu

8086cpu1、 8086CPU和8088CPU内部结构基本相同,不同之处在于8088有8条外部数据总线,因此为准16位。

8086有16条外部数据总线。

两个CPU的软件完全兼容,程序的编制也完全相同。

2、 8086CPU从功能上分为两⼤部分:⼀是执⾏部件(EU),⼆是总线接⼝部件(BIU)。

执⾏部件是由以下虽部分组成:(1)四个通⽤寄存器:AX BX CX DX(2)四个专⽤寄存器:基数指针寄存器BP,堆栈指针寄存器SP,源变址寄存器SI,⽬的变址寄存器DI(3)标志寄存器FR=flag(4)算术逻辑部件ALU功能是负责执⾏所有的指令,向总线接⼝部件提供指令执⾏的结果数据和地址,并对通⽤寄存器和标志寄存器进⾏管理。

总线接⼝部件由以下部件组成:(1)四个段寄存器:代码段寄存器,数据段寄存器,附加段寄存器,堆栈段寄存器。

(2)指令指针寄存器(3)地址加法器(4)指令队列功能:执⾏外部总线周期,负责存储器与外部端⼝I|O传送数据。

也就是负责CPU与存储器和外设之间的信息交换。

3、共有14个寄存器,分成3个部分:(!)通⽤寄存器8个:AX, BX , CX, DX , SP , BP ,SI ,DI.AX , BX ,CX , DX为数据寄存器,⽤来保存运算中的中间结果和有效地址。

4个寄存器既可以做16位寄存器,也可以做8位寄存器 AL, AH, BL, BH, CL, CH, DL, DH.。

在程序设计中,⼀般把AX⽤作累加器。

BX ⽤作基址寄存器,CX⽤作计数器,DX⽤作数据寄存器。

SP:堆栈指针寄存器;装栈顶指针偏移量。

BP:基址指针寄存器:装栈段中⼀个数据区的基址偏移量。

SI:源变址寄存器;装源操作数地址的偏移量。

DI:⽬的变址寄存器;装⽬的操作数地址偏移量。

(2)段寄存器4个CS;代码段寄存器;装代码段的起始地址;DS;数据段寄存器;装数据段的起始地址;SS; 堆栈段寄存器;装堆栈段的起始地址;ES: 附加段寄存器;装附加段的起始地址。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

– 3.段寄存器
• 8086CPU中有4个段寄存器,用于存放当前程序所 用的各段的起始地址,也称为段的基地址。它们分 别为:
– – – – (1)代码段寄存器CS(Code Segment) (2)数据段寄存器DS(Data Segment)。 (3)堆栈段寄存器SS(Stack Segment)。 (4)附加段寄存器ES(Extended Segment)。
表2-1 8086中通用寄存器的一般用法和隐含用法
寄存器 AX 一般用法 16位累加器 (Accumulator) 隐含用法 字乘时提供一个操作数并存放积的低字;字除时提供 被除数的低字并存放商 字节乘时提供一个操作数并存放积的低字节;字节 除时提供 被除数的低字节并存放商;BCD码运算指令和XLAT 指令中作累加器;字节I/O操作中存放8位输入/ 输出数据 字节乘时提供一个操作数并存放积的高字节;字节 除时提供 被除数的高字节并存放余数;LAHF指令中充当目的 操作数 XLAT指令中提供被查表格中源操作数的间接地址 串操作时用作串长计数器;循环操作中用作循环次 数计数器 移位或循环移位时用作移位次数计数器 在间接寻址的I/O指令中提供端口地址;字乘时存放 积的高 字,字除时提供被除数高字并存放余数
ALU
1 2 3 4 5 6
队列总线 指令队列缓冲器
标志寄存器FR 执行部件(EU) 总线接口部件(BIU)
图2-1 8086CPU的内部功能结构框图
– 1.执行部件EU
• (1)EU的功能 – ① 从BIU的指令队列缓冲器中取出指令,由EU控制器 的指令译码器译码产生相应的操作控制信号给各部件 – ② 对操作数进行算术运算和逻辑运算,并将运算结果 的状态特征保存到状态寄存器FR中 – ③ EU不直接与CPU外部系统相连,当需要与主存储 器或I/O设备交换数据时,EU向BIU发出命令,并提 供给BIU16位有效地址及所需传送的数据 • (2)EU的组成。 – EU由算术逻辑单元ALU,通用数据寄存器组,地址 指针和变址寄存器,标志寄存器,数据暂存寄存器和 EU控制器组成
个段覆盖。 注意ymin和ymax的最低位必须与z的最低位相同, 这样才能计算得到整数x。
例2:
z=01235H= 则xmax=0123H。 且 z=01235H=10H*xmin+ymax=10H*xmin+FFF5H,
隐含用法 压栈、出栈操作中指示栈顶
BP
SI
串操作时用作源变址寄存器, 指示数据段(段默认)或其他 段(段超越)中源操作数的偏 移地址
DI
目的变址(Destination Index)寄 串操作时用作目的变址寄存器, 存器。它支持间接寻址、变址寻址、 指示附加段(段默认)中目的 基址加变址寻址等多种寻址 操作数的偏移地址
对于x值较大的高段,整个段64K字节的底部除了覆盖
1M内存的顶部以外,64K字节的顶部也覆盖了1M内存 的底部。 由y取值范围为0000—FFFFH决定了每个段的高度都相 同,均为264即64K字节。由x的取值范围为0000— FFFFH决定了总共有264即64K个段。
1M内存空间里任一字节单元的物理地址是
0000H
0001H
……
FFFEH
FFFFH
FFFE0H
FFFFH
FFFF0H FFFF1H
0002H
…… FFFEH FFFFH
…… 00002H FFFEH FFFFH
00012H
0FFFEH 0FFFFH 1000EH 1000FH 0FFDEH 0FFDFH
FFFE2H
0FFEEH 0FFEFH
8086 CPU利用段基址x和偏移地址y进行运
算得到物理地址这种方式的优点是:
– 可将代码、数据、堆栈、附加数据等置于不同 的段,避免重叠;需要时当然也可重叠使用。 – 只需改变段基址,即可将整个段上移或者下移 ,但不改变段内数据的相互位置关系。编程时 使用逻辑地址描述,给程序设计带来很大的灵 活性。
小结
8086 CPU能够访问的内存空间大小是1M字节,每个字
节单元对应的地址为00000—FFFFFH,需要的地址线 为20条,即20位地址。 8086 CPU里的所有寄存器全为16位。如果只用一个16 位的寄存器作为地址,不能一一对应1MB空间的每一 个字节单元;若使用两个各16位寄存器并列使用,能 够提供32位地址,又多于20位。 实际上8086使用两个各16位寄存器,一个作为段基址x 、一个作为偏移地址y,利用以下公式计算得到物理地 址z: z=x*16+y=x*10H+y
可推算出xmin=F124H
共有xmax- xmin+1=0123H-F124H+1=1000H=4096个
段覆盖。
8086 CPU利用段基址x和偏移地址y进行运算
得到物理地址这种方式的优点是:
– 可将代码、数据、堆栈、附加数据等置于不同的 段,避免重叠;需要时当然也可重叠使用。 – 只需改变段基址,即可将整个段上移或者下移, 但不改变段内数据的相互位置关系。编程时使用 逻辑地址描述,给程序设计带来很大的灵活性。
AB(20位)
数 据 寄 存 器 指针 和变 址寄 存器
AH AL BH BL CH CL DH DL SP BP SI DI
AX BX CX DX
地址加法器
DB(16位)
ALU数据总线 (16位)
CS DS SS ES IP 内部暂存器
总线 控制 逻辑
8086 总线
暂存寄存器 EU 控制器
(8位)
AL
AX的低8位
AH
AX的高8位 基址(Base)寄存器,支 持多种寻址,常用 作地址寄存器 16位计数器 (Counter) 8位计数器 16位数据(Data) 寄存器
BX CX CL DX
寄存器 SP
一般用法 堆栈指针(Stack Pointer),与SS 配合指示堆栈栈顶的位置 基址指针(Base Pointer),它支 持间接寻址、基址寻址、基址加变 址等多种寻址手段。在子程序调用 时,常用它来取压栈的参数 源变址(Source Index)寄存器。 它支持间接寻址、变址寻址、基址 加变址寻址等多种寻址
表2-2 8086中地址寄存器的一般用法和隐含用法
• (1)8086的堆栈及堆栈操作有以下特点
– ① 双字节操作 – ② 堆栈向低地址方向生成。
• (2)BP、BX都被称为基址指针,但两者用法不同 • (3)由于大多数算术和逻辑运算中又可以使用BP 、SP和变址寄存器,因而也将这4个寄存器归入通 用寄存器组
• (3)EU的特点 – ① 通用数据寄存器AX,BX,CX,DX,既可以作16 位寄存器使用,也可以分成高、低8位分别作两个8位 寄存器使用 – ② ALU的核心是16位二进制加法器 – ③ 16位状态标志寄存器(7位未用)存放操作后的状 态特征和设置的控制标志。 – ④ EU控制器是执行指令的控制电路,实现从队列中 取指令、译码、产生控制信号等。
FFFF2H
0FFFEH 0FFFFH
1000EH 1000FH
0FFDEH 0FFDFH
0FFEEH 0FFEFH
如果段基址x不变,y加一,物理地址z相当于在x段内上
移一个字节。
如果段基址x加一,相当于整个段向上移动16个字节。 段基址x用来表示这个段的高低位置,偏移地址y用以表
示某一字节相对于该段底部的高度。
20位物理地址和16位段基址、 16位段内偏移量之间的关系
地址加法器是用来产生20位存储器物理地
址的。8086可寻址1MB空间,但8086内部 寄存器和数据通道宽度都是16位的,所以 需要根据提供的逻辑地址信息产生20位物 理地址。地址加法器把段寄存器提供的16 位信息——称作段基址,左移4位(相当于 乘以16),加上EU或者IP提供的16位信息 ——称作偏移地址,形成20位的物理地址 ,计算公式为: 物理地址z(20位)=段基址x(16位)× 16+ 偏移地址y(16位)=x*10H+y。
可作为偏移量y使用的只有以下6个寄存器,BX、BP、SI、DI、IP
、SP。
2.1.2 8086的寄存器结构
• 8086CPU内部设有三组信息寄存器和一个标志寄存器 • 三组寄存器是:通用数据寄存器组、地址指针和变址寄 存器、段寄存器组。另有一个16位的指令指针寄存器IP (Instruction Pointer)。
x的物理意义是该段的高低位置,由x的取值范
围为0000-FFFFH,决定了总共有65536即64K 个段。X加/减1则整个段则上/下移16个字节。 y的物理意义是该段内某个字节单元相对于该 段最底部的高度,亦即所谓的偏移量。若x不 变,y加减1,则对应的内存单元在该段内上/ 下移一个字节。y的取值范围也为0000-FFFFH ,由此决定了任何一个段的大小或高度均为 64KB。 高段除了覆盖高地址单元以外,超过1M部分 则折返至低地址单元。1MB空间里的任意一个 内存单元均可被4K即4096个段所覆盖。
– 2.总线接口部件BIU
• (1)BIU的功能 – ① BIU从主存取指令送到指令队列缓冲器。
– ② CPU执行指令时,总线接口单元要配合EU从指定的主 存单元或外设端口中取数据,将数据传送给EU或把EU的 操作结果传送到指定的主存单元或外设端口中 – ③ 计算并形成访问存储器的20位物理地址 • (2)BIU的组成。 – BIU由4个16位段寄存器、16位指令指针寄存器、20位物 理地址加法器、6字节指令队列及总线控制逻辑组成。 • (3)BIU的特点: – ① 指令队列是由6个字节的寄存器组成(8088指令队列 由4个字节组成)。 – ② 地址加法器是用来产生20位存储器物理地址的。 – ③ 8086分配20条引脚线分时传送20位地址,16位数据和 4位状态信息。
相关文档
最新文档