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

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

    关注

    38

    文章

    7148

    浏览量

    161997
  • 计算机
    +关注

    关注

    19

    文章

    6649

    浏览量

    84534
  • 程序
    +关注

    关注

    114

    文章

    3631

    浏览量

    79543

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

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

收藏 人收藏

    评论

    相关推荐

    【量子计算机重构未来 | 阅读体验】+ 了解量子叠加原理

    )。通过逻辑门来执行操作二进制数据,逻辑门是一种基本电路,它可以将一个或多个输入转换为输出。逻辑门包括与门、或门、非门等等,将许许多多逻辑门组合起来就可以构建复杂的电路来执行各种操作,电子计算机中
    发表于 03-13 17:19

    【量子计算机重构未来 | 阅读体验】+量子计算机的原理究竟是什么以及有哪些应用

    很多有名人物,也可以概览下。 总结本人作为科普小品还是可以看看的,一些距离也比较形象比较有意思,但是个人觉得还是没有解释清楚前面已开始提到的两个问题,量子计算机的原理和应用,前者需要解释的是到底是如何计算的如恶化得到有效结果
    发表于 03-11 12:50

    【量子计算机重构未来 | 阅读体验】+ 初识量子计算机

    欣喜收到《量子计算机——重构未来》一书,感谢电子发烧友论坛提供了一个让我了解量子计算机的机会! 自己对电子计算机有点了解,但对量子计算机真是一无所知,只是听说过量子纠缠、超快的运算速
    发表于 03-05 17:37

    系统内存和运行内存的区别

    系统内存和运行内存都是计算机中重要的概念,它们在计算机的存储和运行方面起着不可或缺的作用。虽然它们与计算机存储和
    的头像 发表于 01-15 16:32 686次阅读

    微机原理和计算机组成原理的区别

    来看微机原理和计算机组成原理的区别。微机原理是指微型计算机的工作原理,主要包括计算机的基本组成和运行原理,如中央处理器(CPU)、存储器、输入输出设备等,以及它们之间的连接方式和控制方
    的头像 发表于 01-14 14:56 1167次阅读

    量子计算机的作用有哪些

    的影响,被认为是未来计算机技术的重要发展方向。 一、量子计算机的基本概念 量子计算机的核心是量子比特,与经典计算机中的比特不同,量子比特可以同时处于0和1的状态,这种现象被称为“叠加态
    的头像 发表于 12-30 14:32 681次阅读

    计算机中的ELF文件解析

    关于计算机的文件有很多种,今天分享一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格式文件。
    发表于 09-13 10:12 510次阅读
    <b class='flag-5'>计算机中</b>的ELF文件解析

    工业计算机的应用

    工业计算机在半导体设备上的应用,具体在哪一方面。比如说图像处理使用什么样的计算机,工业控制使用哪一方面的计算机
    发表于 09-12 14:19

    cmos技术在计算机中的应用

    cmos技术在计算机中的应用 CMOS技术(互补金属氧化物半导体技术)是现代电子设备制造过程中使用最广泛的技术之一。CMOS技术结合了MOSFET晶体管的特性,利用正负电荷的互补作用,使得芯片的功耗
    的头像 发表于 09-05 17:39 1070次阅读

    计算机组成与设计

    计算机组成与设计 计算机组成与设计是计算机科学中最基础的课程之一,它主要阐述了计算机的组成原理和设计方法。随着计算机技术的快速发展,
    的头像 发表于 08-17 12:37 932次阅读

    计算机设计8位字节为何最受欢迎?

    这个整数表示方法对我来说真的很奇怪 —— 为什么不用更有效率的二进制来存储整数呢?在早期的计算机中,效率非常重要!
    的头像 发表于 06-15 09:26 634次阅读
    <b class='flag-5'>计算机</b>设计8位字节为何最受欢迎?

    通俗点什么叫量子 量子计算机原理及用途

     量子计算机是一种基于量子力学原理设计的计算机,它使用量子比特(qubit)而非传统计算机中的比特来存储和处理信息。
    发表于 06-14 17:34 2467次阅读

    计算机的内存和外存别再分不清了

    内存,是大家对内部存储器的简称,当然,我们也可以叫内部存储器为主存。它是计算机中最重要的部件之一。** 内存是计算机运行过程中存放需要运行程序和数据的地方。
    的头像 发表于 05-26 11:03 7387次阅读
    <b class='flag-5'>计算机</b>的内存和外存别再分不清了

    量子计算机中的高频与高速

    在量子计算机中,同轴连接器和线缆是一种常见的传输和控制微波信号的技术。这些组件可以帮助将信号从外部控制器传输到量子比特,从而实现量子计算的操作和运行
    的头像 发表于 05-11 16:30 797次阅读
    量子<b class='flag-5'>计算机中</b>的高频与高速

    计算机系统的小常识

    计算机系统指用于数据库管理的计算机硬软件及网络系统。数据库系统需要大容量的主存以存放和运行操作系统、数据库管理系统程序、应用程序以及数据库、
    的头像 发表于 05-09 16:05 547次阅读