用于多处理器系统的指令通信技术.pdf

上传人:g**** 文档编号:1024110 上传时间:2018-03-26 格式:PDF 页数:22 大小:1.07MB
返回 下载 相关 举报
摘要
申请专利号:

CN200880009034.X

申请日:

2008.03.21

公开号:

CN101636715A

公开日:

2010.01.27

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

G06F9/38; G06F9/30

主分类号:

G06F9/38

申请人:

高通股份有限公司

发明人:

托马斯·福捷

地址:

美国加利福尼亚州

优先权:

2007.3.23 US 60/896,497; 2007.11.27 US 11/945,790

专利代理机构:

北京律盟知识产权代理有限责任公司

代理人:

刘国伟

PDF下载: PDF下载
内容摘要

本发明描述一种用于在多处理器系统中将指令传送到从属处理器的方法,所述多处理器系统具有主处理器及由所述主处理器控制的管线式从属处理器。所述方法使用传递命令,所述传递命令具有(i)使用所述从属处理器所理解的计算机语言编码的标头块及(ii)包括以指定从属处理器所理解的计算机语言编码的指令的有效负载块。所述传递命令被传输到最外从属处理器,且接着在不进行重新编码的情况下由中间下游从属处理器转发,直到所述命令到达所述指定从属处理器为止。在一个应用中,所述方法用于适于处理视频数据或渲染图形的系统中。

权利要求书

1: 一种集成电路(IC),其包含:主处理器,其适于与管线式从属处理器进行通信且 适于:产生包括标头块及有效负载块的传递命令,所述标头块使用所述管线式从属 处理器所理解的计算机语言来编码;针对所述管线式从属处理器中的指定从属处理 器产生使用所述指定从属处理器所理解的计算机语言编码的至少一个指令;将所述 至少一个指令并入所述有效负载块中;以及将所述传递命令传输到所述管线式从属 处理器中的最外从属处理器;其中所述传递命令在不进行重新编码的情况下从所述 管线式从属处理器中的非指定从属处理器转发到所述管线式从属处理器中的邻近 下游从属处理器,直到所述传递命令到达所述指定从属处理器为止。
2: 根据权利要求1所述的集成电路,其中所述主处理器适于通过以下操作来产生所述 传递命令:产生含有识别所述传递命令的信息且含有在不进行解码的情况下将所述 传递命令转发到所述指定从属处理器的请求的数据模块;以及将所述数据模块包括 在所述标头块中。
3: 根据权利要求1所述的集成电路,其中所述主处理器适于通过以下操作来产生所述 传递命令:产生含有识别所述指定从属处理器的信息的数据模块;以所述从属处理 器所理解的所述计算机语言来编码所述数据模块;以及将所述数据模块包括在所述 标头块中。
4: 根据权利要求1所述的集成电路,其中所述主处理器适于通过以下操作来产生所述 传递命令:产生含有识别所述有效负载块的位长度的信息的数据模块;使用所述从 属处理器所理解的所述计算机语言来编码所述数据模块;以及将所述数据模块包括 在所述标头块中。
5: 根据权利要求1所述的集成电路,其中所述主处理器适于通过将所述传递命令转发 到所述管线式从属处理器中的最外一者来传输所述传递命令。
6: 根据权利要求1所述的集成电路,其中所述非指定从属处理器适于将所述传递命令 从所述非指定从属处理器的输入缓冲器复制到所述非指定从属处理器的输出缓冲 器。
7: 根据权利要求1所述的集成电路,其中所述指定从属处理器适于确认所述传递命令 的接收。
8: 根据权利要求7所述的集成电路,其中所述指定从属处理器适于:使用所述主处理 器所理解的计算机语言来产生预定消息;将所述预定消息包括在答复传递命令的所 述有效负载块中;在所述答复传递命令的所述标头块中将所述预定消息寻址到所述 主处理器;以及将所述答复传递命令转发到所述管线式从属处理器中的上游从属处 理器。
9: 根据权利要求1所述的集成电路,其中所述主处理器及管线式从属处理器适于以下 中操作的至少一者:处理视频数据或渲染图形。
10: 根据权利要求1所述的集成电路,其中所述集成电路为无线通信设备的一部分,所 述无线通信设备选自由蜂窝式电话、视频游戏控制台、个人数字助理(PDA)、膝 上型计算机及具有音频/视频功能的装置组成的群组。
11: 一种集成电路(IC),其包含:用于与主处理器进行通信的多个管线式从属处理器, 所述主处理器适于:产生包括标头块及有效负载块的传递命令,所述标头块使用所 述管线式从属处理器所理解的计算机语言来编码;针对所述管线式从属处理器中的 指定从属处理器产生使用所述指定从属处理器所理解的计算机语言编码的至少一 个指令;将所述至少一个指令并入所述有效负载块中;以及将所述传递命令传输到 所述管线式从属处理器中的最外从属处理器;其中所述管线式从属处理器中的非指 定从属处理器在不进行重新编码的情况下将所述传递命令转发到所述管线式从属 处理器中的邻近下游从属处理器,直到所述传递命令到达所述指定从属处理器为 止。
12: 根据权利要求11所述的集成电路,其中所述主处理器适于通过以下操作来产生所 述传递命令:产生含有识别所述传递命令的信息且含有在不进行解码的情况下将所 述传递命令转发到所述指定从属处理器的请求的数据模块;以及将所述数据模块包 括在所述标头块中。
13: 根据权利要求11所述的集成电路,其中所述主处理器适于通过以下操作来产生所 述传递命令:产生含有识别所述指定从属处理器的信息的数据模块;以所述管线式 从属处理器所理解的所述计算机语言来编码所述数据模块;以及将所述数据模块包 括在所述标头块中。
14: 根据权利要求11所述的集成电路,其中所述主处理器适于通过以下操作来产生所 述传递命令:产生含有识别所述有效负载块的位长度的信息的数据模块;使用所述 管线式从属处理器所理解的所述计算机语言来编码所述数据模块;以及将所述数据 模块包括在所述标头块中。
15: 根据权利要求11所述的集成电路,其中所述主处理器适于通过将所述传递命令转 发到所述最外从属处理器来传输所述传递命令。
16: 根据权利要求11所述的集成电路,其中所述主处理器进一步适于将所述传递命令 从所述非指定从属处理器的输入缓冲器复制到所述非指定从属处理器的输出缓冲 器。
17: 根据权利要求11所述的集成电路,其中所述主处理器进一步适于确认所述传递命 令的接收。
18: 根据权利要求17所述的集成电路,其中所述主处理器进一步适于:使用所述主处 理器所理解的计算机语言来产生预定消息;将所述预定消息包括在答复传递命令的 所述有效负载块中;在所述答复传递命令的所述标头块中将所述预定消息寻址到所 述主处理器;以及将所述答复传递命令转发到所述管线式从属处理器中的上游从属 处理器。
19: 根据权利要求11所述的集成电路,其中所述主处理器及所述管线式从属处理器适 于以下操作中的至少一者:处理视频数据或渲染图形。
20: 根据权利要求11所述的集成电路,其中所述集成电路为无线通信设备的一部分, 所述无线通信设备选自由蜂窝式电话、视频游戏控制台、个人数字助理(PDA)、 膝上型计算机及具有音频/视频功能的装置组成的群组。
21: 一种多处理器系统,其包含: 多个管线式从属处理器,其包括最外从属处理器、指定从属处理器及非指定从属 处理器;以及 主处理器,其耦合到所述最外从属处理器且适于:产生包括标头块及有效负载块 的传递命令,所述标头块使用所述管线式从属处理器所理解的计算机语言来编码, 且所述非指定从属处理器适于在不进行重新编码的情况下将所述传递命令转发到 所述管线式从属处理器中的邻近下游从属处理器;针对所述指定从属处理器产生使 用所述指定从属处理器所理解的计算机语言编码的至少一个指令,所述指定从属处 理器适于执行所述至少一个指令;将所述至少一个指令并入所述有效负载块中;以 及将所述传递命令传输到所述最外从属处理器。
22: 根据权利要求21所述的多处理器系统,其中所述主处理器进一步适于:产生含有 识别所述传递命令的信息且含有在不进行解码的情况下将所述传递命令转发到所 述指定从属处理器的请求的数据模块;以及将所述数据模块包括在所述标头块中。
23: 根据权利要求21所述的多处理器系统,其中所述主处理器进一步适于:产生含有 识别所述指定从属处理器的信息的数据模块;以所述管线式从属处理器所理解的所 述计算机语言来编码所述数据模块;以及将所述数据模块包括在所述标头块中。
24: 根据权利要求21所述的多处理器系统,其中所述主处理器进一步适于:产生含有 识别所述有效负载块的位长度的信息的数据模块;使用所述管线式从属处理器所理 解的所述计算机语言来编码所述数据模块;以及将所述数据模块包括在所述标头块 中。
25: 根据权利要求21所述的多处理器系统,其中所述主处理器将所述传递命令转发到 所述最外从属处理器。
26: 根据权利要求21所述的多处理器系统,其中所述非指定从属处理器将所述传递命 令从所述非指定从属处理器的输入缓冲器复制到所述非指定从属处理器的输出缓 冲器。
27: 根据权利要求21所述的多处理器系统,其中所述指定从属处理器进一步适于确认 所述传递命令的接收。
28: 根据权利要求27所述的多处理器系统,其中所述指定从属处理器进一步适于:使 用所述主处理器所理解的计算机语言来产生预定消息;将所述预定消息包括在答复 传递命令的所述有效负载块中;在所述答复传递命令的所述标头块中将所述预定消 息寻址到所述主处理器;以及将所述答复传递命令转发到上游从属处理器。
29: 根据权利要求21所述的多处理器系统,其中所述多处理器系统执行处理视频数据 或渲染图形中的至少一者。
30: 根据权利要求21所述的多处理器系统,其中所述多处理器系统为无线通信设备的 一部分,所述无线通信设备选自由蜂窝式电话、视频游戏控制台、个人数字助理 (PDA)、膝上型计算机及具有音频/视频功能的装置组成的群组。
31: 一种具有主处理器及管线式从属处理器的多处理器系统,其包含: 第一装置,其用于:产生包括有效负载块及标头块的传递命令,所述标头块使用 所述管线式从属处理器所理解的计算机语言来编码;针对所述管线式从属处理器中 的指定从属处理器产生使用所述指定从属处理器所理解的计算机语言编码的至少 一个指令;将所述至少一个指令包括在所述有效负载块中;以及将所述传递命令传 输到耦合到所述主处理器的所述从属处理器中的一者;以及 第二装置,其用于在不进行重新编码的情况下将所述传递命令从所述管线式从属 处理器中的非指定从属处理器转发到所述管线式从属处理器中的邻近下游从属处 理器,且用于在所述指定从属处理器处执行所述至少一个指令。
32: 根据权利要求31所述的多处理器系统,其中所述第一装置为由所述主处理器执行 的计算机程序。
33: 根据权利要求31所述的多处理器系统,其中所述第二装置为由所述管线式从属处 理器执行的计算机程序。
34: 根据权利要求31所述的多处理器系统,其中所述第一装置包括用于进行以下操作 的装置:产生含有识别所述传递命令的信息且含有在不进行解码的情况下将所述传 递命令转发到所述指定从属处理器的请求的数据模块;以及将所述数据模块包括在 所述标头块中。
35: 根据权利要求31所述的多处理器系统,其中所述第一装置包括用于进行以下操作 的装置:产生含有识别所述指定从属处理器的信息的数据模块;以所述从属处理器 所理解的所述计算机语言来编码所述数据模块;以及将所述数据模块包括在所述标 头块中。
36: 根据权利要求31所述的多处理器系统,其中所述第一装置包括用于进行以下操作 的装置:产生含有识别所述有效负载块的位长度的信息的数据模块;使用所述从属 处理器所理解的所述计算机语言来编码所述数据模块;以及将所述数据模块包括在 所述标头块中。
37: 根据权利要求31所述的多处理器系统,其中所述第二装置包括用于确认所述传递 命令的接收的装置。
38: 根据权利要求31所述的多处理器系统,其中所述多处理器系统执行处理视频数据 或渲染图形中的至少一者。
39: 根据权利要求31所述的多处理器系统,其中所述多处理器系统为无线通信设备的 一部分,所述无线通信设备选自由蜂窝式电话、视频游戏控制台、个人数字助理 (PDA)、膝上型计算机及具有音频/视频功能的装置组成的群组。
40: 一种具有主处理器及管线式从属处理器的多处理器系统,其包含: 第一装置,其用于使用所述管线式从属处理器所理解的代码来产生传递命令,所 述传递命令包括以所述管线式从属处理器中的指定从属处理器所理解的代码编写 的至少一个指令;以及 第二装置,其用于在不进行重新编码的情况下将所述传递命令转发到所述指定从 属处理器。
41: 根据权利要求40所述的多处理器系统,其中所述第一装置为由所述主处理器执行 的计算机程序。
42: 根据权利要求40所述的多处理器系统,其中所述第二装置为由所述管线式从属处 理器执行的计算机程序。
43: 根据权利要求40所述的多处理器系统,其中所述传递命令包括指导将所述传递命 令转发到所述指定从属处理器的指令。
44: 根据权利要求40所述的多处理器系统,其中所述指定从属处理器执行所述至少一 个指令且终止转发所述传递命令。
45: 根据权利要求40所述的多处理器系统,其中所述指定从属处理器使用所述管线式 从属处理器所理解的所述代码来产生寻址到所述第一装置的预定答复消息。
46: 一种计算机程序产品,其包括具有指令的计算机可读媒体,所述指令用于致使包括 主处理器及管线式从属处理器的多处理器系统: 在所述主处理器处:产生包括标头块及有效负载块的传递命令,所述标头块使用 所述管线式从属处理器所理解的计算机语言来编码;针对所述管线式从属处理器中 的指定从属处理器产生使用所述指定从属处理器所理解的计算机语言编码的至少 一个指令;将所述至少一个指令包括在所述有效负载块中;以及将所述传递命令传 输到耦合到所述主处理器的从属处理器; 在所述管线式从属处理器中的非指定从属处理器处:在不进行重新编码的情况下 将所述传递命令转发到所述管线式从属处理器中的邻近下游从属处理器;且 在所述指定从属处理器处:执行所述至少一个指令。
47: 根据权利要求46所述的计算机程序产品,其中在所述主处理器处,所述传递命令 通过以下操作来产生:产生含有识别所述传递命令的信息且含有在不进行解码的情 况下将所述传递命令转发到所述指定从属处理器的请求的数据模块;以及将所述数 据模块包括在所述标头块中。
48: 根据权利要求46所述的计算机程序产品,其中在所述主处理器处,所述传递命令 通过以下操作来产生:产生含有识别所述指定从属处理器的信息的数据模块;以所 述管线式从属处理器所理解的所述计算机语言来编码所述数据模块;以及将所述数 据模块包括在所述标头块中。
49: 根据权利要求46所述的计算机程序产品,其中在所述主处理器处,所述传递命令 通过以下操作来产生:产生含有识别所述有效负载块的位长度的信息的数据模块; 使用所述管线式从属处理器所理解的所述计算机语言来编码所述数据模块;以及将 所述数据模块包括在所述标头块中。
50: 根据权利要求46所述的计算机程序产品,其中在所述主处理器处,所述传递命令 通过以下操作来传输:将所述传递命令转发到所述管线式从属处理器中的最外从属 处理器。
51: 根据权利要求46所述的计算机程序产品,其中所述计算机可读媒体进一步具有用 于致使所述非指定从属处理器将所述传递命令从所述非指定从属处理器的输入缓 冲器复制到所述非指定从属处理器的输出缓冲器的指令。
52: 根据权利要求46所述的计算机程序产品,其中所述计算机可读媒体进一步具有用 于致使所述指定从属处理器确认所述传递命令的接收的指令。
53: 根据权利要求52所述的计算机程序产品,其中所述计算机可读媒体进一步具有用 于致使所述指定从属处理器执行以下操作的指令:使用所述主处理器所理解的计算 机语言来产生预定消息;将所述预定消息包括在答复传递命令的所述有效负载块 中;在所述答复传递命令的所述标头块中将所述预定消息寻址到所述主处理器;以 及将所述答复传递命令转发到所述管线式从属处理器中的上游从属处理器。
54: 根据权利要求46所述的计算机程序产品,其中所述主处理器及管线式从属处理器 适于以下操作中的至少一者:在无线通信设备中处理视频数据或渲染图形,所述无 线通信设备选自由蜂窝式电话、视频游戏控制台、个人数字助理(PDA)、膝上型 计算机及具有音频/视频功能的装置组成的群组。
55: 一种计算机程序产品,其包括具有指令的计算机可读媒体,所述指令用于致使包括 主处理器及管线式从属处理器的多处理器系统: 在所述主处理器处:使用所述管线式从属处理器所理解的代码来产生传递命令, 所述传递命令包括以所述管线式从属处理器中的指定从属处理器所理解的代码编 写的至少一个指令;且 在所述管线式从属处理器中的非指定从属处理器处:在不进行重新编码的情况下 将所述传递命令转发到所述管线式从属处理器中的邻近下游从属处理器,直到所述 传递命令到达所述指定从属处理器为止。
56: 一种用于在多处理器系统中将指令传送到从属处理器的方法,所述多处理器系统具 有主处理器及管线式从属处理器,所述方法包含: 在所述主处理器处:产生包括标头块及有效负载块的传递命令,使用所述管线式 从属处理器所理解的计算机语言来编码所述标头块;针对所述管线式从属处理器中 的指定从属处理器产生使用所述指定从属处理器所理解的计算机语言编码的至少 一个指令;将所述至少一个指令包括在所述有效负载块中;以及将所述传递命令传 输到适于耦合到所述主处理器的所述管线式从属处理器中的从属处理器; 在非指定从属处理器处:在不进行重新编码的情况下将所述传递命令转发到所述 管线式从属处理器中的邻近下游从属处理器;以及 在所述指定从属处理器处:执行所述至少一个指令。
57: 根据权利要求56所述的方法,其中所述产生所述传递命令的步骤包含:产生含有 识别所述传递命令的信息且含有在不进行解码的情况下将所述传递命令转发到所 述指定从属处理器的请求的数据模块;以及将所述数据模块包括在所述标头块中。
58: 根据权利要求56所述的方法,其中所述产生所述传递命令的步骤包含:产生含有 识别所述指定从属处理器的信息的数据模块;以所述管线式从属处理器所理解的所 述计算机语言来编码所述数据模块;以及将所述数据模块包括在所述标头块中。
59: 根据权利要求56所述的方法,其中所述产生所述传递命令的步骤包含:产生含有 识别所述有效负载块的位长度的信息的数据模块;使用所述管线式从属处理器所理 解的所述计算机语言来编码所述数据模块;以及将所述数据模块包括在所述标头块 中。
60: 根据权利要求56所述的方法,其中所述传输所述传递命令的步骤进一步包含:将 所述传递命令转发到所述管线式从属处理器中的最外从属处理器。
61: 根据权利要求56所述的方法,其中在所述非指定从属处理器处,其进一步包含: 将所述传递命令从所述非指定从属处理器的输入缓冲器复制到所述非指定从属处 理器的输出缓冲器。
62: 根据权利要求56所述的方法,其中在所述指定从属处理器处,其进一步包含:确 认所述传递命令的接收。
63: 根据权利要求62所述的方法,其中在所述指定从属处理器处,其进一步包含:使 用所述主处理器所理解的计算机语言来产生预定消息;将所述预定消息包括在答复 传递命令的所述有效负载块中;在所述答复传递命令的所述标头块中将所述预定消 息寻址到所述主处理器;以及将所述答复传递命令转发到所述管线式从属处理器中 的上游从属处理器。
64: 根据权利要求56所述的方法,其中所述主处理器及从属处理器适于以下操作中的 至少一者:处理视频数据或渲染图形。
65: 一种无线设备,其包含:主处理器及由所述主处理器控制的从属处理器,其用于执 行根据权利要求56所述的方法,其中所述无线设备选自由蜂窝式电话、视频游戏 控制台、个人数字助理(PDA)、膝上型计算机及具有音频/视频功能的装置组成的 群组。
66: 一种用于在多处理器系统中将指令传送到从属处理器的方法,所述多处理器系统具 有主处理器及管线式从属处理器,所述方法包含: 在所述主处理器处:使用所述管线式从属处理器所理解的代码来产生传递命令, 所述传递命令包括以所述管线式从属处理器中的指定从属处理器所理解的代码来 编写的至少一个指令;以及 在所述管线式从属处理器中的从属处理器处:在不进行重新编码的情况下将所述 传递命令转发到所述管线式从属处理器中的邻近下游从属处理器,直到所述传递命 令到达所述指定从属处理器为止。
67: 根据权利要求66所述的方法,其中在所述指定从属处理器处,其进一步包含:执 行所述至少一个指令;以及终止转发所述传递命令。
68: 根据权利要求66所述的方法,其进一步包含: 在所述指定从属处理器处:使用所述管线式从属处理器所理解的所述代码来产生 寻址到所述主处理器的预定答复消息;以及 在所述从属处理器处:在不进行重新编码的情况下将所述答复消息转发到所述管 线式从属处理器中的邻近上游从属处理器,直到所述答复消息到达所述主处理器为 止。
69: 一种无线设备,其包含:主处理器及由所述主处理器控制的从属处理器,其用于执 行根据权利要求66所述的方法;其中所述无线设备选自由蜂窝式电话、视频游戏 控制台、个人数字助理(PDA)、膝上型计算机及具有音频/视频功能的装置组成的 群组。

说明书


用于多处理器系统的指令通信技术

    本申请案主张2007年3月23日申请的第60/896,497号美国临时申请案的优先权,所述临时申请案的全部内容特此以引用的方式并入本文中。

    【技术领域】

    本发明大体上涉及多处理器系统的领域,且更具体地说,涉及用于在具有主处理器及管线式从属处理器的多处理器系统中将指令传送到从属处理器的技术。

    背景技术

    在复合计算机系统中,共同工作负荷常常分布在多个处理器中且由所述多个处理器并行地执行。多处理器系统通常包括管理多个管线式(即,串联连接的)处理器或共处理器(本文中统称为从属处理器)的主处理器。举例来说,此类多处理器系统可用于处理大量视频数据或渲染图形,尤其是在计算密集型应用中。

    然而,在多处理器系统中,主处理器及从属处理器中的每一者可使用以其本机且因此不同的编程语言而格式化的指令(即,命令)及数据来操作。常规上,由主处理器向下游转发到相应从属处理器的指令由每一中间从属处理器以其本机编程语言来解码,以下一下游中间从属处理器的编程语言来重新编码,且接着转发到所述处理器。

    对所接收指令进行解码且在以下游中间从属处理器的本机编程语言来重新编码之后将其向下游转发的所述循环持续进行,直到所述指令到达既定或指定从属处理器为止。在指定从属处理器处,以所述处理器的本机编程语言来解码且执行所接收指令。

    用于将指令传送到从属处理器的此多步骤例程的复杂性不利地影响多处理器系统的整体性能,且明确地说,限制所述系统的设计灵活性及命令处理量。尽管在此项技术中为了提高从主处理器向管线式从属处理器传送指令的效率而投入了相当大的努力,但进一步改进将为合乎需要的。

    因此,此项技术中需要用以有效地实施在多处理器系统中将指令传送到管线式从属处理器的通信的技术。

    【发明内容】

    本文中描述用于在具有主处理器及管线式从属处理器的多处理器系统中将指令传送到从属处理器的技术。在一实施例中,主处理器向指定从属处理器产生具有标头块及包括指令的有效负载块的传递命令。标头块使用管线式从属处理器所理解的计算机语言来编码,且有效负载块以指定从属处理器所理解的计算机语言来编码。主处理器将传递命令转发到管线式从属处理器中的最外一者,且接着在不进行重新编码的情况下由中间(即,非指定)从属处理器重新传输所述传递命令,直到传递命令到达执行指令的指定从属处理器为止。

    在一个设计中,系统使用本发明方法来执行处理视频数据或渲染图形中的至少一者。

    下文进一步详细描述本发明的各种方面及实施例。

    所述发明内容既不希望也不应被解释为表示本发明的完全范畴及范围,尤其在连同附图考虑时,将从具体实施方式更容易明白这些及额外方面。

    【附图说明】

    图1展示示范性多处理器系统的框图。

    图2展示说明用于图1的多处理器系统中的传递命令的结构的示意图。

    图3展示说明用于在图1的多处理器系统中将指令传送到管线式从属处理器的方法的流程图。

    为了有助于理解,除了可在适当时添加后缀以区分所述元件之外,已在可能之处使用相同参考数字来指示所述图式所共有的相同元件。所述图式中的图像出于说明性目的而简化且未按比例描绘。预期一个实施例的特征或步骤可在不作进一步叙述的情况下有益地并入其它实施例中。

    附图说明本发明的示范性实施例,且因此,不应被解释为限制可承认其它同样有效的实施例的本发明范围。

    【具体实施方式】

    本文使用术语“示范性”来意指“用作实例、例子或说明”。没有必要将本文描述为“示范性”的任何实施例或设计解释为与其它实施例或设计相比为优选或有利的。

    参看图式,图1描绘根据本发明的一个实施例的示范性多处理器系统100的框图。在示范性应用中,系统100可用于处理视频数据及/或渲染图形,以及其它计算密集型数据处理应用。

    在一个示范性实施例中,系统100为例如蜂窝式电话、视频游戏控制台、个人数字助理(PDA)、膝上型计算机、具有音频/视频功能的装置等无线通信设备的图形处理单元(GPU)的一部分。

    举例来说,GPU可遵照2005年7月28日发布的公众可获得的文献“开放式向量图形规范版本1.0(OpenVG Specification,Version 1.0)”。此文献为用于适合于例如蜂窝式电话及涉及上述无线通信设备的其它装置等手持式及移动装置的2D向量图形的标准。

    在所描绘地实施例中,系统100说明性地包括主处理器110及多个(101)管线式从属处理器1201到120K,其使用相应系统接口1261到126K连接,其中K为整数且K≥2。在一个实施例中,系统接口1261到126K中的每一者包括数据总线、地址总线及命令总线(均未图示)。主处理器110及从属处理器1201到120K中的每一者可含有子处理器、存储器、外围装置及支持电路等,出于简洁起见,本文分别将其共同地展示为模块111及1211到121K。

    主处理器110及管线式从属处理器1201到120K可形成于例如芯片上系统(SoC)装置的单一集成电路(IC)上。或者,主处理器110及从属处理器1201到120K中的至少一者可形成于单独IC上。

    在操作中,主处理器110控制且任选地监视从属处理器1201到120K处的数据处理。主处理器110及从属处理器1201到120K中的每一者可使用不同格式(即,计算机语言)来操作,用于产生或执行内部指令或内部数据交换。

    主处理器110包含输入/输出(I/O)模块118,其包括输入缓冲器(IB)112及输出缓冲器(OB)114。对应地,从属处理器1201到120K中的每一者包含相应输入/输出(I/O)模块128,其包括输入缓冲器122及输出缓冲器124。在操作中,I/O模块118及1281到128K促进系统100内或到/自系统100的信息交换。

    通过使用接口102,主处理器110的输入缓冲器112可连接到远程处理器、网络或用户控制装置(其共同地展示为装置104)中的至少一者。类似地,通过使用接口107,从属处理器120K的输出缓冲器124K可连接到其它远程处理器、网络或用户控制装置(其共同地展示为装置106)。

    在系统100中,经由相应双向系统接口126,先前(即,上游)从属处理器120的输入缓冲器122连接到邻近下游从属处理器的输出缓冲器124,因此形成多个(101)管线式从属处理器1201到120K。举例来说,从属处理器1202的输入缓冲器1222经由系统接口1262连接到从属处理器1201的输出缓冲器1241,且从属处理器1202的输出缓冲器1242经由系统接口1263连接到从属处理器1203(未图示)的输入缓冲器1223。

    在一个实施例中,主处理器110的输出缓冲器114经由系统接口1261连接到多个(101)管线式从属处理器120中的最外从属处理器的输入缓冲器,即,连接到从属处理器1201的输入缓冲器1221。在操作中,主处理器110通过产生指令且将所述指令传输到相应从属处理器来管理对从属处理器1201到120K的控制。作为这些指令的既定接受者的从属处理器在下文中被称为指定从属处理器。指令经由系统接口1261从主处理器110的输出缓冲器114传输到最外从属处理器1201的输入缓冲器1221。

    为了到达指定从属处理器,指令应被接收且接着由一个或一个以上中间上游从属处理器(即,安置于主处理器与指定从属处理器之间的从属处理器)向下游重新传输或转发。本文中,术语“转发”与“重新传输”可互换地使用。

    更具体地说,经由相应系统接口,将来自上游从属处理器的输出缓冲器的指令转发到相应下游从属处理器的输入缓冲器(即,在使用箭头103所说明的方向上转发),所述下游从属处理器接着类似地进一步向下游转发所述指令,直到其到达指定从属处理器为止。

    举例来说,当指定从属处理器为从属处理器1203时,从属处理器1201经由系统接口1262将指令向下游转发到从属处理器1202,其接着将指令重新传输到指定从属处理器1203,在此处执行所述指令。

    参看图2,为了有效地将指令传送到指定从属处理器,主处理器110产生传递命令200。在一个实施例中,传递命令200指令:(i)每一非指定从属处理器在不进行重新编码的情况下将传递命令转发到相应下游从属处理器(即,在箭头103的方向上重新传输传递命令),且(ii)指定从属处理器执行传递命令中所含有的指令。明确地说,传递命令200可指令非指定从属处理器120将所接收传递命令从其输入缓冲器122复制到所述从属处理器的输出缓冲器124。

    在一个实施例中,传递命令200包括标头块210及有效负载块220。标头块210使用所述多个(101)管线式从属处理器中的所有管线式从属处理器1201到120K所理解的计算机语言来编码。本文中,关于针对主处理器及从属处理器所使用的指令及数据的编程语言及格式而共同地使用术语“计算机语言”。

    在一个示范性实施例中,标头块210包括数据模块202、204及206。在替代实施例(未图示)中,数据模块202、204及206的内容可形成单一数据模块,或者这些模块中的任何两者的内容可包括于一个数据模块中。

    数据模块202含有识别主处理器110的其它命令当中的传递命令200的信息(即,传递命令的ID)。数据模块204含有识别指定从属处理器的信息(例如,指定从属处理器的地址),且数据模块206含有关于有效负载块220的位长度(例如,以字节为单位)的信息。在替代实施例(未图示)中,在标头块210中,数据模块206可在数据模块204之前。

    有效负载块220使用指定从属处理器所理解的计算机语言来编码且包括至少一个数据模块222,所述至少一个数据模块222包含由主处理器110产生以用于由相应指定从属处理器执行的指令(展示了数据模块2221到222N,其中N为整数且N≥1)。

    在另外的实施例中,传递命令200可指令指定从属处理器通过将预定消息向上游发送到主处理器110(即,在使用箭头105说明的方向上)来确认所述命令的接收或执行。举例来说,为了有效地将此消息传送到主处理器110,传递命令200可指令指定从属处理器(i)在所接收传递命令的数据模块204中将识别指定从属处理器的信息替换为识别主处理器110的信息,(ii)将预定消息包括在有效负载块220中,且(iii)将经修改的(即,答复)传递命令转发到邻近上游从属处理器。

    图3描绘说明用于在图1的多处理器系统100中将指令传送到管线式从属处理器120的方法300的流程图。在各种实施例中,方法300的方法步骤以所描绘的次序执行,或者这些步骤或其部分(例如,子步骤312、314、316及318)中的至少两者可同时地、并行地或以不同次序执行。所属领域的技术人员将容易了解,执行其它下文所论述的过程或例程中的至少一部分的次序还可经修改。为了最佳地理解本发明,读者应同时参看图1到图3。

    在步骤310处,主处理器110产生传递命令200。说明性地,步骤310包含子步骤312、314、316及318。在所描绘的实施例中,分别地,在子步骤312、314及316期间,主处理器110产生传递命令200的标头块210,且在子步骤318期间,主处理器产生传递命令的有效负载块220。

    在子步骤312处,主处理器110产生标头块210的数据模块202。数据模块202含有识别传递命令200的信息,且此信息使用从属处理器1201到120K中的每一者所理解的计算机语言来编码。

    在子步骤314处,主处理器110产生标头块210的数据模块204。数据模块204含有识别指定从属处理器(即,从属处理器120K)的信息及用于安置于主处理器与指定从属处理器之间的中间非指定从属处理器(即,从属处理器1201到120K-1)的指令。

    明确地说,数据模块204含有使非指定从属处理器在不进行解码的情况下将传递命令200向下游转发到指定从属处理器的请求。在一个实施例中,指令非指定从属处理器将传递命令从相应非指定从属处理器的输入缓冲器复制到从属处理器的输出缓冲器。数据模块204的内容使用从属处理器1201到120K中的每一者所理解的计算机语言来编码。

    在子步骤316处,主处理器110产生标头块210的数据模块206。数据模块206含有识别传递命令200的有效负载块220的位长度的信息。类似于数据模块202及204的内容,此信息使用从属处理器1201到120K中的每一者所理解的计算机语言来编码。

    在子步骤318处,主处理器110产生传递命令200的有效负载块220。有效负载块220含有用于指定从属处理器的至少一个指令222。有效负载块220的内容(即,指令2221到222N)使用指定从属处理器(例如,从属处理器120K)所理解的计算机语言来编码。

    在步骤320处,主处理器110汇编传递命令200且将命令传输到最外从属处理器(例如,从属处理器1201)。

    在步骤330处,当最外从属处理器为指定从属处理器时,所述处理器执行命令的有效负载块220中所含有的指令。因此,当最外从属处理器并非为指定从属处理器时,最外从属处理器将传递命令200向下游转发(即,重新传输)到邻近从属处理器(即,从属处理器1202),除非所述从属处理器为指定从属处理器,否则所述邻近从属处理器将命令转发到下一下游从属处理器(即,从属处理器1203)。重新传输传递命令200的所述循环持续进行,直到命令到达指定从属处理器为止。在一个实施例中,在步骤330期间,将所接收的传递命令200在不进行重新编码的情况下从接受非指定从属处理器的输入缓冲器复制到所述处理器的输出缓冲器。

    在步骤340处,传递命令200到达指定从属处理器,其执行命令的有效负载块220中所含有的指令。在一个实施例中,此类指令可包括来自主处理器110的确认传递命令的接收或执行的请求。如上文参看图2所论述,来自指定从属处理器的返回通信可包含寻址到主处理器110的经修改的传递命令的有效负载块220中所包括的消息。此命令接着循序地由安置于指定从属处理器与主处理器110之间的从属处理器120重新提交,直到所述命令到达主处理器为止。

    在示范性实施例中,方法300可在硬件、软件、固件或其任何组合中以包含一个或一个以上计算机可执行指令的计算机程序产品的形式来实施。当在软件中实施时,计算机程序产品可存储于计算机可读媒体上或使用计算机可读媒体来传输,所述计算机可读媒体包括计算机存储媒体及计算机通信媒体。

    术语“计算机存储媒体”在本文中指代适于存储致使计算机执行方法的指令的任何媒体。借助于实例而非限制,计算机存储媒体可包含包括电子存储器装置(例如,RAM、ROM、EEPROM等)在内的固态存储器装置、光学存储器装置(例如,紧凑型光盘(CD)、数字通用光盘(DVD)等)或磁性存储器装置(例如,硬盘驱动器、快闪驱动器、磁带驱动器等),或适于存储计算机程序产品的其它存储器装置,或此类存储器装置的组合。

    术语“计算机通信媒体”在本文中指代适于使用(例如)经调制的载波、光学信号、DC或AC电流等将计算机程序产品从一个地方传输到另一个地方的任何物理接口。借助于实例而非限制,计算机通信媒体可包含双绞线、印刷或扁平电缆、同轴电缆、光纤电缆、数字订户线(DSL)或其它有线、无线或光学串行或并行接口,或其组合。

    提供对本发明的先前描述以使得所属领域的技术人员能够制作或使用本发明。所属领域的技术人员将容易明白对本发明的各种修改,且本文中所界定的一般原理可在不脱离本发明的精神或范围的情况下应用于其它变型。因此,本发明不希望限于本文所描述的实例,而是应符合与本文中所揭示的原理及新颖特征一致的最广泛范围。

用于多处理器系统的指令通信技术.pdf_第1页
第1页 / 共22页
用于多处理器系统的指令通信技术.pdf_第2页
第2页 / 共22页
用于多处理器系统的指令通信技术.pdf_第3页
第3页 / 共22页
点击查看更多>>
资源描述

《用于多处理器系统的指令通信技术.pdf》由会员分享,可在线阅读,更多相关《用于多处理器系统的指令通信技术.pdf(22页珍藏版)》请在专利查询网上搜索。

本发明描述一种用于在多处理器系统中将指令传送到从属处理器的方法,所述多处理器系统具有主处理器及由所述主处理器控制的管线式从属处理器。所述方法使用传递命令,所述传递命令具有(i)使用所述从属处理器所理解的计算机语言编码的标头块及(ii)包括以指定从属处理器所理解的计算机语言编码的指令的有效负载块。所述传递命令被传输到最外从属处理器,且接着在不进行重新编码的情况下由中间下游从属处理器转发,直到所述命令。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1