半导体装置以及半导体装置的控制方法与流程

文档序号:11519427阅读:261来源:国知局
半导体装置以及半导体装置的控制方法与流程

相关申请的交叉引用

包括说明书、附图和摘要的、于2015年12月2日提交的日本专利申请no.2015-235387的公开的全部内容以引用方式并入本文中。

本发明涉及半导体装置和半导体装置的控制方法。



背景技术:

soc(片上系统)是其中集成了多个功能的半导体芯片。soc包括多个cpu。在soc中,同时执行多个应用。近年来,通过改进上面安装有soc的系统的性能,推进soc的规模扩大。

在soc中,可同时从多个应用接收对半导体芯片的硬件ip(知识产权(intellectualproperty))的操作请求。硬件ip是为了形成半导体芯片针对各功能收集的部分电路信息并且是由硬件实现的信息。在这种情况下,为了避免故障等,必须仲裁彼此冲突的操作请求。

作为这种仲裁的方法,提出了通过软件处理来仲裁彼此冲突的操作请求的方法(日本未审专利申请公开no.2010-140290)。在这种方法中,通过在多个cpu之间执行通信来调节优先级并且基于调节的结果来使用共享资源。

还提出了通过软件处理来仲裁彼此冲突的操作请求的另一种方法(日本未审专利申请公开no.2011-232956)。在这种方法中,操作系统和/或应用(软件)执行发信号(semaphore)管理,使得获取共享资源的使用权。



技术实现要素:

然而,发明人发现如上所述的仲裁方法具有下述的问题。在上述的仲裁方法中,为了获取使用共享资源的权限,必须通过cpu之间的通信以及操作系统和应用(软件)之间的通信来执行仲裁处理。因此,仲裁处理的响应取决于cpu吞吐量、操作系统和应用(软件)。随着半导体装置的硬件ip的速度增加,软件的响应频率增大并且施加到cpu的负荷也增大。因此,难以通过软件实现仲裁处理的响应性能。

通过对本说明书的描述和附图,其他目的和新颖特征将变得清楚。

根据实施例,一种半导体装置包括在其中执行多个软件模块的cpu部件和硬件ip。该硬件ip包括:第一存储单元,其包括接收多个软件模块中的操作请求的多个控制接收单元;计算单元,其基于操作请求来执行处理;以及仲裁单元,其控制多个控制接收单元和计算单元之间的信息传输,使得计算单元只接收一个操作请求。

根据实施例,在包括其中执行多个软件模块的cpu部件和硬件ip的半导体装置中,一种半导体装置的控制方法控制硬件ip的第一存储单元中包括的多个控制接收单元和硬件ip的计算单元之间的信息传输,使得计算单元只从接收多个软件模块的操作请求的多个控制接收单元中的任一个接收操作请求。

根据实施例,可以减小当使用半导体装置中的共享资源时进行仲裁所需的cpu的负荷。

附图说明

图1是示意性示出根据第一实施例的半导体装置的硬件配置的框图。

图2是示意性示出根据第一实施例的半导体装置的配置的框图。

图3是示出根据第一实施例的半导体装置中的仲裁操作的框图。

图4是示出根据第一实施例的半导体装置的计算单元的响应操作的框图。

图5是示意性示出根据第二实施例的半导体装置的配置的框图。

图6是示意性示出根据第三实施例的半导体装置的配置的框图。

图7是示意性示出根据第四实施例的半导体装置的配置的框图。

图8是示出根据第四实施例的半导体装置的操作的框图。

具体实施方式

下文中,将参照附图描述本发明的实施例。在各附图中,用相同的参考符号指代相同的组件并且酌情省略冗余的描述。

第一实施例

将描述根据第一实施例的半导体装置100。图1是示意性示出根据第一实施例的半导体装置100的硬件配置的框图。半导体装置100包括cpu(中央处理单元)10_1至10_n(n是大于或等于2的整数)和硬件ip(知识产权)11。cpu10_1至10_n和硬件ip11可通过总线20进行彼此之间信息的发送和接收。

cpu10_1至10_n被配置为能够执行预定的操作系统。操作系统可由cpu10_1至10_n中的任一个来执行或者可由多个cpu来执行。这个示例表明cpu10_1至10_n分别执行操作系统os_1至os_n。下文中,为了简化描述,cpu10_1至10_n也被称为cpu部件10。

在各操作系统中,执行一个或多个软件模块。这里,假定cpu10_1至10_n(也就是说,操作系统os_1至os_n)分别执行软件模块s1至sn。

硬件ip11包括存储单元1、仲裁单元2和计算单元3。存储单元1设置有分别与将执行的软件模块s1至sn对应的控制接收单元cr1至crn。控制接收单元cr1至crn中的每个包括例如独立的寄存器。换句话讲,控制接收单元cr1至crn与软件模块s1至sn分别具有一一对应的关系,没有重叠。换句话讲,控制接收单元cri(i是满足1≤i≤n的整数)只从软件模块si接收操作请求并且只将控制接收单元cri中的信息发送到软件模块si。

仲裁单元2控制控制接收单元cr1至crn和计算单元3之间的信息交换(信息传输),使得只有来自控制接收单元cr1至crn中的任一个的操作请求被发送到计算单元3。另外,仲裁单元2控制控制接收单元cr1至crn和计算单元3之间的信息交换(信息传输),使得作为由计算单元3根据接收到的操作请求而执行的操作的结果生成的信息(响应信息)被传输到已经输出操作请求的控制接收单元。

计算单元3是cpu10_1至10_n共享的共享资源。计算单元3根据来自软件的操作请求来执行处理。

下文中,将具体描述半导体装置100中的操作请求的仲裁操作。这里,为了简化描述,将描述有四个软件模块s1至s4操作并且在半导体装置100中设置与这四个软件模块s1至s4对应的四个控制接收单元cr1至cr4的示例。图2是示意性示出根据第一实施例的半导体装置100的配置的框图。为了简化附图,在图2中未示出操作系统和总线。

首先,软件模块s1至s4同时或者以接近的定时将操作请求or1至or4分别发送到控制接收单元cr1至cr4。控制接收单元cr1至cr4分别保持接收到的操作请求or1至or4。

仲裁单元2根据设置的仲裁方法,从控制接收单元cr1至cr4所保持的操作请求之中选择将被传递到计算单元3的操作请求。例如,仲裁单元2可应用诸如轮询和lru(最近最少使用)的仲裁方法作为仲裁方法。仲裁单元2可随机地选择控制接收单元。

仲裁单元2进行操作,使得根据设置的仲裁方法将所选择的控制接收单元所保持的操作请求发送到计算单元3。

如图2中所示,仲裁单元2包括开关电路2a(也被称为第一开关电路)和控制单元2b。开关电路2a包括开关元件q1至q4。开关元件q1可由诸如mosfet(金属氧化物半导体场效应晶体管)的晶体管和双极性晶体管形成。在这个示例中,开关元件q1至q4被分别插入控制接收单元cr1至cr4和计算单元3之间。

控制单元2b通过控制信号con1至con4来断开/闭合(截止/导通)开关元件q1至q4。例如,当开关元件q1至q4是mosfet时,控制单元2b通过向开关元件q1至q4的栅极(控制端子)施加栅极电压(也就是说,控制信号con1至con4)来控制开关元件q1至q4的断开/闭合(截止/导通)。在本实施例中,控制单元2b控制开关元件q1至q4,使得开关元件q1至q4中只有一个闭合(变成导通)。

控制单元2b根据上述设置的仲裁方法,选择被发送操作请求的控制接收单元。这里,将描述选择控制接收单元cr2作为被发送操作请求的控制接收单元的情况。图3是示出根据第一实施例的半导体装置100中的仲裁操作的框图。为了简化附图,在图3中未示出操作系统和总线。在这种情况下,如图3中所示,控制单元2b闭合开关元件q2(致使开关元件q2导通)并且断开开关元件q1、q3和q4(致使开关元件q1、q3和q4截止)。由此,控制接收单元cr2和计算单元3彼此耦合。

在这种状态下,控制接收单元cr2将保持的操作请求or2输出到计算单元3。计算单元3根据接收到的操作请求or2执行处理。在这种情况下,开关元件q1、q3和q4与计算单元3物理分离,使得计算单元3可根据操作请求or2可靠地执行处理。如上所述,根据本配置,可以仲裁来自控制接收单元cr1至cr4的操作请求并且只将操作请求中的任一个发送到计算单元3。

在计算单元3根据接收到的操作请求or2执行处理之后,计算单元3可将作为执行处理的结果而生成的信息发送到已经发送操作请求or2的控制接收单元cr2(下文中,这被称为计算单元的响应操作)。图4是示出根据第一实施例的半导体装置100的计算单元3的响应操作的框图。为了简化附图,在图4中未示出操作系统和总线。例如,在响应操作中,计算单元3可发送作为执行处理的结果而生成的处理完成通知和信息作为响应信息inf,其中所述信息为诸如,指示计算单元3的负荷的信息。

如上所述,根据本配置,在硬件ip中执行操作请求的仲裁,使得cpu不需要执行软件处理,由此可以减小cpu的负荷。在硬件ip中提供与cpu执行的软件模块对应的控制接收单元,使得cpu可顺序地输出来自软件模块的操作请求。结果,可理解,在cpu中没有累积待发送的操作请求并且cpu的负荷可进一步减小。

另外,本配置从功能安全性的角度看是有利的。下文中,将描述以上的原因。软件模块s1至sn的操作请求or1至orn被分别发送到专门提供的控制接收单元cr1至crn。因此,各操作请求可到达计算单元3,而没有干扰或干涉其他操作请求。因此,通过从确保软件模块的功能安全性的角度来看提供与软件模块s1至sn排他性地和分别地对应的控制接收单元,可以确保软件模块的功能安全性。

可以将上述半导体装置100安装在诸如汽车导航系统的车载终端中。例如,在汽车导航系统中,地面数字广播再现应用和dvd/bd(数字通用盘/蓝光盘)(注册商标)再现应用中的每个独立地向视频/音频解码器ip(知识产权)发出操作请求。此时,即使从这两个应用都发出操作请求,也可在半导体装置100的硬件ip11中执行仲裁处理。当假定使用汽车导航系统的驾驶支持功能执行驾驶控制的情况时,从确保车辆驾驶的安全性的角度来看,与驾驶控制相关的应用需要高功能安全性。另外,在这种情况下,如上所述,可以实现半导体装置100中的高功能安全性。

另外,可以将上述半导体装置100安装在移动终端(诸如,智能电话)中。例如,在智能电话中,用于通过wifi将移动图像数据发送到tv的应用和用于在智能电话的面板上再现移动图像的应用中的每个独立地向视频/音频编解码器ip(知识产权)发出操作请求。此时,即使从这两个应用都发出操作请求,也可在半导体装置100的硬件ip11中执行仲裁处理。

第二实施例

在上述第一实施例中,描述了其中设置数量与待执行软件模块的数量相同的控制接收单元的半导体装置。然而,在上述配置中,软件模块的数量越大,将设置的控制接收单元的数量越大,使得这样致使半导体装置(也就是说,soc)大。另一方面,在本实施例中,作为根据第一实施例的半导体装置100的修改例,将描述在抑制控制接收单元的数量的同时在硬件ip中执行仲裁处理的半导体装置。

图5是示意性示出根据第二实施例的半导体装置200的配置的框图。为了简化附图,在图5中未示出操作系统和总线。半导体装置200的硬件ip12对应于根据第一实施例的半导体装置100的硬件ip11。硬件ip12具有根据第一实施例的硬件ip11的存储单元1被存储单元4取代,仲裁单元2被仲裁单元5取代并且还添加存储单元6的配置。为了描述的清晰起见,存储单元1和4也被称为第一存储单元并且存储单元6也被称为第二存储单元。半导体装置200的其他配置与半导体装置1的其他配置相同,使得将省略对其的描述。

存储单元4设置有控制接收单元cr1至crm(m是满足2<m<n的整数),控制接收单元cr1至crm接收从待执行的软件模块s1至sn发送的操作请求。换句话讲,在本实施例中,尽管设置了多个控制接收单元,但控制接收单元的数量少于软件模块的数量。控制接收单元cr1至crm中的每个从对应的软件模块接收操作请求并且将控制接收单元中的信息发送到对应的软件模块。

存储单元6可以是各种类型的存储装置(诸如,外部存储器(dram:动态随机存取存储器)和高速缓存存储器)。存储单元6顺序地存储从控制接收单元cr1至crm中的一部分或全部发送的操作请求并且根据控制单元2b的请求将所存储的操作请求发送到控制单元2b。

仲裁单元5具有仲裁单元2的开关电路2a被开关电路5a(也被称为第一开关电路)取代的配置。开关电路5a具有删除了开关电路2a的开关元件q3和q4并且新添加开关元件qm的配置。开关元件qm可由诸如mosfet(金属氧化物半导体场效应晶体管)的晶体管和双极性晶体管形成。开关元件qm被插入存储单元6和计算单元3之间。

控制单元2b通过控制信号con1、con2和con_m来控制开关元件q1、q2和qm的断开/闭合(截止/导通)。当开关元件qm是mosfet时,控制单元2b通过向开关元件qm的栅极(控制端子)施加栅极电压(也就是说,控制信号con_m)来控制开关元件qm的断开/闭合(截止/导通)。在本实施例中,控制单元2b控制开关元件q1、q2和qm,使得开关元件q1、q2和qm中只有一个闭合(变成导通)。

还可以有不使用上述开关元件qm的配置。在这种情况下,存储单元6根据控制单元2b的请求将所存储的操作请求发送到控制单元2b。控制单元2b执行控制,使得开关元件q1和q2中只有一个闭合(变成导通)。当存储单元4输出所存储的操作请求时,存储单元4将操作请求发送到对应于待输出的操作请求的寄存器。当控制单元2b闭合(导通)与已经接收到操作请求的寄存器耦合的开关元件(开关元件q1或q2)时,操作请求可从寄存器发送到计算单元3。

下文中,将描述半导体装置200的操作。这里,为了简化描述,将描述有四个软件模块s1至s4操作并且在半导体装置200中提供两个控制接收单元cr1和cr2的示例。

首先,软件模块s1至s4同时或者以接近的定时分别发送操作请求or1至or4。在这个示例中,控制接收单元cr1只从软件模块s1接收操作请求or1。换句话讲,控制接收单元cr1和软件模块s1具有一一对应的关系。另一方面,控制接收单元cr2从软件模块s2至s4接收操作请求or2至or4。然后,控制接收单元cr2将接收到的操作请求发送到存储单元6。发送的操作请求被存储在存储单元4中。图5示出作为or2_1、or2_2、…、or3_1、or3_2、…、or4_1、or4_2、…的存储在存储单元6中的操作请求。例如,存储在存储单元中的操作请求可根据发送源的软件模块进行标记(可设置软件模块之间的优先级)或可根据发送的次序进行标记(可按从最早发送的操作请求到最后发送的操作请求的次序来设置优先级)。

控制接收单元cr2将接收到的操作请求存储在存储单元6中,此后,从控制接收单元cr2删除所存储的操作请求并且返回到控制接收单元cr2可接收从软件模块发送的其他操作请求的状态。

由此,控制接收单元cr2可减少保持操作请求的时间并且没有延迟地接收从多个软件模块连续发送的操作请求。结果,可以避免等待发送软件模块s2至s4的操作请求,使得可以提高cpu的利用效率。

仲裁单元5根据设置的仲裁方法,确定存储在控制接收单元cr1和cr2以及存储单元6中的操作请求中的哪个操作请求将被传递到计算单元3。例如,当使用轮询作为仲裁方法时,仲裁单元5通过顺序地参照控制接收单元cr1、控制接收单元cr2和存储单元6来选择操作请求的发送源。当参照存储单元6时,仲裁单元5参照附带最高优先级的标签的操作请求。

仲裁单元5以与第一实施例相同的方式执行控制操作,使得来自所选择的发送源的操作请求被发送到计算单元3。

在以上的描述中,控制接收单元cr1可将接收到的操作请求顺序地存储在存储单元6中。由此,控制接收单元cr1可减少保持操作请求的时间并且没有延迟地接收操作请求,即使是当从软件模块s1连续发送操作请求时。结果,可以避免等待软件模块s1的操作请求的发送,使得可以提高cpu的利用效率。

在以上的描述中,控制接收单元cr1只对应于软件模块s1。然而,控制接收单元cr1可对应于多个软件模块。

如上所述,根据本配置,控制接收单元的一部分或全部接收从多个软件模块发送的操作请求,由此可以减少控制接收单元的数量。由此,有利地能够减小半导体装置的大小。

在以上的描述中,控制接收单元cr1只对应于软件模块s1。当一个控制接收单元和一个软件模块彼此一一对应时,从功能安全性的角度来看,是有优点的。换句话讲,当需要软件模块s1确保高功能安全性时,期望将专用的控制接收单元cr1分派给软件模块s1。由此,任何其他软件模块与软件模块s1和计算单元3之间的信息传输路径无关。因此,可以预备地避免来自软件模块s1的操作请求被来自除了软件模块s1之外的软件模块的操作请求阻碍或中断。结果,可以将来自高度需要保持功能安全性的软件模块s1的操作请求可靠地发送到计算单元3。

第三实施例

将描述根据第三实施例的半导体装置。根据第三实施例的半导体装置300是根据第一实施例的半导体装置100的修改例。半导体装置300基于从计算单元3发送的信息来控制仲裁单元的操作。图6是示意性示出根据第三实施例的半导体装置300的配置的框图。为了简化附图,在图6中未示出操作系统和总线。半导体装置300的硬件ip13对应于根据第一实施例的半导体装置100的硬件ip11。硬件ip13具有根据第一实施例的硬件ip11的仲裁单元2被仲裁单元7取代的配置。

仲裁单元7具有在根据第一实施例的仲裁单元2中添加仲裁方法设置单元7c的配置。仲裁方法设置单元7c存储控制单元2b用于仲裁操作请求的多个仲裁方法(图6中的ar1、ar2等)。存储在仲裁方法设置单元7c中的仲裁方法可被预先给出或者可从仲裁方法设置单元7c外部重新写入。例如,控制单元2b从cpu10(cpu10_1至cpu10_n)读取次序ord所指定的仲裁方法并且根据读取的特定仲裁方法来执行操作请求的仲裁。

下文中,将具体描述半导体装置300的仲裁操作。半导体装置300以与根据第一实施例的半导体装置100相同的方式来执行操作请求的仲裁操作。接收操作请求的计算单元3根据操作请求执行处理并且将作为处理结果而生成的信息(例如,计算单元3的负荷因子和计算单元3的处理完成通知)以与第一实施例相同的方式发送到作为操作请求的发送源(也就是说,cpu部件10)的软件模块。

在对这个示例的描述中,假定软件模块s2是操作请求的发送源。在这种情况下,软件模块s2基于从计算单元3接收的信息来指定控制单元2b将使用的仲裁方法。例如,当软件模块s2接收到指示计算单元3的负荷因子的信息时,如果负荷因子小于预定值,则使用轮询作为仲裁方法,并且如果负荷因子大于预定值,可在假定实时请求高的情况下,选择带标记的控制接收单元。

例如,当来自计算单元3的信息没有在预定时间段内发送到发送源的软件模块时,可通过停止计算单元3的处理并且向控制单元发出来自cpu的指令来执行来自另一个软件模块的操作请求。由此,硬件ip中的操作在预定时间段内可靠地完成,使得可以执行更准确的仲裁操作。

例如,当对应的控制接收单元接收到来自特定软件模块的操作请求时,可停止计算单元3正在执行的处理并且可执行来自特定软件模块的操作请求。在这种情况下,计算单元3自发地执行重置,此后向已经发送与停止的处理相关的操作请求的控制接收单元发出重置完成通知。此后,执行来自特定软件模块的操作请求。另外,控制接收单元可设置从停止计算单元3正执行的处理时到开始来自特定软件模块的操作请求时的时间段。由此,当需要特定软件模块来确保高功能安全性时,可以优先地执行特定软件模块,使得可以执行更详细的仲裁操作。

另外,计算单元3可设置从停止计算单元3正执行的处理时到变得能够在控制接收单元中开始下一个操作时的时间段。在这种情况下,通过将设置的信息发送到软件模块,软件模块可得知计算单元3的状态。由此,软件模块可通过改变自身的处理次序和在仲裁方法设置单元中设置的仲裁方法,执行硬件ip的更灵活的控制。

如上所述,可以通过使用根据计算单元的处理结果而反馈回的信息,选择适于计算单元的处理状态的仲裁方法。这可在不大幅改变半导体装置的硬件配置的情况下实现,使得可以有效使用计算单元的处理资源。

第四实施例

将描述根据第四实施例的半导体装置。根据第四实施例的半导体装置400是根据第一实施例的半导体装置100的修改例。半导体装置400具有用于确保特定软件模块的功能安全性的配置。图7是示意性示出根据第四实施例的半导体装置400的配置的框图。为了简化附图,在图7中未示出操作系统和总线。半导体装置400的硬件ip14对应于根据第一实施例的半导体装置100的硬件ip11。硬件ip14具有在根据第一实施例的硬件ip11中添加开关电路8(也被称为第二开关电路)的配置。

开关电路8具有开关元件sw1至swn并且被插入存储单元1和仲裁单元2之间。开关元件sw1至swn分别被插入控制接收单元cr1至crn和仲裁单元2之间。

通过来自一个或多个控制接收单元的控制信号,断开和闭合(截止和导通)开关元件sw1至swn。在本实施例中,与需要确保功能安全性的软件模块对应的控制接收单元被设置为控制开关元件sw1至swn的断开/闭合(截止/导通)。

下文中,将描述半导体装置400的操作。这里,以与第一实施例相同的方式,假定存在四个软件模块和四个控制接收单元并且需要对应于控制接收单元cr1的软件模块s1确保功能安全性。在这种情况下,控制接收单元cr1控制开关电路8的开关元件sw1至sw4的断开/闭合(截止/导通)。在正常时间,如图7中所示,开关元件sw1至sw4闭合,使得可从各控制接收单元发送操作请求。

在这种状态下,当从软件模块s1向控制接收单元cr1发送操作请求or1时,控制接收单元cr1在接收操作请求or1的同时,断开开关元件sw2至sw4。图8是示出根据第四实施例的半导体装置400的操作的框图。为了简化附图,在图8中未示出操作系统和总线。如图8中所示,防止发送来自除了控制接收单元cr1之外的控制接收单元cr2至cr4的操作请求。在图8中示出的状态下,操作请求or1被发送到计算单元3,使得开关元件q1闭合。由此,来自软件模块s1的操作请求or1被可靠和优先地执行,而没有因另一个操作请求而中断,使得可以满足软件模块s1的功能安全性请求。

开关电路8还可包括分别插入软件模块s1至s4和控制接收单元cr1至cr4之间的四个开关元件(第二开关元件)。在接收操作请求or1的同时,控制接收单元cr1可闭合四个开关元件中的与控制接收单元cr1耦合的一个,并且断开与控制接收单元cr2至cr4耦合的其他开关元件。

其他实施例

本发明不限于以上实施例并且可在不脱离本发明范围的情况下酌情进行修改。例如,在以上实施例中,为了简化描述,描述其中有四个软件模块操作的特定示例。然而,无须说,可以形成其中提供两个、三个、或五个或更多个软件模块和与这些软件模块对应的控制接收单元的半导体装置。

另外,在根据上述第三实施例的半导体装置300中,以与根据第二实施例的半导体装置200中相同的方式,无须说,可形成以下配置:控制接收单元的数量小于软件模块的数量并且存储单元6被设置成顺序地存储来自控制接收单元的操作请求。

另外,在根据上述第四实施例的半导体装置400中,以与根据第二实施例的半导体装置200中相同的方式,无须说,可形成以下配置:控制接收单元的数量小于软件模块的数量并且存储单元6被设置成顺序地存储来自控制接收单元的操作请求。另外,在根据上述第四实施例的半导体装置400中,以与根据第三实施例的半导体装置300中相同的方式,无须说,可形成以下配置:仲裁方法设置单元被设置成基于从计算单元3发送的信息来改变控制单元2b将使用的仲裁方法。另外,在根据上述第四实施例的半导体装置400中,无须说,可形成以下配置:以与根据第二实施例的半导体装置200中相同的方式,控制接收单元的数量小于软件模块的数量并且存储单元6被设置成顺序地存储来自控制接收单元的操作请求,并且以与根据第三实施例的半导体装置300中相同的方式,仲裁方法设置单元被设置成基于从计算单元3发送的信息来改变控制单元2b将使用的仲裁方法。

为了使描述清楚,酌情省略和简化以上的描述和附图。在附图中被示出为执行各种处理的功能块的组件可由cpu、存储器和作为硬件的其他电路形成并且通过作为软件加载在存储器中的程序等来实现。因此,本领域的技术人员应该理解,功能块可通过仅硬件、仅软件、或这些的组合以各种形式来实现,并且功能块不限于硬件、软件、和这些的组合中的任一个。在各附图中,用相同的参考符号指代相同的组件并且酌情省略冗余描述。

上述程序被存储在各种类型的非暂态计算机可读介质中并且可被供应到计算机。非暂态计算机可读介质包括各种类型的有形存储介质。非暂态计算机可读介质的示例包括磁记录介质(例如,软盘、磁带、和硬盘驱动器)、磁-光记录介质(例如,磁-光盘)、cd-rom(只读存储器)、cd-r、cd-r/w、半导体存储器(例如,掩模rom、prom(可编程rom)、eprom(可擦除prom)、闪存rom和ram(随机存取存储器))。可通过使用各种类型的暂态计算机可读介质将程序供应到计算机。非暂态计算机可读介质的示例包括电信号、光学信号和电磁波。非暂态计算机可读介质可通过诸如电线和光纤的有线通信路径或者无线通信路径将程序供应到计算机。

在对以上实施例的描述中,开关电路(第一开关电路和第二开关电路)由通过mosfet等实现的单个开关元件形成。然而,这仅仅是示例。无须说,如果可以以与上述实施例中相同的方式来控制存储单元(第一存储单元和第二存储单元)和计算单元之间的信息交换,则开关电路可具有另一种配置。在这种情况下,开关电路中设置的开关元件的数量不限于上述实施例的示例中的数量,可包括除了开关元件之外的元件。另外,可通过使用一个或多个逻辑电路来形成开关电路。

虽然已经基于实施例描述了发明人做出的发明,但无须说,本发明不限于上述实施例并且可在不脱离本发明的范围的情况下进行各种修改。

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