您好,欢迎来到上海分类信息网
免费发信息

一级缓存和二级缓存的区别有哪些?

2018-11-30 14:19:43发布117次查看ip:发布人:
一般来说,一级缓存可以分为一级数据缓存(data cache,d-cache)和一级指令缓存(instruction
cache,i-cache)。二者分别用来存放数据以及对执行这些数据的指令进行即时解码,而且两者可以同时被cpu访问,减少了争用cache所造成的冲突,提高了处理器效能。目前大多数cpu的一级数据缓存和一级指令缓存具有相同的容量,例如amd的athlon
xp就具有64kb的一级数据缓存和64kb的一级指令缓存,其一级缓存就以64kb+64kb来表示,其余的cpu的一级缓存表示方法以此类推。
并不是缓存越大越好,譬如amd和inter就有不同的理论,amd认为一级缓存越大越好,所以一级比较大,而inter认为过大会有更长的指令执行时间,所以一级很小,二级缓存那两个公司的理论又反过来了,amd的小,inter的大,一般主流的intercpu的2级缓存都在2m左右
我们通常用(l1,l2)来称呼
缓存又叫高速缓冲存储器其作用在于缓解主存速度慢、跟不上cpu读写速度要求的矛盾。它的实现原理,是把cpu最近最可能用到的少量信息(数据或指令)从主存复制到cache中,当cpu下次再用这些信息时,它就不必访问慢速的主存,而直接从快速的cache中得到,从而提高了得到这些信息的速度,使cpu有更高的运行效率。
缓存的大小:

一级缓存就是session级别的缓存,一个session做了一个查询操作,它会把这个操作的结果放在一级缓存中,如果短时间内这个session(一定要同一个session)又做了同一个操作,那么hibernate直接从一级缓存中拿,而不会再去连数据库,取数据。
二级缓存就是sessionfactory级别的缓存,顾名思义,就是查询的时候会把查询结果缓存到二级缓存中,如果同一个sessionfactory创建的某个session执行了相同的操作,hibernate就会从二级缓存中拿结果,而不会再去连接数据库。
纯手打,希望能帮到你

你好,一级缓存可分为一级指令缓存和一级数据缓存。一级指令缓存用于暂时存储并向cpu递送各类运算指令;一级数据缓存用于暂时存储并向cpu递送运算所需数据,这就是一级缓存的作用,二级缓存就是一级缓存的缓冲器,一级缓存制造成本很高因此它的容量有限,二级缓存的作用就是存储那些cpu处理时需要用到、一级缓存又无法存储的数据。希望我的回答能帮到你~

该用户其它信息

VIP推荐

上海分类信息网-上海免费发布信息-上海新闻网