单芯片的一致多处理

发布者:古通闲人最新更新时间:2012-01-07 关键字:单芯片  一致多处理 手机看文章 扫描二维码
随时随地手机看文章

随着SoC设计元件的出现,如MIPS32 1004K一致处理系统(CPS),单操作系统条件下的片上对称多处理(SMP)已经成为了一种真正的设计选择,而系统架构师也需要了解其优点和局限性。

任务越多,越需要并行


复杂的模块化多任务处理嵌入式软件系统经常表现出“偶然发现的”并发,如图1所示。该系统的总任务可能包括多任务操作,每个操作都有不同的职责,可满足一系列不同的输入需求。如果没有分时操作系统,这些任务中的每个都必须在独立的处理器上运行。在一个分时单处理器(uniprocessor)上,任务可以在交替的时间片段上运行。在一个采用SMP操作系统的多处理器上,任务可以并行地在许多可供使用的处理器上运行。

图1 并行的多任务处理

分布式处理


另一种形式的并行处理已经成为司空见惯的事情,以至于有时甚至不被认为是“并行”的,这就是分布式计算,它的网络客户机/服务器模型是迄今为止最常见的范例。客户机/服务器编程基本上是一种控制流分解的形式。一个程序任务将工作请求连接和发送给系统中的一个或多个专门任务,该系统被指定执行具体的工作,而不是由这个程序任务本身执行所有计算。客户机/服务器编程通常是在LAN和WAN上实现的,SMP SoC内的任务之间的通信也是遵循同一个范例。人们可以利用片上或无效“环回”网络接口通过TCP/IP进行未经修改的客户机/服务器的二进制通信,或者更加有效地利用在存储器中传递数据缓存的本地通信协议。


实际上,此类技术都可以单独使用,或者结合使用,以利用给定应用的基于SMP平台的能力。人们甚至可以构建一种分布式SMP服务器的数据并行阵列,其中每个阵列都可以执行一条控制流的流水线。但是,为了有效地实现这个方案,可能需要非常大的工作量和数据集。


系统软件的支持非常关键


在有些SoC系统中,有可能实现处理器静态物理分解任务的并行性(例如每个输入端口有一个处理器内核),在这样的SoC系统中,把并行的多个任务分配到不同的处理器去处理可以在硬件中完成。这将降低软件开销和占位面积,但是不能提供灵活性。


同样,如果嵌入式应用可以被静态地分解成客户端和服务器端程序,这些程序通过片上互连进行通信,那末系统连接所需的唯一的系统软件就是执行处理器间共用协议的信息传递代码。信息传递协议可提供某些抽象层,可以用来配置更多或更少的处理器来运行共用基础的应用代码,但是对于任何给定的配置,处理器间的负载平衡就像硬件分区一样无声无息。为了实现更加灵活的并行系统编程,需要在一个共享资源的多处理器系统上完成软件分布的任务。

SMP系统的灵活性和适应性


顾名思义,SMP操作系统有一个对系统“对称”的含义。所有处理器都可以发现相同的存储器、相同的I/O器件以及相同的全局操作系统的状态。这将使从一个处理器到另一个处理器的程序移植变得极其简单而有效,如图2所示的简单例子,也将使负载均衡更加容易。无须额外的编程或系统管理,一套采用时间分割的单个CPU上的多任务程序,将同时运行于一个SMP系统的可用CPU之上。如Linux调度程序的SMP调度程序将打开和关闭处理器的程序,一切都以一种公平的方式进行。


作为多处理运行的Linux应用不必为了发挥SMP的并行性而进行修改。在大多数情况下,无须重新进行编译;一个例外则是与非线程安全库静态连接的二进制码。 


SMP Linux环境可以提供许多工具,有助于系统设计人员调节可用处理器的任务共享方式。这些任务可以让它们的优先级上升和下降,可以由运行在处理器上的任意子集加以限制。利用适当核的支持,它们可以请求使用不同的实时调度状态。


类UNIX操作系统总是允许应用程序对任务的相对调度优先级进行控制,即使是单处理器分时系统也是这样。随着能够对任务、任务组或系统具体用户的优先级进行操作的更复杂机制的出现,传统上优良的外壳命令(shell command)和系统调用已经增加到Linux当中,这对评判该操作系统的优劣应该是十分必要的。


此外,在多处理器配置方面,所有的Linux任务都有一个参数,定义了哪些处理器组(set of processor)可以对任务进行调度。根据默认,这个参数存在于系统中的整组处理器当中,但是,像优先级一样,这种CPU亲合力可以由taskset外壳命令,或者由显式(explicit system)调用来操作任务的“CPU亲合力”。

 

图2 多处理器资源上的SMP任务分布

实现SMP


一个SMP系统范例要求所有处理器在同一个地址看到所有的存储器。对于简单而低性能的处理器,这不是太难完成的事情。人们只要在一个共用存储器和I/O总线上放置所有处理器的指令提取和装载/存储流量就可以了。随着总线很快成为了一个性能瓶颈,这个非常简单的模型利用增加的处理器迅速而漂亮地解决了这个问题。甚至在单处理器系统中,高性能的嵌入式内核指令和数据的带宽需求要求在主存储器及处理器之间使用高速缓存。


采用独立每个处理器高速缓存的系统不再只是一个自然而然的SMP。当一个处理器的高速缓存包含了存储器中某一位置的最近保持值(most recent value)的唯一备份时,就会出现一种基本而危险的不对称。系统必须增加高速缓存一致协议以恢复这种对称性。在一个非常简单的系统中,所有处理器都连接到一条共用总线,它足以使所有高速缓存控制器监控总线,以发现哪个高速缓存拥有给定存储器位置的最新版本。在更先进的系统中,如MIPS32 1004K CPS,处理器与存储器的连接是采用点对点方式连接一个交换结构,而不是连接到一条总线。因此,高速缓存一致性需要更加复杂的支持。1004K一致管理器在存储器处理上加入了一个全局顺序(global order),并生成必要的干预信号,以保持多个1004K处理器内核的高速缓存的一致性。 


因此,1004K处理器可以看到一个对称的存储器。像Linux的SMP操作系统可以自由地迁移任务并动态地平衡处理器负载。 


在一个嵌入式SoC中,整个计算的大部分时间可能花在中断服务方面。这意味着需要控制良好的负载均衡和性能调节,这不仅有助于控制程序任务的运行地点,而且还可以控制执行中断服务的地点。Linux操作系统有一个“IRQ亲合力”控制界面,这个界面允许用户和程序指定哪个处理器用来服务一个给定的中断。为了便于使用,这个界面需要底层的系统硬件提供一种方法将中断有选择地发送给处理器。1004K全局中断控制器为1004K CPS提供了这种能力。 


高速缓存一致基础架构非常有用,不仅是在对称多处理的处理器之间,而且在处理器和I/O DMA通道之间也是如此。虽然如MIPS32的RISC架构有支持基于软件的I/O一致的特性,但还是需要CPU在每个I/O DMA操作之前或之后对DMA缓冲器进行处理。该处理功能对I/O密集应用的性能有着显著的影响。在1004K CPS中,通过一个I/O一致单元将I/O DMA连接到存储器,有助于DMA流量的条理化和与一致装载/存储流的整合,从而消除了软件开销。

采用管道,得到回报


由于1004K处理器VPE对于软件来说看起来像成熟的处理器,大到有独立的中断输入,所以,管理多个内核的同一个SMP操作系统逻辑可以用来管理其构成VPE。在最高水平的系统管理方面,全部VPE功能都在运行的双核1004K系统是一个4路SMP系统的样子。为了利用SMP而编写或配置的软件能够自然而然地利用多线程,反之亦然。


虽然系统资源的想法仍然是对称的,但事实上,双线程争用一条处理器流水线将比双线程运行于独立的内核实现的性能更低。这种情况在服务器系统中已经存在了许多年,其多线程CPU的一致集群十分常见,而1004K的SMP Linux核的配备可以实现必要的负载平衡的优化。如果要优化功耗,调度程序可以每次在一个内核的虚拟处理器上加载运行(load work),从而使其他内核能够停留在一种低功耗状态。

如果是为了优化性能,可以首先在不同的内核上展开运行(spread work),一旦所有内核都有一个要运行的动态任务,只需在每个内核上加载多个VPE就可以了。

结语


片上多处理可以多种方式进行开发,从而实现高性能的SoC。通过输入数据或处理功能,可以实现非常高效的工作静态分解,但这也是非常不灵活的。SMP平台和软件可以提供一个非常灵活的高性能计算平台,以实现比单处理器更加显著的加速,通常这需要很少的甚至不需任何应用代码的修改。多线程是对SMP并行性的最好补充,可以最大限度地利用每个处理器中的流水线资源。MIPS32 1004K一致处理系统在一个单IP块中整合了MIPS多线程和一致SMP,以提供可扩展、高密度的嵌入式计算能力。

关键字:单芯片  一致多处理 引用地址:单芯片的一致多处理

上一篇:基于单片机P8XC592智能窗户系统的设计实现
下一篇:USB接口的高速数据采集卡的设计与实现

推荐阅读最新更新时间:2024-03-16 12:50

恩智浦推出业界首款集成NFC和安全元件的单芯片
   恩智浦 半导体(NXP Semiconductors N.V.)(纳斯达克代码:NXPI)今日宣布在符合GSMA标准的eSIM解决方案领域取得突破,助力设备制造商更轻松地为消费者提供SIM卡远程配置和多个移动网络运营商(MNO)订阅的无线更新。 恩智浦 以最新的芯片创新迎合稳步发展的eSIM市场的需求。根据ABI Research的数据(2017年12月),该市场预计将增长近7倍,出货量将从2018年相对较小的2.24亿增加到2022年的6.96亿。下面就随手机便携小编一起来了解一下相关内容吧。   全新的 恩智浦 SN100U是全球首款集成嵌入式安全元件(SE)、近场通信( NFC )和eSIM的单晶粒芯片组,具有更强的
[手机便携]
ST推出全新“智能传感器处理单元”,单芯片实现MEMS与ISPU
通过将信号处理和 AI 算法结合到 MEMS 传感器上,可实现本地决策,同时显着节省空间和功耗。 ST日前宣布推出智能传感器处理单元 (ISPU),它结合了适合在同一芯片上运行 AI 算法和 MEMS 传感器的数字信号处理器 (DSP)。 除了缩小系统级封装器件的尺寸并将功耗降低多达 80% 之外,传感器和 AI 的融合还将决策置于系统最边缘处。从而令智能传感器能够满足感知、处理和行动的 Onlife 时代,带来数字技术与物理世界的融合。 Onlife 时代承认生活在互联技术的持续帮助下,享受自然、透明交互与无缝过渡,并且使在线和离线之间没有显著区别。借助 ISPU,ST通过将智能处理迁移到传感器侧来开启这个时代:不再
[传感器]
ST推出全新“智能传感器<font color='red'>处理</font>单元”,<font color='red'>单芯片</font>实现MEMS与ISPU
CSR的WiFi产品获台湾智邦科技公司青睐
全球领先的蓝牙连接及无线技术提供商CSR公司(伦敦证券交易所:CSR.L)日前宣布,其UniFi单芯片WiFi(802.11b/g)技术被台湾通讯设备制造商智邦科技公司选用于其WiFi语音(VoWiFi)电话。智邦科技的VoWiFi电话提供彩屏,通过802.11b/g接入点连接,专供家庭使用而设计。CSR公司将于2007年2月12至15日在巴塞罗那举行的3GSM世界通信大会暨展览上展示这些电话,展台编号为1E51。 智邦科技的VM8168C电话基于UniVox设计,UniVox是CSR公司的VoIP电话参考设计,该参考设计采用的UniFi是CSR公司的单芯片WiFi技术。UniVox给智邦科技带来了业内功耗最低的嵌入式WiFi解
[焦点新闻]
德州仪器携全新单芯片毫米波传感器产品组合亮相中国电子展
2017中国电子展(CEF)日前正式在成都落下帷幕。同时,由中国电子器材公司、中国电子仪器行业协会主办的“2017中国西部微波射频技术研讨会”也在展会期间顺利举行。下面就随嵌入式小编一起来了解一下相关内容吧。 作为全球领先的半导体公司之一, 德州仪器 (TI)(NASDAQ: TXN)携其全新单芯片毫米波互补金属氧化物半导体(CMOS)产品组合出席了今年的电子展,而TI中国区嵌入式产品系统与应用总监蒋宏先生也亲临现场,并在研讨会上就“突破性毫米波雷达技术”进行了主题演讲,与参展者详细分享了毫米波技术的最新发展趋势以及毫米波传感器在汽车与工业领域的应用。 CEF是中国历史最悠久、最权威的电子行业展会,为众多电子信息领域的领军企业与
[嵌入式]
德州仪器推出具有 ARM® Cortex™-M3 微控制器的业界最高集成度 ZigBee® 单芯片解决方案满足智能能源基础设施、家庭楼宇自动化以及智能照明系统需
• 硅芯片高度集成微控制器 (MCU)、存储器与硬件安全引擎,可实现高度可扩展的简化设计; • 支持 ZigBee Smart Energy™ 与 ZigBee Home Automation™ 以及 ZigBeeLight Link™ 标准; • 标准化的 ZigBee PRO、ZigBee IP、IEEE 802.15.4 以及 6LoWPANIPv6 网络可实现高灵活开发。 2013 年 5 月 23日,北京讯 日前,德州仪器 (TI) 宣布推出 CC2538 片上系统 (SoC),简化支持 ZigBee® 无线连接功能的智能能源基础设施、家庭楼宇自动化以及智能照明网关开发。业界最高度集成度 ZigBee 解决方案 CC2
[单片机]
ADI单芯片编解码解决方案
ADI公司的JPEG2000解决方案无需作进一步信号处理就能够以可变的分辨率进行视频图像的提取、压缩和传输。 JPEG2000解决方案的特点是ADI公司的SURFTM(空间超高效递归滤波)小波技术,从而实现实时压缩和分辨率的可扩展性。这对HD市场特别有吸引力,因为HD内容一旦被压缩,就可以由具有不同分辨率的多种显示方式解压缩。例如,采用一个码流传输的同一视频源可以同时被HDTV,SDTV和PDA设备接收并显示,并且各个设备只能处理其所需要的信息。    存储、压缩的图像只要删除某些存储数据,无需解码就可以减小尺寸——因为所有的帧都相当于静止图像,但是尺寸减小后的图像质量要比原来差一些。这对数字录像机(DVR)应用是很有吸引力的,D
[嵌入式]
赛普拉斯单芯片TrueTouch改变大尺寸触摸屏的市场格局
    赛普拉斯半导体公司日前宣布新推出一款高性能单芯片TrueTouch™解决方案,用于大尺寸多点触摸屏,最高可支持11.6英寸的屏幕尺寸。全新的CY8CTMA884系列具有60个感应I/O通道,最多可支持884个屏上节点,这比任何其他单芯片解决方案都要多。更多的感应通道对于更高精度、线性度来说必不可少,另外还可以支持更小的手指并解决多个手指聚集在一起时出现的问题。     CY8CTMA884能满足使用者对于TrueTouch器件的所有期望,包括支持10个手指的触摸、低功耗、握持和手掌误动作排除、高精度和快速扫描时间。所有主流的平板电脑操作系统均支持这一系列的器件。赛普拉斯与所有领先的ITO传感器供应商均有合作,为设计者提供高
[手机便携]
细数单芯片毫米波雷达传感器的实用性
据麦姆斯咨询报道,单芯片雷达片上系统(system-on-chip,SoC)正在成为最受欢迎的新型 传感器 之一。其在汽车中的广泛采用大幅提高了销量,从而促进了价格的下降。这些精密的IC器件对汽车制造商而言至关重要,对其它应用也同样有很大的吸引力。尽管IC器件在汽车应用领域将继续占据主导地位,设计人员也正在探索一系列可以提高安全性和便利性的新用途。 雷达IC 谁能想到单芯片雷达呢?虽然现在多个制造商已经设计制造出多种形式的单芯片雷达。大多数国家已经开发出24GHz、76-81GHz、94GHz频段的芯片。尽管连续波(continuous-wave,CW)和脉冲类型都是可用的,全球大多数国家都使用77MHz调频连续波(freq
[汽车电子]
细数<font color='red'>单芯片</font>毫米波雷达传感器的实用性
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved