第三章80X86微型处理器及其系统结构.docx

上传人:b****6 文档编号:7335914 上传时间:2023-01-23 格式:DOCX 页数:23 大小:1,023.39KB
下载 相关 举报
第三章80X86微型处理器及其系统结构.docx_第1页
第1页 / 共23页
第三章80X86微型处理器及其系统结构.docx_第2页
第2页 / 共23页
第三章80X86微型处理器及其系统结构.docx_第3页
第3页 / 共23页
第三章80X86微型处理器及其系统结构.docx_第4页
第4页 / 共23页
第三章80X86微型处理器及其系统结构.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

第三章80X86微型处理器及其系统结构.docx

《第三章80X86微型处理器及其系统结构.docx》由会员分享,可在线阅读,更多相关《第三章80X86微型处理器及其系统结构.docx(23页珍藏版)》请在冰豆网上搜索。

第三章80X86微型处理器及其系统结构.docx

第三章80X86微型处理器及其系统结构

80X86微型处理器及其系统结构

学习目的:

了解三总线及堆栈的工作原理。

掌握微处理器的一般结构、算逻部件ALU、寄存器结构、控制部件。

重点掌握Intel8086微处理器的结构。

堆栈

1.堆栈的定义

用作数据暂时存储的一组寄存器或存储单元称为堆栈。

堆栈中数据按“后进先出”的结构方式进行处理,即新入栈的依次堆放在原来数据之上,存放信息的最后一个单元叫做栈顶,用堆栈指针SP(StackPointer)指示。

堆栈操作有两种:

压入(PUSH)和弹出(POP),而SP始终指向堆栈栈顶的新位置。

2.堆栈编址结构的两种形式

(1)向上生成

该结构中,每压入一个数据,堆栈指示器SP按增量修改,每弹出一个数据,SP按减量修改。

(2)向下生成

该结构中,每压入一个数据,SP按减量修改,每弹出一个数据,SP按增量修改

3.构成堆栈的两种形式

一种是使用微处理器内部的一组寄存器作为堆栈。

•优点:

访问速度快。

•缺点:

寄存器数量有限。

•一种形式是在随机存储器RAM中开辟一个区间供堆栈使用,较为普遍;若编址采用向下生成,其堆栈操作如下图所示。

由上图中可以看出,出栈操作并不会从堆栈中去掉信息,也不擦除它们,只是因SP的自动修改而改变了堆栈的栈顶。

堆栈主要用于中断控制,子程序调用以及数据暂时存储。

3.2微处理器的一般结构

传统的微处理器结构由算术逻辑部件ALU,控制电路及寄存器阵列三大部分组成,如下图所示。

一、算术逻辑部件ALU(ArithmeticLogicUnit)

ALU是执行算术运算、逻辑运算及移位的装置。

ALU有两个输入端,一个与累加器相连,另一端与暂存器相连,用于存放参加运算的两个数。

ALU的输出端也有两个,一端将操作结果送回到内部总线再送回累加器,另一端用于输出表示操作结果特征的标志信息。

二、寄存器阵列

一般包括通用寄存器、累加器、标志寄存器、专用寄存器等。

寄存器的使用提升了计算机的功能和程序设计的灵活性。

1.通用寄存器组

可用于存放数据和地址,有8bit和16bit等,CPU可直接处理这些信息,减少了访问存储器的次数,节省访问内存时间。

2.累加器

也是数据寄存器,与ALU一起完成各种算术或逻辑运算,运算前作为ALU的一个输入,运算后常用于保存结果。

CPU对I/O接口电路的读出或写入一般也是通过累加器进行的。

3.标志寄存器

在算术或逻辑运算时,为了保存可能发生的进位、溢出、符号、全零及奇偶性等状态的变化,微处理器设置标志寄存器。

其所存的状态将可作为一种条件,常用于判断是否控制程序转移。

4.专用寄存器

(1)程序计数器PC(ProgramCounter)

它是指令地址寄存器,其内容指出了现行指令在存储器中的存放地址。

注:

当按PC的内容从存储器中取出指令时,PC的内容自动加1。

对单字节指令而言,则PC指向了下一条指令所在的地址。

对多字节指令,则每取一个字节,PC自动加1,当取出最后一个指令字节时,PC仍指向下一条指令地址。

(2)堆栈指示器SP(StackPointer)

用于确定堆栈在内存中的具体位置。

SP总是指向栈顶。

(3)变址寄存器

用于变址寻址,也可作通用寄存器。

三、控制部件

是整个系统按时序协调操作的功能部件,包括IR、ID定时及产生各种控制信号的控制逻辑单元组成。

根据上述结构,微处理器执行一条指令的简要过程,如下图所示。

微处理器执行一条指令的简要过程

图中取指令包含以下几个步骤:

(1)PC将指令地址经地址缓冲器送到CPU外部地址总线,然后送到存储器进行地址译码。

(2)PC+1→PC,同时CPU发出“存储器读”。

信号,访问存储器中某一单元。

(3)经过几百ns,在外部数据总线上出现指令的第一个字节,即操作码,经由CPU内部数据缓冲器内部总线指令寄存器。

(4)对于多字节指令,控制部件还会发出取第二、第三等字节的信号,每次PC+1→PC

3.4Intel8086微处理器

8086是Intel系列的16bit微处理器,属第三代。

8086有16bit数据总线和20bit地址线,可寻址1M空间。

8086采用单一+5V电源和单相时钟,频率为5MHZ。

一、8086CPU结构

1.总体功能结构

8086从功能结构来讲,分为两大部分,即总线接口部件BIU(BusInterfaceUnit)和执行部件EU(ExecutionUnit)。

(1)BIU部件

由段寄存器、指令指针、地址加法器、指令队列缓冲器和控制电路等部分组成。

BIU负责与存储器、I/O接口电路传送信息。

BIU负责从指定内存单元取出指令,送到指令队列缓冲器中排队。

指令队列缓冲器是一个6个字节的RAM存储器(8088为4个字节),队列中最多可同时存放6个字节的指令,取来的指令是按字节顺序存放的。

当队列中有两个以上的指令字节空的时候,BIU会自动地执行总线操作,继续取指令。

在执行指令时,如要取操作数,则也由BIU从内存或I/O接口指定区域取出,送给EU部件去执行。

(2)EU部件

由ALU、通用寄存器、标志寄存器和控制电路组成,负责指令的执行。

ALU、寄存器和数据传输通路均是16bit的。

EU从BIU中的指令队列缓冲器中取得指令和数据。

当指令要求将数据写到存储器和I/O电路,或需从存储器和I/O电路中读取数据时,EU向BIU发出请求,BIU自动完成这些操作。

若执行的是一条转移指令,则存放在指令队列缓冲器中的指令就没有用了,应到新的地址单元去取出。

BIU新取出的第一条指令将直接送到EU中去执行,随后重新填充指令队列缓冲器。

(3)8086与传统微处理器指令执行过程比较

传统微处理器的执行方式

传统微处理器取指与执行串行进行,CPU的工作效率低。

8086的指令执行方式

8086CPU取指与执行并行进行,大大减少了等待取指令所需时间,提高了CPU的工作效率。

2.寄存器结构

(1)通用寄存器

8个16bit通用寄存器。

AX,BX,CX,DX4个16bit的通用数据寄存器,它们的高8bitAH,BH,CH,DH与低8bitAL,BL,CL,DL又可分别看成8个8bit的寄存器。

SP—堆栈指针,存放堆栈栈顶的现行地址,与SS堆栈段寄存器一起方可确定堆栈的实际地址。

BP—基址指针

SI—源变址寄存器

DI—目的变址寄存器

(2)控制寄存器

IP(InstructionPointer)指令指针与PC类似,但有区别:

a.PC是指向下一条即将要执行的指令,而IP一般是指向下一次要取出的指令。

b.在8086中IP要与CS代码段寄存器的内容一起,才能得到指令的实际地址。

FLAG(标志寄存器)为16bit,其中9位有定义。

a.6个状态标志位,即CF、PF、AF、ZF、SF和OF。

进位标志CF(CarryFlag):

当结果的最高位(字节-D7,字-D15)产生进位(加法运算)或借位(减法运算)时,CF=1,否则CF=0,移位和循环指令也影响CF。

奇偶标志位PF(ParityFlag):

若结果中“1”的个数为偶数,则PF=1,否则PF=0。

辅助进位标志AF(AuxitiaryCarryFlag):

在低半字节向高半字节有进位或借位时AF=1,否则AF=0。

零标志ZF(ZeroFlag):

当运算结果为0时ZF=1,否则ZF=0。

符号标志SF(SignFlag):

SF等于最高位,对于带符号数,最高位为符号位,SF=1运算结果为负,SF=0为正。

•溢出标志OF(OverflowFlag):

带符号数运算结果超出其表达范围时(字节数:

-128~+127,字类型数:

-32768~+32767),OF=1,否则OF=0。

用表达式给出

(字节运算)

(字运算)

例:

①2345H+3219H

CF=0PF=0AF=0ZF=0SF=0OF=0

②6400H+7A3CH

CF=0PF=1AF=0ZF=0SF=1OF=1

b.3个控制标志位

追踪标志TF(TraceFlag):

TF=1,处理器进入单步方式,以便调试,CPU每执行一条指令自动产生一个内部中断以利于检查指令的执行情况;TF=0为连续工作方式。

•中断允许标志IF(Interrupt-enableFlag):

IF=1,允许CPU响应外部的可屏蔽中断请求;IF=0则禁止响应。

IF对外部非屏蔽中断及内部中断不起作用。

方向标志DF(DirectionFlag):

在串操作指令中,DF=0时,变址指针自动增量,DF=1时,则自动减量。

(3)段寄存器

有4个16bit的段寄存器

CS—代码段寄存器,用于定义代码段基地址,该段用于存放指令代码。

DS—数据段寄存器,用于定义数据段基地址,该段用于存放程序变量。

SS—堆栈段寄存器,用于定义堆栈段基地址,该段作堆栈区使用。

ES—附加数据段,用于定义附加段基地址,与DS类似。

上述4个段在8086寻址的1MB空间内,其位置不受限制,可连续排列、分隔排列、部分重叠甚致全部重叠。

二、引脚信号及功能

8086的两种工作模式

最小模式:

即由8086组成的单处理器系统,所有的总线控制信号直接由8086直接产生,故系统中的总线控制逻辑电路被减到最少。

最大模式:

即由8086组成的中等规模或者大型的系统。

包含两个或多个微处理器,8086为主处理器其它的为协处理器。

8086芯片的引脚图

8086采用双列直插式封装,有40个引脚(如右图所示),但总线信号数量却大于40,故8086采用了分时复用技术,部分引脚传送两种总线信号

1.最小模式下引脚信号及功能:

(1)地址/数据总线AD15~AD0(双向、三态)

在一个总线周期的第一个时钟周期用于传送低16bit地址信息,并用地址锁存器锁存以免丢失,

其它时钟周期可用于传送数据信息,分时传送。

当8086执行中断响应周期、保持响应周期时,这些引脚处于高阻状态。

(2)地址/状态信号线A19/S6~A16/S3(输出、三态)

•在总线周期的第一个时钟周期(T1)用于输出地址信号的最高4bit并锁存。

•其它时钟周期中用来输出状态信号S6~S3,其中:

S6—低电平,表示8086当前与总线相连。

S5—表示标志寄存器中“中断允许位”的状态(IF)

S4,S3的组合指出了分段情况。

如下表所示。

S4和S3的组合提供的分段信息表

当CPU处于“保持响应”状态时,A19/S6~A16/S3置为高阻状态。

若执行I/O指令,则由于8086只访问64K个端口,在T1周期这4个引脚为低电平。

(3)BHE/S7高8bit数据总线允许/状态线(输出,三态)

在T1状态,8086在BHE/S7引脚输出BHE信号,表示高8bit数据总线D15~D8上的数据有效,与地址线A0一起产生存储器的选择逻辑信号。

在其它时钟周期,输出为状态信号S7。

但8086芯片,S7未定义。

下面介绍引脚中的控制信号。

(4)MN/MX最小/最大模式控制信息

高电平—8086处于最小模式。

低电平—8086处于最大模式。

(5)RD读信号(输出,三态)

低电平有效。

表示将对内存或I/O端口读操作。

(6)M/IO,存储器/输入输出控制信息(输出,三态)

是区分CPU进行的存储器还是I/O访问,见下表。

RD与M/IO的组合及对应的操作表

(7)WR写信号(输出,三态)

低电平有效。

WR与M/IO的组合对应的操作如下表所示。

(8)ALE地址锁存允许信号(输出)

高电平有效,此信号在T1状态有效,为地址码锁存的选通信号,送地址锁存器。

(9)READY准备就绪信号(输入)

高电平有效,是从所寻址的存储器或I/O电路来的响应信号,用于解决CPU与慢速存储器或I/O电路的同步问题。

CPU在T3周期开始采样READY线,若为低电平,则T3之后插入TW等待周期直到READY为高电平,进入T4完成数据传送。

(10)INTR可屏蔽中断请求信号(输入)

高电平有效,8086在每一个指令周期的最后一个T状态采样这条线,若IF=1,则8086在执行完当前指令即响应中断。

(11)INTA中断响应信号(输出,三态)

低电平有效,CPU响应外部可屏蔽中断请求以后,便发出中断响应信号,作为对中断请求的回答。

此信号在每一个中断响应周期的T2、T3和TW周期均有效,为中断矢量的读选通信号。

(12)NMI非屏蔽中断请求信号(输入)

边沿触发,该线上的中断请求信号不能用软件屏蔽,电平由低到高,便在当前指令结束后引起中断。

(13)RESET系统复位信号(输入)

高电平有效,8086要求此信号起码维持4个时钟周期,若初次加电复位,持续时间不小于50s,RESET为高电平时,8086立即结束现行操作,进入内部复位状态,CPU各内部寄存器被设置为初值:

CS=FFFFH,Flag、IP、DS、ES、SS及其它寄存器均初始化为0000H。

(14)DT/R数据收发控制信号(输出、三态)

为增强数据总线的驱动能力,8086可外接驱动器8286,DT/R即为8086输出的数据到收发器8286的控制信号。

DT/R—高电平,8086输出的数据经8286送到数据总线;

DT/R—低电平,收发器8286则把数据总线上的数据传送到8086。

8086工作在DMA方式时,DT/R为高阻状态,在最小模式时因无8286而不起作用。

(15)DEN数据允许信号(输出,三态)

低电平有效,也是8086控制外接的数据收发器,低电平时开启收发器,传送数据有效;

高电平时,则禁止传送。

(16)HOLD保持请求信号(输入)

高电平有效。

系统中其他的总线主设备要获得对总线的控制权时,向8086发出高电平的HOLD信号,8086在每个时钟周期的上升沿对HOLD引脚信号进行检测,若为高电平,则在当前总线周期结束时,予以响应。

(17)HLDA保持响应信号(输出)

高电平有效。

当CPU响应保持请求HOLD时,便发出HLDA高电平的应答信号,从而将总线控制权让给发出保持请求的设备,直到该设备又将HOLD信号变为低电平,CPU才收回总线控制权,将HLDA信号置为低电平。

(18)TEST测试信号(输入)

低电平有效。

与WAIT等待指令结合使用,当CPU执行WAIT指令时,CPU处于空转状态进行等待直到检测到TEST信号有效时结束,CPU继续往下执行指令。

(19)CLK系统时钟输入信号

时钟信号为CPU和总线控制逻辑电路提供定时基准。

常用INTEL8284A时钟发生器提供CLK信号。

工作在最小模式下8086的典型配置如右图所示。

2.最大模式下引脚信号及功能

若将8086的MN/MX引脚接地便工作在最大模式。

此时仅24—31引脚信号与最小模式不同,如下表所示。

(1)QS1和QS0指令队列状态信号(输出)

两信号编码和对应的队列状态如下表所示。

QS1和QS0编码与队列状态表

(2)S2,S1和S0总线周期状态信号(输出,三态)

这三个状态信号组成的编码表示了当前总线周期是何种操作周期,如下表所示。

(3)LOCK总线封锁信号(输出,三态)

低电平有效。

此信号有效时,系统中其他总线主部件不能占有总线。

此信号由前缀指令LOCK使其有效,并保持到LOCK前缀后的一条指令执行完毕。

另外8086在两个中断响应脉冲之间,LOCK信号也自动变为有效电平,以防其它部件占有总线。

(4)RQ/GT1和RQ/GT0总线请求/允许信号(双向)

供CPU以外的两个处理器用以发出使用总线的请求信号和接收CPU对总线请求信号的回答信号,请求与允许信号在同引脚上传输,但方向相反。

其中RQ/GT0优先级较高。

下图给出了8086在最大模式下的典型配置。

8086在最大模式下的典型配置

 

由图可以看出:

8086在最大与最小模式下的主要区别是增加了一个8288总线控制器。

8288接受8086CPU的状态信号S2、S1和S0,经过变换和组合,由8288发出对存储器和I/O端口的读/写信号,对锁存器8282及对总线收发器8286的控制信号。

3.58086存储器管理

8086采用分段管理的办法实现对1MB存储空间的管理(物理地址00000H~FFFFFH),16bit的段寄存器存放了该段的段首址,那么它是怎样产生20bit的物理地址的呢?

我们通常采用在地址编号能被16整除的地方开始分段,此时地址的低4bit均为0,这时段寄存器只用来存放高16bit即可,以下有几个概念。

逻辑地址(LogicalAddress):

是一对地址,包含段寄存器的内容和段内偏移量,如某条指令的逻辑地址可表达为:

CS:

IP。

段内偏移量EA(EffectiveAddress):

是指某存储单元离开该段段首址的字节数。

物理地址PA(PhysicalAddress):

是指某个存储单元实际的20bit的地址,又称绝对地址。

由上面的定义可知:

物理地址PA=对应段寄存器×10H十段内偏移量EA。

物理地址的形成如下图所示。

当取指令时,自动选择的段寄存器是CS,再加上IP所决定的16位偏移量,得到要取出指令具体的物理地址:

例如:

若CS=FFFFH,IP=0000H,则指令所在存储单元的物理地址为:

PA=(CS)×10H+IP=FFFF0H

当涉及到取一个堆栈操作时,自动选择的段寄存器是SS,再加上SP所决定的16位偏移量,得到堆栈操作所需要的20位物理地址。

当涉及到取一个操作数时,自动选择DS寄存器或ES附加段寄存器,再加上16位偏移量,得到操作数的20位物理地址。

16位偏移量取决于指令的寻址方式。

如下图所示:

现代微机系统组成结构

当前微机主要有x86系列和APPLE的Power系列,无论哪个系列,从基本配置的角度,微机由主板和各类I/O接口卡组成。

主板上主要有CPU、存储器、系统芯片和I/O接口插槽,这些部件均采用总线相连接。

1、x86系列微机的系统基本结构

用于连接传统设备,如键盘,鼠标,串口,并口,硬盘等

2.PowerMacG5的基本结构

Intel微处理器家族发展概述

IntelG965高速芯片组简介

82G965(G)MCH芯片

具有36位系统总线,533/800/1066MT/s传送速率的FSB

集成了一个系统存储器DDR2控制器,支持单通道或双通道DDR2内存

集成图形控制器

集成了一个16通道(×16)的PCIExpress端口来连接PCIExpress图形卡。

提供对改进的扫描模拟监视器和两个SDVO(SerialDigitalVideoOut,串行数字视频输出)端口的接口,拥有驱动高级数字显示卡或媒体扩展卡的能力。

具有APIC缓冲管理

支持ICH8芯片的桥电路

ICH8芯片概述

•支持PCI2.3规范

•提供6个PCI-Express根端口,支持PCIExpress基本规范1.1。

•集成了千兆以太网(GigabitEthernet)控制器

•集成了SATA控制器,数据传输率达到3.0Gb/s(300MB/s)。

•集成了USB控制器,符合USB1.1/USB2.0规范

•集成了Intel®高清晰音频控制器

•集成了中断控制器(含两个级联的82C59)

•基于82C54的时钟

•拥有256字节电池供电的CMOSSRAM,硬件实现世纪变换

•有两个级联的8237DMA控制器,支持PC/PCI和LPCDMA

•允许连接像SuperI/O那样的传统的ISA总线设备

现代微机发展的特点:

主板总线结构发生改变

-总线带宽增大

-总线发展串行化趋势明显

串行化的SATA,PCIExpress,USB,SAS(SerialAttachedSCSI)正在逐渐替代相应的并行总线

微处理器性能不断增强

微处理器支持芯片被高度集成

微机主板结构发生很大变化

保持向上兼容性

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 军事政治

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1