CPU运行原理及对线程的影响01

基本概念: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级缓冲,

而如果你对硬件稍微熟悉的话,你会发现,每一层缓冲区数量普通情况下是越来越大的.

posted @ 2020-04-20 10:39  谁说程序猿很猥琐  阅读(443)  评论(0编辑  收藏  举报