8086/8088CPU内部结构,引脚图,物理地址与逻辑地址

本文深入探讨8086/8088微处理器的工作原理,包括其内部的总线接口单元BIU和执行单元EU的结构,以及16位地址线如何实现20位地址寻址。CPU通过段寄存器和指令指针寄存器实现逻辑地址到物理地址的转换,并介绍了8086/8088的存储器组织和总线功能。
摘要由CSDN通过智能技术生成


《微机原理及单片机应用技术》 主编:王维新

第2章 80X86微处理器的工作原理

2.1 80x86处理器

Intel cpu系列最初开始于四位微处理器4004,之后发展到八位的8008,再到八位处理器8080,之后推出16位的微处理器,8086开始进入X86时代。Intel后来推出32位微处理器,处理器的不同一般在于指令数量,总线和地址线的不同。
微型计算机系统采用三级存储器组织结构,由高速缓冲存储器,主存储器和外存储器组成。当前正在执行的程序或要使用的数据必须从外存调入内存后,才能被CPU读取并执行;没有使用的程序可存入外存,如硬盘,软盘,光盘等。外存的容量通常很大;高速缓冲存储器的最大特点是存取速度快,容量较小,一般将当前使用频率较高的程序和数据,通过一定的替换机制从主存放入高速缓冲存储器。他们之间的变化规律是容量越大,速度越慢;容量越小,速度越快。

2.2 8086/8088微处理器

2.2.1 8086/8088微处理器的内部结构

8086CPU是16位微处理器,具有16根数据线和20根地址线(8088是8根数据线),寻址空间可达1M,可以和浮点运算器,I/O处理器或其他处理器组成多处理器系统,提高了系统的数据吞吐能力和数据处理能力。8086/8088微处理器的内部结构主要有总线接口单元BIU和执行单元EU组成。
在这里插入图片描述

1.总线接口单元BIU
功能是负责完成CPU与存储器或I/O设备之间的数据传送。两者并行工作,提高CPU的执行速度。EU从内存或外设端口读取操作数时,根据EU给出的地址,从内存或外设端口读取数据供EU使用。EU运算结果、数据或控制命令等由BIU送往指定的内存单元或外设端口。
总线接口单元有4个16位段寄存器:代码段寄存器CS,数据段寄存器DS,堆栈段寄存器SS和附加数据段寄存器ES。一个16位的指令指针寄存器IP,一个20位地址加法器,6字节指令队列缓冲器(8088是4字节),一个与EU通信的内部寄存器以及总线控制电路等。
1)段寄存器
8086cpu的地址引脚有20根,能提供20位的地址信息,可直接对1M个存储单元进行访问,但cpu内部可用来提供地址信息的寄存器是16位的,为了用16位寄存器实现20位地址的寻址,8086/8088采用了段结构的内存管理方法。 指令代码和数据分别存储在代码段、数据段、堆栈段、附加数据段中,每个段最多可达64k个存储单元(8086/8088CPU的寄存器是16位,只能存储2的16次方bit个单元,即64k)。这些段的段地址分别段寄存器提供,代码或数据在段内的偏移地址由有关寄存器或立即数给出。我们计算的物理地址,其实是下一条要读取的指令在存储器中的物理地址
CS代码段寄存器:存储程序当前使用的代码段的段地址
DS数据段寄存器:存放程序当前使用的数据段的段地址
SS堆栈段寄存器:存放程序当前所使用的堆栈段的段地址,堆栈是存储器中开辟的一个特殊存储区,主要用于调用子程序或执行中断服务程序时保护断点和现场
ES附加数据段寄存器:存放程序当前使用的附加数据段的段地址,附加数据段用来存放字符串操作时的目的字符串
2)指令指针寄存器
能自动加1,始终存放的是下一条要读取的指令在代码段的偏移地址
3)20位地址加法器
8088/8086CPU对存储单元进行访问,读取指令或存取操作数时,必须在地址总线上提供20位的地址信息,以便选取对应的存储单元。CPU提供的用来对存储单元进行访问的20位地址是由BIU中的地址加法器产生的。 存储器中每个存储单元的地址可以有两种表示方式:
(1)逻辑地址:我们把通过段地址和偏移地址来表示的存储单元的地址称为逻辑地址,记为“段地址:偏移地址”。读指令时,段地址由CS给出,段内偏移地址由IP给出;读取操作数时,根据操作,段地址由DS、ES或SS提供࿰

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值