好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第2章微处理器.ppt

102页
  • 卖家[上传人]:大米
  • 文档编号:583951340
  • 上传时间:2024-08-30
  • 文档格式:PPT
  • 文档大小:1.14MB
  • / 102 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第2章 微处理器本章主要内容有:8086/8088微处理器结构;8086/8088两种组态模式下的引脚信号和总线;8086CPU总线的操作时序;8086/8088基本工作电路以及用它们构成的CPU子系统80286微处理器的特点;80286的内部结构;80286的寄存器结构;80286的保护虚地址方式及寄存器寻址将从应用的角度介绍80X86系列高档微处理器的组成结构 2.1 Intel 8086/8088微处理器结构2.1.1 8086/8088的功能结构8086由两个独立的工作部件——执行单元(EU)和总线接口单元(BIU)构成EU由运算器(ALU)、寄存器阵列、控制器等组成,负责指令的执行,包括算术运算、逻辑运算及16位有效地址EA的计算,而后将指令执行结果(数据和偏移地址)提供给BIU;BIU是EU与外部总线之间的接口单元,由段寄存器、指令指针、地址形成逻辑、总线控制逻辑和指令队列组成负责与系统总线及予取指令队列打交道,并计算20位的物理地址 图2-1 8086微处理器功能结构框图 ALU数据总线(16位)通用寄存器CSDSSSESIPSPBPSIDIAHBHCHDHALBLCLDL内部通信寄存器总线控制逻辑地址总线(20位)数据总线(16位)暂存寄存器标志Q总线(8位)执行部件(EU)EU控制系统总线接口部件(BIU)8086总线指令队列1 2 3 4 5 6ALUS n地址加法器和段寄存器。

      8086CPU的20位地址线可直接寻址1MB存储器物理空间,但CPU内部寄存器均为16位的寄存器那么,16位的寄存器如何实现20位地址寻址呢?它是由专门地址加法器将有关段寄存器内容(段的起始地址)左移4位后,与16位偏移地址相加,形成了20位的物理地址,以对存储单元寻址例如,在取指令时,由16位指令指针IP提供一个偏移地址(逻辑地址),在地址加法器中与代码段寄存器(CS)内容相加,形成实际的20位物理地址,送到总线上实现取指令的寻址图2-2就表现了这一物理地址的形成过程 n图2-2 物理地址形成过程 16位段基值1516位段内偏移量16位段基值 000020位物理地址19段寄存器0001519偏移量0S n由于EU和BIU这两个功能部件能够相互独立地工作,且在大多数情况下,能使大部分的取指令和执行指令重叠进行这样,EU执行的是BIU在前一时刻取出的指令与此同时,BIU又取出EU在下一时刻需要执行的指令所以,在大多数情况下,取指令所需的时间“消失”了(隐含在上一指令的执行时间之中),大大减少等待取指令所需的时间,提高了微处理器的效率和整个系统的执行速度这种取指令和执行指令的重叠过程如图2-3所示。

      执行1 执行2 执行3 执行4 执行5 执行6取指1取指3取指2取指4取指6取指5忙忙忙忙忙忙………EUBIUBUS8086MPttt取指1取指5执行1执行5取指2 执行2 取指3 执行3 取指4 执行4忙忙忙忙忙MPBUS一般8位MP(8080)tt图2-3 取指令和执行指令的重叠过程 2.1.2 8086/8088的内部寄存器n1.通用寄存器nEU中设置了4个16位通用寄存器,它们是累加器AX、基址寄存器BX、计数器CX和数据寄存器DX它们都可以拆成两个独立的8位寄存器,允许分别寻址、独立操作例如,AX寄存器可以拆成AH和AL使用在8086指令系统中,通用寄存器可参与算术和逻辑运算,但它们还有各自特殊的用途这些通用寄存器的一般用法与隐含用法,如表2-1所示 表2-1 8086/8088中通用寄存器的一般用法和隐含用法寄存器一般用法隐含用法AX16位累加器字乘时提供一个操作数并存放积的低字节;字除时提供被除数的低字节并存放商ALAX的低8位字节乘时提供一个操作数并存放积的低字节;字节除时提供被除数的低字节并存放商;BCD码运算指令和XLAT指令中作累加器;字节I/O操作中存放8位输入/输出数据AHAX的高8位字节乘时提供一个操作数并存放积的高字节;字节除时提供被除数的高字节并存放余数;LAHF指令中充当目的操作数BX基址(Base)寄存器,支持多种寻址,常用作地址寄存器XLAT指令中提供被查表格中源操作数的间接地址CX16位计数器串操作时用作串长计数器;循环操作中用作循环次数计数器CL8位计数器移位或循环移位时用作移位次数计数器DX16位数据(Data)寄存器在间接寻址的I/O指令中提供端口地址;字乘时存放积的高字节;字除时提供被除数高字节并存放余数 n2.地址寄存器nEU中设有4个地址寄存器:SP、BP、SI和DI,其中前面两个称“地址指针”,后面两个称“变址寄存器”,它们只能按16位寄存器进行操作。

      其中SP、BP用于堆栈操作,SI、DI用于变址操作这4个位寄存器也可以用作数据寄存器在8086/8088指令系统中的应用,见表2-2 寄存器一般用法隐含用法SP堆栈指针,与SS配合指示堆栈栈顶的位置压栈、出栈操作中指示栈顶BP基址指针,它支持间接寻址、基址寻址、基址加变址时等多种寻址手段在程序调用时,常用它来取压栈的参数SI源变址寄存器它支持间接寻址、变址寻址、基址加变址寻址等多种寻址串操作时用作源变址寄存器,指示数据段(段默认)或其他段(段超越)中源操作数的偏移地址DI目的变址寄存器它支持间接寻址、变址寻址、基址加变址寻址等多种寻址串操作时用作目的变址寄存器,指示附加段(段默认)中目的操作数的偏移地址表2-2 8086/8088中地址寄存器的一般用法和隐含用法 n3.标志寄存器nEU中设有一个16位的标志寄存器(PSW),8086/8088只定义了其中的9位为有效位,如图2-4所示1514131211109876543210OFDFIFTFSFZFAFPFCF图2-4 标志寄存器(PSW) 2.2 8086/8088的两种工作模式、引脚信号及其总线的形成n2.2.1 8086/8088两种工作模式n8086/8088有两种基本的工作模式:最小模式和最大模式。

      n最小模式一般用于单板机控制系统,系统中的总线控制信号都直接由8086/8088产生,因此整个系统中的控制线路较简单 n最大模式是相对于最小模式而言的,一般用于系统机,如IBM PC/XT和IBM PC/AT计算机系统系统中的总线控制信号由8288总线控制器产生n当微处理器引脚的MN/MX接高电平时,工作在最小模式,系统中没有8288总线控制器;当MN/MX接低电平(地)时,则工作在最大模式下,系统中有8288总线控制器 n2.2.2 8086/8088两种组态下的引脚定义n图2-5为8086和8088的引脚图,图中带有括号的引脚为最大模式时的引脚名称8088是一种准16位微处理器,其内部数据总线16位,外部数据总线8位在软件上,8088与8086直接兼容;在硬件上,除指令队列、引脚A15~A18、引脚A34和A28外,其他基本相同本节主要讲解最小模式下的8086引脚功能,仅简要介绍最大模式的引脚功能 n1.地址/数据总线nADl5~AD0为地址/数据复用引脚,是双向、三态的该引脚既可以输出访问存储器或访问I/O的地址信息A15~A0,又可以作为与存储器和I/O设备交换数据信息的D15~D0,它们是分时工作的。

      对于8088CPU,由于对外数据总线是8位的,所以AD7~AD0为复用线,A15~A8不作复用,仅输出地址 80868088GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND1 402 393 384 375 366 357 348 339 3210 3111 3012 2913 2814 2715 2616 2517 2418 2319 2220 21VCC(5V)A15A16/S3A17/S4A18/S5A19/S6BHE/S7 (HIGH)MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESETGNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND1 402 393 384 375 366 357 348 339 3210 3111 3012 2913 2814 2715 2616 2517 2418 2319 2220 21VCC(5V)A15A16/S3A17/S4A18/S5A19/S6SSO (HIGH)MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)IO/M(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET图2-5 8086和8088的引脚图 n2.地址/状态总线A19/S6~A16/S3nA19/S6~A16/S3为地址/状态总线复用引脚,用做输出,是三态的。

      该引脚输出访问存储器20位地址的高4位,也可以输出CPU的一些工作状态,也是分时工作的在总线周期的T1状态,用来输出地址的最高位;在总线周期的T2、T3和T4状态,用来输出状态信息nS6指示8086/8088当前是否与总线相连,S6=0表示8086/8088当前与总线相连nS5表明中断允许标志当前的设置S5=0表示CPU中断是关闭的,禁止一切可屏蔽中断的中断请求;S5=l表示CPU中断是开放的,允许一切可屏蔽中断的中断申请nS4和S3组合起来指出当前正在使用哪个段寄存器,如表2-3所示 n3.控制总线(1)/S7高8位数据总线允许/状态复用引脚2)读信号,三态输出,低电平有效3)写信号,三态输出,低电平有效4)存储器或I/O端口访问信号,三态输出5)READY准备就绪信号,输入,高电平有效 (6)INTR可屏蔽中断请求信号,输入,电平触发,高电平有效 (7)中断响应信号,用做输出,低电平有效,表示CPU对外设发来的INTR信号的响应8)NMI不可屏蔽中断请求信号,输入,上升沿触发 (9)测试信号,输入,低电平有效(10)RESET复位信号,输入,高电平有效 (11)ALE地址锁存允许信号,输出,高电平有效,用作地址锁存器8282的选通信号。

      12)数据发送/接收控制信号,三态输出 (13)数据允许信号,三态输出,低电平有效 (14)HOLD总线请求信号,输入,高电平有效 (15)HLDA总线请求响应信号,输出,高电平有效 (16)工作模式选择信号,输入 (17)CLK主时钟信号,输入 寄存器/引脚内容或状态指令队列全清状态寄存器全清CS:IPFFFFH:0000H其他段寄存器0000HA19/S6~A16/S3高阻AD15~AD0高阻 BHE/S7(HIGH)高电平 DEN (S0) 高电平后呈高阻 DT/R (S1)高电平后呈高阻 M/IO (S2)高电平后呈高阻 WR ( LOCK )高电平后呈高阻 RD高电平后呈高阻 INTA高电平后呈高阻 ALE低电平 HLDA低电平RQ/GT0 EQ/GT1高电平QS1,QS0低电平表2-4 8086的复位状态 4.电源线和地线单一的+5V电源1、20引脚为地线5.最大模式下的有关引脚(1)QS1、QS0:指令队列状态信号,用作输出这两个信号组合起来提供了总线周期的前一个状态中指令队列的状态,以便于外部对8086/8088内部指令队列的动作跟踪。

      QS1、QS0的代码组合和对应的含义如表2-5所示2)S2、S1、S0:总线周期状态信号,三态输出在最大模式系统中,用来提供给总线控制器8288,8288利用这些状态信号产生对存储器和I/O设备的读写信号这3个状态信号的编码含义如表2-4所示 (3)RQ/GT0、EQ/GT1:总线请求信号(输入)/总线请求允许信号(输出),双向,低电平有效这两个信号端可供CPU以外的两个处理器用来发出使用总线的请求信号和接收CPU对总线请求信号的回答信号RQ/GT0 的优先级比 EQ/GT1 的高4)LOCK:总线封锁信号,三态输出,低电平有效有效时,表示CPU不允许其他总线主控制器占用总线信号由指令LOCK使其有效,并维持到下一条指令执行完毕为止该指令可放在任一指令前面 QS1QS0指令指令队列当前状列当前状态00无操作无操作01从指令队列中取出当从指令队列中取出当前指令的第一个字前指令的第一个字节节10队列为空队列为空11从指令队列中取出当从指令队列中取出当前指令的后续字节前指令的后续字节表2-5 QS1、QS0的编码和对应的含义 2.2.3 两种组态下的总线形成1.最小组态下的总线形成8088最小组态下总线的形成如图2-6所示,说明如下。

      STB 8282 OESTB 8282OESTB 8282OE8286TOEIO/MRDWRA19~A16A15~A8A7~A0D7~D9MN/MXIO/MRDWRA19/S6~A16/S38088A15~A8AD7~AD0ALEDT/RDEN系统总线信号+5V图2-6 8088最小组态下的总线形成 n2.最大模式下的总线的形成n现以PC/XT机为例,介绍最大组态下系统总线的形成最大组态下PC/XT计算机的总线形成如图2-7所示MN/MXA19/S6~A16/S3A15~A128088AD7~AD0S2~S0A11~A8AENBRDAEN’DMA应答电路74LS245GDIR74LS373OE G74LS244 E74LS373OE GA19~A12A11~A8A7~A0D7~D08288S2~S0DT/RDENALEAENCENMRDCAMWCIORCAIOWCINTAMRMRMEMWIORIOWINTA系统总线信号图2-7 最大组态下(PC/XT)的总线形成 n3.8086与8088的不同(1)8088内部数据总线为16位,外部数据总线均为8位;8086是一个真正的16位微处理器,其内部数据处理和外部数据总线均为16位,拥有16位的地址/数据复用总线AD15~AD0。

      在读写存储器或I/O口时,既可访问一个字节也可同时访问两个字节 (2)8086的存储器组织,注意它分为偶、奇两个存储体,即所有的偶地址单元集中于偶存储体,所有的奇地址单元集中于奇存储体偶、奇存储体分别用引脚信号A0=0和BH1=0来选中,其数据线分别连接着AD7~AD0和AD15~AD8在进行“字访问”时,偶地址的字访问可以一次完成,因为要访问的存储体与数据总线是“对齐”的; (3)8088的第34号引脚为SS0(HIGH),8086的对应引脚为BHE/S7,该引脚复用;在T1时输出信号有效时,表示高8位复用总线AD15~AD8将在后续的总线周期(T2~T4)里传送数据,由于仅在T1时出现,所以系统需要对它进行锁存;在T2~T4,该引脚输出状态信号S7,但系统未定义它的功能 应用中,A0=0被用来选通偶存储体,或选通连接D7~D0的I/O端口而BHE=0被用来选通奇存储体、或选通连接D15~D8的I/O端口表2-6列出了8086在进行“字节访问”和“字访问”时和A0这两个信号的输出情况 n(4)在最小组态下,8088选择访问对象的信号为,而8086的对应信号为,前者是为了兼容8085CPU而设计的。

      n(5)8088指令队列长度为4字节,当队列中有一个字节的空缺时,它将自动取址;并且队列中只要有一个指令字节,8088即开始执行指令8086的指令队列长度为6个字节,再出现两个字节的空缺时,它才会自动取址;在队列中有两个指令字节时,才开始执行指令,这是由于8086的数据总线宽度为16位,一次可读取两个字节的缘故 D15~D8D7~D0CS A19~A1奇存储体D7~D0A19~A1BHEA0CS A19~A1偶存储体D7~D0图2-8 8086的存储器组织 操作有效数据A0从偶地址读/写—个字节AD7~AD010从奇地址读/写—个字节ADl5~AD801从偶地址读/写一个字ADl5~AD000从奇地址读/写一个字第—次读/写低8位(于奇地址)AD15~AD801第二次读/写高8位(于偶地址)AD7~AD010表2-6 8086的字节访问与字访问 2.3 8086CPU总线的操作时序n时序是指CPU在操作进行过程中各个环节在时间上的先后顺序指令从存储器读入指令译码器,进行指令译码操作,是在时序的控制下一步一步实现的计算机的一切操作都是在时序控制下进行的 n2.3.1 8088最小模式下的总线时序1.8088CPU最小模式下的总线读周期 图2-9为CPU从存储器或I/O端口读取数据的时序。

      最基本的读操作包含4个状态,即T1、T2、T3和T4当存储器或I/O设备的速度慢于CPU速度时,在T3和T4状态之间插入1个或几个等待状态TW 图图2-9 80882-9 8088最小组态下的读总线周期时序最小组态下的读总线周期时序 n2.8088CPU最小模式下的总线写周期 图2-10为CPU从存储器或I/O端口写入数据的时序和读操作一样,最基本的写操作周期也包含4个T状态,若慢速的存储器或I/O端口来不及接收数据,也是在T3和T4状态之间插入一个或几个等待状态TW 图2-10 8088最小组态下的写总线周期时序 n2.3.2 8088最大模式下的总线时序 如果系统选择了最大组态,许多控制信号将不再由8088直接提供,而改由总线控制器8288提供,也就是说,系统总线将由8088和8288共同形成8088在最大模式下的总线读周期如图2-11所示,总线写周期如图2-12所示 图2-11 8088在最大模式下总线读周期 图2-12 8088在最大模式下的总线写周期 n2.3.3 中断响应操作 中断是由于某种原因要求CPU不再执行现在执行的程序而转去执行申请源所需要的程序。

      申请源称为中断源,转去执行的程序称为中断服务程序执行完中断服务程序后,CPU返回被中断的程序处继续顺序执行程序从CPU中止现行程序转到中断服务程序这一过程为中断响应周期,中断响应周期的时序图如图2-13所示 图2-13 8086中断响应周期的时序图 2.4 PC/XT中的CPU子系统n本节将通过分析PC/XT计算机中的CPU子系统讲解8088的若干支持芯片和电路图2-14为PC/XT中的CPU子系统,除工作于最大组态模式的8088外,还有以下组成部分: (1)时钟发生器82842)总线控制器82883)数值运算协处理器80874)其他外围电路和芯片 n2.4.1 时钟发生和驱动器82841.概述 在PC/XT中,8284外接一个14.31818MHz的石英晶体,为整个系统提供以下支持:(1)向CPU和系统提供4.77MHz的工作时钟CLK882)向I/O端口和I/O通道提供2.38MHz的工作时钟PCLK3)向I/O通道提供经过驱动的14.31818MHz的主振信号OSC4)对外电路输入的复位请求信号进行同步整形处理,并向CPU的RESET引脚输出5)对外电路输入的就绪/等待信号进行同步处理,并向CPU的READY引脚输出。

      当该信号无效时,将在CPU的总线周期中插入TW n2.内部结构和引脚 图2-15所示为8284的内部结构和引脚,其结构分为3个模块n(1)通过内部频率源或外部频率源产生3种时钟信号,分别是不分频的时钟信号OSC、3分频后的时钟信号CLK(占空比1/3)和6分频后的时钟信号PLCK(占空比1/2)n(2)对外电路给出的复位请求进行施密特整形并与CLK同步,输出规整的RESET信号,可直接用于8088和系统的复位n(3)两组就绪输入信号:RDY1、和RDY2、两组信号完全相同,在8284内部形成逻辑或的关系,最后经CLK同步后输出READY信号CPU可以应其中任一路的请求而产生等待nRDY为就绪信号,为地址允许有效,说明允许这一路工作,即允许这一路的RDY信号通过RDY无效时,说明这一路的设备请求CPU等待 n8284的其他引脚如下:nF/C——频率源选择,输入高电平时选择外部频率源,低电平时选择内部频率源,即通过外接晶体产生内部振源nX1、X2、TNK——当使用内部频率源时,Xl、X2用来外接晶体,要求晶体频率为CPU工作频率的3倍,通过晶体和内部振荡电路产生内部频率源TNK为晶振选择引脚。

      nCSYNC——同步控制输入,高电平有效,可用来对多个8284的CLK、PCLK输出进行同步控制使用CSYNC的前提是多个8284接同一外部频率源CSYNC的用法是先令各8284的CSYNC同时有效,造成内部计数器的复位;再令CSYNC同时无效,于是它们将同时开始计数,从而得到同步输出的CLK和PCLK信号 图2-15 8284的引脚与结构 n3.在PC/XT中的使用从图2-15可以看到8284在PC/XT中的连接:(1)8284通过外接14.31818MHz的石英晶体而采用内部频率源,此时、TNK接地,EFI悬空由于不存在多个8284的输出同步问题,所以CSYNC也接地2)8284的复位请求端接在系统电源箱提供的电源就绪信号PWRGOOD上,机器上电后,它将提供50µs宽的低电平信号,经整形同步后输到CPU的RESET端使CPU复位在其他8088系统中,为了同时满足上电复位和按键复位的要求,采用图2-16所示的复位电路需要指出的是,按键复位只需4T宽的负脉冲就能使CPU完成复位,上电复位时需将低电平维持50µs左右 n(3)RDY2接地,AEN2为+5V,均为常无效,于是READY信号将完全取决于RDY1和。

      在图2-14中:nRDY1接在由DMA应答电路提供的输出信号上,后者低电平有效有效时令RDY1无效,DMA操作正在进行,此时的READY无效将使CPU处于等待状态,利用这段时间来完成DMA操作;同时由DMA应答电路提供的信号AENBRD将封锁总线,使之高阻悬浮,从而被DMA所用n接在由等待信号产生电路输出的/WAIT信号上,此信号在正常情况下为低电平,当它为正脉冲或连续高电平时,将无效通过READY无效可请求CPU在总线周期中插入一个或多个等待周期TW +5V8284RESET8088RESET引脚1mF110W560kW复位按钮IOR图2-16 某8088系统的复位电路 2.4.2 总线控制器8288n1.概述n在PC/XT中,8088工作在最大组态模式,系统总线由8088和总线控制器8288共同形成CPU输出的状态编码~经8288译码后输出控制信号,如表2-7所示 、8088工作状态8288输出信号000中断响应001读I/O010写I/O011暂停—100取指令101读存储器110写存储器111过渡状态—表2-7 最小组态下的状态编码 n2.内部结构和引脚8288的内部结构如图2-17所示。

      MRDCMWTCIORCAIOWCIOWCINTAAMWCIOBCLKS1DT/RALEAENMRDCAMWCMWTCGND1 202 193 184 175 166 157 148 139 1210 11VCCS0S2MCE/PDENDENCENINTAIORCAIOWCIOWC控制信号命令信号发生器控制信号发生器控制逻辑状态译码器命令信号DT/RDENMCE/PDENALES0S1S2状态输入控制输入CLKAENCENIOB图2-17 8288的引脚与结构 n下面介绍8288的引脚1)IOB——I/O总线选择,输入,高电平有效有效时,8288工作于I/O总线方式;反之,8288工作于系统总线方式所谓“系统总线”,是指总线被多个总线控制设备共享工作于该方式的8288需要有能力“接通”系统总线,或是与系统总线“隔离”(让其他总线控制设备来控制总线)该方式又分以下两种情况:1)总线上只连有一个处理子系统,但有多个总线控制设备,如处理器、协处理器、DMA控制器等需要使用同一条总线,如图2-18(a)所示。

      PC/XT就是属于这种情况2)总线上连有多个处理器子系统,如图2-18(b)所示这种系统总线称为“多主系统,总线”,简称“多总线” 8259中断控制器8288总线控制器地址锁存器数据收发器8284时钟发生器80898087IOP/FPU80868088CPU中断请求线控制线地址线数据线XRDY系统总线多主局部总线(a)8288管理的系统总线((a))8288管理的系统总线管理的系统总线 8259中断控制器8289总线仲裁器8288总线控制器地址锁存器8284时钟发生器中断请求线控制线地址线数据线XRDY保留总线多主局部总线数据收发器8086/8088CPUXRDY仲裁联络线8089IOP8288总线控制器地址锁存器数据收发器译码器地址线数据线多主系统总线(b)8288管理的多任务系统总线与保留总线 n所谓“I/O总线”,是指由I/O处理器(IOP)8089私自占有的总线,如图2-18(c)所示也就是说,处在“I/O总线”方式下的8288为8089管理其私有总线,由于该总线上的I/O设备均由8089独自占有,不存在共享问题,因此由8288输出的所有I/O命令总是被允许的此时,控制8288是否工作的引脚将不起作用。

      8289总线仲裁器8288总线控制器地址锁存器8284时钟发生器控制线地址线数据线XRDYI/O总线IOP局部总线数据收发器XRDY仲裁联络线8089IOP多主系统总线地址锁存器数据收发器地址线数据线I/O控制线(c)8288管理的多主系统总线和I/O总线 n(2)AEN——地址允许,输入,低电平有效该信号仅在“系统总线”方式下发挥作用,当其有效时,8288可正常输出命令;当其无效或刚开始的一段时间8288的命令输出线将输出高阻,此时8288不工作在“I/O总线”方式下,信号将不起作用,即8288的命令输出总是被允许的n(3)CEN——命令允许,输入,高电平有效当CEN有效时,允许8288输出有效的命令和控制;当CEN无效时,8288的命令和控制线处于无效状态(不是高阻)该引脚可支持8288的以下应用方式:n1)当CPU采用两个8288分别管理它与系统总线和保留总线的接口时,可通过该信号选择其中一个8288工作,这样可有效消除两种设备在地址上的冲突,如图2-18(b)所示n2)如果某个应用系统嫌CPU提供的存储空间太小而不能满足使用需要时,可利用多个8288和它们的CEN引脚实现存储器的扩充和分区。

      n(4)MCE/PDEN——为双功能输出引脚,在“I/O总线”和“系统总线”方式下有不同的功能和应用 在“I/O总线”方式,该引脚定义为外设数据允许,输出信号,低电平有效有效时,表明8089的I/O总线正在传送数据,可用它选通“I/O总线”上的数据驱动器,“系统总线”上的数据驱动器仍由8288的DEN信号反相后选通 在“系统总线”方式,该引脚定义为主设备级联允许MCE,输出信号,高电平有效该信号在中断响应周期中将两次有效,可用于有级联中断控制器的系统此时,主中断控制器8259最多可连接8个从中断控制器,即系统最多可安排64个外中断源 n(5)MRDC、MWTC——存储器读、写命令,输出,低电平有效有效时,通知被选中的存储单元将数据外放到数据总线,负责将数据总线上的数据打入地址指定的存储单元n(6)IORC、IOWC——I/O端口读、写命令,输出,低电平有效有效时,通知被选中的I/O端口将数据外放到数据总线,负责将数据总线上的数据打入地址指定的I/O端口n(7)AMWTC、AIOWC——存储器和I/O端口超前写命令,输出,低电平有效时序上,它们比和分别提前一个时钟周期有效 n(8)——中断响应,输出,低电平有效。

      当CPU响应中断时,CPU和8288将产生两个连续的中断响应周期,期间8288将通过引脚发出两个有效的负脉冲给中断控制器8259An(9)ALE——地址允许,输出,高电平有效该信号在总线周期的T1状态有效,用来锁存复用地址总线上输出的地址n(10)DEN——数据允许,用做输出,高电平有效有效时,表示复用数据总线上正在传送数据该信号用来选通数据总线上的数据收发器n(11)DT/R——发送/接收方向控制,输出,写操作时呈低电平用来控制数据收发器向总线方向或向CPU方向驱动数据 n3.8288在PC/XT中的使用n从图2-18可以看到8288在PC/XT中的连接8288的控制端和CEN分别连接于DMA应答电路产生的信号AENBRD(地址允许)和AEN’(地址允许)上AENBRD信号同时连接到地址锁存器/驱动器的输出控制端需要强调的是,这两个“地址允许”信号同时有效,表明DMA控制器8237产生的地址有效,即总线被DMA控制器8237控制,这时CPU不能使用总线 nAENBRD和AEN’均由DMA应答电路产生当条件···HRQDMA=l被满足时,这两个信号将同时输出有效电平,但AENBRD为高电平有效,’为低电平有效。

      当AENBRD和’同时有效时,8288的和CEN将同时无效,从而使8288停止工作,此时8288的所有命令线将输出高阻由于8288输出的DEN无效为0,反相后封锁了数据驱动器74LS245的端,使系统的数据总线呈现高阻;又由于AENBRD有效封锁了地址锁存器/驱动器的端,使系统的地址总线也呈高阻,从而将CPU与系统总线全面隔离,使总线被DMA所用 2.4.3 数值运算协处理器8087简介 n数值运算协处理器8087是协助8086/8088 CPU进行数值运算的芯片,其主要功能是采用硬件来支持浮点运算,所以它又被称作“浮点运算协处理器(FPU)”n在PC/XT的主板上,已安排有一个8087的插座,用户插入该芯片后即可使用由8087提供的数值运算指令,从而大大提高系统浮点运算的能力如果不选用这个芯片,系统也能进行浮点运算,但需通过软件仿真来进行显然,采用硬件的计算速度要比软件快得多 2.5 80286微处理器n高性能的16位微处理器80286,该芯片的内部集成了约13万个晶体管,以8MHz的时钟进行工作,它有68条引脚,封装成PGA和LCC两种形式.n2.5.1 80286的特点n(1)它有24根地址线,最多可寻址16M字节的实际存储空间和64K的I/O地址空间。

      n(2)其地址总线和数据总线完全分离在一个总线周期中,当有效数据出现在数据总线上的时候,下一个总线周期的地址已始送到地址总线,形成总线周期的流水作业其总线周期基本上由Ts和Tc两个时钟周期组成,明显提高了数据访问的速度n(3)它具有“实地址方式”和“保护虚地址方式”两种工作方式,这两种方式又简称为“实方式”和“保护方式” n(4)在保护方式下,80286的存储管理仍然分段进行,每个逻辑段的最大长度仍为64KB,但增加了许多管理功能,其中最重要的功能就是虚拟存储换句话说,80286的物理存储空间为16MB,但每个任务可使用的逻辑空间却高达1GB在该方式下,那些实际内存储器装不下的逻辑段,将以文件形式存在外存储器中,当处理器需要对它们进行存取操作时就会发生中断,通过中断服务程序把有关的程序或数据从外存储器调入实际内存储器,从而满足程序运行的需要5)在保护方式下,80286提供了以下保护机制,它们由硬件提供支持,一般不会增加指令的执行时间: 对逻辑段的操作属性(可执行、可读、只读、可写)和长度界限(1~64KB)进行检查,禁止错误的段操作 n为不同程序设置了4个特权级别,并提供若干特权级参数,可让不同程序在不同的特权级别上运行(以PL0级别最高)。

      而80286依靠这一机制,可支持系统程序和用户程序的分离,并可进一步分离不同级别的系统程序,大大提高了系统运行的可靠性至于各任务共享的64K I/O空间,可通过标志寄存器中新增的标志位IOPL(2位)为每个任务规定其I/O操作的最大特权级(以IOPL=0级别最高),若当前程序的特权级CPL低于其I/O特权级IOPL时,将禁止现行程序进行I/O操作4级特权级保护结构如图2-20所示 n提供任务间的保护80286为每个任务提供多达0.5GB的局部存储空间(本任务独占的虚拟空间)和0.5GB的全局存储空间(各任务共占的虚拟空间),防止错误的应用任务对其他任务进行不正常的干涉户户核心核心0户户程程序序应应户户操操作作系统系统统统程程序序123图2-20 特权级保护结构示意图 n2.5.2 内部结构n图2-21的80286内部结构由4个功能部件组成,它们是执行部件EU、指令部件IU、总线部件BU和地址部件AU与8086/8088相比,80286的IU和EU基本相当于前者的执行单元EU、而BU和AU基本相当于前者的总线接口单元BIU通过4个部件的并行操作,进一步提高了CPU的工作速度,其系统的整体性能要比5MHz的8086系统高6倍。

      n为了提高浮点运算能力,组成微机系统时可以选用浮点运算协处理器80287配合使用 执行部件(EU)地址部件(AU)段界限校验器偏移量加法300器控制寄存器物理地址加法器段基址段大小ALU3字节已译码指令队列指令译码器地址锁存和驱动器6字节预取队列处理器扩展接口总线控制预取器数据收发器总线部件(BU)指令部件(IU)INTRERRORNMIBUSYRESTCLKVSSVCCCAPA23~A0BHE,M/IOPEACKPEREQREADY,HOLDS1,S0,COD/INTALOCK,HLDAD15~D0图2-21 80286的内部结构 n2.5.3 寄存器结构和指令系统n为了兼容8086,80286必须包容前者的所有寄存器结构和全套的指令系统n1.寄存器结构n80286的寄存器结构如图2-22所示,与8086相比:n(1)其通用寄存器(AX、BX、CX、DX)和地址寄存器(SI、DI、BP、SP、IP)的结构与8086完全相同n(2)其段寄存器(CS、SS、DS、ES)扩展为64位,包括:16位的段选择器域、8位的存取权域、24位的基地址域和16位的段界限域 n在实方式下,只使用其16位的“段选择器域”,用以提供段的基地址(20位),其用法与8086中段寄存器的用法完全相同。

      在保护方式下,4个域全部使用其中,“段选择器域”的用法与8086/8088中段寄存器的用法差别很大;后3个域专为保护方式而设计,合称为“段寄存器高速缓冲器域”或“描述符高速缓冲器域”,它们由系统加以维护,80286中没有访问它们的指令,当生成有效的代码/数据段描述符时,系统会通过硬件自动加载相应的内容 n(3)扩展了4个系统表寄存器,它们是:全局描述符表寄存器GDTR、局部描述符表寄存器、中断描述符表寄存器IDTR和任务状态段寄存器TR其中,LDTR、TR的长度为64位,与段寄存器有着相同的域,GDTR、IDTR的长度为40位,由24位基地址域和16位段界限域构成n(4)状态控制寄存器共3个,即指令指针IP、标志寄存器PSW(新增3个有效位)和新增的机器状态字寄存器 n标志寄存器中新增了两个标志:nNT——任务嵌套标志若NT=1,表示当前执行的是子任务,它嵌套于别的任务中,待执行完毕时应返回原来的任务nIOPL——I/O特权级标志共两位,编码表示4个特权级别,用来指定任务的I/O操作处于4个特权级别的哪一层n新增的机器状态字寄存器只定义了其中的4位:nPE——保护方式允许位当PE=1时,80286进入保护方式。

      除非用硬件复位,否则它不能再被改变nMP——协处理器监督位若MP=1,表明系统中有协处理器80287存在 nEM——仿真协处理器位当MP=0时,若EM=1,表示将由软件来仿真协处理器的操作,此时若80286执行ESC指令,将引起一个中断,由该中断来对80287的操作进行仿真nTS——任务切换位若TS=1,表示当前协处理器处理的内容属于原来的任务n复位后MSW的内容为FFF0H,即80286工作于实方式;在实方式下,用户可通过指令对MSW进行读写,如果将PE置1,可使80286进入保护方式 n2.指令系统n80286的指令系统包含了8086的全套指令、80186扩充的指令和80286扩充的指令它增强了8086的9条指令(PUSH、IMUL、SAL/SHL、SHR、SAR、ROL、ROR、RCL、RCR)的功能;并增加了23条指令,其中有4条指令支持过程处理,有15条指令专用于保护方式 n2.5.4 保护虚地址方式下的存储器寻址n当80286工作在保护虚地址方式时,其存储空间仍采用分段的办法进行管理,每个逻辑段的最大长度为64KB在80286对存储器进行寻址时,其地址的形成类似于8086,即通过24位的段基地址和16位的段内偏移地址相加最终形成24位物理地址。

      其中,段内偏移地址仍通过各种寻址方式来产生,与8086完全相同;但24位段基地址的形成比较特别 在保护虚地址方式,各逻辑段的“基地址”以及该段的“操作特性”通过一个长64位的“描述符”来进行描述描述符中除了提供24位的段基地址外,还提供了该段长度的界限(1~64KB)、该段的访问权限(只读、读写、只执行,该段当前是否驻留实存,以及该段所在特权层等信息)显然,关于逻辑段的寻址和操作,80286比8086提供了更多的信息,在进行存储器操作时,系统必须先获得被操作段的“描述符”,才可继续获得该段的“基地址”、并掌握该段的“操作特性” n当80286工作在保护模式时,各逻辑段的“描述符”被相应地集中在一起,形成被称为“描述符表”的数据结构,系统安排有“全局描述符表(GDT)”和“局部描述符表(LDT)”两张表,两者间有着分工,并分别存放在不同的存储区域 n在长度为64KB的描述符表内,每8个字节可记录一个“描述符”,故总共可记录8192×2个“描述符”n在段寄存器的“段选择器域”(16位)内,又包含3个域,其中两个域用于对段“描述符”进行寻址(如图2-23所示): n为了说明80286在保护虚地址方式下的寻址过程,请看下面的一个图例(如图2-23所示)。

      该图说明了寻址内存操作数的以下途径1.寻址描述符表:TI=1时寻址局部描述符表2.寻址描述符表首址+索引值×83.取目标段的基地址123400H+16位偏移地址1122H4.形成24位物理地址124522H5.取出操作数 123400H13位索引域56HT11×××16位偏移地址1122H1122H3.取自标段的基地址123400H56H×8操作数内存高址方向目标段操作数4.形成24位物理地址124522H150150段寄存器中的选择器域由各种寻址方法形成的有效地址EA虚拟地址局部描述符表描述符8B(共64位)全局描述符表低址方向2.寻址描述符 表首址+索引值×81.寻址描述符表:TI=1时寻址局部描述符表图2-23 80286寻址内存操作数的例子 2.6 80X86高档微处理器n2.6.1 80386微处理器n80386的内部结构如图2-24所示,由中央处理器(CPU)、存储器管理部件(MMU)和总线接口部件(BIU)组成n中央处理器由指令部件和执行部件组成指令部件可以预取指令,且对指令操作码进行译码,并把它们存放在已译码的指令队列里供执行部件使用(省去取指令和译码的时间)。

      执行部件包括8个既可用于数据操作,也可用于地址计算的32位通用寄存器还包括一个64位的桶形移位器,用于加速移位、循环以及乘除法操作,这使典型的32位乘法可在微秒内完成 n存储器管理部件(MMU)由分段部件和分页机构组成分段部件通过提供一个额外的寻址器件对逻辑地址空间进行管理,以实现任务之间的隔离以及指令和数据区的再定位分页机构提供了对物理地址空间的管理,每一页4KB,每一段可以是一页也可以是若干页n存储器是按照段来组织的,每一段的大小都可以达到4KMB一个给定范围的线性地址空间或一个段可以有相应的属性,这些属性包括其位置、大小、类型及其保护特性80386的每一个任务都可以有最多16381个段,每个最大可达4KMB因此,80386为每个任务都提供最大64MMB的虚拟存储器 n为了使应用程序的操作系统相互隔离并各自得到保护,分段部件提供了4级保护这种由硬件实施的保护,使各种系统的设计具有高度的完整性n为了提高浮点运算能力,组成微机系统时可以选用浮点运算协处理器80387配合使用 图2-24 80386内部结构 n2.6.2 80486微处理器n80486内部结构如图2-25所示,其中整数逻辑单元(ALU)、内存逻辑单元(MMU)和指令取出译码单元等都可独立并行工作。

      386由6个单元构成(总线接口、预取指令、指令译码、执行、控制、MMU);486增加了高速缓存和FPU,由8个单元构成,其特点如下n(1)基本指令用硬件逻辑执行,内含128位总线486结构中最重要的特点是提高了指令译码的执行速度,在控制单元中采用一部分硬件控制,同时在高速缓存和预取指令单元之间采用128位总线 n(2)高速缓存和FPU之间用两条32位总线直接相连486中内含相当于387的FPU在387中要用32位总线连接存储器,而486中的FPU浮点寄存器和内含高速缓存用两条32位总线相连这两条总线作为64位的总线使用,可以一次把双精度数据(64位)从高速缓存传送到浮点寄存器,如图2-25所示 图2-25 80486内部结构 2.6.3 Pentium系列微处理器n1.Pentium微处理器n80x86系列微处理器经过8086/8088,80188/80186,80286,80386及80486的不断创新和改进,逐渐确立了在PC领域的主导地位1993年3月推出的新一代的微处理器首次没有用数字来表示产品代号,而使用了Pentium作为该处理器的名字Pentium内部结构如图2-26所示。

      乘法乘法乘法控制寄存器组浮点部件流水线结构8080地址生成(U流水线)地址生成(V流水线)8KB数据超高速缓存控制部件转移目标缓冲器预取缓冲器指令译码 Cache8KB指令超高速缓存控制ROM页面部件总线部件323232323232TLB指令指针预取地址256转移检验目标地址64位数据总线36位地址总线控制16464位读总线64位写总线36位地址总线TLB整数寄存器组ALU(U流水线)ALU(V流水线)滚筒式移位器图2-26 Pentium内部结构 2.Pentium II微处理器n1997年5月推出的新一代Pentium II微处理器采用了P6(Pentium Pro)核心结构,继承了Pentium Pro优异的32位微处理器性能,同时利用MMX技术加强对多媒体的支持,并对16位代码进行了优化nMMX技术的基础是一种称为单指令流多数据流(SIMD)的技术,可以并行处理8个8位数据或4个16位数据或2个32位数据这种并行操作技术和PentiumⅡ的超标量体系结构结合,可以极大地提高处理器的性能MMX技术与已有的操作系统和软件完全兼容,不需要引进新的状态寄存器、控制寄存器和新的条件码。

      除了SIMD以外,MMX技术的先进性还包括拥有积和运算功能和饱和运算功能积和运算用于向量计算和矩阵计算,就是在傅里叶变换和离散余弦变换等频率变换和有限脉冲响应与无限脉冲响应滤波等时域变换中的运算方法饱和运算是在运算发生溢出时使用的处理方法如果运算结果超出最大值,则将此值按最大值处理,低于最小值时按照最小值处理MMX技术新增加了4种数据类型(紧缩字节类型——8个字节打包成一个64位长的数据、紧缩字类型、紧缩双字类型和4字类型)和57条新指令,另外拥有8个64位的MMX寄存器 3.Pentium III微处理器n1999年2月28日推出Pentium Ⅲ微处理器集成了950万到2 800万个晶体管,其结构和PentiumⅡ相似和PentiumⅡ的主要区别如下:n(1)和PentiumⅡ一样采用双独立总线结构,但其前端总线FBS的时钟频率为100MHz特别是采用0.18µm新工艺的Pentium III其前端总线达到133MHz,并将256KB的L2 cache集成到了芯片内虽然,L2 cache的数量减半,但由于它的速度和微处理器的核心速度一样(PentiumⅡ和0.25µm工艺的Pentium III的后端总线频率是核心频率的一半),并且它与核心运算部件的数据通路由64位提高到了256位,因此其性能反而得以提高。

      n(2)Pentium Ⅲ增加了70条流式单指令多数据扩展SSE(Streaming SIMD Extensions)指令和8个128位单精度浮点数寄存器,它保留了57条MMX指令,克服了不能同时处理MMX数据和浮点数据的缺陷,使Pentium Ⅲ在三维图像处理、语音识别和视频实时压缩等方面都有了很大的提高SSE指令包括8条内存连续数据流优先处理指令、50条单指令多数据流浮点运算指令和12条新的多媒体指令高速缓存控制指令通过增加主存到cache和微处理器到主存的数据流,改善存储性能,由此改进了操作系统、网络流量、数据处理、图像、声音和视频等多媒体的处理功能SIMD浮点指令使Pentium III微处理器能同时执行4个浮点操作新增加的多媒体指令和原有的MMX指令配合,有效地增强了多媒体处理能力 n(3)Pentium III首次设置了处理器序号PSN它是一个96位的二进制数,在制造芯片的时候就把它编入到了Pentium III微处理器硅晶片的核心代码中PSN可由软件读取,但不可修改由于针对每一个Pentium III微处理器,PSN都是惟一的,因此它是处理器的标识PSN可用来加强资源跟踪、安全保护和内容管理。

      但PSN也受到美国一些人权组织的指责,认为侵犯了个人隐私权Intel公司采用了灵活的策略,在指令系统中,不仅有读取PSN的指令,还有一个禁止读取的指令同时Intel也和微软以及一些主要的BIOS厂商合作在其软件中增加了关闭PSN的功能 4.Pentium IV微处理器n2000年6月28日Intel公司推出了Pentium4近两年来,Pentium4本身也发展神速,如2000年出品的P4(为叙述方便,以下简称为P4)采用0.18µm(微米)铝制程工艺,芯片的集成度为4200万只晶体管,采用423个引脚的SOCKET(即网栅阵列)包装方式,主频仅有1.4GHz;而今的P4已采用0.13µm铜制程工艺,芯片的集成度达5100万(甚至5500万)只晶体管,采用478个引脚的SOCKET包装方式,主频有2.0GHz,2.2GHz和2.4GHzn(1)采用超级通道技术,又称网络爆发架构(Net Burst)P4虽仍保留两条超标量流水线,但在每条流水线中从原来的5步级(P1)增加到20步级(20 pipeline stage)这种超级通道技术可以支持多种时钟频率,加快指令的执行速度对于主频为2.2GHz的P4,其执行指令的速度已达每秒22亿次。

      n(2)采用快速双倍频的算术逻辑部件(Rapid Execution Engine,Double Pumped ALU),使ALU能在一个时钟的上升沿和下降沿各完成一条算术或逻辑指令,比普通的ALU运算速度提高一倍,如在1.5GHz主频下,P4的ALU执行指令速度相当于3GHzn(3)采用12KB一级追踪缓存和8KB一级数据缓存以及512KB的二级高速缓存(L2 Cache)带宽为128B(即1024b),分成2个64B分别管理,使送入L2 Cache的数据都以64B(即512b)为单位L2 Cache的时钟频率与CPU相同,在主频为1.5GHz的条件下,其数据传输速率高达44.8GB/s n(4)P4支持双倍速率的SDRAM(简称为DDR,Dual Data Rate SDRAM),最大容量为2GB,在400MHz的系统总线频率下(今后将很快升至533MHz),CPU与主存的数据传输速率为6.4GB/sn(5)P4增加了144条新指令集(SSE2,Streaming SIMD extension2,中文名:数据流单指令多数据扩展2)这些指令集把整数和浮点运算的位数都扩充到128b,使运算速度比普通的32b运算快3倍,而且这些指令集主要是为了加速视频、音频和三维处理而专设的。

      2.6.4 安腾微处理器简介n2001年5月,Intel公司推出了Itanium(安腾)服务器芯片安腾处理器是英特尔公司64位产品系列中的第一个成员,它主要是面向高需求的企业和高性能的计算应用安腾处理器的清晰并行指令计算(EPIC)设计,在万亿字节数据处理、高速安全购物和交易及复杂计算处理方面取得了突破性成果n它可使客户以更经济的成本(相比专用技术而言)、获得针对高端64位服务器和工作站的更广泛的平台和应用选择n这些特性能够满足数据通信、存储、分析和安全等日益增长的需求,同时与专有的产品相比,它具有更高的性价比、可扩充性和可靠性应用的领域包括大型数据库、数据挖掘、电子商务安全处理、计算机辅助机械工程及高性能科学计算。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.