基本概念:IC、ASIC、SoC、MPU、MCU、CPU、GPU、DSP、FPGA、CPLD 参考:https://www.cnblogs.com/grooovvve/p/11604016.html
缓存的原因:
1、 读写速度不一致,所谓的高并发,其实都是速度不一致。
易失的都是缓存,断电
2、CPU存储体系:
a、寄存器 (通常存储指令等)
b、第一级高速缓存 { .Net 里面的 static 存在 高速缓存}
c、第二级高速缓存
d、第三级高速缓存
e、主存(可以理解为内存)
f、外存(如,硬盘)
存储速度按照金字塔由下往上,由低到高。
寄存器(Register): 可以用来存储 指令、数据和地址,在存储器中速度最快, 在CPU指令部件中,包含的存起有 指令寄存器(IR),程序计数器(PC),逻辑部件中有 累加器(ACC);
高速缓存和主存:都是RAM(Random-Access Memory,随机访问存储器),它分为静态的(SRAM)和动态的(DRAM),分别对应高速缓存和主存
3、For循环或者任何一段运算速度是绝对快于内存的访问速度的,例如redis的存储与获取. 这时候你如果不想让Redis崩溃掉,你唯一的选择是什么?对的,你给本地加缓存
这个场景其实与CPU主存之间的工作模式是完全一致的. 由于主存与CPU之间的性能差异,又不可能说让CPU去等待主存将内容完全读取走,这才出来了1234级缓冲,
而如果你对硬件稍微熟悉的话,你会发现,每一层缓冲区数量普通情况下是越来越大的.