基站调制解调器——为什么要现在选择多核?

发布者:闪耀的星空最新更新时间:2008-11-10 来源: 德州仪器(TI) 手机看文章 扫描二维码
随时随地手机看文章

      3G 无线技术可支持诸如视频流等各种高带宽应用,从而能够大幅提高收发器基站 (BTS) 的工作负载。事实上,流经基站的数据业务量的日益提高已经促使无线运营商不得不蜂拥开始回程扩容。独立分析公司 Heavy Reading 于 2006 年3 月发布的一份报告指出,“运营商一般根据每个蜂窝站点 2 条 T-1/E1 回程电路制订最初的 HSDPA/EV-DO 部署计划;但随着容量扩展,他们开始意识到需要多达 10 条此类电路。”

      由于回程容量与用户需求在同时增长,无线运营商及其基础局端供应商也在想方设法确保基站本身不出现瓶颈。为避免此类问题,移动行业正在迅速向采用多核基带处理器的基站调制解调器过渡。在无线基站领域之外,多核处理器用过去几年时间就证明了自身在性能平衡与功率效率方面的价值,这一点可以说明为什么仅德州仪器 (TI) 一家公司的处理器出货量就超过了 10 亿。现在人们不再对无线基站系统设计人员开始采用它们而感到惊讶。

      多核设计的一大关键优势就是效率。多核设计可将任务分配至多个内核,而不是为承担附加工作负荷而单纯提高单个处理器内核的频率。例如,如果系统需要数字信号处理器 (DSP) 提供 3GHz 性能,多核设计可以在单个 DSP 封装中采用三个频率为 1GHz 的内核。

      相比而言,如果为了满足新型 BTS 的严苛要求而提高单核 DSP 的速度,则所需功率和产生的热量会达到让人无法承受的水平,而多核设计可以在无损性能的情况下避免这些缺陷。

      此外,芯片制造商还可以通过开发高级的低功耗技术来进一步提高多核 DPS 的功率效率。TI 的 Smart Reflex 技术就是一个很好的范例,其可以在保持规定器件性能的同时降低静态与动态功耗。Smart Reflex 技术可根据制造工艺考虑到器件专用的硅芯片特征以及热参数等因素。这样不仅可以有效降低 DSP 的功耗,同时还能保持性能目标 —— TI 的 TCI6488 基带处理器(采用 Smart Reflex 技术的DSP 之一)目前达到 1GHz。
 
      多核的另一种优势是能够集成片上加速器来提高自身性能,进而消除对附加 FPGA 或微处理器的需求,同时还能降低组件数与材料清单 (BOM) 成本。这种竞争优势也是多核设计能够吸引系统设计人员及其基础局端客户的原因所在。

新要求

      对于大多数无线运营商而言,由于电子邮件、Web 浏览、音乐下载等数据应用的广泛普及,他们都面临着数据流量快速增长的挑战。此外,遥测、远程信息处理技术以及其它机器对机器 (M2M) 等应用的更广泛应用也是数据流量不断增长的原因。所有这些因素共同造成了每个 BTS 或基站需要承担更多的负载,在城市区域尤其如此。

      随着运营商部署长期演进 (LTE) 等 4G 技术,其工作负载还会进一步提高 —— 预计要支持超过 300Mbps 的峰值下载速度和超过 80Mbps 的峰值上传速度。

      另外,3G 调制解调器标准要求支持每个用户的特定数据速率与服务质量 (QoS) 要求。这种功能性会带来各方面的 I/O、MIPS 与内存需求。因此,在准备对现有片上系统 (SoC)(如 TCI6488 等)进行编程或者开发一种新的片上系统(SoC)以支持当今多用户 BTS 调制解调器时,软件与系统设计人员会面临多种挑战并需要周全考虑设计事项。

      从说明简单调制解调器数据流程的图 1 可以了解这些 SoC 执行的任务。四种方框分别表示滤波器、解调、正向纠错与拆包任务。此外,图中还显示了一个时延要求较低的控制通道和一个时延要求更宽松的数据通道。

 图1:基本 BTS 调制解调器模型。
图1:基本 BTS 调制解调器模型。

      典型嵌入式系统软件的设计包括对软件组件或任务的开发,这些软件组件或任务运行于实时操作系统 (RTOS) 上,而且为实现预期功能相互之间需要实时互动。设计人员一开始就必须决定每项任务是与用户还是与功能相关。如果与用户相关,则可能会执行多个功能,但仅限于该用户。如果与某个功能相关,则会对所有用户执行该功能。这种基本决策具有多方面影响:产生中断的方式、任务切换频率、软件与所有外设的互动方式以及 SoC 的硬件加速等。

根据用户分配任务

      图 2 说明,当根据用户分配任务的系统中存在两个用户时将如何安排任务。利用标签结尾的编号区分每个用户,而每个标签标明是长时延(慢)还是短时延(快)通道。

 图2:根据用户进行的任务分配。

图2:根据用户进行的任务分配。

      SoC 的内核不知道同时存在多少个用户,因此它必须:

•  在复位时预定义所需的最大任务数;或者
•  随着用户在系统的出现而动态生成任务并在用户退出系统时删除任务。

      每种技术各有优劣。例如,对于预定义任务,即使它们未被使用,内核也必须知道所需任务的最大数量并且维护这些任务的数据结构。如果内核对每个任务的最差情况也维持完整的数据结构(包括数据存储需求),则所带来的挑战是必须提供可支持所有用户按最高数据速率运行时的足够内存。

      一种解决方案是定义高速率和中等速率等多个任务级别,并且定义每个等级的具体数量。然后内核可根据所需的用户速率选择任务类型。问题是用户速率可能会改变,从而迫使内核将所有状态信息从一种结构转移至另一种结构。

      因此,虽然可以针对所有任务预定义某些结构,但其他结构必须与任务动态关联。在此情况下,内存管理必须尽可能简单,而且还得避免内存碎片。

      在用户出现时可以动态生成任务及其方式,然后在用户退出时删除。这种方法很明确,但是缺点是在内存中创建和删除结构时会产生开销并且造成相关内存管理问题。

      在根据用户分配任务时,任务数随着用户数的增加会成倍增长。在WCDMA 基站中,一颗芯片支持的 32~64 个用户中的每一个都会需要数百个任务,这是巨大的工作负载。随着任务数量的增加,每秒的任务切换次数也会相应增加。因此中断程序和内核会耗费更多时间,而用于有效工作的时间会更少。TI 相信,如果存在数十个用户,那么基于用户的任务组织工作会导致系统无法管理。

根据功能分配任务


      图 3 所示系统存在 7 项针对2 名用户按颜色划分的任务,其按功能分配。 
 图3:根据功能进行的任务分配。

图3:根据功能进行的任务分配。

      在这种设计中,内核无需知道系统中存在多少用户。相反,它只需知道必须执行多少个唯一功能。随着用户数量增加,完成一项任务的时间也会随之增加。

      如果在数据可用时立即调用某项任务,则会为每个用户调用每项任务,而且任务切换次数随用户数量增加而增加,这种情况会造成大量的任务切换次数。更好的方法是为每项任务分配一个链接列表。当任务完成时,将在该用户中执行作为该任务(与下项功能相关联)链接列表项目的系统。

      这种方法不会随着用户在链接列表中的累加而产生中断。在每项任务被激活时,它会完成其链接列表或者运行至链接列表被抢占为止。其中一种选择是仅允许链接列表用户处理之间的抢占,这样用户功能就永远不会中断。这种选择可以在存储需求最低状态下实现抢占,因为所有需要的状态已经保存到相关列表中了。

      其中一个关键的考虑事项是激活任务的频率:

•  简单的周期性中断:通过将任务分组到少量优先级队列可以进一步简化此类中断。在 WCDMA 中,只需两个队列即可获得良好的性能。其中存在单个周期中断,内核在切换到低优先级队列之前先清空高优先级队列。高优先级任务允许抢占时间更长的低优先级任务,而不需要随用户数增加的数据驱动中断。需要计算中断周期,以确保能够在最后期限之前以足够快的速度完成高优先级任务的最差情况负载。

•  多个周期中断:其能够迅速完成高优先级队列,同时在完成较低优先级队列之前保留尽可能多的时间。因此,只要不全部完成高优先级队列,就不会遗留低优先级队列中的任务。

•  队列达到特定大小时的中断:这是希望将中断次数最小化时执行队列的最有效方式,但是它会使任务的延迟取决于到达任务的数量。因此它不太适用于严格的实时系统。

•  队列头 (head of queue) 达到特定时限时的中断:可以实现一定时间内一定水平的服务保证,同时将中断次数最小化。为了实现上述目的可以为每个队列 头设置一个定时器,然后在定时器达到指定值时产生中断。如果需要处理队列头,则必须采取某种方法将定时器重新设置到下一个队列项目的等待时间长度。其适用于需要跟踪队列中各项任务所耗时间的复杂系统。

      为了将任务数量和任务抢占开销保持在可控水平,它们不可根据用户数量而定。相反,任务应当与功能而不是与用户关联。由于目前的 BTS 为了实时满足客户需求而必须承担更多数据流量,因此这种设计越来越重要。

多核考虑

      当今的 SoC 一般是多核 CPU ,采用独立的 IP 块,为了实现一个完整的调制解调器功能必须实现互操作和同步化。这种架构需要某种方式将优先级队列系统(图 4)映射至多 CPU 环境。

 图4:基于功能的任务优先级队列。红色箭头表示处理顺序的依存性。
图4:基于功能的任务优先级队列。红色箭头表示处理顺序的依存性。

      最简单的选项是将用户分配到相关 CPU,使每个 CPU 都保持其自己的队列。但是这样会有两个缺点:第一,所有用户有可能共享某些功能(如过滤与解调)。第二,某些功能可能需要共享协处理器或外设,造成它们不具有完全独立性。这样会造成一系列优先级队列之间的交互复杂化,从而难以保证实时性能。由于必须要支持多个 CPU 的存取,协处理器和外设也将变得更为复杂,因此必须决定 CPU 的哪项任务优先。所有这些都会增加软、硬件驱动程序的复杂性,使最终系统的测试更加困难、更加耗时。

      为避免这些缺点,TI 采取了不同的方案:为单个 CPU 分配功能任务,从而使每个 CPU 都负责唯一一组功能。一般只加速特定类型功能的每一个协处理器都与单个 CPU 关联。这种方法可以显著简化协处理器所执行任务的排序。在许多情况下,外设也会与单个 CPU 通信,从而减少对不缺乏数据的任务进行检验所需的测试。

      TI 的设计采用全系统同步排列 CPU 的帧、时隙 (slot) 与符号边界。这种通信采用由一项任务产生、发送到另一个任务的数据块来实现,一般由 L2 存储器之间的 DMA 执行。(每个 CPU 都具有其自己的 L2 存储器,因为共享存储器需要在速度等方面做出权衡折中。)

      由于 TI DSP 可用于众多功能,因此 TCI6488 SoC具有高度的对称性。例如,所有 CPU 都可以访问接收机加速协处理器 (RAC)。这种设计允许在所有 CPU 上运行相同的功能并且允许所有 CPU 访问所有协处理器和外设资源。不过,TI 建议系统设计人员让一个 CPU 与 RAC 交互,以简化器件的操作。
 
      通过实现 CPU的资源负载平衡,根据每项任务所采用的代码,一个 CPU 可能会先于其他 CPU 达到最高容量。解决方案是进行重新分组,但这需要软件架构改头换面 —— 这是在完成 CPU 测试时设计人员更愿意避免的情况。TI 相信,软件无线电方法与工具的进步会让软件分配变得更为轻松。
 
      TI 采用代码周期估算、电子表格以及事务处理级模型来开发用于 WCDMA TCI6488 SoC 的建议软件分组。TI 相信,这种分组可以提供近乎完美的解决方案,同时仍然保留以下简单性:用一个 CPU 控制 RAC、一个 CPU 控制 TCP 和 VCP,以及用一个 CPU 执行 Tx 芯片频率加速和与天线阵列接口的输出通信。

      对于其他标准(如不采用 RAC而是基于 OFDM 的标准),更易于开发对称软件架构。不过,即使在这些情况下仍然更便于分配此问题,这可以让一个 CPU 执行 FFT/IFFT 和部分调制/解调任务,而将相关结果发送至另一个 CPU 以便进行符号率处理。若用于天线数据,这种方法可以简化天线接口 或串行 RapidIO 与负责前端处理的 CPU 之间的通信。另外,其还可以简化后端符号率处理及其与以太网或串行 RapidIO 的通信。
 
      事实上,可共同为所有用户执行 OFDMA 调制,此项任务无法被完全分配到不同的 CPU。因此,TI 任务软件架构的简单性以及众多调制解调器算法的特性决定了系统设计人员应当以不对称的方式将任务分配到 CPU。

实现多个 SoC 的资源平衡

      另一个问题是每个 SoC 是否应当具有不同的任务,例如,一个 SoC 只执行符号率解码,而另一个执行码执行芯片级调制。其缺点是所有片上协处理器都得不到有效利用。

      例如,只执行符号率处理的 TCI6488 器件就需要更强大、高功率并且占用大量空间的 Turbo 与 Viterbi解码器。但是此类解码器对于只执行码片级关联的另一个 SoC 毫无用处,因此 需要功率高得多的接收加速器。所以,除非为每个主板功能提供不同的 SoC,否则协处理器就必须考虑到每项功能的最差情况。为每一类功能都开发不同的 SoC 是一种成本浪费。

      将 SoC 专用于某一类特定功能也不利于实现可扩展的系统。显然,如果我们希望提高主板的通道密度并让每个 SoC 执行一整套相同的功能,则只需在主板中增加更多 SoC。TCI6488 旨在以最少的附加硬件达到上述目的。天线接口和串行 RapidIO 都可采用菊花链连接方式,而以太网和 RapidIO则可连接到交换机。

      但是,如果不同 SoC 提供不同的功能,实现系统的可扩展性就需要将用户数量提高一倍。如果所需用户数量提高 15%,则让执行符号率的 SoC 功能提高 15% 的方式是再增加一个 SoC,而其利用率只有 15%。其他 SoC 的情况同样如此,因此会造成扩展后解决方案效率极低。

      对于采用多核、协处理器加速 SoC 的系统设计,具有最高板级可扩展性、实现最简单、最易于测试的软件的系统架构需要 SoC 中的每个 CPU 都执行一组唯一的任务,但是系统中的每个 SoC 都执行与其它 SoC 相同的一组任务。TI 针对 WCDMA/HSPA 网络中这种情况而推出了 TCI6488,其强调以相同方式有效支持其它调制解调器标准的灵活性。

      结果是多核处理器总算及时到来,而此时无线运营商及其基础局端供应商在奋力满足 HSPA+、LTE 以及移动 WiMAX 等 3G 与 4G 技术的苛刻的新需求。通过巧妙平衡功耗与性能,多核处理器为系统设计人员满足今后 10 年的移动网络需求带来了亟需的工具。

引用地址:基站调制解调器——为什么要现在选择多核?

上一篇:多核技术催生新型软硬件设计的协作模式
下一篇:多核时代!Intel公开Nehalem架构规划

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

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

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