程序必须放在什么内,计算机才可以执行命令

程序必须放在什么内,计算机才可以执行命令,第1张

计算机程序必须装载到内存中才能执行。

计算机程序又称“计算机软件”。通过指令的顺序,使计算机能按所要求的功能进闹拍行精确记述的逻辑方法。计算机本身作为机器可以获得专利,但计算机程序是一种数学逻辑方法,各国一般不予保护。随着电码答子技术的广泛应用,导致产生了专门提供计算机所需软件的新兴工业部门及新型商品——计算机程序。因此,也产生了对此类创造性活动的产品予以保护的需要。美国1980年12月12日生效的新修订专利法已将计算机程序列为版权的保护对象。不过一些学者认液模羡为,用专利法或派权法对软件进行保护均不适宜,因为软件的寿命较短,经常变化,而专利的保护期一般是10—20年,版权的保护期更长如有必要,对软件的保护还应另颁单行法规更为适宜。世界知识产权组织也曾召开专家会议,讨论对计算机软件的保护问题。会议建议补充专利法、版权法及不正当竞争法,酌情建立计算机程序保护制度。

x86cpu和单片机读取程序的具体途径pc机在运行程序的时候将程序从外存(硬盘)中,调入到RAM中运行,cpu从RAM中读取程序和数据而单片机的程序则是固化在flash中,cpu运行时直接从flash中读取程序,从RAM中读取数据造成这种差别的具体原因分析x86构架的cpu是基于冯.诺依曼体系的,即数据和程序存储在一起,而且pc机的RAM资源相当丰富,从几十M到几百M甚至是几个G,客观上能够承受大量的程序数据。单片机的构架大多是哈弗体系的,即程序和数据分开存储,纤桐前而且单片的片内RAM资源是相当有限的,内部的RAM过大会带来成本的大幅度提高。通过上面的分析可得知:单片机的程序能存储于flash中是基于两点考虑,即体系结构和RAM资源的多少。因此,在技术不但进步片内RAM容量不断增多的今天,RAM资源已经不再是制约这种差别的主要因素,而对于体系机构我们只要更改cpu读取程序的方式就可以。将嵌入式系统的程序存于RAM中的具体做法“对于很多的嵌入式系统,其代码很多都存储在norflash中,运行也是直接在flash中运行.我最近了解到我新公司的软件中的一段代码当时为了提高运行速度被加载到ram中运行.当时他们是花了很多时间来解决这个问题的.我仔细研究了一下链接脚本,用的是gnu的linux的交叉工具链.地址分配是写在一个ld脚本中的.他们是这样实现的:1,将你需要在ram中运行的代码写在单独的一个c文件毁清中,然后在脚本中设置其运行地址与存放地址分开.设置好必要的代码起始和结束的标轮陆志变量.2,在代码中将存放地址处的代码拷贝到运行地址中.冯.诺依曼体系与哈佛体系的区别二者的区别就是程序空间和数据空间是否是一体的。早期的微处理器大多采用冯诺依曼结构,典型代表是Intel公司的X86微处理器。取指令和取 *** 作数都在同一总线上,通过分时复用的方式进行的。缺点是在高速运行时,不能达到同时取指令和取 *** 作数,从而形成了传输过程的瓶颈。哈佛总线技术应用是以DSP和ARM为代表的。采用哈佛总线体系结构的芯片内部程序空间和数据空间是分开的,这就允许同时取指令和取 *** 作数,从而大大提高了运算能力。例如STM320LF240x系列DSP是增强型的哈佛结构通过三组并行的总线访问多个存储空间。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12527381.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存