微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > S3C2440学习笔记一(系统频率以及一些入门级问题)

S3C2440学习笔记一(系统频率以及一些入门级问题)

时间:08-10 来源:互联网 点击:

④对于GPIO如何控制,IO有多少功能?


大致有三个寄存器,拿portB口来说吧,GPBCON用来控制整个B口的功能,GPBDAT用来确定是高电平还是低电平,GPBUP就是要不要选择上拉。第二第三功能后面再说。

⑤什么是协处理器?


协处理器,一种芯片,用于减轻系统微处理器的特定处理任务。超级CPU,PC机一般没有协处理器,速度快乐,不需要帮忙了,ARM微处理器指令包括5条:一 CDP协处理器数操作指令,二 LDC协处理器数据加载指令,三 STC协处理器存储指令,四 MCR ARM处理器寄存器到协处理器的数据传送指令,五MRC协处理器寄存器到ARM处理器寄存器的数据传送指令。arm920T协处理器CP15。

⑥什么是影子寄存器?


所有的影子寄存器都是一个实际存在的物理寄存器,通过引入影子寄存器,指令可以重复使用相同的寄存器编码,但是在不同模式下,这些编码对应不同的物理寄存器。引入影子寄存器的另外一个目的是当中断或异常产生时,CPU会将当前“CPU的状态”保存在影子寄存器中。从CPU角度看,它的“状态”包括: (1) PC(也就是R15)值 (2) CPSR的值。您也许认为R0等通用寄存器也是状态,从某种意义上说您是对的。但是那些不是“CPU的状态”,它们是“应用的状态”。当中断或异常产生后,CPU并不关心它们,CPU只是:(1) PC值被保存在当前模式下的R14中 (2)CPSR值被保存在当前模式下的影子寄存器中

保存CPU的状态是一种廉价的操作,但是要保存应用的状态可就很昂贵了,因为至少有13个寄存器(R0 ~ R12)需要保存,为了加快这种操作,ARM的内存访问指令可以将一组寄存器的内容保存到内存中,反之亦然。(后面复习时再彻底分析)

⑦THUMB指令如何对使PC工作?


原来ARM指令集是32位的,然而也兼容16位的THUMB指令集,Thumb指令集是ARM指令集的一个子集,是针对代码密度问题而提出的,它具有16位的代码宽度。当处理器在执行ARM程序段时,称ARM处理器处于ARM工作状态,当处理器在执行Thumb程序段时,称ARM处理器处于Thumb工作状态。Thumb指令集并没有改变ARM体系底层的编程模型,只是在该模型上增加了一些限制条件,只要遵循一定的调用规则,Thumb子程序和ARM子程序就可以互相调用。Thumb指令与ARM指令的时间效率和空间效率关系为:

Thumb代码所需的存储空间约为ARM代码的60%~70%。

Thumb代码使用的指令数比ARM代码多约30%~40%。

若使用32位的存储器,ARM代码比Thumb代码快约40%。

若使用16位的存储器,Thumb代码比ARM代码快约40%~50%。

与ARM代码相比较,使用Thumb代码,存储器的功耗会降低约30%。

显然,ARM指令集和Thumb指令集各有其优点,若对系统的性能有较高要求,应使用32位的存储系统和ARM指令集,若对系统的成本及功耗有较高要求,则应使用16位的存储系统和Thumb指令集。当然,若两者结合使用,充分发挥其各自的优点,会取得更好的效果。

⑧留给后面的问题:一程序是如何编译的,②程序是如何变成机器码或者二进制代码,如何烧录到目标板的,三硬件是根据内部电路和储存电荷跑起来的,四程序是如何编译和连接的,五ucos-II和linux有何不同,两种有何优劣。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top