现代微机结构PPT学习教案_第1页
现代微机结构PPT学习教案_第2页
现代微机结构PPT学习教案_第3页
现代微机结构PPT学习教案_第4页
现代微机结构PPT学习教案_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、会计学1现代微机结构现代微机结构 EU SU BIUIPU(指令预取部件) IDU PUTLB 隐Cache 8KCache 物理地址FPU指令流 线性地址 64位总线 内部64位总线连接EU和FPU; 可以禁止分页, 所以SU输出可直接送到Cache; SU和PU首先寻址Cache, 不命中才寻址内存。第1页/共46页 (二) 内部寄存器 通用寄存器/段寄存器/指令指针与80386相同。 1、FR标志位寄存器: 新增标志位 AC对齐标志 对齐的含义: 16位的字, 从偶地址开始存放(起始地址最低位为0, 能被2整除); 对32位的字, 存放的起始地址能被4整除, 且最低2位为0 依此类推,

2、双字(64位)存放的起始地址能被8整除(低3位为0)等。以上情况都称为对齐的。数据按对齐的方式存放, 对数据的存取速度更快。第2页/共46页 为什么CR3、页目录和页表都只给出20位的地址作为基地址?从对齐的角度, 一个4K的页面是对齐的, 低12位为0, 只需要给出高20位地址, 实际访问时, 低12位补0。 AC =0 不作对齐检查1 进行对齐检查仅在特权级3未对齐时产生异常中断第3页/共46页2、CR0 CR3 控制寄存器 CR0 PG CD NW . AM WP . NE ET TS EM MP PE 新增控制位 CD1 读未命中, 禁止填充Cache (即从内存中读取的数据不写入Ca

3、che)0 读未命中, 允许填充Cache NW1 不允许直写 (写命中Cache, 不写入内存)0 允许直写Cache第4页/共46页 AM1 允许AC对齐标志0 禁止AC对齐标志(便于与80386兼容) WP1 任何特权级的任务, 对页面都只能读0 按描述子/页目录/页表的规定实施读写保护 NE1 如果浮点部件出现异常, 则产生异常中断INT160 且输入引脚IGNEE有效, 忽略浮点部件出错第5页/共46页 CR3 在80386基础上增加了两位: 页目录基地址 00.00 PCD PWT 0 0 031 12 4 3 2 1 0 PCD1 禁止页目录项的内容进入Cache(禁止填充Cac

4、he)0 允许页目录项的内容进入Cache PWT1 片外Cache采用直写方式0 片外Cache采用回写方式(注: 80486片内的Cache只有直写方式)第6页/共46页二 、 8 0 4 8 6 片 内Cache80486片内集成8K的高速缓存。(一) 结构 8K的高速缓存采用四组关联式结构, 将整个8K分成四路, 每一路分成128组, 每组分成四行, 每行四个字节。 每一行设置了一个有效位V, 用于指示该行是否有效(V1时该行有效, V=0时该行无效)。 为了便于使用LRU算法, 对每四行, 设置了三个标志位B0、B1、B2, 用来指示这四行最近被访问的情况。如下图所示:第7页/共46

5、页B0 B1 B20路3路2路1路0组1组.0行3行2行1行4个字节VVVV第8页/共46页 每四行附加的标志位B0、B1、B2指示这四行最近被访问的情况, 按以下方式进行设置:最近被访问的是0行或1行, 则1B02行或3行, 则0B00行 1B11行 0B12行 1B23行 0B2(二) 高速缓存工作过程控制 1. 四种工作方式 CR0中CD和NW两个控制位, 其四种组合构成了Cache的四种工作方式(注 80486中的Cache,在“写不命中时, 只写内存, 不写Cache”): 第9页/共46页 CD NWCache正常工作方式(允许Cache填充、直写和“使无效“功能)无效(如果将该状

6、态装入CR0 , 将产生异常中断)禁止Cache填充,但允许直写和“使无效”功能禁止Cache填充, 也禁止直写和“使无效”功能 0 0 0 1 1 0 1 1 功 能第10页/共46页说明: CD和NW=10禁止Cache填充, 则在“读未命中时”只访问主存;不允许将从主存读取的数据和对应的地址写入Cache; CPU Cache 主存读不命中 数据传送 第11页/共46页在“写不命中时”只写主存不写Cache。只允许直写, 仅在“写命中”时, 既写入Cache, 又要写入内存 CPU Cache 主存写不命中 数据传送 因此, CD和NW=10时, 可以用软件方式对某些主存单元的高速缓存行

7、进行控制。比如, 为防止Cache内容过时的方法之一, 就是“不可高速用存储器”, 禁止共享区的内存单元内容进入Cache。第12页/共46页 CD和NW=11时:该主要用于程序测试。预先将某些测试所需要的数据装入Cache, 然后将CD和NW设置为11, 断开Cache与主存的联系。测试开始后, 程序只访问预先装入Cache的数据, 不会有启动总线周期访问内存, 也不会出现“不命中”。高速缓存的几种功能均被禁止, 即“读不命中”时, 只读主存而不写入Cache; “写不命中”时,只写主存而不写入Cache, 且不允许直写; 也不能标识某些Cache内容无效, 意味着此时Cache与主存的联系

8、已被断开。第13页/共46页2. Cache的更新(淘汰) 淘汰过程按如以下流程:是否有无效行YYNN淘汰无效行2行或3行不常用淘汰3行淘汰2行B0=0B2=0NB1=0淘汰1行淘汰0行NY0行或1行不常用Y第14页/共46页3. 高速缓存的清除 软件方式 执行指令INVD或者WBINVD WBINVD先将Cache内容写回主存, 再清除。 注: 80486片内的Cache采用的是直写方式, 这两条指令对片内Cache的执行结果相同; 但片外Cache可能采用回写, 所以设置了WBINVD指令。 硬件方式80486的引脚 , 当该引脚有效时, 片内 Cache内容将被清除掉。 FLUSH第15

9、页/共46页4. 页面的可高速缓存性 什么是页面的可高速缓存性?针对一个页面, 禁止或允许其内容进入Cache (即控制页面的内容是否可以进入Cache)。与“不可高速用存储器”的概念相同, 即不允许某些主存单元内容进入Cache。 如何控制页面的可高速缓存性? 在CR0中的CD位CD1 读未命中, 禁止填充Cache0 读未命中, 允许填充Cache第16页/共46页 80486的分页机制的页目录项和页表项中的PCD(D4 , 386处理器未使用该位): PCD1 禁止页表的内容进入Cache0 允许页表的内容进入CachePCD1 禁止页面的内容进入Cache0 允许页面的内容进入Cach

10、e 80486的输出引脚 非独立功能PCD 在CR3控制寄存器中 PCD1 禁止页目录项的内容进入Cache0 允许页目录项的内容进入Cache(页目录项)(页表项)第17页/共46页上述信号及引脚之间的关系:. . . . CD NW . . . .CR0 Cache控制器 CacheFLUSHPCDPWT+CR0中的CD+KENPCDPWT片外引脚来自CR3或页目录项或页表项的PCD和PWT当“或非门”输出1 当前页允许填充Cache0 当前页不允许填充Cache第18页/共46页由此可得:只有当CD=0、PCD=0、并且0时, 才能进行Cache填充, 只要这三者中有一个位“1”, 就禁

11、止填充Cache。 三、80486的引脚功能 1. 数据奇偶校验引脚DP3DP0 , 每一位针对一个字节, 即:DP3 DP2 DP1 DP0D31 D24 D23 D16 D15 D8 D7 D0 第19页/共46页 写数据时:CPU根据输出的数据, 内部自动按偶校验方式生成DP3 DP0 , 并连同数据位一起输出。 读数据时:CPU将数据位连同校验位一起读回来。这要求被CPU读取的设备生成校验位。2. 奇偶校验检查位(CPU输出) PCHK读周期后有效, 指示读取的数据是否奇偶出错。 奇偶校验位及校验检查位 简化接口设计例: 处理器与一8位外设通信, 进行出错校验, 设计利用以上信号进行校

12、验的接口电路原理图第20页/共46页.DP0.INT引起中断要求CPU重发 +5VCD QQR+5VCD QQRPCHKINT引起中断要求CPU重读D7 D0(读: 生成校验位)读数据时:写数据时: CPU数据总线D7D0 8位端口译码EN第21页/共46页3. 总线宽度控制信号BS16 BS8(1) BS16该信号与80386的 的异同:BS16请求进行16位数据传送相同处: 表示外设请求CPU进行16位的数据传送。如果CPU执行的32位的I/O指令, 自动将其转换成两个16位的数据传送周期; 当 有效, BS16第22页/共46页不同处:对80386, 数据只在总线低16位D15D0上传送

13、。读操作时:CPU的两个16位的读周期都只采样数据总线低16位; 写操作时:第一个周期, 在总线的D15D0上发送低半部;第二个周期, CPU将高半部自动复制到数据总线低16位D15D0上发送。只需将外设的16位数据线连接到数据总线的低16位D15D0。第23页/共46页 读周期:对80486, 如果CPU执行的32位的I/O指令, 第一个周期在数据总线低16位传送低位字, 第二个周期在数据总线高16位传送高位字。 CPUD31D16D15D0 外设第二次读第一次读外设的16位数据线连接到数据总线的高16位D31D16还是低16位D15D0?第24页/共46页 写周期: CPUD31D16D1

14、5D0 外设第二次写第一次写外设的16位数据线连接到数据总线的高16位D31D16还是低16位D15 D0 ?第25页/共46页(2) BS8如果CPU执行的32位的I/O指令, 则自动转换成4个总线周期。四个周期传送四个字节, 依次在数据总线的四个字节上传送。 当 有效时,BS8 进行8位数据的传送, 一次传送一个字节,外设的8位数据线连接到数据总线的四个字节的哪个字节上?针对8位外设。第26页/共46页用中间电路进行转换, 保证16位或8位外设的数据能依次传送到数据总线的不同部分, 如下图所示:解决方法: CPU32位外设端口16位外设端口 8位外设端口地 址D31D24D7 D0D23D

15、16D15D8字交换电路字节交换电路8位16位第27页/共46页 字节交换电路 8位输入设备D31D24D7D0D23D16D15D8数据锁存器(8位)数据锁存器(8位)数据锁存器(8位)数据锁存器(8位)OEOEOEOERDBE3BE2BE1BE0说明:通过 控制CPU的每次读操作。用4个总线周期,依次从4个数据锁存器读入数据。同理可构成字交换电路。 BE0 BE3第28页/共46页 4. 总线请求及总线相应信号 HOLD:总线请求信号 (总线主设备与从设备) HLDA:总线响应信号 AHOLD:地址保护请求信号一个总线主控设备向处理器提出的释放系统地址总线的请求信号。该信号与 信号一起控制

16、Cache操作。EADS5. Cache控制信号 KEN 有效时, 可以填充Cache FLUSH有效时, 清除CachePCD PWT用于控制片外Cache第29页/共46页 EADSADSCPU输出信号, 指示CPU总线周期开始(地址及相应控制信号已发到总线上,)。EADSCPU的输入信号, 向CPU指示有其它主控设备已将要进行内存写入操作的地址放到了系统地址总线上。用于80486总线监视地总线监视功能便于在必要的情况下, 将Cache某些单元标识为无效。EADS 与AHOLD一起, 构成80486的一个 “使无效”的周期, 其工作过程如下:第30页/共46页 某主控设备发出AHOLD80

17、486, 要求80486释放系统地址总线; 80486读取该地址(80486地址总线为双向), 与自身Cache中已有的地址进行比较, 若该地址存在, 则标识该地址单元内容无效。EADS 该设备发出 80486, 表示该设备的写入内存的地址已经放到系统地址总线;6. 总线仲裁信号 BREQ用于多机系统的总线请求信号CPU的输出信号CPU收到该信号, 将被强制让出总线使用权。 BOFF第31页/共46页7. 总线状态信号 RDYBRDYBLASTRDY与8086的Ready含义相同BRDYBLAST 用于猝发(Burst)传送在80486中, 猝发传送是指每一个T(而不是每一个总线周期2个T)传

18、送一个数据。猝发传送由外设CPU提出请求后进行。外设请求猝发的方式是通过发送另一个“数据准备好”信号来实现的 每个时钟节拍T, BRDY CPU在每个T采样数据总线。如下图所示:BRDY让 有效,第32页/共46页BLAST地址DATAT1T2T2T2T2T2T1T2RDYBRDY猝发传送结束猝发传送有两种方式: 被访问设备主动结束: CPU主动中止:BRDY停止 有效;发出 信号。BLAST第33页/共46页四、80386/80486多功能接口芯片 82380简介 82380 的主要功能部件: DMA控制器(相当于原来地8237和80286中的82258DMAC的功能) DRAM刷新控制器(

19、=W4006AF,由WACOM公司设计) 中断控制器(相当于8259) 可编程计数/定时器(相当于8253) 等待状态发生器(用于产生Ready信号) 系统重置电路(用于产生Reset信号)第34页/共46页1. DMA控制器 构成 内部含有8个通道, 可以连接8个请求设备; 每个通道有独立的控制逻辑和通道寄存器.通道0通道1通道7.通道控制器控制寄存器状态寄存器DMA 请求 和仲 裁电 路DREQ0DREQ3DREQ4DREQ5DREQ6DREQ7DREQ2DREQ1CPU接口HOLDHLDA第35页/共46页 工作过程: 略 DMA传送方式三种工作方式(通过写入控制字来规定): 单一数据传

20、送 1个DMA周期传送一个数据后结束, CPU重新控制总线。若DREQi请求端输入一直连续地发出请求, 则信号DREQi-HOLD-HLDA始终重复至所要的字节数传输完毕为止。 每一次数据传输时, DMA控制器都需要对DREQ输入进行仲裁, 并且执行HOLD/HLDA操作。 第36页/共46页 数据块传送 设置DMA内的一个24位计数器的计数初值, 每传送一个字节, 计数器减1, 直到计数器减为0为止, 传送结束。 需求传送 计数器仍然计数, 直到计数器减为0传送结束;若请求信号DREQ变为无效, 也结束DMA传送注: 82380还有一个信号EOP, 当该信号有效时, 无论是哪一种传输方式,

21、传输过程都将结束。第37页/共46页 DMA仲裁(多个请求信号同时有效时) 固定方式(静态方式): 软件编程设置通道优先权, 若不重新设置, 则保持不变; 若软件对优先权不加以设定, 则DMA控制器自动按通道0到通道7优先权从高到低。 循环式(动态方式): 一个通道请求被响应且完成数据传送后, 优先权自动降为最低。实际上, 8个通道还可以分成两个组(0 3通道和47通道), 两个组可以分别按不同的优先级设置方式。第38页/共46页 8237A一般只限于执行I/O设备与存储器之间的传输, 其中有两个通道可用于两个存储区域之间的数据传送。 82380则可以控制以下部件间的数据传送: 存储器与存储器之间 存储器与I/O设备之间 两个高速I/O设备之间 82380的DMA与8237A的兼容性 82380的DMA除包含了8237A的全部功能外, 增加一些控制寄存器, 也增加了寄存器的长度, 并增加了一些功能。 比如:第39页/共46页2. 可编程计数定时器与Intel 8253基本相同, 核心为4个计数通道.数据缓冲器及接口控制电路第一控制 寄存器第二控制 寄存器计数定时器0计数定时器2计数定时器3计数

温馨提示

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

评论

0/150

提交评论