打印
[应用相关]

嵌入式系统基础

[复制链接]
楼主: labasi
手机看帖
扫描二维码
随时随地手机跟帖
21
labasi|  楼主 | 2018-10-11 14:51 | 只看该作者 回帖奖励 |倒序浏览
10、音频接口

(1)基本原理:麦克风输入的数据经音频编解码器解码完成A/D转换,解码后的音频数据通过音频控制器送入DSP或CPU进行相应的处理,然后数据经音频控制器发送给音频编码器,经编码D/A转换后由扬声器输出。
(2)数字音频的格式有多种,最常用的是下面三种:
A、采用数字音频(PCM):是CD或DVD采用的数据格式。其采样频率为44.1kHz。精度为16位时,PCM音频数据速率为1.41Mb/s;精度为32位时为2.42 Mb/s。一张700MB的CD可以保存大约60分钟的16位PCM数据格式的音乐。
B、MPEG层3音频(MP3):MP3播放器采用的音频格式。立体声MP3数据速率为112kb/s至128kb/s。
C、ATSC数字音频压缩标准(AC3):数字TV、HDTV和电影数字音频编码标准,立体声AC3编码后的数据速率为192kb/s。
(3)IIS是音频数据的编码或解码常用的串行音频数字接口。IIS总线只处理声音数据,其他控制信号等则需要单独传输。IIS使用了3根串行总线:数据线SD、字段选择线WS、时钟信号线SCK。
(4)当接收方和发送方的数据字段宽度不一样时,发送方不考虑接收方的数据字段宽度。如果发送方发送的数据字段小于系统字段宽度,就在低位补0;如果发送方的数据宽度大于接收方的宽度,则超过LSB的部分被截断。字段选择WS用来选择左右声道,WS=0表示选择左声道;WS=1表示选择右声道。此外,WS能让接收设备存储前一个字节,并准备接收下一个字节。


使用特权

评论回复
22
labasi|  楼主 | 2018-10-11 14:52 | 只看该作者
11、串行接口

(1)串行通信是指,使数据一位一位地进行传输而实现的通信。与并行通信相比,串行通信具有传输线少、成本低等优点,特别适合远距离传送;缺点使速度慢。
(2)串行数据传送有3种基本的通信模式:单工、半双工、全双工。
(3)串行通信在信息格式上可以分为2种方式:同步通信和异步通信。
A、异步传输:把每个字符当作独立的信息来传输,并按照一固定且预定的时序传送,但在字符之间却取决于字符与字符的任意时序。异步通信时,字符是一帧一帧传送的,每帧字符的传送靠起始位来同步。一帧数据的各个代码间间隔是固定的,而相邻两帧数据其时间间隔是不固定的。
B、同步传输:同步方式不仅在字符之间是同步的,而且在字符与字符之间的时序仍然是同步的,即同步方式是将许多字符******成一字符块后,在每块信息之前要加上1~2个同步字符,字符块之后再加入适当的错误检测数据才传送出去。
(4)异步通信必须遵循3项规定:
A、字符格式:起始位+数据+校验位+停止位(检验位可无),低位先传送。
B、波特率:每秒传送的位数。
C、校验位:奇偶检验。
a、奇校验:要使字符加上校验位有奇数个“1”。
b、偶检验:要使字符加上校验位有偶数个“1”。
(5)RS-232C的电气特性:负逻辑。
A、在TxD和RxD上:逻辑1为-3V~-15V,逻辑0为3V~15V。
B、在TES、CTS、DTR、DCD等控制线上:
信号有效(ON状态)为3V~15V
信号无效(OFF状态)为-3V~-15V
(6)TTL标准与RS-232C标准之间的电平转换利用集成芯片RS232实现。
(7)RS-422串行通信接口
A、RS-422是一种单机发送、多机接收的单向、平衡传输规范,传输速率可达10Mb/s。
B、RS-422采用差分传输方式,也称做平衡传输,使用一对双绞线。
C、RS-422需要一终端电阻,要求其阻值约等于传输电缆的特性阻抗。
(8)RS-485串行总线接口
A、RS-485是在RS-422的基础上建立的标准,增加了多点、双向通信能力,通信距离可为几十米到上千米。
B、RS-485收发器采用平衡发送和差分接收,具有抑制共模干扰的能力。
C、RS-485需要两个终端电阻。在近距离(300m一下)传输可不需要终端电阻。


使用特权

评论回复
23
labasi|  楼主 | 2018-10-11 14:53 | 只看该作者
12、并行接口

(1)并行接口的数据传输率比串行接口快8倍,标准并行接口的数据传输率为1Mb/s,一般用来连接打印机、扫描仪等,所以又称打印口。
(2)并行接口可以分为SPP(标准并口)、EPP(增强型并口)和ECP(扩展型并口)。
(3)并行总线分为标准和非标准两类。常用的并行标准总线有IEEE 488总线和ANSI SCSI总线。MXI总线是一种高性能非标准的通用多用户并行总线。


使用特权

评论回复
24
labasi|  楼主 | 2018-10-11 14:54 | 只看该作者
13、PCI接口

(1)PCI总线是地址、数据多路复用的高性能32位和64位总线,是微处理器与外围控制部件、外围附加板之间的互连机构。
(2)从数据宽度上看,PCI定义了32位数据总线,且可扩展为64位。从总线速度上分,有33MHz和66MHz两种。
(3)与ISA总线相比,PCI总线的地址总线与数据总线分时复用,支持即插即用、中断共享等功能。


使用特权

评论回复
25
labasi|  楼主 | 2018-10-11 14:57 | 只看该作者
14、USB接口

(1)USB总线的主要特点:
A、使用简单,即插即用。
B、每个USB系统中都有主机,这个USB网络中最多可以连接127个设备。
C、应用范围广,支持多个设备同时操作。
D、低成本的电缆和连接器,使用统一的4引脚插头。
E、较强的纠错能力。
F、较低的协议开销带来了高的总线性能,且适合于低成本外设的开发。
G、支持主机与设备之间的多数据流和多消息流传输,且支持同步和异步传输类型。
H、总线供电,能为设备提供5V/100mA的供电。
(2)USB系统由3部分来描述:USB主机、USB设备和USB互连。
(3)USB总线支持的数据传输率有3种:高速信令位传输率为480Mb/s;全速信令位传输率为12Mb/s;全速信令位传输率为1.5Mb/s。
(4)USB总线电缆有4根线:一对双绞信号线和一对电源线。
(5)USB是一种查询总线,由主控制器启动所有的数据传输。USB上所挂接的外设通过由主机调度的、基于令牌的协议来共享USB带宽。
(6)大部分总线事务涉及3个包的传输:
A、令牌包:指示总线上要执行什么事务,欲寻址的USB设备及数据传送方向。
B、数据包:传输数据或指示它没有数据要传输。
C、握手包:指示传输是否成功。
(7)主机与设备端点之间的USB数据传输模型被称作管道。管道有两种类型:流和消息。消息数据具有USB定义的结构,而数据流没有。
(8)事务调度表允许对某些流管道进行流量控制,在硬件级,通过使用NAK(否认)握手信号来调节数据传输率,以防止缓冲区上溢或下溢产生。
(9)USB设备最大的特点是即插即用。
(10)工作原理:USB设备插入USB端点时,主机都通过默认地址0与设备的端点0进行通信。在这个过程中,主机发出一系列试图得到描述符的标准请求,通过这些请求,主机得到所有感兴趣的设备信息,从而知道了设备的情况以及该如何与设备通信。随后主机通过发出Set Address请求为设备设置一个唯一的地址。以后主机就通过为设备设置好的地址与设备通信,而不再使用默认地址0。


使用特权

评论回复
26
labasi|  楼主 | 2018-10-11 14:57 | 只看该作者
15、SPI接口

(1)SPI是一个同步协议接口,所有的传输都参照一个共同的时钟,这个同步时钟有主机产生,接收数据的外设使用时钟来对串行比特流的接收进行同步化。
(2)在多个设备连接到主机的同一个SPI接口时,主机通过从设备的片选引脚来选择。
(3)SPI主要使用4个信号:主机输出/从机输入(MOSI),主机输入/从机输出(MISO)、串行时钟SCLK和外设片选CS。
(4)主机和外设都包含一个串行移位寄存器,主机通过向它的SPI串行寄存器写入一个字节来发起一次数据传输。寄存器通过MOSI信号线将字节传送给外设,外设也将自己移位寄存器中的内容通过MISO信号线返回给主机,这样,两个移位寄存器中的内容就被交换了。
(5)外设的写操作和读操作时同步完成的,因此SPI成为一个很有效的协议。
(6)如果只是进行写操作,主机只需忽略收到的字节;反过来,如果主机要读取外设的一个字节,就必须发送一个空字节来引发从机的传输。


使用特权

评论回复
27
labasi|  楼主 | 2018-10-11 14:58 | 只看该作者
16、IIC接口

(1)IIC总线是具备总线仲裁和高低速设备同步等功能的高性能多主机总线。
(2)IIC总线上需要两条线:串行数据线SDA和串行时钟线SCL。
(3)总线上的每个器件都有唯一的地址以供识别,而且各器件都可以作为一个发送器或者接收器(由器件的功能决定)。
(4)IIC总线有4种操作模式:主发送、主接收、从发送、从接收。
(5)IIC在传送数据过程******有3种类型信号:
A、开始信号:SCL为低电平时,SDA由高向低跳变。
B、结束信号:SCL为低电平时,SDA由低向高跳变。
C、应答信号:接收方在收到8位数据后,在第9个脉冲向发送方发出特点的低电平。
(6)主器件发送一个开始信号后,它还会立即送出一个从地址,来通知将与它进行数据通信的从器件。1个字节的地址包括7位地址信息和1位传输方向指示位,如果第7位为0,表示要进行一个写操作,如果为1,表示要进行一个读操作。
(7)SDA线上传输的每个字节长度都是8位,每次传输种字节的数量没有限制的。在开始信号后面的第一个字节是地址域,之后每个传输字节后面都有一个应答位(ACK),传输中串行数据的MSB(字节高位)首先发送。
(8)如果数据接收方无法再接收更多的数据,它可以通过将SCL保持低电平来中断传输,这样可以迫使数据发送方等待,直到SCL被重新释放。这样可以达到高低速设备同步。
(9)IIC总线的工作过程:SDA和SCL都是双向的。空闲的时候,SDA和SCL都是高电平,只有SDA变为低电平,接着SCL再变为低电平,IIC总线的数据传输才开始。SDA线上被传输的每一位在SCL的上升沿被采样,该位必须一直保持有效到SCL再次变为低电平,然后SDA就在SCL再次变为高电平之前传输下一个位。最后,SCL变回高电平,接着SDA也变为高电平,表示数据传输结束。


使用特权

评论回复
28
labasi|  楼主 | 2018-10-11 15:00 | 只看该作者
17、以太网接口

(1)最常用的以太网协议是IEEE802.3标准。
(2)传输编码(06和07年都有******):曼彻斯特编码和差分曼彻斯特编码。
A、曼彻斯特编码:每位中间有一个电平跳变,从高到底的跳变表示“0”,从低到高的跳变表示为“1”。
B、差分曼彻斯特编码:每位中间有一个电平跳变,利用每个码元开始时有无跳变来表示“0”或“1”,有跳变为“0”,无跳变为“1”。
(3)相比之下,曼彻斯特编码编码简单,差分曼彻斯特编码提供更好的噪声抑制性能。
(4)以太网数据传输特点:
A、所有数据位的传输由低位开始,传输的位流时用曼彻斯特编码。
B、以太网是基于冲突检测的总线复用方法,由硬件自动执行。
C、传输的数据长度,目的地址DA+源地址SA+类型字段TYPE+数据段DATA+填充位PAD,最小为60B,最大为1514B。
D、通常以太网卡可以接收3种地址的数据:广播地址、多播地址、自己的地址。
E、任何两个网卡的物理地址都不一样,是世界上唯一的,网卡地址由专门机构分配。
(5)嵌入式以太网接口有两种实现方法:
A、嵌入式处理器+网卡芯片(例如:RTL8019AS、CS8900等)
B、带有以太网接口的处理器。
(6)TCP/IP是一个分层协议,分为:物理层、数据链路层、网络层、传输层和应用层。每层实现一个明确的功能,对应一个或几个传输协议,每层相对于它的下层都作为一个独立的数据包来实现。每层上的协议如下:
A、应用层:BSD套接字。
B、传输层:TCP、UDP。
C、网络层:IP、ARP、ICMP、IGMP
D、数据链路层:IEEE802.3 Ethernet MAC
E、物理层:二进制比特流。
(7)ARP(地址解析协议)
A、网络层用32位的地址来标识不同的主机(即IP地址),而链路层使用48位的物理地址(MAC)来标识不同的以太网或令牌网接口。
B、ARP功能:实现从IP地址到对应物理地址的转换。
(8)ICMP(网络控制报文协议)
A、IP层用它来与其他主机或路由器交换错误报文和其他重要控制信息。
B、ICMP报文是在IP数据包内被传输的。
C、网络诊断工具ping和traceroute其实就是ICMP协议。
(9)IP(网际协议)
A、IP工作在网络层,是TCP/IP协议族中最为核心的协议。
B、所有的TCP、UDP、ICMP及IGMP数据都以IP数据包格式传输。
C、TTL(生存时间字段):指定了IP数据包的生存时间(数据包可以经过的路由器数)。
D、IP提供不可靠、无连接的数据包传送服务,高效、灵活。
a、不可靠:它不能保证数据包能成功到达目的地,任何要求的可靠性必须由上层来提供(如TCP)。如果发生某种错误,IP有一个简单的错误处理算法--丢弃该数据包,然后发送ICMP消息报给信源端。
b、无连接:IP不维护任何关于后续数据包的状态信息。每个数据包的处理都是相互独立的。IP数据包可以不按顺序接收,
(10)TCP(传输控制协议)
TCP协议是一个面向连接的可靠的传输层协议,它为两台主机提供高可靠性的端到端数据通信。
(11)UDP(用户数据包协议)
UDP协议是一种无连接不可靠的传输层协议,它不保证数据包能到达目的地,可靠性有应用层来提供。UDP协议开销少,和TCP相比更适合于应用在低端的嵌入式领域中。
(12)端口:TCP和UDP采用16位端口号来识别上层的用户,即应用层协议,例如FTP服务的TCP端口号都是21,Telnet服务的TCP端口号都是23,TFTP服务的UDP端口号都是69。


使用特权

评论回复
29
labasi|  楼主 | 2018-10-11 15:02 | 只看该作者
18、CAN总线接口

(1)CAN(Control Area Network,控制器局域网)总线是一种多主方式的串行通信总线,是国际上应用最广泛的现场总线之一,最初被用于汽车环境中的电子控制网络。一个CAN总线构成的单一网络中,理想情况下可以挂接任意多个节点,实际应用中节点数据受网络硬件的电气特性所限制。
(2)总线信号使用差分电压传送。两条信号线被称为CAN_H和CAN_L,静态是均为2.5V左右,此时状态表示逻辑1,也可以叫做“隐性”。用CAN_H比CAN_L高表示逻辑0,称为“显性”,此时,通常电压值为CAN_H=3.5V和CAN_L=1.5V。
(3)当“显性”和“隐性”位同时发送的时候,最后总线数值将为“显性”这种特性为CAN总线的仲裁奠定了基础。
(4)CAN总线的一个位时间可以分成4个部分:同步段、传播时间段、相位缓冲段1和相位缓冲段2。
(5)CAN总线的数据帧有两种格式:标准格式和扩展格式。包括:帧起始、仲裁场、控制场、数据场、CRC场、ACK场和帧结束。
(6)CAN总线硬件接口包括:CAN总线控制器和CAN收发器。CAN控制器主要完成时序逻辑转换等工作,例如菲利普的SJA1000。CAN收发器是CAN总线的物理层芯片,实现TTL电平到CAN总线电平特性的转换,例如TJA1050。


使用特权

评论回复
30
labasi|  楼主 | 2018-10-11 15:02 | 只看该作者
19、xDSL接口

(1)xDSL(数字用户线路)技术是,在现有用户电话线两侧同时接入专用的DSL调制解调设备,在用户线上利用数字数字信号高频带宽较宽的特性直接采用数字信号传输,省去中间的A/D转换,突破了模拟信号传输极限速率为56KB/s的闲置。
(2)DSL技术主要分为对称和非对称两大类。
(3)对成xDSL更适合于企业点对点连接应用,例如文件传输、视频会议等收发数据量大致相同的工作。
(4)ASDL是近年发展的另一种宽带接入技术,是利用双绞铜线向用户提供两个方向上速率不对称的宽带信息业务。
(5)ADSL在一对电话线上同时传送一路高速下行数据、一路较低速率上行数据、一路模拟电话。各信号之间采用频分复用方式占用不同频带,低频段传送话音;中间窄频带传送上行信道数据及控制信息;其余高频段传送下行信道数据、图像或高速数据。


使用特权

评论回复
31
labasi|  楼主 | 2018-10-11 15:03 | 只看该作者
20、WLAN接口

(1)WLAN(Wireless Local Area Network)是利用无线通信技术在一定的局部范围内建立的,是计算机网络与无线通信技术相结合的产物,它以无线多址通道作为传输媒介,提供有线局域网的功能。
(2)WLAN的标准:主要是针对物理层和媒质访问控制层(MAC层),涉及到所有使用的无线频率范围、控制接口通信协议等技术规范与技术标准。
A、IEEE 802.11:定义了物理层和MAC层规范,工作在2.4~2.4835GHz频段,最高速率为2Mb/s,是IEEE最初制定的一个无线局域网标准。
B、IEEE 802.11b:工作在2.4~2.4835GHz频段,最高速率为11Mb/s,传输距离50~150inch。采用点对点模式和基本模式两种运行模式。在数据传输速率方面可以根据实际情况在11Mb/s、5.5Mb/s、2 Mb/s、1 Mb/s的不同速率间自动切换。
C、IEEE 802.11a:工作在5.15~8.825GHz频段,最高速率为54Mb/s/72Mb/s,传输距离10~100m。
D、IEEE 802.11g:混合标准,拥有EEE 802.11a的传输速率,安全性较EEE 802.11b好,采用两种调制方式,做到与EEE 802.11a和EEE 802.11b兼容。
(3)WLAN有两种网络类型:对等网络和基础机构网络。


使用特权

评论回复
32
labasi|  楼主 | 2018-10-11 15:03 | 只看该作者
21、蓝牙接口

(1)蓝牙技术的目的:使特定的移动电话、便鞋式电脑以及各种便携通信设备的主机之间近距离内实现无缝的资源共享。
(2)蓝牙技术的实质内容是要建立通用的无线空中接口及其控制软件的公开标准。其工作频段为全球通用的2.4GHz ISM(即工业、科学、医学)频段,其数据传输速率为1Mb/s,采用时分双工方案来实现全双工传输,其理想的连接范围为10cm~10m。
(3)蓝牙基带协议是电路交换和分组交换的结合。
(4)蓝牙技术特点:
A、传输距离短,工作距离在10m以内。
B、采用跳频扩频技术。
C、采用时分复用多路访问技术,有效地避免了“碰撞”和“隐藏终端”等问题。
D、网络技术。
E、语言支持。
F、纠错技术,其采用的是FEC(前向纠错)方案。
(5)蓝牙接口由3大单元组成:无线单元、基带单元、链路管理与控制单元。


使用特权

评论回复
33
labasi|  楼主 | 2018-10-11 15:03 | 只看该作者
23、电源接口

(1)DC-DC转换器有三种类型:
A、线性稳压器:产生较输入电压低的电压。
B、开关稳压器:能升高电压、降低电压或翻转输入电压。
C、充电泵:可以升高、降低或翻转输入电压,但电流驱动能力有限。
(2)任何变压器的转换过程都不具有100%的效率,稳压器本省也使用电流(静态电流),这个电流来自输入电流。静态电流越大,稳压器功耗越大。
(3)线性稳压器输入输出使用退耦电容来过滤,电容除了有助于平稳电压以外,还有利于去除电源中的瞬间短时脉冲波形干扰。
(4)电压与功耗之间的平方关系意味着理想高效的方法是在要求较低电压的较低时钟速率上执行代码,而不是先以最高的时钟速率执行代码然后再转为空闲休眠。
(5)电源通常被认为是整个系统的“心脏”,绝大多数电子设备50%~80%的节能潜力在于电源系统,研制开发新型开关电源是节能的主要举措之一。
(6)降低功耗的设计技术:
A、采用低功耗器件,例如选用CMOS电路芯片。
B、采用高集成度专用器件,外部设备的选择也要尽量支持低功耗设计。
C、动态调整处理器的时钟频率和电压,在允许的情况下尽量使用低频率器件。
D、利用“节电”工作方式。
E、合理处理器件空余引脚:
a、大多数数字电路的输出端在输出低电平时,其功耗远远大于输出高电平时的功耗,设计时应该注意控制低电平的输出时间,闲置时使其处于高电平输出状态。
b、多余的非门、与非门的输入端应接低电平,多余的与门、或门的输入端应接高电平。
c、ROM或RAM及其他有片选信号的器件,不要将“片选”引脚直接接地,避免器件长期被接通,而应该与“读/写”信号结合,只对其进行读写操作时才选通。
F、实现电源管理,设计外部器件电源控制电路,控制“耗电大户”的供电情况。


使用特权

评论回复
34
labasi|  楼主 | 2018-10-11 15:04 | 只看该作者
23、电源接口

(1)DC-DC转换器有三种类型:
A、线性稳压器:产生较输入电压低的电压。
B、开关稳压器:能升高电压、降低电压或翻转输入电压。
C、充电泵:可以升高、降低或翻转输入电压,但电流驱动能力有限。
(2)任何变压器的转换过程都不具有100%的效率,稳压器本省也使用电流(静态电流),这个电流来自输入电流。静态电流越大,稳压器功耗越大。
(3)线性稳压器输入输出使用退耦电容来过滤,电容除了有助于平稳电压以外,还有利于去除电源中的瞬间短时脉冲波形干扰。
(4)电压与功耗之间的平方关系意味着理想高效的方法是在要求较低电压的较低时钟速率上执行代码,而不是先以最高的时钟速率执行代码然后再转为空闲休眠。
(5)电源通常被认为是整个系统的“心脏”,绝大多数电子设备50%~80%的节能潜力在于电源系统,研制开发新型开关电源是节能的主要举措之一。
(6)降低功耗的设计技术:
A、采用低功耗器件,例如选用CMOS电路芯片。
B、采用高集成度专用器件,外部设备的选择也要尽量支持低功耗设计。
C、动态调整处理器的时钟频率和电压,在允许的情况下尽量使用低频率器件。
D、利用“节电”工作方式。
E、合理处理器件空余引脚:
a、大多数数字电路的输出端在输出低电平时,其功耗远远大于输出高电平时的功耗,设计时应该注意控制低电平的输出时间,闲置时使其处于高电平输出状态。
b、多余的非门、与非门的输入端应接低电平,多余的与门、或门的输入端应接高电平。
c、ROM或RAM及其他有片选信号的器件,不要将“片选”引脚直接接地,避免器件长期被接通,而应该与“读/写”信号结合,只对其进行读写操作时才选通。
F、实现电源管理,设计外部器件电源控制电路,控制“耗电大户”的供电情况。


使用特权

评论回复
35
labasi|  楼主 | 2018-10-11 15:04 | 只看该作者
存储

1、存储器系统的层次架构

计算机系统的存储器被组织城一个金字塔的层次结构。
自上而下为:CPU内部寄存器、芯片内部高速缓存(cache)、芯片外部高速缓存(SRAM、SDRAM、DRAM)、主存储器(FLASH、EEPROM)、外部存储器(磁盘、光盘、CF卡、SD卡)和远程二级存储器(分布式文件系统、WEB服务器),6个层次的结构。
上述设备从上而下,依次速度更慢、容量更大、访问频率更小,造价更便宜。


使用特权

评论回复
36
labasi|  楼主 | 2018-10-11 15:04 | 只看该作者
2、高速缓存(cache)

工作原理(参照教程126页,博客画不了图):主要利用了程序的局部性特点。
地址映象是指把主存地址空间映象到cache的地址空间。
地址变换是指当程序或数据已经装入到cache后,在实际运行过程中,把主存地址如何编程cache空间的地址。
常用的地址映象和地址变换的方式有:
直接映象和变换:速度快,造价低,但有局限性,不能充分利用cache的好处。
组相联地址映象和变换:速度稍慢但是命中率高。
全相联地址映象和变换:可以任意映射。
常用的cache替换算法:轮转法和随机替换算法。
高速缓存的分类:
统一cache和独立的数据/指令cache
写通cache和写回cache
读操作分配cache和写操作分配cache


使用特权

评论回复
37
labasi|  楼主 | 2018-10-11 15:04 | 只看该作者
3、存储管理单元(MMU)

MMU在CPU和物理内存之间进行地址转换,将地址从逻辑空间映射到物理空间,这个过程称为内存映射。
MMU主要完成下面的工作:
A. 虚拟存储空间到物理空间的映射。
B. 存储器访问权限的控制。
C. 设置虚拟存储空间的缓冲特性。
嵌入式系统中常常采用页式存储管理。为了管理这些页引入了页表的概念。
页表是位于内存中的表,它的每一行对应虚拟存储空间的一个页,该行包含了该虚拟内存页对应的物理内存页的地址、该页的访问权限和该页的缓冲特性等。
从虚拟地址到物理地址的变换过程就是查询页表的过程。
由于页表存储在内存中的,整个查询过程需要付出很大的代价。根据程序局部性的特点,增加了一个小容量、高速度的存储部件来存放当前访问需要的地址变换条目,这个存储部件称为:地址转换后备缓冲器(TLB)。
当CPU访问内存时,首先在TLB中查找需要的地址变换条目,如果该条目不存在,CPU再从内存中的页表中查询,并把相应的结果添加到TLB中,更新它的内容。
嵌入式系统中虚拟存储空间到物理空间的映射以内存块为单位进行。即虚拟存储空间中一块连续的存储空间被映射到物理存储空间中同样大小的一块连续存储空间。
在页表和TLB中,每一个地址变换条目实际上记录了一个虚拟存储空间的内存块的基地址与物理存储空间相对应的一个内存块的基地址之间的对应关系。
在MMU中实现虚拟地址到物理地址的映射是通过两级页表来实现的。
禁止MMU时,所有物理地址和虚拟地址相等,即使用平板存储模式。

使用特权

评论回复
38
labasi|  楼主 | 2018-10-11 15:05 | 只看该作者
4、内存保护

操作系统通常利用MMU来实现操作系统内核与应用程序之间的隔离,以及应用程序与应用程序之间的隔离。
内存保护包含两个方面的内容:
A. 防止地址越界,每个应用程序都有自己独立的地址空间。
B. 防止越权操作,每个应用程序都有自己的访问权限。


使用特权

评论回复
39
labasi|  楼主 | 2018-10-11 15:05 | 只看该作者
5、实模式与保护模式

在嵌入式系统中,常见的存储管理方案可以分为两大类:实模式和保护模式。
实模式:内存的平面使用模式。特点有:
A. 不划分“系统空间”与“用户空间”,无须进行地址映射。
B. 操作系统与应用程序之间不再有物理的边界。
C. 系统中的“任务”或“进程”,实际上全是内核线程。
在实模式下,内存布局可以分为5个段:
A. 代码段:包含操作系统和应用程序的所有代码。
B. 数据段:所有带有初始值的全局变量。
C. BSS段:所有未带初始值的全局变量。
D. 堆空间:动态分配的内存空间。
E. 栈空间:保存上下文以及函数调用时的局部变量和形参。
在实模式存储管理方案下,主要的工作在于堆空间的管理,即如何来管理空闲的堆空间、如何来分配内存、如何来回收内存等等。
保护模式:处理器中必须有MMU硬件并启用。特点有:
A. 系统内核和用户程序都有各自独立的地址空间。
B. 每个应用程序只能访问自己的地址空间,不能去破坏操作系统和其他应用程序的代码和数据。


使用特权

评论回复
40
labasi|  楼主 | 2018-10-11 15:06 | 只看该作者
6、分区存储管理

为了实现多道程序系统而采用的最简单的内存管理。
基本思路:把整个内存划分为两大区域,即系统区和用户区,然后再把用户区划分为若干个分区,每个任务占有其中的一个分区。这样,在内存当中就同时保留多个任务,让他们共享整个用户区,从而实现多个任务的并发运行。
分区存储管理又可以分为两类:固定分区和可变分区。
固定分区:各个用户分区的个数、位置和大小一旦确定后,就固定不变,不能再修改。
优点:易于实现,系统开销较小。
缺点:内存利用率不高,分区总数固定。
可变分区:动态创建,在装入一个程序时,系统将根据它的需求和内存空间的使用情况来决定是否分配。
优点:动态变化,非常灵活。
缺点:可能存在外碎片。
在实现可变存储管理技术的时候,需要考虑三个方面的问题:
A. 内存管理的数据结构
B. 内存的分配算法
C. 内存的回收算法


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则