内存(自用学习笔记)

一、什么是内存

计算机中所有程序的运行都是在内存中进行的,因此内存对计算机的影响非常大,内存又被称为主存,其作用是存放CPU中的运算数据, 以及与硬盘等外部存储设备交换的数据
我认为这个词翻译得不是很准确,产生了歧义。本来是要表示“内部存储器”的意思,现在已经和“内置存储器”的概念混淆了。很多非专业人士搞不清楚内存和外存的区别,更不明白什么虚拟内存。百度词条中一度对内存做了十分错误的解释,更是引起很多困惑。内存是电脑的一个硬件组成部分。从单片机的组成我们可以看到,CPU、内存和输入输出接口,就组成一个完整的电脑,其他统统属于外设。内存是可以被CPU通过总线进行操作的,也就是与CPU之间有总线相连接的。电脑所有的输入输出,都是要从内存来实现的。内存包括只读内存ROM和读写内存RAM,但在个人电脑(PC)中,我们通常所说的内存,是指读写内存。这里尤其应该提醒,内置的外存被很多人理解为“内存”,这是硬件盲非常普遍的误解。外存是外设,比如硬盘就是外存。虽然硬盘的性能很大程度上决定着电脑的应用,但硬盘仍然是可有可无的,其他外存,比如U盘,在很多应用上已经可以代替硬盘。外存数据的读写,统统是要通过内存进行的。CPU操作RAM字节(包括字、双字等等)的各个位,都是来自不同的芯片,所以硬件要有地址译码器。我们也可以清楚地看到,并非每个RAM芯片上都有完整的地址总线、数据总线和控制总线,只有CPU芯片才有足够的那么多引脚。

链接:https://www.zhihu.com/question/287662016/answer

二、C/C++ 内存布局与程序栈

内存(自用学习笔记)_第1张图片

1.重点阅读该部分
https://zhuanlan.zhihu.com/p/184957568
https://blog.csdn.net/qq_43152052/article/details/98889139
2.了解:
c++ 寄存器 缓存 cpu 内存之间的关系:https://cloud.tencent.com/developer/article/2006405#:~:text=%E6%8C%89%E4%B8%8ECPU%E8%BF%9C%E8%BF%91%E6%9D%A5%E5%88%86%EF%BC%8C%20%E7%A6%BB%E5%BE%97%E6%9C%80%E8%BF%91%E7%9A%84%E6%98%AF%E5%AF%84%E5%AD%98%E5%99%A8%20%EF%BC%8C%E7%84%B6%E5%90%8E%20%E7%BC%93%E5%AD%98%20%28CPU%E7%BC%93%E5%AD%98%29%20%EF%BC%8C%E6%9C%80%E5%90%8E%20%E5%86%85%E5%AD%98%20%E3%80%82,%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E6%8A%8A%20%E5%8D%B3%E5%B0%86%E8%A6%81%E7%94%A8%E7%9A%84%E6%95%B0%E6%8D%AE%E8%AF%BB%E5%88%B0%E5%AF%84%E5%AD%98%E5%99%A8%20%E3%80%82%20%E4%BA%8E%E6%98%AF%20CPU%3C%E2%80%94%3E%E5%AF%84%E5%AD%98%E5%99%A8%3C%E2%80%94%3E%E5%86%85%E5%AD%98%20%EF%BC%8C%E8%BF%99%E5%B0%B1%E6%98%AF%E5%AE%83%E4%BB%AC%E4%B9%8B%E9%97%B4%E7%9A%84%20%E4%BF%A1%E6%81%AF%E4%BA%A4%E6%8D%A2%20%E3%80%82

你可能感兴趣的:(计算机基础,学习,笔记)