当前位置:首页 > 嵌入式 > 嵌入式硬件

ibm公司cell be处理器包括一个基于powerpc架构的控制处理单元power processing element (ppe)以及8个simd的协处理器单元——synergistic processing elements (spe),以及用以连接ppe, 输入输出单元以及spe的高速环形数据总线——element interconnect bus (eib)。cell be同时还提供了dma指令和控制机制以用于在不同处理单元之间提供高效的通信。ppe和spe均为risc结构,指令字长为32位,寻址空间为64位。 spe提供最高128位宽的simd的数据通路。工作在3.2ghz主频下,单个spe对8位整型可提供51.2 billion的峰值计算速度,对单精度浮点可提供25.6 gflops的峰值计算速度。   

为了提高内存访问速度,cell be采用rambus xdr dram内存,提供2个32位的数据访问通道,每个通道的访问速率为12.8gb/s。为了提高i/o访问速度,在cell be中采用了高速、可配置的i/o接口——7个发射通道和5个接收通道的rambus prac flexio,flexio工作5ghz下时,其发送带宽和接收带宽分别为35gb/s和25gb/s。ppe和spe都是基于risc架构,双发射的simd处理器。cell be中所有的处理单元,i/o控制器,内存控制器都通过高速的eib(4路128位宽的环形总线)互联。xio接口提供与rambus xdr内存的高速互连,flexio提供了高速i/o通道。ppe是一个兼容powerpc 970架构的两路并发多线程处理器,包含一个32kb的l1 cache(32kb的数据cache和32kb的指令cache), 256kb的l2 cache以及一个vmx(vmx是powerpc上的altivec多媒体扩展,apple称为velocity engine。vmx本身就是一个向量处理单元,或者说是类似于intel的sse,sse2的simd扩展。)单元。操作系统运行于ppe上,ppe负责对spe进行调度,而spe则负责主要的计算工作。spe直接访问本地的local storage(ls)。它通过dma方式访问主存,由dma负责将指令和数据搬到ls。这种方式能够有效地减小内存读写延迟对处理器利用率的影响,因为 spe的计算和dma传输可以并行地进行。spe是一个高度可配置的处理单元,spe可以被配置成不同的运行方式和存储保护(isolation)模式。在存储保护模式下,ppu和其它spe不能访问该spe的ls,从而在硬件层次上提供了安全机制。这种机制在一些场合是非常有用的,如drm。
cell be编程模型对spe的编程,可以采用高级语言,如c和c++。并且cell be的编译器及开发包已经对c/c++进行了扩展,以提供对vector/simd的支持。实际上,对于应用程序的开发者来说,可以简单的将cell be看作一个9路的多处理器。由于ppe是一个双线程双发射、顺序执行的risc处理单元,它的一个时钟周期可以处理来自两个线程的指令(即所谓硬件多线程smt),因此加上8个spe,同一时刻可以有10个任务在同时运行。总的来担琍pe适合作为控制和任务调度处理器,spe则用于处理计算任务。 cell be 存在多种编程模型,对于简单的spe程序("small" spe program)来说,与普通的应用程序编程是类似的。我们需要将任务进行划分,针对不同的spe编写不同的代码,每个spe完成一个特定的任务。这种方式下,spe不需要访问主存,只需访问ls就够了。在这种方式下,spe的数据段、代码段的大小限制为256kb (ls的大小)。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用

嵌入式开发是一种专门针对特定硬件平台设计和实现软件系统的工程实践,它涵盖了从需求分析、系统设计、编程实现、调试测试直到产品部署及维护的全过程。本文将深入探讨嵌入式开发的主要阶段,分解其流程并阐述每个步骤的关键要点,以便于...

关键字: 嵌入式开发 嵌入式软件
关闭
关闭