80x86CPU的体系结构课件.ppt
《80x86CPU的体系结构课件.ppt》由会员分享,可在线阅读,更多相关《80x86CPU的体系结构课件.ppt(125页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章 80 x86CPU的体系结构 主要内容:主要内容:n n8086/8088 CPU8086/8088 CPU的编程结构的编程结构n n8086/80888086/8088引脚信号及工作模式引脚信号及工作模式n n8086/80888086/8088总线操作时序总线操作时序n n8086/80888086/8088存储器的组织与管理存储器的组织与管理n n多处理器系统多处理器系统n80 x86典型微处理器介绍图 8086/8088CPU引脚信号 一、一、8086/8088 CPU8086/8088 CPU内部编程结构内部编程结构1.功能结构 8086/8088 CPU内内部部结结构构从从
2、功功能能上上可可以以分分为为两两部分:部分:总总线线接接口口单单元元BIU(Bus BIU(Bus Interface Interface Unit)Unit):负负责完成责完成CPUCPU与存储器或与存储器或I/OI/O设备之间的数据传送。设备之间的数据传送。执执行行单单元元EU(Execution EU(Execution Unit)Unit):不不与与系系统统外外部部直接相连,负责译码和执行指令。直接相连,负责译码和执行指令。图 8086CPU基本结构框图 20位执行单元 执行单元EU EU的组成:的组成:16 16位算术逻辑单元 位算术逻辑单元ALU ALU。16 16位标志寄存器 位
3、标志寄存器FLAGS FLAGS。16 16位 位通 通用 用寄 寄存 存器 器组 组:AX AX、BX BX、CX CX、DX DX、SP SP、BP BP、SI SI、DI DI。数据暂存寄存器:暂存数据。数据暂存寄存器:暂存数据。EU EU控 控制 制电 电路 路:是 是控 控制 制、定 定时 时与 与状 状态 态逻 逻辑 辑电 电路 路,接 接收 收从 从BIU BIU中 中指 指令 令队 队列 列取 取来 来的 的指 指令 令,经 经过 过指 指令 令译 译码 码形 形成 成各 各种 种定时控制信号,对 定时控制信号,对EU EU的各个部件实现定时操作。的各个部件实现定时操作。二、8
4、086/8088的内部寄存器 1.通用寄存器 通用寄存器(8个):包括四个数据寄存器AX(AH/AL),BX(BH/BL),CX(CH/CL),DX(DH/DL),两个地址指针寄存器(SP,BP)和两个变址寄存器(SI,DI)。数据寄存器AX、BX、CX、DX 数据寄存器一般用于存放参与运算的操作数或运算结果。每个数据寄存器都是16位的,可将高、低8位分别作为两个独立的8位寄存器来用。高8位分别记作AH、BH、CH、DH,低8位分别记作AL,BL,CL,DL。地址指针寄存器SP、BP SP(Stack Pointer):堆栈指针寄存器。在使用堆栈操作指令(PUSH或POP)对堆栈进行操作时,每
5、执行一次进栈或出栈操作,系统会自动将SP的内容减2或加2,以使其始终指向栈顶,与SS联用。BP(Base Pointer):基址指针寄存器。作为通用寄存器,它可以用来存放数据,但更经常更重要的用途是存放操作数在堆栈段内的基准地址。变址寄存器SI、DI SI(Source Index):源变址寄存器。DI(Destination Index):目的变址寄存器。这两个寄存器通常用在字符串操作时存放操作数的偏移地址,其中SI存放源串在数据段内的偏移地址,DI存放目的串在附加数据段内的偏移地址。CS(Code Segment):代码段寄存器。用来存储程序当前使用的代码段的段地址。CS的内容左移四位再加
6、上指令指针寄存器IP的内容就是下一条要读取的指令在存储器中的20位物理地址。DS(Data Segment):数据段寄存器。用来存放程序当前使用的数据段的段地址。DS的内容左移四位再加上由指令中存储器寻址方式给出的偏移地址即得到对数据段指定单元进行读写的20位物理地址。SS(Stack Segment):堆栈段寄存器。用来存放程序当前所使用的堆栈段的段地址。堆栈是存储器中开辟的按先进后出原则组织的一个特殊存储区,主要用于调用子程序或执行中断服务程序时保护断点和现场。ES(Extra Segment):附加段寄存器。用来存放程序当前使用的附加数据段的段地址。附加数据段常用来存放字符串操作时的目的
7、字符串。图 8086/8088的标志寄存器 状态标志位:6位 CF(Carry Flag):进位标志位。当进行加减运算时,若最高位发生进位或借位则CF=1,否则为0。通常用于判断无符号数运算结果是否超出了计算机所能表示的无符号数的范围。PF(Parity Flag):奇偶标志位。当指令执行结果中含有偶数个1时,PF=1,否则PF=0。AF(Auxiliary Flag):辅助进位标志位。当执行加法或减法运算指令时,低半部分向高半部分有进位或借位,则AF=1,否则为0。控制标志位:3位 位 用来控制CPU的操作,由程序设置或清除。它们是:TF(Trap Flag):跟踪(陷阱)标志位。为测试程序
8、的方便而设置。若将TF置1,则CPU处于单步工作方式,每执行一条指令,自动产生一次单步中断,可使用户逐条检查指令执行结果;若TF=0,则程序正常运行。IF(Interrupt Enable Flag):中断允许标志位。是用来控制可屏蔽中断的标志位。若IF=1,表示允许CPU响应外部从INTR引脚上发来的可屏蔽中断请求;若IF=0,则禁止CPU响应可屏蔽中断请求信号。IF的状态对非屏蔽中断和内部中断没有影响。DF(Direction Flag):方向标志位。若将DF置1,则串处理指令操作后使变址寄存器SI和DI递减;若将DF置0,则串处理指令操作后使变址寄存器SI和DI递增。一、8086/808
9、8的引脚信号 8086与8088 CPU内部结构基本相同,外部采用40条引脚的双列直插式封装,如下图所示引脚信号。8086/8088 CPU具有两种工作模式:最小模式和最大模式,8条引脚(2431脚)在两种工作模式中具有不同的功能。2.2 8086/8088引脚信号及工作模式 图 8086/8088CPU引脚信号 8086是Intel系列的16位微处理器,采用N沟道、耗尽型的硅栅工艺(HMOS)制造,内部包含约29000个晶体管。8086有40条引脚,有16根数据线和20根地址线,可寻址的地址空间为220即1MB。时钟频率:8086为5MHz,8086-2为8MHz,8086-1为10MHz。
10、8088一种准16位微处理器,推出8088的主要目的是为了与当时已有的一整套Intel外围接口芯片直接兼容使用。8088的内部寄存器、内部运算部件以及内部操作与8086基本相同,但外部性能有区别。8086的外部数据总线是16位的,但8088外部的数据总线是8位的。2.1 8086/8088 CPU的编程结构 1.各引脚功能(1)地址/数据总线AD15AD0(Address Data Bus)分时复用的地址数据线。传输地址时三态输出,传输数据时可双向三态输入/输出。(2)地址/状态线A19/S6A16/S3(Address/Status)分时复用的地址状态线,三态输出。在总线周期的T1状态作为地
11、址总线的高4位,A19A16与AD15AD0一起构成访问存储器的20位物理地址,当CPU访问I/O端口时,A19A16保持为“0”;在总线周期的其它时间作为状态线用,S6S3用来输出状态信息,其中:S4和S3用于表示当前使用的段寄存器,如下表所示。对I/O端口或中断矢量寻址时,不需要使用段寄存器。S5用来表示中断标志位状态。当IF1时,S5置“1”,表示CPU可以响应可屏蔽中断,否则置为“0”,表示CPU禁止一切可屏蔽中断;S6恒保持为“0”。(3)/S7(Bus High Enable/Status)高8位数据总线有效/状态复用引脚,三态输出。在总线周期的T1状态时输出,S7在T2T4时输出
12、。在8086中,该引脚输出 信号时,表示总线高8位AD15-AD8上的数据有效,在8088中,该引脚被赋予另外的含义。(4)(Read)读控制信号,三态,输出。低电平有效,表示当前CPU正在读存储器或I/O端口。(5)READY信号 准备就绪信号,由外部输入。高电平有效,表示被访问的内存或I/O端口已准备好,CPU可以进行数据传送。当CPU采集到READY为低时,自动插入等待周期Tw,直到READY信号变为高电平后,CPU才脱离等待状态,完成数据传送过程。(6)INTR(Interrupt Request)可屏蔽中断请求信号,由外部输入,高电平有效。INTR有效时,表示外设向CPU提出中断请求
13、。CPU在每条指令的最后一个时钟周期对INTR进行采样,一旦测试到有中断请求,并且当前中断允许标志IF1时,则暂停执行下条指令转入中断响应周期。(7)NMI(Non-Maskable Interrupt Reguest)非屏蔽中断请求信号,由外部输入,上升沿触发,不受IF状态的影响。CPU一旦测试到NMI请求有效,待当前指令执行完就自动从中断入口地址表中找到类型2中断服务程序的入口地址,并转去执行。显然,这是一种比INTR高级的请求。内部寄存器 状态 内部寄存器 状态FLAGS 0000H DS 0000HIP 0000H SS 0000H指令队列 清除ES 0000HCS FFFFH其余寄存
14、器0000H 表 复位后内部寄存器的状态(10)MN/(Minimun/Maximun)工作模式选择信号,由外部输入。MN/为高电平,表示CPU工作在最小模式系统中;低电平时,表示CPU工作在最大模式系统中。(11)CLK(Clock)主时钟信号,由8284时钟发生器输入。8086 CPU可使用的时钟频率随芯片型号不同而不同,8086为5MHz,8086-1为10MHz,8086-2为8MHz。(12)VCC(电源)和地线GND 8086 CPU只需要单一的+5V电源,由VCC输入。地线GND有两条,均应该接地。(1)时钟信号发生器 时钟信号发生器提供系统所需要的时钟信号,有两个来源:一个是F
15、/C为低电平时,由X1、X2引脚间14.31818MHz晶体振荡器信号被8284A作3分频产生4.77MHz时钟信号CLK(占空比为13);另一个是F/C为高电平时,由EFI引脚输入的方波信号被8284A做3分频产生时钟信号。OSC:14.31818MHz晶振信号。外设时钟PCLK:由4.77MHz的CLK再经2分频后产生,频率为2.385MHz(占空比为12)。CSYNC:多个8284工作时的同步信号,为高时,8284内部计数器复位,为低时,8284开始工作,使用晶振时必须接地。(2)复位生成电路 输入信号RES在8284延迟和同步后产生系统复位信号RESET,高电平有效,使系统初始化。(3
16、)设备就绪控制电路 就绪控制电路有两组输入信号,每一组都有允许信号AEN和设备就绪信号RDY,AEN是低电平有效信号,用以控制其对应的RDY信号的有效。这种工作方式用于能保证满足RDY建立时间要求的同步设备中。28282/8283地址锁存器 由于8086/8088 CPU的地址/数据和地址/状态总线是分时复用的,而存储器或I/O接口电路通常要求在与CPU进行数据传输时,在整个总线周期内须保持稳定的地址信息,因而必须在总线周期的第一个时钟周期内将地址锁存起来。8282(不反相)和8283(反相)是适用于8086/8088以及MCS-85等系列微型计算机的8位双极型具有三态输出的锁存缓冲器,可用于
17、缓冲或多路传输。DI0-DI7为8位数据输入端OE为输出允许信号,低电平有效DO0-DO7为8位数据输出端STB为选通信号 38286/8287数据收发器 为提高8086/8088系统数据总线的驱动能力,并提供一种在多主控器系统应用环境下的控制手段,在8086/8088 CPU和系统数据总线之间必须接入数据双向缓冲器,Intel公司提供的8286(不反相)和8287(反相)就是一种具有三态输出的8位双极型数据收发器,具有很强的总线驱动能力。A0-A7为A组8根数据线B0-B7为B组8根数据线OE为门控端,低电平时有效,可以传输数据T为方向控制端,高电平时数据由A组送B组,低电平时由B组送A组(
18、二)最小模式 当处理器的 引脚在+5V时,系统工作于最小模式,即单处理器模式,它适合较小规模的应用。如下为一种典型的最小模式系统配置及引脚信号含义。(1)(Interrupt Acknowledge)中断响应信号,向外部输出,低电平有效,表示CPU响应了外部发来的INTR信号,在中断响应周期,可用来作为读选通信号。(2)ALE(Address Latch Enable)地址锁存允许信号,向外部输出,高电平有效,该信号是8086/8088提供给地址锁存器(如:8282/8283)的控制信号。(3)SSO(System Status Output)系统状态信号,输出,低电平有效,只用于8088。(
19、4)(Write)写控制信号,三态,输出。低电平有效,表示当前CPU正在写存储器或I/O端口。(5)M/IO(Memory/Input Output)存储器或I/O端口访问信号,三态输出。高电平时表示当前CPU正在访问存储器;低电平时,表示CPU正在访问I/O端口,8088中该引脚为IO/M。(6)HLDA(Hold Acknowlege)总线保持响应信号,向外部输出,高电平有效。当CPU接收到HOLD信号后,就在当前总线周期结束时,使HLDA有效,表示响应这一总线请求,并立即让出总线使用权。CPU中的EU可继续工作到下一次要求使用总线为止,一直到HOLD无效,CPU才将HLDA置成无效,并收
20、回对总线的使用权,继续操作。(7)DT/(Data Transmit/Receive)数据发送/接收控制信号,三态输出。该信号用来控制数据总线收发器(如:8286/8287)的数据传输方向。为高电平时,CPU向内存或I/O端口发送数据;为低电平时,CPU从内存或I/O端口接收数据。在DMA操作时被置为高阻态。(8)(Data Enable)数据允许信号,三态输出,低电平有效。在最小模式系统中用来作为数据收发器8286/8287的选通信号。有效时,表示CPU当前准备发送或接收数据。在DMA操作时被置为高阻态。(9)HOLD(Hold Request)总线请求信号,由外部输入,高电平有效。在最小模
21、式系统中表示有其他共享总线的主控者向CPU请求使用总线。(三)最大模式 1.系统配置及相关引脚信号 当处理器的 引脚接地时,系统工作于最大模式,它适合较大规模的应用。如下为一种典型的最大模式系统配置及相关引脚信号含义。最大模式和最小模式的主要区别是外加有8288总线控制器。最小模式下,控制总线直接从8086/8088得到,最大模式下,通过8288对CPU发出的控制信号进行变换和组合,以得到对存储体和I/O端口的读写信号和对锁存器8282及数据总线收发器8286的控制信号,使得总线控制功能更加完善。最大模式是多处理机模式,需要协调主处理体和协处理器的工作问题及对总线的共享控制问题。(1)S2、S
22、1、S0(Bus Cycle Status)总线周期状态信号,输出,低电平有效,连接到总线控制器8288的输入端,8288对这些信号进行译码后产生内存及I/O端口的读写控制信号。下表为这三个状态信号的代码组合使、对应的操作及8288产生的控制信号。(2)LOCK(Lock)引脚29,总线封锁信号,输出。当LOCK为低电平时,系统中其他总线设备不能获得系统总线的控制权而占有总线。LOCK信号由指令LOCK产生,LOCK指令后面的一条指令执行完后,便撤消了LOCK信号。另外,在DMA期间,LOCK被浮空而处于高阻状态。(3)RQ/GT1、RQ/GT0(Request/Grant)总线请求信号输入/
23、总线请求允许信号输出。这两个信号可供8086/8088以外的2个总线主设备向8086/8088发出使用总线的请求信号RQ(相当于最小方式时的HOLD信号)。而8086/8088在现行总线周期结束后让出总线,发出总线请求允许信号GT(相当于最小方式的HLDA信号),此时,外部总线主设备便获得了总线的控制权。其中RQ/GT0比RQ/GT1的优先级高。(4)QS1、QS0(Instruction Queue Status)指令队列状态信号,输出。QS1、QS0两个信号电平的不同组合指明了指令队列的状态,其代码组合对应的含义如下表所示。QS1 QS0 含 义0 0 无操作0 1从指令队列的第一字节中取
24、走代码1 0 队列为空1 1除第一字节外,还取走了后续字节中的代码 2.最大模式下系统总线的构成(1)8288总线控制器 当8086/8088 CPU工作于最大模式时,不直接产生总线控制信号,而是在每个总线周期开始之前输出状态信息和用于指示该总线周期的操作类型。8288总线控制器对总线状态信息进行译码,产生所需要的总线命令信号和控制信号。总线控制器 由8288总线控制器参与构成的工作于最大方式的单处理器总线如下图所示:如果希望在一个系统中能包含多个共享总线的主控者,那么必须在系统中增设总线仲裁器8289。(2)总线仲裁器8289 总线仲裁器8289与总线控制器8288配合,将8086/8088
25、 CPU与8089IOP、8087NDP等主控者连接到总线上,构成多主控的微机系统。每一个主控者必须配备一个8288总线控制器和一个8289总线仲裁器。8289对主控者是透明的,对于任何一个主控者来说,都好像自己独占总线一样。当有多个主控者同时要求使用总线时,由8289总线仲裁器进行仲裁将使用权赋给优先级别高的主控者。一、指令周期、总线周期和T状态 指令周期(Instruction Cycle):指CPU从取指令到指令执行完毕所需要的时间,指令周期可以划分为一个个的总线周期。总线周期(Bus Cycle):指CPU从存储器或I/O端口存取一个字节所需要的时间。按照数据的传送方向来分,总线周期可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 80 x86CPU 体系结构 课件
限制150内