嵌入式 linux基于arm中,问题如下, 希望麻烦回答一下,一定和采纳
1:存储器分为三种包括Cache主存和外存,书上说贮存是寄存器,用来存放系统和用户的程序以及数据,这句话怎么理解?主存存放程序和数据的不是一般的逻辑矩阵存储器么?难道都是...
1:存储器分为三种包括Cache主存和外存,书上说贮存是寄存器,用来存放系统和用户的程序以及数据,这句话怎么理解?主存存放程序和数据的不是一般的逻辑矩阵存储器么?难道都是以寄存器的方式储存?
2:主存分为rom和ram类,这两个类在功用上分别储存什么?有什么区别??? 展开
2:主存分为rom和ram类,这两个类在功用上分别储存什么?有什么区别??? 展开
1个回答
展开全部
1、
外存、就是我们pc上的内存(RAM)、所有需要运行的程序都会从硬盘或ROM里面拷贝到这里面运行,一些数据和遍历 也都放置这里。
由于外出的响应速度比CPU的指令执行速度慢、所以一般先将一批数据读取到cache缓存、然后CPU再从缓存读取。CPU读取的数据一般都是连续的、所以可以一次将一批数据读到cache(硬件自动完成),以供给CPU,cache的响应速度比外存快得多。
寄存器主要供CPU使用、他的响应速度比cache更快。一般、局部变量、函数参数和返回值、以及CPU运算的中间结果都用寄存器。
2、
ROM是只读的、程序就下载到这里保存,因为只读、所以不会被意外修改,安全。
RAM是可读可写的、程序要执行、一般就将程序拷贝到RAM、然后从RAM读指令执行,这部分被称为text.section。全局变量、堆栈都在RAM上。
当然、一些情况下、程序执行时不从ROM拷贝到RAM、直接从ROM读取指令执行。但是响应速度慢、只有单片机是这样,到来ARM就不会这样做。
嵌入式ARM和PC机的情况基本一样,最难的就是内存控制器这部分,cache和虚拟内存都靠他实现。
外存、就是我们pc上的内存(RAM)、所有需要运行的程序都会从硬盘或ROM里面拷贝到这里面运行,一些数据和遍历 也都放置这里。
由于外出的响应速度比CPU的指令执行速度慢、所以一般先将一批数据读取到cache缓存、然后CPU再从缓存读取。CPU读取的数据一般都是连续的、所以可以一次将一批数据读到cache(硬件自动完成),以供给CPU,cache的响应速度比外存快得多。
寄存器主要供CPU使用、他的响应速度比cache更快。一般、局部变量、函数参数和返回值、以及CPU运算的中间结果都用寄存器。
2、
ROM是只读的、程序就下载到这里保存,因为只读、所以不会被意外修改,安全。
RAM是可读可写的、程序要执行、一般就将程序拷贝到RAM、然后从RAM读指令执行,这部分被称为text.section。全局变量、堆栈都在RAM上。
当然、一些情况下、程序执行时不从ROM拷贝到RAM、直接从ROM读取指令执行。但是响应速度慢、只有单片机是这样,到来ARM就不会这样做。
嵌入式ARM和PC机的情况基本一样,最难的就是内存控制器这部分,cache和虚拟内存都靠他实现。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询