找回密码
 注册

cpu程序是如何运行的呢?

2025-1-23 17:27| 查看: 88| 评论: 0

摘要: 摘要:计算机的内存,计算机中所有程序的运行都在内存中进行,也就是你电脑的内存条中运行的。计算机内存也被称为随机访问存储器,Random Access Memory,简称 RAM。 内存一般用于存放程序指令和运算数据,帮助 CPU ...

摘要:计算机的内存,计算机中所有程序的运行都在内存中进行,也就是你电脑的内存条中运行的。计算机内存也被称为随机访问存储器,Random Access Memory,简称 RAM。


内存一般用于存放程序指令和运算数据,帮助 CPU 与硬盘等外部存储设备进行数据的交换,内存只能临时存放程序的指令和数据,当电脑关闭之后,内存当中的数据就会随之消失。计算机当中的程序指令,或者是操作数据都是以二进制的形式在内存当中存储和计算的。


我们可以将内存看作是排成一排的方格,每个方格可以存储 0 或者是 1 这两种数字。


一个方格也被称为一个比特位,将 8 个连续的比特分为一组,代表 1 个字节 byte。如果将内存比作是一栋大楼的话,那么字节就是大楼当中的房间,而每个房间都对应一个唯一的门牌,所以每个字节都有一个唯一的地址。那么这些地址也被称为内存地址。通过内存地址,我们可以访问内存当中的每一个字节。内存地址一般用 16 进制表示,16 进制表示的数字用 0X 开头,假如说内存地址从八个 0 到八个 F,那个内存的大小就是 16 的八次方,也就是 2^32 次方个字节=4GB 大小。


使用 Windows 当中的 DEBUG 程序,可以模拟并且查看 CPU、寄存器,还有内存当中的相关数据,这里我们使用 DEBUG 命令主要是为了更加直观的观察和理解内存,观察到的数据并不是当前内存当中真实的数据。


那么我们除了使用字节为单位来表示内存的大小,还可以使用千字节 KB,兆字节 MB,还有千兆字节 GB 来表示,一般现在的计算机都是以 GB 来形容内存的大小,其中 1KB 等于 1024 字节,1MB 等于 1024KB,1GB 等于 1024MB,那么 2^23 方字节就是 4GB 了。


那么程序到底是如何运行的呢?开发的软件放在我们电脑的硬盘上,比如电脑上我们经常使用的 QQ 软件,点击 QQ 图标—>右击—>属性。可以看到 QQ 是一个.exe可执行文件。当我们双击 QQ 时,QQ 程序就会运行起来。


程序在运行过程中要先放到从内存中。就以这个 QQ 为例,QQ.exe文件肯定是用某一个编译器生成的文件。通过在编译器中写好代码,然后编译、连接,将我们学过的函数啊、代码啊、变量啊等等转换成电脑 CPU 可识别的 010101... 数字。也就是我们写的代码包含了大量的 CPU 能识别的机器代码、CPU 指令。生成的.exe文件里面就是 0101010101…..。


CPU 读取内存中的数据,读取指令控制执行相应的操作。在 CPU 内部有寄存器、运算器和控制器。因为寄存器就在内部,所以说内存中需要计算的数据首先要将其拿到寄存器中进行运算,将算好的数据送回到内存中去。


通常 CPU 会先将内存中的数据存储到寄存器中,然后再对寄存器中的数据进行运算。假设内存中有块红色内存空间的值是 3,现在想把它的值加 1,并将结果存储到蓝色内存空间。


1、CPU 首先会将红色内存空间的值放到 EAX 寄存器中:mov eax,红色内存空间


2、然后让 EAX 寄存器与 1 相加:add eax,1


3、最后将值赋值给内存空间:mov 蓝色内存空间,eax



本站资讯文章系编辑转载,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!
[声明]本站文章版权归原作者所有 内容为作者个人观点 本站只提供参考并不构成任何投资及应用建议。
本站拥有对此声明的最终解释权。
收藏 邀请

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-2-7 02:44 , Processed in 0.062500 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

返回顶部