版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 微型处理器与总线2.1 微处理器概述 微处理器是计算机的核心部件,具有下面几个特点:能够进行算术运算和逻辑运算;能对指令进行译码,寄存并执行指令所规定的操作具有与存储器和I/O接口进行数据通信的能力少量数据的暂存能够提供系统所需要的定时和控制信号能够响应输入输出设备发出的中断请求 人们常说的16位机,32位机是表示计算机中微处理器内部数据总线的宽度-CPU可以同时操作的二进制码的位数。现在的CPU都是32位的。一、运算器运算器的组成算术逻辑单元:它的内部包括加、减、乘、除运算的加法器,及实现与、或、非、异或等逻辑运算功能的部件。通用或专用寄存器组:提供操作数和暂存中间运算结果及结特征;
2、内部总线:用于传送数据和指令运算器的结构按内部总线数量不同分为:1、单总线结构运算器寄存器组ABALU所有部件通过一条内部总线传递信息,任何时刻只有一组数据从源部件传送到目标部件。当要进行一次双操作数的运算时,首先通过总线将第一个操作数放入锁存器A或B中,然后现通过总线传送另一个操作数到另一个锁存器中,之后进入ALU进行运算。运算结果再通过总线送到内部通用寄存器。特点:结构简单,但速度比较慢。2、双总线结构运算器寄存器组缓冲区BUSBUSALU双总线结构在运算器内部用两条总线来传送数据,参加运算的操作数可以同时通过两条总线送到ALU进行运算,运算结果经缓冲器再通过任意一条总线送到通用寄存器。特
3、点:运算速度比单总线结构要快。3、三总线结构运算器寄存器组旁路器BUSALU它用两条总线来传送操作数,一条专门用于传送运算结果。特点:只要ALU运算速度足够快,全部操作可一步完成。二、控制器控制器的作用:控制程序的执行,必须具备以下几处功能1、完成指令控制 指令在存储器中是连续存放的,一般情况下,指令被按照顺序一条条取出执行,只有在碰到转移指令时才会改变顺序。控制器要能根据指令所在的地址按顺序或在遇到转移指令时按照转移地址取出指令,分析指令,传送必要的操作数,并在指令执行结束后存放运算结果。2、实现时序控制 指令的执行是在时钟信号的控制下进行的。一条指令的执行时间为指令周期。不同的指令周期中所
4、包含的机器周期数是不相同的。而一个机器周期中包含多少节拍也是不一样的。时序信号由控制器产生,使系统按一定的时序关系进行工作。3、完成操作控制、根据指令流程,确定在指令周期的各个节拍中要产生的微操作控制信号,以有效地完成各条指令的操作过程。、还要对异常情况及某些外部请求的处理能力。控制器的组成:程序计数器PC:用来存放下一条要执行的指令在存储器中的地址指令寄存器IR:用来存放从存储器中取出的待执行的指令。指令译码器ID:对指令寄存器中的指令进行“翻译”以确定进行什么操作;时序控制器:产生计算机工作中所要的各种时序信号;微操作控制部件:用于产生与各条指令相对应的微操作。一条指令的功能是通过按一定次
5、序执行一系列基本操作完成的。微操作控制指令译码指令寄存器地址加法器程序计数器时序逻辑自存储器至存储器各部件微操作控制信号:控制器结构示意图核心部件2.2 8088/8086微处理器主要内容:1.8088CPU外部引线及功能;2.8088CPU的内部结构和特点;3.各内部寄存器的功能;4.8088的工作时序概述 8088、8086基本类似16位CPU、AB宽度20位差别:1.指令预取队列:8088为4字节,8086为6字节2.数据总线引脚:8088有8根,8086有16根3.控制线引脚: 8088为IO/M,而8086为M/IO8088为准16位CPU,内部DB为16位,但外部仅为8位,16位数
6、据要分两次传送本课程主要介绍8088(IBM PC采用)一.8088/8086 CPU的特点1、采用并行流水线工作方式2、对内存空间实行分段管理:每段大小为16B64KB用段地址和段内偏移实现对1MB空间的寻址设置地址段寄存器指示段的首地址3、支持多处理器系统(最大模式);指令的一般执行过程: 取指令 指令译码 读取操作数 执行指令 存放结果1.8088/8086的指令流水线串行和并行方式的指令流水线:串行工作方式: BIU(总线接口单元)和EU(执行单元)交替工作,按顺序完成上述指令执行过程;并行工作方式: BIU和EU可同时工作。串行工作方式:8088以前的CPU采用串行工作方式:1) C
7、PU访问存储器(存取数据或指令)时要等待总线操作的完成 2) CPU执行指令时总线处于空闲状态 缺点:CPU无法全速运行 解决:总线空闲时预取指令,使CPU需要指令时能立刻得到取指令1执行1取操作数2执行2CPUBUS忙碌忙碌忙碌忙碌存结果1取指令2取指令和执行指令示意图(1)8位CPU(如8080)tt忙忙忙总线BUSCPU取指1分析指令1执行指令1取指2分析指令2执行指令2取指3分析指令3执行指令3将指令的执行过程简化为三步,并设这三步所要的时间完全相等都是执行n条指令所要的时间为: 若不考虑取操作数和写结果,将指令的执行过程可简化为三步,并设这三步所要的时间完全相等,都为 ,采用顺序执行
8、方式执行n条指令所要的时间为并行工作方式:8088CPU采用并行工作方式忙碌并行执行n条指令所要的时间为:取指令2取操作数BIU存结果取指令3取操作数取指令4执行1执行2执行3 EUBUS忙碌忙碌忙碌忙碌忙碌 CPU忙碌8088/8086的流水线操作1.8088 CPU包括两大部分:EU(执行单元)和BIU(总线接口单元)、BIU不断地从存储器取指令送入IPQ(指令预取列队),EU不断地从IPQ取出指令执行、EU和BIU构成了一个简单的2工位流水线、指令预取队列IPQ是实现流水线操作的关键(类似于工厂流水线的传送带)2.新型CPU将一条指令划分成更多的阶段,以便可以同时执行更多的指令例如,PI
9、II为14个阶段,P4为20个阶段(超级流水线)结论指令预取队列IPQ的作用: 使EU和BIU两个部分可同时进行工作,从而带来了以下两个好处:1、提高了CPU的效率2、降低了对存储器存取速度的要求2.内存的分段管理技术 8088的CPU的内部结构都是16位的,内部总线只能传送16位二进制码。如果用二进制码表示地址,8088就只能产生64K个地址。 为了提高系统的执行速度,8088将内存空间分为多个逻辑段,每个逻辑段最大为64K个单元,段内每个单元的地址码(偏移地址)长度为16位。再为每个段设置段地址(段基地址),以区分不同的逻辑段。 8088CPU内部具有专门存放段地址的段寄存器和存放偏移地址
10、的地址寄存器,将两类不同寄存器的内容送入地址加法器合成,形成了指向内存某一具体单元的地址(物理地址)3.支持多处理器系统 8088具有最小和最大两种工作模式及内置的多任务处理能力,可通过模式选择引脚进行选择。 最小模式也称为单处理器模式。此时CPU仅支持由少量设备组成的单处理机系统而不支持多处理器结构。系统控制总线的信号由8088CPU直接产生,且构成的系统不能进行DMA(直接存储器存取)传送。 最大模式也称多处理模式,此时CPU能支持系统总线上的多个处理器,由总线控制器提供所有总线控制信号和命令信号。二、8088 CPU的引线及功能40引脚定义方法可大致分为:每个引脚只传送一种信息(RD等)
11、;引脚电平的高低不同的信号(IO/M等); CPU工作于不同方式有不同的名称和定义(WR/LOCK 等);分时复用引脚(AD7 AD0 等) ;引脚的输入和输出分别传送不同的信息(RQ/GT等)。地址/数据线地址/状态线非屏蔽中断可屏蔽中断请求最小最大模式控制MN/MX=1,最小模式MN/MX=0,最大模式读信号总线保持请求信号总线保持相应信号写信号存储器/IO控制信号M/IO=1,选中存储器M/IO=0,选中IO接口数据发送/接收信号DT/R=1,发送DT/R=0,接收数据允许信号地址允许信号中断响应信号测试信号:执行WAIT指令,CPU处于空转等待; TEST有效时,结束等待状态。准备好信
12、号:表示内存或I/O设备准备好,可以进行数据传输。复位信号8086CPU引脚功能地址状态复用引脚地址/数据线非屏蔽中断可屏蔽中断请求最小最大模式控制MN/MX=1,最小模式MN/MX=0,最大模式读信号总线保持请求信号写信号存储器/IO控制信号M/IO=1,选中存储器M/IO=0,选中IO接口数据允许信号测试信号:执行WAIT指令,CPU处于空转等待; TEST有效时,结束等待状态。准备好信号:表示内存或I/O设备准备好,可以进行数据传输。复位信号地址状态复用引脚地址允许信号1、主要引线(最小模式下)8088是工作在最小还是最大模式由MN/MX端状态决定:MN/MX=0时工作于最大模式,反之工
13、作于最小模式。数据信号线(DB)与地址信号线(AB):AD7AD0:地址、数据分时复用的双向信号线,三态。当ALE=1有效时为地址的低8位。当(数据允许信号)DEN=0时,传送数据信号,此时为双向。 A19A16:地址、状态复用引脚,三态输出。在某一时刻输出高4位地址信号,另外时刻,送出状态信号S6-S3分时复用。S6恒等于0,S5为指示中断允许标志IF状态,S4,S3组合指示CPU当前正使用的段寄存器。如表2-1。 A15A8 :中8位地址信号,三态输出。CPU寻址内存或接口时,输出中8位地址信号。主要的控制(CB)和状态信号WR: 三态,输出。写命令信号,低电平有效; RD: 三态,输出。
14、读命令信号,低电平有效; IO/M:三态,输出。指出当前访问的是存储器还是I/O接口。高电平:I/O接口,低电平:内存 DEN:三态,输出。数据允许信号,低电平时,表示DB上的数据有效; RESET:输入,系统复位输入信号;为高时,CPU执行复位;复位后CPU内部寄存器状态如表2-3。 ALE: 三态,输出,地址锁存信号。高:AB地址有效; DT/ R:三态,输出。数据传送方向控制信号,高:CPU输出, 低:CPU输入。例: 当WR=1,RD=0,IO/M=0时,表示CPU当前正在进行读存储器操作。READY信号(输入):用于协调CPU与存储器、I/O接口之间的速度差异READY信号由存储器或
15、I/O接口发出。它是高电平有效。READY=0时,CPU就在T3后插入TW周期,插入的TW个数取决于READY何时变为高电平。中断请求和响应信号INTR:输入,可屏蔽中断请求输入端。 高电平:有INTR中断请求 NMI:输入,非屏蔽中断请求输入端。 低高(上升沿),有NMI中断请求 INTA:中断响应输出,对INTR信号的响应。总线保持信号 HOLD:输入总线保持请求信号输入端。当CPU以外的其他设备(如DMA)要求占用总线时,通过该引脚向CPU发出请求。 HLDA:总线保持响应信号输出,对HOLD信号的响应。为高电平时,表示CPU已放弃总线控制权,所有三态信号线如读、写信号线,地址信号等均变
16、为高阻状态。2、最大模式下的引脚1)、总线周期状态信号输出S2,S1,S0指出当前总线周期操作的类型,低电平有效。如,中断响应、读写存贮器或IO端口等。此信号送至总线控制器8288,以产生相应的总线控制信号。2)、总线请求/总线响应信号RQ/GT1,RQ/GT0提供2路其他主控设备发出总线请求信号和CPU的响应信号。当其它设备的总线控制设备要使用系统总线时,产生一个总线请求信号,并送到RQ/GT引脚,类似最小模式下的HOLD信号。CPU检测到请求后,在下一个T4或T1期间在RQ/GT送出一个总线响应信号。4、指令队列状态信号输出QS1,QS0提供当前的指令队列状态。QS1 QS0 含义0 0
17、无操作0 1 取走指令第1字节代码1 0 队列空(取完)1 1 取走指令后续字节代码3、总线封锁信号输出LOCK当LOCK=0(有效)时,CPU封锁总线不允许其他总线部件占用总线。三、8088CPU的功能结构8088内部由两部分组成: 执行单元(EU)总线接口单元(BIU)CXAXDXFLAGS暂存寄存器ALUSPDIBHBLAHALDHCHCLDLBPSIEU控制部件1234总线控制逻辑SS内部通信寄存器ESDSCSIP地址加法器BX通用寄存器组ALU数据总线16位指令列队地址总线20位数据总线16位8080总线8位Q总线1.8088CPU内部结构EUBIU执行单元EU功能: 执行指令 从指
18、令队列中取指令代码 译码 在ALU中完成数据的运算 运算结果的特征保存在标志寄存器FLAGS中。执行单元EU包括 算术逻辑单元(运算器ALU) 8个通用寄存器(通用Regs) 1个标志寄存器(Flags) EU部分控制电路(部分CU)总线接口单元BIU功能:1、从内存中取指令送入指令预取队列IPQ2、负责与内存或输入/输出接口之间的数据传送 在执行转移程序时,BIU使指令预取队列IPQ复位,从指定的新地址取指令,并立即传给执行单元执行。总线接口单元BIU的组成 段寄存器 指令指针寄存器 指令队列 地址加法器 总线控制逻辑2.8088的内部寄存器含14个16位寄存器,按功能可分为三类 8个通用寄
19、存器(通用Regs) 4个段寄存器 (Seg Regs) 2个控制寄存器(Con Regs)专用Regs通用寄存器(通用Regs) 数据寄存器(AX,BX,CX,DX)地址指针寄存器(SP,BP)变址寄存器(SI,DI)数据寄存器 8088含4个16位数据寄存器,它们又可分为8个8位寄存器,即: AX AH,AL BX BH,BL CX CH,CL DX DH,DL作用: 常用来存放参与运算的操作数或运算结果数据寄存器特有的习惯用法 AX:累加器。多用于存放中间运算结果; 所有I/O指令必须都通过AX 与接口传送信息. BX:基址寄存器。在间接寻址中用于存放基地址; CX:计数寄存器。用于在循
20、环或串操作指令中存放 循环次数或重复次数. DX:数据寄存器。在32位乘除法运算时存放高16位数; 在间接寻址的I/O指令中存放I/O端口地址。地址指针寄存器SP:堆栈指针寄存器. 其内容为栈顶的偏移地址;BP:基址指针寄存器. 常用于在访问内存时存放内存单元的偏移地址。BX与BP在应用上的区别相同点: 作为通用寄存器, 二者均可用于存放数据;不同点: 作为基址寄存器, BX通常用于寻址数据段; BP通常用于寻址堆栈段。BX一般与DS或ES搭配使用; BP一般与SS拾配.注:间接寻址时 仅BX、BP、SI、DI可用于存储器寻址; 仅DX可用于I/O寻址。变址寄存器SI:源变址寄存器DI:目标变
21、址寄存器作用: 变址寄存器常用于指令的间接寻址或变址寻址。 特别是在串操作指令中,用SI存放源操作数的偏移地址,而用DI存放目标操作数的偏移地址。段寄存器(专用Seg Regs ) 作用: 用于存放逻辑段的段基地址 (逻辑段的概念后面将要介绍) CS:代码段寄存器 代码段用于存放指令代码 DS:数据段寄存器 ES:附加段寄存器 数据段和附加段用来存放操作数 SS:堆栈段寄存器 堆栈段用于存放返回地址,保存寄存器内容,传递参数数据段DS/ES代码段CS堆栈段SS控制寄存器(专用Con Regs )IP:指令指针寄存器,其内容为下一条 要执行的指令的偏移地址FLAGS:标志寄存器状态标志:存放运算
22、结果的特征 6个状态标志位(CF,SF,AF,PF,OF,ZF)控制标志:控制某些特殊操作 3个控制标志位(IF,TF,DF)ODITSZAPC1502467891011FLAGS四、存储器的寻址物理地址8088:20根地址线,可寻址220=1MB个存储单元CPU送到AB上的20位的地址称为物理地址 物理地址物理地址.60000H 60001H 60002H 60003H 60004H.12HF0H1BH08H存储器的操作完全基于物理地址。问题:8088的内部总线和内部寄存器均为16位,如何生成20位地址?解决:存储器分段存储器分段高地址低地址段基址段基址段基址段基址最大64KB,最小16B段
23、i-1段i段i+1逻辑地址段基地址和段内偏移组成了逻辑地址 段地址 偏移地址(偏移量) 格式为:段地址:偏移地址 物理地址=段基地址16+偏移地址60002H00H12H60000H0 0 0 0段基地址(16位)段首地址 偏移地址=0002HBIU中的地址加法器用来实现逻辑地址到物理地址的变换8088 可同时访问4个段,4个段寄存器中的内容指示了每个段的基地址段基址段内偏移物理地址+16位20位0000默认段和偏移寄存器8086规定了访问存储器段的规则:此规则定义了段地址寄存器和偏移地址寄存器的组合方式,其默认规则如下表:段地址默认偏移地址用于访问CSIP指令SSSP、BP堆栈中的数据DSB
24、X、DI、SI、8位或16位数数据段中的数据ES串指令的DI目标串操作数已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H, DS段有一操作数,其偏移地址=0204H, 1)画出各段在内存中的分布 2)指出各段首地址 3)该操作数的物理地址=?10550H250A0H2EF00H8FF00HCSSS CSDSES解: 各段分布及段首址见右图所示。 操作数的物理地址为: 250AH16H+0204H = 252A4H这个例子说明:段与段可以不连续 段之间可以重叠堆栈及堆栈段的使用操作规则: 内存中一个按FILO方式(先进后出)操 作的特殊区域。两种操作: 每次压栈和退栈均
25、以WORD(16位)为 单位,先进高位,再入栈低8位。操作指示: SS存放堆栈段地址,SP存放段内偏 移,SS:SP构成了堆栈指针。作用: 堆栈用于存放返回地址、过程参数或需要 保护的数据; 常用于响应中断或子程序调用。堆栈操作示例SPSSSS压栈前退栈后高低低高高12HSSF0HSP压栈后低高SPSPSPF0H12HSP例:(1)若已知(SS)=1000H(SP)=2000H 则堆栈段的段首地址=?栈顶地址=?(2)若现在把1234H送入堆栈,则它所在的存储单元地址=?(3)若该段最后一个单元地址为12FFFH,则栈底地址=?段首栈底栈顶堆栈段解:(1)段首地址=10000H, 栈顶地址=1
26、0000+2000=12000H(2)低8位数据34H在11FFEH地址中, 而高8位数据12H在11FFFH中 (3)栈底地址=13000H12H34H五、8088CPU的工作时序时序的概念:CPU各引脚信号在时间上的关系。时钟周期:每个时钟脉冲的持续时间成为一个时钟周期,用Ti表示,由时钟发生器产生,是CPU工作的基本时间单位。PC/XT时钟频率4.77MHz,时钟周期是210ns。总线周期:CPU完成一次访问内存(或接口)操作所需要的时间。8088执行存储器读或存储器写操作需用4个时钟周期。 8088的总线周期由4个时钟周期组成,称为T1、T2、T3、T4状态; 指令周期P:由若干个总线
27、周期组成。是从取指令开始到指令执行完毕所需要的时间。一个总线周期时钟发生器RES8284CLKRESET8088IO/MRDWRALEA19A16A15A8+5VMN/MX 一个典型的总线周期T1T2T3T4地址输出状态输出地址输出地址输出数据输入低电平=读存储器,高电平=读I/O接口CLKA19S6A16S3A15A8AD7AD0ALEIO/MDT/RDEN图 2-11 8088读总线周期RDT1T2T3T4低电平,CPU从存储器或接口读数据一个总线周期地址输出状态输出地址输出地址输出数据输入低电平=写存储器,高电平=写I/O接口T1T2T3T4CLKA19S6A16S3A15A8AD7AD
28、0ALEIO/MWRDT/RDEN一个总线周期地址输出状态输出地址输出地址输出数据输入低电平=写存储器,高电平=写I/O接口T1T2T3T4CLKA19S6A16S3A15A8AD7AD0ALEIO/MWRDT/RDEN图 2-12 8088写总线周期利用READY信号,使CPU达到可靠地读写内存和I/O接口的目的 2.3 80386微处理器 80386是32位微处理器, 分为80386SX 和80386DX两种型号。80386DX是标准32位微处理器,80386SX是“准32位”微处理器。80386有以下特点: 80386由6个逻辑单元组成,按流水线方式工作,运行速度4MIPS,与CPU之间
29、的数据传输速度为32MB/S。多任务处理更容易,硬件支持多任务。硬件支持段式管理和页式管理,易于实现虚拟存储系统。 硬件支持DEBUG功能,并可设置数据断点和ROM断点。 4级特权级别:0级的优先级最高,其次为1、2、3级。 具有自动总线功能,CPU读/写数据的宽度可以在32位和16位之间自由进行转换。 地址信号线扩充到32根,可以寻址4GB空间。 采用高性能协处理器80387,具备了很强的浮点运算能力和很高的运算速度。 在每条指令执行期间,CPU需要进行类型、内存越界等保护特性检查。 80386的逻辑部件: 80386内部分为三大部分:总线接口部件、中央处理部件和存储器管理部件。中央处理部件
30、又分成指令预取部件、指令译码部件和指令执行部件。1总线接口部件80386的总线接口部件BIU的作用和8086的BIU基本相同,控制进出CPU的所有数据、地址及控制信号。BIU中含有16字节指令预取队列。总线周期仅为2个时钟周期。2中央处理部件(1)指令预取部件 指令预取部件包括16字节的预取队列寄存器,可存放5条左右的指令。 指令代码预取不再由BIU负责,而是由一个独立的指令预取部件完成。当预取队列有空单元或发生一次控制转移时,预取部件便通过分页部件向BIU发出指令预取请求。分页部件将预取指令指针送出的线性地址变为物理地址,再由BIU及系统总线从内存单元中预取指令代码,放入预取队列中。(2)指
31、令译码部件 80386采用微程序控制技术,指令的执行过程实际是通过执行由微指令组成的微程序来实现的。所有指令对应的微程序存放在其内部的控制存储器中。指令译码部件从BIU的指令预取队列中取指令,将操作码译成与该指令操作码相对应的控制ROM的入口地址,存入译码指令队列中。该队列可容纳3条已译码指令。(3)执行部件 该部件从译码指令队列中取出已译码指令并执行完成所规定的操作。3存储器管理部件(MMU)存储器管理部件MMU(Memory Management Unit)分为分段部件和分页部件。其中分段部件用来实现逻辑地址到线性地址的转换,分页部件用来实现线性地址到物理地址的转换。若分页部件处于允许状态
32、,则分页部件在操作系统的控制下,便产生线性地址到物理地址的转换;若分页部件处于禁止状态,线性地址即为物理地址。 480386指令流水线总线接口部件、指令预取部件、指令译码部件和存储器管理部件构成了80386CPU指令流水线。2.3.4 80386内部寄存器80386寄存器组是8086寄存器组的超集。除了将原有寄存器扩展为32位外,还增加了许多新的寄存器,同时对段寄存器作了较大变动。原8086寄存器组16位扩展为32位寄存器新增寄存器指令指针标志寄存器段寄存器通用寄存器控制寄存器系统段寄存器系统地址寄存器80386微处理器的寄存器结构1通用寄存器组80386的通用寄存器为EAX、EBX、ECX、
33、EDX、ESI、EDI、EBP及ESP。其低16位AX、BX、CX、DX、SI、DI、BP、SP可单独使用,AX、BX、CX、DX的高、低8位也可以单独使用。2段寄存器80386增加了FS和GS两个新的段寄存器,在非实模式下段寄存器内容不再是段的基地址,而是指向全局与局部描述符表的段选择子。在80386微机系统中编程,必须在存储器中建立四种系统表:(1)GDT全局描述符表共1个;(2)局部描述符表若干个;(3)IDT中断描述符表共1个;(4)TSS任务状态段若干个。描述符表描述符表分为全局描述符表GDT和局部描述符表LDT,容量64KB。存有若干种描述符,段描述符由8个字节组成,用来描述段的基
34、地址、大小和属性,因此可存放8192个描述符。索引号用来指示段描述符在描述符表中位置TI=0表示选择GDT,TI=1表示选择LDT申请者特权级别描述符表当指令将一个16位的值赋给段选择器时,CPU将其索引号部分所对应的段描述符自动加载到描述符寄存器中。每个段描述符由三部分组成:基地址字段用来描述所对应段在物理存储器中的起始地址;边界字段用来描述所对应段的大小;属性字段用来描述所对应段的属性。3系统地址寄存器80386设置了4个系统地址寄存器:GDTR、LDTR、IDTR和TSSR(或称TR),分别用来管理四种系统表,即GDT、LDT、IDT和TSS。GDTR和LDTR为48位宽,而IDTR和T
35、SSR为80位宽。(1)GDTR和GDT的关系GDT是一个特殊段,所有任务共用,系统中只需建立一个,没有必要设置描述符,直接由GDTR决定它的基地址和大小。(2)IDTR和IDT的关系IDT中存放中断门描述符/陷阱门描述符,系统只需建立一个。(3)LDTR和LDT的关系一个任务需要建立一个LDT, LDT段描述由选择器字段来选择,因此LDTR中需要有段选择器字段 。LDTR指出当前进程的LDT描述符在全局描述符表GDT中的位置。(4)TSSR和TSS的关系和LDT一样,一个任务需要建立一个TSS。TSSR和TSS与IDTR和IDT的关系相类似。4指令指针、标志寄存器(1)指令指针指令指针EIP
36、存放下一条指令的偏移量,该偏移量是相对于现行代码段(CS)基址的偏移。EIP的低16位称为IP,用于16位寻址。(2)标志寄存器标志寄存器低12位与8086相同,新增加了四种标志。IOPL分4级:03,0级级别最高,3级级别最低嵌套任务标志为1说明当前任务嵌套在另一个任务内恢复标志为1时,遇到断点或调试故障,继续执行下面的指令。在成功执行每条指令时,RF将自动被复位。虚拟8086模式标志,该位为1表示80386工作于虚拟86模式5控制寄存器80386内部有4个32位控制寄存器CR0CR3,用来保存各种全局性状态, CR0的低16位称为机器状态字MSW,格式如图所示。PE保护模式允许位,PE=1
37、时CPU处在保护模式。MP协处理器监控位,MP=1表示有协处理器。EM仿真协控制位,EM=1表示用软件仿真协处理器。TS任务转换控制位,当任务转换时该位自动地将该位置1。协处理器类型位,系统配接80387时RT=1,配接80287时,ET=06.调试寄存器和测试寄存器80386有8个32位的调试寄存器DR7DR0。DR3DR0用来存放断点地址。DR5和DR4是Intel保留未作定义。DR6调试状态寄存器,存放所有引起类型l异常中断的事件标志。DR7为调试控制寄存器,高16位分成4个字段,分别用来规定4个断点的长度是一个字节还是4个字节以及引起断点的访问类型;低16位用来允许/禁止4个断点以及选
38、择断点的条件。80386有8个32位的测试寄存器TR7TR0 ,用户只能访问2个转换旁路缓冲器的测试寄存器TR6和TR7。TR6为测试命令寄存器,存放测试时使用的标记信息和控制信息。TR7为测试数据寄存器,存放TLB测试的数据。3.3.5 80386存储器管理 80386具有三种存储器管理模式:实地址模式、虚拟8086模式和保护模式。物理空间的分配和虚拟地址到物理地址的转换,通常是由操作系统完成的,80386系统结构中专门设置了用于实现虚拟存储技术的硬件机制。80386把虚拟地址空间分成不同性质的两部分:全局地址空间和局部地址空间。全局地址空间为所有任务共享;局部地址空间是每一个任务占有的独立
39、地址空间,存放每个任务代码和数据。80386的段选择子字段是从全局描述符表GDT或局部描述符表LDT中选择一个段。虚拟存储器中可包含有214个段。由段选择器的T1位来决定全局地址空间或局部地址空间。虚拟地址到物理地址的转换虚拟地址由段管理部件转换成线性地址,再由页管理部件将线性地址转换成物理地址。如不启用分页功能,线性地址直接作为物理地址。三种模式下的地址转换(1)实模式的地址转换(2)虚拟8086模式的地址转换增加了可选的分页功能2.5 系统总线 主要内容:总线的基本概念和分类;总线的工作方式;常用系统总线标准。总线结构的优点1、便于采用模块结构设计,简化系统设计2、可以得到多厂商支持,提高
40、兼容性3、便于扩充升级4、便于故障诊断和维修,减低生产成本一、概述 1.总线的概念 一组导线和相关的控制、驱动电路的集合。它由一组导线和相关的控制、驱动电路组成,是计算机系统各部件之间传输地址、数据和控制信息的公共通道。 总线特点在于公用性,可同时挂接多个部件或设备。 总线一般由多条通信线路组成,每一路信号线能传送一位二进制0或1,8条信号线就能在同一时间并行传送一个字节的信息。2.总线的分类 前端总线:CPU 其他部件系统总线:主机I/O接口外部总线:微机外设 按传送信息的类型按层次 结构地址总线(AB)数据总线(DB)控制总线(CB)按传送类型分数据总线(DB) 数据总线是计算机系统内部之
41、间进行数据传送的路径。数据总线的传送方向是双向的,可以由处理器发向其他部件,也可以由其他部件将信号送向处理器。 数据总线一般由8条、16条、32条或更多条数据线组成,因此,数据线的条数称为数据总线的宽度。 由于每一条数据线一次只能传送一位二进制数,因此数据结的条数决定了每一次能同时传送的二进制位数。地址总线(AB) 地址总线用于传送地址信息,也就是这类总线上所传送的一组二进制0或1表示的是一个内存单元地址或I/O端口地址。它规定了数据总线上的数据来自何处或被送到何处。因地址信息均由系统产生,所以它的传送方向是单向的。 地址总线的宽度决定了能够产生的地址码的个数,从而也决定了计算机系统能够管理的
42、最大存储容量。另,在进行输入输出操作时,地址总线还要传送I/O端中的地址。而I/O端口的容量远低于内存容量,所以在寻址时,只用地址总线的低位。控制总线(CB) 控制总线用于传送各种控制信号,以实现对数据总线,地址总线的访问及使用情况进行控制。控制信号的作用是在系统内各部件之间发送操作命令和定时信号。控制信号的类型有:写存储器命令;读存储器命令; I/O写命令; I/O读命令; 传送响应;总线请求;总线响应;中断请求; 中断响应;时钟和复位。 控制信号从总体上来说是双向的,但就一个具体的信号来说,其信息的走向是单向的。按总线的层次结构分前端总线 前端总线有地址总线、数据总线、和控制总线。一般指从
43、CPU引脚上引出的连接线,用来实现CPU与主存储器、CPU与I/O接口芯片、CPU与控制芯片组等之间的信息传输,也用于系统中多个CPU之间的连接。系统总线 它也有地址总线,数据总线,控制总线。它是主机系统与外设之间的通信通道。在主板上,系统总线表现为与I/O扩展插槽引线连接的一组逻辑电路的导线。有统一标准,常见有ISA,PCI,AGP外部总线 它指的是计算机主机与外设接口的总线,实际是一种外设的接口标准。目前流行的接口标准有IDE、SCSI、USB和IEEE1394这四种。3.总线结构1、单总线结构 简单,但总线竞争严重CPU M M I/O I/O I/O2、多总线结构面向CPU的双总线结构
44、面向主存的双总线结构双总线结构多总线结构(图2-31)多总线结构(续)教材p77图2-29:面向CPU的双总线结构把需要很高带宽的主存储器用存储总线单独与CPU相连问题:外设到主存的数据传输必须通过CPU, 传输效率低,无法实现DMA传输图2-30:面向主存的双总线结构主存储器即与CPU直接连接,又与系统总线连接,较好地解决了上述问题4.总线的操作 接到总线上的设备有两种工作方式,主控方式和从属方式。连接到总线上的设备分为主控设备和从属设备。主控设备可以通过总路线进行数据传送。从属设备只能按主控设备的要求工作,接收传送过来的数据。总线周期:总线时间分为若干个段,每一个时间段完成设备间的一次信息
45、交换。一个总线周期分为五个步骤:总线请求、总线仲裁、寻址、传送数据和传送结束。5.总线的主要性能指标总线带宽(B/S):单位时间内总线上可传送的数据量总线位宽(bit):能同时传送的数据位数总线的工作频率(MHz):它是用于协调总线上的各种操作的时钟信号的频率总线带宽= (位宽/8)(工作频率/每个存取周期的时钟数)二、总线的基本功能总线传输需要解决的问题:1、总线传输同步协调通信双方的传输操作同步、异步、半同步2、总线仲裁控制消除多个设备同时使用总线造成的冲突现象3、出错处理在数据传输过程中对出现错误的进行处理。 4、信号驱动用三态输出电路或集成电路开路输出电路来驱动总线。1.总线的数据传送
46、、同步定时方式:用公共的时钟统一 各部件数据发送和接收的时机。数据READYACK总线周期源目的总线执行写同步定时图缺点:源部件无法知道目的部件是否已收到数据,目的部件也无法知道源部件的数据是否已真正送到总线上。、异步传输方式:用控制和状态信号协调各部件数据发送和接收的时机 异步定时方法中没有固定的时钟,定时序列中的每一步都要靠信号在源剖析和目的部件间的来回传送实现。这些控制信号的传送有相当可观的延迟时间。把某几步改用等待一足够长的固定延迟时间来代替对方传送过来的信号。这种用固定延迟时间的信号叫隐含信号。根据隐含信号的多少,可以把异步总线定时分为非互锁、半互锁和全互锁三种方式。优点:任何速度的
47、设备之间都能互相进行通信。缺点:延迟时间较长。数据READYACK非互锁异步总线定时图3、半同步:用公共的时钟统一 控制和状态信号的产生时机(即控制和状态信号与时钟是同步的),但数据发送和接收的时机仍不固定。半同步方式是利用时钟脉冲的边沿判断某一信号的状态,或控制某一信号的产生和消失,使传输操作与时钟同步。 半同步方式允许不同速度的部件协同工作,主控设备可以根据地从属设备的状态自动延长总线时钟周期,但改变后的总线周期一定是时钟周期的整数倍。例8086CPU的总线周期插入等待就是半同步的一个实例。2.总线仲裁(总线判优) 当总线上的一个部件要与另一个部件进行通信时,首先应该发出请求信号。在某一时
48、刻,可能有多个部件同时要求使用总线,总线仲裁控制机构根据一定的判决原则,决定首先由哪个部件使用总线,只有获得了总线使用权的部件,才能开始数据传送。用来决定某一时刻哪一个部件可以使用总线集中控制统一由总线控制器进行控制分散控制总线控制由各部件共同实现,所有部件均按统一的规则来访问总线 总线仲裁集中控制 1)链式查询(p82图2-34)基本原理是:部件提出申请(BR)总线控制器发出批准信号(BG)提出申请的部件截获BG,并禁止BG信号进一步向后传播提出申请的部件发出总线忙信号(BS),开始使用总线。总线忙信号将阻止其他部件使用总线,直到使用总线的设备释放总线电路最简单,但优先级固定,不能改变总线控
49、制部件设备接口0设备接口1设备接口n数据总线地址总线BSBRBG链式查询方式特点:总线回答信号BG的传送是串行地从一个I/O接口送到下一个I/O接口,若BG到达的接口无总线请求,则继续下传。若有总线请求,BG信号不再下传,则这个I/O口获得总线的使用权。总线仲裁集中控制 2)计数器查询(p83图2-35)基本原理是:需要使用总线的部件提出申请(BR)总线控制器发出递增的设备地址提出申请的设备检查设备地址,若与自己的地址匹配,就发出总线忙信号(BS),然后就可以使用总线总线控制器根据检测到BS信号时的设备地址就知道当前哪个设备使用了总线调整设备地址发出的顺序即可改变优先级别仲裁过程较慢总线控制部
50、件设备接口0设备接口1设备接口n数据总线地址总线BSBRBG计数器查询方式特点:计数器的初值可以用程序来设置,可以方便地改变优先级次序。总线仲裁集中控制 3)独立请求(p84图2-36)基本原理是:每个设备都拥有独立的总线请求线和总线应答线总线控制器对所有的总线请求进行优先级排队,并响应级别最高的请求得到响应的设备将占用总线进行传输最常用,响应速度最快总线控制部件设备接口n设备接口1设备接口0数据总线地址总线BGnBRnBG0BR0独立请求方式3.总线驱动及出错处理总线驱动 每个接口电路都要有从总线上吸收电流,因此要有总线驱动。常用的总线驱动器是三态总线驱动器,但总线驱动器的驱动能力有限,在扩充外设时,一个模块或部件限制1、2个负载。出错处理 数据在传送过程中可能产生错误,解决的方法是在传输的数据中增加一些冗佘位,使冗佘位与传送的数据具有特殊的关系,若这种特殊关系存在,表示接收的数据正确,特殊关系不存在,表示接收的数据出错。在发现错误后,处理错误的方法有两种。总线控制器和设备接口中的总线接口部件有自动纠错功能。若部件中无自动纠错电路,可在发现错误后发出“数据出错”信号让CPU来进行错误处理,通常是向CPU发出中断请求信号,CPU响应中断后,转入错误处理程序来处理异常情况。三、常见的系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论