zynq开发板的L2缓存能当成片上RAM来使用吗

STT-RAM缓存优化策略的研究--《浙江工业大学》2014年硕士论文
STT-RAM缓存优化策略的研究
【摘要】:Cache是计算机体系结构中处理处理器和内存读写速度差异的一个有效的功能部件,随着半导体制造工艺的快速发展,传统的以SRAM作为Cache的技术受到了存储单元面积、静态功耗等因素的限制。STT-RAM作为一种新型的非易失性的存储材料,它有着低功耗、快速的读速度、高密度、多级单元能力等特点。在当今高性能计算的时代,处理器的快速计算能力是毋庸置疑的,所以存储器的性能就成为影响整个系统性能的主要瓶颈。而STT-RAM自从出现以来,一直被当作最有希望替代SRAM作Cache的存储器材料。但是由于STT-RAM本身的写速度比较慢,写能耗也比较高,所以现在对STT-RAM的研究主要集中在降低STT-RAM Cache的写延迟,提高系统的响应时间以及降低STT-RAM的写能耗,从而进一步降低存储系统的能耗。
本文根据STT-RAM的特性,首先分析了STT-RAM的几个重要参数之间的关系,并给出了什么参数以及怎样的参数的STT-RAM才能适合做LI Cache。然后,选择了合适的数据保存时间。通过实验,在设定的STT-RAM数据保存时间内,对L1Cache上数据块访存数据做分段统计,我们发现,在数据保存时间内的大部分数据块的刷新是徒劳的。本文针对这个研究点,提出了基于计数器监控的避免刷新的策略,分析了NRS策略的可行性并详细的设计了计数器的整个监控流程、数据处理流程以及每种出现情形的处理方法。实验结果表明,该策略对写次数的降低以及能耗的降低有明显的作用,同时系统性能有1.5%的提升。
针对STT-RAM不同的数据保存时间的特性以及不同数据保存时间导致的写能耗的差异性,本文采用了混合不同特性的STT-RAM作为L2Cache,将STT-RAM L2Cache分成写延迟不同的两个部分,对每个储存部分的数据进行动态的监测和管理。根据提出的STT-RAM L2Cache的架构,提出了相应的数据迁移管理策略,总的目的就是努力使读写特性不同的数据分块存储,从而降低L2Cache上的数据的写次数,降低写能耗。实验结果表明,基于混合架构的STT-RAM L2Cache上的数据迁移策略的设计和采用SRAM L2Cache相比性能下降了2%。但是,和采用纯STT-RAM的L2Cache相比,性能提升了6%。同时,本文的策略和文中实验的基准策略相比,写能耗有明显降低。
综上所述,本文通过NRS策略和OFMS策略对STT-RAM Cache进行写操作和写能耗的优化,实验结果表明,本文的优化策略能有效降低STT-RAM Cache的写能耗。
【学位授予单位】:浙江工业大学【学位级别】:硕士【学位授予年份】:2014【分类号】:TP333
欢迎:、、)
支持CAJ、PDF文件格式
【相似文献】
中国期刊全文数据库
沈庆伟;[J];安徽建筑工业学院学报(自然科学版);2001年03期
洁儿;;[J];电脑自做;2001年09期
林柏双;[J];引进与咨询;2002年06期
舒辉,康绯;[J];计算机工程与应用;2002年01期
;[J];新电脑;2003年03期
史文崇,屈艳华;[J];河北理工学院学报;2003年04期
冯建文,章复嘉;[J];实验技术与管理;2004年01期
刘方爱;[J];计算机工程与应用;2004年05期
张震,饶光,唐戎;[J];电信建设;2004年02期
孙元超,邵时;[J];计算机工程;2004年09期
中国重要会议论文全文数据库
所光;杨学军;;[A];2008年全国开放式分布与并行计算机学术会议论文集(上册)[C];2008年
石文强;倪晓强;金作霖;张民选;;[A];第十五届计算机工程与工艺年会暨第一届微处理器技术论坛论文集(B辑)[C];2011年
汪腾;杨少军;;[A];中国声学学会2001年青年学术会议[CYCA'01]论文集[C];2001年
;[A];2011年全国电子信息技术与应用学术会议论文集[C];2011年
李凡;李建中;何震瀛;;[A];第二十二届中国数据库学术会议论文集(技术报告篇)[C];2005年
;[A];中国电子学会第十五届信息论学术年会暨第一届全国网络编码学术年会论文集(上册)[C];2008年
宋杰;栾影;王广奇;于戈;王大玲;;[A];第二十三届中国数据库学术会议论文集(技术报告篇)[C];2006年
张承义;郭维;周宏伟;;[A];第十五届计算机工程与工艺年会暨第一届微处理器技术论坛论文集(B辑)[C];2011年
郑涵;吴英;丁晓东;乐嘉锦;;[A];第二十届全国数据库学术会议论文集(技术报告篇)[C];2003年
周旋;冯玉才;李碧波;孙小薇;;[A];数据库研究与进展95——第十三届全国数据库学术会议论文集[C];1995年
中国重要报纸全文数据库
李超;[N];电脑报;2001年
徐春梅;[N];中国经营报;2006年
刘昌勇;[N];中国电脑教育报;2004年
超频者;[N];大众科技报;2000年
;[N];电脑报;2004年
黄家贞;[N];电脑报;2001年
中国计算机报测试实验室
王炳晨;[N];中国计算机报;2000年
李锋;[N];电脑报;2001年
岩公;[N];中国计算机报;2003年
北京共创开源软件股份有限公司 董孝峰;[N];中国计算机报;2004年
中国博士学位论文全文数据库
周宏伟;[D];国防科学技术大学;2007年
田新华;[D];国防科学技术大学;2007年
陈黎明;[D];华中科技大学;2009年
付雄;[D];中国科学技术大学;2007年
贾小敏;[D];国防科学技术大学;2011年
唐轶轩;[D];中国科学技术大学;2012年
项晓燕;[D];浙江大学;2013年
所光;[D];国防科学技术大学;2009年
彭蔓蔓;[D];湖南大学;2007年
晏沛湘;[D];国防科学技术大学;2012年
中国硕士学位论文全文数据库
刘彬;[D];湖南大学;2007年
李冬妮;[D];湖南大学;2012年
冯颖;[D];西安电子科技大学;2008年
李黎;[D];上海交通大学;2006年
陈淑玉;[D];复旦大学;2009年
曹飞;[D];国防科学技术大学;2009年
李晓丽;[D];哈尔滨工程大学;2008年
姜难难;[D];哈尔滨工业大学;2009年
刘文佳;[D];哈尔滨工程大学;2010年
薛燕;[D];西北工业大学;2005年
&快捷付款方式
&订购知网充值卡
400-819-9993CPU的缓存有什么作用?_百度知道
CPU的缓存有什么作用?
我有更好的答案
楼上说的太学术,我简单点给你说.看了保证你完全了解什么是缓存和他们的区别cpu缓存现在都分两个级别,一及缓存称L1 cache,二级缓存称为L2 cache.当然对于不同cpu,两及缓存的作用是不同的.但总体来说,缓存是储存cpu急需处理的数据的地方,当cpu要处理东西的时候,缓存中就开始储存这些数据,由于缓存速度非常之高,所以,cpu读取这些数据的速度就相当快.由于缓存容量相当小,但是当缓存中的数据处理完了又没有来得及重新添满的时候,或者是缓存中的数据不是cpu马上要处理的数据的时候,cpu就只有跳过缓存,直接村内存读取,内存的速度要相对慢得多,所以这个时候cpu整体的速度就下降了.当然,AMD和intel在缓存上的结构完全不同,这个造成了为什么intel的主流处理器的L2 cache缓存在2-4Mb,而AMD的L2 cache只有256kb-512kb.这个我们就要说到他们L1 cache的区别了.intel的L1中不储存cpu要处理的实际数据,他储存的都是L2中数据的目录,也就是intel的cpu要处理数据的时候先要访问L1,为的是了解他要储存的实际数据在L2中具体的位置.这个大大减少了cpu寻找L2数据的时间.比喻起来,intel的L2是一个仓库,L1关于就是这个仓库中储存东西具体位置的目录.AMD完全不同,L1中就储存实际数据,L2也储存实际数据,当L1中的数据用完了的时候,或者L1不能装的过大的数据的时候,cpu就直接处理L2中的数据.比喻起来,AMD的L1是个小仓库,L2是个大仓库.然后是为什么他们对L2需求不同.AMD的很好理解,他cpu处理数据的时候是有续处理的,先处理L1,处理完了再处理L2,数据一个接一个.intel采取的是则是乱处理方式,cpu不会衣顺序处理数据,而是随即挑选数据来处理,当他随便挑选的数据在L2中时,他就读取L1了解数据在L2的位置,然后处理这个数据,但是当数据不在L2中时,就读取内存.这个造就了他们L2大小不同,intel的处理方式像是一个人随机的在扔飞标,飞标落在标盘每个地方的几率是相同的,标盘内的红心就是L2的数据,标盘的其他地方是内存.前面说了,L2中数据是高速的,只有处理L2的,才能更快,否则要慢很多。所以,一个随机扔飞标的人为了让飞标落在红心的几率更大,最好的办法就是加大红心的面积,也就是L2.因此为了提高cpu的速度,intel需要很大的红心,也就是L2.AMD则不同,他是一个接一个处理的,不是随机的扔飞标,他要考虑的只是L1和L2中单个数据的大小,因为cpu要处理的数据几乎都在0-2Mb之间,0-128kb的占了50%,128-256kb占了25%,256-512的占了24%,大于512kb的只占了1%.因此,512kb就能满足cpu几乎所有的需求了,只有处理那些1%的大于512kb的数据的时候AMD才会访问内存.因此AMD需求很小的L2.
采纳率:48%
对于不同cpu,两及缓存的作用是不同的.但总体来说,缓存是储存cpu急需处理的数据的地方,当cpu要处理东西的时候,缓存中就开始储存这些数据,由于缓存速度非常之高,所以,cpu读取这些数据的速度就相当快. 由于缓存容量相当小,但是当缓存中的数据处理完了又没有来得及重新添满的时候,或者是缓存中的数据不是cpu马上要处理的数据的时候,cpu就只有跳过缓存,直接村内存读取,内存的速度要相对慢得多,所以这个时候cpu整体的速度就下降了.
缓存是为了解决CPU速度和内存速度的速度差异问题 内存中被CPU访问最频繁的数据和指令被复制入CPU中的缓存,这样CPU就可以不经常到象“蜗牛”一样慢的内存中去取数据了,CPU只要到缓存中去取就行了,而缓存的速度要比内存快很多 这里要特别指出的是: 1.因为缓存只是内存中少部分数据的复制品,所以CPU到缓存中寻找数据时,也会出现找不到的情况(因为这些数据没有从内存复制到缓存中去),这时CPU还是会到内存中去找数据,这样系统的速度就慢下来了,不过CPU会把这些数据复制到缓存中去,以便下一次不要再到内存中去取。 2.因为随着时间的变化,被访问得最频繁的数据不是一成不变的,也就是说,刚才还不频繁的数据,此时已经需要被频繁的访问,刚才还是最频繁的数据,现在又不频繁了,所以说缓存中的数据要经常按照一定的算法来更换,这样才能保证缓存中的数据是被访问最频繁的 3.关于一级缓存和二级缓存 为了分清这两个概念,我们先了解一下RAM ram和ROM相对的,RAM是掉电以后,其中才信息就消失那一种,ROM在掉电以后信息也不会消失那一种 RAM又分两种, 一种是静态RAM,SRAM;一种是动态RAM,DRAM。前者的存储速度要比后者快得多,我们现在使用的内存一般都是动态RAM。 有的菜鸟就说了,为了增加系统的速度,把缓存扩大不就行了吗,扩大的越大,缓存的数据越多,系统不就越快了吗 缓存通常都是静态RAM,速度是非常的快, 但是静态RAM集成度低(存储相同的数据,静态RAM的体积是动态RAM的6倍), 价格高(同容量的静态RAM是动态RAM的四倍), 由此可见,扩大静态RAM作为缓存是一个非常愚蠢的行为, 但是为了提高系统的性能和速度,我们必须要扩大缓存, 这样就有了一个折中的方法,不扩大原来的静态RAM缓存,而是增加一些高速动态RAM做为缓存, 这些高速动态RAM速度要比常规动态RAM快,但比原来的静态RAM缓存慢, 我们把原来的静态ram缓存叫一级缓存,而把后来增加的动态RAM叫二级缓存。 一级缓存和二级缓存中的内容都是内存中访问频率高的数据的复制品(映射),它们的存在都是为了减少高速CPU对慢速内存的访问。 通常CPU找数据或指令的顺序是:先到一级缓存中找,找不到再到二级缓存中找,如果还找不到就只有到内存中找了
就是cachecache n. 高速缓冲存储器 一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问。存储器的高速缓冲存储器存储了频繁访问的 RAM 位置的内容及这些数据项的存储地址。当处理器引用存储器中的某地址时,高速缓冲存储器便检查是否存有该地址。如果存有该地址,则将数据返回处理器;如果没有保存该地址,则进行常规的存储器访问。因为高速缓冲存储器总是比主RAM 存储器速度快,所以当 RAM 的访问速度低于微处理器的速度时,常使用高速缓冲存储器。
其他1条回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。已解决问题
缓存到底是什么用的?
说什么 IG 2G 内的缓存...
浏览次数:1463
用手机阿里扫一扫
最满意答案
缓存(Cache memory)是硬盘控制器上的一块内存芯片,具有极快的存取速度,它是硬盘内部存储和外界接口之间的缓冲器。由于硬盘的内部数据传输速度和外界介面传输速度不同,缓存在其中起到一个缓冲的作用。缓存的大小与速度是直接关系到硬盘的传输速度的重要因素,能够大幅度地提高硬盘整体性能。当硬盘存取零碎数据时需要不断地在硬盘与内存之间交换数据,有大缓存,则可以将那些零碎数据暂存在缓存中,减小外系统的负荷,也提高了数据的传输速度。基本简介
  缓存是指可以进行高速数据交换的存储器,它先于内存与CPU交换数据,因此速度很快。L1 Cache(一级缓存)是CPU第一层高速缓存。内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。一般L1缓存的容量通常在32&256KB。L2 Cache(二级缓存)是CPU的第二层高速缓存,分内部和外部两种芯片。内部的芯片二级缓存运行速度与主频相同,而外部的二级缓存则只有主频的一半。L2高速缓存容量也会影响CPU的性能,原则是越大越好,普通台式机CPU的L2缓存一般为128KB到2MB或者更高,笔记本、服务器和工作站上用CPU的L2高速缓存最高可达1MB-3MB。   缓存只是内存中少部分数据的复制品,所以CPU到缓存中寻找数据时,也会出现找不到的情况(因为这些数据没有从内存复制到缓存中去),这时CPU还是会到内存中去找数据,这样系统的速度就慢下来了,不过CPU会把这些数据复制到缓存中去,以便下一次不要再到内存中去取。随着时间的变化,被访问得最频繁的数据不是一成不变的,也就是说,刚才还不频繁的数据,此时已经需要被频繁的访问,刚才还是最频繁的数据,又不频繁了,所以说缓存中的数据要经常按照一定的算法来更换,这样才能保证缓存中的数据是被访问最频繁的。工作原理
  缓存的工作原理是当CPU要读取一个数据时,首先从缓存中查找,找到就立即读取并送给CPU处理;没有找到,就用相对慢的速度从内存中读取并送给CPU处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。正是这样的读取机制使CPU读取缓存的命中率非常高(大多数CPU可达90%左右),也就是说CPU下一次要读取的数据90%都在缓存中,只有大约10%需要从内存读取。这大大节省了CPU直接读取内存的时间,也使CPU读取数据时基本无需等待。总的来说,CPU读取数据的顺序是先缓存后内存。   RAM和ROM相对的,RAM是掉电以后,其中的信息就消失那一种,ROM在掉电以后信息也不会消失那一种。RAM又分两种,一种是静态RAM,SRAM;一种是动态RAM,DRAM。前者的存储速度要比后者快得多,使用的内存一般都是动态RAM。为了增加系统的速度,把缓存扩大不就行了吗,扩大的越大,缓存的数据越多,系统不就越快了吗?缓存通常都是静态RAM,速度是非常的快, 但是静态RAM集成度低(存储相同的数据,静态RAM的体积是动态RAM的6倍), 价格高(同容量的静态RAM是动态RAM的四倍), 由此可见,扩大静态RAM作为缓存是一个非常愚蠢的行为, 但是为了提高系统的性能和速度,必须要扩大缓存, 这样就有了一个折中的方法,不扩大原来的静态RAM缓存,而是增加一些高速动态RAM做为缓存, 这些高速动态RAM速度要比常规动态RAM快,但比原来的静态RAM缓存慢, 把原来的静态ram缓存叫一级缓存,而把后来增加的动态RAM叫二级缓存。技术发展
  最早先的CPU缓存是个整体的,而且容量很低,英特尔公司从Pentium时代开始把缓存进行了分类。当时集成在CPU内核中的缓存已不足以满足CPU的需求,而制造工艺上的限制又不能大幅度提高缓存的容量。因此出现了集成在与CPU同一块电路板上或主板上的缓存,此时就把 CPU内核集成的缓存称为一级缓存,而外部的称为二级缓存。一级缓存中还分数据缓存(Data Cache,D-Cache)和指令缓存(Instruction Cache,I-Cache)。二者分别用来存放数据和执行这些数据的指令,而且两者可以同时被CPU访问,减少了争用Cache所造成的冲突,提高了处理器效能。英特尔公司在推出Pentium 4处理器时,用新增的一种一级追踪缓存替代指令缓存,容量为12K&Ops,表示能存储12K条微指令。   随着CPU制造工艺的发展,二级缓存也能轻易的集成在CPU内核中,容量也在逐年提升。再用集成在CPU内部与否来定义一、二级缓存,已不确切。而且随着二级缓存被集成入CPU内核中,以往二级缓存与CPU大差距分频的情况也被改变,此时其以相同于主频的速度工作,可以为CPU提供更高的传输速度。二级缓存是CPU性能表现的关键之一,在CPU核心不变化的情况下,增加二级缓存容量能使性能大幅度提高。而同一核心的CPU高低端之分往往也是在二级缓存上有差异,由此可见二级缓存对于CPU的重要性。   CPU在缓存中找到有用的数据被称为命中,当缓存中没有CPU所需的数据时(这时称为未命中),CPU才访问内存。从理论上讲,在一颗拥有二级缓存的CPU中,读取一级缓存的命中率为80%。也就是说CPU一级缓存中找到的有用数据占数据总量的80%,剩下的20%从二级缓存中读取。由于不能准确预测将要执行的数据,读取二级缓存的命中率也在80%左右(从二级缓存读到有用的数据占总数据的16%)。那么还有的数据就不得不从内存调用,但这已经是一个相当小的比例了。较高端的CPU中,还会带有三级缓存,它是为读取二级缓存后未命中的数据设计的&种缓存,在拥有三级缓存的CPU中,只有约5%的数据需要从内存中调用,这进一步提高了CPU的效率。为了保证CPU访问时有较高的命中率,缓存中的内容应该按一定的算法替换。一种较常用的算法是&最近最少使用算法&(LRU算法),它是将最近一段时间内最少被访问过的行淘汰出局。因此需要为每行设置一个计数器,LRU算法是把命中行的计数器清零,其他各行计数器加1。当需要替换时淘汰行计数器计数值最大的数据行出局。这是一种高效、科学的算法,其计数器清零过程可以把一些频繁调用后再不需要的数据淘汰出缓存,提高缓存的利用率。CPU产品中,一级缓存的容量基本在4KB到64KB之间,二级缓存的容量则分为128KB、256KB、512KB、1MB、2MB、4MB等。一级缓存容量各产品之间相差不大,而二级缓存容量则是提高CPU性能的关键。二级缓存容量的提升是由CPU制造工艺所决定的,容量增大必然导致CPU内部晶体管数的增加,要在有限的CPU面积上集成更大的缓存,对制造工艺的要求也就越高。主流的CPU二级缓存都在2MB左右,其中英特尔公司07年相继推出了台式机用的4MB、6MB二级缓存的高性能CPU,不过价格也是相对比较高的,对于对配置要求不是太高的朋友,一般的2MB二级缓存的双核CPU基本也可以满足日常上网需要了。功能作用
  硬盘的缓存主要起三种作用:一是预读取。当硬盘受到CPU指令控制开始读取数据时,硬盘上的控制芯片会控制磁头把正在读取的簇的下一个或者几个簇中的数据读到缓存中(由于硬盘上数据存储时是比较连续的,所以读取命中率较高),当需要读取下一个或者几个簇中的数据的时候,硬盘则不需要再次读取数据,直接把缓存中的数据传输到内存中就可以了,由于缓存的速度远远高于磁头读写的速度,所以能够达到明显改善性能的目的;二是对写入动作进行缓存。当硬盘接到写入数据的指令之后,并不会马上将数据写入到盘片上,而是先暂时存储在缓存里,然后发送一个&数据已写入&的信号给系统,这时系统就会认为数据已经写入,并继续执行下面的工作,而硬盘则在空闲(不进行读取或写入的时候)时再将缓存中的数据写入到盘片上。虽然对于写入数据的性能有一定提升,但也不可避免地带来了安全隐患&&数据还在缓存里的时候突然掉电,那么这些数据就会丢失。对于这个问题,硬盘厂商们自然也有解决办法:掉电时,磁头会借助惯性将缓存中的数据写入零磁道以外的暂存区域,等到下次启动时再将这些数据写入目的地;第三个作用就是临时存储最近访问过的数据。有时候,某些数据是会经常需要访问的,硬盘内部的缓存会将读取比较频繁的一些数据存储在缓存中,再次读取时就可以直接从缓存中直接传输。   缓存容量的大小不同品牌、不同型号的产品各不相同,早期的硬盘缓存基本都很小,只有几百KB,已无法满足用户的需求。2MB和8MB缓存是现今主流硬盘所采用,而在服务器或特殊应用领域中还有缓存容量更大的产品,甚至达到了16MB、64MB等。大容量的缓存虽然可以在硬盘进行读写工作状态下,让更多的数据存储在缓存中,以提高硬盘的访问速度,但并不意味着缓存越大就越出众。缓存的应用存在一个算法的问题,即便缓存容量很大,而没有一个高效率的算法,那将导致应用中缓存数据的命中率偏低,无法有效发挥出大容量缓存的优势。算法是和缓存容量相辅相成,大容量的缓存需要更为有效率的算法,否则性能会大大折扣,从技术角度上说,高容量缓存的算法是直接影响到硬盘性能发挥的重要因素。更大容量缓存是未来硬盘发展的必然趋势。主要意义
  缓存工作的原则,就是&引用的局部性&,这可以分为时间局部性和空间局部性。空间局部性是指CPU在某一时刻需要某个数据,那么很可能下一步就需要其附近的数据;时间局部性是指当某个数据被访问过一次之后,过不了多久时间就会被再一次访问。对于应用程序而言,不管是指令流还是数据流都会出现引用的局部性现象。  举个简单的例子,比如在播放DVD影片的时候,DVD数据由一系列字节组成,这个时候CPU会依次从头处理到尾地调用DVD数据,如果CPU这次读取DVD数据为1分30秒,那么下次读取的时候就会从1分31秒开始,因此这种情况下有序排列的数据都是依次被读入CPU进行处理。从数据上来看,对于Word一类的应用程序通常都有着较好的空间局部性。用户在使用中不会一次打开7、8个文档,不讳在其中某一个文档中打上几个词就换一个。大多数用户都是打开一两个文档,然后就是长时间对它们进行处理而不会做其他事情。这样在内存中的数据都会集中在一个区域中,也就可以被CPU集中处理。  从程序代码上来考虑,设计者通常也会尽量避免出现程序的跳跃和分支,让CPU可以不中断地处理大块连续数据。游戏、模拟和多媒体处理程序通常都是这方面的代表,以小段代码连续处理大块数据。不过在办公运用程序中,情况就不一样了。改动字体,改变格式,保存文档,都需要程序代码不同部分起作用,而用到的指令通常都不会在一个连续的区域中。于是CPU就不得不在内存中不断跳来跳去寻找需要的代码。这也就意味着对于办公程序而言,需要较大的缓存来读入大多数经常使用的代码,把它们放在一个连续的区域中。如果缓存不够,就需要缓存中的数据,而如果缓存足够大的话,所有的代码都可以放入,也就可以获得最高的效率。同理,高端的数据应用以及游戏应用则需要更高容量的缓存。
答案创立者
以企业身份回答&
正在进行的活动
生意经不允许发广告,违者直接删除
复制问题或回答,一经发现,拉黑7天
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题
扫一扫用手机阿里看生意经
问题排行榜
当前问题的答案已经被保护,只有知县(三级)以上的用户可以编辑!写下您的建议,管理员会及时与您联络!
server is ok当前位置: >>
ZYNQ平台嵌入式软件开发 Zynq-7000 All Programmable SoC双核 ARM Cortex?-A9 MPCore高达 1GHz 可通过 NEON 扩展及单双精度浮点单 元进行增强 32kB 指令及 32kB 数据 L1 缓存统一的 512kB L2 缓存 256kB 片上存储器 DDR3、DDR3L、DDR2 以及 LPDDR2 动态存储控制器2 个 QSPI、NAND Flash 以及 NOR 闪 存控制器2 个 USB2.0 (OTG)、2 个 GbE、2 个 CAN2、0B、2 个 SD/SDIO、2 个 UART 、2 个 SPI、2 个 I2C、4 个32b GPIO一级引导载入程序、AES 和 SHA 256b 解密的RSA 认证以及安全引导认证双 12 位 1Msps 数模转换器 最多接受17对差分模拟输入 Advanced Low Power 28nm Programmable LogicPage 2 Zynq-7000 操作系统支持开源OSLinux 3.8.0 Andriod 2.3 FreeRTOS商业OSAdeneo Embedded - Windows Embedded Compact 7 eSOL - uITRON/T-Kernel ExpressLogic - ThreadX Micrium - uC/OS Wind River - Linux ENEA - OSE SYSGO - PikeOS ETAS - RTA-OS iVeia - Android Xilinx - PetaLinux Quadros - Quadros Wind River - VxWorks Green Hills Software - INTEGRITYPage 3 Zynq-7000 开发工具 ---- XPSXPS 可实现完整 的配置和定制操 作管理 Zynq-7000 AP SoC 外设 IO 引脚启动配置和 初始化器件安全、回读引 导和比特流管理 措施 项目专用配置感 知 无需用户掌握具 体硬件知识 利用可展开的软 件图自动构建一 级引导载入程序Page 4 Zynq-7000 开发工具 ---- XPS使用 Eclipse CDT 开发 环境 (version 3.8) 完整的集成设计环境 (IDE) 可用于连接 Vivado 和 ISE 嵌入式硬 件设计环境 实现完整的软件设计和 调试流程支持,包括全 新多内核和硬件/软件调 试功能Xilinx 版 Mentor Sourcery CodeBench Lite (version 2012.09) 支持定制库和器件驱动程序裸机与 Linux 开发支持同构和异构开发的 多内核Page 5 Zynq-7000 嵌入式软件开发流程利用ISE工具完成硬件设计 利用SDK工具生成FSBL(First Stage Boot Loader)利用JTAG工具下载调试FSBL的功能利用SDK工具生成由FSBL、Bitstream、SSBL(Second Stage Boot Loader)组成的BOOT.BIN将BOOT.BIN、OS映像文件、内存文件系统等文件拷贝到 系统设计指定的存储设备中(QSPI\NAND\NOR Flash、SD 卡),调试操作系统基本功能 开发调试用户态功能程序Page 6 Zynq-7000 启动流程MMU, Icache, Dcache, L2 cache are all disabled Both processors are in the supervisor state ROM code is masked and inaccessible 192 KB of OCM is accessible starting at address 0x0 while 64 KB is accessible starting at address 0xFFFF0000 CPU0 branches into the stage 1 image if no failure takes place CPU1 is in a WFE state while executing code located at address 0xFFFFFE00 to 0xFFFFFFF0Page 7 Zynq-7000 First Stage Boot Loader功能简介由BootROM将其从外部存储设备拷贝到OCM运行 完成硬件初始化,为SSBL提供可工作的硬件环境 解析BOOT.BIN文件,加载Bitstream、SSBL AMP环境下需要加载CPU1上运行的ELF文件 CPU0进入到SSBL中执行FSBL工程根据XPS的XML文档选择需要的BSP驱动,并生 成ps7_init.c文件相关文档: http://www.xilinx.com/support/documentation/user_g uides/ug821-zynq-7000-swdev.pdfPage 8 Zynq-7000 Bootgen and BIF file formatBootgenA standalone tool for creating a bootable image suitable for the Zynq7000 AP SoC processor. The program assembles the boot image by prefixing a header block to a list of partitions. Each partition can be optionally encrypted and authenticated.BIFThe BIF file specifies each component of the boot image, in order of boot, and allows optional attributes to be applied to each image component. Each image component is usually mapped to a partition, but in some cases an image component can be mapped to more than one partition if the image component is not contiguous in memory.相关文档http://www.xilinx.com/support/documentation/user_guides/ug821-zynq7000-swdev.pdfPage 9 Zynq-7000 RepositorySDK中BSP驱动调试执行Clean Project后,工程中的BSP代码会被清除,后续Build Project命令 会从SDK安装目录拷贝新的BSP代码 通过创建并添加本地Repository,可以在不影响其他Workspace的情况下 进行修改调试BSP代码。 添加新的Repo的步骤可通过以下方式搜索:SDK中按F1,打开帮助窗口,并点击Search链接 搜索框中输入Setting up software repositories,选择第一个链接Page 10 Zynq-7000 DeviceTreeThe ARM architecture has become a major headache in the Linux community: Even though the processors share the same compiler and many functionalities, each embodiment (i.e. chip) has its own addresses for the registers, and a slightly different configuration. On top of that, each board has its own set of external components. The result is a wild forest of header files, patches and special configuration parameters in the kernel tree, each combination matching a specific board with a specific chip containing an ARM processor. In short, it has turned out to be an ugly and unmaintainable pile of hacks which nobody is really fond of.More info Refer to: http://xillybus.com/tutorials/device-tree-zynq-1Device Tree in Linux Kernelhttp://www.wiki.xilinx.com/Device+Tree+GeneratorPage 11 Zynq-7000 Linux on ZynqU-boothttps://github.com/Xilinx/u-boot-xlnxRamdiskhttp://www.wiki.xilinx.com/Build+and+Modify+a+RootfsKernel https://github.com/Xilinx/linux-xlnx Drivers: http://www.wiki.xilinx.com/Linux+DriversPage 12 Zynq-7000 Multi-OS SupportAMPThe Zynq AP SoC can be configured to run independent software stacks on each of its processor cores. Such approaches can be configured as either unsupervised AMP (where one of the operating systems is responsible for system management and coordination), or as an AMP configuration created using ARM TrustZone architecture which provides a light weight virtual machine of sorts, on which Linux and RTOS code can independently execute.Example: Xapp1078 : Linux / Bare-metal AMP Xapp1079 : Bare-metal / Bare-metal AMP More info Refer to:http://www.wiki.xilinx.com/Multi-OS+Support+(AMP+%26+Hypervisor)Page 13 Zynq-7000 Power ManagementCpufreqThe cpufreq framework is used to scale the CPU frequency.CpuidleThe cpuidle framework manages CPU idle levels.SuspendThe suspend framework provides the interface to enter sleep states, like the well known 'suspend to disk/RAM' on laptops.Wake on UART Wake on GPIO Wake on Debugger More info Refer to:http://www.wiki.xilinx.com/Zynq+Power+ManagementPage 14 Zynq-7000 ZedBoardKey FeaturesZynq Processor Dual ARM? Cortex?-A9 MPCore? Up to 667 MHz operation NEON? Processing / FPU Engines Memory512 MB DDR3 memory (1066 Mbps) 256 Mb Quad SPI Flash Full size SD/MMC card cage 4 GB SD Card Included Connectivity10/100/1000 Ethernet USB OTG (Device/Host/OTG) USB UART Expansion FMC (Low Pin Count) (5) Pmod? headers (2x6) Video/Display HDMI output (1080p60 + audio) VGA connector 128 x 32 OLED User LEDs (9) User Inputs Slide switches (8) Push button switches (7)Page 15 Zynq-7000 ZedBoardKey FeaturesAudio 24-bit stereo audio CODEC Stereo line in/out Headphone Microphone input Analog Xilinx XADC header Supports 4 analog inputs 2 Differential / 4 Single-ended Debug/ProgrammingOn-board USB JTAG programming port ARM Debug Access Port (DAP)Power 12V DC input @ 3.0 A (Max) DimensionsLength: 6.3 inches Width: 5.3 inches CertificationCE and RoHS certifiedPage 16 Zynq-7000 ZedBoard ResourceReference DesignAMP on Zedboard LCD & Touch PanelHDMI Video OutputMotor Controller Ubuntu\Andriod\WinCE On Zedboard OpenCVMore and more…Online Resourcehttp://www.zedboard.org http://xilinx.eetrend.com/tag/2213 http://www.google.com http://www.baidu.comPage 17 Zynq-7000 ZedBoard 书籍本书分为基础篇和进阶篇两部分。 基础篇中主要介绍了ZedBoard板、Zynq器 件、开发工具链、Zynq的体系结构及其启动过 程等基本的器件与板卡情况,同时考虑了软件 工程师的知识结构。在第8章中介绍了FPGA的 原理,以及硬件加速的原理,便于软件工程师 理解FPGA。在第9章中通过基础实验带领大家 浅尝Zynq的开发过程,并带领大家用 ZedBoard板搭建出一个单板计算机系统。 进阶篇中,首先介绍了利用虚拟平台QEMU 进行软件开发的流程。在第11章中详细分析了 Zynq中处理器与硬件逻辑的连接关系。第12章 主要介绍了在Zynq上利用AutoESL进行软硬 件协同设计的理念与过程。第13章占了全书四 分之一的篇幅,介绍了使用Zynq实现逻辑、驱 动、操作系统、高清视频显示、OpenCV、网络 摄像机等12个应用案例,这是本书的精华之一 。在第14章,将13章中提到的独立案例再融合 成4个系统案例,这4个系统案例都会应用到前 面章节的知识,以此帮助大家尽快掌握在Zynq 上进行系统级设计的方法。Page 18 Zynq-7000 网络资源Xilinx官网 http://china.xilinx.com/support/ http://wiki.xilinx.com/ http://forums.xilinx.comARMhttp://infocenter.arm.com/help/index.jspPage 19 Thank you?
我与赛灵思FPGA的故事” ZYNQ-7000使用总结(1)――概述_计算机软件及应用_IT/计算机_专业资料。ZYNQ-7000使用总结 &30 年---我与赛灵思 FPGA 的故事”: ZYNQ-...Zynq 学习笔记_计算机软件及应用_IT/计算机_专业资料。Zynq Standalone training 1. 从“所有程序 \xilinx Design Tools\Vivado 2013.2\ 启动 Vivado2013.2 ,...zynq-zed-adv7511.dtb .dts 文件所在目录为~/ubuntu/arch/arm/boot/dts/zynq-zed-adv7511.dts 然后将生成的.dtb 文件在~/ubuntu/arch/arm/boot/dts /zynq-...xilinx zynq7000开发记录(uboot_fsbl移植)_计算机软件及应用_IT/计算机_专业资料。zing卡发版 Znyq-7000 综合开发文档 [Znyq-7000 综合开发文档] ‘ Znyq-7000...Zynq 高速串行 CMOS 接口的设计与实现 现在 CMOS 传感器的分辨率越来越大,对应的,对数据传输接口的要求也越来越高。根据熊猫君有限的实 现和调试经验,基本上遇到...zynq axi_dma linux_计算机硬件及网络_IT/计算机_专业资料。zynq linux环境下 axi_dma的应用 使用/dev/mem 转自:Lauri's blog 网址:http://lauri.xn--vs...32 IV 第 1 章 课题整体框架 第 1 章课题整体框架 1.1 课题任务基于 XILINX zynq7010 完成数字存储示波器软硬件设计。 1.2 课题要求通过原理图和 PCB 的... Zynq7000启动流程介绍_计算机软件及应用_IT/计算机_专业资料。Zynq7000 启动流程介绍 打了半天。。。一不小心碰到鼠标后退键,啥都木了。。。再来吧 一开始呢,我...Zynq FSBL代码导读_计算机软件及应用_IT/计算机_专业资料。Xilinx Zynq期间对应自动生成的FSBL程序简单介绍,非我原创,在这里分享希望对底层开发调试有帮助。...16 I OpenHW12 基于 ZYNQ SoC 的多轴运动控制系统 1 项目概述 1.1 工业应用运动控制系统广泛应用于工业自动化领域,包括机器人手臂、装 配生产线、起重设备、...
All rights reserved Powered by
www.tceic.com
copyright &copyright 。文档资料库内容来自网络,如有侵犯请联系客服。

我要回帖

更多关于 zynq开发板 的文章

 

随机推荐