寄存器与缓存的区别

寄存器与缓存的区别
这里的缓存是指的cpu的缓存。
按与cpu远近来分,离得最近的是寄存器,然后缓存,最后内存。
所以,寄存器是最贴近cpu的,而且cpu只与寄存器中进行存取。
(寄存的意思是,暂时存放数据,不中每次从内存中取,它就是一个临时放数据的空间,火车站寄存处就是这个意思)
而寄存器的数据又来源于内存。于是 cpu《---》寄存器《-----》内存 这就是它们之间的信息交换。
那为什么有缓存呢?
因为如果老是操作内存中的同一址地的数据,就会影响速度。于是就在寄存器与内存之间设置一个缓存。
缓存就把从内存提取的数据暂时保存在里面,如果寄存器要取内存中同一位置的东西,就不用老远巴巴地跑到内存中去取,直接从缓存中提取。
因为从缓存提取的速度远高于内存。当然缓存的价格肯定远远高于内存,不然的话,机器里就没有内存的存在,只有缓存的存在了,但如果全是缓存,相信没有几个人买 得起计算机了。
由此可以看出,从远近来看: cpu〈------〉寄存器〈----》缓存《-----》内存
注意一下,寄存器并不每次数据都可以从缓存中取得数据,万一不是同一个内存地址中的数据,那寄存器还必须
直接绕过缓存从内存中取数据。所以并不每次都得到缓存中取数据,这就是缓存的命中率,从缓存中取就命中,不从缓存中取从内存中取,就没命中。当然关于缓存命中率又是一门学问,哪些留在缓存中,哪些不留在缓存中,都是命中的算法。
从经济和速度的综合考虑,又有了一级缓存和二级缓存,当然一级缓存价格远高于二级缓存,它们的作用类似,但速度上一级缓存速度明显高于二级缓存,因为价格的原因就设置了二级缓存,也不知道将来 会不会能三级缓存呢?
磁盘缓存和内存缓存的区别 内存缓存
高速缓存(英语:cache,英语发音:/kæʃ/ kash [1][2][3],简称缓存),其原始意义是指访问速度比一般随机存取存储器(ram)快的一种ram,通常它不像系统主存那样使用dram技术,而使用昂贵但较快速的sram技术。
原理
cache一词来源于1967年的一篇电子工程期刊论文。其作者将法语词“cache”赋予“safekeeping storage”的涵义,用于电脑工程领域。
当cpu处理数据时,它会先到cache中去寻找,如果数据因之前的操作已经读取而被暂存其中,就不需要再从随机存取存储器(main memory)中读取数据——由于cpu的运行速度一般比主内存的读取速度快,主存储器周期(访问主存储器所需要的时间)为数个时钟周期。因此若要访问主内存的话,就必须等待数个cpu周期从而造成浪费。
提供“缓存”的目的是为了让数据访问的速度适应cpu的处理速度,其基于的原理是内存中“程序执行与数据访问的局域性行为”,即一定程序执行时间和空间内,被访问的代码集中于一部分。为了充分发挥缓存的作用,不仅依靠“暂存刚刚访问过的数据”,还要使用硬件实现的指令预测与数据预取技术——尽可能把将要使用的数据预先从内存中取到缓存里。
cpu的缓存曾经是用在超级计算机上的一种高级技术,不过现今电脑上使用的的amd或intel微处理器都在芯片内部集成了大小不等的数据缓存和指令缓存,通称为l1缓存(l1 cache即level 1 on-die cache,第一级片上高速缓冲存储器);而比l1更大容量的l2缓存曾经被放在cpu外部(主板或者cpu接口卡上),但是现在已经成为cpu内部的标准组件;更昂贵的cpu会配备比l2缓存还要大的l3缓存(level 3 on-die cache第三级高速缓冲存储器)。
概念的扩充
如今缓存的概念已被扩充,不仅在cpu和主内存之间有cache,而且在内存和硬盘之间也有cache(磁盘缓存),乃至在硬盘与网络之间也有某种意义上的cache──称为internet临时文件夹或网络内容缓存等。凡是位于速度相差较大的两种硬件之间,用于协调两者数据传输速度差异的结构,均可称之为cache。
地址镜像与变换
主条目:cpu缓存#组相联
由于主存容量远大于cpu缓存的容量,因此两者之间就必须按一定的规则对应起来。地址镜像就是指按某种规则把主存块装入缓存中。地址变换是指当按某种镜像方式把主存块装入缓存后,每次访问cpu缓存时,如何把主存的物理地址(physical address)或虚拟地址(virtual address)变换成cpu缓存的地址,从而访问其中的数据。
缓存置换策略
主条目:cpu缓存#置换策略、分页和缓存文件置换机制
主存容量远大于cpu缓存,磁盘容量远大于主存,因此无论是哪一层次的缓存都面临一个同样的问题:当容量有限的缓存的空闲空间全部用完后,又有新的内容需要添加进缓存时,如何挑选并舍弃原有的部分内容,从而腾出空间放入这些新的内容。解决这个问题的算法有几种,如最久未使用算法(lru)、先进先出算法(fifo)、最近最少使用算法(lfu)、非最近使用算法(nmru)等,这些算法在不同层次的缓存上执行时拥有不同的效率和代价,需根据具体场合选择最合适的一种。
磁盘缓存
磁盘缓存
16mb缓冲区的硬盘
磁盘缓存(disk buffer)或磁盘快取(disk cache)实际上是将下载到的数据先保存于系统为软件分配的内存空间中(这个内存空间被称之为“内存池”),当保存到内存池中的数据达到一个程度时,便将数据保存到硬盘中。这样可以减少实际的磁盘操作,有效的保护磁盘免于重复的读写操作而导致的损坏。
磁盘缓存是为了减少cpu透过i/o读取磁盘机的次数,提升磁盘i/o的效率,用一块内存来储存存取较频繁的磁盘内容;因为内存的存取是电子动作,而磁盘的存取是i/o动作,感觉上磁盘i/o变得较为快速。
相同的技巧可用在写入动作,我们先将欲写入的内容放入内存中,等到系统有其它空闲的时间,再将这块内存的资料写入磁盘中。
大小
现在的磁盘通常有32mb或64mb缓存。旧的硬盘则有8mb或16mb。

英特尔的2023:以强大执行力推进产品、技术创新
智能安防发展进程加速,视频监控市场规模不断扩大
三星Note 8和一加5T防抖功能比拼,谁更胜一筹
基于FPGA芯片XC4005E-4IPQ100实现频信号发送系统的方案设计
富士康不惧苹果“压榨”发展工业机器人是妙方
寄存器与缓存的区别
NVIDIA高性能GPU硬件助力Cloudpick智能门店数字化运营
关于土壤温湿度测量仪的作用以及功能的分析
Qualcomm发布骁龙虚拟现实软件开发包
红米S2评测 同价位竞品强势红米S2主攻线下
构建一个太阳能MPPT充电器
5G之战关系着华为的生死存亡
洲明LED大屏,豪华车展高标配
新型智慧城市标杆应该是怎样的一个城市
晶闸管软启动器将逐步取代传统的自耦式补偿器
基于相变材料的智能手机散热系统设计
物联网平台选择需要问什么问题
导电环作为一个重要零部件,其可靠性非常重要
IGBT中的MOS结构—抗辐照特性介绍
海联物联使用Semtech LoRa®器件开发AsterNet组网方案