为什么编好的程序和原始数据得事先存到存储器中,cpu才能够从地址当中加载指令?

如题所述

程序执行的过程: 1、写好一个程序,经过编译、链接后会生成一个可执行文件,在linux平台下是ELF(Executable Linkable Format)格式的,windows平台下是PE(Portable Executable)格式的。 2、然后你执行这个可执行文件,这个可执行文件里面的代码段、数据段和BSS段会被加载到PC或者某设备的内存中。代码段里放的就是指令,所以内存里的指令是通过执行某可执行文件加载到内存里的。 3、CPU会从代码段的起始地址,调用第一条指令,开始执行。如果没有遇到跳转指令就顺序执行:假设代码段起始地址是0x100,那么就是先执行0x100这个地址里的指令,然后再执。原因就是硬盘和内存在传输之间是有不同的地方的。计算机所有设备各部件之间的延时排列由高到低,依次为机械硬盘、固态硬盘、存储器和CPU;从数据响应速度来看,存储器明显优于硬盘。数据的读写速度与固态磁盘的读写速度相差甚远。 实际上,计算机内存和CPU缓存的功能是一样的。实际上,它是CPU和硬盘之间的一个临时存储区。CPU需要访问和处理的数据将通过这里。当计算机工作时,首先将要使用的东西从硬盘调用到内存,然后根据情况在CPU中输入各级缓存,最后由CPU调用。 同时,内存也是数据临时存储的地方。例如,可以使用文本软件输入一段文本,也可以使用绘图软件绘制图片。在您按下保存按钮或软件帮助您自动保存之前。
计算机区分指令和数据有以下2种方法: 1、通过不同的时间段来区分指令和数据,即在取指令阶段(或取指微程序)取出的为指令,在执行指令阶段(或相应微程序)取出的即为数据。 2、通过地址来源区分,由PC提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数。 存储器中的每段存储空间都会有一个地址,每个指令都包括一段操作数和一段空间地址,cpu会根据操作数去处理地址所指的数据。 一般计算机先读取存储器最开始的内容(这一部分是指令),然后加载操作系统(先是LOADER)后由操作系统对硬盘文件系统结构(即是数据)以判断其他数据和指令的位置。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-10-14
原始数据是用户数据库中的数据,或者是终端用户所存储使用的各种数据,是未经过处理或简化的数据,这些数据可能是也可能不是机器可读形式。它构成了物理存在的数据。原始数据有多种存在形式,如文本数据,图像数据,音频数据或者几种数据混合存在。
中文名
原始数据
外文名
raw data
又称
用户数据
元数据
又称系统数据
类型
基本类型
快速
导航
元数据基本类型研究方向
定义
在数据库中:原始数据又称用户数据,是未经过处理或简化的数据,这些数据可能是也可能不是机器可读形式。它构成了物理存在的数据。在数据库中一般是一几种基本的数据类型存在。
元数据
元数据是系统数据库中的数据,其主体是数据字典。数据字典是数据库系统中各种描述信息和控制信息的集合。元数据用来是描述其它数据的特性,并提供背景信息和含义的数据。通常,元数据也用于描述数据结构,数据要素,数据的内在关系和其它特征。它还允许数据可被追踪至产生数据的个体。[1]其使用目的在于:识别资源;评价资源;追踪资源在使用过程中的变化;实现简单高效地管理大量网络化数据;实现信息资源的有效发现、查找、一体化组织和对使用资源的有效管理。本回答被网友采纳
相似回答