文件是Linux系统处理数据的基本单位,实际上,Linux系统所有的数据以及其他实体都是按照文件组织的。shell程序使用文件名通配符可以查询符合指定条件的文件名。......
2023-11-19
1.RISC体系结构
传统的CISC(Complex Instruction Set Computer,复杂指令集计算机)结构有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂。然而,在CISC指令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%,而余下的80%的指令却不经常使用,在程序设计中只占20%。显然,这种结构是不太合理的。基于以上的不合理性,1979年美国加州大学伯克利分校提出了RISC(Reduced Instruction Set Computer,精简指令集计算机)的概念。RISC并非只是简单地减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理,从而提高运算速度上。RISC结构优先选取使用频率最高的简单指令,避免复杂指令;将指令长度固定,以控制逻辑为主,不用或少用微码控制,从而减少指令格式和寻址方式种类。
到目前为止,RISC体系结构也还没有严格的定义,一般认为,RISC体系结构应具有如下特点:
●采用固定长度的指令格式,指令归整、简单,基本寻址方式有2~3种。
●使用单周期指令,便于流水线操作执行。
●大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率。
除此以外,RISC体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗:
●所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。
●可用加载/存储指令批量传输数据,以提高数据的传输效率。
●可在一条数据处理指令中同时完成逻辑处理和移位处理。(www.chuimin.cn)
●在循环处理中使用地址的自动增减来提高运行效率。
当然,和CISC架构相比较,尽管RISC架构有上述的优点,但不能认为RISC架构就可以取代CISC架构,事实上,RISC和CISC各有优势,而且界限并不那么明显。现代的CPU往往采用CISC的外围,内部加入了RISC的特性,如超长指令集CPU就是融合了RISC和CISC的优势,成为未来的CPU发展方向之一。
2.ARM微处理器的寄存器结构
ARM处理器共有40个寄存器,被分为若干个组,这些寄存器包括:
●33个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。
●7个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。
同时,ARM处理器又有8种不同的处理器模式,在每一种处理器模式下均有一组相应的寄存器与之对应。即在任意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0~R14)、1~2个状态寄存器和程序计数器。在所有的寄存器中,有些是在8种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。关于ARM处理器的寄存器结构,在后面的相关章节将会详细描述。
3.ARM微处理器的指令结构
ARM微处理器在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。
文件是Linux系统处理数据的基本单位,实际上,Linux系统所有的数据以及其他实体都是按照文件组织的。shell程序使用文件名通配符可以查询符合指定条件的文件名。......
2023-11-19
ARM7系列微处理器为低功耗的32位RISC处理器,小型、快速、低能耗、集成式RISC内核,用于移动通信。ARM7微处理器系列具有如下特点:具有嵌入式ICE-RT逻辑,调试开发方便。ARM7系列微处理器的主要应用领域为工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI属于低端ARM处理器核。......
2023-11-21
ARM11系列微处理器是ARM公司推出的新一代RISC处理器,是ARM指令架构ARMv6的第一代设计实现。该系列主要有36J、ARM1156T2和ARM1176JZ共3个内核型号。ARM11系列微处理器在性能上有巨大提升,推出350MHz~500MHz时钟频率的内核。在0.13μm工艺,1.2V供应电压条件下,ARM11处理器的功耗可以低至0.4mW/MHz。ARM11处理器同时提供了可综合版本和半定制硬核两种实现方式。ARM11处理器在不包含Cache的情况下面积小于2.7mm2,对于复杂的SoC设计来说,如此小的尺寸对降低芯片成本有重要的作用。......
2023-11-21
加载/存储指令用于在寄存器和存储器之间传输数据,Load指令用于将存储器中数据传输到寄存器中,Store指令用于将寄存器中的数据保存到存储器中。例如:2.STR指令STR{cond}
2023-11-19
在PDA类的设备中,系统在全速运行的时候远比空闲的时候少,所以可以通过设置,使CPU尽可能工作在空闲状态,然后通过相应的中断唤醒CPU,恢复到正常工作模式,处理响应的事件,然后再进入空闲模式。CPU空闲时,降低时钟频率;处于工作状态时,提高时钟频率以全速运行处理事务。......
2023-11-08
Linux系统继承了UNIX系统的特点,文件系统的目录有约定的结构,并且每个目录也有约定的功能定义。图7.1Linux文件系统目录结构在Linux系统命令行下使用“ls/-p”可以得到根目录下目录的列表,图7.0是一个示意图。fsck程序会检测并尝试恢复不正确的文件,被恢复的文件会放在这个目录下。此目录并不是强制要求,目的是为了系统目录工整。创建硬链接后,已经存在的文件的I节点号会被多个目录文件项使用。......
2023-11-19
Bootloader是具有引导功能的程序,在嵌入式系统中,Bootloader是系统加电后运行的第一段代码。Bootloader运行在内核之前,其作用是进行基本的初始化工作。图6.13Linux系统的典型分区结构BootLoader是严重地依赖于硬件而实现的,其任务可以划分为两个阶段:第一阶段●基本硬件设备初始化;●为第二阶段准备RAM空间;●复制Bootloader的第二阶段代码到RAM;●设置堆栈;●跳转到第二阶段的C程序入口点。......
2023-11-19
相对于传统的嵌入式系统设计方法,引入了软硬件“协同设计”概念的嵌入式系统设计方法能较好地弥补传统嵌入式系统设计方法的不足。如图11.1所示为一种典型的嵌入式系统协同设计方法。从图中可以看到,嵌入式系统的“协同设计”方法与传统的嵌入式系统的设计方法相比较而言,更重视总体设计下的系统级别的仿真建模和软件、硬件综合设计方法。......
2023-11-19
相关推荐