新闻中心

EEPW首页>嵌入式系统>设计应用> 满足嵌入式系统应用的多核处理器SoC设计

满足嵌入式系统应用的多核处理器SoC设计

作者: 时间:2010-05-11 来源:网络 收藏

  1. 这个架构是两套完全独立的单处理器系统的简单扩展,是通过将系统与通信元件连接在一起实现的。

  2. 共享元件全部采用多端口(或者双端口)结构。这些元件的多端口特性使得每个处理器的系统总线在静态和动态负载方面都独立于其他总线。通过隔离各个处理子系统,您可以确保系统总线不会因为一个处理器的事务执行而不能给另一个处理器或者外设使用。所有的多端口外设都在内部完成不同端口上的访问仲裁。

  3. 关键共享外设是多端口存储器控制器(MPMC)。MPMC通过不同的端口接口访问外部存储器。多个处理器可以通过独立端口连接到MPMC上。这种拓扑使得PowerPC和处理器能够以最小的延迟和高带宽同时访问外部存储器。MPMC目前最多可以提供8个端口,这样就可以将三到四个处理器连接到一个外部存储器上。

  4. 这个架构还可以在处理器之间共享内部块RAM存储器。片上块RAM共享是一种在处理器之间传输KB尺寸数据的高速方式。块RAM的访问也可以是确定性的,这对于某些应用而言是一个重要要求。

  5. 除了共享存储器外,还有另外2个内核 - XPS Mailbox和XPS Mutex,它们可以提供形式简单的处理器间通信。XPS Mailbox内核以同步或异步方式为两个处理器提供低延迟、FIFO风格的消息传递接口。它可用于直接传送消息或者用于传送共享存储器中存储的消息指针。您可以使用XPS Mutex内核在2个处理器上为软件共享资源(无论它们是片上资源还是片外资源)的访问进行仲裁。总的来说,这些内核可帮助您在每个处理器上创建协作软件程序。

  6. 一些系统可能期望共享非多端口外设(比如UART、SPI或I2C)。这种情况需要在没有连至外设的总线和连至外设的总线之间提供一个系统总线桥。图1给出了一个在两个处理器之间共享UART的总线桥的应用情况。

  7. 图1特意指出PowerPC405是第一处理器,是第二处理器,以说明每个处理器的某些特性。然而,经过很小的改动就可以将任何一个处理器替换成其他的处理器。因此这个架构可以在不同的处理器之间实现无缝转换。

  虽然图1给出了推荐的整体多处理架构,但是不同的约束可能需要您进一步改善该架构。例如,在逻辑面积和资源使用是关键考虑因素的系统中,所有处理器都可以连接到相同的系统总线上。虽然这降低了系统的确定性,增加了总线的运行负载,但是它通过消除新的系统总线以及消除IP的多端口需求而节省了面积。

  还可实现其他衍生架构,例如在独立系统总线上连接一个高性能处理器,或在共享系统总线上连接多个低性能处理器。您还可以通过利用多级桥连接处理子系统来创建层次化拓扑。EDK所提供的各种工具和IP可以帮助你进一步优化这个基本拓扑,直到其满足您的需要为止。

其他考虑因素

  通常情况下,多处理器架构还需要考虑其他一些因素。例如,您需要在两个处理器之间以非冲突方式定义存储器映射。EDK提供的自动地址生成工具将这一任务简化成简单的按钮操作。

  您也需要考虑您的时钟和复位网络。您可以选择给所有处理器提供相同速率的时钟,或者让每个处理器使用不同的时钟域。同样,您也可以将复位域定义在不同层次上,例如仅处理器复位、处理器子系统复位和系统复位。处理器必须独立连至调试端口,从而能为每个处理器创建一个独立的调试进程。

  除了硬件因素,还需要设计软件系统,以便它们能够协同运转。这包括使用共享存储器、消息传递以及一些常见的同步概念,例如屏障(barrier)和会合(rendezvous)等,从而使系统以可预测性和同步的方式运行。市场上也有商用软件栈可以提供更高级的通信范例。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭