一、计算机架构
1、计算机架构主要有两种:哈佛架构、冯诺依曼架构
冯诺依曼的核心是:「
存储程序,顺序执行
」
规定计算机必须具有如下功能:
(1).把需要的程序和数据送至计算机中;
(2).必须具有长期记忆程序、数据、中间结果及最终运算结果的能力;
(3).能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力;
(4).能够根据需要控制程序走向,并能根据指令控制机器的各部件协调操作;
(5).能够按照要求将处理结果输出给用户
2、混合结构
(1)、现代的SoC(SoC:System on Chip的缩写,称为系统级芯片,也有称片上系统)
,基本都不是纯粹的哈佛结构或冯诺 依曼机构,而都是混合结构的。
(2)、比如
NXP
的
I.MX6ULL
,使用
ARM
的
Cortex-A7 核心。开发板上都配备了512MB
的
DDR SDRAM
, 和8GB
的
EMMC(相当于Flash硬盘)
。
(3)、
正常工作时所有的程序和数据都从
EMMC
中加载 到DDR
中,也就是说不管你是指令还是数据,存 储都是在EMMC
中,运行时都在
DDR
中,再通过 cache和寄存器送给
CPU
去加工处理。这就是典 型的冯诺依曼系统。
(4)、SOC:
系统芯片是一个将计算机或其他电子系统集成单一芯片的集成电路。系统芯片可以处理 数字信号、模拟信号、混合信号甚至更高频率的信号。
1)、从狭义角度讲,它是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上;
2)、从广义角度讲, SoC是一个微小型系统,如果说中央处理器(CPU)是大脑,那么SoC就是包括大脑、心脏、眼睛和手的系统。
二、计算机的总线结构
系统总线包含有三种不同功能的总线
1、
数据总线DB(Data Bus):用于传送数据信息
数据总线的位数是微型计算机的一个重要指标,通常与微处理的字长相一致。例如 Intel 8086微处理器字长16位,其数据总线宽度也是16位。
2、
地址总线AB(Address Bus):用来传送地址
地址总线的位数决定了CPU可直接寻址的内存空间大小,比如8位微机的地址总线为 16位,则其最大可寻址空间为2^16=64KB; 32位地址总线可以访问的最大内存是2^32
=4GB。
3、
控制总线CB(Control Bus):用来传送控制信号和时序信号
控制信号中,有的是微处理器送往存储器和I/O接口电路的,如读/写信号,片选 信号、中断响应信号等;也有是其它部件反馈给CPU的,比如:中断申请信号、复位信号、总线请求信号、限备就绪信号等。
四、CPU的运行原理
1、控制单元在时序脉冲的作用下,将指令计数器里所指向的指令地址(这个地址是在内存 里的)送到地址总线上去,然后CPU将这个地址里的指令读到指令寄存器进行译码。
2、对于执行指令过程中所需要用到的数据,会将数据地址也送到地址总线,然后CPU把 数据读到CPU的内部存储单元(就是内部寄存器)暂存起来,最后命令运算单元对数据进 行处理加工。
3、周而复始,一直这样执行下去
五、计算机的控制器
1、
控制单元是整个
CPU
的指挥控制中心:
(1)、程序计数器
PC
(
Program Counter
)
(2)、指令寄存器
IR(Instruction Register)
(3)、指令译码器
ID(Instruction Decoder)
(4)、操作控制器
OC(Operation Controller) 等组成。
2、
指令执行过程
一条指令的执行通常包括以下4个步骤:
1. 取指令:CPU的控制器从内存读取一条指令(对代码区进行操作)并放 入指令寄存器。
2. 指令译码:指令寄存器中的指令经过译码,决定 该指令应进行何种操作(就是指令里的操作码)、 操作数在哪里(操作数的地址)。
3. 执行指令:分两个阶段“取操作数”和“进行运算”。
4. 修改指令计数器(PC),决定下一条指令的地址。
六、ARM体系架构
1、什么是架构
(1)、体系架构的定义: 指令集(ISA)和基于这一体系架构下处理器的编程模型。
(2)、基于同种体系架构可以有多种处理器,每个处理器性能不同,所面向的应用不同,每个处理器的实现都要遵循这一体系结构。
(3)、ARM
体系架构为嵌入系统发展商提供很高的系统性能,同时保持优异的功耗和效率。
2、ARM体系架构 :ARM内核采用RISC
体系架构
,
主要特征如下
:
(1).
采用大量的寄存器,它们都可以用于多种用途。
(2).
采用
Load/Store
体系架构。
(3).
每条指令都可以条件执行。
(4).
采用多寄存器的
Load/Store
指令。
(5).
能够在单时钟周期执行的单条指令内完成一项普通的移位操作和一项普通的
ALU
操作。
(6).
通过协处理器指令集来扩展
ARM
指令集,包括在编程模式中增加了新的寄存器和数据
类型。
3、ARM技术特征 :ARM作为一种先进的RISC
处理器,
ARM
处理器有如下特点。
(1).
体积小、低功耗、低成本、高性能。
(2).
支持
Thumb(16
位)
/ARM(32
位)双指令集,能很好地兼容
8
位
/16
位器件。
(3).
大量使用寄存器,指令执行速度更快。
(4).
大多数数据操作都在寄存器中完成。
(5).
寻址方式灵活简单,执行效率高。
(6).
指令长度固定。
七、
ARM指令集
指令集就是一整套底层指令的统称。分为:
RISC
(简单指令集):指令格式统一,种类比较少,寻址方式也比复杂指令集少
着眼点放在使计算机的结构更加简单和使计算机的处理速度更加快速
CISC
(复杂指令集):效率比较高。
ARM
指令是
RISC
(
Reduced Instruction Set Computing
),即精简指令运算集。
八、ARM指令格式
1、ARM
指令是
RISC
(
Reduced Instruction Set Computing
),即精简指令运算集
指令格式如下:
(1)、操作码: 操作码就是汇编语言里的mov,add,jmp
等符号码;
(2)、操作数地址: 用于说明该指令需要的操作数所在的地方。
![](https://i-blog.csdnimg.cn/blog_migrate/ac878754b707b2b1807662ef7f06984d.png)
2、常用的
ARM
指令格式