使用具有集成式随机存取存储器的深度学习加速器的实时医疗图像处理
文献发布时间:2024-04-18 20:01:23
相关申请
本申请要求2021年8月6日提交且标题为“使用具有集成式随机存取存储器的深度学习加速器的实时医疗图像处理(REAL TIME MEDICAL IMAGE PROCESSING USING DEEPLEARNING ACCELERATOR WITH INTEGRATED RANDOM ACCESS MEMORY)”的美国专利申请第16/987,112号的优先权,所述美国专利申请的全部公开内容特此以引用的方式并入本文中。
技术领域
本文中所公开的至少一些实施例大体上涉及图像处理,并且尤其但不限于经由人工神经网络(ANN)的加速器实施的实时医疗图像处理,所述人工神经网络例如通过机器学习和/或深度学习配置的ANN。
背景技术
人工神经网络(ANN)使用神经元网络来处理到网络的输入,并且产生来自网络的输出。
举例来说,网络中的每一神经元接收输入集。到神经元的输入中的一些可为网络中的某些神经元的输出;并且到神经元的输入中的一些可为提供到神经网络的输入。网络中的神经元当中的输入/输出关系表示所述网络中的神经元连接性。
举例来说,每一神经元可具有偏置、激活函数,以及突触权重集,分别用于其输入。激活函数可呈阶跃函数、线性函数、对数S型(log-sigmoid)函数等形式。网络中的不同神经元可具有不同激活函数。
举例来说,每一神经元可产生其输入与其偏置的加权和,并且接着产生作为加权和的函数的输出,所述输出是使用神经元的激活函数计算出的。
ANN的输入与输出之间的关系一般来说是由ANN模型定义的,所述ANN模型包含表示网络中的神经元的连接性的数据,以及每一神经元的偏置、激活函数和突触权重。基于给定ANN模型,计算装置可被配置成从到网络的给定输入集计算网络的输出。
举例来说,到ANN网络的输入可基于相机输入而产生;并且来自ANN网络的输出可为例如事件或对象等项目的标识。
一般来说,可使用监督方法来训练ANN,其中调整ANN中的参数以最小化或减少与相应输入相关联或由相应输入产生的已知输出与经由将输入应用于ANN而产生的所计算输出之间的误差。监督学习/训练方法的实例包含强化学习和具有误差校正的学习。
替代地或组合地,可使用非监督方法来训练ANN,其中由给定输入集产生的确切输出在所述训练完成之前是未知的。可训练ANN,以将项目分类成多个类别,或将数据点分类成群集。
可将多个训练算法用于复杂机器学习/训练范例。
深度学习使用机器学习的多个层以从输入数据逐渐地提取特征。举例来说,较低层可被配置成识别图像中的边缘;并且较高层可被配置成基于使用较低层检测到的边缘而识别图像中所捕获的项目,例如人脸、对象、事件等。深度学习可经由人工神经网络(ANN)实施,例如深度神经网络、深度信念网络、递归神经网络和/或卷积神经网络。
深度学习已应用于许多应用领域,例如计算机视觉、语音/音频辨识、自然语言处理、机器翻译、生物信息学、药物设计、医疗图像处理、游戏等。
附图说明
在附图的图式中作为实例而非限制示出了实施例,在附图中,相似的参考标号指示类似的元件。
图1展示根据一个实施例的具有被配置的深度学习加速器和随机存取存储器的集成电路装置。
图2展示根据一个实施例的被配置成执行矩阵-矩阵运算的处理单元。
图3展示根据一个实施例的被配置成执行矩阵-向量运算的处理单元。
图4展示根据一个实施例的被配置成执行向量-向量运算的处理单元。
图5展示根据一个实施例的被配置成自主地应用到经训练人工神经网络的输入的深度学习加速器和随机存取存储器。
图6-8示出根据一些实施例的使用被配置的深度学习加速器和随机存取存储器实施的医疗图像处理。
图9展示根据一个实施例的图像处理的方法。
具体实施方式
本文中所公开的至少一些实施例提供一种集成电路,其被配置成使用人工神经网络(ANN)以经减少能量消耗和计算时间执行医疗图像的实时处理。集成电路包含深度学习加速器(DLA)和随机存取存储器。随机存取存储器存储已通过机器学习和/或深度学习训练以识别所关注特征和/或产生诊断建议的人工神经网络(ANN)的参数。随机存取存储器进一步存储可由深度学习加速器(DLA)执行以执行人工神经网络(ANN)的矩阵计算的指令。医疗图像可从成像装置获得,所述成像装置例如超声波探头、计算机断层扫描(CT)扫描仪、磁共振成像(MRI)扫描仪等。成像装置可将医疗图像存储到随机存取存储器中作为到人工神经网络(ANN)的输入。深度学习加速器(DLA)执行指令以识别所关注特征,和/或产生诊断和/或检查建议以辅助获取高质量图像以供诊断。
举例来说,基于人工神经网络(ANN)的输出,医疗图像的带注释显示可识别经辨识的所关注对象/特征以辅助初步诊断或分析。注释可包含调整探头位置和/或定向以获得具有改进质量的图像的建议。举例来说,注释可包含调整患者的位置或姿态以用于捕获具有改进质量的图像的建议。举例来说,人工神经网络(ANN)的输出可用于辅助和/或引导技术员更好地将成像探头定位在所关注定向和区域中以获得高质量图像。
深度学习加速器(DLA)包含可编程硬件计算逻辑集,其经专门化和/或优化以执行并行向量和/或矩阵计算,包含但不限于向量和/或矩阵的乘法和累加。
此外,深度学习加速器(DLA)可包含一或多个算术逻辑单元(ALU)以对整数二进制数执行算术和逐位运算。
深度学习加速器(DLA)可经由指令集编程以执行人工神经网络(ANN)的计算。
对向量和矩阵进行运算的深度学习加速器(DLA)的粒度对应于可在由深度学习加速器(DLA)执行一个指令期间在其上操作的向量/矩阵的最大单元。在对向量/矩阵操作数执行预定义运算的指令期间,深度学习加速器(DLA)可并行运算向量/矩阵操作数的元素,以减少与存储器/数据存取相关联的执行时间和/或能量消耗。对深度学习加速器(DLA)的粒度的向量/矩阵操作数的运算可用作构建块以对较大大小的向量/矩阵实施计算。
典型/实际人工神经网络(ANN)的实施方案涉及具有大于深度学习加速器(DLA)的运算粒度的大小的向量/矩阵操作数。为了使用深度学习加速器(DLA)实施此类人工神经网络(ANN),涉及较大大小的向量/矩阵操作数的计算可分解为深度学习加速器(DLA)的粒度的向量/矩阵操作数的计算。深度学习加速器(DLA)可经由指令进行编程以执行涉及大型向量/矩阵操作数的计算。举例来说,在响应于指令而操控深度学习加速器(DLA)的粒度的向量和矩阵时的深度学习加速器(DLA)的原子计算能力可经编程以在人工神经网络(ANN)中实施计算。
在一些实施方案中,深度学习加速器(DLA)不具有典型中央处理单元(CPU)的一些逻辑运算能力。然而,深度学习加速器(DLA)可被配置成具有充足逻辑单元以处理提供到人工神经网络(ANN)的输入数据且根据针对深度学习加速器(DLA)产生的指令集产生人工神经网络(ANN)的输出。因此,深度学习加速器(DLA)可在中央处理单元(CPU)或另一处理器的极少帮助或无帮助的情况下执行人工神经网络(ANN)的计算。任选地,常规通用处理器还可被配置为深度学习加速器(DLA)的部分以执行无法使用深度学习加速器(DLA)的向量/矩阵处理单元有效地实施的操作,和/或无法由深度学习加速器(DLA)的向量/矩阵处理单元执行的操作。
典型人工神经网络(ANN)可以标准格式(例如,开放神经网络交换(ONNX))描述/指定。编译器可用于将人工神经网络(ANN)的描述转换成用于深度学习加速器(DLA)的指令集以执行人工神经网络(ANN)的计算。编译器可优化指令集以改进深度学习加速器(DLA)在实施人工神经网络(ANN)时的性能。
深度学习加速器(DLA)可具有被配置成存储向量/矩阵操作数以及向量/矩阵运算的结果的本地存储器,例如寄存器、缓冲器和/或高速缓存器。寄存器中的中间结果可在深度学习加速器(DLA)中作为用于后续向量/矩阵运算的操作数而进行管线化/移位,以减少存取存储器/数据时的时间和能量消耗,并且因此加速实施典型人工神经网络(ANN)时的向量/矩阵运算的典型图案。深度学习加速器(DLA)中的寄存器、缓冲器和/或高速缓存器的容量通常不足以保持用于实施典型人工神经网络(ANN)的计算的整个数据集。因此,耦合到深度学习加速器(DLA)的随机存取存储器被配置成提供用于实施典型人工神经网络(ANN)的改进的数据存储能力。举例来说,深度学习加速器(DLA)从随机存取存储器加载数据和指令且将结果存储回到随机存取存储器中。
深度学习加速器(DLA)与随机存取存储器之间的通信带宽被配置成优化或最大化深度学习加速器(DLA)的计算能力的利用。举例来说,可在深度学习加速器(DLA)与随机存取存储器之间提供高通信带宽,使得可将向量/矩阵操作数从随机存取存储器加载到深度学习加速器(DLA)中,并且在大致等于深度学习加速器(DLA)对向量/矩阵操作数执行计算的时间的时间周期内将结果存储回到随机存取存储器中。深度学习加速器(DLA)的粒度可被配置成增加由深度学习加速器(DLA)执行的计算的量与向量/矩阵操作数的大小之间的比率,使得深度学习加速器(DLA)与随机存取存储器之间的数据存取业务可减少,这可降低对深度学习加速器(DLA)与随机存取存储器之间的通信带宽的要求。因此,可减少或消除在数据/存储器存取方面的瓶颈。
具有随机存取存储器的深度学习加速器(DLA)可用于实时处理医疗图像以在获取医疗图像以供诊断时将反馈提供到技术员。
举例来说,人工神经网络(ANN)可经训练以辨识医疗诊断所关注的特征,例如骨骼、器官、组织、与疾病、创伤和/或其它结构元件相关的图案。此外,人工神经网络(ANN)可经训练以识别所辨识特征的分类和/或所建议探测移动和方向以获得用于诊断的最佳图像质量。此类训练的数据集可通过记录技术员的实践、医生或从业者对所得图像的评级以及医生或从业者所关注的特征的注释来获得。机器学习和/或深度学习可应用于记录数据集以通过机器学习和/或深度学习训练人工神经网络(ANN),以识别类似特征和/或产生类似注释,以引导技术员捕获高质量图像。
图1展示根据一个实施例的具有被配置的深度学习加速器(103)和随机存取存储器(105)的集成电路装置(101)。
图1中的深度学习加速器(103)包含处理单元(111)、控制单元(113)和本地存储器(115)。当向量和矩阵操作数在本地存储器(115)中时,控制单元(113)可使用处理单元(111)来根据指令执行向量和矩阵运算。此外,控制单元(113)可通过存储器接口(117)和高速/带宽连接(119)从随机存取存储器(105)加载指令和操作数。
集成电路装置(101)被配置成利用存储器控制器接口(107)的引脚或触点围封在集成电路封装内。
存储器控制器接口(107)被配置成支持标准存储器存取协议,使得集成电路装置(101)以与不具有深度学习加速器(DLA)(103)的常规随机存取存储器装置相同的方式表现为典型存储器控制器。举例来说,集成电路装置(101)外部的存储器控制器可使用标准存储器存取协议通过存储器控制器接口(107)存取集成电路装置(101)中的随机存取存储器(105)。
集成电路装置(101)被配置成具有在围封于集成电路装置(101)内的随机存取存储器(105)与深度学习加速器(DLA)(103)之间的高带宽连接(119)。连接(119)的带宽高于随机存取存储器(105)与存储器控制器接口(107)之间的连接(109)的带宽。
在一个实施例中,存储器控制器接口(107)和存储器接口(117)两者均被配置成经由同一总线或线路集合存取随机存取存储器(105)。因此,用以存取随机存取存储器(105)的带宽在存储器接口(117)与存储器控制器接口(107)之间共享。替代地,存储器控制器接口(107)和存储器接口(117)被配置成经由单独的总线或线路集合存取随机存取存储器(105)。任选地,随机存取存储器(105)可包含可经由连接(119)同时存取的多个区段。举例来说,当存储器接口(117)正存取随机存取存储器(105)的区段时,存储器控制器接口(107)可同时存取随机存取存储器(105)的另一区段。举例来说,不同区段可被配置在不同集成电路裸片和/或存储器单元的不同平面/排组上;并且可并行存取不同区段以增加存取随机存取存储器(105)时的处理量。举例来说,存储器控制器接口(107)被配置成一次存取预定大小的一个数据单元;并且存储器接口(117)被配置成一次存取多个数据单元,每一数据单元具有相同预定大小。
在一个实施例中,随机存取存储器(105)和集成电路装置(101)被配置在不同集成电路裸片上,所述不同集成电路裸片被配置在同一集成电路封装内。此外,随机存取存储器(105)可被配置在允许同时并行存取多个数据元素的一或多个集成电路裸片上。
在一些实施方案中,可经由连接(119)并行存取的向量或矩阵的数据元素的数目对应于对向量或矩阵进行运算的深度学习加速器(DLA)的粒度。举例来说,当处理单元(111)可并行地对数个向量/矩阵元素进行运算时,连接(119)被配置成经由连接(119)并行地加载或存储相同数目或所述数目的倍数的元素。
任选地,可基于深度学习加速器(DLA)(103)的处理速度而配置连接(119)的数据存取速度。举例来说,在一定量的数据和指令已经加载到本地存储器(115)中之后,控制单元(113)可使用处理单元(111)来执行指令以对数据进行操作以产生输出。在用以产生输出的处理的时间周期内,连接(119)的存取带宽允许将相同量的数据和指令加载到本地存储器(115)中以用于下一操作,并且将相同量的输出存储回到随机存取存储器(105)。举例来说,当控制单元(113)正使用本地存储器(115)的部分来处理数据且产生输出时,存储器接口(117)可将先前操作的输出从本地存储器(115)的另一部分卸载到随机存取存储器(105)中,并且将操作数数据和指令加载到所述本地存储器的所述另一部分中。因此,深度学习加速器(DLA)的利用率和性能不因连接(119)的带宽而受限或降低。
随机存取存储器(105)可用于存储人工神经网络(ANN)的模型数据且用于缓冲人工神经网络(ANN)的输入数据。模型数据并不频繁地改变。模型数据可包含由用于深度学习加速器(DLA)的编译器产生的输出以实施人工神经网络(ANN)。模型数据通常包含在人工神经网络(ANN)的描述中使用的矩阵和针对深度学习加速器(DLA)(103)产生的指令,以基于深度学习加速器(DLA)(103)的粒度的向量/矩阵运算而执行人工神经网络(ANN)的向量/矩阵运算。指令不仅对人工神经网络(ANN)的向量/矩阵运算进行操作,而且对人工神经网络(ANN)的输入数据进行操作。
在一个实施例中,当在随机存取存储器(105)中加载或更新输入数据时,深度学习加速器(DLA)(103)的控制单元(113)可自动地执行人工神经网络(ANN)的指令以产生人工神经网络(ANN)的输出。将输出存储到随机存取存储器(105)中的预定义区中。深度学习加速器(DLA)(103)可在无来自中央处理单元(CPU)的帮助的情况下执行指令。因此,可减少或消除用于深度学习加速器(DLA)(103)与集成电路装置(101)外部的处理器(例如,中央处理单元(CPU))之间的协调的通信。
任选地,可经由互补金属氧化物半导体(CMOS)实施深度学习加速器(DLA)(103)的逻辑电路。举例来说,随机存取存储器(105)的存储器单元的阵列下CMOS(CUA)技术可用于实施深度学习加速器(DLA)(103)的逻辑电路,包含处理单元(111)和控制单元(113)。替代地,随机存取存储器(105)的存储器单元阵列中的CMOS的技术可用于实施深度学习加速器(DLA)(103)的逻辑电路。
在一些实施方案中,深度学习加速器(DLA)(103)和随机存取存储器(105)可实施在单独的集成电路裸片上,并且使用穿硅通孔(TSV)连接以增加深度学习加速器(DLA)(103)与随机存取存储器(105)之间的数据带宽。举例来说,深度学习加速器(DLA)(103)可形成在现场可编程门阵列(FPGA)或专用集成电路(ASIC)的集成电路裸片上。
替代地,深度学习加速器(DLA)(103)和随机存取存储器(105)可被配置在单独的集成电路封装中且经由印刷电路板(PCB)上的多个点到点连接而连接以用于并行通信,且因此增加数据传递带宽。
随机存取存储器(105)可为易失性存储器或非易失性存储器,或易失性存储器与非易失性存储器的组合。非易失性存储器的实例包含快闪存储器、基于与非(NAND)逻辑门形成的存储器单元、或非(NOR)逻辑门、相变存储器(PCM)、磁性存储器(MRAM)、电阻式随机存取存储器、交叉点存储装置和存储器装置。交叉点存储器装置可使用无晶体管存储器元件,所述无晶体管存储器元件中的每一个具有一起堆叠成列的存储器单元和选择器。存储器元件列经由在垂直方向上铺设的两个线路排布来连接,其中在层中的一个方向上铺设的一个排布的线路位于存储器元件列上方,并且另一层的线路在另一方向上铺设且位于存储器元件列下方。可个别地在两个层中的每一个上的一个线路的交叉点处选择每一存储器元件。交叉点存储器装置是快速且非易失性的,并且可用作通用存储器池以用于处理和存储。非易失性存储器的其它实例包含只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)和电子可擦除可编程只读存储器(EEPROM)存储器等。易失性存储器的实例包含动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)。
举例来说,非易失性存储器可被配置成实施随机存取存储器(105)的至少部分。随机存取存储器(105)中的非易失性存储器可用于存储人工神经网络(ANN)的模型数据。因此,在集成电路装置(101)断电并重启之后,不必将人工神经网络(ANN)的模型数据重新加载到集成电路装置(101)中。此外,非易失性存储器可为可编程/可重写的。因此,可更新或替换集成电路装置(101)中的人工神经网络(ANN)的模型数据以实施更新人工神经网络(ANN)或另一人工神经网络(ANN)。
深度学习加速器(DLA)(103)的处理单元(111)可包含向量-向量单元、矩阵-向量单元和/或矩阵-矩阵单元。下文结合图2-4论述被配置成执行向量-向量运算、矩阵-向量运算和矩阵-矩阵运算的单元的实例。
图2展示根据一个实施例的被配置成执行矩阵-矩阵运算的处理单元。举例来说,图2的矩阵-矩阵单元(121)可用作图1的深度学习加速器(DLA)(103)的处理单元(111)中的一个。
在图2中,矩阵-矩阵单元(121)包含多个内核缓冲器(131到133)和多个映射排组(151到153)。映射排组(151到153)中的每一个存储矩阵操作数的一个向量,所述矩阵操作数具有分别存储在映射排组(151到153)中的多个向量;并且内核缓冲器(131到133)中的每一个存储另一矩阵操作数的一个向量,所述另一矩阵操作数具有分别存储在内核缓冲器(131到133)中的多个向量。矩阵-矩阵单元(121)被配置成使用并行操作的多个矩阵-向量单元(141到143)来对两个矩阵操作数的元素执行乘法和累加运算。
交叉开关(123)将映射排组(151到153)连接到矩阵-向量单元(141到143)。存储在映射排组(151到153)中的相同矩阵操作数经由交叉开关(123)提供到矩阵-向量单元(141到143)中的每一个;并且矩阵-向量单元(141到143)从映射排组(151到153)并行地接收数据元素。内核缓冲器(131到133)中的每一个连接到矩阵-向量单元(141到143)中的相应一个,并且将向量操作数提供到相应矩阵-向量单元。矩阵-向量单元(141到143)同时操作以计算存储在映射排组(151到153)中的相同矩阵操作数乘以存储在内核缓冲器(131到133)中的对应向量的运算。举例来说,矩阵-向量单元(141)对存储在映射排组(151到153)中的矩阵操作数和存储在内核缓冲器(131)中的向量操作数执行乘法运算,而矩阵-向量单元(143)同时对存储在映射排组(151到153)中的矩阵操作数和存储在内核缓冲器(133)中的向量操作数执行乘法运算。
图2中的矩阵-向量单元(141到143)中的每一个可以如图3中所示的方式实施。
图3展示根据一个实施例的被配置成执行矩阵-向量运算的处理单元。举例来说,图3的矩阵-向量单元(141)可用作图2的矩阵-矩阵单元(121)中的矩阵-向量单元中的任一个。
在图3中,映射排组(151到153)中的每一个以类似于图2的映射排组(151到153)的方式存储矩阵操作数的一个向量,所述矩阵操作数具有分别存储在映射排组(151到153)中的多个向量。图3中的交叉开关(123)将向量从映射排组(151)分别提供到向量-向量单元(161到163)。存储在内核缓冲器(131)中的相同向量被提供到向量-向量单元(161到163)。
向量-向量单元(161到163)同时操作以计算分别存储在映射排组(151到153)中的对应向量操作数乘以存储在内核缓冲器(131)中的相同向量操作数的运算。举例来说,向量-向量单元(161)对存储在映射排组(151)中的向量操作数和存储在内核缓冲器(131)中的向量操作数执行乘法运算,而向量-向量单元(163)同时对存储在映射排组(153)中的向量操作数和存储在内核缓冲器(131)中的向量操作数执行乘法运算。
当图3的矩阵-向量单元(141)实施在图2的矩阵-矩阵单元(121)中时,矩阵-向量单元(141)可使用矩阵-矩阵单元(121)的映射排组(151到153)、交叉开关(123)和内核缓冲器(131)。
图3中的向量-向量单元(161到163)中的每一个可以如图4中所示的方式实施。
图4展示根据一个实施例的被配置成执行向量-向量运算的处理单元。举例来说,图4的向量-向量单元(161)可用作图3的矩阵-向量单元(141)中的向量-向量单元中的任一个。
在图4中,向量-向量单元(161)具有多个乘累加单元(171到173)。乘累加单元(例如,173)中的每一个可接收两个数字作为操作数,执行这两个数字的乘法,并且将乘法的结果与乘累加(MAC)单元中维持的总和相加。
向量缓冲器(181和183)中的每一个存储数字的列表。各自来自向量缓冲器(181和183)中的一个的一对数字可作为输入提供到乘累加单元(171到173)中的每一个。乘累加单元(171到173)可并行地从向量缓冲器(181和183)接收多对数字,并且并行地执行乘累加(MAC)运算。来自乘累加单元(171到173)的输出存储到移位寄存器(175)中;并且累加器(177)计算移位寄存器(175)中的结果的总和。
当图4的向量-向量单元(161)实施在图3的矩阵-向量单元(141)中时,向量-向量单元(161)可使用映射排组(例如,151或153)作为一个向量缓冲器(181),并且使用矩阵-向量单元(141)的内核缓冲器(131)作为另一向量缓冲器(183)。
向量缓冲器(181和183)可具有相同长度以存储相同数目/计数的数据元素。所述长度可等于向量-向量单元(161)中的乘累加单元(171到173)的计数或所述计数的倍数。当向量缓冲器(181和183)的长度是乘累加单元(171到173)的计数的倍数时,等于乘累加单元(171到173)的计数的数目的输入对可在每一迭代中作为输入从向量缓冲器(181和183)提供到乘累加单元(171到173);并且向量缓冲器(181和183)通过多个迭代将其元素馈送到乘累加单元(171到173)中。
在一个实施例中,深度学习加速器(DLA)(103)与随机存取存储器(105)之间的连接(119)的通信带宽足以供矩阵-矩阵单元(121)使用随机存取存储器(105)的部分作为映射排组(151到153)和内核缓冲器(131到133)。
在另一实施例中,映射排组(151到153)和内核缓冲器(131到133)实施在深度学习加速器(DLA)(103)的本地存储器(115)的部分中。深度学习加速器(DLA)(103)与随机存取存储器(105)之间的连接(119)的通信带宽足以将矩阵-矩阵单元(121)的下一操作循环的矩阵操作数加载到本地存储器(115)的另一部分中,同时矩阵-矩阵单元(121)在当前操作循环中正使用实施在深度学习加速器(DLA)(103)的本地存储器(115)的不同部分中的映射排组(151到153)和内核缓冲器(131到133)来执行计算。
图5展示根据一个实施例的被配置成自主地应用到经训练人工神经网络的输入的深度学习加速器和随机存取存储器。
已通过机器学习(例如,深度学习)训练的人工神经网络(ANN)(201)可以标准格式(例如,开放神经网络交换(ONNX))进行描述。以标准格式描述经训练人工神经网络(ANN)(201)会识别人工神经元和其连接性的性质。
在图5中,深度学习加速器(DLA)编译器(203)通过产生用于深度学习加速器(DLA)(103)的指令(205)和对应于人工神经元和其连接性的性质的矩阵(207)来转换经训练人工神经网络(ANN)(201)。由DLA编译器(203)从经训练人工神经网络(ANN)(201)产生的指令(205)和矩阵(207)可存储在随机存取存储器(105)中以用于深度学习加速器(DLA)(103)。
举例来说,随机存取存储器(105)和深度学习加速器(DLA)(103)可以如图1的集成电路装置(101)中的方式经由高带宽连接(119)连接。图5的基于指令(205)和矩阵(207)的自主计算可实施在图1的集成电路装置(101)中。替代地,随机存取存储器(105)和深度学习加速器(DLA)(103)可被配置在具有平行延行的多个点对点串行总线以实施连接(119)的印刷电路板上。
在图5中,在DLA编译器(203)的结果存储在随机存取存储器(105)中之后,应用经训练人工神经网络(ANN)(201)以处理到经训练人工神经网络(ANN)(201)的输入(211)以产生经训练人工神经网络(ANN)(201)的对应输出(213)可通过随机存取存储器(105)中输入(211)的存在或随机存取存储器(105)中提供的另一指示来触发。
作为响应,深度学习加速器(DLA)(103)执行指令(205)以组合输入(211)和矩阵(207)。指令(205)的执行可包含针对深度学习加速器(DLA)(103)的一或多个矩阵-矩阵单元(例如,121)的映射排组(151到153)产生映射矩阵。
在一些实施例中,到人工神经网络(ANN)(201)的输入呈初始映射矩阵的形式。可从随机存取存储器(105)检索初始映射矩阵的部分作为存储在矩阵-矩阵单元(121)的映射排组(151到153)中的矩阵操作数。替代地,DLA指令(205)还包含用于深度学习加速器(DLA)(103)从输入(211)产生初始映射矩阵的指令。
根据DLA指令(205),深度学习加速器(DLA)(103)将矩阵操作数加载到其矩阵-矩阵单元(121)的内核缓冲器(131到133)和映射排组(151到153)中。矩阵-矩阵单元(121)对矩阵操作数执行矩阵计算。举例来说,DLA指令(205)根据深度学习加速器(DLA)(103)的计算粒度(例如,作为矩阵操作数在矩阵-矩阵单元(121)中加载的矩阵的大小/维度)将经训练人工神经网络(ANN)(201)的矩阵计算分解,并且将输入特征映射应用于一层人工神经元的内核以产生输出作为用于下一层人工神经元的输入。
在完成根据指令(205)执行的经训练人工神经网络(ANN)(201)的计算后,深度学习加速器(DLA)(103)就将人工神经网络(ANN)(201)的输出(213)存储在随机存取存储器(105)中的预定义位置处,或存储在随机存取存储器(105)中提供的指示中指定的位置处,以触发计算。
当图5的技术实施在图1的集成电路装置(101)中时,连接到存储器控制器接口(107)的外部装置可将输入(211)写入到随机存取存储器(105)中,并且触发通过深度学习加速器(DLA)(103)将输入(211)应用于经训练人工神经网络(ANN)(201)的自主计算。在一时间周期之后,输出(213)在随机存取存储器(105)中可用;并且外部装置可经由集成电路装置(101)的存储器控制器接口(107)读取输出(213)。
举例来说,随机存取存储器(105)中的预定义位置可被配置成存储触发深度学习加速器(DLA)(103)对指令(205)的自主执行的指示。指示可任选地包含随机存取存储器(105)内的输入(211)的位置。因此,在处理输入(211)的指令(205)的自主执行期间,外部装置可检索在指令(205)的前一运行期间产生的输出,和/或存储另一输入集合以用于指令(205)的下一运行。
任选地,随机存取存储器(105)中的另一预定义位置可被配置成存储指令(205)的当前运行的进展状态的指示。此外,所述指示可包含指令(205)的当前运行的完成时间的预测(例如,基于指令(205)的先前运行而估计)。因此,外部装置可在合适的时间窗口检查完成状态以检索输出(213)。
在一些实施例中,随机存取存储器(105)被配置成具有足够容量以存储输入(例如,211)和输出(例如,213)的多个集合。每一集合可被配置在随机存取存储器(105)中的预定时隙/区域中。
深度学习加速器(DLA)(103)可自主地执行指令(205)以根据存储在随机存取存储器(105)中的矩阵(207)从输入(211)产生输出(213),而无需来自位于集成电路装置(101)外部的处理器或装置的帮助。
在根据一个实施例的方法中,可使用计算装置(例如,101)到存储器控制器的接口(107)来存取计算装置(例如,101)的随机存取存储器(105)。计算装置(例如,101)可具有被配置成至少对矩阵操作数执行计算的处理单元(例如,111),所述矩阵操作数例如存储在映射排组(151到153)中的矩阵操作数和存储在内核缓冲器(131到133)中的矩阵操作数。
举例来说,计算装置(例如,101)可围封在集成电路封装内;并且连接集合可将接口(107)连接到位于集成电路封装外部的存储器控制器。
可通过接口(107)将可由处理单元(例如,111)执行的指令(205)写入到随机存取存储器(105)中。
可通过接口(107)将人工神经网络(201)的矩阵(207)写入到随机存取存储器(105)中。矩阵(207)识别人工神经网络(201)的性质和/或状态。
任选地,随机存取存储器(105)的至少部分是非易失性的且被配置成存储人工神经网络(201)的指令(205)和矩阵(07)。
可通过接口(107)将到人工神经网络的第一输入(211)写入到随机存取存储器(105)中。
在随机存取存储器(105)中提供指示以致使处理单元(111)开始执行指令(205)。响应于指示,处理单元(111)执行将第一输入(211)与人工神经网络(201)的矩阵(207)组合的指令以从人工神经网络(201)产生第一输出(213)且将第一输出(213)存储在随机存取存储器(105)中。
举例来说,所述指示可为随机存取存储器(105)中的第一输入(211)的地址;并且所述指示可存储在随机存取存储器(105)中的预定位置以致使起始针对由所述地址识别的输入(211)的指令(205)的执行。任选地,所述指示还可包含用于存储输出(213)的地址。
可通过接口(107)从随机存取存储器(105)读取第一输出(213)。
举例来说,计算装置(例如,101)可具有形成在第一集成电路裸片上的深度学习加速器(103)和形成在一或多个第二集成电路裸片上的随机存取存储器(105)。第一集成电路裸片与一或多个第二集成电路裸片之间的连接(119)可包含穿硅通孔(TSV)以提供用于存储器存取的高带宽。
举例来说,可使用编译器(203)来将人工神经网络(201)的描述转换成指令(205)和矩阵(207)。存储在随机存取存储器(105)中的指令(205)和矩阵(207)与深度学习加速器(103)的组合提供人工神经网络(201)的自主实施方案,其可将到人工神经网络(201)的输入(211)自动转换成其输出(213)。
举例来说,在其中深度学习加速器(103)执行指令(205)以根据人工神经网络(201)的矩阵(207)从第一输入(211)产生第一输出(213)的时间周期期间,可通过接口(107)将对人工神经网络(201)的第二输入写入到随机存取存储器(105)中的替代位置。在第一输出(213)存储在随机存取存储器(105)中之后,可在随机存取存储器中提供指示以致使深度学习加速器(103)再次开始指令的执行且从第二输入产生第二输出。
在其中深度学习加速器(103)执行指令(205)以根据人工神经网络(201)的矩阵(207)从第二输入产生第二输出的时间周期期间,可通过接口(107)从随机存取存储器(105)读取第一输出(213);并且可将另一输入写入到随机存取存储器中以替换第一输入(211),或写入在不同位置。可针对输入的序列重复所述过程。
深度学习加速器(103)可包含可对两个矩阵操作数执行指令的至少一个矩阵-矩阵单元(121)。两个矩阵操作数可为第一矩阵和第二矩阵。两个矩阵中的每一个具有多个向量。矩阵-矩阵单元(121)可包含被配置成并行地操作的多个矩阵-向量单元(141到143)。矩阵-向量单元(141到143)中的每一个被配置成与其它矩阵-向量单元并行地对第一矩阵和来自第二矩阵的一个向量进行运算。此外,矩阵-向量单元(141到143)中的每一个可具有被配置成并行地操作的多个向量-向量单元(161到163)。向量-向量单元(161到163)中的每一个被配置成与其它向量-向量单元并行地对来自第一矩阵的向量和对应矩阵-向量单元的共同向量操作数进行运算。此外,向量-向量单元(161到163)中的每一个可具有被配置成并行地操作的多个乘累加单元(171到173)。
除处理单元(111)之外,深度学习加速器(103)还可具有本地存储器(115)和控制单元(113)。控制单元(113)可从随机存取存储器(105)加载指令(205)和矩阵操作数(例如,矩阵(207))以供处理单元(111)执行。本地存储器可高速缓存由矩阵-矩阵单元使用的矩阵操作数。连接(119)可被配置成具有在其中矩阵-矩阵单元对两个其它矩阵操作数执行运算的时间周期期间足以将矩阵操作数集合从随机存取存储器(105)加载到本地存储器(115)的带宽。此外,在所述时间周期期间,所述带宽足以将在先前指令执行中由矩阵-矩阵单元(121)产生的结果从本地存储器(115)存储到随机存取存储器(105)。
图6-8示出根据一些实施例的使用被配置的深度学习加速器和随机存取存储器实施的医疗图像处理。
在图6中,可使用具有信号发射器(251)和响应传感器(253)的成像装置来产生医疗图像。信号发射器(251)传输信号(例如,超声波、x射线、磁场中的无线电波);并且响应传感器(253)检测与个人或患者(255)交互的所传输信号的响应。被引导到局部区的信号可用于产生由图像中的像素表示的响应。对局部区的阵列的响应可经处理以产生正使用信号发射器(251)和响应传感器(253)扫描的患者(255)的部分的图像。
举例来说,信号发射器(251)和响应传感器(253)可被配置成使用超声波来确定患者(255)的部分的回声响应以产生超声波图像。
举例来说,信号发射器(251)和响应传感器(253)可被配置成使用x射线来确定通过患者(255)的部分的x射线的衰减以产生x射线图像。
类似地,计算机断层扫描(CT)图像和磁共振成像(MRI)图像可使用x射线和磁场中的无线电波来产生。
中央处理单元(CPU)(225)可用于控制信号发射器(251)和响应传感器(253)的操作以产生传感器输入(221),例如表示超声波图像、x射线图像、CT图像、MRI图像等的数据。图像可呈现在显示装置(257)上以用于初步评估/检查。
中央处理单元(CPU)(225)连接到集成电路装置(101)的存储器控制器接口(107)。中央处理单元(CPU)(225)可将传感器输入(221)写入到随机存取存储器(RAM)(105)的被配置成接收到人工神经网络(ANN)(201)的输入(211)的区中。
任选地,随机存取存储器(RAM)(105)可包含针对中央处理单元(CPU)(225)保留的部分,以存储用于运行中央处理单元(CPU)(225)中的应用程序和/或操作系统的指令和数据。举例来说,用于运行中央处理单元(CPU)(225)中的应用程序和/或操作系统的随机存取存储器可由集成电路装置(101)完全地或部分地供应。举例来说,存储器控制器接口(107)可以与存储器芯片将其存储器容量呈现给中央处理单元(CPU)(225)相同的方式将集成电路装置(101)呈现给中央处理单元(CPU)。
作为集成电路装置(101)中的传感器输入(221)的可用性的响应,深度学习加速器(DLA)(103)可执行DLA指令(205)以基于人工神经网络(ANN)(201)的矩阵(207)以及传感器输入(221)而产生来自人工神经网络(ANN)(201)的输出(213)。
举例来说,来自人工神经网络(ANN)(201)的输出(213)可包含由人工神经网络(ANN)(201)在传感器输入(221)中辨识的特征(243)的标识。基于由人工神经网络(ANN)(201)确定的标识,中央处理单元(CPU)(225)可突出显示对应于传感器输入(221)且呈现在显示装置(257)上的图像中的特征(243)。举例来说,突出显示可呈现在显示装置(257)上在基于响应传感器(253)中测量到的响应而产生的医疗图像之上。
任选地,来自人工神经网络(ANN)(201)的输出(213)可包含可能需要医疗关注的所辨识疾病、创伤、变形、异常等的所建议诊断(241)。中央处理单元(CPU)(225)可结合基于传感器(253)中测量到的响应而产生的医疗图像将所建议诊断(241)呈现在显示装置(257)上。所建议诊断(241)可引导技术员获取更相关和/或更好的图像以供医疗从业者分析。
基于由人工神经网络(ANN)(201)从传感器输入(221)识别的特征(243)和/或诊断(241),经由应用程序和/或操作系统配置的中央处理单元(CPU)(225)可产生提示或建议以引导经改进图像的获取。
举例来说,中央处理单元(CPU)(225)可显示所建议成像中心以聚焦于由人工神经网络(ANN)(201)辨识的关注点。
举例来说,中央处理单元(CPU)(225)可显示所关注特征的所建议半径,使得技术员可在获取展示具有类似于所建议半径的大小的特征的图像时进行放大或缩小。因此,特征可结合图像中所捕获的患者(255)的其它部分最佳地示出。
在一些实施方案中,在中央处理单元(CPU)(225)将传感器输入(221)写入到随机存取存储器(RAM)(105)中之后,中央处理单元(CPU)(225)可通过将消息写入到被配置在随机存取存储器(RAM)(105)中的预定消息队列来将消息发送到DLA(103)。深度学习加速器(DLA)(103)根据来自中央处理单元(CPU)(225)的消息中指定的请求处理传感器输入(221)。
举例来说,中央处理单元(CPU)(225)可使用消息来识别传感器输入(221)在随机存取存储器(RAM)(105)中的位置且致使深度学习加速器(DLA)(103)开始DLA指令(205)的集合的执行。
在一些情况下,随机存取存储器(RAM)(105)可包含用于经训练以执行不同分析区域的多个人工神经网络的数据和指令。举例来说,可使用不同人工神经网络来辅助患者(255)的不同部分的检查和/或出于不同目的的检查。中央处理单元(CPU)(225)可使用消息来选择一或多个人工神经网络以产生来自人工神经网络(ANN)(201)的输出(213)。
任选地,可在系统的设置过程期间识别与成像装置的当前使用相关的一或多个人工神经网络(例如,201)。举例来说,基于由技术员识别的目标,中央处理单元(CPU)(225)可将所选择人工神经网络(例如,201)的矩阵(例如,207)和指令(例如,205)写入到集成电路装置(101)的随机存取存储器(105)中。因此,集成电路装置(101)的推理能力可针对成像装置与患者(255)一起使用的电流进行定制和/或调整。
在图6中,传感器输入(221)通过存储器控制器接口(107)写入到集成电路装置(101)的随机存取存储器(RAM)(105)中。举例来说,中央处理单元(CPU)(225)可在代表响应传感器(253)将传感器输入(221)写入到随机存取存储器(RAM)(105)中的存储器插槽中时充当到存储器控制器接口(107)的主机系统或处理器。替代地,直接存储器存取(DMA)控制器可代表中央处理单元(CPU)(225)用于使传感器输入(221)通过存储器控制器接口(107)进入随机存取存储器(RAM)(105)中。
替代地,一或多个传感器接口可经提供以允许响应传感器(253)将传感器输入(例如,221)流式传输到随机存取存储器(RAM)(105)中。传感器接口可独立于主机系统/处理器使用存储器控制器接口(107)而用于存取来自人工神经网络(ANN)(201)的输出(213),如图7中所示出。
在图7中,一或多个传感器接口(227)经提供以允许成像装置的响应传感器将输入(221)写入到随机存取存储器(RAM)(105)中。举例来说,超声波图像、x射线图像、CT图像、MRI图像可独立于中央处理单元(CPU)(225)的操作而作为传感器输入(221)写入到随机存取存储器(RAM)(105)中。
举例来说,响应传感器(例如,253)可使用到专用传感器接口(例如,227)的串行连接来将其新输入(例如,221)写入到随机存取存储器(RAM)(105)中;并且同时,中央处理单元(CPU)(225)可检索从先前输入计算出的输出(213)。举例来说,通过响应传感器(253)将当前获取的图像写入到随机存取存储器(RAM)(105)中可与通过中央处理单元(CPU)(225)读取输出(213)并行地执行,其中与新图像的写入同时存取的输出(213)从先前获取的图像产生。
图7示出其中连接(109和229)将存储器控制器接口(107)和传感器接口(227)直接连接到随机存取存储器(RAM)(105)的实例。替代地,连接(109)和连接(229)可被配置成通过存储器接口(117)和/或深度学习加速器(DLA)(103)与随机存取存储器(RAM)(105)之间的高带宽连接(119)将存储器控制器接口(107)和传感器接口(227)间接连接到随机存取存储器(RAM)(105)。
图8的集成电路装置(101)包含中央处理单元(CPU)(225)。中央处理单元(CPU)(225)可执行类似于典型主机系统/处理器的指令。因此,随机存取存储器(RAM)(105)不仅可存储DLA指令(205)以供深度学习加速器(DLA)(103)执行,而且还可存储应用程序(235)的指令以供中央处理单元(CPU)(225)执行。
图8的集成电路装置(101)具有一或多个输入/输出接口(237)。响应传感器(253)可通过输入/输出接口(237)中的一个将其输入流式传输到随机存取存储器(RAM)(105)中。同时,中央处理单元(CPU)(225)可经由另一输入/输出接口(237)将音频和/或视频输出数据流式传输到显示装置(257)。
举例来说,在中央处理单元(CPU)(225)中运行的应用程序(235)可使用来自人工神经网络(ANN)(201)的输出(213)来注释使用信号发射器(251)和响应传感器(253)产生的图像。图像可经注释以识别所关注特征、所要成像中心点、所要成像定向、所要成像放大或缩小大小等。
图8示出其中连接(109和229)将存储器控制器(228)和输入/输出接口(237)直接连接到随机存取存储器(RAM)(105)的实例。替代地,连接(109)和连接(229)可被配置成经由存储器接口(117)和深度学习加速器(DLA)(103)与随机存取存储器(RAM)(105)之间的高带宽连接(119)将存储器控制器(228)和输入/输出接口(237)间接连接到随机存取存储器(RAM)(105)。在其它实施方案中,输入/输出接口(237)经由存储器控制器(228)、中央处理单元(CPU)(225)或另一控制器存取随机存取存储器(RAM)(105)。
举例来说,输入/输出接口(237)可被配置成支持到外围装置的串行连接,所述外围装置例如超声波扫描仪、x射线相机、CT或MRI扫描仪等。举例来说,输入/输出接口(237)可包含外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、移动行业处理器接口(MIPI)和/或相机接口等。
图9展示根据一个实施例的图像处理的方法。举例来说,图9的方法可实施在图1、图6、图7、图8的集成电路装置(101)和/或图5的系统中。
在框301处,将表示人工神经网络(201)的参数的第一数据写入到装置(例如,101)的随机存取存储器(105)。举例来说,第一数据可包含由DLA编译器(203)从人工神经网络(201)的描述产生的矩阵(207)。
在框303处,将表示指令(205)的第二数据存储到装置(101)的随机存取存储器(105)中。举例来说,第二数据可包含由DLA编译器(203)从人工神经网络(201)的描述产生的指令(205)。指令(205)可执行以至少使用存储在随机存取存储器(105)中的第一数据来实施人工神经网络(201)的矩阵计算。
在框305处,经由装置(101)的至少一个接口接收表示成像设备中产生的图像的第三数据。成像设备被配置成对例如患者(255)等个人的部分进行成像。举例来说,第三数据可包含由成像设备产生的传感器输入(221)。举例来说,至少一个接口可包含存储器控制器接口(107)、传感器接口(227)和/或输入/输出接口(237)。
举例来说,成像设备可包含超声波探头、计算机断层扫描(CT)扫描仪或磁共振成像(MRI)扫描仪。
在框307处,经由至少一个接口将表示由成像设备产生的图像的第三数据写入到装置(101)的随机存取存储器(105)。
在框309处,至少一个处理单元(111)执行由第二数据表示的指令(205)以实施人工神经网络(201)的矩阵计算。
在框311处,装置(101)输出被配置成根据人工神经网络(201)引导或辅助个人的部分的成像的指示。
举例来说,指示可包含识别由人工神经网络(201)在图像中辨识的特征(243)的数据。
举例来说,特征可识别为与异常相关联和/或表示个人的部分中的结构组件。
任选地或组合地,指示可进一步包含表示由人工神经网络确定的特征的健康或异常的诊断的数据。
任选地,装置(101)可包含:信号发射器(251),其被配置成将信号传播到个人的部分中;以及响应传感器(253),其被配置成确定与个人的部分交互的信号的响应。举例来说,来自发射器(251)的信号可包含超声波、x射线或无线电波,或其任何组合。
举例来说,响应传感器(253)可通过至少一个接口和接口与响应传感器(253)之间的串行连接将表示图像的第三数据写入到随机存取存储器(105)中。
任选地,装置(101)可进一步包含被配置成执行存储在随机存取存储器(105)中的应用程序(235)的指令的中央处理单元(225)。装置(101)的输入/输出接口(237)可连接到显示装置(257)以呈现由中央处理单元(225)使用来自人工神经网络(201)的输出(213)产生的应用程序(235)的输出。
举例来说,应用程序的输出可包含由成像设备产生的图像的所建议属性的标识。属性可包含图像的中心、视角或缩放大小,或其任何组合。
举例来说,属性的指示可叠加在由成像设备产生的图像上以引导或辅助对个人或患者(255)的部分进行成像的技术员。
举例来说,成像设备可包含超声波探头、计算机断层扫描(CT)扫描仪或磁共振成像(MRI)扫描仪,或另一医疗成像设备。
本公开包含执行上文所描述的方法的方法和设备,包含执行这些方法的数据处理系统,以及含有在数据处理系统上执行时致使所述系统执行这些方法的指令的计算机可读媒体。
典型数据处理系统可包含互连件(例如,总线和系统核心逻辑),其互连微处理器和存储器。微处理器通常耦合到高速缓存存储器。
互连件将一或多个微处理器和存储器互连在一起,并且还将其经由输入/输出(I/O)控制器互连到一或多个I/O装置。I/O装置可包含显示装置和/或外围装置,例如鼠标、键盘、调制解调器、网络接口、打印机、扫描仪、摄像机和所属领域中已知的其它装置。在一个实施例中,在数据处理系统是服务器系统时,I/O装置(例如打印机、扫描仪、鼠标和/或键盘)中的一些是任选的。
互连件可包含通过各种桥、控制器和/或适配器彼此连接的一或多个总线。在一个实施例中,I/O控制器包含用于控制通用串行总线(USB)外围装置的USB适配器,和/或用于控制IEEE-1394外围装置的IEEE-1394总线适配器。
存储器可包含以下中的一或多个:只读存储器(ROM)、易失性随机存取存储器(RAM),和非易失性存储器,例如硬盘驱动器、快闪存储器等。
易失性RAM通常实施为动态RAM(DRAM),其不断地需要电能才能刷新或将数据维持在存储器中。非易失性存储器通常是磁性硬盘、磁性光盘、光盘(例如,DVD RAM),或即使在从系统去除电力之后仍维持数据的其它类型的存储器系统。非易失性存储器还可为随机存取存储器。
非易失性存储器可为与数据处理系统中的其余组件直接耦合的本地装置。还可使用远离系统的非易失性存储器,例如通过例如调制解调器或以太网接口的网络接口耦合到数据处理系统的网络存储装置。
在本公开中,一些功能和操作被描述为由软件代码执行或由软件代码引起以简化描述。然而,此类表达还用于指定所述功能是由例如微处理器的处理器执行代码/指令产生。
替代地或组合地,如此处所描述的功能和操作可使用具有或不具有软件指令的专用电路系统实施,例如使用专用集成电路(ASIC)或现场可编程门阵列(FPGA)。可使用不具有软件指令的固线式电路系统或结合软件指令实施实施例。因此,技术不限于硬件电路系统和软件的任何具体组合,也不限于由数据处理系统执行的指令的任何特定来源。
虽然一个实施例可实施在全功能计算机和计算机系统中,但各种实施例能够分布为多种形式的计算产品,并且能够不论实际上用于实现分布的机器或计算机可读媒体的特定类型如何都适用。
所公开的至少一些方面可至少部分地体现在软件中。也就是说,响应于例如微处理器的其处理器执行例如ROM、易失性RAM、非易失性存储器、高速缓存器或远程存储装置的存储器中所含有的指令序列,技术可进行于计算机系统或其它数据处理系统中。
经执行以实施实施例的例程可实施为操作系统或具体应用程序、组件、程序、对象、模块或被称作“计算机程序”的指令序列的部分。计算机程序通常包含计算机中的各种存储器和存储装置中在各种时间处的一或多个指令集,并且所述指令集在由计算机中的一或多个处理器读取和执行时致使计算机执行必需操作以执行涉及各种方面的元件。
机器可读媒体可用于存储当由数据处理系统执行时致使系统执行各种方法的软件和数据。可执行软件和数据可存储在各种位置中,包含例如ROM、易失性RAM、非易失性存储器和/或高速缓存器。此软件和/或数据的部分可存储在这些存储装置中的任一个中。另外,可从集中式服务器或对等网络获得数据和指令。数据和指令的不同部分可在不同时间且在不同通信会话中或同一通信会话中从不同集中式服务器和/或对等网络获得。可在执行应用程序之前完整地获得数据和指令。替代地,可动态地、及时地在需要执行时获得数据和指令的部分。因此,不要求数据和指令在特定的时间点完整地在机器可读媒体上。
计算机可读媒体的实例包含但不限于非暂时性的可记录和不可记录类型的媒体,例如易失性和非易失性存储器装置、只读存储器(ROM)、随机存取存储器(RAM)、快闪存储器装置、软盘和其它可移除盘、磁盘存储媒体、光学存储媒体(例如,光盘只读存储器(CDROM)、数字通用光盘(DVD)等),等等。计算机可读媒体可存储指令。
指令还可体现在用于电、光、声或其它形式的传播信号的数字和模拟通信链路中,所述传播信号例如载波、红外信号、数字信号等。然而,例如载波、红外信号、数字信号等的传播信号不是有形的机器可读媒体,也不被配置成存储指令。
一般来说,机器可读媒体包含以可由机器(例如,计算机、网络装置、个人数字助理、制造工具、具有一或多个处理器集合的任何装置等)存取的形式提供(即,存储和/或发射)信息的任何机制。
在各种实施例中,固线式电路系统可与软件指令组合使用以实施技术。因此,技术不限于硬件电路系统和软件的任何具体组合,也不限于由数据处理系统执行的指令的任何特定来源。
以上描述和图式是说明性的,并且不应理解为限制性的。描述许多具体细节以提供透彻理解。然而,在某些例子中,不描述众所周知的或常规的细节以免使描述内容模糊不清。本公开中对一个或一实施例的参考未必参考同一实施例;并且此类参考意味着至少一个。
在前文说明书中,本公开已参考其具体示例性实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中所阐述的较广泛精神和范围的情况下对其作出各种修改。因此,应在说明性意义上而不是限制性意义上看待说明书和图式。
- 晶片评价方法和外延晶片的制造方法
- 晶片的加工方法和晶片的加工中使用的辅助器具
- 用于晶片的共晶键合的方法和晶片复合体
- 晶片清洗设备及应用其的晶片清洗方法
- 晶片温控系统、晶片温控方法及反应腔室
- 晶片和芯片的制造方法、晶片以及激光束的对位方法
- 晶片、晶片的制造方法以及器件芯片的制造方法