前戏

在上篇文章,咱们知道了程序和进程的区别。那程序是怎么在处理器(CPU)中运行的呢?

CPU简易架构

那么下面我们来简单的介绍下CPU的运行过程,当然我不可能将现代CPU的执行情况全部分析的一清二楚,毕竟CPU的执行非常复杂。但是万变不离其宗,大致的执行情况。就如下图所示:

右边是存储介质。

寄存器:受芯片面积和集成度所限,容量小。但访问速度最快。

cache:高速缓冲存储器

内存:访问速度快,没有硬盘快。

硬盘:存储量大,访问速度慢。例如歌曲,电影存放位置。

网络:存储量巨大,近乎无限。

左边是CPU基本处理过程

预存指令->译码->执行->回写数据

MMU

用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权,多用户多进程操作系统。下图展示MMU的具体作用:

手工画

a.out和app是独立的进程,独立的进程地址空间,映射过程都是MMU来完成,这个映射的过程很复杂,不展开讲解。可以网上寻找参考资料。

好了,本文就到这里了。以后的文章我尽量简短扼要,你们觉得这样可以吗?欢迎提建议!

本文原创,转载标明出处。

作者:cpp软件架构狮

感谢各位支持,点击屏幕右上角的【关注】每天文章不落下。感激不尽!

本头条号文章分类目录(精心整理)

相关文章