正文内容
嵌入式微处理器
来源:开心麻花
作者:开心麻花
2025-09-19
1

嵌入式微处理器(精选11篇)

嵌入式微处理器 第1篇

1 嵌入式系统功能包括:

1.1 监视环境-从输入传感器读取数据, 然后处理数据并显示结果。

1.2 控制环境-产生并向伺服系统发送命令。

1.3 转换信息-转换并处理收集到的数据。

虽然通过传感器和伺服系统完成与外部世界的交互是嵌入式系统的重要特点, 但这些嵌入式系统还提供适合它们所在设备的特殊功能。嵌入式系统一般用来执行控制程序、有限状态机和信号处理算法。这些系统还必须检测内部计算环境和周围电磁系统中发生的故障并对此做出响应。

2 嵌入式系统特性

嵌入式系统的设计挑战是使嵌入式系统的独特性能与设备的特殊约束条件相一致。以下是一些嵌入式系统的重要特性:

2.1 特殊应用系统-嵌入式系统不同于通用处理器, 它针对特殊应用进行设计。

2.2 反应性系统-反应性计算的意思是系

统根据传感器信息对环境作出响应, 并利用伺服系统控制环境, 同时系统速度能与环境速度同步。

2.3 分布式-嵌入式系统的一般特征是多个通信进程在多个通过通信链路链接的CPU上运行。

2.4 异类性-不同的嵌入式系统一般具有

不同的结构, 以便在处理严格设计约束的嵌入式系统时能够提供更好的设计便利性。

2.5 苛刻环境-许多嵌入式系统并不工作

在受控的环境中, 因此它们必须能够经受过热、振动、冲击、电源波动和其它恶劣的物理环境条件的考验。

2.6 系统安全性和可靠性-由于嵌入式系统复杂度和运算量的不断增长, 需要更多地考虑系统安全因素。

2.7 小型化、重量轻-为了达到便携目的, 许多嵌入式系统的重量必须设计得很轻。

3 在为嵌入式实时系统选择处理器时需要考虑以下几个方面:

3.1 性能:处理器必须有足够的性能执行任务和支持产品生命周期。

3.2 实现:

根据具体应用情况, 处理器可能需要被高度集成。在DSP应用中可以有好几种选择, 专用集成电路就是其中的一种。这些器件可以被用作DSP协处理器, 但对于许多通用信号处理来说显得不够灵活。另外可以选择精简指令集计算机 (RISC) 处理器。这些处理器的时钟速度特别快, 但可扩展性不是很强, 而且会发生其它实时 (可预测性) 问题。现场可编程阵列 (FPGA) 是一种快速器件, 能够快速高效地完成某些DSP功能, 但与DSP相比开发难度比较大, 因为在DSP中一个简单的程序就能完成相同的功能。如果是主信号处理应用, 则最好采用性能强大功耗也较大的通用处理器。如果需要快速升级信号处理应用, 采用DSP等可编程器件比定制的硬件方案要更好些。

3.3 工具支持:支持软件创建、调试、系统集成、代码调整和优化工具对整体项目成功与否非常关键。

3.4 操作系统支持:

嵌入式系统应用需要使用有帮助的抽象来减少其复杂性。针对处理器系列产品作过优化的商用操作系统 (OS) 能够缩短设备开发周期和上市时间。

3.5 过去的经验:

拥有处理器或处理器系列产品的开发经验可以减少可观的学习新处理器、工具和技术的时间。

3.6 仿真支持:

循环精确仿真对某些类型的应用来说非常重要, 特别是数字信号处理应用中许多功能正确性验证都是采用仿真技术完成的。嵌入式系统的软硬件协同设计模型也促使处理器仿真器成为开发流程中一个非常有用的工具。

3.7 应用支持:

应用支持有多种方式, 从通过热线或网站取得的应用专家支持, 到预打包的软件和应用框架, 甚至完好的测试平台。一些DSP处理器能够提供外围器件的驱动器、板级支持包和其它“启动帮助组件”。有了这些软件组件后, 应用开发师就无需再编写器件驱动器等"无附加值"的软件, 相反, 他们可以把精力放在具有附加值的功能开发上, 使他们的产品能独树一帜。

3.8 成本:嵌入式应用对成本特别敏感, 而产品成本的稍许差别都可能导致市场的失败。

3.9 功耗:

市场上有许多依靠电池工作的便携嵌入式实时系统, 此时电池寿命将成为系统的重要参数。这种情况下应该考虑使用针对便携式应用优化的低功耗器件。

3.1 0 传统代码:

如果选中的处理器需要设计人员编写与现存代码的接口, 将会导致整个设计流程的严重滞后。因此需要选择一款代码兼容的器件来避免或减少这一步骤造成的影响。

3.1 1 算法复杂性:

某些处理器能够非常高效地处理某类算法, 因此最好选择能够与应用最佳匹配的处理器。例如, 具有许多控制代码的有限状态机应用应该映射为类似ARM处理器的RISC器件。编码、解码和回波抵消等信号处理应用应该映射为数字信号处理器, 或具有信号处理加速器的某种器件。

3.1 2 上市时间:

项目的完成时间会加快处理器的选择过程, 这一过程与先前讲述的几个关键事项密切相关, 如OS的可用性、其它软件组件以及便携性问题。

4 软件性能工程

许多嵌入式实时系统必须满足一系列性能目标。一般来讲, 性能是一个软件系统或组件对时间要求满足程度的一种指示。这里的时间指标可以用响应时间和吞吐量来衡量, 该时间值是指响应某种要求所需的时间, 而吞吐量用以指示系统在特定时间间隔内能够处理的请求数量。可扩展性是嵌入式实时系统的另外一个重要指标, 可以用它来衡量系统要求提高时系统能够继续满足响应时间或吞吐量要求的能力。

结束语

基于虚拟处理器嵌入式中间件 第2篇

关键词:嵌入式 中间件 虚拟处理器 Intent

引言

嵌入式中间是在嵌入式应用程序和操作系统、硬件平台之间嵌入的一个中间层,通常定义成一组较为完整的、标准的应用程序接口。它主要为嵌入式应用软件的开发提供跨操作系统和跨硬件平台,层次化、模块化和可扩展的接口,同时,根据嵌入式应用的编程特点提供必要的编程工具。

嵌入式微处理器 第3篇

摘要:本文介绍了基于SPARC V8结构的微处理器特点与性能,详细阐述了微处理器的硬件开发环境设计方案与软件开发环境的设计思路,经过实际工程应用证明系统运行良好,本系统的设计方案对类似的设计工作有一定的指导意义。

关键词:SPARC V8;嵌入式微处理器;开发环境

SPARC V8(Scalable PrecessorArchitecture V8)是Sun Microsystems提出的一种32位RISC微处理器结构,此结构的处理器具有指令系统简单,采用硬布线控制逻辑,处理能力强,速度快,可靠性高等特点,基于这些特点,SPARC结构处理器现在被广泛地应用于UNIX工作站、服务器等稳定性要求很高的环境中。

随着SPARC V8结构处理器越来越广泛的应用,如何搭建此结构微处理器的软件和硬件开发环境是一个值得研究的课题,本文中详细地阐述了开发环境的硬件平台设计方案和软件集成开发环境设计思路。

SPARC V8结构嵌入式微处理器的硬件开发环境设计

硬件开发环境以微处理器为核心,根据其内部结构特点可将外围电路分为BOOT ROM、PROGRAM ROM、SRAM、RS232接口,复位电路,键盘接口和320*240液晶接口等部分,下面对硬件开发板的几个重要电路模块进行分析:

RAM存储器部分:SPARC V8结构微处理器的数据总线为32位,地址总线为28根,有4个RAM通道,每个通道的最大寻址空间为256Mbyte,使用时需要根据外围SRAM的容量在处理器寄存器相应位中设置每个通道容量大小,处理器根据不同的地址产生相应通道片选信号。本硬件开发板根据实际的应用需求使用了RAM通道1和RAM通道2,每个RAM通道使用2片16位的SRAM用于存储计算数据,使用1片用于存储8位校验码数据PD0-PD7。

ROM存储器部分:SPARC V8结构处理器具有2个ROM通道,每个通道的最大寻址空间同样为256Mbyte,但每个通道的容量不需在Memory Register中设置,它的2个ROM通道的地址范围被固定。基于这种特点,本开发板分别使用2个16位FLASH将ROM通道1作为存放引导系统启动程序的BOOT ROM,将通道2作为存储操作系统和应用程序的PROGRAM ROM。

显示电路部分:液晶显示器作为主要的I/O设备,采用320*240分辨率的LCD,使用SED1335控制器进行显示控制,并由MC34063电路产生负电源用于LCD对比度的调节。

数据输入部分:将标准的PS2键盘作为硬件开发板的输入设备,利用AT89C52单片机设计的键盘控制芯片对PS2键盘输出数据进行采集和处理。最终将处理后的键盘编码数据传送给微处理器。

根据上述的分析,硬件开发板的原理框图如图1所示。

硬件开发板的如下图所示

SPARC V8结构嵌入式微处理器的软件集成开发环境设计

软件集成开发环境总体设计

一个好的设计应该是在参考已有优秀系统的前提下,根据自身的特点和需求来定制的,这种设计思路在设计中已经被广泛使用。在设计软件集成开发环境时也是采用了这种方式,在参考了将操作系统、开发工具,仿真工具和分析工具于一身的相应开发环境之后,结合实际的设计要求和设计能力,将微处理器的软件集成开发环境分成如下几个部分:

·工程管理环境

·集成软件开发环境

·嵌入式系统调试环境

·嵌入式系统编译环境

·软件资源可配置环境

将软件集成开发环境分成三个层次,具体的功能如图3所示:

软件集成开发环境的详细设计

软件集成开发环境管理层设计

工程管理:一般的集成开发环境如VC、VB等,这些开发环境是针对桌面系统完成的,它的工程管理能力

只限于文件级别管理,但嵌入式系统的功能管理则要求更高些,因为嵌入式系统开发还涉及到目标系统的配置与管理,不同的工程是针对不同目标系统开发出的,不同目标系统开发的嵌入式软件的很多属性,例如编译器属性、输出路径,编译环境路径等都是不同的,在工程管理中都要提供给用户可以修改这些工程属性的能力,所以基于这些考虑,开发环境的工程管理采用了工程文件的形式。

集成环境配置:软件集成开发环境有很多的属性。例如编辑框属性,任务栏属性,显示的属性,使用语言等等都要进行设置。这就要求在软件集成开发环境中有这样的选项,环境中应包括的编辑框,工程管理框,调试框,任务栏等一些可视控件的属性都可以在这里进行设置,如图4所示。

软件开发层设计

软件集成开发环境设计是为了给系统开发和系统验证工程师提供一个有效的开发和验证工具平台,为使设计者能够快速,有效地开发出嵌入式程序提供有效的支持,以提高嵌入式应用系统开发效率。由于单板测试程序没有操作系统的支持,它们运行的时候要有其它的支持库支持才能运行,将支持库封装到集成开发环境中,包括一些系统运行的头文件,系统初始化文件和软件运行的时候陷阱处理程序等,在开发者开发的时候就不用考虑这些问题,而将注意力集中到软件设计中去。

调试环境设计

调试方式一般从距离主机的位置可以分为:基于主机的调试、远程调试两种。前者调试是基于桌面系统的指令集模拟器,如ARM的SKYEYES、SPARC的TSIM和ATI的MNT等。调试方法都是将编译好的程序下载到模拟器上,在模拟器上运行程序。并在模拟器上对程序进行调试,这样调试的好处就是加快项目进度和减少资金,缺点是在模拟器上可以运行的程序在实际的硬件中并不一定就能运行成功。后者是利用通讯某种通讯方式如网口,串口,JTAG口等连接上位机和目标机,利用在上位机的代理软件和目标机上的monitor监控程序通过某种通讯协议来完成彼此之间的通讯。从而达到调试目的,这种调试方式是基于硬件本身的,得到的调试信息准确有效,所以本文中的软件开发环境就采用了这种远程调试模式。

在设计中。软件开发环境的调试任务通过第三方软件来完成,此软件包括;①Gdbtk-gdb调试软件前端图形界面(图5):②Remotedebugging monitor……gdb调试监控软件工具。将这个调试环境整合到软件集成开发环境中,这样用户可以随时调用调试工具,在其界面上进行各种调试工作。

在硬件开发板的BOOT ROM中存放着bootloader程序,此程序通过开发板上的串口与上位机的串口调试软件建立交互通道,完成程序下载、程序运行、显示存储器空间内容、执行monitor监控程序等操作。

当我们运行了目标机上monitor监控程序后。这个程序在目标机上建立调试环境,当用户运行调试环境调试自己的程序时,monitor监控程序作为后台程序运行在目标机上。Monitor监控程序按照指定串行协议接收上位机发来的命令,做出相应处理之后,将收集的调试信息发回到上位机,最后显示在调试界面上。整个过程可由图7来表示。

编译环境设计

在设计软件集成开发环境的编译环境时。采用Gnu提供的整套对SPARC处理器的编译环境:

①binutils二进制文件处理工具

binutils包主要包括了一些辅助开发工具,如objdump反汇编器,readelf显示elf文件、段信息,strip将不必要的代码去掉以减少可执行文件的大小,这些工具主要用于开发的初期,特别是在调试移植操作系统的时候。

②GCC编译器

gcc是gnu collection compiler的简称,它可以编译汇编、c、pascal、java等多种语言,而且还支持很多硬件开发平台,通过对gcc源码的编译,其可以成为交叉编译工具。

③Glibc链接、运行库

在集成编译环境时,使用内含编译环境的方式,即将SPARC的编译环境集成在集成开发环境中,成为开发环境的一部分的方式来完成的,可以在集成环境工程选项中进行详细配置,在集成环境中添加编译器文件夹,用连接的方式将编译环境链接到集成开发环境中来。

结论

嵌入式微处理器比较与分析 第4篇

一、嵌入式处理器基本分类

嵌入式处理器大体可分为三大类, 嵌入式微处理器、嵌入式微控制器和专用微处理器。嵌入式微处理是包含了通用计算机中CPU的全部功能, 相对于通用CPU, 嵌入式微处理具有体积小、功耗少、成本地的优点, 但在速度上要低于通用CPU。嵌入式微控制器的最大特点是单片化, 常称为单片机。相对于上述比较通用的类型, 专用微处理器是专门针对某一特定领域的微处理器。如昂贵的视频游戏机微处理器等。DSP和FPGA都属于专用微处理器。

二、典型处理器分析

(一) ARM处理器

ARM (Advance d RISC Machine s) 处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器。更早称作Acorn RISC Machine。ARM处理器本身是32位设计, 但也配备16位指令集。ARM处理器的三大特点是:耗电少功能强、16位/32位双指令集和合作伙伴众多。使用ARM处理器的手机有欧洲诺基亚、美国摩托罗拉、英国索尼爱立信、韩国三星、美国Palm (奔迈) 等。

(二) 微控制器MCU

MCU (Micro Controlle r Unit) 中文名称为微控制单元, 又称单片微型计算机 (Single Chip Microcomputer) , 是指随着大规模集成电路的出现及其发展, 将计算机的CPU、RAM、ROM、定时数器和多种I/O接口集成在一片芯片上, 形成芯片级的计算机, 为不同的应用场合做不同组合控制。

(三) 专用处理器DSP和FPGA

DSP和FPGA技术在许多领域均有广泛的应用, 针对DSP芯片, 作为一个软件设计者, DSP的关键优势包括其对于新型及复杂算法时的更短的开发时间, 以及能够运行多种算法的灵活性。而对于FPGA来说, 面对的是一个硬件设计者, FPGA的最大优势在于硬件实现已及通过并行处理实现的效率增益。具体区别如下:

从定义上:DSP作为可编程超大规模集成电路 (VLSI) 器件;FPGA指的是现场可编程门阵列。

从可实现技术上:DSP最典型的用途是实现FIR滤波器和FFT算法;而FPGA容易的实现分布式的算法结构, FPGA可以有效地实现乘和累加操作。

从工作原理上:DSP最基本的构造单元是被称为MAC的乘加器。而FPGA由n输入的查找表, 存储数据的触发器和复路器等组成。

从芯片技术上:DSP采用哈佛结构、流水线技术;而FPGA基于查找表技术。

从芯片结构上:DSP有若干个独立的片内存储器、ROM、RAM、并行功能单元、锁相环 (PLL) 、振荡器、几条8位或16位的总线、时钟中断电路等。而FPGA可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。

三、各类嵌入式处理器的应用

在实际的日常生活中, 上述嵌入式处理器被应用在各个领域。目前MCU应用在小家电如:计算器、车用仪表、车用防盗装置、呼叫器、无线电话、CD播放器、LCD驱动控制器、LCD游戏机等, 办公设备如传真机、CRT显示器、键盘及USB等以及电话、数字相机及摄录放影机等各个方面;还有MCU是视频会议系统的核心部分, 为用户提供群组会议、多组会议的连接服务。

ARM技术应用领域可以分为四类:移动互联网接入设备、家用应用、商务设备和嵌入式设备。在移动互联网接入设备中, 从Smartphone和3G技术的发展到智能手机等移动终端设备, 目前主在ARM和Android这对“双A”组合上表现的尤为突出。

DSP芯片的应用领域目前仍在不断地扩大中。如:信号处理、图像处理、仪器、声音语言、控制、军事、通讯、医疗、家用电器。与此同时, FPGA的应用领域也在不断扩大, 消费电子和汽车电子是所有应用中成长最快的。FPGA可应用于汽车中的GPS巡航系统、驾驶员信息系统、距离控制、防撞、后座娱乐、自适应巡航控制、声音识别等。此外, 在汽车、军事、航天等领域, FPGA的工作环境恶劣, 因此在这些领域中, FPGA的可靠性亦是设计者所关注的焦点。

四、结语

嵌入式技术已成为信息产业中发展最快、应用最广的计算机技术之一, 各种各样的新型嵌入式系统设备在应用数量上已经远远超过了通用计算机。在工业和服务领域中, 实用嵌入式技术的数字机床、智能工具、工业机器人、服务机器人正在逐渐改变着传统的工业生产和服务方式。

摘要:本文主要针对现有嵌入式技术中各种嵌入式微处理器展开讨论。首先对处理器的分类、典型处理器分析、处理器的应用领域进行详细的分析。

关键词:嵌入式,嵌入式处理器,数字信号处理器,微控制器,ARM,FPGA

参考文献

[1]何立民.从嵌入式系统视角看物联网[J].单片机与嵌入式系统应用, 2010.

[2]杜春雷.ARM体系结构与编程[M].北京:清华大学出版社, 2003.

[3]陈鑫.嵌入式软件技术的现状与发展动向[J/OL].软件世界, 2001.

[4]段丹峰.嵌入式云计算托起物联网新机遇[N/OL].中国经济网.北京, 2011.

[5]闻波Android开发杂谈[M/OL].2011

[6]FPGA应用指南.电子产品世界[J/OL].

[7]数字信号处理[DB/OL].

[8]李春杰, 李丹, 陆璐.信息技术专题研究[M].长春:吉林大学出版社, 2012.

[9]杨霞.高可信嵌入式操作系统体系架构的研究[D].成都:电子科技大学, 2010.

航天时代的嵌入式图像处理技术 第5篇

航天时代的嵌入式图像处理技术

本文首先简要介绍了充满奇想的航天时代,在此基础上,从统一的.体系结构模型,虚拟的并行计算阵列与仿生的物理实现技术三个方面,讨论了天基嵌入式MPP图像处理技术的功能,结构与物理实现问题.

作 者:沈绪榜  作者单位:中国工程院 刊 名:电子产品世界  ISTIC英文刊名:ELECTRONIC ENGINEERING & PRODUCT WORLD 年,卷(期): “”(1) 分类号:V4 关键词:嵌入式   图像处理   人工智能   航天时代  

嵌入式微处理器 第6篇

2月11日,英特尔宣布推出新型英特尔至强处理器C5500以及C3500系列(原代号为“Jasper Forest”)。该产品一经推出即获得很多重量级嵌入式、通讯、网络和存储行业厂商的青睐,这些厂商包括Caswell、技嘉、控创、立端科技股份有限公司和Trenton Systems等。这款业界期待已久的处理器与英特尔3420芯片组的配合使用,是通讯、嵌入式和存储应用的理想选择,尤其适用于实现更高的计算密度和集成水平。

在英特尔至强C5500及C3500系列处理器中,英特尔工程师首次将PCI Express和所有输入/输出(I/O)功能集成到一个双核至强处理器之中,从而能够为像网络电视(IPTV)、视频点播服务、多媒体数字电话(VoIP),网络连接存储(NAS)、存储域网络(SAN)和无线网络控制器等密集型存储和通讯解决方案提供更有力支持。英特尔至强C5500及C3500系列处理器专为通讯、嵌入式和存储市场而设计,保持了英特尔Nehalem架构所具备的卓越性能,此外,与面向服务器应用的英特尔至强5500系列处理器相比,系统功耗降低了27W。

英特尔公司嵌入式与通讯事业部高性能产品部门总经理Rose Schooler表示:“通过推出英特尔至强双芯片解决方案,英特尔为客户提供了具有更卓越性能的处理器,可全面满足快速发展的通讯环境和嵌入式市场对于高密度计算不断提升的应用需求。同时,英特尔还致力于为设备开发商提供更多的产品选择,支持他们通过充分利用英特尔架构具备的诸多优势而不断革新自己的系统设计,从而快速面向市场推出最佳产品。”

嵌入式微处理器 第7篇

关键词:等位通信,数字式电容器,微处理器,RS485

以嵌入式处理器为核心的产品从根本上改变了传统控制系统的设计思想和设计方法, 以本文所述的数字式电容器为例, 数字式电容可以单台应用, 也可以组网运行。组网运行时如以前的设计方法必然是主从式通信控制设计, 这就必须有一个主机。而在实际系统中, 如有管理主机必会增加成本, 且通信和控制都依赖主机, 当主机故障时会导致整个电容补偿系统瘫痪。同时电容器本身是个易损元件, 如电容器失效则必须有效地退出运行, 所以需要有一个等位平衡的通信控制系统来保证数字式电容的组网运行。

1 简介

1.1 数字式电容器

低压数字式电容器以嵌入式微处理器为核心, 通过数字信号处理, 智能地控制磁保持继电器, 实现电容器电压过零投入, 电流过零切除, 是一种可以直接使用于电力无功补偿的新型数字化节能产品。数字式电容器内有等位通信机制, 通过RS485通信接口, 当多台数字式电容器并联运行时, 自动产生控制主机, 智能协同补偿电力网络中的无功功率;如需要和上位机通信时, 数字式电容器组受控于上位机, 传送其数据信息和运行状态。

1.2 微处理器

嵌入式微处理器内部集成ROM/EEPR OM/FlashROM、RAM、总线 (bus) 、总线逻辑 (bus logic) 、定时/计数器 (counter) 、看门狗 (watchdog) 、I/O (input/output) 、串口通信 (U art) 、脉宽调制输出 (PWM) 、A/D (analog/D igital) 、D/A等各种必要功能和外设。嵌入式微处理器的最大特点是单片化、小体积、低功耗、低成本和高可靠性。本地通信接口有RS232、RS422、RS485等, 多机通信多选用RS485。

1.3 RS485

RS485接口为二线式半双工通信接口, 具有通信速率高、抗干扰能力强、传输距离远、节点多、结构简单等优点。

2 等位通信研究与实现

2.1 主从式通信方式

主从式通信方式, 在嵌入式微处理器系统中多用第9位地址标志方式, RS485为通信接口, 以此为例如下。

多机通信时, TB8可置“1”或者“0”, 与SM2配合使用。SM2=1时, 实现多机通信功能。若接收到的RB8=1, 接收内容进入S B U F, R 1置“1”, 向C P U发中断请求;若RB8=0, R1不置“1”, 即不向CPU发中断请求。当SM2=0时, TB8/RB8可作为地址/数据标志位。根据这一配置方式, 可构成多机通信系统, 其连接如图1所示, 有一台主机和多台从机。

采用主从通信方式的网络, 主机与从机在网络中的地位是不变的, 主机掌握着通信的控制权, 从机的通信地址是确定。每次通信都由主机发起, 主机是访问方, 从机是应答方。

(1) 首先使所有从机的SM2位置1处于只接收地址帧的状态。

(2) 主机先发送一帧地址信息, 其中8位地址位, 第9位为地址/数据信息的标志位 (TB8=1) , 该位置1表示该帧为地址信息。

(3) 主机发出地址信息帧后清T B 8 (TB8=0) , 即开始发送数据信息帧。

(4) 从机接收到地址帧后, 各自将接收的地址与本机的地址比较。地址相符的从机, SM2位清零, 接收主机随后发来的所有数据;对于地址不符的从机, 仍保持SM2=1, 而对主机发来的数据不予理睬, 直至发送新的地址帧。

(5) 从机接收数据信息帧后校验, 若正确, 则处理主机通信指令后, 发数据给主机。

(6) 从机发送数据结束后, 发送一帧校验和, 并置第9位 (TB8) 为1, 作为从机数据传送结束标志, 同时从机重新复位SM2=1, 等待主机新的地址帧。

(7) 主机接收数据时先判断数据结束标志 (RB8) , 若接收帧的RB8=0, 接收数据帧。

若RB8=1, 表示数据传送结束, 并比较校验码, 若正确, 则处理数据信息;若出错, 则主机重复通信指令直至超过出错计数机。

(8) 主机可发送广播地址使从机复位通信后回到监听地址状态 (SM2=1) 。等待接收地址帧。

2.2 位通信方式

等位通信方式和主从式通信方式根本的区别是没有固定的主机, 任何一个在通信网络中的通信单元都有可能是主机, 也有可能是从机。通信的主从关系不确定, 主从机通信地址也不确定。根据这一配置方式, 构成多机通信系统, 其连接如图2所示。这种网络也很容易组成主从式通信方式, 只要在网络中加入一个主机, 就能完成主从式通信, 如图中的虚拟主机。

2.2.1 等位通信方式特点

(1) 在未完成自动分配主机和从机的网络中, 任何一个通信机都有可能成为主机。

(2) 在某个通信机取得通信网络的控制权后, 主机的地位就会被确认, 主机掌控着网络的通信, 这时变成了主从式的通信网络。

(3) 完成了主从式通信后, 主机一直在声明它是主机, 从机由于主机一直在控制通信, 所以一直为从机。

(4) 如果主机因为某种原因退出或失效, 别的从机就会取得通信的控制权而成为主机, 如果原来的主机而后恢复通信, 则原来的主机就会变成一个从机。

(5) 如果网络中加入一个通信主机, 原来的主机就会退出通信控制而成为从机, 这时和主从式通信方式无差别。

2.2.2 等位通信方式的实现

(1) 建立通信网络的要素。

(1) 信道。

RS485接口双绞线半双工通信接口, 具备抗干扰能力强、传输距离在1km左右、一般节点可以在32个、结构上比较简单。

(2) 发送接收设备。

嵌入式微处理器的Uart (串行口) , 9位数据通信方式, 第8位为通信地址/数据的区分位, 1个起始位, 1个停止位, 无校验位。

(3) 协议。

等位通信中通信机中必须同时具备主机和从机的协议, 同时具备通信控制的核心。

(2) 等位通信方式的实现过程。

上述所述等位通信方式实现的实质是通信网络随机产生了一个主机, 当主机产生后就相当于主从式的通信, 因通信地址的随机性, 所以必须有一套确保从机通信地址的唯一性。因此, 先确定主机, 再确定从机。

(1) 随机主机的产生。

主机是随机产生的, 通信网络中的通信单元在随机数的指示下产生随机地址、随机通信等待时间和随机发送时间, 这些因素确定了一个通信单元是否成为主机。主机先发送数据, 同步别的通信单元而使这些单元变成从机。

(2) 随机从机的地址确认。

随机从机的地址也是随机产生的, 有随机地址、随机通信等待时间和随机发送时间, 主机对从机的随机地址进行修改, 通过冗余处理, 对从机的地址重新编排, 使从机地址保持唯一。

(3) 主机的保持。

主机的保持是依靠主机在通信网络中的声明来维持的, 而从机由于主机的声明而维持了从机。

(4) 主机控制权的让位。

>主机本身的失效。

主机失效会让出通信控制权, 别的从机重新取得通信控制权而变成主机。

>通信链路的原因。

由于链路故障, 无主机的网络会重新产生一个控制主机。

>别的主从机延后加入通信网络。

延后的主从机会同步现在的主机而使它变成从机, 它会取得控制权而变成主机。

>通信主机的加入。

通信主机具备通信控制的内核, 通信主机的加入会同步所有的主从机而使他们变成从机, 原有的主机让出通信控制权。

嵌入式微处理器 第8篇

关键词:S3C2410,多任务,进程,ARM Linux

1、引言

CPU (中央处理器) 已成为智能家电、智能手机、掌上设备等现代化生产生活设备的重要组成部分, 利用中央处理器进程多任务系统开发, 有利于简化系统设计复杂度, 提高系统的稳定性。本文基于S3C2410研究了多任务环境下进程调度模型及实现。

2、S3C2410 CPU异常

S3C2410是一款由Samsung公司开发的32位微处理器, 具有丰富的片上功能, 如MMU (虚拟存储管理单元) 、3通道UART、4通道DMA、4通道PWM定时器、I/O端口等, 广泛应用于多任务处理环境。

S3C2410在运行时会发生各种异常, 例如复位异常、未定义指令异常 (Undefined instruction) 、软中断 (Software interrupt) 、预取指令中止 (Abort prefetch) 、预取数据中止 (Abort data) 、硬中断 (IRQ) 、快速中断 (FIQ) 等。异常引起的原因各不相同。Undefined instruction异常由CPU执行一条未定义指令引起;Reset异常在nRESET引脚为低电平时触发;Software异常在CPU执行SWI指令时发生;Abort (prefetch) 异常和Abort (data) 异常发生在当前指令地址或数据地址不能被访问时发生;IRQ异常和FIQ异常由ARM920t内核外部中断引起, 是进入IRQ模式, 还是进入FIQ模式由INTMOD寄存器决定。

异常发生时, CPU会转变到特定的模式, 在指令指针寄存器中装入特定的地址, 从该地址处开始工作。若CPU没有开启MMU功能, 则该地址对应于存储器的真实物理地址;否则, 该地址是一个虚地址, 需要经过地址转换, 变成真实的物理地址。异常、模式及地址的对应关系如表1所示。

3、引起进程调度的事件

常见的引起进程调度的事件有: (1) 进程执行完毕, 或发生某些事件 (如除0操作) 而不能再继续执行; (2) 进程执行系统调用, 暂停或阻塞; (3) 基于某种原则 (如优先权、短作业优先、时间片) , 抢占当前进程的执行。前两种事件都是进程主动让出CPU, 而最后一种事件是进程被迫让出CPU。不论何种原因, 系统都会进入到管理模式运行, 最终返回到用户模式运行。

4. 进程调度模型

S3C2410在运行时会有七种模式, 可分为用户模式、管理模式和异常模式三大类。进程只运行于用户模式和管理模式。进程在用户模式运行时, 系统可能发生异常, 如图1位置 (1) 所示, 切换到异常模式, 保存指令指针寄存器和程序状态寄存器, 变换到管理模式, 如图1位置 (2) 所示, 保存异常现场状态, 执行异常服务程序;异常服务程序执行完毕后, 恢复异常现场, 如图1位置 (3) 所示, 返回到用户模式, 继续执行用户进程。另外, 进程在用户模式执行时, 需要系统调用, 如图1位置 (4) 所示, 会进入到管理模式执行, 在该模式下, 系统也有机会发生异常, 如图1位置 (5) 所示, 切换到异常模式执行, 保存指令指针寄存器和程序状态寄存器, 变换到管理模式, 如图1位置 (6) 所示, 保存异常现场状态, 执行异常服务程序;异常服务程序执行完毕后, 进程继续在管理模式下执行系统调用, 待其执行完毕后, 返回到用户模式下继续执行, 如图1位置 (7) 所示。进程调度时机可设在系统从管理模式返回到用户模式时, 如图1位置 (3) 和 (7) 所示, 决定是否执进程调度算法。

5、进程调度的实现

基于S3C2410的开发板, 其存储器配置如表2所示。软件采用PPCboot引导程序和ARMLinux操作系统。

系统在没有加电时, Flash中软件配置如图2所示, 存储有引导程序、ARM Linux操作系统和RAM Disk镜像。

当系统加电复位时, 程序指令寄存器被加载复位异常地址, 即0x00000000, 系统从Flash中读取指令执行, 关闭看门狗定时器, 屏蔽所有的中断, 时钟复位, 然后将PPcboot复制到SDRAM中从0x33f00000开始的位置, 建立栈, 跳转到start_armboot函数, 开始在SDRAM中继续运行PPCboot, 初始化CPU、开发板、中断等硬件环境, 等待用户决策是继续引导ARM Linux内核, 还是进入PPcboot命令提示符。若于继续引导ARM Linux内核, 则将ARM Linux内核复制到SDRAM从0x30008000开始的位置, 然后跳转到0x30008000处开始执行, 开始运行ARM Linux内核代码。系统启动后, SDRAM映像如图3所示。

ARM Linux启动后, ARM Linux系统异常向量表, 如表1所示, 采用汇编语言描述如下所示。地址均采用高端地址, 该地址是虚地址, 由MMU管理单元映射成具体的物理地址。

在异常发生时, CPU将从用户态转变为内核态, 开始执行异常处理程序, CPU自动执行以下操作:

(1) 将PC寄存器中的值放入LR寄存器中;

(2) 将CPSR寄存器中的值放入SPSR寄存器中;

(3) 将CPSR寄存器中的模式位变为与之相对应的值;

(4) 将异常所对应的向量地址放入PC寄存器中;

在离开异常时, CPU执行以下操作:

(1) 将LP寄存器中的值放入PC寄存器中;

(2) 将SPSR寄存器中的值放入CPSR寄存器中;

异常发生时, 要保存异常现场状态 (包括R0~R15寄存器、CPSR寄存器的值) 、执行异常服务程序、恢复异常现场状态三个流程。

在分时系统中, 设置可编程间隔定时器, 每隔一定的时间周期, 引发时钟中断, 使指令指针指向__real_stubs_start+ (vector_IRQ-__stubs_start) 地址, 执行异常处理程序、硬件中断源分析、时钟中断服务程序、调度算法、异常返回等操作, 从而实现基于时间片的多任务调度功能。

6、总结

基于S3C2410异常编程模型, 探讨了多任务环境下引起进程并发调度的原因及调度时机, 设计了多任务环境下多进程调度模型。对于多任务环境下进程调度的研究有利于提高系统的吞吐量, 降低进程的平均周转时间, 改善系统的响应时间。

参考文献

[1].ARM Ltd.ARM Architecture Reference Manual.2005

[2].Samsung Electronics Co., Ltd.S3C2410X 32-Bit RISC Microprocessor User's Manual, Revision 1.2.2003

[3].潘红军, 刘子菲.事件驱动的多任务智能调度方法[J].吉林大学学报 (信息科学版) , 2007, 25 (05)

[4].万柳.嵌入式实时操作系统VxWorks内核调度机制分析[J].计算机应用与软件, 2004, 21 (06)

嵌入式微处理器 第9篇

随着机电一体化和工业自动控制的快速发展,32位微控制器在各种产品中被大量应用,嵌入式操作系统也相应的被大量使用。嵌入式系统往往工作环境恶劣、受电噪声干扰较大,而且随着软件越来越复杂,系统运行不稳定的现象愈来愈严重,由此,对系统的可靠性就提出了更高的要求,软件要求要有崩溃自我恢复功能,硬件要有良好的抗干扰及可靠的复位机制,可满足系统长时间不间断的运行。

影响嵌入式系统运行稳定性的因素是多方面的。既有外部因素也有内部因素。外部因素主要包含射频干扰和电源线或电源内部产生的干扰。内部因素相对要复杂得多,包括硬件和软件两大方面,硬件方面主要是振荡源的稳定性及复位电路的可靠性等(振荡源的稳定性由起振时间,频率稳定度和占空比稳定度决定,起振时间可由电路参数决定,稳定度受振荡器类型温度和电压等参数影响)。软件方面主要对数据存储的可靠性提出更高的要求,除了加强电源稳定性和提供掉电故障出现的软件保护外,还应引入文件系统来完成数据的存储和管理功能,以进一步增强系统可靠性。本文提出一种基于三星S3C2440处理器的嵌入式系统的复位电路设计方法,实现提高系统的整体可靠性。

1、复位电路的实现

1-1、基本复位电路

基本的复位电路可由RC组成。其主要实现:系统上电时提供复位信号, 直到系统电源稳定后,撤消复位信号。撤消复位信号之前还需要经过一定的延时来稳定电源,以防电源开关或插头分合过程中引起信号的抖动而影响复位。

图1和图2是典型的RC复位电路。此外为了减少电源毛刺和电压的不足,以提高其驱动能力,可在电阻并接单向二极管,加速复位电路迅速放电。但RC的复位电路存在的电源毛刺及延时改变影响驱动能力、门限电压的宽幅度等,在嵌入式系统尤其是高频率系统中的应用就显得困难。尤其RC延时电路的时间常数的量纲是'秒',其结果会因器件的不良性而降低其延时的精准。

1-2、专用监控电路

专用监控电路实际上是由电压监控比较电路转化而来。它集成了上电复位、掉电复位及看门狗等的功能。这里以MAXIM公司生产的MAX811为例简要阐述其工作原理。

1-2-1、MAX811简介

MAX811为4引脚微处理器电压监视器,具有精密电源监控和低功耗的特点,能监视3V、3.3V和5V的电源电压,MAX811的工作电压为1.0V~5.5V。MAX811为低电平有效复位。MAX811具有手动复位功能,电源电流6μA,复位阈值电压有4.63V、4.38V、3.08V、2.93V和2.63V五种,上电复位的脉冲宽度最小为140msㄢ

1-2-2、MAX811的工作原理简介

当微处理器的电压VCC低于MAX811的门限电压时,内部定时器复位到0,并保持复位输出端为低电平,当VCC高于阈门限电压时,内部定时器开始计数,计数到给定值(定时器的溢出周期)时,输出端变为高电平。

手动复位输入端/MR为低电平时,内部定时器复位到0,并保持复位输出端有效,当/MR变为高电平时,内部定时器开始计数,计数到给定值(定时器的溢出周期)时,复位输出端变为高电平。手动复位输入端内部有一个20K上拉电阻,所以此端可以开路。手动复位输入端也可以由TTL或CMOS电平驱动,或集电极开路输出驱动。若/MR端接一个手动按钮,则不需要再连接其它器件, 若/MR端接一个长电缆或工作在有噪音的环境, 则需要在/MR端和地之间接一个0.1UF的去耦电容。

1-2-3、两者电路比较

下表为两种电路各性能的对照表,易见专用监控电路的优越性。

2、改进方法

当采取一般的RC复位电路,仅可实现手动复位,且无法保障其可靠性及精准。因此在本系统设计中结合MAX811和S3C2440的各自复位特性,采取专用的监控电路来达到既可实现可靠的手动复位功能,又可实现以系统软件来控制其复位。

2-1 S3C2440复位特性

S3C2440是以ARM920T为内核的16/32位RISC嵌入式微处理器,主频率最高可达533MHz。其主要面向手持设备以及高性价比、低功耗的应用,适用于开发各类高端手持、小型终端以及网络应用产品,具有非常丰富的片上资源。其工作模式主要有:通用模式、慢模式、无锁相环模式、空闲模式和掉电模式。无论CPU以何种模式运行,其方式由控制引脚(OM3, OM2)不同组合来决定,而OM3, OM2的状态决定于OM3。图3为CPU启动复位时钟轨迹。当nRESET信号为低,S3C2440内核放弃任何指令的执行,并从增加的字地址处取指令。当nRESET信号为高时,其内核进行如下操作:

A、将当前的PC值和CPSR值写入R14--SVC和SPSR--SVC,已保存的PC和CPSR的值是未知的。

B、强制M[4:0]为1011(超级用户模式),将CPSR中的"I"和"F"位设为1,同时将T位清零。

C、强制PC从0x00地址处取得下条指令。

D、恢复为ARM状态开始执行。

如图4,当采取外部手动复位的情形下,其复位时间至少要保持4个外部时钟的长度才能满足系统复位的要求,其复位时间的长度是由外部时钟来决定。

2-2 S3C2440系统的复位电路设计

2-2-1、手动复位的设计

嵌入式系统的设计目标是使系统以通用模式工作。此时OM[3:2]=00, CPU工作的主时钟源FCLK来自外部晶振经过锁相环处理后得到。从稳定性考虑,这里选择频率为16MHZ,温漂为+/-5PPM的无源晶振。由上面的芯片特性得知,复位保持时间宽度在4个时钟(62.6ns)下才能起到芯片复位的作用。同时为了避免因长时间的复位开关闭合所引起的系统多次复位,采取专用的电压监视器来作为复位控制电路,如图5.

S0为复位开关,控制MAX811复位,低电平有效。RESET为S3C2440的芯片复位接入。

2-2-2、软件控制复位的设计

S3C2440系统内部有相应的看门狗处理机制,但在实际应用中往往需要内外结合。除了S3C2440内部本身的看门狗作用外,本系统特意将GPIO的GPF0引出,附加了芯片外看门狗复位的作用。如图6所示,在复位信号达到四个系统时钟后开始进行周期为两个时钟信号的系统复位动作。

因此只需在应用程序中计算时钟周期,然后对GPF0进行控制使其为高电平或为低电平。其处理流程如图7所示。

限于篇幅,下面仅给出部分代码。首先是主程序对GPF0进行初始化:

以上代码,存放于archarmbootcompressed下的head.S中,先对I/O模式进行修改。进行预定义处理后,如有异常,则经过计数复位信号输出给GPF0进行片外复位:

3、结论

经过实际的系统应用,在同等条件下,使用专用的微处理器电压监视器起到良好的作用。一方面弥补了一般的复位电路的弊端;另一方面可以将复位的保持时间控制得很精确,同时将硬件复位与软件复位相结合,互相弥补了各自的不足,提高了系统的整体可靠性。

参考文献

[1].三星S3C2440A 32-BIT CMOS MICROCONTROLLER USER'SMANUAL Revision 1.三星半导体.2004

[2].MAX811 4-PIN uP Voltage Monitors With Manual Reset Input 19-0411 Rev 4.2005

[3].熊茂华等.ARM9嵌入式系统设计与开发应用.北京:清华大学出版社, 2008

[4].孙天泽等.嵌入式设计及Linux驱动开发指南--基于ARM9处理器.北京:电子工业出版社, 2007

嵌入式微处理器 第10篇

随着嵌入式系统性能要求越来越高, 系统中代码的尺寸也在不断增长。而存储器一向是嵌入式系统中最稀缺的资源, 因此代码压缩的技术在近些年一直是热门的研究领域。目前有很多种方法可以减少代码尺寸, 主要分类如下[1]:

(1) 编译器技术。

这种技术可以在编译的阶段就产生很精简的代码, 比如使用寄存器重命名以及程序间优化的方法。其好处是不需要在程序运行时进行实时的解压, 减少了运行时的开销, 同时也不需要对处理器的硬件结构做任何修改。

(2) 指令集修改。

这是通过修改或定制指令集来取得代码的压缩, 比如ARM公司的Thumb和MIPS公司的MIPS16指令集。这种方式需要花费很大的精力来设计指令集, 并且要重新设计处理器内部的指令译码单元。另外, 外部的软件开发工具链, 包括编译器等都需要大的修改。

(3) 代码压缩技术。

该方法是引入一些数据压缩的技术来对编译产生的可执行程序进行压缩。它不需要修改编译器和处理器内部结构, 只是在指令送往处理器过程中加一个解码单元。本文中就使用这种代码压缩技术, 另外它也可以和上面两种方法同时使用来更好的减小代码尺寸。

2代码压缩技术的相关工作

第一个用于嵌入式处理器的代码压缩系统是CCRP[2]。它规定指令存储器中存储压缩后的代码, 而在指令cache中存储未压缩的代码。在指令cache和指令存储器之间存在一个解码单元, 每次在出现指令cache缺失时解码一个cache行。 文献[3]中使用了字典编码的方式, 代码被压缩成指向字典的索引, 在指令执行期间利用索引来访问字典以完成解压, 其优点是解压电路设计简单, 解压给系统速度带来的影响很小。Lekatsas提出了SAMC的算法[4], 它根据马尔科夫模型进行算术编码, 基于单个位来进行压缩, 并且考察了指令间的相关性, 取得了很好的压缩效果, 但缺点是译码速度较慢。针对VLIW结构的代码压缩算法也有很多研究。文献[5]是第一篇针对现代VLIW处理器提出统计压缩方法的论文。后来文献[6]中提出了针对VLIW结构的算术编码方法, 主要实现了并行的译码结构。

3代码压缩

3.1SDSP处理器结构

SDSP是4发射超长指令字结构, 每个指令包128bit, 包含4个32bit的指令槽。片式指令cache和数据cache分离, 指令cache是4KB大小的2路组相联结构, 每个cache line共32字节。处理器内核采用7级流水线, 支持推断推测技术, 包含整数运算部件及乘累加部件等共8个功能单元, 还拥有一个片上的SIMD协处理器。由于SDSP指令集设计时为了便于内核译码单元的设计简单采用了正交指令集的设计方式, 因此编译后产生的程序代码冗余度较大, 存在压缩的空间。

在大多数压缩技术中, 基本都要求解压缩结构不修改处理器内核, 否则可能会影响处理器的整体性能。另一个关键问题是要求针对原来处理器的程序能够正常执行且性能上没有太大影响, 否则包括编译器在内的整套工具都需要修改。鉴于以上考虑, 本文采用文献[2]中的方式, 在存储器中存放压缩的指令, 在指令cache中存放解压后的指令, 以每个指令cache行作为基本的压缩单元, 在每次cache行访问缺失时进行解压缩, 并把解压结果保存到指令cache, 保证处理器仍然可以按照原来的方式访问cache。由于解压的过程都在指令cache缺失时进行, 不在关键路径上, 因此对性能影响不大。采用这种方式就不需要修改处理器内核, 只要在指令cache装载的路径上加一个解压单元。最后经过修改的处理器结构如图1所示, 阴影部分就是新添加的解码单元。当指令Cache访问缺失时, 需要通过地址映射机制确定该指令cache行在存储器中对应的地址, 因为经过代码压缩后该指令存放的位置已经发生了变化, 具体的映射机制参见3.3节。

3.2压缩技术

无损压缩的方法有很多, 目标都是使压缩的结果更接近信源的熵。但是在数据压缩中的很多技术不能用到代码压缩中, 因为指令执行过程中要求局部可译码, 即单独取出任意子块都可以独立解压缩。本文采用统计编码方法, 针对SDSP处理器实现了三种不同的压缩方式, 在压缩的效果以及解压缩的开销方面进行了比较。考虑到Huffman编码方法可以取得接近最优的压缩效果, 以及它相对可以接受的解压开销, 本文选用它作为压缩编码方法。

这里比较了三种不同的压缩方式。第一种是采用传统的以字节为单位的压缩方法, 把VLIW指令划分成以字节为单位的块, 一个字节组成一个码元符号, 统计这些符号在程序中出现的概率大小, 然后进行Huffman编码。图2是这种划分方式的示意图。但是这种严格的划分方式没有考虑到指令内部编码的相关性, 会增加统计结果中符号的数目, 影响压缩效果。第二种方法是基于域划分的方法, 因为指令集在定义时各bit位都具有明确的含义, 因此指令中特定的域有更好的重复性, 如果把各个域独立的进行压缩, 会取得更好的效果。图3中就是按照SDSP指令集的特点把它分成3个特定的域, 很好的提取了指令内部的相关性。第三种方法是直接把32位的指令作为独立的符号进行压缩, 它最大限度的考虑了指令内部的相关性, 因此压缩效果最好, 但是它的解压表也最大, 加大了硬件开销的负担。因此在总体考虑压缩结果和解压表时, 它不一定取得最好的效果。

3.3地址映射

压缩后的程序的地址发生了改变, 这样跳转指令就不能跳转到正确的位置, 因此需要某种地址映射机制完成这种转换。一种方式是修改分支的地址, 在第一步完成编码压缩后就可以确定分支指令在当前压缩代码中的目标地址, 第二步以此来修改所有的分支指令, 使其跳转到新的目标地址, 这就要求分支指令不能被压缩, 否则第二步中的修改可能会导致地址映射再次改变[7]。另一种方式是采用行地址表 (LAT) 来完成映射的方式。它存储了每个指令cache行在压缩之后的起始地址, 可以在代码压缩的同时得到这种映射, 并把LAT和压缩后的代码一起存储在最后的程序段内。这里要求每个cache行有一个可以寻址的地址, 因此压缩时要把cache行压缩的结果调整到字节边界上。通过这种方式, 可以不需要修改处理器寻址方式来正常的访问压缩代码, 只是增加了额外的LAT的开销。本文就采用LAT的地址映射方式。LAT和压缩代码一起放在存储器中, 为了减少其访问延时, 还提出了一种类似虚实地址转换部件TLB的结构, 称为CLB。它采用全相联的方式, 保存LAT最近访问的几项, 在每次指令cache访问时, 都同时访问CLB, 因此当cache访问缺失时, 就可以得到该行对应的地址映射是否在CLB中。如果存在, 则直接利用相应的地址访问存储器中指令来加载指令cache行, 如果不存在, 再访问LAT, 并按照一定的算法把相应的项替换到CLB中。实验结果表明, 使用这样的结构可以减少很多LAT的访问, 从而节省实际。具体的实现可参考文献[2]。LAT会产生额外的开销, 需要计入压缩代码内, 通常会占原代码的3%。

3.4实验结果

本文把上面介绍的3种压缩方法用到SDSP处理器中, 通过压缩FFT程序来比较它们的压缩率。压缩率的定义如公式1所示, 通常用它来衡量压缩的效果。

Compression_Ratio=Compressed_program_sizeΟriginal_program_size (1)

图5给出了3.2节所述三种方法压缩的结果对比, 都已经包含了LAT以及解压缩表的开销。从图中可以看到, 采用域划分方法的压缩效果要明显好于基于字节划分的效果。另外, 把32bit指令作为符号来压缩并没有取得最好的压缩效果, 因为虽然它的压缩输出结果最小, 但是解压表的开销很大。

4结论和展望

本文针对自主研发的DSP处理器核应用代码压缩技术, 减小了代码尺寸, 节约了系统中存储器资源。其中, 基于域划分的技术最适合使用, 因为它充分考虑了指令内部的相关性, 压缩效果最好。但它仍然只是一种基于经验的域划分, 并不能获得最优的划分方案。本研究接下来会考虑如何建立一个模型来获取指令内部的相关性, 并以此来得到最优的域划分。

参考文献

[1]Y. Xie. Code Compression for Embedded VLIW Processors Using Variable-to-Fixed Coding[J]. IEEE Transactions On Very Large Scale Integration (VLSI) Systems, May 2006.

[2]Wolfe. Executing compressed programs on an embedded RISC architecture[C]. In MICRO 1992.

[3]P. Bird. An instruction stream compression technique. Technical report of EECS University of Michigan, 1996.

[4]H. Lekatsas. SAMC: A code compression algorithm for embedded processors[J]. IEEE Transactions On Computer-aided Design of Integrated Circuits and Systems, December 1999.

[5]S. Larin. Compiler-driven cached code compression schemes for embedded ILP processors[C]. In MICRO 1999.

[6]Y. Xie. A code decompression architecture for VLIW processors[C]. In MICRO 2001.

嵌入式微处理器 第11篇

日前,德州仪器 (TI) 宣布推出可充分满足医疗诊断超声产品制造商需求的嵌入式处理器软件工具包。作为该TI系列产品的第一款,该工具包可帮助制造商通过TI C64x+TMDSP平台更强大的处理能力便捷地进行超声应用开发,从而使医疗机构及医护人员能够更快、更准确地为患者提供诊断结果。

TI适用于医疗诊断超声产品的最新嵌入式处理器软件工具包 (STK) 可实现通用处理模块的优化实施,从而充分发挥TI C64x+架构的高性能与低功耗优势,显著缩短超声系统开发时间。此外,TI还针对医疗影像提供TMS320C6455 DSP入门套件 (DSK) ,该款低成本开发平台可为制造商评估和利用高度可编程DSP算法提供一种简单易用的解决方案,从而在医疗影像产品开发时间方面获得领先优势。

主要特性与优势

所有模块的完整源代码可为开发人员提供全面的可视性,并实现模块定制化与差异化;

通过将模块抽象化,定义完善的API可简化开发工作,同时便捷地集成至现有系统;

全面的测试工作台可确保模块的功能性,并有助于评估与开发。可方便地添加定制化测试矢量,以针对任何输入进行功能与周期性能的检查;

每个优化模块的完整文档资料可提供有关C64x+内核计算优化方法的编码说明,该内核可作为优化其它编码模块的模型使用。

相关文章
表演人才范文

表演人才范文

表演人才范文(精选11篇)表演人才 第1篇六七岁至十一二岁是学龄初期, 即相当于儿童接受小学教育的年龄。这一时期少儿的主要行为活动是学...

3
2025-09-20
保安班长月总结

保安班长月总结

保安班长月总结(精选6篇)保安班长月总结 第1篇篇一:保安班长年终总结个人总结光阴似箭日如梭,转眼间半年已经过去。回顾我们保安队在近...

1
2025-09-20
班主任有关工作培训心得

班主任有关工作培训心得

班主任有关工作培训心得(精选15篇)班主任有关工作培训心得 第1篇20**年8月我有幸在市电大参加了“仙桃市第一期小学骨干班主任高级研修班...

1
2025-09-20
部编版一年级四季教案

部编版一年级四季教案

部编版一年级四季教案(精选6篇)部编版一年级四季教案 第1篇《四季》文清路小学 刘明霞教学目标:1、认识 9个生字和言字旁,虫字旁和折...

2
2025-09-20
办公室文秘的岗位职责有哪些

办公室文秘的岗位职责有哪些

办公室文秘的岗位职责有哪些(精选18篇)办公室文秘的岗位职责有哪些 第1篇1、在董事会的领导下主持办公室的全面工作,负责办公室的日常工...

3
2025-09-20
八年级上册第1课鸦片战争

八年级上册第1课鸦片战争

八年级上册第1课鸦片战争(精选12篇)八年级上册第1课鸦片战争 第1篇《鸦片战争》教学设计【教学目标】1、英国向中国走私鸦片及危害;林则...

2
2025-09-20
表面粗糙度测量仪的工作原理

表面粗糙度测量仪的工作原理

表面粗糙度测量仪的工作原理(精选10篇)表面粗糙度测量仪的工作原理 第1篇表面粗糙度测量仪的工作原理分析及其改进方案阳旭东(贵州工业大...

1
2025-09-20
宾馆改造可行性报告

宾馆改造可行性报告

宾馆改造可行性报告(精选8篇)宾馆改造可行性报告 第1篇第一章 总论1.1 项目名称及承办单位项目名称:宝地宾馆改扩建项目 承办单位:...

1
2025-09-20
付费阅读
确认删除?
回到顶部