真相只有一个,之所以你很少关心CPU是因为:
编译器和操作系统替你关心了。
如果你的工作是编写编译器或者操作系统那么不关心CPU是寸步难行的,编写编译器不理解CPU怎么生成机器指令?不理解CPU怎么优化机器指令?编写操作系统不理解CPU怎么实现操作系统的初始化任务?怎么才能实现线程切换?
要知道整个计算机系统是有层次的,最下层是硬件,然后是操作系统,接着是编译器,然后是各种语言,最后才是基于语言的各种应用程序(层次可能不是很合理,但你应该懂得)。

从这个角度看,之所以你觉得不需要关心CPU是因为你的工作层次在最表层,在这这里当然是不需要关心CPU的,也没办法关心。
但内存就不一样了,不管你在哪个层次工作,程序总是要操作数据的吧,数据总是要放在内存吧,数据的使用方式决定了需要栈和堆这两种区域,程序员必须决定数据放在哪里,这个工作没人能够替代。
而对于抽象层次更高的语言,堆栈都省了。因此当你总在应用层工作就会觉需要关心内存而不需要关心CPU。
作者:码农的荒岛求生
链接:https://www.zhihu.com/question/479790725/answer/2126918854
来源:知乎