0247-991867047

凤凰城娱乐App下载-采用Linux与DSP/BIOSRTOS实施双OS信号处理技术2021-01-21 17:47

本文摘要:系统性能和编程简单性之间的权衡是标准化操作系统和实时操作系统的主要区别之一。GPOS倾向于获得高度的资源抽象,这不仅可以通过支持软件模块化和资源隔离来提高应用程序的可移植性和修改R&D过程,还可以增强系统的健壮性。 这使得GPOS成为网络、用户界面和演示管理等标准化系统组件的理想自由选择。然而,这种抽象必须以牺牲系统资源的精细粒度控制为代价,以便满足高强度算法(如信号处理代码)计算的性能抑制。为了建立这种高水平的控制,开发人员通常必须使用实时操作系统(RTOS)。

凤凰城娱乐App下载

系统性能和编程简单性之间的权衡是标准化操作系统和实时操作系统的主要区别之一。GPOS倾向于获得高度的资源抽象,这不仅可以通过支持软件模块化和资源隔离来提高应用程序的可移植性和修改R&D过程,还可以增强系统的健壮性。

这使得GPOS成为网络、用户界面和演示管理等标准化系统组件的理想自由选择。然而,这种抽象必须以牺牲系统资源的精细粒度控制为代价,以便满足高强度算法(如信号处理代码)计算的性能抑制。为了建立这种高水平的控制,开发人员通常必须使用实时操作系统(RTOS)。

从嵌入式信号处理的角度来说,一般要考虑两类操作系统,即标准化操作系统Linux和实时操作系统DSP/BIOS。Linux可以反对更高层次的抽象技术,而DSP/BIOS可以获得更细致的控制。为了充分发挥这两种操作系统的优势,开发人员可以使用系统虚拟机,使程序员能够在同一个DSP处理器上同时运行Linux和DSP/BIOS系统。(编者按:与Java虚拟机等特定编程语言使用的进程虚拟机环境不同,系统虚拟机对应于实际的硬件,可以在相同的计算环境下继续执行原操作系统,并与其他类似的实例隔离。

但是,我们绝对要问一个最重要的问题:为什么不用它来分别操作Linux和DSP/BIOS系统的CPU DSP人工设备呢?而CPU对用户模块控制代码的操作效率更高。另外,不同的内核可以避免虚拟化的开销。但是,将所有功能构建在同一个芯片上是有吸引力的,原因如下:第一,今天的高性能DSP比上一代DSP强得多,可以增加控制和处理周期的数量。

其次,大部分高性能DSP的标准化性能都比上一代产品更强,可以实现更高效的控制代码处置。如果所有功能都可以建立在DSP上,那么它的优势会更加突出。更少的芯片可以实现更低的成本和更小的占用空间。此外,由于数据传输仍然必须在消耗大量功率的处理器之间执行,因此可以降低能耗。

操作系统最难得也是最不利的一个特点就是可以同时继续执行多个任务或线程。操作系统通过调度管理内核处置,继续执行倒计时中涉及的任务。以前嵌入式程序员用在Linux上,担心动态性能低。

但是最近Linux内核的增强明显提高了其调用系统事件的能力,使其能够满足各种企业、个人以及嵌入式产品的市场需求。Linux可以实现线程的时间分片和优先级时间确定。时间切片技术是指在所有线程之间共享处理周期,以确保没有阻塞的线程。

一般来说,这种方法仅限于用户模块功能,以保证在系统故障和快速调用的情况下,用户功能几乎不会丢失。相比之下,优先级线程时间确定技术可以保证系统中优先级最低的线程继续执行,然后下一个优先级最低的线程开始继续执行。Linux内核每次从内核模式切换到用户模式,都会开始对可用线程的优先级进行新的评估,这意味着内核最近评估的任何事件(比如驱动上数据的可用性)在新线程切换时(在调度器的延迟响应时间内)都可以立即启动。由于基于优先级的线程被确认,它们通常被用作必须符合动态拒绝的信号处理应用。

在Linux内核2.6版发布之前,限制动态性能的主要因素是Linux内核不会停止使用中断,停止使用的时间有时在几百毫秒左右。在这方面,我们可以提高内核实现的效率。

因为当中断停止时,代码的某些部分需要新的传输,这不会减少中断调用的延迟。现在的2.6版本已经获得了构造选项,可以更高频率的在整个内核代码中放入中断,然后执行指令。

一般来说,Linux社区称这个特性抢占内核。虽然这不会提高内核性能,但需要显著提高动态性能。对于很多系统任务,当抢占式Linux2.6内核和动态线程相结合时,将能够获得足够的性能来满足动态市场需求。

比如德州仪器的DSP/BIOS只反对软件中断和任务形式的优先级调度。和Linux调度器一样,软件中断和任务属于重新占用类型。而DSP/BIOS也获得了程序员直接访问硬件中断的条件,这个资源仅限于Linux内核模式。

直接访问硬件中断使得程序员有可能在理论上建立与底层硬件相反的最短延迟调用。一般来说,这种细粒度的硬件中断控制机制对于控制循环等应用来说是一个非常重要的特性,这必然意味着少于延迟。受保护资源面试Linux和大多数标准化操作系统的一个基本属性是用户空间程序与底层系统资源分离。

只有当操作处于监控(如内核)模式时,才允许访问内存和设备外设。如果一个用户程序想要访问系统资源,它必须通过一个叫做驱动程序的内核模块从内核发出一个请求。

应用程序位于用户的内存空间,将通过虚拟世界文件访问驱动程序。然后,虚拟世界文件将应用于提示,并将其传输到驱动程序继续执行的内核内存空间。Linux可以获得非常丰富的驱动器模型,包括标准流媒体外设、模块化存储设备和文件系统,甚至网络和基于网络的文件系统。通过将驱动程序与用户空间应用程序分离,可以实现高度的健壮性。

此外,标准化驱动程序模块上的抽象级别使得数据流很容易丢失到串口、内存文件系统或网络共享文件夹,只需对底层应用程序代码稍加更改。然而,建立这种灵活性是有代价的。

它可以应用于与物理资源严格分离而不增加支出。如果用户空间程序想要访问设备外围设备,内核模式必须扩展环境交换来处理这种需求。一般来说,这将导致太多的限制,因为数据是分块采访的,而不是逐个样本。

这样,内核模式下的每个块访问只需要进行一次环境交换。然而,在某些情况下,对代码的应用必须严格交给物理硬件。一般来说,这种情况在DSP等拒绝高数据吞吐量、不能容忍中断的高性能处理器中使用不会频繁出现。

此时,内核空间物理资源的分离和用户空间的应用可能会严重影响系统性能。在给定硬件的情况下,我们不妨使用TMS320DM643x处理器架构来研究继续执行块视频处理时会遇到的典型情况。该架构采用600 MHz/4800 IPSDSP处理核心和功能丰富的视频端口子系统等各种多媒体外设。

一般来说,这个硬件是用来将输出的视频流以H.264格式展开进行传输的。为了充分发挥DSP内核的处理能力,需要处理的数据应该加载到循环运算符的内存中,而不是从速度更快的外部内存中加载。尽管在技术上,具有足够慢的片上存储器的处理器可以存储一个或多个原始视频帧,但这种技术对于大多数目标市场来说成本太高。

因此,取而代之的是使用能够获得80KB单周期运算器片上数据存储器的处理器。虽然80KB太小,无法存储原始视频帧,但TI通过仿真表明,该存储容量足以获得H.264与其他视频处理算法之间的最佳面积/性能综合比。数字信号处理器通过必要的内存读取控制器为内存提供数据,内存读取控制器也可以用作子块,在内部和外部内存之间有效地传输数据,这将使处理器内核的周期操作器空闲(见下图1)。

图1。数字信号处理器利用直接存储器存取硬件将小视频帧子块从外部存储器传输到内部存储器,供数字信号处理器内核处理。图1。

数字信号处理器利用直接存储器存取硬件将小视频帧子块从外部存储器传输到内部存储器,供数字信号处理器内核处理。从整个系统的角度来看,这种方法可以获得与带整个视频缓存的芯片相同的性能,但成本很低。然而,为了构建如此高的性能,它必须应用于操作系统以及底层内存和DMA硬件之间的密切合作。

首先要区分慢速内存条和大容量外存。其次,适用于需要连续执行多次精确次数的小型DMA操作者。因为所有在采访DMA时再次发生的延迟,在DMA采访每一个视频帧时都会缩放几百甚至上千倍,所以在Linux驱动模型中高效构建DMA操作符不是不可能的,但也是非常困难的。

这种方法的实际实现可以通过DSP/BIOS来完成,可以获取原生API来构造对内外存储器的催促,同时可以使其有必要对DMA寄存器进行访问,这样会造成环境交换损失。


本文关键词:凤凰,城,娱乐,App,下载,凤凰城娱乐手机APP下载,采用,Linux,与,DSP,BIOSRTOS

本文来源:凤凰城娱乐App下载-www.yaboyule170.icu