期末嵌入式复习 - 20190703

第1章 嵌入式系统概述

嵌入式系统基本概念

嵌入式系统的组成

嵌入式处理器

嵌入式操作系统

嵌入式应用软件


1    嵌入式系统基本概念

1)嵌入式系统的定义    
2)嵌入式系统与PC的区别
3)嵌入式系统与单片机系统的区别
4)嵌入式系统的特征    
5)嵌入式系统的应用    

1)嵌入式系统的定义    

计算机工业的分类
传统分类:按照计算机的体系结构、运算速度、结构规模分为大型计算机、中型机、小型机和微型计算机,并以此来组织学科和产业分工,这种分类沿袭了约40年。
现代分类:按计算机的嵌入式应用和非嵌入式应用将其分为通用计算机和嵌入式计算机。通用计算机即通常所说的个人计算机(PC),嵌入式计算机即是指嵌入式系统。

1)嵌入式系统的定义    

  IEEE(国际电气和电子工程师协会)定义:

    嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。  

1)嵌入式系统的定义

嵌入式系统的定义
    嵌入式系统是嵌入到对象体系中的专用计算机系统。
微波炉、空调、小汽车、数码相机等内部都是由一个计算机系统来控制的,计算机系统嵌入在其中。
嵌入式系统是微波炉中的计算机系统
微波炉是一个嵌入式系统

一、嵌入式系统简介

嵌入式系统的基本概念

嵌入式系统的全称是嵌入式计算机系统
          (Embedded Computer System)

一般定义 :
 
嵌入式系统是以应用为中心、以计算机技术为基础,软硬件可剪裁,对系统的功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。

2)嵌入式系统与PC的区别

嵌入式系统的硬件和软件都必须高效率地设计、“量体裁衣”、去除冗余,力争在较少的资源上实现更高的性能;PC的软硬件都很庞大、臃肿。
嵌入式系统的目标代码通常是固化在非易失性存储器(ROM,EPROM,EEPROM,FLASH)芯片中;PC放在硬盘中。

2)嵌入式系统与PC的区别

嵌入式系统使用的操作系统一般是实时操作系统(RTOS),系统有实时性约束;PC无此限制。
嵌入式系统需要专用开发工具和方法进行设计——交叉开发;PC直接开发。


通用PC软、硬件技术高度垄断;嵌入式系统技术不容易被垄断。
PC为通用计算机系统,嵌入式系统为专用计算机系统

嵌入式系统  PC机

嵌入式系统一般是专用系统,而PC是通用计算平台
嵌入式系统的资源比PC少得多
嵌入式系统软件故障带来的后果比PC机大得多
嵌入式系统一般采用实时操作系统
嵌入式系统大都有成本、功耗的要求
嵌入式系统得到多种微处理体系的支持
嵌入式系统需要专用的开发工具

3)嵌入式系统 与 单片机系统的区别

嵌入式系统通常指基于32位微处理器设计的系统(往往带操作系统);单片机系统指基于4位、8位与16位微处理器设计(不使用操作系统)的系统。
嵌入式系统设计的核心是软件设计,约占70%左右的工作量,硬件只占30%;单片机系统软硬件设计工作所占比例基本相同,即约为1:1

嵌入式软件职位与硬件职位的需求比约为7:3,单片机系统约为1:1,甚至软硬件职位不分。
单片机系统可看作是低端嵌入式系统,而以32位微处理器为代表的嵌入式系统则是中、高端嵌入式系统。

嵌入式系统  单片机系统

4)嵌入式系统的特征

嵌入式系统中至少有一片微处理器,是一专用计算机系统;
嵌入式系统软、硬件根据需要进行定制,一般有功耗低、体积小、集成度高、成本低、可靠性高、时时性强等要求。具体要求随应用环境而异。
嵌入式系统采取交叉开发方式进行开发

2. 嵌入式系统的特点

(1)面向具体应用。
(2)是一个技术密集、资金密集、高度分散、不断创新的知识集成系统 。
(3)具有更高的技术要求。
(4)硬件和软件设计要求高效率 。
(5)嵌入式系统一般具有较长的生命周期。
(6)嵌入式系统一般采用具有实时处理能力的嵌入式实时操作系统。
(7)嵌入式系统中的软件一般都采用固化的方式。
(8) 嵌入式系统中软件与系统硬件一体化。
(9)嵌入式系统本身不具备自主开发能力,必须有一套专门的开发环境才能对其进行开发,一般采用交叉开发方式。


3.  嵌入式系统

硬件层                                                                                                                                               

嵌入式系统中的所有硬件设备,是嵌入式系统的物质基础,一般由嵌入式微处理器、存储系统、通信模块、人机接口、I/O接口(A/D、D/A、通用I/O等)以及电源等。

中间层                                                                                                                                            

位于硬件层和操作系统之间的一层,是对硬件层的抽象并使嵌入式操作系统与硬件层无关,是实现嵌入式操作系统夸硬件平台运行的一种技术,其具体表现形式是实现硬件层控制和驱动的程序代码。


嵌入式操作系统(Embed Operation System)                                                                

嵌入式系统的灵魂,实现了处理器管理、存储器管理、设备管理、文件管理和用户接口等功能。


应用层                                                                                                                                              

应用层由基于EOS开发针对具体应用开发的应用程序。


第1章 嵌入式系统概述

嵌入式系统基本概念

嵌入式系统的组成

嵌入式处理器

嵌入式操作系统

嵌入式应用软件


4. 嵌入式操作系统

 运行在嵌入式计算机系统上支持嵌入式应用程序的操作系统,是用于控制和管理嵌入式系统中的硬件和软件资源、提供系统服务的软件集合 。内核:
任务管理、存储管理、文件系统管理、输入输出设备管理


嵌入式操作系统主要特点:

微型化
代码质量高
专业化
实时性强
可裁减、可配置


第2章 ARM编程模型

2)RISC体系结构

CISC(Complex Instruction Set Computer)复杂指令集计算机,
 20世纪70年代在小型计算机上发展起来的一种计算机体系结构
指令复杂,开发成本高,
Intel80386 耗资1.5亿,耗时3年
IBM  FS高速机耗资数亿美元未成功
指令长度不等,大量微码
IBM370,208种指令、长度16位~48位,微程序420K
DEC VAX-11/780,303种指令、长度16位~456位、微程序480K

不利于VLSI实现。大量复杂指令,指令长度不等

统计发现,20%的简单指令(取数、运算、转移等)占CPU动态执行时间的80%~90%;80%的复杂指令只占CPU动态执行时间的20%。花那么大的代价设计和实现的复杂指令很少用到,使用复杂指令值得吗?

RISC( Reduced Instruction Set Computer )精简指令集计算机
1980年,Patterson,Ditzel的论文《精简指令集计算机》提出了RISC的设计思想:精简指令集的复杂度,简化指令实现的硬件设计,硬件只执行使用频度最高的那部分简单指令,大部分复杂的操作则由简单指令的组合完成。
伯克利分校很快据此设计出了RISC原型机RISCI与RISCII
ARM是第一个采用RISC结构的商用微处理器

RISC与CISC比较
RISC指令格式和长度固定,类型少,功能简单、寻址简单方式少;CISC指令长度不等、类型多、功能复杂。
RISC使用硬连线指令译码逻辑,易于流水线实现;CISC采用微码ROM译码。
RISC大多数指令单周期完成;CISC指令多为多周期完成。
RISC除Load/Store指令外,所有指令只对寄存器操作;大多数CISC指令皆可对主存及寄存器器操作。

RICS的不足
RISC代码密度没有CISC高,CISC中的一条指令在RISC中有时要用一段子程序来实现。
RISC不能执行x86代码
RISC给优化编译程序带来了困难

 

2)ARM体系结构版本的变种

T变量(Thumb指令集)
Thumb指令集是把32位的ARM指令集的一个子集重新编码后形成的具有更高密度的16位指令集。
V4后始有T变种,即V4T, V5T

Thumb技术产生的背景
V4前,基于CISC的8位、16位处理器不能满足移动电话、磁盘驱动器、调制解调器等不断出现的新需求。基于CISC的32核太复杂,在体积、功耗及成本等方面不能满足要求;
RISC32位核处理能力虽能满足要求,但代码密度低,需较大存储空间。
因需要一种处理性能强、代码密度高的处理器,于是产生了Thumb.

 Thumb技术的特点
Thumb指令是ARM指令的一个子集,它从标准32位ARM指令集中抽出36条指令格式,重新编成16位的操作码(便于存储);运行时,16位的Thumb指令又由处理器解压成32位的ARM指令,在ARM环境下执行。因此,Thumb技术具有:
比16位处理器更高的处理性能(运行在ARM环境:地址空间、寄存器、移位器、算术逻辑单元、存储器接口宽度等都是32位)

 Thumb技术的特点(续)
比32位处理器更高的代码密度 ,同样的程序运行在Thumb状态下时其代码尺寸仅为ARM状态下的60%~70%
Thumb技术始于ARM7TDMI(V4T),支持Thumb的核仅仅是ARM体系结构的一种扩展,所以编译器既可以编译Thumb代码,又可以编译ARM代码
Thumb状态与ARM状态之间可方便地进行切换,切换时不需付任何代价(包括时间等)。

 

Thumb技术的实现
ARM7T将指令的执行分为3个阶段取指令、译码和执行,即3级流水线。
利用译码阶段的一个未用的时钟位相,将Thumb指令解压还原为32位的ARM指令

 

 

Thumb技术的局限
完成相同的操作,Thumb指令通常需要更多的指令,因此在对系统运行时间要求苛刻的场合ARM指令集更为适合;

Thumb指令集没有包含进行异常处理所需的一些指令,因此在异常中断时需要使用ARM指令,这种限制决定了Thumb指令需要和ARM指令配合使用。

 

M变量(长乘指令)
长乘指令是一种生成64位相乘结果的乘法指令(此指令为ARM指令),M变种增加了两条长乘指令
32位整数乘32整数产生64位整数
32位整数乘32整数加32位整数产生64位整数
V3始引进M变种,现已为标准部分


E变量(增强型DSP指令)
E变种增加了一些附加指令,用于典型DSP算法的处理,主要包括:
16位数据乘法和乘加操作指令

实现饱和有符号数加减法操作指令
Cache预取指令PLD
E变种始用于V5T,V5前及非M、非T版本中E无效


J变量( Java指令、Jazelle技术)
 ARM的Jazelle技术提供的Java加速器运行Java代码比JavaVM快8倍,功耗降80%
 Jazelle技术可在单处理器上同时运行ARM和Java指令,取代原需要双处理器或协助处理器的场合。

 

SIMD变量(ARM媒体功能扩展)
 SIMD指令针对音视频处理设计,为下一代的Internet应用产品、移动电话和PDA等需要流式媒体处理的终端设备提供解决方案。
 使处理器的音视频性能提高2~4倍
可同时进行2个16位操作数或者4个8位操作数的运算
用户可自定义饱和运算的模式
可进行2个16位操作数的乘加/乘减运算及32位乘以32位的小数运算

 

ARM体系结构版本变种汇总

二、ARM内核结构

T功能模块(16 Thumb ): 可以在兼顾性能的同时减少代码尺寸。
M功能模块: (增强型乘法器)可生成全64位的结果。
D功能模块(Debug ):该内核中放置了用于调试的结构。
I功能模块(EmbeddedICE Logic):用于实现断点观测及变量观测的逻辑电路部分


3 ARM核概述

目前在用的ARM处理器系列主要有6个
ARM7(ARM7TDMI)
ARM9
ARM10E
ARM11
SecurCore
Cortex

ARM核命名规则

命名规则的字符串表达式如下:
ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{-S}
其中花括号的内容表示可有可无。前三个参数含义在下面说明:
{x}表示系列号,例如:ARM7,ARM9,ARM10
{y}表示内部存储管理和保护单元,例如:ARM72,ARM92
{z}表示含有高速缓存(Cache),例如:ARM720,ARM940
其余体系结构版本变量已经在前面幻灯片给出。

ARM核命名规则(续)

说明:
①在ARM7TDMI之后出产的所有ARM内核名称,即使“ARM”字串后面没有包含“TDMI”字符串,也都默认包含了该字串。
②对于2005年以后ARM公司投入市场的ARMv7体系结构的处理器核,使用字符串“ARM Cortex”打头,随后附加一个字母后缀“-A”,“-R”或者“-M”,表示该处理器核适合应用的领域;
其中:后缀A表示应用(Application)、 R表示实时控制(Real time)、M表示微控制器(Micro Controller)。

 

ARM内核采用了RISC型处理器结构,具有低功耗、成本低、功能强等突出优势,在嵌入式系统及应用领域具有重要的影响,其主要特点包括:

采用了RISC型处理器结构;
低功耗、成本低、功能强;
采用ARM/Thumb(32位/16位)双指令集;
具有多处理器状态模式;
具有在线仿真调试功能;
具有协处理器接口;
具有优化设计的片上总线AMBA(AHB/ASB/APB);
具有灵活方便的接口。

4. ARM工作状态

具有T变种(V4T、V5T)的ARM处理器核可以工作在以下2种状态:
ARM状态
ARM状态下指令长度为32位,ARM指令,字对准
Thumb状态
Thumb状态下长度为16位, Thumb指令,半字对准。
ARM处理器可以在ARM和Thumb两种状态之间进行切换 ,状态的切换不影响处理器的模式或寄存器的内容

ARM处理器如何在两种工作状态之间进行切换?
进入Thumb状态
执行BX Rm指令进入Thumb状态。当操作数寄存器Rm的bit[0]为1时,执行该指令进入Thumb状态。
异常处理返回时,自动切换到Thumb状态(若在Thumb状态进入异常)

进入ARM状态
执行BX Rm指令进入ARM状态。当操作数寄存器Rm的bit[0]为0时,执行该指令进入ARM状态。
进行异常处理时进入ARM状态。处理器进行异常处理时,把PC放入异常模式链接寄存器LR中,将异常向量地址装入PC,进入ARM状态进行异常处理。
ARM处理器启动时处于什么状态?
ARM处理器启动时,只能处于ARM状态

5. ARM工作模式

ARM支持7种工作模式,由CPSR的低5位决定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值