Ⅰ 计算机中的软件在运行时,系统会将其先加载到哪里
计算机正在运行的程序存放在RAM(内存)里。
RAM是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。
它的组成是:内存是由内存芯片、电路板、金手指等部分组成的。
计算机运行程序:整个过程可以总结为编译、链接、装载、执行。
1、编译:编译过程又可以被分为两个阶段:编译、汇编。编译是指编译器读取字符流的源程序,对其进行词法与语法的分析,将高级语言指令转换为功能等效的汇编代码。汇编器是将汇编代码转变成机器可以执行的命令,每一个汇编语句几乎都对应一条机器指令。
2、链接:链接的主要内容是将各个模块之间相互引用的部分处理好,使得各个模块之间能够正确地衔接。
3、装载:程序在经过链接后,得到了可执行文件,下一步就需要将可执行程序加载到内存中。由于现代操作系统均采用分页的方式来管理内存,所以操作系统只需要读取可执行文件的文件头,之后建立起可执行文件到虚拟内存的映射关系,而不需要真正的将程序载入内存。
4、运行:加载器将可执行目标文件中的代码和数据从磁盘复制到内存中,然后通过跳转到程序的第一条指令或入口点来运行程序。
Ⅱ 在cpu运行程序时,必须把程序放在哪
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是增强型的哈佛结构通过三组并行的总线访问多个存储空间。
Ⅲ 任何电脑程序必需先加载到哪里才能被cpu处理
内存
程序运行时先由硬盘或者其它的媒介加载进内存,然后由CPU进行处理。内存读写速度很快。
Ⅳ 任何程序都必须加载到( )中才能被CPU执行
任何程序都必须加载到内存中才能被CPU执行。
内存用于暂时存放CPU中的运算数据,与硬盘等外部存储器交换的数据。是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行。只要计算机开始运行,操作系统就会把需要运算的数据从内存调到CPU中进行运算。当运算完成,CPU将结果传送出来。
(4)程序运行时需要先将其装载到哪里扩展阅读:
平常使用的程序,如:Windows操作系统、打字软件、游戏软件等。一般安装在硬盘等外存上,但仅此是不能使用其功能,必须把它们调入内存中运行,才能真正使用其功能。
平时输入一段文字或玩一个游戏,其实是在内存中进行。好比在一个书房,存放书籍的书架和书柜相当于电脑的外存,工作的办公桌相当于内存。
通常,把要永久保存、大量数据存储在外存上,把一些临时或少量的数据和程序放在内存上。内存的好坏会直接影响电脑的运行速度。