C++学习笔记(一)——内存分配问题
2015-10-31 10:59
267 查看
内存分配问题
VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口。关于各种变量的内存如下。
VC运行结果:
VS运行结果:
(1)寄存器是在CPU上的存储器,CPU通过寄存器来对内存进行访问。
CPU(寄存器)<->Cache<->内存
参考:/article/7830459.html
cache是一种高速缓冲存储器,她的主要作用是提高CPU数据输入的速率,调和CPU速度与内存存储速度之间的巨大差异。cache是一种高速缓冲存储器,她的主要作用是提高CPU数据输入的速率,调和CPU速度与内存存储速度之间的巨大差异。
通俗一点说就是CPU太快,内存速度相对比较慢,而cache的速度快,但是cache的价格比较昂贵。人们想到一个办法就是利用小容量的cache在CPU和内存中间当桥梁,也就是说把CPU在下一个时间段需要用到的数据提前存入cache中,当 CPU需要的时候可以快速的从Cache中取得数据,这样就可以在一定程度上提高计算机的性能。但是怎样才能知道CPU在下一个时间段内用到内存中的哪些 数据呢?局部性原理就可以解决这个问题。
使用cache改善系统性能的依据就是局部性原理。
(2)内存中一共开辟了五块分区:堆、栈、全局/静态存储区(数据区和BBS区)、文字常量和程序代码区(文本区)。
(3)堆栈的区别参考下面文章:/article/6986418.html
VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口。关于各种变量的内存如下。
VC运行结果:
VS运行结果:
(1)寄存器是在CPU上的存储器,CPU通过寄存器来对内存进行访问。
CPU(寄存器)<->Cache<->内存
参考:/article/7830459.html
cache是一种高速缓冲存储器,她的主要作用是提高CPU数据输入的速率,调和CPU速度与内存存储速度之间的巨大差异。cache是一种高速缓冲存储器,她的主要作用是提高CPU数据输入的速率,调和CPU速度与内存存储速度之间的巨大差异。
通俗一点说就是CPU太快,内存速度相对比较慢,而cache的速度快,但是cache的价格比较昂贵。人们想到一个办法就是利用小容量的cache在CPU和内存中间当桥梁,也就是说把CPU在下一个时间段需要用到的数据提前存入cache中,当 CPU需要的时候可以快速的从Cache中取得数据,这样就可以在一定程度上提高计算机的性能。但是怎样才能知道CPU在下一个时间段内用到内存中的哪些 数据呢?局部性原理就可以解决这个问题。
使用cache改善系统性能的依据就是局部性原理。
(2)内存中一共开辟了五块分区:堆、栈、全局/静态存储区(数据区和BBS区)、文字常量和程序代码区(文本区)。
(3)堆栈的区别参考下面文章:/article/6986418.html
相关文章推荐
- 结构体数组,平均成绩,指针的三种表示方法
- 简单的C语言猜数字小游戏
- 简单的C语言猜数字小游戏
- C++ 知识点1
- C++函数返回值,你必须注意的问题
- c++中各个数据类型的大小
- c++中各个数据类型的大小
- C语言之统计输入字符数量
- C语言之统计输入字符数量
- C++堆和栈的分配
- C++中引用与指针
- 简单的计算器程序 c++
- 初学者对C++的切身感受
- [OOD-More C++ Idioms] 写时拷贝 (Copy on Write)
- c++ 资源大全
- c++ 开源库
- C语言文法
- effective c++:宁以pass-by-reference-to-const替代pass-by-value
- c++ 工具
- 使用CxImage静态库的正确配置