发布信息

存储器管理系统、方法、人工智能芯片、电子设备和介质与流程

作者:admin      2022-09-27 21:55:28     430



计算;推算;计数设备的制造及其应用技术1.本公开涉及计算机技术领域,具体涉及存储器管理系统、存储器管理方法、人工智能芯片、电子设备、计算机可读存储介质和计算机程序产品。背景技术:2.存储器管理单元(memory management unit,mmu)是一种负责处理中央处理器(cpu)的内存访问请求的计算机硬件。存储器管理单元可以应用在桌面型计算机或者服务器,并可以进行虚拟地址到物理地址的转换(即虚拟内存管理),使计算机可以使用比实际的物理内存更多的存储空间。3.在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。技术实现要素:4.本公开提供了一种存储器管理系统、存储器管理方法、人工智能芯片、电子设备、计算机可读存储介质和计算机程序产品。5.根据本公开的一方面,提供了一种存储器管理系统。该存储器管理系统包括:多个存储器访问单元,多个存储器访问单元中的每个存储器访问单元被配置为向存储器发起访问请求;选择器,选择器与多个存储器访问单元通信连接,被配置为具有第一工作模式和第二工作模式并且能够根据访问请求在第一工作模式与第二工作模式之间切换;至少一个第一存储器管理单元,至少一个第一存储器管理单元与选择器通信连接,至少一个存储器访问单元中的每个存储器访问单元与相应一个第一存储器管理单元绑定,并且每个第一存储器管理单元被配置为在选择器的第一工作模式下,将与该第一存储器管理单元绑定的存储器访问单元所发起的访问请求发送至存储器;以及第二存储器管理单元,第二存储器管理单元与选择器通信连接,选择器被配置为在第二工作模式下,将选择器根据其切换至第二工作模式的访问请求指定至第二存储器管理单元,并且第二存储器管理单元被配置为在选择器的第二工作模式下将该访问请求发送至存储器。6.根据本公开的另一方面,提供了一种存储器管理方法。该方法由存储器管理系统执行。存储器管理系统包括多个存储器访问单元、与多个存储器访问单元通信连接的选择器、与选择器通信连接的至少一个第一存储器管理单元以及与选择器通信连接的第二存储器管理单元。选择器具有第一工作模式和第二工作模式并且能够在第一工作模式与第二工作模式之间切换,并且至少一个存储器访问单元中的每个存储器访问单元与相应一个第一存储器管理单元绑定。该方法包括:从多个存储器访问单元中的任意一个存储器访问单元获取针对存储器的访问请求;选择器根据访问请求在第一工作模式与第二工作模式之间切换;响应于选择器在第一工作模式下,由与任意一个存储器访问单元绑定的第一存储器管理单元将访问请求发送至存储器;以及响应于选择器在第二工作模式下,由选择器将访问请求指定至第二存储器管理单元,并且由第二存储器管理单元将该访问请求发送至存储器。7.根据本公开的另一方面,提供了一种人工智能芯片。该人工智能芯片包括根据上述的存储器管理系统。8.根据本公开的又另一方面,提供一种电子设备,包括根据上述的人工智能芯片。9.根据本公开的又另一方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,使处理器执行上述的存储器管理方法。10.根据本公开的又另一方面,提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,使所述处理器执行上述的存储器管理方法。11.根据本公开的一个或多个实施例,可以在不过多增加硬件代价的基础上满足各个存储器访问单元的访问需求。12.根据在下文中所描述的实施例,本公开的这些和其它方面将是清楚明白的,并且将参考在下文中所描述的实施例而被阐明。附图说明13.附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。14.图1是示出根据示例性实施例的存储器管理系统的结构框图;图2是示出根据示例性实施例的存储器管理系统的另一结构框图;图3是示出根据示例性实施例的存储器管理方法的流程图;以及图4是示出能够应用于示例性实施例的示例性电子设备的框图。具体实施方式15.在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。16.在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。[0017] 如上文所述, 存储器管理单元(mmu)的相关技术可以被广泛应用于计算机体系架构中,并且可以提高内存的利用率,也可以用于隔离不同的进程。计算机系统中通常存在多个内存访问者(发出内存访问请求的单元,例如芯片中的视频编解码引擎)。如果要实现计算机系统中多个或所有内存访问者都可以通过虚拟地址访问存储器,可以通过以下几种方式。[0018]在一些实施例中,多个内存访问单元或所有内存访问单元都可以具有各自的存储器管理单元。即,每个存储器管理单元用于服务一个对应的内存访问单元(例如芯片中的视频编解码引擎)。然而,这将使得计算机系统中的存储器管理单元较多,增加了系统的总体成本(包括硬件成本)。[0019]在一些实施例中,提供了一种分为两级的存储器管理单元技术,即,翻译缓冲单元(translation buffer unit,tbu)和翻译控制单元(translation control unit,tcu)这两级。每个内存访问单元都有专属的tbu,并且多个或所有内存访问单元连接到一个公共的tcu上。相较于tcu,tbu的结构和逻辑更加简单,因此可以大大减小硬件代价。然而,多个或所有的内存单元需要访问同一个tcu,对于tcu的能力要求比较高,通常需要根据各个内存访问单元的实际情况配置性能很强的tcu来缓解这个问题。一旦计算机系统的中某个内存访问单元的需求发生改变,需要重新分析系统配置tbu和tcu。[0020]在一些实施例中,可以把计算机系统中的内存访问单元分为多个类别,各个类别内部共享一个mmu单元。然而由于同一个mmu需要服务于多个内存访问单元,所以mmu很容易成为系统的性能瓶颈。[0021]鉴于此,本公开提出一种存储器管理系统、存储器管理方法、人工智能芯片、电子设备、计算机可读存储介质和计算机程序产品。可以在不过多增加硬件代价的基础上满足各个存储器访问单元的访问需求。[0022]下面结合附图详细描述本公开的示例性实施例。[0023]首先参考图1,图1是示出根据示例性实施例的存储器管理系统100的结构框图。如图1所示,存储器管理系统100包括:多个存储器访问单元(附图标记111至114示出了4个存储器访问单元,即存储器访问单元1至存储器访问单元4),每个存储器访问单元(存储器访问单元111、存储器访问单元112、存储器访问单元113、存储器访问单元114)被配置为向存储器发起访问请求;选择器120,选择器120与多个存储器访问单元(存储器访问单元111至存储器访问单元114)通信连接,选择器120被配置为具有第一工作模式和第二工作模式并且能够根据访问请求在第一工作模式与第二工作模式之间切换;至少一个第一存储器管理单元130,至少一个第一存储器管理单元130与选择器120通信连接,至少一个存储器访问单元(图1中的存储器访问单元114)中的每个存储器访问单元与相应一个第一存储器管理单元130绑定,并且第一存储器管理单元130被配置为在选择器120的第一工作模式下,将与该第一存储器管理单元130绑定的存储器访问单元114所发起的访问请求发送至存储器;以及第二存储器管理单元140,第二存储器管理单元140与选择器120通信连接,选择器120被配置为在第二工作模式下,将选择器120根据其切换至第二工作模式的访问请求指定至第二存储器管理单元140,并且第二存储器管理单元140被配置为在选择器120的第二工作模式下将该访问请求发送至存储器。[0024]一方面,存储器管理系统100的存储器访问单元114与对应的第一存储器管理单元130绑定,当选择器120处于第一工作模式下时,存储器访问单元114发出的访问请求可以经由选择器120和第一存储器管理单元130被发送至存储器,以完成对存储器的访问。另一方面,当选择器120处于第二工作模式下时,相应的访问请求(该访问请求可以是存储器访问单元111至存储器访问单元114中任意一者发起的)被指定至第二存储器管理单元140,该访问请求被第二存储器管理单元140进一步发送至存储器,以完成对存储器的访问。由此,存储器管理系统100不仅包括专属于存储器访问单元114的第一存储器管理单元130(这意味着其他几个存储器访问单元111至113无法使用第一存储器管理单元130),还包括能够被存储器访问单元111至存储器访问单元114中任意一者使用的第二存储器管理单元140,并且选择器120根据访问请求,将不同的访问请求指定至第一存储器管理单元130或指定至第二存储器管理单元140。由此,可以在不过多增加硬件代价(即,不过多增加系统100中的存储器管理单元)的基础上满足各个存储器访问单元的访问需求。例如,专属的第一存储器管理单元130可以处理与其绑定的存储器访问单元114的访问请求(该访问请求可以具有较高的带宽需求);而共用的第二存储器管理单元140可以处理系统100中任意的存储器访问单元的访问请求(该访问请求可以具有较低的带宽需求)。[0025]在一些示例中,存储器访问单元111至114可以是具有访问存储器的需求的硬件,例如cpu、gpu、微控制单元(muc)等。[0026]存储器管理单元130和存储器管理单元140可以是内存管理单元,并且可以进行虚拟地址到物理地址的转换。[0027]在一些示例中,第一存储器管理单元130可以与存储器访问单元114物理地绑定,即,第一存储器管理单元130可以与存储器访问单元114硬件连接,从而使得第一存储器管理单元130与存储器访问单元114形成一一对应的连接关系。[0028]示例性地,存储器可以是系统100内的存储器,例如双倍速率同步动态随机存储器(double data rate, ddr),存储器也可以是能够通过接口访问的系统外部的存储单元(例如,系统100可以是显卡,存储器可以是显卡外部的cpu的主存)。[0029]应当理解的是,虽然图1中示出了4个存储器访问单元,但是存储器访问单元的数量可以是更少或更多个。例如,系统100可以包括2个、3个、5个、6个、或更多个存储器访问单元。并且,虽然图1中仅示出了一个第一存储器管理单元130,并且该第一存储器管理单元130与存储器访问单元114绑定,但是,系统100还可以包括更多个第一存储器管理单元,并且更多个第一存储器管理单元中的每个第一存储器管理单元可以与相应一个存储器访问单元绑定。[0030]根据一些实施例,访问请求可以包括虚拟地址,并且选择器120可以被配置为根据虚拟地址中的预设标志位在第一工作模式与第二工作模式之间切换。[0031]虚拟地址(或逻辑地址)指示了虚拟内存空间中的地址。在一些示例中,存储器访问单元可以是32位的cpu,该cpu具有范围在0至0xffffffff的虚拟地址范围,这个地址范围称为虚拟地址空间,该空间中的某一个地址可以被称为虚拟地址。选择器120可以根据虚拟地址中的预设标志位在第一工作模式与第二工作模式之间切换,例如,预设标志位可以是最高位,也可以是比较高的位。预设标志位的值可以是0或1。在一个示例中,当预设标志位的值为0时,选择器120可以根据该预设标志位的0值,切换至第一工作模式;当预设标志位的值为1时,选择器120可以根据该预设标志位的1值,切换至第二工作模式。[0032]通过在访问请求的虚拟地址中静态配置预设标志位的值,选择器120可以根据预设标志位在第一工作模式与第二工作模式之间切换,而无需对系统100的硬件或软件进行大幅度修改,从而进一步使得在不过多增加系统整体代价的基础上满足各个存储器访问单元的访问需求。[0033]根据一些实施例,选择器120可以被配置为根据访问请求所需的带宽在第一工作模式与第二工作模式之间切换,第二工作模式所对应的访问请求所需的带宽低于第一工作模式所对应的访问请求所需的带宽。[0034]由此,所需的带宽较高的访问请求可以由存储器访问单元114发出,并被指定到第一存储器管理单元130以进行虚拟地址到物理地址的映射;而所需的带宽较低的访问请求可以由任意一个存储器访问单元发出,并被指定到第二存储器管理单元140以进行虚拟地址到物理地址的映射。根据各个访问请求所需的带宽,可以以更低的硬件代价,在保证不影响系统整体性能的情况下实现每个存储器访问单元通过虚拟地址访问存储器的能力。[0035]在一个示例中,系统100可以是用于图像与视频处理的芯片。其中,渲染引擎/视频编解码引擎这些部件的主要功能是处理数据,因此对于带宽有很大的需求。对于渲染引擎/视频编解码引擎这些存储器访问单元,可以分别配置专属的第一存储器管理单元。而芯片中的例如微控制单元mcu的主要功能是收发控制命令,并且其自身具有内部的缓存,因此不需要很大的带宽。对于例如微控制单元mcu的存储器访问单元,可以不单独配置专属的第一存储器管理单元,而是为多个存储器访问单元配置共用的第二存储器管理单元。此外,对于渲染引擎/视频编解码引擎这些存储器访问单元,这些单元所处理的数据也包括那些对带宽需求不是特别大的数据,对于这些对于带宽的需求较低的访问请求,可以采用上述的方法在访问请求的预设标志位中进行预先配置,从而使得这些访问请求能够被选择器120指定到共用的第二存储器管理单元,从而在系统内最大程度地优化配置。[0036]根据一些实施例,在选择器120的第一工作模式下,每个第一存储器管理单元130被配置为将虚拟地址中除预设标志位之外的位映射为相应的物理地址,并根据物理地址将访问请求发送至存储器。[0037]例如,虚拟地址可以具有32位,其中,第0-30位表示访问请求所要指向的在虚拟空间中的某一个地址;并且第31位是用于选择器基于其在第一工作模式与第二工作模式之间切换的预设标志位。第一存储器管理单元130可以将除第31位之外的第0-30位映射为相应的物理地址,并根据物理地址将访问请求发送至存储器。[0038]由于第0-30位表示访问请求所要指向的在虚拟空间中的某一个地址,而预设标志位并不用于表示访问请求所要指向的在虚拟空间中的某一个地址,因此,通过将虚拟地址中除预设标志位之外的位映射为相应的物理地址,能够使得系统100准确地获取相应的物理地址。[0039]在一个示例中,第一存储器管理单元130可以根据预设的页表,将虚拟地址中除预设标志位之外的位映射为相应的物理地址。页表用于指示虚拟地址与物理地址之间的映射关系。[0040]类似地,根据一些实施例,在选择器120的第二工作模式下,第二存储器管理单元140被配置为将虚拟地址中除预设标志位之外的位映射为相应的物理地址,并根据物理地址将访问请求发送至存储器。[0041]在一个示例中,访问请求的虚拟地址的预设标志位的值为1,选择器120将根据访问请求将该访问请求发送至第二存储器管理单元140,第二存储器管理单元140获取访问请求后,可以将虚拟地址的预设标志位丢弃,而将虚拟地址中除预设标志位之外的位映射为相应的物理地址。[0042]根据一些实施例,每个第一存储器管理单元130和第二存储器管理单元140可以共享相同的页表,页表用于指示虚拟地址与物理地址之间的映射关系。[0043]由此,无需针对第二存储器管理单元140来单独制定与第一存储器管理单元130不同的页表;或无需针对第一存储器管理单元130来单独制定与第二存储器管理单元140不同的页表,因此能够简化系统100(尤其是软件)的复杂度。[0044]应当理解的是,虽然上述实施例中仅描述了一个共用的第二存储器管理单元140,但是可以在系统100中设置多个第二存储器管理单元。例如,随着系统中存储器访问单元数量的增多,可以设置两个或三个第二存储器管理单元。[0045]图2是示出根据示例性实施例的存储器管理系统200的结构框图。如图2所示,存储器管理系统200包括4个存储器访问单元(存储器访问单元211、存储器访问单元212、存储器访问单元213以及存储器访问单元214)、选择器(为了简洁起见,图2中未示出选择器)、第一存储器管理单元230以及第二存储器管理单元240。上述单元211至240与上文中关于图1所描述的单元111至140类似,在此不再赘述。[0046]根据一些实施例,如图2所示,存储器管理系统200还可以包括总线250,每个第一存储器管理单元230以及第二存储器管理单元240分别与总线250连接,总线250用于向存储器传输访问请求。[0047]在一个示例中,第二存储器管理单元240可以作为与总线250连接的逻辑存储模块,与总线250共享寻址逻辑。根据本公开的另一方面,还提供了一种存储器管理方法。[0048]图3是示出根据示例性实施例的存储器管理方法300的流程图。方法300由存储器管理系统(例如上文中的存储器管理系统100或存储器管理系统200)执行,存储器管理系统包括多个存储器访问单元、与多个存储器访问单元通信连接的选择器、与选择器通信连接的至少一个第一存储器管理单元以及与选择器通信连接的第二存储器管理单元。选择器具有第一工作模式和第二工作模式并且能够在第一工作模式与第二工作模式之间切换,并且至少一个存储器访问单元中的每个存储器访问单元与相应一个第一存储器管理单元绑定。[0049]如图3所示,方法300包括:步骤s310、从多个存储器访问单元中的任意一个存储器访问单元获取针对存储器的访问请求;步骤s320、选择器根据访问请求在第一工作模式与第二工作模式之间切换;步骤s330、响应于选择器在第一工作模式下,由与任意一个存储器访问单元绑定的第一存储器管理单元将访问请求发送至存储器;以及步骤s340、响应于选择器在第二工作模式下,由选择器将访问请求指定至第二存储器管理单元,并且由第二存储器管理单元将该访问请求发送至存储器。[0050]一方面,存储器管理系统的存储器访问单元与对应的第一存储器管理单元绑定,当选择器处于第一工作模式下时,存储器访问单元发出的访问请求可以经由选择器和第一存储器管理单元被发送至存储器,以完成对存储器的访问。另一方面,当选择器处于第二工作模式下时,相应的访问请求(该访问请求可以是存储器访问单元至存储器访问单元中任意一者发起的)被指定至第二存储器管理单元,该访问请求被第二存储器管理单元进一步发送至存储器,以完成对存储器的访问。由此,存储器管理系统不仅包括专属于存储器访问单元的第一存储器管理单元(这意味着其他几个存储器访问单元无法使用第一存储器管理单元),还包括能够被所有存储器访问单元中任意一者使用的第二存储器管理单元,并且选择器根据访问请求,将不同的访问请求指定至第一存储器管理单元或指定至第二存储器管理单元。由此,可以在不过多增加硬件代价(即,不过多增加系统中的存储器管理单元)的基础上满足各个存储器访问单元的访问需求。例如,专属的第一存储器管理单元可以处理与其绑定的存储器访问单元的访问请求(该访问请求可以具有较高的带宽需求);而共用的第二存储器管理单元可以处理系统中任意的存储器访问单元的访问请求(该访问请求可以具有较低的带宽需求)。[0051]根据一些实施例,访问请求可以包括虚拟地址,其中,上述步骤s320可以包括:选择器根据虚拟地址中的预设标志位在第一工作模式与第二工作模式之间切换。[0052]根据一些实施例,上述步骤s320可以包括:根据访问请求所需的带宽在第一工作模式与第二工作模式之间切换。第二工作模式所对应的访问请求所需的带宽低于第一工作模式所对应的访问请求所需的带宽。[0053]根据一些实施例,上述步骤s330可以包括:由与任意一个存储器访问单元绑定的第一存储器管理单元将虚拟地址中除预设标志位之外的位映射为相应的物理地址,并根据物理地址将访问请求发送至存储器。[0054]根据一些实施例,上述步骤s340可以包括:由第二存储器管理单元将虚拟地址中除预设标志位之外的位映射为相应的物理地址,并根据物理地址将访问请求发送至存储器。[0055]根据一些实施例,每个第一存储器管理单元和第二存储器管理单元可以共享相同的页表,页表用于指示虚拟地址与物理地址之间的映射关系。[0056]根据一些实施例,预设标志位的值可以是根据访问请求所需的带宽预先设定的。[0057]在一个示例中,可以将那些所需的带宽较高的访问请求的标志位的值设定为1;并且将那些所需的带宽较低的访问请求的标志位的值设定为0,从而使得这些访问请求能够被选择器120指定到相应的专属第一存储器管理单元或共用的第二存储器管理单元,从而在系统内最大程度地优化配置。[0058]根据本公开的另一方面,提供了一种人工智能芯片。该人工智能芯片包括根据本公开实施例的存储器管理系统200。[0059]将理解的是,根据本公开实施例的存储器管理系统200还可以应用于各种其他类型的芯片或计算设备中。[0060]根据本公开的又另一方面,提供一种电子设备,包括根据本公开实施例的人工智能芯片。[0061]根据本公开的又另一方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,使处理器执行上述的存储器管理方法。[0062]根据本公开的又另一方面,提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,使所述处理器执行上述的存储器管理方法。[0063]图4是示出根据本公开的示例性实施例的电子设备400的示例的框图。需要说明的,图4所示出的结构仅是一个示例,根据具体的实现方式,本公开的电子设备可以仅包括图4所示出的组成部分中的一种或多个。[0064]电子设备400例如可以是通用计算机(例如膝上型计算机、平板计算机等等各种计算机)、移动电话、个人数字助理。根据一些实施例,电子设备400可以是云计算设备和智能设备。[0065]根据一些实施例,电子设备400可被配置为对图像、文本和音频中的至少一者进行处理,并且将所述处理结果传输至输出设备而提供给用户。输出设备例如可以为显示屏、包括显示屏的设备,也可以为耳机、扬声器、或振荡器等声音输出设备。例如,电子设备400可被配置为对图像进行目标检测,将目标检测结果传输至显示设备以显示,电子设备400还可被配置为对图像进行增强处理,并将增强结果传输至显示设备以显示。电子设400还可被配置为对图像中的文本进行识别,并将识别结果传输至显示设备以显示和/或将识别结果转换成声音数据并传输至声音输出设备进行播放。电子设备400还可被配置为对音频进行识别和处理,并将识别结果传输至显示设备以显示和/或将处理结果转换成声音数据并传输至声音输出设备进行播放。[0066]电子设备400可以包括图像处理电路403,图像处理电路403可以被配置为对图像进行各种图像处理。图像处理电路403例如可以被配置为对图像进行以下图像处理中的至少一项:对图像进行降噪、对图像进行几何矫正、对图像进行特征提取、对图像中的对象进行检测和/或识别、对图像进行增强处理、以及对图像中包含的文字进行检测和/或识别等等。[0067]电子设备400还可以包括文字识别电路404,所述文字识别电路404被配置为对图像中的文字区域进行文字检测和/或识别(例如ocr处理),从而获得文字数据。所述文字识别电路404例如可以通过专用芯片实现。电子设备400还可以包括声音转换电路405,所述声音转换电路405被配置为将所述文字数据转换成声音数据。所述声音转换电路405例如可以通过专用芯片实现。[0068]电子设备400还可以包括音频处理电路406,所述音频处理电路406被配置为将音频转换为文字,从而获得音频相应的文字数据。所述音频处理电路406还可被配置为对音频相应的文字数据进行处理,例如可以包括关键字提取、意图识别、智能推荐和智能问答等等。所述音频处理电路406例如可以通过专用芯片实现。所述声音转换电路405还可被配置为将音频处理结果转换为声音数据,以适用于语音助手或虚拟客服等应用场景。[0069]上述的各种电路(例如图像处理电路403、文字识别电路404、声音转换电路405、音频处理电路406中的一个或多个可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现。例如,上述的各种电路中的一个或多个可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如verilog,vhdl,c ++)对硬件(例如,包括现场可编程门阵列(fpga)和/或可编程逻辑阵列(pla)的可编程逻辑电路)进行编程来实现。[0070]根据一些实施方式,电子设备400还可以包括输出设备407,所述输出设备407可以是用于呈现信息的任何类型的设备,可以包括但不限于显示屏、具有显示功能的终端、耳机、扬声器、振动器和/或打印机等。[0071]根据一些实施方式,电子设备400还可以包括输入设备408,所述输入设备408可以是用于向电子设备400输入信息的任何类型的设备,可以包括但不限于各种传感器、鼠标、键盘、触摸屏、按钮、控制杆、麦克风和/或遥控器等等。[0072]根据一些实施方式,电子设备400还可以包括通信设备409,所述通信设备409可以是使得能够与外部设备和/或与网络通信的任何类型的设备或系统,可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备和/或芯片组,例如蓝牙设备、802.11设备、wifi设备、wimax设备、蜂窝通信设备和/或类似物。[0073]根据一些实施方式,电子设备400还可以包括处理器401。所述处理器401可以是任何类型的处理器,并且可以包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如特殊处理芯片)。处理器401例如可以是但不限于中央处理单元cpu、图形处理器gpu、或各种专用的人工智能(ai)计算芯片等等。[0074]电子设备400还可以包括工作存储器402和存储设备411。处理器401可以被配置为能够获取并且执行存储在工作存储器402、存储设备411或者其他计算机可读介质中的计算机可读指令,诸如操作系统402a的程序代码、应用程序402b的程序代码等。工作存储器402和存储设备411是用于存储指令的计算机可读存储介质的示例,所存储的指令能够由处理器401执行来实施前面所描述的各种功能。工作存储器402可以包括易失性存储器和非易失性存储器二者(例如ram、rom等等)。存储设备411可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如cd、dvd)、存储阵列、网络附属存储、存储区域网等等。工作存储器402和存储设备411在本文中都可以被统称为存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,计算机程序代码可以由处理器401作为被配置成实施在本文的示例中所描述的操作和功能的特定机器来执行。[0075]根据一些实施方式,处理器401可以对图像处理电路403、文字识别电路404、声音转换电路405、音频处理电路406以及电子设备400包括的其他各种装置和电路中的至少一个进行控制和调度。根据一些实施方式,图4中所述的各个组成部分中的至少一些可通过总线410而相互连接和/或通信。[0076]软件要素(程序)可以位于所述工作存储器402中,包括但不限于操作系统402a、一个或多个应用程序402b、驱动程序和/或其他数据和代码。[0077]根据一些实施方式,用于进行前述的控制和调度的指令可以被包括在操作系统402a或者一个或多个应用程序402b中。[0078]根据一些实施方式,执行本公开所述的方法步骤的指令可以被包括在一个或多个应用程序402b中,并且上述电子设备400的各个模块可以通过由处理器401读取和执行一个或多个应用程序402b的指令来实现。换言之,电子设备400可以包括处理器401以及存储程序的存储器(例如工作存储器402和/或存储设备411),所述程序包括指令,所述指令在由所述处理器401执行时使所述处理器401执行如本公开各种实施例所述的方法。[0079]根据一些实施方式,图像处理电路403、文字识别电路404、声音转换电路405、音频处理电路407中的至少一个所执行的操作中的一部分或者全部可以由处理器401读取和执行一个或多个应用程序402b的指令来实现。[0080]软件要素(程序)的指令的可执行代码或源代码可以存储在非暂时性计算机可读存储介质(例如所述存储设备411)中,并且在执行时可以被存入工作存储器402中(可能被编译和/或安装)。因此,本公开提供存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,致使所述电子设备执行如本公开各种实施例所述的方法。根据另一种实施方式,软件要素(程序)的指令的可执行代码或源代码也可以从远程位置下载。[0081] 还应该理解,可以根据具体要求而进行各种变型。例如,也可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现各个电路、单元、模块或者元件。例如,所公开的方法和设备所包含的电路、单元、模块或者元件中的一些或全部可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如verilog,vhdl,c ++)对硬件(例如,包括现场可编程门阵列(fpga)和/或可编程逻辑阵列(pla)的可编程逻辑电路)进行编程来实现。[0082]根据一些实施方式,电子设备400中的处理器401可以分布在网络上。 例如,可以使用一个处理器执行一些处理,而同时可以由远离该一个处理器的另一个处理器执行其他处理。电子设备400的其他模块也可以类似地分布。这样,电子设备400可以被解释为在多个位置执行处理的分布式计算系统。电子设备400的处理器401也可以是云计算系统的处理器,或者是结合了区块链的处理器。[0083]虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部