欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Cache控制器设计实验.doc

    • 资源ID:29927660       资源大小:1.04MB        全文页数:7页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Cache控制器设计实验.doc

    实验3 Cache 控制器设计1实验目的(1) 掌握Cache 控制器的原理及其设计方法。(2) 熟悉FPGA应用设计及EDA 软件的使用。(3) 熟悉Vivado软件的使用及FPGA应用设计。2实验原理Cache是介于CPU和主存之间的小容量存储器,包括管理在内的全部功能由硬件实现,对程序员是透明的,在一定程度上解决了CPU和主存之间的速度差异。与主存容量相比,Cache的容量很小,它保存的内容只是内存内容的一个子集,且Cache与主存的数据交互以块为单位。把主存中的块放到Cache中时必须把主存地址映射到Cache中,即确定位置的对应关系,并采用硬件实现,以便CPU给出的访存地址能够自动变换成Cache地址。由于程序访问的局部性,使得主存的平均读出时间接近Cache的读出时间,大大提高了CPU的访存效率。地址映射方式有全相联方式、直接相联方式、组相联方式,本实验采用的是直接方式,这种变换方式简单而直接,硬件实现很简单,访问速度也比较快,但是块的冲突率比较高。其主要原则是:主存中一块只能映象到Cache的一个特定的块中。假设主存的块号为B,Cache的块号为b,则它们之间的映象关系可以表示为:b = B mod Cb其中,Cb是Cache的块容量。设主存的块容量为Mb,区容量为Me,则直接映象方法的关系如图3.19所示。把主存按Cache的大小分成区,一般主存容量为Cache容量的整数倍,主存每一个分区内的块数与Cache的总块数相等。直接映象方式只能把主存各个区中相对块号相同的那些块映象到Cache中同一块号的那个特定块中。例如,主存的块0只能映象到Cache 的块0中,主存的块1只能映象到Cache的块1中,同样,主存区1中的块Cb(在区1中的相对块号是0)也只能映象到Cache 的块0中。根据上面给出的地址映象规则,整个Cache 地址与主存地址的低位部分是完全相同的。图1直接相联映像方式直接映象方式的地址变换过程如图1所示,主存地址中的块号B与Cache地址中的块号b 是完全相同的。同样,主存地址中的块内地址W与Cache地址中的块内地址w也是完全相同的,主存地址比Cache地址长出来的部分称为区号E。图2直接相联地址变换在程序执行过程中,当要访问Cache时,为了实现主存块号到Cache块号的变换,需要有一个存放主存区号的小容量存储器,这个存储器的容量与Cache的块数相等,字长为主存地址中区号E 的长度,另外再加一个有效位。在主存地址到Cache地址的变换过程中,首先用主存地址中的块号去访问区号存储器(按地址访问)。把读出来的区号与主存地址中的区号E进行比较,根据比较结果和与区号在同一存储字中的有效位情况作出处理。如果区号比较结果相等,有效位为1,则Cache 命中,表示要访问的那一块已经装入到Cache中了,这时Cache地址(与主存地址的低位部分完全相同)是正确的。用这个Cache地址去访问Cache,把读出来的数据送往CPU。其他情况均为Cache没有命中,或称为Cache失效,表示要访问的那个块还没有装入到Cache中,这时,要用主存地址去访问主存储器,把读出来的一个字送往CPU,同时,把包括被访问字在内的一块都从主存储器中读出来,送往Cache的相应块。Cache和CPU以及存储器的连接如图3所示,本实验要在FPGA中实现Cache及其地址变换逻辑(也叫Cache控制器),采用直接相联地址变换,只考虑CPU从Cache读数据,不考虑CPU写回数据的情况。Cache控制器顶层模块如图4所示,主存地址为A7A0,共8位,区号E取3位,这样Cache地址还剩5位,所以Cache容量为32个单元,块号B取3位,那么Cache分为8块,块内地址W取2位,则每块为4个单元。图4中,WCT为写Cache块表信号,CLR为系统总清零信号,A7A0为CPU访问内存的地址,M为Cache失效信号,CA4CA0为Cache地址,MD7MD0 为主存送Cache的数据,D7D0为Cache送CPU数据,T2为系统时钟,RD为CPU访问内存读信号,LA1和LA0为块内地址。图3Cache 系统图图4 Cache 控制器顶层模块图3实验内容(1)在Vivado软件中,使用D触发器作为存储一个二进制代码的存储单元,设计一个8位的存储单元模块,按照基于硬件描述语言的设计流程输入该电路,进行编译、仿真验证后生成存储单元模块供上层设计调用。(2)根据对实验原理的描述,使用这个8位的存储单元构成一个32*8位的Cache存储体,并在Vivado软件中实现该电路,进行编译、仿真验证后生成Cache存储体模块供上层调用。(3)参照上面两步,在Vivado软件中实现一个4位的存储单元模块;然后使用这个位存储单元构成一个8*4位的区表存储器,用来存放区号和有效位。由图2可知,还需要实现一个区号比较器,如果主存地址的区号和区表中相应单元中的区号相等,且有效位为,则Cache命中,否则Cache失效,标志位为M,M为0时表示Cache失效。最后,编译、仿真验证后生成区表存储器模块供上层调用。(4)当Cache命中时,就将Cache存储体中相应单元的数据送往CPU,这个过程比较简单;当Cache失效时,需要将主存中相应块中的数据读出写入Cache中,这样Cache控制器就要产生访问主存储器的地址和主存储器的读信号,由于每块占4个单元,所以需要连续访问4次主存,这就需要一个低地址发生器。在Vivado软件中,按照基于VerilogHDL的设计流程输入一个2位计数器,用于产生低2位地址0011,进行编译、仿真验证后生成低地址发生器模块供上层调用。(5)将产生的低2位地址和CPU给出的高6位地址组合起来,形成访问主存储器的地址,M可以作为主存的读信号。这样在时钟T2的控制下,就可以将主存中相应的块写入Cache的相应块中,最后再修改区表。在Vivado软件中,参照图4给出的Cache存储器顶层模块,按照基于VerilogHDL的设计流程输入该电路,进行编译、仿真验证后生成编程文件。思考题:对比分析全(组)相联映射与直接映射方式的区别。如何在Vivado 软件中实现全(组)相联映射方式的Cache存储器? 顶层模块图CPU 读内存时 和 CACHE MEM之间的连接信号7 信信控之 器 设 内 块?储 方联相全中 如的射直射)全析件程生验、译路该程设 基,模器 给 ,件 在表改,中 写应存将,制 时这读主以可的储主形来址位出 址低产用层块模地生验仿译进0址位于,位 输设 于按件 在生低一就主 续以元单块,读储主地存问要器 , 入数块中存,失 当单较这 送的应体 将时 用层供模区后真译,最 表0为标效 则, 效且相中应表区存果较号现需知图。和放用器表 构储位这使;单的一中件 两照用用供储 后验、行电现件 并存 的 个构单的这,的原对用调设供储存后仿编,电流的述硬照,单存 设元存制二储作触使件 内内块模制 统系 址地为和 号内 为,统 ,数 0据 存为 址 信 ,的存 为 信系 ,块 写 ,。元为每位地块块 , 块单 容 所剩地 这 取,, 址示 如器 况的回 考据读 考换相直采控 辑变其 实 要实所 的储 块相 送读器主块的问括时 送来把储主址主用这 入还块访要失 ,命 况情 往数读 访去 个用正)全部低主址 这 入装一问示命 则效等较区如处情有中存号与结根比 的址与号出把问按器问去的地用首换址 址位有加外,的区地长,块的 量储个储量的主放要需号 块现为时 访要中变地相 号称的长 地主同是址内中 内的主样同相 块址 块址主所如换变式方映接的同是部址存地 ,象址给上中的 映也)对的在 中存,的 到映 主0 到映块存如块个那块中 映那同块区各能方象等相 数的个存倍的量 存,分大 把所.如关象直则为容 容存量容 , :表可象间们为的 ,为存中的个 能中:原其较比的但较速,很实接而方种,直的采式相、相、式全方率存 了提,出 近出的得性的序于。 动够存的 以实硬采应置位中 址存把中 的存单为据的 且子容内容的,很的 ,容主异速间 了上程一透员,现硬功的理器存的间和 原验计设 及的 悉用的 设 法计其的控 目验实

    注意事项

    本文(Cache控制器设计实验.doc)为本站会员(豆****)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开