0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

计算机中程序到底是如何运行的?

FPGA之家 来源:果果小师弟 作者:果果小师弟 2021-05-03 17:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

ea8965d2-990e-11eb-8b86-12bb97331649.png

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

eac91d58-990e-11eb-8b86-12bb97331649.png

一个方格也被称为一个比特位,将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了。

eba3d236-990e-11eb-8b86-12bb97331649.png

那么程序到底是如何运行的呢?开发的软件放在我们电脑的硬盘上,比如电脑上我们经常使用的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

ec1f41be-990e-11eb-8b86-12bb97331649.png

原文标题:程序是如何运行的呢?

文章出处:【微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    39

    文章

    7756

    浏览量

    172207
  • 计算机
    +关注

    关注

    19

    文章

    7841

    浏览量

    93464
  • 程序
    +关注

    关注

    117

    文章

    3848

    浏览量

    85472

原文标题:程序是如何运行的呢?

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Renesas 3858 组单芯片 8 位 CMOS 微计算机深度解析

    Renesas 3858 组单芯片 8 位 CMOS 微计算机深度解析 在电子设备不断发展的今天,微计算机作为核心部件,其性能和特性对于整个系统的运行起着至关重要的作用。今天我们就来深入探讨一下
    的头像 发表于 04-13 15:00 139次阅读

    计算机专业408考研科目

    408 跨考零基础:三个月入门到精通路线 站在2026年的节点回望,计算机考研408(计算机学科专业基础综合)早已超越了单纯的知识点考核,它更像是一场对逻辑思维与系统观的深度洗礼。对于跨考且零基
    发表于 04-11 16:44

    S32 Design Studio 有一些代码文件示例,但它在本地计算机中不存在,为什么?

    S32 Design Studio 有一些代码文件示例,但它在本地计算机中不存在。
    发表于 03-17 07:28

    龙芯主板让工控计算机拥有安全可信的核心

    工控计算机,是工业自动化和智能制造领域的核心设备,负责数据采集、处理、存储与传输,实现设备的监控与控制,确保生产线的稳定运行。在现代工业生产中,工控计算机的地位不可或缺,它如同智能制造的心脏,为整个生产系统提供源源不断的动力。
    的头像 发表于 01-21 09:02 468次阅读

    工控机与普通计算机的核心差异解析

    在工业自动化和智能制造领域,计算机设备作为核心控制单元,其选择直接影响整个系统的稳定性与可靠性。工控机与普通计算机虽同属计算设备,但其设计目标、性能侧重和应用场景存在根本性差异。准确理解这些差异,是进行正确设备选型的基础。
    的头像 发表于 11-25 14:45 2002次阅读
    工控机与普通<b class='flag-5'>计算机</b>的核心差异解析

    军用导航领域嵌入式计算机分析

    在导航系统中,嵌入式计算机的核心作用是实时处理多种传感器的数据,运行复杂的导航算法,最终计算出载体的精确位置、姿态、速度和时间信息。
    的头像 发表于 09-26 16:52 1267次阅读

    IEC 到底是什么?为什么它能影响全球?

    IEC 到底是什么?为什么它能影响全球?
    的头像 发表于 09-04 17:07 3908次阅读

    【作品合集】赛昉科技VisionFive 2单板计算机开发板测评

    、OpenSUSE、OpenKylin、OpenEuler、Deepin等,及在这些操作系统上运行的各类软件。 活动详情地址: 【RISC-V专题】VisionFive 2单板计算机免费试用 作品合集: 作者
    发表于 09-04 09:08

    加固计算机是用来干什么的?

    ,具有防尘、防水、防摔的特性,内部还经过防震加固处理,确保在运输、跌落或长时间移动中依旧保持稳定运行。某些加固计算机甚至符合军用标准,能够适应极端环境和高强度任务需求。
    的头像 发表于 08-22 09:55 661次阅读

    工业计算机的重要性

    于管理用于产品检查、数据记录和数据分析的运动控制系统,以提高制造生产率。例如,汽车行业从工业边缘计算机中受益匪浅,这些计算机用于自动化制造汽车所涉及的各种过程。工业边
    的头像 发表于 07-28 16:07 727次阅读
    工业<b class='flag-5'>计算机</b>的重要性

    自动化计算机经过加固后有什么好处?

    让我们讨论一下部署坚固的自动化计算机的一些好处。1.温度范围宽自动化计算机经过工程设计,配备了支持宽温度范围的组件,使自动化计算解决方案能够在各种不同的极端环境中运行。自动化
    的头像 发表于 07-21 16:44 757次阅读
    自动化<b class='flag-5'>计算机</b>经过加固后有什么好处?

    自动化计算机的功能与用途

    工业自动化是指利用自动化计算机来控制工业环境中的流程、机器人和机械,以制造产品或其部件。工业自动化的目的是提高生产率、增加灵活性,并提升制造过程的质量。工业自动化在汽车制造中体现得最为明显,其中许多
    的头像 发表于 07-15 16:32 899次阅读
    自动化<b class='flag-5'>计算机</b>的功能与用途

    工业计算机与商用计算机的区别有哪些

    能够高效稳定地运行,减少停机时间,确保生产效率。那么工业计算机与普通商用计算机有哪些区别呢?一、组件选择与制造质量:工业级组件:使用更宽温度范围(如-20°C到60
    的头像 发表于 07-10 16:36 916次阅读
    工业<b class='flag-5'>计算机</b>与商用<b class='flag-5'>计算机</b>的区别有哪些

    Blue Lion超级计算机将在NVIDIA Vera Rubin上运行

    德国莱布尼茨超算中心(LRZ)将迎来全新超级计算机 Blue Lion,其算力比该中心现有的 SuperMUC-NG 高性能计算机提升了约 30 倍。这台新的超级计算机将在 NVIDIA Vera Rubin 架构上
    的头像 发表于 06-12 15:39 1356次阅读

    NVIDIA技术赋能欧洲最快超级计算机JUPITER

    NVIDIA 宣布,搭载 NVIDIA Grace Hopper 平台的 JUPITER 超级计算机成为欧洲最快超级计算机,其运行 HPC 和 AI 工作负载的速度是第二名的两倍以上。
    的头像 发表于 06-12 15:33 1658次阅读