CH2-微处理器与总线-陈裕国_第1页
CH2-微处理器与总线-陈裕国_第2页
CH2-微处理器与总线-陈裕国_第3页
CH2-微处理器与总线-陈裕国_第4页
CH2-微处理器与总线-陈裕国_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章微处理器与总线

2.1 微处理器概述

2.28088/8086微处理器 2.380386微处理器 2.4Pentium4微处理器

2.5 总线

思考题、作业题2.1 微处理器概述微处理器的功能:是计算机系统的核心根据指令实现各种相应的运算实现数据的暂存实现与存储器和接口的信息通信…….接下页2.1 微处理器概述微处理器的一般构成:运算器控制器内部寄存器组返回2.2

8088/8086微处理器

微处理器发展简况

2.2.18088/8086CPU的特点

2.2.28088的外部引脚及其功能

2.2.38088/8086的内部结构

2.2.48088/8086的存储器组织

2.2.58088/8086的工作时序返回微处理器发展简况

由上个世纪70年代发展至今,经历了五代,它的划分是以其数据总线的宽度为标志的。①1971,4位微处理器,典型产品是Intel4004;1972,8位微处理器,典型产品是Intel8008;其集成度是2000个晶体管/片。②1973,8位微处理器,典型产品是Intel8080/8085、MC6800、Z80;其集成度是9000晶体管/片。接下页微处理器发展简况

③1978,16位微处理器,典型产品是Intel8086/8088,MC68000,Z8000;集成度为68000个晶体管/片。④1981,32位微处理器,典型产品是Z80000,MC68020,Intel80386;集成度为27.5万个晶体管/片。⑤1995年以来,,64位微处理器,PentiumPro(高能奔腾),PentiumⅣ,其集成度为2100万个晶体管/片返回Intel4004返回Intel8086返回Intel80386返回IntelPentium返回2.2.18088/8086CPU的特点采用并行流水线工作方式

——通过设置指令预取队列实现对内存空间实行分段管理

——将内存分为4个段并设置地址段寄存器,以实现对1MB空间的寻址支持多处理器系统CPU内部结构存储器寻址部分工作模式返回采用并行流水线工作方式

8086/8088以前的8位微处理器执行一段程序是通过重复执行以下步骤来完成的。

(图示)

①从内存中取出一条指令,分析指令操作码;②读出一个操作数(如果指令需要操作数);③执行指令;④将结果写入内存储器(如果指令需要)。微处理器在取指令、取操作数和存储操作数时要占用总线;分析操作码和执行指令时不占用总线。(下一页)采用并行流水线工作方式8086/8088

16位微处理器设计成两个独立的功能部件:(1)执行部件EU;(2)总线接口部件BIU。EU和BIU能相互独立地工作,能使大部分的取指令和执行指令重叠进行。

EU执行的是BIU在前一时刻取出的指令;同时,BIU又再取出EU在下一时刻要执行的指令。(图示)返回串行工作方式8088以前的CPU采用串行工作方式:取指令1执行指令1分析指令1CPUBUS忙碌忙碌取指令2执行指令2分析指令2返回并行工作方式8088CPU采用并行工作方式BIU

EU取指令1执行指令1分析指令1CPU取指令2执行指令2分析指令2取指令2执行指令2分析指令2忙碌忙碌忙碌忙碌忙碌返回8086/8088存储器的分段管理

CPU内部所有寄存器和ALU都是16位的,寻址范围最多为64KB,为了能够直接寻址1M内存空间(20位地址),采用存储器地址分段的办法解决。 编程时可把存储器划分成段,每段最大可寻址64KB,这样段内地址可用16位表示。8086/8088把1M存储空间分成若干逻辑段,每段最多为64KB,各逻辑段的起始地址叫基址;段内任意一个存储单元的地址,可用相对于基址的偏移量来表示,称为段内偏移地址。

逻辑地址的表示格式:段基址:偏移地址返回8088/8086CPU的内部结构ALU数据总线(16位)AHALBHBLCHCLDHDL堆栈指针

SP基址指针

BP源变址

DI目的变址

SI通用寄存器AXBXCXDX运算寄存器ALU标志寄存器FlagsEU控制系统执行单元EU地址总线20位8位队列总线∑代码段

CS数据段

DS堆栈段

SS附加段

ES指令指针IP内部暂存器123456数据总线8088:8位8086:16位总线控制逻辑指令队列80888086

段寄存器外部总线总线接口单元BIU返回8088/8086的内部结构—EU执行部件(ExecutionUnit—EU)

作用:执行指令,与外界的联系必须通过总线接口部件BIU

。①EU负责从BIU的指令队列中取指令,并对指令译码;②根据指令要求,向EU内部各部件发出控制命令以完成各条指令的功能。

说明:对8086/8088来说,EU完全一样(下一页)8088/8086的内部结构—

EU执行部件(ExecutionUnit—EU)

EU主要完成两种类型的操作:①算术运算和逻辑运算;②按指令的寻址方式计算出16位的偏移地址,并将它送到BIU中,形成20位的实际地址。当EU执行完一条指令,就再到BIU的指令队列前部取出BIU预先读入的指令代码。(若指令队列是空的,则EU处于等待状态;一旦指令队列中有一条指令,EU立即取出执行。)(返回)8088/8086的内部结构—BIU总线接口部件(BusInterfaceUnit—BIU)作用:根据EU的请求,完成CPU与存储器、CPU与I/O之间的信息传送。取指令时,从存储器指定地址取出指令送入指令队列排队;执行指令时,根据EU命令对指定存储单元或I/O端口存取数据。说明:对8086/8088来说,BIU有差别:8088外部数据总线是8位;指令队列是4个指节。(下一页)8088/8086的内部结构—BIU总线接口部件(BusInterfaceUnit—BIU)

BIU指令队列中,若出现两个空字节(8088是一个空字节),而且EU没有命令BIU对存储器或I/O端口进行访问,则BIU自动执行总线操作,从存储器读出指令并填入指令队列中,直至满为止。当指令队列已填满指令,而又没有访问存储器或I/O端口的命令,BIU进入空闲状态。(返回)8088/8086的内部结构—ALUALU—算术逻辑单元;ALU数据总线(16位)和8位队列总线—用于实现EU内部和EU与BIU之间的通讯;(返回)8088/8086的内部结构

—通用寄存器组通用寄存器组共有8个16位的通用寄存器:①数据寄存器②地址指针寄存器和变址寄存器(返回)AHALBHBLCHCLDHDL堆栈指针

SP基址指针

BP源变址

SI目的变址

DI通用寄存器AXBXCXDX8088/8086的内部结构

—通用寄存器组数据寄存器AX、BX、CX、DX,用于存放16的数据和地址。可以拆分成AH、AL、BH、BL、CH、CL、DH、DL,用来存放8位数据,可以独立寻址,独立使用。隐含使用:AX作为累加器;

BX作为基址寄存器;CX作为计数寄存器;DX在乘除运算中做辅助累加器。(返回)AHALBHBLCHCLDHDL堆栈指针

SP基址指针

BP源变址

DI目的变址

SI通用寄存器AXBXCXDX8088/8086的内部结构

—通用寄存器组地址指针寄存器和变址寄存器SP、BP、SI、DI,都是16位寄存器,可以存放数据,通常用来存放逻辑地址的偏移量,是形成20位物理地址的其中一部分。SP—堆栈指针,是栈顶的偏移量。BP—基址指针,用于存放位于堆栈段中的一个数据区基址的偏移地址。

SI—源变址寄存器,存放源操作数地址的偏移量;

DI—目的变址寄存器,存放目的操作数地址的偏移量;(返回)AHALBHBLCHCLDHDL堆栈指针

SP基址指针

BP源变址

DI目的变址

SI通用寄存器AXBXCXDX8088/8086的内部结构

—段寄存器组段寄存器组(Segmentregister)(返回)代码段

CS数据段

DS堆栈段

SS附加段

ES

段寄存器8086/8088把可直接寻址的1M字节的内存空间,分成称为“段”的逻辑区域,每个“段”的物理长度为64K,而段的起始地址由4个“段寄存器”决定。CS—代码段寄存器,指向当前的代码段,指令由此段中取出;DS—数据段寄存器,指向当前的数据段;

SS—堆栈段寄存器,存放当前的堆栈段的段基址;ES—附加段寄存器,存放附加数据段的段基址,在进行字符串操作时,作为目的地址使用。8088/8086的内部结构

—控制寄存器组控制寄存器组①指令指针IP②标志寄存器(返回)标志寄存器Flags指令指针IP控制寄存器8088/8086的内部结构

—控制寄存器组①指令指针(InstructionPointer—IP)是一个16位寄存器,总是存放着下一次要取出的指令的偏移地址。8088/8086计算机上电复位后,CS=FFFFH,IP=0000H,8088/8086计算机复位后CPU从物理地址FFFF0H取指令执行。用户程序不能使用该寄存器,它由BIU自动修改。转移指令、过程调用指令和返回指令会改变IP的内容。(返回)8088/8086的内部结构

—控制寄存器组②标志寄存器(FlagRegister—FR)是一个16寄存器,其中9位作标志位:6个状态标志由EU设置,反映ALU算术或逻辑运算结果的某些特征;

3个是控制标志位,用来控制微处理器的某些操作,可以由指令设置。(返回)8088/8086的内部结构

—控制寄存器组6个状态标志位CF—进位标志,加法时的最高位(D7或D15)产生进位或减法时最高位出现借位,则CF=1,否则CF=0;AF—辅助进位标志,供BCD码使用。当D3位出现进位或借位时AF=1,否则AF=0;OF—溢出标志,带符号数进行算术运算时,其结果超出了8位或16位的表示范围,产生溢出,则OF=1,否则OF=0;(下一页)8088/8086的内部结构

—控制寄存器组6个状态标志位ZF—零标志,运算结果各位都为零,则ZF=1,否则ZF=0;SF——符号标志,运算结果为负数时,即运算结果的最高位为1,则SF=1,否则SF=0;PF—奇偶标志,反映操作结果中低8位“1”的个数的情况,若有偶数个“1”,则PF=1,否则PF=0。(下一页)例:执行两个数的加法,分析对标志位的影响。标志:

次高位向最高位没有进位,最高位向前没有进位∴OF=0

运算结果最高位为0 ∴SF=0

运算结果本身≠0 ∴ZF=0

第三位向第四位无进位 ∴AF=0

低8位中1的个数为奇数个∴PF=0

最高位没有进位∴CF=0 (返回)8088/8086的内部结构

—控制寄存器组3个是控制标志位DF——方向标志,用来控制数据串操作指令的步进方向;当设置DF=1时,将以递减顺序对数据串中的数据进行处理。当设置DF=0时,递增。

IF—中断允许标志,当设置IF=1,开中断,CPU可响应可屏蔽中断请求;当设置IF=0时,关中断,CPU不响应可屏蔽中断请求。TF—陷阱标志,为程序调试而设的。当设置TF=1,CPU处于单步执行指令的方式;当设置TF=0时,CPU正常执行程序。(返回)8088/8086的存储器组织存储器组织存储器的分段和物理地址的形成(返回)存储器组织8086/8088系统中的存储器按字节编址,CPU有20条地址线,可寻址的最大存储空间是220=1M,每个字节对应唯一一个20位的物理地址。表示为:(00000H)=0AH(00001H)=6AH(FFFFFH)=B5H(接下页)0AH6AH99H5CH00000H00001H00002HFFFFEHFFFFFHB5H存放的数物理地址存储器组织当存放的数据是一个字时,其低位字节放在低地址,高位字节放在高地址,字的地址用低位字节的地址表示。表示为:(00000H)=6A0AH(00001H)=996AH(FFFFEH)=B55CH(返回)0AH6AH99H5CH00000H00001H00002HFFFFEHFFFFFHB5H存放的数物理地址存储器的分段和物理地址的形成

CPU内部所有寄存器和ALU都是16位的,寻址范围最多为64KB,不能直接寻址1M内存空间。那么16位字长的机器里用什么办法提供20位地址?

采用存储器地址分段的办法解决。我们编程时可把存储器划分成段,每段最大可寻址64KB,这样段内地址可用16位表示。8086/8088把1M存储空间分成若干逻辑段,每段最多为64KB,各逻辑段的起始地址叫基址;段内任意一个存储单元的地址,可用相对于基址的偏移量来表示,称为段内偏移地址。

逻辑地址的表示格式:段基址:偏移地址(接下页)存储器的分段和物理地址的形成例如我们可这样分段:00000~0FFFFH第1段10000~1FFFFH第2段20000~2FFFFH第3段┆E0000~EFFFFH第15段F0000~FFFFFH第16段每段64KB,共16段其实不一定这样划分,每段大小可任意,段的起始地址亦可任意。下页存储器的分段和物理地址的形成在1MB的存储器中,每一个存储单元都有一个唯一的20位地址,称为该存储单元的物理地址(又叫实际地址).

逻辑地址,由两部分组成:段基址和偏移量。

程序中不能使用20位的物理地址,而使用16位逻辑地址。20位物理地址由16位段地址和16位偏移地址行成。

物理地址=段基址×10H+偏移地址例:存储单元的逻辑地址为2000H:3300H,该存储单元的物理地址:物理地址=段基址×10H+偏移地址=2000H×10H+3300H=23300H下页存储器寻址物理地址由段基地址和偏移地址组成物理地址=段基地址×16+偏移地址0000段首地址××ו••×××1904××ו••×××偏移地址+物理地址下页物理地址段基地址=6000H段首地址偏移地址物理地址数据段60009H00H12H60000H0009H下页存储器的分段和物理地址的形成

一个物理地址可对应多个逻辑地址例:10145H

可对应10100H+45H(1010H:0045H)也可对应10140H+05H(1014H:0005H)前面提到的四个段寄存器CS、DS、SS和ES,有各自的用途:取指令码时用CS:IP堆栈操作时用SS:SP(返回)2.2.28088的外部引脚及其功能8088CPU最小模式下引脚及其功能最小工作方式最大工作方式(返回)8088CPU引脚(接下页)8088CPU最小模式下引脚及其功能(1)地址/状态引脚A19/S6~A16/S3

是分时复用引脚。

①在总线周期T1内,它们是用来输出要访问的存储器地址的高4位A19~A16;②在总线周期的其他时间内,这4条线作为输出CPU的状态信息。ⅰ)S6恒为0;ⅱ)S5反映中断允许标志IF的值;ⅲ)S4和S3组合值用来指示当前正在使用哪个段寄存器。(接下页)8088CPU最小模式下引脚及其功能

(2)地址引脚A15--A8

:输出8位地址信号。(3)地址/数据引脚(AD7~AD0

是分时复用引脚。

①在总线周期T1内,它们是用来输出要访问的存储器地址或I/O端口地址A7~A0;②在总线周期的其他时间内,作为双向数据总线;

(接下页)8088CPU最小模式下引脚及其功能(4)控制引脚M/IO:存储器/IO控制信号,高电平表示访问I/O,低电平表示访问存储器。RD:读控制(输出,低电平有效),表示CPU正在读存储器或I/O端口输入;

WR:写信号(输出)此引脚低电平时,表示CPU正在执行存储器或I/O的写操作。

ALE:地址锁存允许信号(输出),是CPU在每个总线周期T1发出的,高电平表示当前地址/数据复用线上输出的是地址信息。(接下页)8088CPU最小模式下引脚及其功能DEN:数据允许信号(输出),表示CPU准备好接受和发送数据。DT/R:数据收发信号,用其控制数据的传送方向。此引脚为高电平,则CPU进行数据发送;反之,CPU进行数据接受;READY:准备好信号(输入),是由所访问的存储器或I/O设备发来的响应信号,高电平表示数据已经准备就绪,马上可以进行一次数据传送。CPU在总线周期T3,对READY进行采样。(接下页8088CPU最小模式下引脚及其功能TEST:测试信号(输入),当CPU执行WAIT指令时,每隔5个时钟周期对次引脚测试一次,是高电平时,CPU继续等待,直到出现低电平,CPU才开始执行下一条指令。INTR:中断请求(输入),是可屏蔽中断请求信号,当此引脚为高电平时,表示外设提出中断请求。CPU在每一条指令的最后一个时钟周期对INTR进行测试。NMI:非屏蔽中断请求(输入,上升沿触发),当该引脚输入一个由低电平变高电平的信号时,CPU会在执行完当前指令后,响应中断请求。不受IF影响,不能用指令加以屏蔽(接下页)8088CPU最小模式下引脚及其功能INTA:中断响应信号(输出),是CPU对外设的中断请求的回答信号。RESET:复位信号(输入),高电平持续4个时钟周期以上有效。复位后,FR、IP、DS、SS、ES和指令队列清零,(CS)=FFFFH、(IP)=0000H

。MN/MX:最小/最大工作方式(输入),该引脚接高电平时,表示CPU工作于最小工作方式;反之,是CPU工作于最大工作方式。(接下页)8088CPU最小模式下引脚及其功能

HOLD:总线保持请求信号(输入),是系统中其他总线主控部件向CPU发出的请求占用总线的申请信号。HLDA:总线保持响应信号(输出),是CPU对请求占用总线使用权的响应信号。(返回)最小工作方式

当MN/MX(33号引脚)接+5V时,8086/8088处于最小工作方式,整个系统只有一片CPU,所有的总线控制信号都由该CPU产生。

(返回)最小模式下的连接示意图8088CPU••控制总线数据总线地址总线地址锁存数据收发ALE时钟发生器接下页最小模式地址锁存器总线驱动器(返回)最大工作方式

当MN/MX(33号引脚)接地时,8086/8088处于最大工作方式,系统的总线控制信号由专用的总线控制器8288提供。最大方式用于多处理器和协处理器的结构中。(返回)最大模式下的连接示意图8088CPU数据总线地址总线地址锁存数据收发ALE时钟发生器总线控制器控制总线接下页最大模式总线控制器(返回)工作时序

时钟周期(ClockCycle)8086/8088CPU由外部的一片8284A芯片提供主频5MHz的时钟信号,时钟周期是200ns。一个时钟周期又称为一个T状态。

总线周期(BusCycle)执行一次总线操作所需要的时间称为总线周期。一个总线周期由4个时钟周期组成,分别是T1,T2,T3,T4。考虑到CPU的速度,在T3、T4之间插入等待状态TW(一个或多个附加的时钟周期)。(接下页)工作时序

总线周期有存储器读周期、存储器写周期、I/O读周期、I/O写周期,等。指令周期(BusCycle)执行一条指令所需要的时钟周期数称为指令周期。一个指令周期通常包含若干个总线周期。

时序CPU执行某个操作时,在时钟信号的统一控制下,系统总线按一定的时间顺序传送有效信号,这个时间顺序就称为时序。描述CPU操作时序的图称为时序图。

(返回)8088最小模式下读操作的时序(返回)8088最小模式下写操作的时序(返回)2.5

总线

2.5.1概述

2.5.2总线的基本功能2.5.3

常用系统总线返回2.5.1概述一、总线:

是一组导线和相关的控制、驱动电路的集合。是计算机系统各部件之间传输地址、数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论