8086微处理器的内部结构解析
- 格式:ppt
- 大小:250.00 KB
- 文档页数:30
微机原理第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是一款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的内部结构
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能够进行数据的处理和存储,实现指令的执行和数据的输入输出。
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 的内容提供。