一种基于自定义指令的多核通信系统及方法技术方案

技术编号:3844876 阅读:224 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及多核通信领域,尤其涉及一种基于自定义指令的多核通 信系统及方法。本发明专利技术通过自定义指令方式,在多核通信系统中实现CPU 之间通信。在CPU(110)向CPU(120)发起通信时,CPU(110)将数据 及自定义指令码发送到自定义指令处理单元。自定义指令处理单元解析 该自定义指令码并向CPU(120)发起中断,同时打断CPU(130)指令流水 线。CPU(120)调用“接收数据”自定义指令并将自定义指令码发送到自 定义指令处理单元。自定义指令处理单元解析自定义指令码,并向CPU (120)发送数据,同时释放CPU(130)指令流水线。本发明专利技术的系统及 方法提高了多核通信效率,具有重要的价值。

【技术实现步骤摘要】

本专利技术涉及多核通信领域,尤其涉及在SOG (System-on-a-chip,片上系统)上实现多核通信的系统及方法。
技术介绍
随着声音、图像以及视频处理技术的快速发展,消费类电子市场需要性 能更加强劲的SOC来实现这些多媒体处理技术,因此多核SOC受到越来越多 的研究和重视。而决定多核SOC性能的一个主要因素是SOC中多个处理器 (CPU)之间的通信速度,多个处理器通信速度直接影响SOC产品的性能。现在的多核通信方法通常是基于共享内存技术。共享内存是指在多处理 器的计算机系统中,内存被多处理器共同访问。共享内存的多核通信方法是 指不同处理器通过向预设的地址单元(共享内存的地址)写入数据,并通知 与其通信的另一处理器读取由该处理器写入的数据,从而实现数据共享和交 互的通信机制。但是由于GPU在访问共享内存时需要对数据进行緩存(Cache),因此 每次CPU访问共享内存时都需要刷新緩存。因此在多核SOC芯片中共享内存 的多核通信方法需要引入大量时延。该时延等于片内总线时延+緩存更新时 延+共享内存访问时延,大大降低了通信执行效率。由此可以看出,如果能 够避免共享内存带来的延时,多核通信系统的通信效率将会得到大大改善。
技术实现思路
本专利技术提供了一种能够避免共享内存带来时延的基于自定义指令的多 核通信系统及方法。在第一方面,本专利技术提供了一种基于自定义指令的多核通信系统,包括 两个或两个以上GPU以及自定义指令处理单元。源CPU用于识別"发送数据" 自定义指令并解析数据所在位置,以及发送该自定义指令码和所述数据。目 标CPU用于识别"接收数据"自定义指令,以及发送该自定义指令码和接收 所述数据。自定义指令处理单元用于解析来自源GPU的"发送数据"自定义指令码,并根据解柝到的内容向目标CPU发送信息以便目标CPU调用"接收 数据"自定义指令,以及解析来自目标CPU的"接收数据"自定义指令码, 并根据解析到的内容向目标CPU发送信息以便目标CPU接收来自源GPU的所述数据。在第二方面,本专利技术提供了一种基于自定义指令的多核通信方法,包括以下步骤源CPU识別"发送数据"自定义指令并解析数据所在位置,以及将该数 据和该自定义指令码发送到自定义指令处理单元。自定义指令处理单元解析 来自源GPU的"发送数据"自定义指令码,根据解析到的内容向目标CPU发 送信息以便目标CPU调用"接收数据"自定义指令。目标CPU识别"接收数 据"自定义指令,以及将该自定义指令码发送到自定义指令处理单元。自定 义指令处理单元解析来自目标CPU的"接收数据"自定义指令码,并根据解 析到的内容向目标CPU发送信息以便目标CPU接收所述数据。在本专利技术的一个实施例中,自定义指令处理单元包括解析单元,且每个 CPU对应一个解析单元,该解析单元用于解析来自与该解析单元相对应GPU 的自定义指令码。在本专利技术的另一个实施例中,自定义指令处理单元包括仲裁单元,该仲 裁单元用于仲裁一个源CPU与另一个源CPU同时访问目标CPU的顺序,用以 解决CPU之间访问冲突问题。在本专利技术的又一个实施例中,CPU包括中断控制器,用于控制该GPU 调用"接收数据"自定义指令。本专利技术通过自定义指令方式,在多核通信系统中将若干源CPU中的数据 发送到目标GPU中,该自定义指令方法大大地提高了多核通信系统中CPU之 间的通信效率,具有重要的应用价值。附图说明下面将参照附图对本专利技术的具体实施方案进行更详细的说明,在附图中图1本专利技术的基于自定义指令的多核通信系统; 图2本专利技术的基于自定义指令的多核通信流程图。具体实施例方式本专利技术的基于自定义指令的多核通信系统包括两个或两个以上CPU以及自定义指令处理单元。本说明书以三核通信系统为例对本专利技术的基于自定义 指令的多核通信系统及方法做详细说明。其它多核通信方法与三核通信方法 的基本原理相同,不再重复。图1是本专利技术的基于自定义指令的多核通信系统,该系统包括CPU110、 CPU120、 GPU130及自定义指令处理单元140。CPU110包括取指单元111、解码单元112、执行单元113、寄存器Rs114、 寄存器Rt115、寄存器Rd117以及中断控制器116。CPU110用于执行包含自定义指令的程序以及控制GPU110的各项操作。 取指单元111用于从存储单元中取出指令,并将指令发送到解码单元112中。 解码单元112对指令解码,并将自定义指令码发送到自定义指令处理单元 140,将其它指令发送到执行单元113。执行单元113根据解码单元112发送 的解码内容执行相应操作。寄存器Rs114、寄存器Rt115、寄存器Rd117用 于暂存CPU110中待处理的数据。中断控制器116用于接收中断申请,并控 制CPU110进入包含自定义指令的中断服务程序。GPU120包括取指单元121、解码单元122、执行单元123、寄存器Rs124、 寄存器Rt125、寄存器Rd127以及中断控制器126。GPU130包括取指单元131 、解码单元132、执行单元133、寄存器Rs134、 寄存器Rt135、寄存器Rd137以及中断控制器136。GPU120、 CPU130中各单元的功能和作用与CPU110中各单元的功能和作 用相同。自定义指令处理单元140中的解柝单元数量与系统中GPU数量相同,且 每个CPU对应一个解析单元,在三核通信系统中解析单元数量为三。自定义指令处理单元140包括第一解析单元141、第二解析单元142、 第三解析单元143和仲裁单元144。自定义指令处理单元140用于解析自定义指令,以及打断或释放源CPU 的指令流水线,以及向目标GPU发送中断申请。第一解析单元141用于解析 由CPU110发送的自定义指令码。第二解析单元142用于解析由CPU120发送 的自定义指令码。第三解析单元143用于解析由CPU130发送的自定义指令 码。仲裁单元144用于解决多个GPU共访同一个GPU而存在的访问冲突问题。如图1所示在本专利技术的基于自定义指令的多核通信系统中,当GPU110 向CPU120发起通信时,首先CPU110识別出其所调用的指令为"发送数据" 自定义指令,并初步解析出待发送数据所在位置,进而将待发送数据及自定 义指令码发送到第一解析单元141。第一解析单元141进一步解析该自定义 指令码后向仲裁单元144提出仲裁申请。若GPU130同时也向CPU120发起通 信,则仲裁单元144仲裁GPU110、 CPU130发送数据的顺序。假设仲裁结果 是CPU110先发送数据,则自定义指令处理单元140打断CPU130的指令流水 线,同时通知第一解析单元141向第二解析单元142发送数据。第二解析单 元142接收到来自GPU110的数据后向中断控制器126发出中断申请,以便 CPU120调用"接收数据"自定义指令并将该自定义指令码发送到第二解析单 元142。第二解析单元142解析该自定义指令码后将数据发送到CPU120中。 最后自定义指令处理单元140释放CPU130的指令流水线。在具体阐述基于自定义指令的多核通信方法之前,首先对本专利技术的一条 自定义指令做详细说明。MIPS CPU为用户提供16条自定义指令功能,称为 UDI。下面以MIP本文档来自技高网...

【技术保护点】
一种基于自定义指令的多核通信系统,包括第一CPU和第二CPU以及自定义指令处理单元(140); 第一CPU用于识别“发送数据”自定义指令并解析数据所在位置,以及发送该自定义指令码和所述数据; 第二CPU用于识别“接收数据”自定义 指令,以及发送该自定义指令码和接收所述数据; 自定义指令处理单元(140)用于解析来自第一CPU的“发送数据”自定义指令码,并根据解析到的内容向第二CPU发送信息以便第二CPU调用“接收数据”自定义指令,自定义指令处理单元(140)解 析来自第二CPU的“接收数据”自定义指令码,并根据解析到的内容向第二CPU发送所述数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘陆陆霍晓方
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1