当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]保存在存储器中的内容可以是程序,也可以是数据。程序是ARM处理器可以运行的指令代码,数据是指令在运行中用到的操作数或者变量。

保存在存储器中的内容可以是程序,也可以是数据。程序是ARM处理器可以运行的指令代码,数据是指令在运行中用到的操作数或者变量。

1、程序存储

ARM处理器支持两种指令,一种是ARM汇编指令,一种是Thumb汇编指令。ARM汇编指令是32位长,即每条ARM汇编指令都是由四个字节的存储空间保存,所以ARM处理器在执行地址a的ARM汇编指令时,会从地址a + 4取下一条指令。Thumb汇编指令是16位长,即每条Thumb汇编指令都是由两个字节的存储空间保存,所以ARM处理器在执行地址a的Thumb汇编指令时,会从地址a + 2取下一条指令。

ARM处理器可以执行两种格式的指令,运行不同格式的汇编指令在执行和取指方面有很大不同。为了区分,ARM内核可以工作在两种工作状态下。

l ARM状态 此时执行32位字对齐的ARM汇编指令。在这种状态下,ARM处理器对指令的存储、读取或者执行都是以一个字(即32位)为基本单位;

l THUMB状态 此时执行16位半字对齐的Thumb汇编指令。在这种状态下,ARM处理器对指令的存储、读取或者执行都是以一个半字(即16位)为基本单位;

l 这两种工作状态可以转换,但转换不影响处理器状态和寄存器的内容。

2、数据存储

ARM处理器对数据操作(读或写)支持三种数据长度:字节(8位)、半字(16位)、字(32位)。假设在地址为0x0000~0x0004的内存空间保存了如图1所示的数据,下面我们以三种数据长度从内存空间读取数据。(假设数据的存储格式是小端存储格式)

 

 

图1 内存空间的内容

l 字节:从地址0x0000处取一个字节数据,则取出来的内容为12;从地址0x0001处取一个字节数据,则取出来的内容为34;

l 半字:从地址0x0000处取一个半字数据,则取出来的内容为3412;从地址0x0001处取一个半字数据,则取出来的内容为5634;

l 字:从地址0x0000处取一个字数据,则取出来的内容为78563412;从地址0x0001处取一个字数据,则取出来的内容为9A785634。

需要注意的是,ARM处理器在对数据操作时要边界对齐,要找到正确的地址。在对16位数据操作时,地址数据末位(0)应该为0,在对32位数据操作时,地址数据末两位(1:0)应该都为0。比如上面对字进行操作时,ARM处理器不允许从地址0x0001处读取一个字内容出来。

现在常用的ARM版本中,都不支持非对齐字的传输(ARMv3、ARMv4、ARMv5)。在ARMv6中,开始支持非对齐字的传输。

3、“冯·诺依曼”体系结构和“哈佛”体系结构

说到ARM程序与数据存储,应该讲一下“冯·诺依曼”体系结构和“哈佛”体系结构。因为ARM7系列采用冯·诺依曼体系结构,而ARM9~ARM11采用哈佛体系机构。两种结构描述如下:

“冯·诺依曼”体系结构

20世纪30年代中期,德国科学家冯诺依曼大胆的提出,抛弃十进制,采用二进制作为数字计算机的数制基础。同时,他还说预先编制计算程序,然后由计算机来按照人们事前制定的计算顺序来执行数值计算工作。

冯诺依曼理论的要点是:数字计算机的数制采用二进制;计算机应该按照程序顺序执行。

其主要内容是:

l 计算机由控制器、运算器、存储器、输入设备、输出设备五大部分组成。

l 程序和数据以二进制代码形式不加区别地存放在存储器中,存放位置由地址确定。

l 控制器根据存放在存储器中地指令序列(程序)进行工作,并由一个程序计数器控制指令地执行。控制器具有判断能力,能根据计算结果选择不同的工作流程。

 

 

“哈佛”体系结构

数字信号处理一般需要较大的运算量和较高的运算速度,为了提高数据吞吐量,在数字信号处理器中大多采用哈佛结构。

哈佛结构特点如下:

l 使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理;

l 具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据存储模块与CPU之间的数据传输;

 

 

两种结构区别

在典型情况下,完成一条指令需要3个步骤,即:取指令、指令译码和执行指令。从指令流的定时关系也可看出冯.诺曼结构与哈佛结构处理方式的差别。

举一个最简单的对存储器进行读写操作的指令,指令1至指令3均为存、取数指令,对冯.诺曼结构处理器,由于取指令和存取数据要从同一个存储空间存取,经由同一总线传输,因而它们无法重叠执行,只有一个完成后再进行下一个。

如果采用哈佛结构处理以上同样的3条存取数指令,如下图所示,由于取指令和存取数据分别经由不同的存储空间和不同的总线,使得各条指令可以重叠执行,这样,也就克服了数据流传输的瓶颈,提高了运算速度。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

北京2024年7月2日 /美通社/ -- AIGC作为当下最火的技术话题,其业务流程涉及到数据的采集、处理、训练、推理和归档五个阶段,每个阶段都面临着不同的存储需求和挑战。随着数据量的爆炸性增长,特别是随着多模态数据的快...

关键字: LAN CE AI 数据存储

本文主要介绍M33核的两种工程调试开发,第一种方式是通过板子自带的固件进行开发,第二种方式是使用 IAR Embedded Workbench 来构建可移植的Freertos文件进行开发。

关键字: 开发板 处理器

7月1日消息,非常意外,龙芯中科最新的龙芯3A6000处理器已经低调出现在了美国市场上,阿里速卖通上已有商家在销售各种主板、套装、整机,两套平台款,都有丰富的配置,价格不一。

关键字: 龙芯3A6000 芯片 处理器

为了满足日益增长的数据存储需求,铁威马凭借其卓越的技术实力和创新能力,推出了D4-320硬盘柜——一款集大容量、高速、安静于一体的硬盘柜解决方案,为用户提供了安全、高效的数据存储的第一选择。

关键字: 铁威马 数据存储

台北2024年6月6日 /美通社/ -- 全球信息处理动态固件领军企业AMI荣幸地宣布,将推出适用于ASPEED 2700服务器管理处理器平台的MegaRAC OneTree™。 这项基于OpenBMC™的创新解决方案具...

关键字: SPEED 处理器 PEN AC

在当今这个数据爆炸的时代,企业对于高效、稳定的数据存储解决方案的需求日益迫切。铁威马,作为国内知名的存储解决方案提供商,专为企业用户打造,为高效存储而生的NAS设备T系列,如T9-450 ,以其卓越的性能和超大容量,成为...

关键字: 数据存储 铁威马T9-450

5月22-23日,由米尔电子和瑞萨电子联合举办的“瑞萨电子基于RZ/G2L的OpenAMP混合部署实战培训”在深圳福田区深业上城举办,课堂氛围非常活跃,下面我们一起来看看这两天培训现场的精彩瞬间吧!另有武汉(6月13日)...

关键字: 处理器 以太网 人机界面

众所周知,现如今企业对于数据存储和管理的需求日益增长,为满足广大企业用户的实际需求,恰逢6.18,铁威马特别推出T系列NAS(网络附加存储)企业特惠季活动,以低至六折的优惠价格,让您轻松拥有高效、稳定的办公利器。

关键字: 数据存储 T系列NAS

业内消息,昨天联发科正式推出了天玑 7300 系列处理器,系列采用台积电 4nm 工艺,CPU 架构为 4+4 二丛设计,包括四个 Cortex-A78 大核(2.5 GHz)和四个 Cortex-A55 小核;GPU...

关键字: 联发科 天玑7300 处理器

互联网的无处不在,以至于数据存储已成为中小企业日常运营中不可或缺的一环。面对日益增长的数据量和日益复杂的数据管理需求,如何高效、安全、经济地存储数据,成为中小企业亟待解决的问题。今天就与大家分享,作为一体机以其卓越的性能...

关键字: 数据存储 处理器
关闭
关闭