电子设备和控制通信的方法

文档序号:6455634阅读:259来源:国知局
专利名称:电子设备和控制通信的方法
技术领域
本发明涉及电子设备和在电子设备中控制通信的方法。
背景技术
近年来,电子电路或集成电路(IC)在它们的功能性、它们的可编程
部件的数目以及它们的通信方面已经变得越来越复杂。因而,软件和 硬件(共同)设计的复杂度相应增加了,并且需要有效的验证、调试
(debug)和优化。
在包括ASIC、 ASSP、 FPGA、 PLD、 CPLD和结构化ASIC器件的现有 技术IC的设计和制造中,能够进行对于用户交互或(一系列)事件的 数字可编程部件的控制,并在(软件和硬件)设计验证和硅调试中得 到极大的利用。在www. arm. com/products/solutions/CoreSight. html 中,示出了能够处理单个或多个可编程部件的控制系统。通过强制从 软件到硬件定义和实现方式的对可编程部件的控制的一致水平,实现 了高的系统透明度,这使得硅(性能)分析与软件和硬件调试以及优 化相关联。即使一般在一旦识别出并解决了设计瓶颈/缺陷(bug)时就 移除控制系统,也经常以硬接线部件的设计来实现类似的控制系统, 例如,类似于I/0接口的专用(部分或不可编程/配置)加速器,实际 硅原型/产品中用于硬接线部件的控制系统的实现方式更加困难,这是 因为必须在IC制造之前确定在哪里放置什么断点。此外,这些系统常 常呈现出依赖于运行时间数据的行为,这使得准确地事先确定何时发 生关键片上(on-chip)事件变得极其困难(如果不是不可能的话)。

发明内容
本发明的目的是提供具有对电子设备内的通信的改善控制的电子 设备。
本发明提供了根据权利要求1的电子设备,以及根据权利要求16 的控制电子设备中的通信的方法。从属权利要求限定了有利的实施例。 此外,提供了一种电子设备,包括多个处理单元,用于耦连处理单
4元以使得能够在处理单元之间进行通信的互联器,以及用于检测电子 设备的处理单元之间的通信中的事件的至少一个事件监视器。该电子 设备还包括第一控制器单元,用于根据至少一个事件监视器检测到的 一个或多个事件来控制互联器。
根据本发明的 一个方面,控制器单元包括用于控制互联器的监视器 控制器和/或用于控制处理单元之间的通信的互联器控制器。
根据本发明的另一方面,监视器控制器适用于更新事件监视器中、 处理单元中和/或互联器控制器中的设置。
根据本发明的另一方面,事件监视器被关联到以下中的至少一个 处理单元、互联器和/或1/0接口或监视器接口。
根据本发明的另一方面,事件监视器、监视器控制器和/或互联器 控制器对事务进行操作。
根据本发明的另一方面,事件包括预定和/或可编程事件的预定或 可编程序列。
根据本发明的一个方面,控制单元适用于控制互联器以执行预定或 可编程操作和/或动作的预定或可编程序列。
根据本发明的一个方面,可编程操作可构成面向控制和/或面向数 据的操作。面向控制的操作包括停止、单步、多步、继续和重设操作。 面向数据的操作包括互联器状态和/或处理单元的状态的下栽和上栽。
根据本发明的一个方面,面向控制的操作的粒度(granularity)可 以在时钟周期级上、在握手级上、在请求或响应上、在事务上或在事 务组上。
本发明还涉及控制电子设备和/或片上系统中的通信的方法,其中 该电子设备和/或片上系统具有多个处理单元以及用于耦连处理单元 以使得能够在处理单元之间进行通信的互联器。检测处理单元之间的 通信中的事件。根据至少一个事件监视器检测到的事件来控制互联器。
本发明还涉及片上系统,其包括多个处理单元,用于耦连处理单元 以使得能够在处理单元之间进行通信的互联器,以及用于检测片上系 统的处理单元之间的通信中的事件的至少一个事件监视器。该片上系 统还包括第一控制器单元,用于根据至少一个事件监视器检测到的一 个或多个事件来控制互联器。
本发明涉及采用硬件和软件联合设计的集中的优势的思想。在硬件
5设计的最高抽象级处,电子设备的部件经由称为事务的高级数据代表 (即事务级)来相互通信。在软件设计抽象的最低级处,即,已经将 软件映射到系统的可编程部件的级别处,事务级模型同样用于分析、
验证和调整(tune)应用软件。这使得事务级为软件和硬件设计者两者 的共同特性,以便软件和硬件工程师可共享系统的实际行为的相同视 图,增强了对任何留下的硬件和软件错误或无效率的定位。这随即带 来了上市时间的显著降低,并且,当正确地反馈给设计团体、工具和 流程时,这带来了产品创作过程的改善。
事务的示例包括读(加载)、链接加载(load 1 inked)、写(存储)、 条件写、触发或确认写、清洗(flush)、测试和设置、信号量操作等。 可在片上和板级通信协议(如VPB、 APB、 AHB、 AXI、 VCI、 0CP、 DTL、 STBus、 MIPI、 PCIExpress、 PCI等)中找到事务的示例。这些事务包 括请求和可选的响应阶段(phase)。这里的事务的定义包括消息传递协 议。这些协议仅公共地使用请求阶段。示例事务是发送(放置、写) 和接收(获得、读)。这里的事务的定义还包括中断、(电源管理、 调试、测试)命令、以及所谓边带信号等。
现在参照附图更详细地描述本发明的优点和实施例。


图1示出了根据本发明的片上系统的实施例的体系结构的框图; 图2a和2b示出了在网络和总线中的通信所需的那些部件的框图; 图3示出了根据本发明实施例的基于事务和基于周期(cycle)的流 量的基本图示;
图4a到4d示出了根据本发明实施例的经由通信控制的系统状态的 发展(advance)的图示;以及
图5示出了根据本发明的具有片上网络的电子设备的实施例的框
具体实施例方式
图1示出了根据本发明的片上系统的实施例的体系结构的框图。片 上系统包括多个知识产权IP块IP,它们通过可充当互联器的IP通信 单元IPCU来相互通信。可将通信单元IPCU实现为单个同构互联器(例如,路由器或总线和桥)或可包括多个异构互联器(例如,物理地 交换机、总线、路由器、桥、高速、低速,或逻辑地数据、控制中 断、调试和电源管理互联器)。IP通信控制器IPCC控制IP块IP之间 经由IP通信单元IPCU的流量。可将IP通信控制器IPCC实现为集中 式控制器或分布式控制器。根据本发明的片上系统可在单个模片或芯 片上实现,或可在多个模片或芯片上扩展,并包括FGPA和仿真器。此 外,通信单元(互联器)可包括模片间、芯片间、板间和板到(个人) 计算机的互联器,以用于建原型或其他目的。在建原型的情况下,可 模拟或仿真IP块中的一些,或可在FPGA、仿真器或(个人)计算机上 实现IP块中的一些。
IP块IP可被实现为处理单元,并且可构成处理器、协处理器、DMA 控制器、存储器、存储器控制器等。
片上系统还包括多个事件监视器EM和至少一个监视器控制器MC。 事件监视器EM用来检测片上系统的IP块之间的通信(例如,数据流 量、控制流量等)中的事件。监视器控制器MC适合于根据由事件监视 器EM对事件的检测来控制IP通信单元IPCU。可在各种抽象级定义事 件,例如,事务(读/写中断)或同步事件、系统配置事件等中的比特 (低)级、每时钟周期的字级或更高级的时钟周期组。事件监视器EM 用于检测是否发生了预定和/或可编程事件,和/或它们是否按预定和/ 或可编程的顺序来发生,它们是从IP块IP—直传递到IP通信单元IPCU 还是在IP通信单元IPCU (互联器)内传递。另外,事件监视器EM可 检测关于通信单元IPCU (作为互联器)的事件,如片上网络緩冲器填 充或下溢或溢出、分组的丟弃、具有特定值的本地或端对端流控制、 具有特定值的分组或请求或响应消息头或有效负载等等。除了特定值 之外,事件监视器可监视值的范围、特定值(或它们的范围)的出现 频率,或者可将多个观测或事件组合到单个复合或组合事件中以及所 有先前的可能性的组合。优选地,事件监视器EM被置于作为互联器的 IP通信单元IPCU及其接口内的战略位置处。因此,事件监视器EM可 连接到总线系统中的总线线路或连接到路由器或网络接口 、连接到网 络内的链路。接口可包括具有IP块的接口、 1/0块DI0、 IP通信控制 器IPCC、内部或外部存储器和/或它们的控制器/接口、以及/或外部接 cr 。
7此外,提供监视器通信单元MCU或监视器互联器,其构成用于监视 器通信单元MCU和事件监视器EM的专用通信或监视器互联器。可替换 地,可将IP通信单元IPCU用于此目的
IP通信单元IPCU可被用来使得监视器控制器MC可与IP通信单元 IPCU进行通信,例如以便启动调试模式、将IP通信流量和/或IP通信 单元和/或IP块的状态中断到片上或离片(off-chip)存储器上。监视 器控制器MC可借助于IP通信单元IPCU将有关要被检测的事件和相应 响应的细节上载到事件监视器EM和IP块IP以及上栽到IP通信单元 IPCU。例如,这可通过将事件监视器EM定义为存储器映射的部件,或 通过利用监视/调试管理协议(例如电源管理协议)来寻址它们来实现。 此外或可替换地,可使用专用监视器通信单元MCU。
可经由事件监视器EM、经由IP通信单元或经由专用测试总线(如 JTAG或TAN )来对监视器控制器MC进行编程。可通过将事件控制器MC 定义为存储器映射的部件,或通过利用监视/调试管理协议(例如电源 管理协议)来寻址它们,来对监视器控制器进行寻址或编程。
耦连到IP块IP的事件监视器EMIP还可连接到监视器通信单元 MCU,使得可经由监视器控制器MC来控制它们。这些用于IP块的事件 监视器EMIP可布置在IP块的外部或可在IP块的内部实现。另外,这 些单元可利用任何现有的监视器解决方案。因而,可将IP通信单元的 观测和控制扩展到IP块IP,以增强有关电子系统的设计、验证和调试 的机会。
图2a和2b示出了作为网络和作为多条总线的通信单元的部件的框 图的图示。在图2a中,通信单元IPCU被实现为基于网络的互联器, 其中该网络包括多个网络接口 NI (IP块可耦连到这些接口 )、多个路 由器R和多个信道。在图2b中,通信单元被实现为基于总线的互联器。 而该总线随后将包括几个总线适配器BA、几条总线B、桥BR以及另一 总线适配器BA ( IP块可偶连到该适配器)。
图3示出了根据本发明实施例的基于事务和基于周期的流量的基 本图示。基于事务的视图用TB标记,而基于周期的视图用CB标记。 如果将IP通信单元实现为基于网络的互联器,则数据流量一般将被分 为分组。如果IP通信单元被实现为基于总线的互联器,则数据流量将 被分为每时钟周期的比特或字。然而,在这两种需要被重构为时间连贯(time-coherent)的事务。由其中所有相关观测 点处的事务处于良好定义的状态(如发送了请求但未接收响应;发送 请求而响应待定)的系统状态来定义事务连贯视图。应注意,可能不 存在这样的时间点,并且根据图3,时间/事务连贯视图将不同时刻处 的多个局部视图組合为全局连贯视图。分组(对于网络)或比特/字(对 于总线)到时间连贯视图的重构可能是复杂的,这是因为有可能几个 事务同时进行,并且可被分割或管道化。此外,事务可能彼此相关, 因而,如果需要将比特/字或分组重构为事务,则可能更想要进行本地 和片上重构而不是离片重构。
图4a到4d示出了根据本发明实施例的经由通信控制的系统状态的 发展的图示。具体地,描述了图3的图示的不同场景。在图4a中,示 出了数据流量的事务级停止。图4b描绘了在接口 IN中的单步骤的停 止。图4c示出了接口 12处的三步骤停止。图4d描绘了接口 II处的 两步骤停止。步骤的另一优选方式将会是在所有接口中的N步骤。因 此,如果发生一个事件或一系列事件,可停止经由IP通信单元的通信。
如果根据另一实施例,要实现系统调试,则当事件监视器EM检测 到预定事件时(例如,其可对应于事务断点),中断经由IP通信单元 IPCU的数据通信。因此,IP块IP、 IP通信单元IPCU和/或事件监视 器EM的事务状态可被转存或存储到背景存储器中以用于进一步的分 析。具体地,例如,可借助于监视器控制器,选择要片上或离片转存 或存储到背景存储器中的事务状态。因而,可生成有关实际活动处理
或事务的连贯视图并将其存储在存储器中。此外,可经由监视器通信 单元MCU和/或IP通信单元IPCU来执行事务转存,其中监视器通信单 元MCU可包括低到中等的带宽,而IP通信单元IPCU可包括高的带宽。 优选地,事件监视器EM、 IP块IP和/或IP通信单元节点是可配置 的,以使得可在事件监视器中加载或更新新的事务断点,并且可将事 务上载到IP块。另外,如果已经由事件监视器EM检测到预定事件, 则可如图4a-4d所示,逐步或可选择地将IP通信数据流量置于控制之 下。
根据另一实施例,为了系统性能监视和/或局部或全局优化,上述 事件监视器EM可监视所发生的事务序列,并确定所检测到的事务序列 是否如所期望的那样发生,或者是否检测到预定事务序列。如果它们
9说明书第7/9页
不是如所期望的那样发生,则可在系统调试期间校正事务序列,或可
在系统的性能分析期间优化事务序列。借助于事件监视器EM,可对特 定事务的发生进行计数。另外,事件监视器EM可监视通信单元的实际 吞吐量。因此,借助于事件监视器EM,可确定硅中的实际电子器件或 电路是否满足设计需求。如果不是这种情况,则可通过例如调整(adapt) 通信的优先顺序来优化系统性能。这可通过在片上网络中为有保证的 吞吐量通信来交换尽力传递(best effort)通信来实现。可替换地, 可从片上网络内调节准入到片上网络的尽力传递流量。IP通信单元 IPCU用于以各种优先级写出事务。各种优先级可包括要求整个网络或 总线的最高优先级到例如用于转存到存储器中而不中断系统操作的非 侵入性事务的低优先级。
优选地,事件监视器EM可基于特定抽象级(例如事务级)来识别 事件。另外,可将检测到的事件与用于例如总线、路由器、网络接口
等的通信部件的预定或可编程事件进行比较。另外,应该将检测到的 事件与用于计算部件的预定或可编程事件进行比较。此外,可本地存
储要检测的预定或可编程事件。在检测时,可将时间戳关联到所检测 的事件。另外,可检测事件的发生次数及其相关联的时间戳。
为实现上述目的,监视器控制器MC最好可耦连到IP通信控制器 IPCC,以控制IP通信控制器IPCC的操作,以由此控制IP通信单元IPCU 的操作,以便停止数据流量(如图4a-4d所示)并再次重启数据流量。 数据流量的逐步重启可涉及系统的一部分或全部。例如,这可在IP块 IP、 IP通信单元IPCU和/或事件监视器EM处刷新和/或修正事务之后 执行。另外,监视器控制器MC按照各种优先级和/或非侵入性的级别 来控制从IP块、IP通信单元IPCU和事件监视器EM读出事务。
如上所述,可经由专用监视器通信单元MCU或经由IP通信单元 IPCU来执行事件监视器EM和监视器控制器MC之间的通信。可将专用 监视器通信单元MCU实现为网络或总线,如DTL、 AHB或JTAE。
图5示出了根据第二实施例的片上系统的框图。这里,将互联器实 现为用于耦连IP块IP,IP1-4的片上网络N,其中网络接口 NI关联到 至少一个IP块IP。片上网络N可另外包括多个可被网络控制器NC控 制的路由器R。优选地,事件监视器EM耦连到网络接口 NI以观察到往 返于IP块IP的数据流量,以便检测事件或事务。事件监视器EM的位
10置临近网络接口 NI是有利的,因为网络接口 NI负责请求所建立的网 络路径的确认。另外,IP数据被分组化,并且在网络接口 NI中分解网 络包。与其中事件监视器EM直接耦连到IP块的图1的实现方式相反, 根据第二实施例的事件监视器EM的数目可保持较少。此外,事件监视 器EM可耦连到片上网络中的路由器R,以便监视片上网络上的通信流 量来检测事件。此外,还可将事件监视器EM连接到监视器控制器MC。 监视器控制器MC适于控制对应于IP通信控制器IPCC的网络控制器NC, 以在需要时停止片上网络上的数据流量。在此实施例中,监视器通信 单元和IP通信单元被实现为片上网络。根据图5,互联器N包括事件 监视器EM和监视器控制器MC。然而,根据本发明的互联器N相对于已 知互联器N的实际贡献更应由以下配置来代表其中,事件监视器EM 和监视器控制器MC位于图5的虚线框之外。
在所示的例子中,所有事务可装入单个分组中。可通过单个路径或 单个连接来传送所有分组。可替换地,或者另外地,事务可被分割或 可扩展到多个分组上。另外,分组还可沿着不同的路径前进。根据所 示的例子,当已经由处理器IP3刷新了数据时,处理器IP1必须从存 储器IP2读取数据。处理器IP3进行的刷新可由耦连到网络接口 NI2 的事件监视器EM2监视。事件监视器EM2可被配置为确定处理器IP3 何时刷新存储器IP2中的数据。因而,如果亊件监视器EM2检测到处 理器IP3已经刷新了存储器IP2中的数据,则此信息被转发到监视器 控制器MC,其可在处理器IP3的单个写入动作之后跟随处理器IP1的 两个读取动作的情况下停止所有网络通信。如果停止了网络通信,则 监视处理器IP3是否已经提交了新的数据或监视数据是否被存储在网 络内所需的所选网络接口和路由器的状态可被转存用于进一步分析。
可通过建立到充当1/0单元的IP块IP4的网络路径,来分析对网 络接口和路由器的所确定状态的分析。到1/0单元IP4的网络路径用 来转发所确定的状态以用于离片分析。应注意,状态的事务级而不是 比特级转发上的状态转存,减少了要转发到离片分析的数据量。
如果在处理器IP3内发生数据生成问题,则可将适当的值上栽到存 储器IP2中,并且系统的操作可连续地继续或以逐步的模式继续。如 果停止系统,则用户可分析所选网络接口 NI和路由器(处的分组)的 状态,以监视处理器IP3是否已经提交了新的数据,或者数据(分组)是否在网络中的某些地方被拖延(stall)。在软件以及硬件设计中,可 能根据设计数据库来分析状态,然而,对于实际硅的分析,用户需要 建立到例如(IO块)IP4的网络路径,以离片转存状态用于分析。事务 级而不是目前的比特级上的硅状态转存,减少了要移出的数据量,并 使得与软件和硬件设计数据库的比较更容易。
尽管已经在附图和前述描述中详细图示和描述了本发明,这样的困 示和描述应理解为说明性或示例性的而不是限制性的;本发明不限于 所公开的实施例。
在实践所要求的本发明时,根据对附图、公开内容和所附权利要求 的学习,本领域技术人员能够理解和采用所公开的实施例的其他变型。
在权利要求中,词语"包括"不排除其他元件或步骤,并且不定冠 词"一"或"一个"不排除多个。单个…或其他单元可满足权利要求
中所述的几个项目的功能。在相互不同的从属权利要求中叙述某些措 施的简单亊实不表示不能为了更加有利而使用这些措施的组合。
可在适当的介质上存储/分发计算机程序,如与其他硬件一起或作 为其他硬件的一部分提供的光存储介质或固态介质,但还可用其他形 式来分发,如经由因特网或其他有线或无线电信系统来分发。
权利要求中的任何参考符号不应被理解为限制范围。
权利要求
1、一种电子设备,包括-多个处理单元(IP;IP1-IP4),-互联器(IPCU;N),用于耦连所述处理单元(IP;IP1-IP4),以使得能够在所述处理单元(IP;IP1-IP4)之间进行通信,-至少一个事件监视器(EM),用于检测所述处理单元(IP;IP1-IP4)之间的通信中的事件,以及-第一控制器单元,用于根据至少一个事件监视器(EM)检测到的一个或多个事件来控制所述互联器(IPCU;N)。
2、 根据权利要求1的电子设备,其中所述控制器单元包括监视器 控制器(MC)和/或互联器控制器(IPCC;NC),用于控制所述处理单元之 间经由互联器(IPCU; N)的通信。
3、 根据权利要求2的电子设备,其中所述监视器控制器(MC)适用 于直接更新所述事件监视器(EM)中、处理单元(IP)中和/或互联器控制 器(IPCC; NC)或互联器(IPCU; N)中的设置。
4、 根据权利要求1的电子设备,其中事件监视器(EM)被关联到以 下中的至少一个所述处理单元(IP)、所述互联器(IPCU)以及I/O接 口 (IO)或监视器接口 (MIO)。
5、 根据权利要求3或4的电子设备,其中所述事件监视器(EM)、 监视器控制器(MC)、互联器控制器(IPCC; NC)以及/或互联器(IPCU)在 事务进行操作。
6、 根据权利要求1的电子设备,其中所述事件包括预定和/或可编 程事件的预定或可编程序列。
7、 根据权利要求1的电子设备,其中所述控制单元适用于控制所 述互联器(IPCU; N)以执行预定或可编程操作和/或动作的预定或可编 程序列。
8、 根据权利要求7的电子设备,其中预定或可编程操作可以是面 向控制和/或面向数据的操作,其中所述面向控制的操作包括停止、单 步、多步、继续和重设操作,并且其中所述面向数据的操作包括输出 和输入互联器状态和/或处理单元的状态。
9、 根据权利要求6到8的电子设备,其中面向控制的操作的粒度可以在时钟周期级上、在握手上、在请求/响应上、在事务上、或在事 务组上。
10、 根据权利要求6的电子设备,其中所述监视器控制器(MC)适用 于输出或输入所述处理单元(IP; IP1-IP4)、互联器(IPCU;N)、事件监 视器(EM)和/或第一控制器单元的状态。
11、 根据权利要求的电子设备,其中所述互联器(IPCU;N)构成基于 网络的互联器或基于总线的互联器。
12、 根据前述权利要求之一的电子设备,还包括监视器通信单元 (MCU),用于耦连所述事件监视器(EM)和控制器单元。
13、 根据前述权利要求之一的电子设备,其中所述第一控制器单元 包括互联器控制器(IPCC; NC)和/或监视器控制器(MC)。
14 根据前述权利要求任何一个的电子设备,其中所述多个处理单 元中的至少一个包括片上存储器或离片存储器或存储器控制器。
15、 一种片上系统,包括 -多个处理单元(IP; IP1-IP4),-互联器(IPCU;N),用于耦连所述处理单元(IP; IP1-IP4),以使得 能够在所述处理单元(IP; IP1-IP4)之间进行通信,-至少一个事件监视器(EM),用于检测所述处理单元(IP; IP1-IP4) 之间的通信中的事件,以及-第一控制器单元,用于根据至少一个事件监视器(EM)检测到的一 个或多个事件来控制所述互联器(IPCU; N)。
16、 一种控制电子设备和/或片上系统中的通信的方法,所述电子 设备和/或片上系统具有多个处理单元(IP; IPl-IP4)以及用于耦连所 述处理单元(IP; IPl -IP4)以使得能够在所述处理单元(IP; IPl-IP4)之 间进行通信的互联器(IPCU;N),该方法包括步骤-检测所述处理单元(IP; IP1-IP4)之间的通信中的事件,以及 -根据至少一个事件监视器检测到的事件之一来控制所述互联器。
全文摘要
提供了一种电子设备,包括多个处理单元(IP;IP1-IP4),用于耦连处理单元(IP;IP1-IP4)以使得能够在处理单元(IP;IP1-IP4)之间进行通信的互联器(IPCU;N),以及用于检测电子设备中的通信中的事件的至少一个事件监视器(EM)。该电子设备还包括第一控制器单元,用于根据至少一个事件监视器(EM)检测到的一个或多个事件来控制互联器(IPCU;N)。
文档编号G06F11/36GK101501651SQ200780029443
公开日2009年8月5日 申请日期2007年8月7日 优先权日2006年8月8日
发明者H·G·H·弗穆伦, K·G·W·古森斯, M·T·本尼布罗克 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1