12.程序运行为啥需要内存


12.1.计算机程序的本质
(1)计算机程序的目的是为了去运行,程序运行是为了得到一定的结果。计算机程序的本质都是在做计算。计算就是计算数据,譬如视频播放器程序的本质就是在做视频数据编解码的计算。计算机程序=代码+数据,代码就是加工数据的动作,数据就是被代码加工的数字。程序运行得到结果,等价于代码+数据+运行=结果。
(2)程序运行的目的就是得到结果或过程。用函数类比:函数形参和局部变量就是被加工的数据,函数体就是代码,函数体的执行过程就是运行,函数的返回值就是结果。有的函数重视结果、有的函数重视运行过程、有的函数既重视结果又重视运行过程。
(3)计算机程序运行的过程,其实就是很多个函数相继运行的过程。程序是由很多个函数组成的,程序的本质就是函数,函数的本质就是加工数据的动作。


12.2.冯诺依曼结构和哈佛结构
(1)冯诺依曼结构是数据和代码存放在一起,哈佛结构是数据和代码分开存放。数据即全局变量和局部变量;代码即函数。
(2)在S5PV210中运行的linux系统上,运行应用程序时所有的应用程序的代码和数据都DRAM动态内存中,所以该结构就是冯诺依曼结构;在单片机中,我们将程序烧录到Flash(NorFlash)中,程序在Flash中原地运行,程序中所涉及到的数据放在RAM静态内存(SRAM)中,所以该结构就是哈佛结构。


12.3.为啥需要内存
(1)内存是用来存储可变数据的,数据在程序中表现为全局变量、局部变量等(在gcc中,常量存储在内存中)(在大部分单片机中,常量存储在Flash中,也就是在代码段)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值