第四章 SoC嵌入式微处理器系统
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
内核(core)
处理器存储器子系统
SoC的片内外设
系统的片外设备
处理器(Processor) 芯片(SoC)
系统(System)
典型的SoC结构
• 在根据性能要求选定处理器内核之后,SOC芯片的设计重 点就放在了片内外设的设计和选择上。 SOC嵌入式微处理 器是面向应用的,其片内所包含的组件的数目和种类是由 它的市场定位决定的。在最普通的情况下,SOC嵌入式微 处理器集成了如下部件:
4.2.1.1 Cache
–Cache命中:CPU每次读取主存时,Cache
控制器都要检查CPU送出的地址,判断CPU 要读取的数据是否在Cache中,如果在就称 为命中。 –Cache未命中:读取的数据不在Cache中, 则对主存储器进行操作,并将有关内容置入 Cache。 – 写入方法:
• 通写( Write Through ) :写 Cache 时, Cache
电子盘
电子盘
• Flash card market for Mobile phone has 70% CAGR, and 50% market share in ’08.
4.2.1 处理器存储器子系统
• SOC芯片内部的存储结构即称为处理器存储器子系 统,ARM的处理器存储器子系统除了cache外,还 可以包括:
嵌入式系统的主存可位于SoC内和SoC外, 片内存储器存储容量小、速度快,片外存储 器容量大。 可以做主存的存储器有:
• •
–
ROM类:Nor Flash、EPROM、E2PROM、 PROM等 RAM类:SRAM、DRAM、SDRAM等
4.2.1 处理器存储器子系统
•
外存
外存是处理器不能直接访问的存储器,用来存 放用户的各种信息,容量大。 – 在嵌入式系统中常用的外存有:
MMU 或MPU
控制 协处理器
慢速的总线时钟域
总 线 接 口
4.2.1 处理器存储器子系统
• Cache(高速缓存):是访问速度最快的本地内存, 存放最近被访问过的内存的副本。在嵌入式系统 中Cache全部都集成在嵌入式微处理器内,可分为 数据Cache、指令Cache或混合Cache。不同的处理 器其Cache的大小不一样。一般32位的嵌入式微处 理器都内置Cache。 • Write buffer(写缓冲):使用写缓冲能减少写 数据到外部内存的次数,当数据写到write buffer后不需要CPU的任何干预而由write buffer 的控制逻辑自动将数据写到内存的目的地址中。 Write buffer较小,通常只有几十个字节。
主要内容
• 1 SoC的概念 • 2 典型的SoC结构 • 3 典型的SoC嵌入式系统硬件介绍
典型的SoC结构
外设
MMU / MPU
R W R
如USB、LCD 控制器等 Address
扩展芯片
Cache
W
CPU
W
Write Buffer
(R/W)
W
Bus Interface
Data
External Memory
4.2.1.3 MMU/MPU
ARM中的MMU结构
4.2.1.4 Coprocessor(协处理器)
• 协处理器可以附属于ARM处理器。一个协处理器通过扩展 指令集或提供配置寄存器来扩展内核的处理功能。一个或 多个协处理器可以通过协处理器接口与ARM内核相连。 • 协处理器可以通过一组专门的、提供“加载 / 存储”类 型接口的ARM指令来访问。例如协处理器15(CP15),ARM 处理器使用CP15的寄存器来控制cache、TCM和MMU。 • 协处理器也能通过提供一组专门的新指令来扩展指令集, 例如处理向量浮点(VFP)运算的指令。这些新指令是在 ARM流水线的译码阶段被处理的。如果在译码阶段发现是 一条协处理器指令,则把它送给相应的协处理器。如果该 协处理器不存在,或ARM不认识这条指令,则发生未定义 指令异常。这也使得软件开发者可以用软件来仿真协处理 器的行为(使用未定义指令异常的服务程序来实现)。
嵌入式微处理器系统及应用
第四章 SoC嵌入式微处理器系统
主要内容
• 1 SoC的概念 • 2 典型的SoC结构 • 3 典型的SoC嵌入式系统硬件介绍
4.1 SoC的概念
• SOC即System On Chip,被称为系统级芯片 或者片上系统,它是一个面向应用领域的、 面向应用系统的集成电路,包含完整系统 的绝大部分功能部件。SOC嵌入式微处理器 就是这样一种超大规模集成电路系统,它 将许多功能模块做在一个单一的芯片上。
4.2.2 嵌入式微处理器片内总线
一个微处理器系统可能含有多条总线 高速总线
桥
总线互联的电路
低速总线
高速设备
原因:
低速设备
– 数据宽度:高速总线通常提供较宽的数据连接。 – 成本:高速总线通常采用更昂贵的电路和连接器。 – 桥允许总线独立操作,这样在I/O操作中可提供某些并
行性。
4.2.2.1 概述
– Write Buffer:当数据写到write buffer后不需要CPU的 任何干预而由write buffer的控制逻辑自动将数据写到内 存的目的地址中。Cache的回写则需要CPU的干预。 Write Buffer较小,通常只有几十个字节。 – Read Buffer:当读数据时read buffer自动多读取一些 字节,但是不占用CPU的总线时间,所以能加快读数 据的速度。当使用cache时如果要从内存中读取数据则 每个数据都会占用CPU的时间,这是它与read buffer的 最大不同点。Read buffer通常也较小,只有几十个字 节。
– 片内存储器:有些嵌入式微处理器片内会集成一定数量的 RAM/ROM存储器,其类型和容量与所设计的处理器定位有关, 越是性能要求高的处理器,其内部集成的存储器容量越大; – 外部存储器的控制器 – 通讯接口(串口,并口) – D控制器:面向终端类应用的嵌入式微处理器通常会集成LCD 控制器,以更方便地实现具有人机界面的系统; – 中断控制器、DMA控制器、协处理器; – 定时器、A/D转换器、D/A转换器 – 多媒体加速器:当需要高级的图形功能时; – 总线控制器 – 其他标准的接口或外设
总 线 的 主 要 参 数 总线宽度
又称总线位宽,指的是总线能同时 传送数据的位数。如16位总线就是 具有16位数据传送能力。 总线带宽(单位:MB/s) =(总线宽度/8)× 总线频率 总线工作速度的一个重要参数, 工作频率越高,速度越快。 通常用MHz表示。 如:总线宽度32位,频率66MHZ,则 又称总线的数据传送率,是指在一 总线带宽=(32/8)* 66MHz=264MB/s 定时间内总线上可传送的数据总量, 用每秒最大传送数据量来衡量。 总线带宽越宽,传输率越高。
4.1 SoC的概念
• 在SOC系统的设计中,大量可重复利用的IP是非常 重要的。 • ARM公司的RISC架构ARM Core、MIPS公司的 MIPS32/64 RISC Core、Freescale的PowerPC… 等,是目前市场上非常知名的嵌入式微处理器IP • 许多芯片设计厂商购买这些微处理器IP,再根据 目标处理器的类型、功能和市场(应用领域)的 定位,加上购买或自己设计的一些外设IP,就可 以快速地形成一个高度集成的SOC嵌入式微处理器。
– – – – 写缓冲(write buffer) 紧耦合内存(Tightly Coupled Memory) 内存管理/保护单元(MMU/MPU) 协处理器(coprocessor)
System on Chip
ARM926EJ-S 内核
TCM
ARM9E 内核
写缓冲 存储 系统
Cache
快速的内核时钟域
4.2.1 处理器存储器子系统
• 在一个体系结构中的CPU Core一般保持不变,因而具有相 同的指令集,但它们外围的Cache, Write Buffer以及各 种片内外部设备都是可以定制的,所以才会出现同一种体 系结构的芯片有如此之多的变种
ARM7TDMI 内核 CP15 控制 逻辑 地址
地址 数据
MMU 数据写
数据读 Cache
写 缓冲
AMBA 接口
ARM7xxT
ARM7xxT处理器结构
4.2.1.1 Cache
•
高速缓存Cache
– – – – –
高速缓冲存储器中存放的是当前使用得最多的 程序代码和数据,即主存中部分内容的副本。 在嵌入式系统中Cache全部都集成在嵌入式微 处理器内。 可分为数据Cache、指令Cache或混合Cache。 不同的处理器其Cache的大小不一样。 一般32位的嵌入式微处理器都内置Cache。
与对应内存内容同步更新。 • 回写( Write Back ): 写 Cache 时,只有写入 Cache内容移出时才更新对应内存内容。
置换控制器
地址 索引 机构
高速缓冲 存储器
高位地址 低位地址 地址总线 数据总线
段(页) 地址
CPU
主 存
Cache结构框图
ARM处理器cache工作原理
访问控制 访问位,域 硬件 TLB 中止 内存
4.1 SoC的概念
• SOC的系统具有如下特点:
– 可以大幅度缩小整个系统所占的体积,在大批量生产 的情况下,生产成本大大降低; – 通过改变系统内部工作电压,能有效降低芯片的功率 消耗; – 通过减少芯片的对外引脚数,能够简化制造过程; – 芯片外部的驱动接口单元数量减少,相应的电路板级 的信号传递量也减少,大量的信号和数据在芯片内部 传递和处理,能加快微处理器的处理速度,并降低系 统噪声干扰,提高可靠性; – 大量利用可重复的IP(Intellectual Property,包括各种 原器件库、宏单元及特殊的专用IP如微处理器核心IP、 通信接口IP、多媒体压缩解压缩IP及输入输出接口IP等) 来构建系统,缩短产品开发周期,并大幅降低嵌入式 微处理器及系统开发的复杂度。
转换表
遍历硬件
物理地址 (PA)
ARM 虚拟地址 (VA) C,B位 Cache和
Cache线 预取硬件
写缓冲
4.2.1.2 write buffer(写缓冲)
• Write / Read Buffer都是为了提高系统的性能而 设置的。在有的CPU实现中只有二者之一,而有的 则同时具有这两种Buffer。它们与Cache的主要区 别在于:
4.2.1.3 MMU/MPU
• MMU是Memory Management Unit的简写,主 要用于对内存访问的控制和一些读写属性 的控制。通过MMU可以将物理内存地址映射 成系统所需要的逻辑地址,可以对内存区 域的读写进行保护,这样可以防止程序对 某些地址空间的非法访问。另外,还可以 控制内存区域的Cache和Buffer的属性。 MMU对CPU的实现来讲也是一个可选项,有 的CPU就没有MMU功能,例如:S3C3400A, PUC303XA,UPD65977等
4.2.1 处理器存储器子系统
• 嵌入式系统的存储结构
嵌入式 微处理器 Cache
主存: Nor Flash、SRAM、 DRAM等
片内 RAM和 ROM
外存: NandFlash、DOC、 CF、SD、MMC等
4.2.1 处理器存储器子系统
•
主存
–
–
主存是处理器能直接访问的存储器,用来存 放系统和用户的程序和数据。
4.2.1 处理器存储器子系统
• TCM(紧耦合内存):TCM是一种快速的本地内存, 它对应了内存中特定的地址范围。 • MMU(内存管理单元):能够控制内存的访问权限, 以及各内存区域的属性(是否可以被高速缓存、 是否能被缓冲),并提供虚拟地址到物理地址的 转换。 • MPU(内存保护单元):比MMU的功能弱一些,能 够控制内存的访问权限,以及各内存区域的属性 (是否可以被高速缓存、是否能被缓冲),但不 提供虚拟地址到物理地址的转换。
–
• • • • •
NandFlash DOC(Disk On Chip) CF(Compact Flash) SD(Secure Digital) MMC(Multi MediaCard)等
电子盘
• • •
电子盘采用半导体芯片来存贮数据,具有 体积小、功耗低和极强的抗震性等特点。 在嵌入式系统中普遍采用各种电子盘作为 外存。 常用的电子盘有:NandFlash、MMC、SD、 Memeory Stick、CF、SM、DOC等。