计算机硬件基础课件Chapter2_第1页
计算机硬件基础课件Chapter2_第2页
计算机硬件基础课件Chapter2_第3页
计算机硬件基础课件Chapter2_第4页
计算机硬件基础课件Chapter2_第5页
已阅读5页,还剩109页未读 继续免费阅读

下载本文档

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

文档简介

第二章中央处理器§2.1CPU的功能和组成§2.28086/8088的编程结构§2.38086/8088的引脚及其功能§2.48086/8088的存储器组织与I/O组织§

2.58086/8088的CPU时序§2.6典型CPU举例§2.7典型GPU举例2.1CPU的功能和组成2.1.1CPU的功能2.1.2CPU的内部组成中央处理器(CentralProcessingUnit,简称CPU)是计算机的核心。2.1.1CPU的功能在微型计算机中,中央处理器就是微处理器。它是计算机的运算处理部件,也是统一指挥计算机各部件协调工作的控制中心。2.1.1CPU的功能CPU与计算机系统结构CPU内部结构一般由算术逻辑运算部件、寄存器组、控制器、时钟等部分组成。2.1.2CPU的内部组成总体分为运算器和控制器两部分。输入设备输出设备运算器存储器控制器1、运算器运算器的主要功能是对数据进行算术和逻辑运算。2、寄存器组寄存器可以存放数据和地址,也可存放控制信息和状态信息。寄存器有以下几类:数据寄存器、地址寄存器、状态标志寄存器、控制寄存器等。2.1.2CPU的内部组成3、控制器 控制器是指挥与控制计算机各功能部件协同工作,自动执行计算机程序的部件。 控制器一般是由指令指针寄存器IP、指令寄存器IR、指令译码器ID、控制逻辑电路和时钟控制电路等组成。CPU芯片内部实物图2.1.2CPU的内部组成8086:是Intel系列16位处理器,采用HMOS(高密度金属氧化物半导体)技术,基集成度29000个管/片。 数据总线:16位 地址总线:20位,可直接寻址的地址空间1M(220)字节(问题:内部寄存器、运算器为16位,如何产生20位地址?)2.1.2CPU的内部组成2.2.1执行单元2.2.2总线接口单元2.2.38086/8088的寄存器2.2.48086/8088的总线周期概念2.28086/8088的编程结构编程结构:在编程结构下,按功能分可将8086分为两个部分:执行单元(EU,ExecutionUnit)

和总线接口单元(BIU,BusInterfaceUnit)AHALBHBLCHCLSPDHDLBPDISICSDSSSES内部暂存器IP运算寄存器ALU标志执行部分控制电路123456输入/输出控制电路EUBIU通用寄存器16位8位16位20位地址加法器指令缓冲队列2.2.1执行单元EU功能:负责指令的执行。EU组成:(1)4个通用寄存器AX、BX、CX、DX既可以作为16位寄存器使用,也可以作为8位寄存器使用

如:AH(高8位)AL(低8位)BHBL……AX也称为累加器,CPU的许多指令都是利用累加器来执行的。一般在运算指令执行前,累加器中存放一操作数,指令执行后,由累加器保存运算结果。AHBHCHDHDLALBLCLSPBPSIDI(2)4个专用寄存器SP、BP、SI、DI——16位◆SP:堆栈指针寄存器(StackPointer) ◆BP:基址指针寄存器(BasePointer) ◆SI:源变址寄存器(SourceIndex) ◆DI:目的变址寄存器(DestinationIndex)AHBHCHDHDLALBLCLSPBPSIDI2.2.1执行单元(3)标志寄存器FlagFlag标志状态标志:表示前面的操作执行后,ALU处于何种状态,可能会影响后面的操作SF、ZF、PF、CF、AF、OF控制标志:人为设置的,可以用专门的设置或删除指令,对某种功能起控制作用DF、IF、TFCFPFAFZFSFTFDFIFOF0123456789101112131514状态标志:SF(符号标志SignFlag):和运算结果的最高位相同。

指出当前运算执行后的结果是正还是负ZF(零标志ZeroFlag):如果当前运算的结果为零,则ZF为1,否则为1。PF(奇/偶标志ParityFlag):如果运算结果的低8位中所含的1的个数为偶数,则PF为1,否则为0。CF(进位标志CarryFlag):如果加法操作使最高位产生进位,或减法操作从最高位有借位时,CF为1,循环指令也会影响这一标志。CFPFAFZFSFTFDFIFOF0123456789101112131514AF(辅助进位标志AuxiliaryCarryFlag):加法运算时,如果第三位向第四位进位,或在减法运算时,第四位向第三位借位时,则AF设为1,否则为0。

用于BCD码运算调整。OF(溢出标志OverflowFlag):加法运算时,如果低位向最高位产生进位,而最高位往前没有产生进位时,或者低位向最高位没有产生进位,而最高位往前却产生进位时,则产生溢出;减法运算时,如果低位向最高位借位,而最高位没有产生借位时,或者低位向最高位没有产生借位,而最高位却需要借位时,则判断产生溢出时,设OF为1,否则为0。CFPFAFZFSFTFDFIFOF0123456789101112131514C进位位bn-1…………bn-2b1b0c1c2c1c2+OF2.2.1执行单元控制标志:DF(方向标志DirectionFlag):控制串操作命令方向的标志。

如果DF为0,串操作过程中地址自增,DF为1,串操作过程中地址自减IF(中断标志InterruptFlag):控制可屏蔽中断的标志。

如果IF为0,CPU不能对可屏蔽中断做出响应,IF为1则可以接受可屏蔽中断请求。TF(跟踪标志TrapFlag):如果TF为1,则CPU按跟踪方式执行指令。CFPFAFZFSFTFDFIFOF0123456789101112131514说明:(1)预取指令技术

一条指令的执行可以分为:取指令、指令译码、指令执行三步。在指令执行时根据需要在存储器中存取操作数。

在16位微处理器中,8086微处理器首先采用了预取指令技术,提前把指令从存储器中取到CPU中,每次执行指令的时候直接在CPU内部就可以获得指令,从而大大提高CPU的性能。

预取指令技术是通过设置

指令缓冲队列来实现的。

(2)取指令和执行指令可以同时进行,提高了CPU的效率

BIU负责从内存取指令,EU负责执行。BIU从内存取下一条或下几条指令,取来的指令放到指令队列中。

8086的指令队列为6个字节。BIU功能:负责CPU与存储器的、I/O端口传送数据。从内存取指令送到指令队列;在CPU执行指令时,配合EU从指定的内存单元或I/O端口读取数据,再将指令传送给EU,由EU执行;把EU的执行结果传送到指定的内存单元或I/O端口。2.2.2总线接口单元4个段地址寄存器——16位◆CS:代码段寄存器(CodeSegment)◆DS:数据段寄存器(DataSegment)◆ES:扩展段寄存器(ExtensionSegment)◆SS:堆栈段寄存器(StackSegment)

16位指令指针寄存器——指向下一条要执行的指令20位地址加法器——计算物理地址6个字节的指令队列总线接口单元BIU组成执行单元和总线接口单元的动作管理1、8086/8088之前,CPU取指令和执行指令是串行的。在执行指令的过程中,总线和CPU轮流空闲,执行指令时间长,效率低。取指令CPU空闲,执行指令总线空闲。取指1执行1取指2执行2取指3执行3……2、从8086/8088起,将CPU内部分成BIU和EU两个工作单元,各有分工,可并行工作,提高CPU的运行速度。只有当遇到转移指令、调用指令或返回指令,BIU需要重新到内存中提取指令到指令队列时,EU才需要等待。(80286,80386……把CPU分成更多的部分)取指1取指2取指3取指4取数据取指5……等待执行1执行2执行3执行4执行5……预取指令技术3、BIU和EU并行工作的管理原则(1)当8086指令队列中有2个字节(8088空1个字节)为空时,BIU自动将指令取到指令队列中。(2)当EU执行一条指令时,它先从指令队列的队首取出指令代码,再用几个时钟周期去执行指令。在指令执行的过程中,如果必须访问存储器或I/O设备,则EU请求BIU进入总线周期去完成访问内存或I/O端口的操作。如果BIU此时正好空闲,则立即响应总线请求。如果此时BIU正在取指令,需完成当前取指令周期,然后去响应EU的总线请求。(3)当指令队列已满,而且EU对BIU无总线请求,BIU进入空闲状态。(4)当执行转移、调用和返回指令时,指令队列清零,BIU再向指令队列中装入另一个程序段的指令。原因是下面要执行的指令不是指令队列中的下一条指令了。2.2.38086/8088的寄存器8086/8088的内部寄存器都能处理16位二进制数据。通用寄存器中的4个数据寄存器用以暂存16位的操作数。指示器地址寄存器用以进行堆栈或数据串操作。2.2.38086/8088的寄存器8086/8088的通用寄存器常用于汇编语言的不同操作。2.2.38086/8088的寄存器2.2.48086/8088的总线周期概念1.总线周期的概念

EU和BIU之所以能协调工作,必须有一个时钟来控制。TWT2T1T3T4T2T1T3T4TITIT4TITITWT2T1T3TW时钟周期:计算机中最基本的时间单元,(最短的时间度量单元)为1s/主频。如主频5MHz,时钟周期为200ns1s=1000ms1ms=1000s1s=1000nsTWT2T1T3T4T2T1T3T4TITIT4TITITWT2T1T3TW2.2.48086/8088的总线周期概念总线周期:CPU对存储器或外设读写一次所需的时间,最基本的总线周期包括四个时钟周期。在一个最基本的总线周期中,习惯上将4个时钟周期称为4个状态,分别是T1、T2、T3、T4。(1)在T1状态,CPU往地址/数据总线上发出地址信号,指出要寻址的存储单元或外设端口地址。(2)在T2状态,CPU从总线上撤销地址,而使16位地址/数据总线浮置成高阻状态,为传输数据作准备,4位的地址/状态总线输出本总线周期的状态信息。TWT2T1T3T4T2T1T3T4TITIT4TITITWT2T1T3TW(3)在T3状态,4位地址/状态总线继续提供状态信息,16位地址/数据总线上出现CPU写出的数据或CPU读入的数据。如果I/O设备或存储器速度慢,I/O设备或存储器会向CPU发出等待请求信号,于是CPU插入一个或多个附加的时钟周期Tw状态,也称等待状态。TWT2T1T3T4T2T1T3T4TITIT4TITITWT2T1T3TW2.2.48086/8088的总线周期概念(4)在T4状态,完成数据的读写操作,总线周期结束。

只有在CPU与I/O设备或存储器之间传输数据,以及从内存取指令到指令队列时,CPU才执行总线周期。因此在两个总线周期之间,总线就可能处于空闲状态TI,此时执行空闲周期。TWT2T1T3T4T2T1T3T4TITIT4TITITWT2T1T3TW2.2.48086/8088的总线周期概念指令周期:执行一条指令所需要的全部时间。总线周期是CPU对存储器或外设读写一次所需的时间一个指令周期可能包括若干个总线周期。不同的指令其指令周期可能不同。指令周期由一些基本的总线周期组成: 存储器读/写

I/O端口读/写 终端响应2.2.48086/8088的总线周期概念2.3.18086/8088的引脚信号2.3.28086/8088的最小模式2.3.38086/8088的最大模式2.38086/8088CPU的引脚及其功能几点说明:总线复用技术:可以减少引脚,提高可靠性,降低工艺难度。

(1)分时复用:8086/8088的地址线和数据线是复用的,称为多路总线。他们是分时复用的,某些时候总线(引脚)上出现的是地址,有些时候出现的是数据。8086有16位是数据/地址复用引脚,有4位是地址和状态复用。8088有8位数据/地址复用引脚。

(2)模式复用:不同工作模式下引脚信号的复用。括号中的引脚为最大模式下的信号。8086CPU是具有40个引脚的集成电路芯片,采用双列直插式封装2.3.18086/8088的引脚信号地

AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0MNIINTRCLK地Vcc

(5V)A15A16/S3A17/S4A18/S5A19/S6BHE/S3MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8086可以在两种模式下工作:最大模式和最小模式。1、最小模式:整个微型计算机系统只有一个CPU,所有的总线控制信号都直接由这个CPU产生。2、最大模式:包括两个以上的CPU,其中一个为主处理器8086,其他的称为协处理器,协助主处理器进行工作。如:8087—数字运算协处理器,8089—输入输出协处理器。3、实现:8086第33引脚(MN/MX)接地为最大模式,接+5V电压为最小模式。2.3.18086/8088的引脚信号最大模式和最小模式定义相同的引脚:GND、Vcc

(引脚1、20、40):第1、20引脚为地、第40引脚为电源。AD0~AD15(引脚2-16,39):

数据/地址复用引脚,双向工作。在总线周期的T1状态输出要访问的存储器或I/O端口的地址。T2~T3状态,对于写操作,是传输数据,对读操作,则处于浮空状态,等待数据传入。

2.3.18086/8088的引脚信号A19/S6~A16/S3(引脚35~38):地址/状态复用引脚,输出在总线周期的T1状态输出要访问的存储器或I/O端口的地址。T2~T4状态,用来输出CPU的状态信息。S6:总为0,表示当前8086/8088与总线是相连的;S5:中断允许标志的当前设置(IF),1表示允许可屏蔽中断请求;S4S3:合起来表示当前正在使用哪个段寄存器。2.3.18086/8088的引脚信号BHE/S7

(BusHighEnable/Status,引脚34):

高8位数据线允许/状态复用,输出。在总线周期的T1状态输出BHE表示高8位数据线有效,T2~T4状态,输出状态信号S7,但没有赋予任何意义。

BHE和A0结合起来,表示数据总线上的数据出现的格式。2.3.18086/8088的引脚信号NMI(Non-MaskableInterrupt,引脚17):不可屏蔽的中断输入引脚。是一个上升沿,不受IF影响,当正沿触发时,CPU将结束当前指令后,执行对应于中断类型号为2的非屏蔽中断处理子INTR

(InterruptRequest,引脚18):可屏蔽中断请求信号输入引脚,输入。高电平有效。CPU在执行每一条指令的最后一个时钟周期会INTR信号进行采样,如果FLAG的IF位为1,并且接收到INTR信号,则在结束当前指令后,响应中断请求,执行请求的中断处理子程序。2.3.18086/8088的引脚信号RD

(Read,引脚32):读信号输出。低电平有效,有效时指出对内存或I/O端口进行读操作。在总线周期的T2~T4状态保持低电平。具体从内存读还是I/O端口读,决定于M/IO。CLK

(Clock,引脚19):时钟输入。RESET

(Reset,引脚21):复位信号输入。高电平有效。复位信号要求至少维持4个时钟周期的高电平。CPU将结束当前操作,并将FLAG、IP、DS、ES、SS及指令队列清零。CS置为FFFFH,当复位信号变低电平时,CPU从FFFF0H开始执行程序。2.3.18086/8088的引脚信号READY(Ready,引脚22):“准备好”信号输入。高电平有效。是由CPU要访问的存储器或者I/O设备发来的响应信号,表示存储器或者I/O设备已准备好。CPU在总线周期的T3

状态决定是否插入Tw

。TEST

(Test,引脚23):测试信号输入。低电平有效。结束等待状态。和WAIT指令结合使用,用于CPU与外部硬件同步。CPU执行WAIT指令时,处于等待状态,当TEST信号有效时,结束等待状态,CPU继续执行被暂停的指令。MN/MX

(Minimum/Maximum,引脚33):最大和最小模式控制信号输入。接+5V电压,则CPU处于最小模式;接地,则处于最大模式。2.3.18086/8088的引脚信号引脚信号:第24~31引脚在最小模式下的定义。INTA(InterruptAcknowledge,引脚24):中断响应信号,输出。对中断请求设备的响应。如果CPU响应该中断请求,在总线周期的T2、T3(包括TW)状态,INTA输出为两个连续的低电平,第一个低电平CPU通知外设接口,它的中断请求得到允许;在第二个低电平后,外设接口将中断类型码放在数据总线上,8086从AD7~AD0上读到8位的中断类型码,获取中断请求的详尽信息。此时,INTA相当于一个读脉冲。2.3.28086/8088的最小模式ALE(AddressLatchEnable,引脚25):地址锁存允许信号,输出,高电平有效。

ALE是8086提供给地址锁存器8282的控制信号,在总线周期的T1状态,ALE输出高电平,表示当前地址/数据复用总线上输出的是地址信息,8282将地址进行锁存(对地址进行备份)。DEN(DataEnable,引脚26):数据允许信号,输出,低电平有效。提供控制信号,通知收发器,CPU准备接收或发送一个数据。在读周期,DEN从T2状态的中间开始变为低电平,一直保持到T4的中间;写周期时,DEN在T2的一开始就变为低电平,一直保持到T4的中间。2.3.28086/8088的最小模式DT/R

(DataTransmit/Receive,引脚27):数据收发信号,输出。数据收发方向的控制信号,通知总线收发器是接受还是发送数据。为高电平,则进行的是数据发送,否则是接收数据。M/IO

(Memory/InputandOutput,引脚28):存储器/输入输出控制信号,输出。用来区分CPU访问存储器还是I/O端口。高电平,CPU与存储器;低电平,CPU与I/O端口。有效电平一直保持到T4状态。WR(Write,引脚29):写信号,输出,低电平有效。

WR有效时,表示CPU当前正在进行对存储器或I/O之间的写操作,有效电平保持在T2、T3、TW状态。2.3.28086/8088的最小模式HOLD(HoldRequest,引脚31):总线保持请求信号输入。为其它部件向CPU发出的总线请求信号。HLDA(HoldRequestAcknowledge,引脚30):总线保持响应信号输出。为CPU对其它部件请求占用总线的响应。

在最小模式时,HOLD和HLDA信号结合起来决定CPU与其它部件之间的总线使用权。2.3.28086/8088的最小模式引脚信号:第24~31引脚在最大模式下的定义。QS1、QS0

(InstructionQueueStatus,引脚24,25):指令队列状态信号输出。组合提供了前一个时钟周期的指令队列的状态。QS1QS0含义00110101无操作从指令队列中取出指令的第一个字节队列为空除取指令的第一个字节外,还取走了后续字节2.3.38086/8088的最大模式S0、S1

、S2

(BusCycleStatus,引脚26,27,28):总线周期状态信号输出组合指出了当前总线周期中所进行的数据传输过程的类型。用来产生对存储器和I/O接口的控制信号。(低电平代表1)S2S1S0含义000011110011001101010101中断响应周期读I/O端口周期写I/O端口周期暂停取指令周期读内存周期写内存周期无源状态(非总线周期)2.3.38086/8088的最大模式LOCK

(Lock,引脚29):总线封锁信号输出为低电平时,系统中其他部件不能占用总线。通过LOCK指令实现。RQ/GT1、RQ/GT0

(Request/Grant,引脚30,31)

总线请求信号输入/总线请求允许信号输出,双向。供主处理器以外的两个协处理器来发出总线使用请求信号和接收主处理器的应答信号。这两个引脚都是双向的,总线请求信号和允许信号在同一引脚上传输,但方向相反。2.3.38086/8088的最大模式8284ARESETREADYMN/MXALEBHEA19/S6~A16/S6AD15~AD0DENDT/RM/IOWRRDHOLDHLDAINTRINTA8086STB8282(三片)地址锁存器总线收发器8286OET控制总线数据总线地址总线CLK+5VREADYRESETBHEx1x2RDYRES(两片)(可选)最小模式下的典型配置8284AS0S1S2S0S1S2DT/RDENALECLKAENIOBCENINTAMCE/PDENMRDCMWTCIORCIOWC8282锁存器(3片)STB8286总线收发器(2片)OET8259A中断控制器CLK8288总线控制器(1片)+5V控制总线8086最大模式下的典型配置2.4.18086/8088的存储器组织2.4.28086/8088的I/O组织2.48086/8088的存储器组织与I/O组织8086有20根地址线,因此具有220=1048576B(习惯上简记为1MB)的存储器地址空间。2.4.18086/8088的存储器组织1MB的内存单元按照00000H~FFFFFH的方式进行编址。8086的内部寄存器,包括指令指针和堆栈指针都是16位。用寄存器不能够直接对1MB的内存空间进行寻址,为此在计算机系统结构中引入分段的概念。存储规定:存储器按字节为最小单位组织,每个字节用唯一的编址表示。2.4.18086/8088的存储器组织若存放的信息为8位字节,将按顺序排列存放。若存放的数为一个字(2字节)时,则将字的高位字节放在高地址中,将低位字节存放在低地址中。若存放的数是双字(4字节)形式,其低位地址中的低位字是被寻址地址的偏移量,高位地址中的高位字是被寻址地址所在段的基址。指令和数据(包括字节数据或字数据)在存储器中的存放。2.4.18086/8088的存储器组织对存放的字,其低位字节可以在奇数地址中(即从奇数地址开始存放),也可以在偶数地址中(即从偶数地址开始存放)。前一种模式为非规则存放,存放的字为非规则字,存取需两个总线周期。后一种模式为规则存放,存放的字称为规则字,存取需一个总线周期。

20位物理地址形成

物理地址:

在1M字节存储器里,每个存储单元都有一个唯一的20位地址作为该存储单元的物理地址。

CPU访问存储器时,必须先确定所要访问的存储单元的物理地址才能取出(或存入)该单元中的内容。

20位物理地址形成:由16位段地址和16位偏移地址组成。

段地址:只取段起始地址高16位值。

偏移地址:指在段内某内存单元物理地址相对段起始地址的偏移值。2.4.18086/8088的存储器组织(1)物理地址计算方法:即把段地址左移4位再加上偏移地址值形成物理地址,写成:

物理地址=10H

段地址+偏移地址

*每个存储单元只有唯一的物理地址,

但可由不同的段地址和不同的偏移地址组成。(2)逻辑地址与物理地址

逻辑地址与物理地址概念 逻辑地址与物理地址概念如下页图所示。逻辑地址:由段基址和段内偏移地址组成的地址,

段基址和段内偏移地址都是16位的无符号二进制数, 在程序设计时使用。物理地址:存储器的绝对地址(20位的实际地址),

范围从00000H~FFFFFH,

是由CPU访问存储器时由地址总线发出的地址。存储器管理:将程序中逻辑地址转移为物理地址的机构。

物理地址的形成......20000H25F60H25F61H25F62H25F63H2000H段基址逻辑地址段内偏移地址5F62H逻辑地址与物理地址取指令: 自动选择代码段寄存器CS, 再加上由IP决定的16位偏移量, 计算得到要取的指令20位物理地址。堆栈栈顶操作: 自动选择堆栈段寄存器SS, 再加上由SP决定的16位偏移量, 计算得到堆栈栈顶操作需要的20位物理地址。

逻辑地址来源涉及到操作数:自动选择数据段寄存器DS或附加段寄存器ES,再加上16位偏移量,计算得到操作数的20位物理地址。其中:

16位偏移量可以包含在:指令中的直接地址 某个16位地址寄存器的值 指令中的位移量+16位地址寄存器中值等

16位偏移量关键取决于指令的寻址方式。段寄存器和其他寄存器组合指向存储单元示意图归纳段寄存器和其他寄存器组合指向存储单元示意图如下:8086/8088系统和外部设备之间通过I/O芯片进行联系,从逻辑上又称为I/O接口。2.4.28086/8088的I/O组织每个I/O芯片都有一个端口或几个端口。一个端口对应芯片内部的一个或一组寄存器。微型计算机系统要为每个端口分配一个地址,此地址叫端口号,各个端口号不能重复。

8086/8088共有65536(记为64K)个8位的I/O端口。CPU在执行访问I/O端口的指令时,即输入IN指令和输出OUT指令。2.4.28086/8088的I/O组织

I/O端口独立编址,通过外部逻辑电路的组合,外设硬件单独编址,产生对I/O端口的读或写信号,此时,具有单独的外设端口号。

I/O端口和存储器放在一起统一编址,通过对存储器的访问指令来实现对I/O端口的读写。

CPU访问I/O端口与访问存储器,使CPU的M/信号处于高电平,产生对存储器的读信号或写信号,实现对I/O端口的操作。2.5.1总线读操作周期2.5.2总线写操作周期2.5.3空闲周期2.5.4中断响应周期2.5.5系统复位和启动2.58086/8088的CPU时序1.总线周期的概念

EU和BIU之所以能协调工作,必须有一个时钟来控制。TWT2T1T3T4T2T1T3T4TITIT4TITITWT2T1T3TW2.5.1总线读操作周期2.读周期时序CPU地址锁存器数据收发器主存储器A/SADABDBCB一个总线周期T1T2T3T4CLKA19/S6-A16/S3,BHE/S7AD15-AD0ALEM/IORDDT/RDENCPU地址锁存器数据收发器主存储器A/SADABDBCB一个总线周期T1T2T3T4CLKA19/S6-A16/S3,BHE/S7AD15-AD0ALEM/IORDDT/RDENT1AA0-读I/O1-读主存2.读周期时序CPU地址锁存器数据收发器主存储器A/SADABDBCB一个总线周期T1T2T3T4CLKA19/S6-A16/S3,BHE/S7AD15-AD0ALEM/IORDDT/RDENT2AA0-读I/O1-读主存S2.读周期时序CPU地址锁存器数据收发器主存储器A/SADABDBCB一个总线周期T1T2T3T4CLKA19/S6-A16/S3,BHE/S7AD15-AD0ALEM/IORDDT/RDENT3AA0-读I/O1-读主存SD2.读周期时序CPU地址锁存器数据收发器主存储器A/SADABDBCB一个总线周期T1T2T3T4CLKA19/S6-A16/S3,BHE/S7AD15-AD0ALEM/IORDDT/RDENT4AA0-读I/O1-读主存SD2.读周期时序最小模式下的总线读操作过程描述(1)T1状态M/IO有效,保持到整个总线周期结束;地址/数据复用总线和地址/状态复用总线输出地址;ALE信号有效,实现地址锁存,ALE下降沿之前M/IO和地址信号都已经有效,8282利用ALE的下降沿对地址锁存;BHE信号输出,指出高8位数据总线是否可用;DT/R为低电平,指出是读周期;DEN为高电平,表示传输的是地址。(2)T2状态地址信号消失,AD15~AD0进入高阻态,为传输数据作准备。A19/S6~A16/S3、BHE/S7输出状态信息。DEN有效,用来开启总线收发器,以允许数据通过。RD信号有效,输出读信号,信号送到所有的存储器或I/O接口,但只有被地址信号选中的存储单元或I/O端口,才会将数据传送到系统数据总线上。(3)T3状态在T3状态的下降沿对READY信号进行采样。如为高电平,表示存储器或I/O已将数据送到数据总线上,于是CPU通过AD15~AD0读入数据;如为低电平,则在T3状态之后插入Tw状态。最小模式下的总线读操作过程描述(4)Tw状态是否插入下一个Tw决定于在T3状态或当前Tw的下降沿检测到的READY信号是否有效,如果有效,执行完当前Tw状态后,进入T4状态;如果无效,则继续插入Tw状态。在最后一个Tw状态,数据肯定已经出现在数据总线上。而其他的Tw状态,控制信号和T3

状态相同,只是数据未出现在数据总线上。(5)T4状态在T4状态和前一个状态交界的下降沿处,CPU对数据总线进行采样,从而获得数据,同时,RD和DEN恢复到无效状态。最小模式下的总线读操作过程描述CPU地址锁存器数据收发器主存储器A/SADABDBCB一个总线周期T1T2T3T4CLKA19/S6-A16/S3,BHE/S7AD15-AD0ALEM/IOWRDT/RDEN2.5.2总线写操作周期CPU地址锁存器数据收发器主存储器A/SADABDBCB一个总线周期T1T2T3T4CLKA19/S6-A16/S3,BHE/S7AD15-AD0ALEM/IOWRDT/RDENT1AA0-读I/O1-读主存2.5.2总线写操作周期CPU地址锁存器数据收发器主存储器A/SADABDBCB一个总线周期T1T2T3T4CLKA19/S6-A16/S3,BHE/S7AD15-AD0ALEM/IOWRDT/RDENT2AA0-读I/O1-读主存SD2.5.2总线写操作周期CPU地址锁存器数据收发器主存储器A/SADABDBCB一个总线周期T1T2T3T4CLKA19/S6-A16/S3,BHE/S7AD15-AD0ALEM/IOWRDT/RDENT3AA0-读I/O1-读主存SD2.5.2总线写操作周期CPU地址锁存器数据收发器主存储器A/SADABDBCB一个总线周期T1T2T3T4CLKA19/S6-A16/S3,BHE/S7AD15-AD0ALEM/IOWRDT/RDENT4AA0-读I/O1-读主存SD2.5.2总线写操作周期最小模式下的总线写操作过程描述与读操作的比较:数据要比读操作早出现在数据总线上RD换成WR,WR从T2状态一直到T4状态都保持低电平。DT/R为高电平,指明当前为操作方向。一个总线周期T1T2T3T4CLK2.5.3空闲周期CPU只有在与存储器或I/O端口之间交换数据,或装填指令队列时,才由总线接口单元BIU执行总线周期,否则BIU将进入总线的空闲周期TITI一般包含1个或多个时钟周期。在空闲周期中,CPU对总线进行空操作,但状态信息S3~S6和前一个总线周期相同。若前一周期为读周期,则AD0~AD15在空闲周期中处于浮空;若为写周期,则AD0~AD15仍继续保留着CPU输出数据。一个总线周期T1T2T3T4CLK2.5.3空闲周期空闲周期是指对总线操作空闲,对CPU内部仍可进行有效操作,如执行单元EU进行计算或其内部的寄存器间进行数据传送等。空闲周期又可认为是BIU对EU的等待。一个总线周期T1T2T3T4CLK2.5.4中断响应周期中断响应总线周期是由外设向CPU的INTR引脚发中断申请而引起的响应周期。2.5.4中断响应周期中断响应周期要花2个总线周期。如果在前一个总线周期中,CPU接收到外部的中断请求信号INTR。当中断允许标志IF=1,而且又刚好执行完一条指令,那么,8086会在当前总线周期和下一个总线周期中间产生中断响应周期。2.5.4中断响应周期CPU从

引脚上向外设端口(一般是向8259A中断控制器)先发送一个负脉冲,表明其中断申请已得到允许,然后插入2个或3个空闲状态TI(对8088则不需插入空闲周期),再发第二个负脉冲。这两个负脉冲都是从每个总线周期的T2维持到T4状态的开始。2.5.4中断响应周期当外设端口的8259A收到第二个负脉冲后,立即就把中断类型码n送到它的数据总线的低8位D0~D7上,并通过与之连接的CPU的地址/数据线AD0~

AD7传给CPU。两个总线周期的其余时间,AD0~

AD7处于浮空,同时

/S7和地址/状态线A16/S3~

A19/S6也处于浮空,M/处于低电平,而ALE引脚在每个总线周期的Tl状态输出一个有效的电平脉冲,作为地址锁存信号。2.5.5系统复位和启动8086的复位和启动操作是由8284A时钟发生器向其RESET复位引脚输入一个触发信号而执行。8086的复位操作时序2.5.5系统复位和启动当RESET信号有效后,再经—个状态,将执行以下两种情况:(1)把所有具有三态的输出线——包括AD0~AD15、A16/S3~A19/S6、

/S7、M/、DT/、

等都置成浮空状态,直到RESET后回到低电平,结束复位操作为止。还可以看到:在进入浮空前的半个状态(即时钟周期的低电平期间),这些三态输出线暂为不作用状态。(2)把不具有三态的输出线——包括ALE、HLDA、

RQ/GT0、

RQ/GT1

、QS0和QS1都置为无效状态。2.6.180486微处理器及体系结构2.6.2多核微处理器技术2.6.3典型嵌入式处理器技术2.6典型CPU举例2.6.180486微处理器及体系结构80486微处理器为Intel公司于1989年推出的32位处理器芯片。采用了1mm制造工艺,芯片中共包含120万个晶体管,时钟频率为25MHz~100MHz,其内外部为32位的数据总线,地址总线为32位,可寻址4GB的存储空间,支持虚拟存储管理技术,虚拟存储空间为64TB。引进了时钟倍频技术和新的内部总线结构,从而使主频也可以超出100MHz。2.6.180486微处理器及体系结构80486的内部结构2.6.180486微处理器及体系结构由总线接口部件、高速缓存部件、指令预取部件、指令译码部件、执行部件、浮点运算部件、段管理部件和页管理部件等8个部件组成。BIU通过对80486的32位地址总线、32位数据总线和控制总线的管理,完成预取指令、读/写数据、访问端口等总线操作以及其它的控制功能。集成了8K字节的数据和指令混合型的高速缓存器(Cache)。2.6.180486微处理器及体系结构80486指令的译码采用2级流水线结构。指令预取部件是第一级流水线,它有一个32字节的指令预取队列。执行部件包括算术逻辑单元(ALU)、8个32位的通用寄存器和桶形移位寄存器。它完成各种算术和逻辑运算,如加法、乘法、移位等操作。当指令预取队列不满时,指令部件就向总线接口部件BIU申请取指令,取指令的优先级低于取操作数的优先级,因此BIU总是在空闲时才取指令,这就不会影响指令的执行速度。2.6.180486微处理器及体系结构80486的浮点运算部件(FPU)相当于一个增强型的80387协处理器。80486的段长度是可变的(从1字节到4G字节)。引入了长度的存储器单位——页,1页等于4K字节。FPU可与ALU并行工作,对各种类型的数据进行算术运算,也可运算大量的内部数学函数(如正弦、余弦、正切和对数函数等)。80486内部硬件提供了存储器管理所需的段管理部件和页管理部件。2.6.180486微处理器及体系结构80486有三种工作模式:实地址模式、保护虚拟地址模式和虚拟8086模式。保护虚拟地址模式:

CPU可访问4G(232)字节的物理存储器空间和64T(246)字节的虚拟存储器空间。实地址模式:与8086相同,指令中操作数的长度为16位,借助操作数长度前缀,能用32位操作数。虚拟8086模式:

CPU与保护虚拟地址模式下的工作原理相同,但程序中指定的逻辑地址按8086模式解释。2.6.2多核微处理器技术多核微处理器是指在一个微处理器上集成多个运算核心。2001年IBM发布了双核RISC处理器Power4,它将两个64位PowerPC处理器内核集成在同一颗芯片上,成为首款采用多核技术的服务器处理器。“双核”的概念最早是由IBM、HP、Sun等支持RISC架构的高端服务器厂商提出的,主要运用于服务器上。2.6.2多核微处理器技术多核微处理器的每个核心采用独立式缓存设计,在处理器内部两个核心之间是互相隔绝工作。通过处理器外部的仲裁器(位于主板北桥芯片)负责两个核心之间的任务分配以及缓存数据的同步等协调。Intel双核心架构两个核心共享前端总线,并依靠前端总线在两个核心之间传输缓存同步数据。2.6.2多核微处理器技术AMD的两个内核不需要经过MCH进行相互之间的协调,每个核心拥有独立的512KB(1MB)L2缓存及执行单元。双核心处理器的内部提供了一个称为SystemRequestQueue

温馨提示

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

评论

0/150

提交评论