49
第第第 第第第第 1 第第第第第第 第第

第二章 基础知识 1

Embed Size (px)

DESCRIPTION

第二章 基础知识 1. 大连理工大学 丁男. 章节安排. 2.1 嵌入式系统的硬件基础 2.1.1 基于 ARM 技术的嵌入式系统硬件架构 2.1.2 硬件系统基本体系结构原理. 2.1 嵌入式系统的硬件基础. 1990 年,英国一位叫 罗宾 . 沙科斯比 的人离开了摩托罗拉与另外 12 名工程师一起开始了创业之旅,于是就有了现在的 ARM 公司。 公司正式成立于 1991 年 11 月,全称是 : A dvanced R ISC M achines Limited 。 - PowerPoint PPT Presentation

Citation preview

Page 1: 第二章 基础知识 1

                                    

                 

第二章 基础知识 1

大连理工大学 丁男

Page 2: 第二章 基础知识 1

                                    

                 

章节安排

• 2.1 嵌入式系统的硬件基础

–2.1.1 基于 ARM技术的嵌入式系统硬件架构

–2.1.2 硬件系统基本体系结构原理

Page 3: 第二章 基础知识 1

                                    

                 

3

• 1990 年,英国一位叫罗宾 . 沙科斯比的人离开了摩托罗拉与另外12 名工程师一起开始了创业之旅,于是就有了现在的 ARM公司。

• 公司正式成立于 1991 年 11 月,全 称 是 :Advanced RISC Machines

Limited 。• ARM 公司的总部位于英国剑桥,

它拥有 1700 多名员工

2.1 嵌入式系统的硬件基础

ARM 联合创始人赫曼 奥塞尔

( Hermann Hauser )

Page 4: 第二章 基础知识 1

                                    

                 

ARM 公司特点

• 全球领先的原始设备制造商 (OEM) 都在广泛使用 ARM 技术,应用领域涉及手机、数字机顶盒以及汽车制动系统和网络路由器。

• 当今,全球 95% 以上的手机以及超过四分之一的电子设备都在使用 ARM 技术。

公司的业务是一个纯粹的知识产权的贩卖者,没有硬件,没有软件,只有图纸上的知识产权。

Page 5: 第二章 基础知识 1

                                    

                 

ARM 公司的优势

• 全球领先的半导体 IP 公司 ;

• 已销售了超过 150 亿枚基于 ARM 的芯片 ;

• 向 200 多家公司出售了 600 个处理器许可证 ;

• 获得了所有基于 ARM 的芯片的版税 ;

• 赢得了长期成长型市场的市场份额 ;

• ARM 的收益增速通常要比整个半导体行业快 ;

Page 6: 第二章 基础知识 1

                                    

                 

ARM 处理器现状

基于 ARM架构的微处理器在市场上占有众多份额,并被不同的具有 IP的公司生产为不同型号和封装格式的嵌入式微处理器。

半导体厂商或片上系统 SoC设计应用厂商采用 ARM架构来生产相应的 MPU或 SoC芯片。

ARM系统设计人员在 MPU或 SoC芯片的基础上根据实际需求再进行硬件系统一级的扩展和软件系统的裁剪和应用程序的编写。

Page 7: 第二章 基础知识 1

                                    

                 

ARM 微处理器特点 (1)

• 大量使用寄存器 使内部的代码和实时内核的执行时间减少到最低

限度。结构上采用 RISC结构形式。

• 具有功能很强的存储区保护功能 这是由于嵌入式系统的软件结构已模块化,而为

了避免在软件模块之间出现错误的交叉作用。

• 支持 ARM (32位 ) 和 Thumb(16位 ) 双指令集 , 兼容 8 位 /16位器件。

Page 8: 第二章 基础知识 1

                                    

                 

8

• 可扩展的处理器结构 支持协处理器,可扩展出满足应用的最高性能的

嵌入式微处理器。

• 小体积、低功耗、成本低、高性能 嵌入式处理器功耗很低,用于便携式的无线及移

动的计算和通信设备中 , 电池供电的嵌入式系统需要功耗只有 mW甚至 μW级。

ARM 微处理器特点 (2)

Page 9: 第二章 基础知识 1

                                    

                 

RISC&CISC 嵌入式微处理器的指令系统可采用精简指令集系统 RISC或

复杂指令集系统 CISC。 

CISC RISC

价格 由硬件完成部分软件功能,硬件复杂性增加,芯片成本高

由软件完成部分硬件功能,软件复杂性增加,芯片成本低

性能 减少代码尺寸,增加指令的执行周期数

使用流水线降低指令的执行周期数,增加代码尺寸

指令集大量的混杂型指令集,有简单快速的指令,也有复杂的多周期指令,符合HLL( high level language)

简单的单周期指令,在汇编指令方面有相应的 CISC微代码指令

高级语言支持 硬件完成 软件完成

寻址模式 复杂的寻址模式,支持内存到内存寻址

简单的寻址模式,仅允许 LOAD 和STORE 指令存取内存,其它所有的操作都基于寄存器到寄存器

控制单元 微码 直接执行

寄存器数目 寄存器较少 寄存器较多 9

Page 10: 第二章 基础知识 1

                                    

                 

ARM微处理器的技术指标

• 功能• 字宽• 处理速度• 工作温度• 功耗• 寻址能力• 工艺和电磁兼容性指标等

10

Page 11: 第二章 基础知识 1

                                    

                 

11

2.1.1 基于 ARM技术的嵌入式系统硬件架构

Page 12: 第二章 基础知识 1

                                    

                 

微处理器原理图

12

Page 13: 第二章 基础知识 1

                                    

                 

ARM 微处理器体系结构( 1 )

• ALU

与常用的 ALU逻辑结构基本相同,由 2 个操作数锁存器、加法器、逻辑功能、结果及零检测逻辑构成。

• 高速乘法器 采用两位乘法并带有加 1 移位的方法来实现乘法。

内部高速乘法器采用 32位的结构,这样可以降低集成度。

Page 14: 第二章 基础知识 1

                                    

                 

ARM 微处理器体系结构( 2 )桶形移位寄存器•采用 32位的桶形移位寄存器 , 置于 ALU的操作输入口前。使逻辑移位和算术移位等都可以在一个周期内完成。•由多路选择器、符号控制电路、移位寄存器和写选择电路等构成。•实现对累加器中的内容进行算术或逻辑移位、操作数的符号位扩展、对累加器进行归一化处理和多媒体数据压缩解压等功能。

Page 15: 第二章 基础知识 1

                                    

                 

2.1.2硬件系统基本体系结构原理硬件系统体系结构:•适当地组织在一起的一系列系统元素的集合。•是程序员所看到的硬件系统的属性,即概念性结构与功能特性。

主要分: 冯 . 诺依曼结构 哈佛结构

Page 16: 第二章 基础知识 1

                                    

                 

16

冯 . 诺依曼结构

• 冯 . 诺依曼结构计算机内部机构是由一个中央处理单元( CPU)和单存储空间组成。

• 存储空间存储了全部的数据和程序指令,它们内部使用单一的地址总线和数据总线。

• 当进行高速运算时,冯 . 诺依曼结构计算机不但不能同时进行取指令和取数据,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。

Page 17: 第二章 基础知识 1

                                    

                 

冯 · 诺依曼体系存储器结构模型图

存储器

程序指令 0指令 1指令 2指令 3指令 4

数据

数据 0

数据 1

数据 2

存 储 器 CPU

PC

数据

地址

17

Page 18: 第二章 基础知识 1

                                    

                 

CPU

外部存储器

接 口 RAM ROM

I/0 口 串行接口 并行接口

DB

AB

冯 . 诺依曼结构示意图

18

Page 19: 第二章 基础知识 1

                                    

                 

19

哈佛体系结构

大部分 DSP和 ARM9微处理器都是采用这种哈佛体系结构。

存储器分为数据和程序二个存储空间,有各自独立程序总线和数据总线,可以进行独立编址和独立访问。特点:  数据和程序可以并行完成。 数据的吞吐量比上以中提高了大约一倍。  弱点是很难在哈佛机上编写出一个自修改的程序。

Page 20: 第二章 基础知识 1

                                    

                 

指令寄存器

控制器

数据通道输入 输出

中央处理器

程序存储器

指令 0

指令 1

指令 2

数据存储器

数据 0

数据 1

数据 2

地址

指令

地址

数据

哈佛体系存储系统结构图

20

Page 21: 第二章 基础知识 1

                                    

                 

( 1 )流水线技术• 计算机中一条指令的执行可分为若干个阶段,由于每个阶段的操作相对都是独立的。• 采用流水线的重叠技术大大提高系统的性能。• 在流水线装满以后,几个指令可以并行执行。

译码取指 执行 add

译码取指 执行 sub

译码取指 执行 cmp

时间

Add

Sub

Cmp

嵌入式系统中采用的先进技术

21

Page 22: 第二章 基础知识 1

                                    

                 

22

ARM7 架构采用 3 级流水线:

Page 23: 第二章 基础知识 1

                                    

                 

ARM9 架构采用 5 级流水线:在 ARM7基础上 :• 增加了 I-Cache和 D-Cache,把存储器的取指与数据存取分开;• 增加了数据写回的专门通路和寄存器 .

取指 译码 执行 缓冲 /数据 回写

指令从存储器中取出,放入指令流水线指令从存储器中取出,放入指令流水线

从寄存器中读取寄存器操作数从寄存器中读取寄存器操作数

把一个操作数移位,产生 ALU的结果把一个操作数移位,产生 ALU的结果

如需要则访问数据存储器。否则, ALU的结果简单地缓冲一个时

钟周期

如需要则访问数据存储器。否则, ALU的结果简单地缓冲一个时

钟周期

将指令产生的结果回写到寄存器

将指令产生的结果回写到寄存器

Page 24: 第二章 基础知识 1

                                    

                 

24

更多级的流水线

•ARM10采用了 6 级流水线。•ARM11采用了 8 级流水线。

Page 25: 第二章 基础知识 1

                                    

                 

25

流水线的数据相关问题 (1)

问题一:数据相关性冲突  当一条指令需要前面指令的执行结果,而这些指令均在流水线中重叠执行时,就可能会涉及流水线的数据相关,不得不产生停顿。

解决办法: 采用分离式指令 Cache和数据 Cache。该方法是取指和存储器的数据访问不再发生冲突,同时也解决了相应数据同一通道的问题。

Page 26: 第二章 基础知识 1

                                    

                 

26

流水线的数据相关问题 ( 2 )

问题二:控制相关性冲突  当流水线检测某条指令是分支指令,就要暂停分支指令之后的所有指令,直到分支指令确定了新的 PC值为止。

解决办法:   指令预测,尽早判断分支转移是否成功,从而采取相应预测转移和延迟转移,以降低分支转移的损失。  有些 ARM架构处理器流水线的译码阶段增加了一个专用加法器来计算分支的目的地址。

Page 27: 第二章 基础知识 1

                                    

                 

27

( 2 )超标量执行

• 通过重复设置多套指令执行部件,同时处理并完成多条指令,实现并行操作,来达到提高处理速度的目的。

• 超标量执行:超标量 CPU利于采用多条流水线结构。

所有 ARM内核,包括流行的 ARM7、 ARM9和 ARM10等,都是单周期指令机。ARM公司下一代处理器将是每周期能处理多重指令的超标量机。

Page 28: 第二章 基础知识 1

                                    

                 

28

( 3 )总线和总线桥• 总线是 CPU与存储器和设备通信的机制,• 是计算机各部件之间传送数据、地址和控制信息的公共通道。

片内总线或内部总线:连接CPU内部各主要功能部件片内总线或内部总线:连接CPU内部各主要功能部件

片外总线: CPU与存储器( RAM 和 ROM )和 I/O接口之间进行信息交换的通道

片外总线: CPU与存储器( RAM 和 ROM )和 I/O接口之间进行信息交换的通道数据总线 Dbus数据总线 Dbus

地址总线 Abus地址总线 Abus

控制总线Cbus控制总线Cbus

总线分类

Page 29: 第二章 基础知识 1

                                    

                 

总线概述

总线宽度

总线频率

总线带宽

总线的主要参数

又称总线位宽,指的是总线能同时传送数据的位数。如 16位总线就是具有 16位数据传送能力。

总线工作速度的一个重要参数,工作频率越高,速度越快。通常用 MHz表示。

又称总线的数据传送率,是指在一定时间内总线上可传送的数据总量,用每秒最大传送数据量来衡量。总线带宽越宽,传输率越高。

29

总线带宽 ( 单位 :MB/s) = (总线宽度 /8) × 总线频率

如:总线宽度 32位,频率 66MHZ,则总线带宽 = ( 32/8) * 66MHz=264MB/s

Page 30: 第二章 基础知识 1

                                    

                 

30

总线概述

原因:– 数据宽度:高速总线通常提供较宽的数据连接。– 成本:高速总线通常采用更昂贵的电路和连接器。– 桥允许总线独立操作,在 I/O操作中可提供某些并行性。

一个微处理器系统可能含有多条总线

高速总线高速总线 低速总线低速总线

高速设备高速设备 低速设备低速设备

桥桥

总线互联的电路

Page 31: 第二章 基础知识 1

                                    

                 

31

总线和总线桥示意图

CPU 低速设备

桥高速总线

存储器 高速设备 低速设备

低速总线

Page 32: 第二章 基础知识 1

                                    

                 

嵌入式系统示意图

Processor-local bus

Micro-processor Cache

Memorycontroller

DMAcontroller

BridgeBridgePeriphe

ralPeriphe

ralPeriphe

ral

Peripheral bus

嵌入式系统总线32

Page 33: 第二章 基础知识 1

                                    

                 

33

总线和总线桥

Page 34: 第二章 基础知识 1

                                    

                 

AMBA 总线 -AHB

• 只有主单元可在任何时刻使用总线。

• AHB可以有一个或多个主单元。

• 主单元可以是 RISC处理器、协处理器以及 DMA控制器,以启动和控制总线操作。

AHB 总线

主单元

从单元

仲裁器

译码器34

可以响应读或写总线操作。 总线的从单元在给定的地址范围内对读写操作进行相应的反应。

从单元向主单元发出成功、失败信号或等待各种反馈信号。

从单元通常视其复杂程度不足以成为主单元的固定功能块,系统的其他外设也包含在 AHB的从单元中。

• 用来确定控制总线是哪个主单元,以保证在任何时候只有一个主单元可以启动数据传输。

• 一般来说仲裁协议都是固定好的,例如最高优先级方法或平等方法,可根据实际的情况选择适当的仲裁协议。

总线译码器用于传输译码工作,提供传输过程中从单元的片选信号。

Page 35: 第二章 基础知识 1

                                    

                 

35

AMBA 总线 - 桥桥将系统总线 AHB 和 APB 连接起来,并执行下列功能:

Page 36: 第二章 基础知识 1

                                    

                 

36

嵌入式系统存储器系统组成

MPU

Cache

片内RAM 和

ROM

主存:SRAM 、DRAM等

辅存:Flash 、 CF 、 SD 、 M

MC等

寄存器

• 由寄存器、高速缓冲区 Cache、主存储器和辅助存储器组成。

• 又可以分为片内存储系统和片外存储系统。

片外存储片内存储

Page 37: 第二章 基础知识 1

                                    

                 

( 1 )寄存器概述

37

Page 38: 第二章 基础知识 1

                                    

                 

38

( 2 )高速缓存( Cache)• 高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝 ( 副本 ), 减少访问主存储器的所花的访问时间。

• 如在 ARM9中使用的指令 I-Cache和数据 D-Cache。

CPU

高速缓存控制器

Cache

主存数据

数据

地址

Page 39: 第二章 基础知识 1

                                    

                 

标志 块号 块内地址主存地址

主存

块号 块内地址

Cache标记

Cache 地址

比较器

替换算法

Cache数据 去 CPU

来自 CPU

不命中

命中Cache 满

访数据

修改标记访标记NO

Cache的组成和工作原理

Page 40: 第二章 基础知识 1

                                    

                 

40

Cache的组成和工作原理• Cache中内容的放置常使用的方法 :

–全相联映像–直接映像–组相联映像方式。

• 目前新的 ARM建构处理器大多采用分块的全相联结构。

• ARM7采用的是 4 路组相联的 8KB指令 / 数据Cache。

Page 41: 第二章 基础知识 1

                                    

                 

缺点 : 标字位多,所用硬件成本高。

全相联映像方式最灵活。成本最高。实际中较少使用。

二者位数差值 t=m-c 位。

主存字块标记 m= t + c 位 字块内地址 b

主存地址 = m 位 +b 位

字块 0

字块 2c - 1

字块 1

字块 0

字块 2m - 1

字块 2c - 1

字块 1

……

标记

标记

标记

Cache 存储器 主存储器 字块 0

主存中的任一块可以映象到缓存中的任一块。允许从确实已被占满的 Cache 存储器中替换出任何一个旧字块。

Cache 地址 =c 位 +b 位Cache 字块标记 c 字块内地址 b

主要问题 它的标记位数要多,为主存总位数减去块内的位数,这样会使 Cache 标记容量加大。在访问 Cache 时,需要和 Cache 的全部标记进行比较,才能判断出其地址内容是否已在 Cache 中。

具体操作需要设立一个块号对照表,凡已装入 Cache 中的主存块号其标识位都要置 1 ,以便快速使用

①全相联映像方式

Page 42: 第二章 基础知识 1

                                    

                 

做法是先将主存分成与 Cache 同样大小的若干个区(组),每个区中的某个块只能固定调入 Cache 中的对应块

每个主存块 j 只能和 一 个 缓存块 对应 。判别标记位是 t 位,所以比全相联方式少 c 位。

每个缓存块 i 可以和 若干 个 主存块 对应如第 0 块,第 2c 块,第 2c+1 块… ,只能映像到 cache 的第 0 块主存的第 1 块,第 2c + 1 块第 2c+1 十 1 块… , 只能映像到 Cache 的第 1 块

优点优点实现简单,只需利用主存地址 ,按某些字段( t 位)直接判断,即可确定所需字块是否已在 Cache存储器中

缺点缺点不够灵活,即主存的 2t 个字块只能对应唯一的 Cache 存储器字块。使得 Cache 存储空间得不到充分利用,并降低了命中率

字块 2m - 1

字块 2c+1

字块 2c+1 - 1

字块 2c +1

字块 2c

字块 2c - 1

字块 1

字块 0

……

主存储体

字块 1 标记 字块 0 标记

字块 2c - 1标记

Cache 存储体t 位

01

C -1

字块字块地址

主存字 块标记

t 位 c 位 b 位

主存地址

比较器( t 位)= ≠

不命中

有效位 =1 ?

*

m 位

Cache内地址否

是命中

i = j mod 2C

字块字块 22cc+1+1

字块字块 22cc

字块字块 00 字块 字块 00

Cache 的字块号主存的字块号。主存中有 2m 个块,字块大小为 2b 字, Cache 中有同样大小的 2c 个块 。

②直接映像

Page 43: 第二章 基础知识 1

                                    

                 

字块 2m - 1

字块 2c-r+1

字块 2c-r + 1

字块 2c-r

字块 2c-r -

字块 1

字块 0

……

字块 3标记

字块 1标记

字块 2c - 1标记

字块 2标记

字块 0标记

字块 2c - 2标记

…………

字块内地址组地址主存字块标记

s = t + r 位 c’ = c - r 位 b 位

0

1

2c-r -1 主存地址

Cache主存储器

m 位

共 2c’ 组,每组内两块( r = 1) ,

1

某一主存块 j 按模 Q 映射到 缓存 的第 i 组中的 任一块

i = j mod Q 直接映象全相联映象

字块 0 字块 字块 11 字块 字块 00

字块 2c-r

字块 2c-r+1

③组相联映像

Page 44: 第二章 基础知识 1

                                    

                 

44

替换算法 • 当发生 Cache不命中时,必须选择被替换的项。• 常用的替换算法:

–先进先出算法( FIFO)–近期最少使用算法( LRU)

• Cache的命中率除了与地址映像的方式有关外,还与Cache的容量有关。 Cache容量大 , 则命中率就高,但达到一定容量后,命中率的提高就不明显了。

Page 45: 第二章 基础知识 1

                                    

                 

FIFO算法

45

• 在地址变换表中设置一个历史位,当替换时,总是把一组中最先调入 Cache存储器的字块替换出去。

• 特点:–不需要随时记录各个字块的使用情况。–实现容易且开销小。

Page 46: 第二章 基础知识 1

                                    

                 

LRU算法• 将一组中近期最少使用的字块替换出去。• 这种替换算法需随时记录 Cache存储器中各个字块的使用情况,–即页表为在物理存储取中的每一页保留了一个时间或年龄域,以便确定哪个字块是近期最少使用的字块。

• 特点:–替换算法的平均命中率比 FIFO要高,–分组容量加大时,能提高 LRU替换算法的命中率,能较好地反映出程序的局部性的特点。

Page 47: 第二章 基础知识 1

                                    

                 

Cache和主存的写策略写直达法( Write-through):当要写 Cache时,数据同时写回主存储器。

写回法( Write-back):当处理器更新 Cache的某一行后,相应数据并不立刻写回主存储单元,而当该行被从 Cache淘汰时,才把数据写回主存储器中。

写一次法:写命中与未命中的处理方法与写回法基本相同,只是第一次写命中是要同时写入主存。例如: L2级 Cache采用的是写回法, L1级数据 Cache采用的是写一次法。

Page 48: 第二章 基础知识 1

                                    

                 

外部存储器系统简介• RAM--随机存取存储器:

SRAM--静态随机存储器; DRAM--动态随机存储器;• 特点:□SRAM存取速度较快 □ SRAM耗电较多 □ DRAM存储密度较高

□ DRAM需要周期性的刷新

ROM--只读存储器:EEPROM:可电擦除存储器Flash ROM:闪速只读存储器

Page 49: 第二章 基础知识 1