欢迎来到天天文库
浏览记录
ID:58871878
大小:1.72 MB
页数:106页
时间:2020-09-30
《第2章 16位和32位微处理器课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章16位和32位微处理器2.116位微处理器8086/80882.232位微处理器803862.332位微处理器Pentium2.116位微处理器8086/80882.1.18086/8088CPU的内部结构2.1.28086/8088CPU的寄存器结构2.1.38086/8088CPU的引脚信号和功能2.1.48086/8088系统的工作模式2.1.58086/8088的操作和时序2.1.68086/8088的存储器组织简介8086:16位微处理器数据总线宽度16位:可以处理8位或16位数据地址总线宽度20位:可直接寻址1MB存储单元和64KB的I/O端口8088:准16位处理
2、器内部寄存器及内部操作均为16位,外部数据总线8位8088与8086指令系统完全相同,芯片内部逻辑结构、芯片引脚有个别差异。设计8088的目的主要是为了与Intel原有的8位外围接口芯片直接兼容。2.1.18086/8088CPU的内部结构1.总线接口部件BIU(BusInterfaceUnit)2.执行部件EU(ExecutionUnit)1.总线接口部件BIU功能负责与内存或I/O端口传送指令或数据。BIU从内存取指令送到指令队列缓冲器。当EU执行指令时,BIU要配合EU从指定的内存单元或I/O端口中读取数据,或者把EU的操作结果送到指定的内存单元或I/O端口去。组成:段寄存器、指
3、令指针寄存器、地址加法器、指令队列及总线控制逻辑1)段寄存器所有寄存器都是16位的,因此,能够提供的最大地址空间只能为64KB。为了寻址1MB,将存储器的空间分成若干段,每段最大为64KB。段寄存器:用来存放段的起始地址(16位)的寄存器,设有四个段寄存器:CS代码段寄存器(CodeSegmentregister)DS数据段寄存器(DataSegmentregister)SS堆栈段寄存器(StackSegmentregister)ES附加数据段寄存器(ExtraSegmentregister)2)地址加法器由于8086内部寄存器都是16位的,需要一个附加结构-地址加法器来根据提供的16
4、位信息产生20位地址。3)指令队列缓冲器在8086CPU中设置了一个6字节的指令预取队列(8088CPU中的指令预取队列为4字节),采用“先进先出”原则。要执行的指令预先由BIU从内存取出放在队列中,然后EU再从队列中取出指令并执行。一般情况下,EU每执行完一条指令,就可以立即从指令队列中取指令执行,从而提高了CPU的效率。2.执行部件EU功能负责指令的译码和执行。负责向总线接口部件BIU提供偏移地址。对通用寄存器和标志寄存器进行管理。组成:算术逻辑单元(ALU)、8个通用寄存器、1个状态标志寄存器、1个数据暂存寄存器和EU控制电路执行部件EU的组成算术逻辑部件ALU(Arithmet
5、icLogicUnit)用于进行8位和16位的算术和逻辑运算,也可以按照指令的寻址方式计算出寻址单元的16位偏移量。16位标志寄存器F用来反映CPU运算的状态特征或存放控制标志。通用寄存器组4个16位数据寄存器AX、BX、CX、DX4个16位指针与变址寄存器:堆栈指针寄存器SP(StackPointer)基址指针寄存器BP(BasePointer)源变址寄存器SI(SourceIndex)目的变址寄存器DI(DestinationIndex)3.BIU和EU的流水线管理每当8086的BIU指令队列中有2个空字节或8088的指令队列有1个空字节,BIU就会自动把后面的指令从存储器取到指
6、令队列中,从而提高了CPU执行指令的速度。每当EU准备执行一条指令时,它会从BIU的指令队列前部取出指令,进行译码,然后去执行。2.1.28086/8088CPU的寄存器结构1.通用寄存器分为数据寄存器和地址寄存器两组。数据寄存器:EU中有4个16位的数据寄存器AX、BX、CX、DX,每个数据寄存器又可分为高字节H和低字节L寄存器,即AH、BH、CH、DH和AL、BL、CL、DL两组。16位数据寄存器主要用于存放数据,也可存放地址,而8位寄存器只能用于存放数据,它们均可以用寄存器名来独立寻址、独立使用。地址指针寄存器和变址寄存器:都是16位,一般用来存放偏移地址。2.指令指针寄存器16
7、位,存放着BIU要取的下一条指令的偏移地址。指令执行时,每取一次指令IP就自动加1,这样保证能按顺序取出并执行指令。指令代码存放在存储器的代码段,代码段寄存器CS指示代码段的开始,CPU利用CS和IP取得要执行的指令,然后修改IP中的内容,从而确定代码段指令的执行流向。3.标志寄存器(16位)只用了其中的9位8086的标志分为两类:状态标志位控制标志位1)状态标志位(6位)用来反映算术或逻辑运算后结果的状态,以记录CPU的状态特征。例如,是否产
此文档下载收益归作者所有