第16章 嵌入式系统架构设计理论与实践


16.1 嵌入式系统概述

嵌入式系统(Embedded System)是为了特定应用而专门构建的计算机系统,其架构是随着
嵌入式系统的逐步应用而发展形成的。

16.1.1 嵌入式系统发展历程

嵌入式系统的发展大致经历了五个阶段:
第一阶段单片微型计算机(SCM)阶段,即单片机时代。这一阶段的嵌入式系统硬件是单片机,软件停留在无操作系统阶段,采用汇编语言实现系统的功能。
这阶段的主要特点是:
系统结构和功能相对单一,处理效率低、存储容量也十分有限,几乎没有用户接口。
 
第二阶段微控制器(MUC)阶段。主要的技术发展方向是:不断扩展对象系统要求的各种外围电路和接口电路,突显其对象的智能化控制能力。
这一阶段主要以嵌入式微处理器为基础,以简单操作系统为核心,主要特点是:
硬件使用嵌入式微处理器、微处理器的种类繁多,通用性比较弱,系统开销小,效率高。
第三阶段片上系统(SoC)主要特点是:嵌入式系统能够运行于各种不同类型的微处理
器上,兼容性好,操作系统的内核小,效率高。
第四阶段以Intermet为基础的嵌入式系统。嵌入式网络化主要表现在两个方面,一方面是
嵌入式处理器集成了网络接口,另一方是嵌入式设备应用于网络环境中。
第五阶段在智能化、云技术推动下的嵌入式系统。其特点是低能耗、高速度、高集成、
高可信、适用环境广等,此时的嵌入式系统向两个方向发展:一个是面向端-端系统微型传感
器设备,一个是面向智能服务的设备。


16.1.2 嵌入式系统硬件体系结构

嵌入式系统毕竟也是操作系统的一种,有其特殊性也有操作系统的通用性,所以可结合操作系统基础知识学习。

从传统意义上讲,按嵌入式系统主要由
嵌入式微处理器(控制器(Micro Control Unit, MCU))
存储器(RAMROM)、
内(外)总线逻辑、
定时/计数器(Time)、
看门狗电路、
IO接口(串口、网络、USB、JTAG等)和
外部设备(UART、LED等)等部件组成(如图16-1所示)。
第16章 嵌入式系统架构设计理论与实践_第1张图片

1.嵌入式微处理器

微处理器主要用于处理相关任务。根据使用环境的不同选用不用级别的芯片,比如温度、湿度、震动、抗磁、加速度等等。主要是温度,民用级0~70℃,工业级-40~85℃,军用级-55~150℃。

嵌入式微处理分类:

1.根据嵌入式微处理器的字长宽度,可分为4位、8位、16位、32位和64位。一般把16位及以下的称为嵌入式微控制器(Embedded Micro Controller),32位及以上的称为嵌入式微处理器

2.如果按系统集成度划分,可分为两类:

  • 一种是微处理器内部仅包含单纯的中央处理器单元,称为一般用途型微处理器
  • 另一种则是将CPU、ROM、RAM及I/O等部件集成到同一个芯片上,称为单芯片微控制器(Single Chip Microcontroller)。

3.通常根据使用场景不同选择不同类型的处理器,分类:

●微处理器 (Micro Processor Unit,MPU)
●微控制器(Micro Control Unit,MCU)
●信号处理器 (Digital Signal Processor,DSP)
●图形处理器 (Graphics Processing Unit,GPU)
●片上系统 (System on Chip,SoC)
1).微处理器(MPU)

将微处理器装配在专门设计的电路板上,只保留与嵌入式应用有关的母版功能。

优点:与工业计算机相比,体积小,重量轻,成本低及可靠性高

缺点:因为电路板上必须包括ROM、RAM、总线接口、各种外设等器件,降低了系统的可靠性,技术保密性差。

目前代表有:Am186/88、386EX、SC-400、PowerPC、68000、 MIPS、ARM系列等。

2).微控制器(MCU)

每种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置和封装。MCU又叫单片机,是以微处理内核为核心的。它其实是把微处理内核和一些存储器、外设等等都集成在一块硅片上,所以叫单片机。

它是由通用计算机演变而来。

特征:是具有32位以上的处理器,具有较高的性能,当然其价格也相应较高。

比较:

  • 但与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。
  • 与工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。

优点:与MPU相比,MCU的最大优点在于单片化,体积大大减小,从而使功耗和成本下降,可靠性提高。

目前代表有:

比较有代表性的通用系列包括:8501,P51XA,MCS-251,MCS-96/196/296,C166/167, MC68HC05/11/12/16,68300和数目众多的ARM系列。

3).信号处理器(DSP)
DSP处理器对系统结构和指令进行了特殊设计(通常,DSP采用一种哈佛结构),使其适合于执行DSP算法,编译效率高,指令执行速度也高。
DSP的系统的结构和指令集、算法,编译等等各方面都是经过精心设计的,一切目的为了让它更快速更有效的传输数据。

嵌入式数字信号处理器DSP是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指令的执行速度。采用哈佛结构,流水线处理,其处理速度比最快的CPU还快10-50倍。在数字滤波、FFT、谱分析等各种仪器上DSP获得了大规模的应用。

DSP特点:

多总线结构,允许CPU同时进行指令和数据的访问,因而可以实现流水线操作。哈佛体系结构,程序和数据空间分开,可以同时访问指令和数据。数字信号处理的运算特点:乘/加,及反复相乘求和(乘积累加)。DSP设置了硬件乘法/累加器,能在单个指令周期内完成乘法/加法运算。

DSP主要应用:信号处理、图像处理,仪器、语言处理、控制、军事、通讯、医疗、家用电器等领域。

4).图形处理器(GPU)

GPU是图形处理单元的缩写,是一种可执行渲染3D图形等图像的半导体芯片(处理器)。GPU可用于个人电脑、工作站、游戏机和一些移动设备上做图像和图形相关运算工作的为处理器。它可减少对CPU的依赖,并进行部分原本CPU的工作,尤其是在3D图形处理中,GPU采用了核心技术(如:硬件T&L、纹理压缩等)保证了快速3D渲染能力。

5).片上系统(SoC)

各种通用处理器内核作为SoC设计公司的标准库,除个别无法集成的器件以外,整个嵌入式系统 大部分都可集成到一块或几块芯片中。

嵌入式片上系统SOC,是追求产品系统最大包容的集成器件。

SoC最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。

是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。

补充:
6).多核处理器、多CPU处理器

(1)基础概念

处理器/CPU是计算机的大脑,它负责计算机的所有功能。CPU 的执行单元称为核心。核心的主要功能是读取和执行指令。这些指令可以有多种形式,包括计算、数据传输、分支等。

多核指多个微处理器内核,是将两个或更多的微处理器封装在一起,集成在一个电路中。

多核处理器是单枚芯片,能够直接插入单一的处理器插槽中。

多核与多CPU相比,很好的降低了计算机系统的功耗和体积。在多核技术中,由操作系统软件进行调度,多进程,多线程并发都可以。

双核处理器:基于单个半导体的一个处理器上拥有2个处理器核心。

由于将2个或多个运算核封装在一个芯片上,节省大量晶体管、封装成本;显著提高处理器性能;兼容性好;系统升级方便。

具有单核的处理器称为Unicore处理器。但具有两个或更多核心的处理器称为多核处理器。多核处理器的核心可以同时单独读取和执行程序指令。这提高了程序的执行速度并支持并行计算

多处理器系统有两个或更多处理器。多处理器系统的处理器共享相同的内存、系统总线(连接计算机系统主要组件以传输数据和信息的路径)和I/O 设备。多处理器可以同时执行多条指令。一个处理器的故障不会影响其他处理器的功能。因此,多处理器更加可靠。

简单理解:多核处理器是,一个CPU,但是CPU里有很多各核心,多处理器是,多个CPU,每个CPU下可能是单个核心也可能是多个核心。

(2) 2个或多个内核(多处理器)工作协调实现方式:

对称多处理技术:将2颗完全一样的处理器封装在一个芯片内,达到双倍或接近双倍的处理性能,节省运算资源。

非对称处理技术:2个处理内核彼此不同,各自处理和执行特定的功能,在软件的协调下分担不同的计算任务。

从目前已经发布或透露的多核处理器原型来看,对称式的处理方式将成为未来多核处理器的主要体系体系结构,同时,多核间将共享大容量的缓存作为处理器之间及处理器与系统内存之间交换数据的“桥梁”。

为了提高交换速度,这些缓存往往集成在片内,其数据传输速度是惊人的。

(3)多核CPU的调度

多核CPU环境下进程的调度算法一般有全局队列调度和局部队列调度两种.

全局队列调度是指操作系统维护一个全局的任务等待队列,当系统中有一个CPU空闲时,操作系统就从全局任务等待队列中选取就绪任务开始执行,CPU核心利用率高。

局部队列调度是操作系统为每个CPU内核维护一个局部的任务等待队列,当系统中有一个CPU内核空闲时,就从该核心的任务等待队列中选取适当的任务执行,优点是无需在多个CPU之间切换。

(4)优缺点:

多核处理器的优点是:

  • 与单核处理器相比,多核处理器可以完成更多的工作。
  • 多核处理器的核心位于单个集成芯片上。结果,系统的时钟速度增加。
  • 与单核处理器相比,多核处理器可以更大程度地容忍故障。
  • 这些程序被分配了不同的核心,但它们仍然能够相互交互。
  • 多核处理器以更低的能耗提供更高的性能,因此它们是节能的。
  • 多核处理器的流量较少。

多核处理器的缺点是:

  • 尽管多核处理器中存在多个核心,但与简单处理器相比,速度并没有显着提高。
  • 增加核心数量会增加由于资源共享而导致的软件干扰。
  • 处理器在执行多任务时会产生大量热量。
  • 多核处理器的功耗较高。

多处理器系统的优点是:

  • 由于多个处理器同时工作,系统的吞吐量增加。
  • 多处理器系统更加可靠,因为一个处理器的故障不会影响其他处理器。
  • 由于多个进程在不同的处理器上并行执行,因此实现了并行处理。

多处理器系统的缺点是:

  • 多处理器系统的处理器之间的协调是相当复杂的。
  • 所有处理器都使用公共 I/O 设备。因此,如果一个进程正在使用 I/O,那么其他进程必须等待轮到它。结果,系统的吞吐量可能会降低。
  • 由于所有处理器都使用相同的内存,因此需要大量主内存来进行高效计算。
  • 与多核系统相比,多处理器系统昂贵。

7).多核与多CPU处理器区别与联系

多核 多处理器
多核处理器具有一个具有多个读取和执行指令的核心的处理器。 多处理器具有两个或多个允许同时处理程序的处理器。
多核可以更快地执行单个程序。 多处理器可以更快地执行多个程序。
多核处理器不如多处理器可靠。 多处理器更加可靠,因为有多个处理器可用,并且一个处理器的故障不会影响其他处理器。
多核配置简单。 多处理器需要复杂的配置。
多核的流量较少。 多处理器具有更多流量。
多核很便宜,因为只有一个处理器。 与多核相比,多处理器价格昂贵。

2.存储器

存储器(memory)主要用于存储程序和各种数据信息的记忆部件,它也是时序逻辑电路的一种。
按存储器的使用类型可分为只读存储器(ROM)和随机存储器(RAM)。
 
随机存储器在计算期间被用于高速暂存记忆区,数据可以在RAM中存储、读取和使用新数据代替;
 
只读存储器被用于存储计算机在必要时的指令集,存储在ROM内的信息是一种硬接线方式(即一种物理组成),且不能被计算机改变(即“只读”特性)。
 
可编程只读存储器(PROM)属于可变ROM,可以将其暴露在一个外部电器设备或光学器件中来改变。
存储器根据结构的不同 分类多种:
1)RAM(Random Access Memory,随机存取存储器)
AM的特点是:打开计算机,操作系统和应用程序的所有正在运行的数据和程序都会放
置其中,并且随时可以对存放在里面的数据进行修改和存取。它的工作需要由持续的电力提供,
一旦系统断电,存放在里面的所有数据和程序都会自动清空掉,并且再也无法恢复。
 
根据组成元件的不同,RAM内存又分为以下18种:---简单看看即可

(1).RAM(Dynamic RAM,动态随机存取存储器)。

这是最普通的RAM,一个电子管与一个电容器组成一个位存储单元,DRAM将每个内存
位作为一个电荷保存在位存储单元中,用电容的充放电来做储存动作,但因电容本身有漏电
问题,因此必须每几微秒就要刷新一次,否则数据会丢失。存取时间和放电时间一致,约为2~4ms。因为成本比较便宜,通常都用作计算机内的主存储器。

(2).SRAM(Static RAM,静态随机存取存储器)。

静态,指的是内存里面的数据可以长驻其中而不需要随时进行存取。每6个电子管组成一

个位存储单元,因为没有电容器,因此无须不断充电即可正常运作,因此它可以比一般的动态
随机处理内存处理速度更快更稳定,往往用作高速缓存。
 

(3).VRAM(Video RAM,视频内存)。

它的主要功能是将显卡的视频数据输出到数模转换器中,有效降低绘图显示芯片的工作负
担。它采用双数据口设计,其中一个数据口是并行式的数据输出入口,另一个是串行式的数据
输出口,多用于高级显卡中的高档内存。
 

(4).FPM DRAM(Fast Page Mode DRAM,快速页切换模式动态随机存取存储器)。

改良版的DRAM,大多数为72Pin或30Pin的模块。传统的DRAM在存取一位的数据时,必须送出行地址和列地址各一次才能读写数据。而FRM DRAM在触发了行地址后,如果CPU需要的地址在同一行内,则可以连续输出列地址而不必再输出行地址了。由于一般的程序和数据在内存中排列的地址是连续的,这种情况下输出行地址后连续输出列地址就可以得到所需要的数据。FPM将记忆体内部隔成许多页(Pages),从512B到数“KB”不等,在读取一连续区域内的数据时,就可以通过快速页切换模式来直接读取各Page内的资料,从而大大提高读取速度。在1996年以前,在486时代和PENTIUM时代的初期,FPM DRAM被大量使用。
 

(5).EDO DRAM(Extended Data Out DRAM,延伸数据输出动态随机存取存储器)。

这是继FPM之后出现的一种存储器,一般为72Pin、168Pin的模块。它不需要像FPMDRAM那样在存取每一位数据时必须输出行地址和列地址并使其稳定一段时间,然后才能读写有效的数据,而下一位的地址必须等待这次读写操作完成才能输出。因此它可以大大缩短等待输出地址的时间,其存取速度一般比FPM模式快15??右。它一般应用于中档以下的Pentium主板标准内存,后期的486系统开始支持EDO DRAM,到1996年后期,EDO DRAM开始执行。

(6).BEDO DRAM(Burst Extended Data Out DRAM,爆发式延伸数据输出动态随机存取存储器)。

这是改良型的EDO DRAM,是由美光公司提出的,它在芯片上增加了一个地址计数器来追
踪下一个地址。它是突发式的读取方式,也就是当一个数据地址被送出后,剩下的三个数据每
一个都只需要一个周期就能读取,因此一次可以存取多组数据,速度比EDO DRAM快。但支
持BEDO DRAM内存的主板很少,只有极少几款提供支持(如VIA APOLLO VP2),因此很快
就被DRAM取代了。

(7).MDRAM(Multi-Bank DRAM,多插槽动态随机存取存储器)。

MoSys公司提出的一种内存规格,其内部分成数个类别不同的小储存库(BANK),即由数
个独立的小单位矩阵所构成,每个储存库之间以高于外部的资料速度相互连接,一般应用于高
速显示卡或加速卡中,也有少数主机板用于L2高速缓存中。
 

(8).WRAM(Window RAM,窗口随机存取存储器)。

韩国Samsung公司开发的内存模式,是VRAM内存的改良版,不同之处是它的控制线路
有一二十组的输入/输出控制器,并采用EDO的资料存取模式,因此速度相对较快,另外还提供了区块搬移功能(BitBlt),可应用于专业绘图工作。

(9).RDRAM(Rambus DRAM,高频动态随机存取存储器)。

Rambus公司独立设计完成的一种内存模式,速度一般可以达到500~530MB/s,是DRAM的10倍以上。但使用该内存后内存控制器需要作相当大的改变,因此它们一般应用于专业的图形加速适配卡或者电视游戏机的视频内存中。

(10).SDRAM(Synchronous DRAM,同步动态随机存取存储器)。  

这是一种与CPU实现外频Clock同步的内存模式,一般都采用168Pin的内存模组,工作
电压为3.3V。所谓Clock同步是指内存能够与CPU同步存取资料,这样可以取消等待周期,减
少数据传输的延迟,因此可提升计算机的性能和效率。

       

(11).SGRAM(Synchronous Graphics RAM,同步绘图随机存取存储器)。

SDRAM的改良版,它以区块Block(32bit)为基本存取单位,减少内存整体读写的次数,另外还针对绘图需要而增加了绘图控制器,并提供区块搬移功能(BitBlt),效率明显高于SDRAM。

(12).SB SRAM(Synchronous Burst SRAM,同步爆发式静态随机存取存储器)。

一般的SRAM是非同步的,为了适应CPU越来越快的速度,需要使它的工作时脉变得与
系统同步,这就是SB SRAM产生的原因。

(13).PB SRAM(Pipeline Burst SRAM,管线爆发式静态随机存取存储器)。

CPU外频速度的迅猛提升对与其相搭配的内存提出了更高的要求,管线爆发式SRAM取代同步爆发式SRAM成为必然的选择,因为它可以有效地延长存取时脉,从而有效提高访问速度。

(14).DDR SDRAM(Double Data Rate SDRAM,二倍速率同步动态随机存取存储器)。

作为SDRAM的换代产品,它具有两大特点:其一,速度比SDRAM快一倍;其二,采用了DLL(Delay Locked Loop,延时锁定回路)提供一个数据滤波信号。这是目前内存市场上的主流模式。

(15).SLDRAM(Synchronize LinkDRAM,同步链环动态随机存取存储器)。

这是一种扩展型SDRAM结构内存,在增加了更先进同步电路的同时,还改进了逻辑控制电路。

(16).CDRAM(Cached DRAM,同步缓存动态随机存取存储器)。

这是三菱电气公司首先研制的专利技术,它是在DRAM芯片的外部插针和内部DRAM之
间插入一个SRAM作为二级Cache使用。当前,几乎所有的CPU都装有一级Cache来提高效
率,随着CPU时钟频率的成倍提高,Cache不被选中对系统性能产生的影响将会越来越大,而
Cache DRAM所提供的二级Cache正好用以补充CPU一级Cache之不足,因此能极大地提高
CPU效率。

(17).DDRII(Double Data Rate Synchronous DRAM,第二代同步双倍速率动态随机存取存储器)。

DDRⅡI是DDR原有的SLDRAM联盟于1999年解散后将既有的研发成果与DDR整合之后
的未来新标准。DDRⅡI的详细规格目前尚未确定。

(18).DRDRAM(Direct Rambus DRAM)。

DRDRAM是下一代的主流内存标准之一,由Rambus公司所设计发展出来,是将所有的接脚都连接到一个共同的Bus,这样不但可以减少控制器的体积,还可以增加资料传送的效率。
2)ROM(Read Only Memory,只读存储器)
ROM是线路最简单半导体电路,通过掩模工艺,一次性制造,在元件正常工作的情况下,其中的代码与数据将永久保存,并且不能够进行修改。一般应用于PC系统的程序码、主机板上的BIOS(基本输入/输出系统Basic Input/Output System)等。它的读取速度比RAM慢很多。
根据组成元件的不同,ROM内存又分为以下5种:---看看即可
(1)MASK ROM(掩模型只读存储器)。
制造商为了大量生产ROM内存,需要先制作一颗有原始数据的ROM或EPROM作为样本,然后再大量复制,这一样本就是MASK ROM,而烧录在MASK ROM中的资料永远无法做修改。它的成本比较低。
 
(2)PROM(Programmable ROM,可编程只读存储器)。
这是一种可以用刻录机将资料写入的ROM内存,但只能写入一次,所以也被称为“一次可编程只读存储器”(One Time Programming ROM,OTP-ROM)。PROM在出厂时,存储的内容全为1,用户可以根据需要将其中的某些单元写入数据0(部分的PROM在出厂时数据全为0,则用户可以将其中的部分单元写入1),以实现对其“编程”的目的。
 
(3)EPROM(Erasable Programmable,可擦可编程只读存储器)。
这是一种具有可擦除功能,擦除后即可进行再编程的ROM内存,写入前必须先把里面的内容用紫外线照射它的IC卡上的透明视窗的方式来清除掉。这一类芯片比较容易识别,其封装中包含有“石英玻璃窗”,一个编程后的EPROM芯片的“石英玻璃窗”一般使用黑色不干胶纸盖住,以防止遭到阳光直射。
(4)EEPROM(Electrically Erasable Programmable,电可擦可编程只读存储器)。
功能与使用方式与EPROM一样,不同之处是清除数据的方式,它是以约20V的电压来进行清除的。另外它还可以用电信号进行数据写入。这类ROM内存多应用于即插即用(PnP)接口中。
(5)Flash Memory(快闪存储器)。
这是一种可以直接在主机板上修改内容而不需要将IC拔下的内存,当电源关掉后储存在里
面的资料并不会流失掉,在写入资料时必须先将原本的资料清除掉,然后才能再写入新的资料,
缺点为写入信息的速度太慢。

3.内(外)总线逻辑

总线是计算机各种功能部件之间传输信息的公共通信干线,它是由导电组成的传输线束,
按照计算机所传输的信息种类,计算机总线应涵盖数据总线、地址总线和控制总线。
数据总线用于在CPU与RAM之间来回传送需要处理或者需要存储的数据;
地址总线用于指定在RAM之中存储的数据的地址;
控制总线将微处理器控制单元的信号传送到周边设备。
扩展总线和 局部总线则是根据系统需要而添加的。
总线存在不同拓扑结构,主要包括星形、树状、环形、总线型和交叉开关型等五种。

连接部件分类,还可分片内总线、系统总线、局部总线和通信总线等四种。
  • 片内总线:CPU芯片内部总线,用于连接芯片内部各个元件(如ALU、寄存器、指令部件)。
  • 系统总线:计算机内部总线,它是连接计算机系统的主要组件。如用于连接CPU、主存和I/O接口的总结。系统总线又称板级总线或内部总线。
  • 局部总线:计算机内部总线,通常是指在少数组件之间交换数据的总线,如CPU到北桥的总线,内存到北桥的总线,局部总线的协议一般由设备制造商定义。在体系结构较简单的计算机系统中,局部总线和系统总线为同一

你可能感兴趣的:(系统架构师第二版教程,系统架构)