微型处理器基本结构说明

原创 2006年05月24日 15:59:00

1.微型处理器的结构:

 

8086中央处理单元(CPU)是第三代微处理器,是Intel x86系列微处理器中的第一代产品。它是典型的16位微处理器,采用HMOS工艺,芯片内部包含有29000多个晶体管。它具有16位数据线和20位地址线,寻址空间为1M bytes8086由单一+5V电源供电,时钟频率510MHz。从功能上看,8086 CPU分为执行单元(EU)和总线接口单元(BIU)两部分。EUBIU协同工作,形成指令级的流水线。

2.EUBIU

(1)BIU的结构和功能
  概括地讲,EU负责执行指令,BIU负责与存储器或I/O接口交互数据。CPU通过BIU从存储器读取指令或操作数,送往EU执行。再通过BIUEU执行指令的结果传送到存贮器或者和I/O端口交换数据。

BIU的功能:

BIUEU完成全部的总线操作,根据EU的命令控制数据在CPU和存储器或I/O接口之间传送。以存储器访问为例,BIU的操作过程是这样的,BIU首先将要访问存储器的逻辑地址转换成物理地址,再从(往)物理地址对应的存储器单元读取(写入)数据;如果是读取指令,BIU从物理地址取到指令后将指令送入指令队列

BIU的组成:

段寄存器(均为16位)
 CS:代码段寄存器,存放程序段地址;
 DS:数据段寄存器,存放数据段地址;
 ES:扩展段寄存器,存放辅助数据段地址;
 SS:堆栈段寄存器,存放堆栈段地址。

为什么要分段??

808620位地址线,具有1M空间的寻址能力。但是808616位微处理器,其内部寄存器均为16位,那么如何用16位寄存器提供的信息来实现1M空间的存储器寻址呢?为了解决这个问题,8086采用了将存储器分段的技术。段地址由段寄存器给出,段寄存器内容左移4位得到20位的地址,就是该存储器段的起始地址。存储器每段的最大长度为64K,(因为16位寄存器表示的最大量为64K)因此段内的存储地址相对于该段起始地址的最大偏移为64K.


指令指针寄存器(16位)
 IP寄存器用于存放程序段的偏移量。
地址加法器(20位)
 地址加法器用于根据逻辑地址计算20位物理地址。
6
字节的指令队列
 指令队列可存放多条指令,用于指令预取。

解决8086执行指令的速度要比CPU芯片外部的数据访问快很多倍的问题;
总线控制电路

 总线控制电路实现总线的控制逻辑,产生相应的控制信号。

 

 

BIU功能的实现:

举个例子:

CS是代码段的段寄存器。一条指令的物理地址就是根据代码段寄存器CS内容和指令指针寄存器IP的内容得到的。具体计算是通过地址加法器进行的,地址加法器将段寄存器的内容左移4位(乘以16),然后再与IP的内容相加。得到指令的物理地址。例如:
  设CSED00HIP=0020H,计算物理地址时,先将CS左移4位,即得到ED00 0H,再与IP内容相加,即ED00 0H + 0020H = ED020HED020H就是该指令的物理地址。
  然后,由总线控制逻辑驱动地址信号和控制信号,读取ED020H单元的指令。取到指令以后,送入指令队列的队尾,备EU执行。EU总是从指令队列的队首得到指令。BIUEU执行指令的同时,不断从存储器顺序读取一条或多条指令,陆续将指令队列添满。这样,EU就可以连续执行指令,实现指令级的流水作业。

(2)EU的结构和功能

执行单元EUBIU的指令队列得到指令以后,完成对指令的译码、执行并回写结果。当EU需要操作数时,便申请BIU访问存储器并向BIU提供段偏移地址。此外它还具有管理寄存器等功能

EU的组成:

通用寄存器(16 bit
 AX:用作累加器;
 BX:一般用作基址寄存器;
 CX:常常作为计数器;
 DX:多用作辅助累加器
 AXBXCXDX都是16位寄存器,可是它们都可以分别作为28位寄存器使用。
专用寄存器(16 bit
 BP:基数指针寄存器
 SP:堆栈指针寄存器
 SI:源变址寄存器
 DI:目的变址寄存器
标志寄存器Flag16 bit

算术逻辑单元ALU
执行单元的控制电路

标志寄存器的作用:

(3)BIUEU之间的关系

操作流程:

  • BIU中的指令队列有2个或2个以上字节为空时,BIU自动启动总线周期,从存储单元取出指令。填充指令队列。直至将指令队列填满,BIU才进入空闲状态。
  • EU每执行完一条指令,从BIU指令队列的队首取指令。系统初始化后,指令队列为空,EU需要等待BIU从内存取指填充指令队列。
  • EU从指令队列取得指令后,译码并执行指令。若该指令需要取操作数或存操作结果,也就是说需要访问存储器或者I/O时,EUBIU发出访问总线的请求。
  • BIU接到EU申请总线的请求,若BIU正忙(正在执行取指令的总线周期),则必须等待BIU执行完当前的总线周期,方能响应EU请求;若BIU空闲,则立即执行EU申请总线的请求。
  • EU执行转移、调用和返回指令时,若下一条指令不在指令队列中,则队列中的指令被自动清除,BIU根据转移、调用和返回指令指示的目标地址重新取出指令并填充指令队列。

形成流水线结构:

8086中,指令的提取和执行是分别由总线接口部件和执行部件完成的,它们各行其责又相互配合。它们之间形成指令级的流水线,使得8086CPU可以在执行指令的同时进行读取指令的操作。执行部件从指令队列中取得指令的过程是数据在CPU内部寄存器之间传送的过程,所花费的时间远远小于总线访问的时间。一般情况下,EU可以不断地从指令队列中取得指令并执行指令,与BIU从对存储器的访问并行执行

3.总线周期

时钟周期或状态周期:8086CPU内部的逻辑操作以及与外部存储器和I/O交换数据进行的总线操作全部由CPU的时钟来定时的。CPU的基本定时单位称为时钟周期或者状态周期。假设8086的主频为10MHz,一个时钟周期为100ns

总线周期:CPU为了读取指令或传送数据,需要通过总线接口部件BIU与存储器或I/O接口进行信息交互,执行对总线的操作。进行一次数据传送的总线操作定义为一个总线周期。
  典型的总线周期通常由4个时钟(状态)周期T1T2T3T4组成。
  T1为地址周期。CPU通过地址/数据(或地址/状态)复用总线发出地址信息,指示要寻址的存储器单元或者I/O的地址。

         T2为缓冲周期。例如,在总线读周期,CPUT2撤销低16位地址信号,使该组信号线浮空,准备接收存储器或I/O的数据。
  T3为数据周期。数据出现在复用总线的低16位上。
  T4 总线周期结束。

空闲周期:
  系统总线处在空闲状态,此时,执行空闲周期T1

相关文章推荐

微型计算机基本结构

  • 2013年01月15日 21:46
  • 2.38MB
  • 下载

现代处理器的核心技术与基本结构

  • 2008年04月08日 09:55
  • 5.87MB
  • 下载

处理器体系结构(了解CPU的基本运行原理)——《深入理解计算机系统》

处理器体系结构 ISA 一个处理器支持的指令和指令的字节级编码称为它的指令集体系结构ISA。 虽然每个厂商制造的处理器性能和复杂性不断提高,但是不同型号在ISA级别上都保持着兼容。因此,...
  • jscese
  • jscese
  • 2015年09月06日 10:16
  • 1731

微型处理器架构

  • 2014年03月15日 10:05
  • 13.08MB
  • 下载

《linux 内核完全剖析》 chapter 2 微型计算机组成结构

微型计算机组成结构

微型计算机组成结构

现代PC机主板主要由2个超大规模芯片组或芯片集组成:北桥芯片(Northbridge)和南桥(Southbridge)芯片。北桥芯片用于与CPU、内存和AGP视频接口,这些接口具有很高的传输速率,北桥...

用 Lua 实现一个微型虚拟机-基本篇

用 Lua 实现一个微型虚拟机-基本篇 目录 介绍 机器指令模拟 最终核心代码 虚拟机内部状态可视化 完整项目代码 后续计划 参考 介绍 在网上看到一篇文章 使用 C 语言实现一个虚拟机...

用 Lua 实现一个微型虚拟机-基本篇

用 Lua 实现一个微型虚拟机-基本篇 目录 介绍 机器指令模拟 最终核心代码 虚拟机内部状态可视化 完整项目代码 后续计划 参考 介绍 在网上看到一篇文章 使用 C 语言实现一个虚拟机...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:微型处理器基本结构说明
举报原因:
原因补充:

(最多只允许输入30个字)