系统LSI以及系统LSI的故障检测方法与流程

文档序号:17185640发布日期:2019-03-22 21:20阅读:858来源:国知局
系统LSI以及系统LSI的故障检测方法与流程

本申请享受以日本专利申请第2017-178232号(申请日:2017年9月15日)为基础申请的优先权。本申请通过参照该基础申请而包含基础申请的全部的内容。

实施方式涉及系统lsi以及系统lsi的故障检测方法。



背景技术:

在面向车载的系统lsi(largescaleintegratedcircuit)中谋求较高的汽车的安全完整性等级(automotivesafetyintegritylevel,以下称为asil)。

为了确保较高的安全性,故障检测机构的安装需要与主功能分开独立,但是,这成为使大规模的系统lsi的安装复杂化的主要原因。尤其是,在大规模的系统lsi中,由硬件造成的单纯的双重或者特设的故障检测电路的安装在电路面积、开发周期等方面上成本变得非常高。进而,在需要保持缓存一致性的多核心lsi中,由软件造成的故障检测处理变得更加复杂。



技术实现要素:

实施方式的目的在于提供一种系统lsi以及系统lsi的故障检测方法,在多个组的各组中包括cpu的系统lsi中,能够以简单的顺序得到较高的功能安全。

实施方式提供一种系统lsi,其特征在于,具备:第1组,包括第1cpu以及第1模块;第2组,包括第2cpu以及与上述第1模块相同构造的第2模块;以及共用存储器,包括在来自上述第1组的访问中被保持缓存一致性的第1区域、以及在来自上述第2组的访问中被保持缓存一致性的第2区域,上述共用存储器与上述第1组以及上述第2组电连接,上述第1组具有在上述第1cpu与上述第1模块之间保持缓存一致性的第1母线、以及将上述第1母线与上述第1模块电连接的第2母线,上述第2组具有在上述第2cpu与上述第2模块之间保持缓存一致性的第3母线、以及将上述第3母线与上述第2模块电连接的第4母线。

另外,实施方式提供一种系统lsi的故障检测方法,其特征在于,上述系统lsi具备:第1组,包括第1cpu以及第1模块;第2组,包括第2cpu以及与上述第1模块相同构造的第2模块;以及共用存储器,包括在来自上述第1组的访问中被保持缓存一致性的第1区域、以及在来自上述第2组的访问中被保持缓存一致性的第2区域,上述共用存储器与上述第1组以及上述第2组电连接,上述第1组具有在上述第1cpu与上述第1模块之间保持缓存一致性的第1母线、以及将上述第1母线与上述第1模块电连接的第2母线,上述第2组具有在上述第2cpu与上述第2模块之间保持缓存一致性的第3母线、以及将上述第3母线与上述第2模块电连接的第4母线,上述故障检测方法包括:第1程序执行工序,使上述第1组执行包括上述第1模块的执行在内的第1程序;第2程序执行工序,使上述第2组执行包括上述第2模块的执行在内的与上述第1程序相同的第2程序;取得工序,取得上述第1程序的第1执行结果、以及上述第2程序的第2执行结果;以及判断工序,基于上述第1执行结果和上述第2执行结果,判断上述系统lsi中有无发生故障。

根据实施方式,在多个组的各组中包括cpu的系统lsi中,能够以简单的顺序得到较高的功能安全。

附图说明

图1是表示比较例的系统lsi的硬件构成的一个例子的图。

图2是表示第一实施方式的系统lsi的硬件构成的一个例子的图。

图3是表示第一实施方式的共用存储器的存储器空间的一个例子的图。

图4是表示主母线的硬件构成的一个例子的图。

图5是表示相干母线的硬件构成的一个例子的图。

图6是表示第一实施方式的系统lsi的故障检测处理的顺序的一个例子的流程图。

图7是表示第一实施方式的系统lsi的硬件构成的另一个例子的图。

图8是表示图7的情况下的共用存储器空间的一个例子的图。

图9是表示第二实施方式的系统lsi的硬件构成的一个例子的图。

图10是表示主母线的硬件构成的一个例子的图。

图11是表示第三实施方式的系统lsi的硬件构成的一个例子的图。

图12是表示第四实施方式的系统lsi中使用的相干母线的构成的一个例子的图。

图13是表示第四实施方式的主代理与目录缓存的缓存的结合例的图。

图14是表示移动体的一个例子的图。

图15是表示移动体的电气构成的一个例子的框图。

图16是表示图像处理lsi的一个例子的框图。

符号说明

1系统lsi,10a~10c模块群,15a~15c组,16a、16b相干组,21a~21fcpu,22a、22b切换电路,31、31a~31c主母线,32a~32c相干母线,33母线,43共用存储器,51a、51b、52、52a、52b、313~315、325路线,211缓存存储器,212、324目录缓存,231第1路线,232第2路线,311、321、322主代理,312保护电路,323从代理,326选择电路,431、432、434相干区域,433非相干区域,3221、3241控制电路,3222缓存存储器,3242存储器,a0、a1、a2、b0、b1、b2、c模块,60移动体,60a输出部,60b传感器,60c输入装置,60d通信部,60e显示器,60f扬声器,60g动力控制部,60h动力部,70图像处理lsi,70ai/f,70b存储器,70c处理器,70d图像处理加速器,70e处理电路。

具体实施方式

以下,参照附图,对实施方式涉及的系统lsi以及系统lsi的故障检测方法进行详细说明。另外,并不通过这些实施方式来限定本发明。另外,以下,在对于比较例的系统lsi说明问题的概要后,对实施方式进行说明。

图1是表示比较例的系统lsi的硬件构成的一个例子的图。图1(a)是具有在多个cpu间获取缓存一致性的构成的系统lsi。在此,所谓系统lsi是将以往独立的lsi芯片的处理器或者周边电路搭载到单芯片的lsi中而成的。以往,处理器大多作为1个或者多个lsi芯片被做成。但是,通过lsi的集成度的提高来实现这样的系统lsi。另外,系统lsi还称为soc(systemonchip)等。另外,其中安装的处理器称为处理器核心等。

系统lsi1具有模块群10、多个cpu21a、21b、以及存储器41,这些经由多个母线31~33被连接。模块群10执行规定的功能的一个以上主模块(以下,称为模块)。模块是例如cpu(centralprocessingunit)、专用的图像处理电路等,是通过程序来执行处理的硬件。模块群10与主母线31连接。在此,模块a0、b0、c包含于模块群10。

在该系统lsi1中,想获取缓存一致性的cpu21a、21b以及模块a0、b0、c经由相干母线32被连接。但是,模块a0、b0、c经由主母线31与相干母线32连接。在相干母线32的cpu21a、21b7与主母线31的连接位置设有主代理321、322。主代理321、322在cpu21a、21b、模块a0、b0、c以及存储器41间,以保持缓存一致性的方式进行按照缓存相干协议的通信。另外,如该图所示,cpu21a、21b与主母线31没有直接连接,而经由相干母线32连接。因此,为了在cpu21a、21b间保持缓存一致性而交换的信息不经由主母线31通信。也就是说,为了保持缓存一致性的信息不会由于由主母线31通信的信息而受到影响。

在此,cpu21a、21b还可以是cpu核心(对应日语:cpuコア),还可以是包括多个cpu核心的cpu群集(对应日语:cpuクラスタ)。在为cpu群集的情况下,在构成cpu群集的多个cpu核心间能得到缓存一致性,以群集单位被连接于相干母线32。

存储器41通过cpu21a、21b以及模块群10被访问。存储器41与母线33连接。虽然没有图示,但是,存储器41具有储存有获取缓存一致性的数据的相干区域、以及储存有无需获取缓存一致性的数据的非相干区域。相干区域以及非相干区域在存储器41内的空间中分别通过边界地址被分割。经由路线51或者相干母线32向相干区域访问,经由路线52向非相干区域访问。

另外,在主母线31的与模块a0、b0、c的连接位置配置有主代理311。主代理311是通过从模块a0、b0、c开始的存储器41的访问目的地地址是相干区域还是非相干区域,来对主母线31内的路线进行切换的电路或者模块。在向相干区域访问的情况下,进行切换为通过路线51,在向非相干区域访问的情况下,进行切换为通过路线52。

为了基于asil使该系统lsi1提高功能安全,考虑使图1(a)的硬件构成为双重。图1(b)是硬件被双重后的系统lsi的构成的一个例子。如该图所示,当将图1(a)所示的构成设为1个组时,成为设有2个具有相同硬件构成的组15a、15b的构成。在此,组15a的模块群10的模块c0具有与模块c相同的功能,组15b的模块群10的模块a1、b1、c1分别具有与模块a0、b0、c相同的功能。在这样的构成中的故障检测中,必须检查这两者的组15a、15b的动作。另外,在相互的组15a、15b间不能进行数据的交换。

在这样的构成中,处于电路面积增大,成本也变高的倾向。而且,由于具备故障检测功能,所以,除了基于asil的高功能安全的用途以外,由于成本高而不能被采纳。例如,针对不要求较高功能安全的用户,必须提供另一系统lsi,而不是双重后的系统lsi1。

在以下所示的实施方式中,对于在多个组的各组中包括多个cpu的系统lsi中,能够获取各组中的多个cpu间的缓存一致性,并且能够关于想实现较高功能安全的功能来进行故障检测的系统lsi进行说明。

(第一实施方式)

图2是表示第一实施方式的系统lsi的硬件构成的一个例子的图。在第一实施方式的系统lsi1中,共用存储器43经由母线33与多个组15a、15b连接。在此,为了实现基于asil的较高的功能安全,2个组15a、15b与共用存储器43连接,其中一方是执行规定的功能的正规的组15a,另一方是执行故障检测功能的组15b。

组15a具有模块群10a、将模块群10a内的各模块a0、b0、c间连接的主母线31a、多个cpu21a、21b、以及将多个cpu21a、21b与主母线31a之间连接的相干母线32a。组15a是属于组15a的cpu21a、21b与模块a0、b0、c获取缓存一致性的相干组。

另外,组15b具有模块群10b、将模块群10b内的各模块a1、b1间连接的主母线31b、多个cpu21c、21d、以及将多个cpu21c、21d与主母线31b之间连接的相干母线32b。组15b是属于组15b的cpu21c、21d与模块a1、b1获取缓存一致性的相干组。

在第一实施方式中,在各个组15a、15b中共有地设有1个以上相同构成的模块。即,设置于一个组的一部分模块还设置于另一个组。在图2的情况下,在组15a设有模块a0、b0、c,在组15b设有模块a1、b1。而且,组15a的模块a0和组15b的模块a1具有相同功能,组15a的模块b0和组15b的模块b1具有相同功能。另一方面,对于模块c,只设置于组15a。因此,图2所示的组15b设为关于使用了组15a的模块a0、b0的应用的执行进行故障检测。另外,对于各组15a、15b内的模块a0、b0、c、a1、b1、cpu21a~21d、相干母线32a、32b以及主母线31a、31b,与图1中说明的相同,所以,省略其说明。

共用存储器43对系统lsi1中使用的应用或者数据进行存储。共用存储器43经由母线33与各个组15a、15b连接,能够从系统lsi1内的包括cpu21a~21d的所有的主模块进行访问。共用存储器43由例如dram(dynamicrandomaccessmemory)或者sram(staticram)等一般的存储器元件构成。另外,在该例子中,示出了在系统lsi1内设有1个共用存储器43的情况,但是,还可以设置多个共用存储器43。

在本构成中,多个相干母线32a、32b分别与共用存储器43连接。由此,为了保持系统整体的一致性,共用存储器空间与各相干母线32a、32b保持一致性的空间分别不重叠地被逻辑地分割。图3是表示第一实施方式的共用存储器的存储器空间的一个例子的图。如图3所示,用获取一致性的组单位来对共用存储器43的区域进行分割。例如,地址为0x0~0x2fff_ffff的区域是组15a的包括cpu21a、21b的模块能够访问的相干区域431。地址为0x3000_0000~0x5fff_ffff的区域是组15b的包括cpu21c、21d的模块能够访问的相干区域432。另外,在此,地址为0x6000_0000~0x7fff_ffff的区域是非相干区域433,是储存有无需获取一致性的程序或者数据的区域。组15b的模块不能访问相干区域431,另外,组15a的模块不能访问相干区域432。

图4是表示主母线的硬件构成的一个例子的图。在主母线31a、31b的连接有模块的位置设有主代理311。主代理311包括保护电路312。保护电路312根据访问目的地地址,选择向相干母线32a、32b的路线51a、51b以及向母线33的路线52a、52b之中的任一路线,控制由模块进行的向图3所示的共用存储器43的存储器空间的访问。具体地讲,在由主母线31a、31b所属的组的模块进行的共用存储器43的访问目的地地址为向图3所示的共用存储器43对应的存储器空间的访问的情况下,许可访问并且选择与向存储器空间的地址对应的路线51a、51b、52a、52b,在为不对应的情况下,不许可访问。

例如,在由模块a0、b0、c进行的共用存储器43的访问目的地地址是与相干区域431对应的地址的情况下,组15a的保护电路312以通过路线51a的方式选择路线。另外,在访问目的地地址为与相干区域432对应的地址的情况下,组15a的保护电路312对模块a0、b0、c返回错误,在访问目的地地址为与非相干区域433对应的地址的情况下,组15a的保护电路312以通过路线52a的方式选择路线。

在由模块a1、b1进行的共用存储器43的访问目的地地址为与相干区域432对应的地址的情况下,组15b的保护电路312以通过路线51b的方式选择路线。另外,在访问目的地地址为与相干区域431对应的地址的情况下,组15b的保护电路312对模块a1、b1返回错误,在访问目的地地址为与非相干区域433对应的地址的情况下,组15b的保护电路312以通过路线52b的方式选择路线。

对于相干母线32a、32b能够使用各种各样的构成。图5是表示相干母线的硬件构成的一个例子的图。图5(a)是在相干母线32a、32b没有设置目录缓存324的构成。目录缓存复制并储存所谓cpu的缓存标签信息,所谓cpu的缓存标签信息表示是否在cpu21的缓存存储器211中保持有数据、储存于cpu的缓存存储器的数据的属性等。在图5(a)的例子中,在例如cpu21的缓存存储器211的缓存标签之中包括目录缓存应保持的信息。相干母线32a、32b在与cpu21的连接位置以及与主母线31a、31b的连接位置具备主代理321、322,在与母线33的连接位置具备从代理323。

主代理321、322具有进行按照缓存相干协议的数据的交换的功能。从代理323按照来自主代理321、322的命令进行处理。

主代理322具备控制电路3221和缓存存储器3222。控制电路3221接受从模块a0、b0、c、a1、b1向共用存储器43的访问,进行与访问对应的处理。向共用存储器43的访问按照缓存相干协议来进行。缓存存储器3222对从各模块a0、b0、c、a1、b1向共用存储器43访问时读入的共用存储器43的内容的一部分进行存储。缓存存储器3222具有例如2-way组相联的构成,具有validbit、标签、数据区。在数据区储存有与地址对应的数据。另外,缓存存储器3222的构成不限定于此,还可以具有其他构成。

对这样的构成的主代理322中的处理的概要进行说明。当接受从模块a0、b0、c、a1、b1向共用存储器43的数据的访问时,首先,控制电路3221确认在主代理322内的缓存存储器3222是否有访问目的地的数据。在有数据的情况下,控制电路3221将缓存存储器3222内的数据经由主母线31a、31b返回到模块a0、b0、c、a1、b1。另外,在没有数据的情况下,控制电路3221查询是否按照缓存相干协议,对连接于相干母线32a、32b的cpu21缓存数据。在cpu21的缓存存储器211中保持有数据的情况下,控制电路3221从该cpu21的缓存存储器211接收数据,在cpu21的缓存存储器211没有保持数据的情况下,从共用存储器43取得。另外,对于是否在cpu21的缓存存储器211保持有数据,通过各个缓存存储器211中含有的目录缓存来进行判断。另外,cpu21的缓存存储器211的数据在为根据共用存储器43内的数据而更新的状态的情况下,还能够对共用存储器43对应的数据进行更新。

图5(b)是在相干母线32a、32b设有目录缓存324的构成。目录缓存324具备控制电路3241和存储器3242。控制电路3241对cpu21与相干母线32a、32b的间所有交换进行监视,并将表示各cpu21将哪个地址的数据以何种状态进行保持的目录保存到存储器3242。目录具有例如2-way组相联的构成,具有validbit、标签、数据区。在数据区储存有各缓存行的所有者信息、与缓存行已经被缓存到何处有关的信息。另外,存储器3242的构成不限定于此,还可以具有其他构成。由cpu21进行的向共用存储器43的访问、以及由模块a0、b0、c、a1、b1进行的向共用存储器43的访问经由目录缓存324来进行。另外,主代理322的构成与图5(a)大致相同。

对于这样的构成的主代理322以及目录缓存324中的处理的概要进行说明。当接受从模块a0、b0、c、a1、b1向共用存储器43的数据的访问时,主代理322的控制电路3221确认与访问目的地地址对应的最新的数据是否存在于缓存存储器3222。在数据存在于缓存存储器3222的情况下,控制电路3221将缓存存储器3222内的数据经由主母线31a、31b返回到模块a0、b0、c、a1、b1。在数据不存在于缓存存储器3222的情况下,控制电路3221将访问目的地地址传递到目录缓存324。目录缓存324的控制电路3241参照存储器3242的目录,判断是否存在具有与访问目的地地址对应的数据的cpu21的缓存存储器211。在存在具有数据的cpu21的缓存存储器211的情况下,目录缓存324的控制电路3241从cpu21的缓存存储器211取得与访问目的地地址对应的数据,并经由主母线31a、31b将数据返回到模块a0、b0、c、a1、b1。在不存在具有数据的cpu21的缓存存储器211的情况下,目录缓存324的控制电路3241发出对应的数据的取得请求,从代理323从共用存储器43取得数据并传递到主代理322,主代理322的控制电路3221将数据返回到模块a0、b0、c、a1、b1。

随后,对图2所示的系统lsi中的处理进行说明。图6是表示第一实施方式的系统lsi的故障检测处理的顺序的一个例子的流程图。在此,对进行包括模块a、b的组中的故障检测的情况进行说明。在共用存储器43的相干区域431存储有应用p1,在相干区域432存储有与应用p1相同的应用p2。应用p1、p2均使用模块ai、bi(i=0,1)。另外,在非相干区域433中存储有故障检测应用q。进而,非相干区域433的故障检测应用q处于例如通过组15b的cpu21d来执行的状态。

首先,在组15a执行作为正规的处理的应用p1(步骤s11)。应用p1例如通过cpu21a执行,在其中途进行来自共用存储器43的数据的读出以及数据的写入。另外,虽然还进行模块a0、b0的处理,但不进行模块c的处理。而且,cpu21a将应用p1的执行结果写入共用存储器43的相干区域431(步骤s12)。

与组15a中的应用p1的执行同时地,在组15b中执行相同内容的应用p2(步骤s13)。该应用p2在故障检测用中被执行,在正规的处理不使用。应用p2例如通过cpu21c执行,在其中途进行来自共用存储器43的数据的读出以及数据的写入。另外,还进行模块a1、b1的处理。而且,cpu21c将应用p2的执行结果写入共用存储器43的相干区域432(步骤s14)。

之后,故障检测应用q从共用存储器43取得应用p1、p2的执行结果(步骤s15),并判断两者是否相同(步骤s16)。在两者相同的情况下(步骤s16中为yes的情况),判断为系统lsi1没有故障,结束处理。另外,在两者不同的情况下(步骤s16中为no的情况),判断为系统lsi1发生故障(步骤s17),通知故障(步骤s18)。故障的通知能够通过使例如连接于系统lsi1的没有图示的显示部显示发生故障这一内容,或者使包括系统lsi1的封装所设置的表示故障发生的指示器点亮的方法来进行。另外,在此的故障的通知表示在组15a或组15b的任一组中发生故障,并不特定发生故障的组。进而,结束处理。

根据实施方式,能够提供一种系统lsi以及系统lsi的故障检测方法,在多个组的各组中包括cpu的系统lsi中,能够以简单的顺序得到较高的功能安全。

在第一实施方式的系统lsi1中,使2个组15a、15b执行相同的应用p1、p2,对其结果进行比较,从而检测出系统lsi1的故障。

另外,如上述所示,2个组15a、15b还可以完全不设为相同的硬件构成。对于想检测到故障的功能,只要在2个组15a、15b设置共有的模块即可。因此,还可以在负责主功能的组15a附加在负责故障检测功能的组15b中没有的模块。在该情况下,不能进行对于在组15b没有的模块的故障检测。另外,在上述的说明中,虽然在组15b执行故障检测应用q,但是还可以在组15a执行故障检测应用q。

另外,在图2的构成中,对于系统lsi1中的故障发生能够检测,但是,对于正发生故障的组15a、15b并不能特定。因此,对于能够特定正发生故障的组的系统lsi1进行说明。

图7是表示第一实施方式的系统lsi的硬件构成的另一个例子的图。示出在共用存储器43连接有3个组15a~15c的情况。在此,在图2的系统lsi1中,与组15b相同构成的组15c经由母线33与共用存储器43连接。组15c具有包括与模块a0相同构成的模块a2以及与模块b0相同构成的模块b2的模块群10c。模块a2、b2与主母线31c连接。另外,与组15a、15b相同地,具有2个cpu21e、21f,并连接到相干母线32c。相干母线32c与主母线31c连接。主母线31c经由路线51c与相干母线32c连接,经由路线52c与母线33连接。另外,对于与上述相同的构成要素省略说明。

图8是表示图7的情况的共用存储器空间的一个例子的图。如图8所示,共用存储器43具有在组15a使用的相干区域431、在组15b使用的相干区域432、在组15c使用的相干区域434、以及非相干区域433。这些区域通过边界地址被分割。

在这样的系统lsi1中,通过在3个组15a~15c分别执行使用模块ai、bi(i=0~2)的应用,从而检测出故障的情况下,能够通过使用执行结果的多数决定的方式来特定哪组正发生故障。具体地讲,取得3个组15a~15c中的应用的执行结果,并对各个执行结果进行比较。比较的结果是3个执行结果相同时,能够判断为没有发生故障,在1个执行结果与另外2个执行结果不一致时,能够判断为在执行结果不同的1个组中具有故障的原因。另外,在所有执行结果不同的情况下,能够判断为在系统lsi1整体产生不良。另外,在系统lsi1中,还可以使4个以上的组与共用存储器43连接。即使在该情况下,能够对各组中的相同的应用的执行结果进行比较,通过多数决定来特定正发生故障的组。

在第一实施方式中,具有多个cpu和模块的多个组15a、15b与共用存储器43连接。在各组15a、15b中分别具有主母线31a、31b,主母线31a、31b连接有模块ai、bi、c以及经由相干母线32a、32b连接有cpu21a~21d。想进行故障检测的模块ai、bi共有地设置于多个组15a、15b。另外,共用存储器43的共用存储器空间与各相干母线32a、32b保持一致性的空间分别不重叠地逻辑地被分割。而且,在各个组15a、15b中维持独立性地执行使用在各组15a、15b中共有地存在的模块ai、bi的应用,并对其结果进行比较,从而,具有能够实现较高的功能安全,并容易实现系统lsi1的故障检测的效果。另外,本构成还能够应用于需要确保缓存一致性的更大规模的系统lsi1,能够实现确保缓存一致性并要求较高的功能安全的应用。

进而,在大规模的系统lsi1中,针对全部模块,进行个别模块的故障检测机构的安装或者双重等基于硬件的功能安全对策时,成本会变得非常高。但是,在第一实施方式中,虽然在硬件上使组15a、15b双重,但是,由于进行基于应用的双重执行的故障检测,所以,与实施基于硬件的功能安全对策的情况相比,能够减少成本。

(第二实施方式)

图9是表示第二实施方式的系统lsi的硬件构成的一个例子的图。在第二实施方式中,主母线31被各组共有。即,在第一实施方式中,如图2所示按照每个组15a、15b设置主母线31a、31b,但是,在第二实施方式中,如图9所示,使用横跨2个组15a、15b的主母线31。另外,非相干的数据从主母线31经由路线52、母线33向共用存储器43访问。另外,其他的构成与第一实施方式相同,所以省略其说明。

图10是表示主母线的硬件构成的一个例子的图。在主母线31的连接有模块ai、bi、c(i=0,1)的位置设有主代理311。主代理311包括保护电路312。保护电路312控制模块ai、bi、c的向图3所示的共用存储器43的存储器空间的访问。具体地讲,保护电路312连接有与路线51a、51b、52分别连接的路线313、314、315,在各保护电路312中设定出能够对哪个路线313~315进行访问(或者不能够对哪个路线313~315进行访问)。在此,模块a0、b0被设定为不能对路线314即共用存储器43的相干区域432进行访问,模块c、a1、b1被设定为不能对路线313即共用存储器43的相干区域431进行访问。另外,对于各保护电路312能够对哪个路线313~315进行访问(或者不能对哪个路线313~315进行访问),按照系统lsi1启动时所设定的内容。例如,设定内容虽然是可变的,但是,反映出该设定内容能够设为系统lsi1被再启动后。

与第一实施方式中说明的内容相同地,保护电路312基于该设定,控制从模块ai、bi、c向共用存储器43的访问。例如,对于与模块a0连接的保护电路312的情况,在为向共用存储器43的相干区域431的访问的情况下,保护电路312许可访问,经由路线313、51a进行向共用存储器43的访问。另外,即使在向共用存储器43的非相干区域433的访问的情况下,保护电路312也许可访问,经由路线315、52进行向共用存储器43的访问。另一方面,在向共用存储器43的相干区域432的访问的情况下,保护电路312将访问设为不许可,对模块a0返回错误。

在第一实施方式中,通过物理地分断主母线而形成组15a、15b,但是在第二实施方式中,存在被组15a、15b共有地设置的主母线31,所以,通过保护电路312的设定来对相干组分类。在图10的例子中,模块a0、b0设定成不能对路线314进行访问,构成与连接于路线313、51a的包括cpu的模块之间保持缓存一致性的相干组16a。另外,模块c、a1、b1设定成不能对路线313进行访问,构成与连接于路线314、51b的包括cpu的模块之间保持缓存一致性的相干组16b。其结果是,在图9所示的物理的组15a、15b与图10所示的逻辑的相干组16a、16b之间产生差异。由此,在第一实施方式的图2所示那样的构成中,不能进行相干组的变更,但是,在第二实施方式中,通过对主母线31的保护电路312的设定进行变更,由此,能够随时进行相干组16a、16b的变更。

另外,在第二实施方式中,还能够与第一实施方式相同地执行故障检测处理。

在第二实施方式中,将设置于各组15a、15b的主母线31以在多个组15a、15b横跨的方式共有地连接。而且,设为由设置于主母线31的保护电路312来选择各模块ai、bi、c使用的路线即共用存储器43的访问目的地的区域。由此,由共用存储器43的访问目的地的区域共有的模块以及cpu来构成相干组16a、16b。其结果是,与第一实施方式的情况相同地,具有能够维持组间的独立性,并且,能够灵活地替换构成组的模块这样的效果。

(第三实施方式)

图11是表示第三实施方式的系统lsi的硬件构成的一个例子的图。在第三实施方式中,在一个组15b的cpu21c、21d与相干母线32b之间设有切换电路22a、22b。切换电路22a、22b对从cpu21c、21d开始,朝向属于与cpu21c、21d相同的组15b的相干母线32b的第1路线231和朝向属于与cpu21c、21d不同的组15a的相干母线32a的第2路线232进行切换。作为切换电路22a、22b,例如使用多路调制器。

在设为考虑功能安全的使用方式的情况下,切换电路22a、22b选择第1路线231。由此,成为与第二实施方式相同的构成。

另外,在设为不考虑功能安全的使用方式的情况下,切换电路22a、22b选择第2路线232。由此,cpu21c、21d进行与另一个组15a的cpu21a、21b获取缓存一致性的动作。例如,在图11的情况下,组15b的2个cpu21c、21d是属于与组15a的cpu21a、21b相同的相干组。

另外,在通过切换电路22a、22b而选择第2路线232的情况下,来自主母线31的访问全部通过路线51a而朝向相干母线32a、共用存储器43传递。即,以路线51b不通的方式设定保护电路312。

在这样的构成的系统lsi1中,通过切换电路22a、22b而选择第2路线232的情况下,由4个cpu21a~21d构成组,所以,能够在组内执行多个应用。另外,还能够使用相同构成的模块,进行其他的计算。其结果是,能够增加系统整体中的运算量。

另外,切换电路22a、22b的切换例如在系统lsi1启动前被固定。例如,在重置系统时进行切换,或者使用熔丝进行切换。

在第三实施方式中,在一个组15b的cpu21c、21d与相干母线32b之间设置切换电路22a、22b,对向cpu21c、21d所属的组15b的相干母线32b的第1路线231和向另一个组15a的相干母线32a的第2路线232进行切换。由此,具有还能够对应无需将基于软件的故障检测组合并达成较高的功能安全的情况这样的效果。另外,在该情况下,系统lsi1并没有用于实现较高的功能安全,而能够使用包括所有的模块ai、bi、c的全部资源进行处理,能够对应与功能安全相比更重视性能的用途。进而,能够仅在一方的相干母线32a侧进行一致性的管理,所以,能够进行消耗电力的削减和共用存储器区域管理的单纯化。

(第四实施方式)

图12是表示第四实施方式的系统lsi所使用的相干母线的构成的一个例子的图。在第三实施方式中,在组15b中将cpu21c、21d的路线切换到第2路线232的情况下,没有使用一方的相干母线32b。可是,第一实施方式的图5(b)所示的相干母线32b在主代理322中具有缓存存储器3222,在目录缓存324中具有存储器3242。而且,在没有使用相干母线32b的情况下,成为也没有使用该目录缓存324的状态。于是,在第四实施方式中,将没有使用的相干母线32b的目录缓存324的存储器3242作为缓存非相干访问的ram而重新利用。

图12所示的相干母线32b基本上与图5(b)说明的构成相同,但是,对于与图5(b)不同的构成,在下面进行说明。具有将目录缓存324的存储器3242与主代理322的控制电路3221连接的路线(布线)325、以及对路线325的使用的有无进行切换的选择电路326。选择电路326以在切换电路22a、22b选择路线231时,设为不能使用路线325,在切换电路22a、22b选择路线232时,能够使用路线325的方式进行路线的选择。

目录缓存324的存储器3242成为例如2-way组相联并具有validbit、标签、数据区的缓存构成。在处于通过选择电路326而没有使用路线325的状态的情况下,在数据区储存有各缓存行的所有者信息、以及与缓存行已经被缓存到何处有关的信息。但是,在处于通过选择电路326而使用路线325的状态的情况下,在数据区储存有与地址对应的数据。

图13是表示第四实施方式的主代理与目录缓存的缓存的结合例的图。进行如下控制:将存储器3242与缓存存储器3222组合,控制电路3221将存储器3242作为在针对共用存储器43的访问时参照的缓存存储器而新加入到对象中。因此,构成为:以控制电路3221能够相对存储器3242进行读写访问的方式,设置布线325,分别将作为2-way组相联缓存而使用的缓存存储器3222以及存储器3242组合,作为一个4-way组相联缓存。

此时,存储器3242的数据区预先需要构成为具有缓存存储器3222的数据区量的bit数。根据不同情况,需要事先使其比为了实现作为本来的目录缓存324的功能所需的bit数更冗余。另外,有效的条目数构成为被限制成两缓存之中少的一方的条目数。

将相对缓存存储器3222缓存的数据回写到共用存储器43或者将共用存储器43的数据写入缓存存储器3222的控制由控制电路3221进行。由此,以即使对于存储器3242也能被放入相同的控制对象的方式预先构成控制电路3221。

对于这样的构成的相干母线32b的主代理322中的处理的概要进行说明。在通过切换电路22a、22b将路线切换到第2路线232时,相干母线32b作为向共用存储器43的非相干区域433的访问(非相干访问)的路线被使用。在相干母线32b中,通常,向共用存储器43的访问通过主代理322内的控制电路3221来执行。在从模块ai、bi、c向共用存储器43的非相干访问时,缓存数据存在于缓存存储器3222或者存储器3242的情况下,控制电路3221不进行向共用存储器43的访问,而将缓存存储器3222或者存储器3242内的数据返回到模块ai、bi、c。由此,向共用存储器43的访问延迟被缩短。另外,在缓存数据不存在于缓存存储器3222或者存储器3242的情况下,生成控制电路3221进行向共用存储器43的非相干区域433的访问的命令,从代理323按照命令,从共用存储器43取得数据。

如以上所示,在第四实施方式中,在通过切换电路22a、22b选择第2路线232的情况下,将相干母线32b的目录缓存324中的存储器3242作为主代理322的缓存存储器来使用。由此,能够将没有利用于在cpu21c、21d获取缓存一致性的相干母线32b作为具有数据缓存的非相干访问用的路线而重新利用,具有能够提高访问效率这样的效果。

随后,表示实施方式的应用例。

图14是表示本实施方式的移动体60的一个例子的图。

移动体60具备图像处理lsi70、输出部60a、传感器60b、输入装置60c、动力控制部60g以及动力部60h。

移动体60例如是车辆(自动二轮车、自动四轮车)、机器人、船舶、飞行机。移动体60例如是不通过由人进行的运行操作而能够自动行驶(自律行驶)的移动体,例如为自动运行车辆。另外,图像处理lsi70不限定于搭载于移动体60的方式。图像处理lsi70还可以搭载于护栏、杆、道路标识等静止物体。

图15是表示移动体60的电气构成的一个例子的框图。

输出部60a输出各种信息。输出部60a例如具备通信部60d、显示器60e以及扬声器60f。

通信部60d与外部装置通信。通信部60d将输出信息向外部装置发送。另外,通信部60d从外部装置接收道路信息等。道路信息是信号、标识、周围的建物、各车线的道路宽度、车道中心线等。道路信息还可以存储到在图像处理芯片内或者移动体内设置的存储器内。

传感器60b是取得移动体60的行驶环境的传感器。传感器60b例如是外传感器或内传感器。内传感器例如度移动体60的加速度、移动体60的速度、移动体60的角速度等观测信息进行观测。外传感器对移动体60的周边信息进行观测。外传感器可以搭载于移动体60,还可以搭载于该移动体60的外部(例如,其他移动体、外部装置等)。

周边信息是表示移动体60的周边的状况的信息。周边信息例如是移动体60的周边的摄影图像以及距离信息等。另外,周边信息还可以包括移动体60的位置信息。外传感器例如是通过摄影得到摄影图像的摄影装置、距离传感器(毫米波雷达、激光传感器、距离图像传感器)、位置传感器(gnss(globalnavigationsatellitesystem)、gps(globalpositioningsystem))、无线通信装置等。摄影图像是按照每个像素规定像素值的数字图像数据、按照每个像素规定距传感器60b的距离的深度图等。激光传感器例如是相对水平面平行设置的二维lidar(laserimagingdetectionandranging)传感器、三维lidar传感器。

输入装置60c接受来自用户的各种指示、信息输入。输入装置60c例如是鼠标、轨迹球等指针设备,或者键盘等输入设备。另外,输入装置60c还可以是与显示器60e一体设置的触摸面板中的输入功能。

动力控制部60g控制动力部60h。动力部60h是搭载于移动体60的进行驱动的设备。动力部60h例如是引擎、马达、车轮等。

动力部60h通过动力控制部60g的控制进行驱动。例如,动力控制部60g基于由图像处理lsi70生成的输出信息、从传感器60b得到的信息等,判断周边的状况,进行加速量、制动量、转向角等的控制。

图像处理lsi70、输出部60a、传感器60b、输入装置60c以及动力控制部60g经由母线60i连接。动力部60h与动力控制部60g连接。

图16是表示图像处理lsi70的一个例子的框图。

图像处理lsi70包括i/f70a、存储器70b、处理器70c。即,输出部60a、传感器60b、输入装置60c、动力控制部60g、图像处理lsi70经由母线60i连接。

i/f70a连接到与其他系统之间的网络(n/w)等。另外,i/f70a负责与通信部60d之间的信息的发送接收。经由i/f70a,输出人等被识别的对象的信息、到被识别的对象的距离的信息。

存储器70b存储各种数据。存储器70b例如是ram(randomaccessmemory)、rom、闪存等半导体存储器元件。rom保持由处理器70c执行的程序、所需的数据。ram作为处理器70c的工作区域而发挥作用。另外,存储器70b还可以设置于图像处理lsi70或者移动体60的外部。

另外,存储器70b还可以是存储介质。具体地讲,存储介质还可以将程序、各种信息经由lan(localareanetwork)、因特网等下载存储或者暂时存储。

处理器70c中的各处理功能以能够通过计算机执行的程序的方式被存储到存储器70b。处理器70c通过将程序从存储器70b读出并执行,从而,实现与各程序对应的功能。

在该实施方式中,除了处理器70c之外,还设有图像处理加速器70d作为专用电路。处理电路70e由处理器70c和图像处理加速器70d构成。

处理器70c、图像处理加速器70d、存储器70b、i/f70a以及周边电路(没有图示)通过图像处理lsi70内的没有图示的母线而相互连接。

另外,图像处理加速器70d还可以装入处理器70c。

图1~图13的各种实施方式能够在图14~图16所述的图像处理lsi70内部的设计中进行应用。

对本发明的几个实施方式进行了说明,但这些实施方式是作为例子而提出的,并没有意图限定发明的范围。这些新的实施方式可以以其他各种方式进行实施,在不超出发明主旨的范围内,可进行各种省略、调换以及变更。这些实施方式及其变形包括在发明的范围和主旨内,同样,也包括在专利请求所记载的发明和与其等同的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1