首页> 中国专利> 具有内部处理器的存储器及存储器中的数据通信方法

具有内部处理器的存储器及存储器中的数据通信方法

摘要

本发明提供具有内部处理器的存储器及此存储器内的数据通信的方法。在一个实施例中,内部处理器可经由一个或一个以上缓冲器同时存取存储器装置上的存储器阵列上的一个或一个以上存储体。所述内部处理器可耦合到能够存取一个以上存储体的缓冲器或耦合到可各自存取一存储体的一个以上缓冲器,使得可同时从不同存储体检索数据及将数据存储于不同存储体中。此外,所述存储器装置可经配置以用于经由例如耦合到一个或一个以上内部处理器中的每一者的缓冲器的存储器组件之间的耦合而在所述内部处理器之间通信。因此,可由不同内部处理器执行多运算指令,且可将来自一个内部处理器的数据(例如,中间结果)传送到所述存储器的另一内部处理器,从而实现指令的并行执行。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-03-09

    授权

    授权

  • 2012-11-07

    实质审查的生效 IPC(主分类):G06F15/78 申请日:20101007

    实质审查的生效

  • 2012-09-12

    公开

    公开

说明书

技术领域

本发明的实施例一般来说涉及存储器(例如,存储器装置及存储器系统),且更明确 地说涉及具有内部处理器的存储器。

背景技术

本章节打算向读者介绍此项技术的各个方面,所述方面可涉及下文所描述及/或所主 张的本发明的各个方面。据信,此论述有助于向读者提供背景信息以促进更好地理解本 发明的各个方面。因此,应理解,应将这些陈述判读为就上述情形而论而不是判读为对 现有技术的认可。

电子系统通常包含一个或一个以上处理器,所述一个或一个以上处理器可检索并执 行指令且存储(例如,收回)所述所执行指令的结果,例如用以将所述结果存储到适合位 置的指令。处理器可通常使用算术逻辑单元(ALU)电路来对数据(例如,一个或一个以上 操作数)执行指令(例如,算术及逻辑运算)。举例来说,ALU电路可使操作数彼此相加、 相减、相乘或相除,或者可使一个或一个以上操作数经历逻辑运算,例如AND、OR、 XOR及NOT逻辑函数。处理器可执行具有不同复杂度的指令,且不同指令可涉及在一 个或多个时钟循环中经由ALU电路输入操作数。

在将一指令集引导到ALU以供执行中可涉及电子系统中的若干个组件。在一些装 置中,可由电子系统中的控制器或某一其它适合处理器产生所述指令。可将数据(例如, 将对其执行指令的操作数)存储于可由ALU存取的存储器装置(例如,存储器阵列)中。 在ALU开始对数据执行指令之前,可从存储器装置检索指令及数据并对其进行定序及/ 或缓冲。此外,由于可在一个或多个时钟循环中经由ALU执行不同类型的运算,因此 还可对指令及/或数据的中间结果进行定序及/或缓冲。

通常,处理器(例如,ALU电路)可在存储器阵列外部,且经由处理器与存储器阵列 之间的总线来存取数据以执行一指令集。由于处理速度可受总线的带宽限制,因此可在 其中处理器实施于存储器内部(例如,直接在存储器装置上)的存储器中处理器(PIM)装置 中改进处理性能,从而节约处理时间及电力。此外,还可通过针对不同指令或一指令的 不同部分(运算)大致同时写入、读取、定序、缓冲及执行指令及/或数据来改进处理电力。

发明内容

附图说明

在以下详细说明中且参考图式描述某些实施例,在图式中:

图1描绘根据本发明技术的实施例的基于处理器的系统的框图;

图2描绘根据本发明技术的实施例的具有与外部处理器介接的内部处理器的存储器 系统的框图;

图3图解说明根据本发明技术的一个或一个以上实施例的具有内部处理器的存储器 的一部分,其中所述内部处理器及缓冲器耦合到存储器阵列中的一个或一个以上存储 体;

图4图解说明根据本发明技术的一个或一个以上实施例的具有内部处理器的存储器 的一部分,其中所述内部处理器耦合到两个或两个以上缓冲器及存储器阵列中的若干存 储体;

图5图解说明根据本发明技术的一个或一个以上实施例的具有内部处理器的存储器 的一部分,其中所述内部处理器各自耦合到两个或两个以上缓冲器及存储器阵列中的若 干存储体,且其中所述缓冲器中的每一者耦合到耦合到所述内部处理器中的另一者的另 一缓冲器;

图6图解说明根据本发明技术的一个或一个以上实施例的具有内部处理器的存储器 的一部分,其中所述内部处理器耦合到两个或两个以上缓冲器及存储器阵列中的若干存 储体,且其中所述缓冲器耦合在一起;

图7图解说明根据本发明技术的一个或一个以上实施例的具有两者均可由内部处理 器存取的经由双向总线耦合的两个或两个以上存储器阵列存储体的存储器的一部分;且

图8图解说明根据本发明技术的一个或一个以上实施例的具有各自耦合到内部处理 器的两个或两个以上存储器阵列存储体的存储器的一部分。

具体实施方式

电子装置通常可使用处理器来在多个级中处理指令。处理指令可包含执行指令并存 储所执行指令的结果。举例来说,指令及将对其执行所述指令的数据可由外部处理器(例 如,存储器控制器)发送到内部处理器(例如,ALU电路)。所述指令及/或数据可首先存 储于存储器阵列中以在内部处理器可用于执行指令时检索。一旦已执行所述指令,内部 处理器便可将所述指令的结果存储于存储器组件、存储器阵列中或存储到任一其它适合 输出。

在存储器外部的处理器可采用外部总线来将信息(例如,指令及/或数据)传送到存储 器阵列且从存储器阵列传送信息。处理效率可部分地受外部总线的带宽限制,因为在存 储器阵列与处理器之间传送信息可消耗电力及时间。在一个或一个以上实施例中,存储 器可通过允许在不借助外部总线的情况下在存储器阵列与处理器之间传送信息来节约 电力。

根据本发明技术,一个或一个以上处理器(例如,ALU)可与存储器装置封装在一起。 举例来说,存储器可为存储器中处理器(PIM)且可包含嵌入于存储器装置(例如,存储器 阵列)上的ALU,所述存储器装置可存储待由ALU执行的指令及数据以及来自所述所执 行指令的结果。在其它实施例中,ALU及存储器阵列可在同一封装中的独特裸片上。举 例来说,ALU及存储器阵列可布置成多芯片封装(MCP)且可通过一个或一个以上穿硅通 孔(TSV)电连接。与存储器装置封装在一起(举例来说,无论是嵌入于存储器装置上还是 作为MCP的一部分)的处理器可称为“内部处理器”,且因此与处理器封装在一起的存 储器装置可视为“具有”内部处理器的存储器。如本文中所使用,“计算引擎”可为内 部处理器的实例且可根据本发明技术与存储器装置封装在一起。此外,内部处理器(例如, 计算引擎)可包括一个或一个以上ALU。

存储器还可包含例如用以组织指令的定序器及用以在计算引擎执行运算之前存储 (例如,保持)数据的缓冲器的组件。在一些实施例中,缓冲器还可在将中间结果或最终 结果传送到存储器阵列之前保持所述中间结果或最终结果。

本发明技术的一个实施例涉及经配置使得写入、读取、定序、缓冲及执行指令及/ 或数据可大致同时发生于不同指令或一指令的不同部分上的存储器。此并行处理的组合 可称为“管线化”。存储器装置中的管线化可节省处理时间,因为可并行读取、缓冲、 执行及/或写入指令的不同部分。管线化的限制可部分地归因于存储器的配置。在本发明 技术的一个或一个以上实施例中,具有内部处理器的存储器可经配置以实现或改进管线 化。

现翻到图,图1描绘基于处理器的系统(大体由参考编号10指定)。如下文所阐释, 系统10可包含根据本发明技术的实施例制造的各种电子装置。系统10可为例如计算机、 寻呼机、蜂窝式电话、个人记事本、控制电路等多种类型中的任一者。在典型基于处理 器的系统中,一个或一个以上处理器12(例如,微处理器)控制对系统10中的系统功能 及请求的处理。如下文所阐释,系统10的处理器12及其它子组件可包含根据本发明技 术的一个或一个以上实施例制造的存储器。

系统10通常包含电源14。举例来说,如果系统10为便携式系统,则电源14可有 利地包含燃料电池、电力采集装置(power scavenging device)、永久电池、可更换电池及/ 或可再充电电池。举例来说,电源14还可包含AC适配器,因此系统10可插入到墙式 插座中。举例来说,电源14还可包含DC适配器,使得系统10可插入到车载点烟器中。

取决于系统10执行的功能,可将各种其它装置耦合到处理器12。举例来说,可将 输入装置16耦合到处理器12。举例来说,输入装置16可包含按钮、开关、键盘、光笔、 鼠标、数字化器及手写笔及/或语音辨识系统。还可将显示器18耦合到处理器12。输入 装置16及/或显示器18可各自或两者均形成用户接口。举例来说,显示器18可包含LCD、 SED显示器、CRT显示器、DLP显示器、等离子显示器、OLED显示器、LED及/或音 频显示器。此外,还可将RF子系统/基带处理器20耦合到处理器12。RF子系统/基带 处理器20可包含耦合到RF接收器及RF发射器的天线(未展示)。还可将一个或一个以 上通信端口22耦合到处理器12。举例来说,通信端口22可适于耦合到一个或一个以上 外围装置24(例如,调制解调器、打印机、计算机)或网络(例如,局域网、远程局域网、 内联网或因特网)。

处理器12通常通过处理存储于存储器中的程序来控制系统10。举例来说,软件程 序可包含操作系统、数据库软件、绘图软件、字处理软件及/或视频、图片或声音编辑软 件。所述存储器以可操作方式耦合到处理器12以存储并促进指令的执行以实施各种程 序。举例来说,处理器12可耦合到系统存储器26,系统存储器26可包含动态随机存取 存储器(DRAM)及/或同步动态随机存取存储器(SDRAM)。系统存储器26可包含易失性 存储器、非易失性存储器或其组合。系统存储器26通常较大使得其可动态地存储所载 入的应用程序及数据。

处理器12还可耦合到非易失性存储器28,此并不暗示系统存储器26必需为易失性 的。非易失性存储器28可包含将结合系统存储器26使用的只读存储器(ROM),例如 EPROM、电阻式只读存储器(RROM)及/或快闪存储器。ROM的大小通常选择为恰好足 够大以存储任一必需操作系统、应用程序及固定数据。另外,非易失性存储器28可包 含高容量存储器,例如磁带或磁盘驱动器存储器(例如,包含电阻式存储器或其它类型的 非易失性固态存储器的混合式驱动器)。

本发明技术的一些实施例涉及处理器12与系统存储器26的组件之间的通信。举例 来说,处理器12可包含通用处理器、中央处理单元、处理器核心、ASIC、存储器控制 器及/或ALU,(举例来说)其能够发送及接收来自存储器(例如,系统存储器26中的存储 器装置)的内部处理器的信号。处理器12与存储器(例如,系统存储器26)的组件之间的 通信中所涉及的系统10的组件通常可称为“存储器系统”30,如图2的框图中所图解 说明。在一些实施例中,存储器系统30可包含存储器装置34,其可为系统10(如图1 中)的系统存储器26的一部分且可具有内部处理器(例如,计算引擎38)。如所论述,举 例来说,计算引擎38可嵌入于存储器装置34上或为具有存储器装置34的MCP的一部 分。存储器系统30还可包含外部处理器32,其可与另一通用处理器一起位于芯片上系 统(SOC)中以共同地形成处理器控制式系统10(如图1中)的处理器12。外部处理器32(其 还可为外部存储器控制器)可与存储器装置34的某些组件通信及/或控制存储器装置34 的某些组件。

存储器系统30可包含具有不限于外部处理器32与存储器装置34之间的通信的功 能的组件。举例来说,外部处理器32可控制除存储器装置34以外的装置。然而,外部 处理器32(如关于存储器系统30所阐释)可指外部处理器32的与存储器装置34的某些 组件通信及/或控制存储器装置34的某些组件的一个功能。同样地,并非系统存储器26 的所有部分均可为存储器系统30的一部分。根据本发明技术,“存储器装置”34可指 在与外部处理器32的通信中所涉及的存储器系统的组件。

外部处理器32与存储器装置34可通过标准存储器接口44而以可操作方式耦合, 此可允许在外部处理器32与存储器装置34之间进行数据传送且可允许外部处理器32 向存储器装置34发送(例如,传送)命令。举例来说,在一个或一个以上实施例中,标准 存储器接口44的类型可包含DDR、DDR2、DDR3、LPDDR或LPDDR2。此外,在一 些实施例中,额外接口可经配置以允许在存储器装置34与外部处理器32之间传送数据 以及命令(例如,请求、授予、指令等)。举例来说,外部处理器32与存储器装置34还 可通过控制接口46而以可操作方式耦合,此可允许在外部处理器32与存储器装置34 之间传送命令(包含将命令从存储器装置34传送到外部处理器32)。

存储器装置34可包含计算引擎38及存储器阵列36。存储器阵列36可指任一适合 形式的存储且可包含(举例来说)DRAM阵列或SDRAM阵列。外部处理器32(例如,存 储器控制器)可存取存储器阵列36进行且可能够写入待由计算引擎38执行的数据或指 令。计算引擎38可为内部处理器的一个实例且可包含一个或一个以上算术逻辑单元 (ALU)。此外,计算引擎38可指存储器装置34上的多个计算引擎38。

计算引擎38可能够存取存储器阵列36,包含从存储器阵列36检索信息及将信息(例 如,收回的结果)存储于存储器阵列36中。在计算引擎38与存储器阵列36之间检索及 存储信息的过程可涉及定序器40、提取单元50、存储器控制件48及例如缓冲器42的 存储器组件。定序器40可将由外部处理器32发送到存储器阵列36的指令定序并将从 存储器阵列36检索的数据存储于例如缓冲器42的存储器组件中。定序器40可将用于 存取存储器阵列36的地址及命令信息传递到提取单元50,且提取单元50可根据所述命 令信息将存储器阵列36状态定序(例如,根据读取及写入命令打开或关闭一存储体)。在 一个实施例中,存储器控制件48可将由提取单元50从定序器40接收的命令及地址位 解码。

一旦计算引擎38已执行所述指令,便可在将结果写入到存储器阵列36之前将所述 结果存储于缓冲器42中。此外,由于在所述计算引擎中一些指令可需要一个以上时钟 循环及/或需要执行多个运算,因此还可将中间结果存储于存储器装置34中的存储器组 件中。举例来说,可将中间结果存储于例如耦合到计算引擎38的缓冲器42或存储器寄 存器等存储器组件中。在一个或一个以上实施例中,计算引擎38可针对所述中间结果 存取缓冲器42以执行随后运算。

在一些实施例中,缓冲器42可包含一个以上缓冲器层。举例来说,缓冲器42可包 含可存储数据(例如,操作数)及指令的计算缓冲器以及可存储指令的指令缓冲器。缓冲 器42还可包含可提供较密集存储且可存储所执行指令的中间或最终结果的额外缓冲器 (例如,数据缓冲器或简单缓冲器)。如本文中所使用,举例来说,“缓冲器42”可指任 一类型的缓冲器或任一缓冲器层(例如,计算缓冲器、指令缓冲器、数据缓冲器等)或能 够保持传送到计算引擎38及从计算引擎38传送的数据及/或指令的任一类型的存储器。

在典型存储器系统30中,外部处理器32可将数据及指令存储于存储器装置34上 的存储器阵列36中。定序器40可存取存储器阵列36以检索所述指令且可将数据从存 储器阵列36拷贝到缓冲器42。计算引擎38可对存储于计算缓冲器中的数据执行指令。 通常,定序器40可在起始随后传送之前等待存储器阵列36与计算缓冲器42之间的传 送完成。然而,处理速度可在存储器阵列36与计算缓冲器42之间的传送增加的情况下 增加。

举例来说,在如图3中的存储器装置52的一部分中所描绘的一个实施例中,可通 过将一个或一个以上缓冲器42a到42d耦合到一个或一个以上存储器单元群组(例如,存 储器阵列36中的存储体54a到54d)来在存储器阵列36与缓冲器42之间大致同时发生 多个传送。存储器装置52可具有耦合到每一缓冲器42a到42d的一个或一个以上计算 引擎38a到38d(例如,每一计算引擎38a到38d可包括一个或一个以上ALU)。每一存 储体54a到54d可包含一个或一个以上存储体。举例来说,可将多个存储体耦合到每一 缓冲器42a到42d,缓冲器42a到42d耦合到每一计算引擎38a到38d。

在一个实施例中,计算引擎38a可对存储于缓冲器42a中及从存储器阵列36中的 存储器存储体54a的一页检索的数据执行指令,且同时,另一计算引擎38b可对存储于 缓冲器42b中及从存储器阵列36中的另一存储器存储体54b的一页检索的数据执行指 令。此外,另一计算引擎38c可将完成的结果传送到缓冲器42c,缓冲器42c可将所述 完成的结果存储到存储器阵列36中的另一存储体54c的一页。因此,可在存储器阵列 36中的不同存储体54a到54d的页与耦合到计算引擎38a到38d的缓冲器42a到42d之 间大致同时发生若干传送而非等待存储器阵列36与缓冲器42之间的每一传送完成。

在另一实施例中,如图4中的存储器装置部分56中所图解说明,每一计算引擎38e 及38f可分别耦合到一个以上缓冲器42e到42f及42g到42h,且每一缓冲器42e到42h 可耦合到存储器阵列36中的一个或一个以上存储体54e到54h。由于每一计算引擎38e 及38f耦合到至少两个缓冲器42e到42f及42g到42h,因此每一计算引擎38e及38f可 同时检索数据及存储完成的结果。举例来说,缓冲器42e可从一个或一个以上存储器阵 列存储体54e检索操作数,且计算引擎单元38e可对那些操作数执行指令。一旦计算引 擎单元38e已对所述操作数执行指令,便可将完成的结果保持于计算缓冲器42f中且存 储于一个或一个以上存储器阵列存储体54f中。在正将完成的结果传递到缓冲器42f及/ 或存储于存储体54f中时,缓冲器42e可正从存储体54e预取操作数(例如,检索下一指 令或运算的操作数)。因此,计算引擎38e可不必在检索下一组操作数之前等待缓冲器结 束收回完成的结果,因为对不同存储体54e及54f可由不同缓冲器42e及42f大致同时 发生检索与存储数据。

取决于待由计算引擎38运算的指令及/或数据,还可通过跨越多个计算引擎38分配 指令(或指令的部分)的执行来增加处理效率。举例来说,指令x可划分成运算m、n、o 及p。每一运算可具有变成随后运算的操作数的中间结果。举例来说,运算m可产生为 运算n的操作数的结果,且运算n可产生为运算o的操作数的结果,等等。在一个实施 例中,定序器40(图2中)可指定由存储器装置34中的一个或一个以上计算引擎38执行 运算。在另一实施例中,外部处理器32可大致控制将指令划分成若干运算且将所述运 算指定给一个或一个以上计算引擎38。此外,在另一实施例中,划分指令及/或将运算 指定给计算引擎38可主要在存储器装置34上进行控制。

有效地分配及执行指令的多个运算的一个实施例可为实现存储器装置34中的计算 引擎38之间的通信。更具体来说,存储器装置34可包括多个计算引擎38,且一个或一 个以上缓冲器42可耦合到每一计算引擎38。缓冲器42还可各自耦合到另一缓冲器42。 举例来说,一行中的缓冲器42可直接用总线连接到存储器装置34中的另一行中的缓冲 器42。因此,可经由缓冲器42来在计算引擎38之间传送数据,从而节省缓冲器42与 存储器阵列36之间的一个或一个以上数据传送。

如图5中的存储器装置部分58的图示中所图解说明,多个计算引擎38m到38p可 通过传送数据及/或运算(即,指令的部分)而通信,使得可并行执行一个或一个以上指令。 指令的并行执行可涉及在多个运算步骤中执行所述指令。可由计算引擎38m到38p执行 每一运算且可传送来自由一个计算引擎38执行的一个运算的中间结果作为用于待由另 一计算引擎38执行的不同运算的操作数。可经由可耦合到每一计算引擎38的缓冲器42 来将数据(例如,中间结果)从一个计算引擎38传送到另一计算引擎。在一个或一个以上 实施例中,缓冲器42可以可操作方式耦合(例如,经由总线60直接连接)到另一行中的 缓冲器42以实现缓冲器42之间的信息传送。

举例来说,可将可包含指令及/或用于所述指令的操作数的信息存储于存储器阵列存 储体54p中。取决于存储器装置34的配置,经指定以用于执行指令的部分的计算引擎 38m到38p可不邻近于经配置以存取含有数据的存储体54p的缓冲器42p。举例来说, 如果将指令划分成不同运算,则经指定以用于执行一运算的计算引擎38m到38p中的一 者或一者以上在物理上可不位于接近保持用于所述运算的数据的缓冲器42p处且在物理 上可不位于接近执行同一指令的其它运算的其它计算引擎38m到38p处。

在一个实施例中,可将信息从存储体54p传送到经配置以存取存储体54p的缓冲器 42p。可不将第一运算指定给邻近于缓冲器42p的计算引擎38p且可替代地指定给在物 理上不位于接近缓冲器42p处的计算引擎38m。因此,缓冲器42p可经由一个或一个以 上总线60a到60c将指令传送到中间缓冲器42o及42n直到在目标缓冲器42m(即,直 接耦合到目标计算引擎38m的缓冲器)处接收到指令集中的第一运算为止。

可耦合任何数目个缓冲器42或缓冲器42的组合的总线60可为宽的且可在一个循 环中传送一整行数据。在一些实施例中,总线60可为相对窄的且可在多个循环内传送 一行数据。在一个或一个以上实施例中,总线60可各自为单向或双向的,且存储器装 置34可具有各式各样的总线60,所述总线可为单向或双向的或者窄的或宽的。

此外,一个总线60a可传送与随后总线60b及60c不同量的数据。举例来说,计算 引擎38p可经指定以执行运算p,且与运算p相关的数据可在将所述数据从存储体54p 传送到缓冲器42p之后保持于缓冲器42p中。计算引擎38o可经指定以执行运算o,且 与运算o相关的数据可保持于缓冲器42o中。接着,可将用于执行指令的其它数据从缓 冲器42o传送到下一缓冲器42n。如果计算引擎38n经指定以执行运算n,则可将与运 算n相关的指令保持于缓冲器42n中而可将其它数据从缓冲器42n传送到下一缓冲器 42m。缓冲器42m可保持用于计算引擎38m的数据且可将用于计算引擎38m的操作数 及指令从缓冲器42m传送到计算引擎38m,使得计算引擎38m可执行运算m。

如先前关于图4所论述,计算引擎38m到38p可在缓冲器42m到42p不断地检索 用于下一运算或指令的数据时执行运算。大致同时地,计算引擎38m到38p可将某一运 算或指令的中间结果或最终结果传送到也耦合到计算引擎38m到38p的其它缓冲器42q 到42t。或者,举例来说,其它缓冲器42q到42t可经由总线60将中间结果从一个缓冲 器42q传送到另一缓冲器42r,使得由一个计算引擎38m执行的运算m的中间结果可用 作待由另一计算引擎38n执行的下一运算n中的操作数。一旦已执行指令(即,已执行指 令中的所有运算),便可将最终结果从计算引擎38p传送到缓冲器42t,使得缓冲器42t 可将所述最终结果存储于存储器阵列存储体54t中。在一个实施例中,可将最终结果存 储于任一存储器阵列存储体54t中而不论存储体54是否邻近于保持所述最终结果的缓冲 器42t。因此,由于可将多个缓冲器42耦合到计算引擎38,因此可经由不同缓冲器42 及/或在不同存储器阵列存储体54上大致同时发生检索与存储数据。

虽然计算引擎38之间的经由缓冲器42的通信路径图解说明了图5中的缓冲器42 行之间的垂直总线60,但根据本发明技术,还可水平地耦合一个或一个以上缓冲器42, 如图6的存储器装置部分62中所描绘。举例来说,使用计算引擎38m及相关联缓冲器 42m及42q以及存储体54m及54q(来自图5)作为实例,缓冲器42m及42q还可经由水 平总线64耦合,使得缓冲器42m与耦合到计算引擎38m的缓冲器42q还可彼此耦合且 可将数据从一个缓冲器42m传送到另一缓冲器42q。在一个或一个以上实施例中,水平 总线64可使得存储器装置34能够传送大量数据,因为耦合到计算引擎38m的每一缓冲 器42m及42q均可保持用于待由计算引擎38m执行的运算或执行的全部指令的数据。 类似于先前所论述的总线60,水平总线64也可为单向或双向的且在数据传送能力方面 可为宽的或窄的。

此外,在一个实施例中,计算引擎38m可从一个存储器阵列存储体54m检索数据 且可在其已执行指令之后将最终结果存储到另一存储体54q。此数据检索与存储也可大 致同时发生,因为缓冲器42q可将数据存储于存储体54q中,且缓冲器42m可不必在从 存储体54m检索下一数据之前等待缓冲器42q与存储体54q之间的传送完成。如所论述, 数据的同时检索及存储可实现存储器装置34的较快处理性能。

在一个或一个以上实施例中,每一计算引擎38可耦合到能够与多个存储器阵列存 储体54通信的缓冲器42。举例来说,在存储器装置部分66的一个实施方案中,双向总 线可将一个存储器阵列存储体54w耦合到另一存储器阵列存储体54x,如图7中所图解 说明。可经由总线68在存储体54w与54x之间传送数据,且缓冲器42还可向或从存储 体54w及54x中的任一者传送数据。因此,计算引擎38可使用从缓冲器42对其进行存 取的耦合的存储体54w及54x中的任一者检索的数据来执行运算或执行全部指令且可将 所述运算或指令的结果存储于存储体54w及54x中的任一者中。在此实施方案中,存取 可限于一次一个存储器阵列存储体54,因为在缓冲器42与耦合的存储体54w及54x中 的任一者之间仅存在一个总线70。举例来说,如果正将数据从缓冲器42存储到存储体 54x,则计算引擎38可必须在其可对待从存储体54w检索到缓冲器42的数据执行运算 之前等待此传送完成。

在另一实施例中,计算引擎38可再次耦合到缓冲器42,缓冲器42耦合到一个以上 存储器阵列存储体54。举例来说,如图8的存储器装置部分72中所描绘,缓冲器42可 经由总线74y耦合到存储器阵列存储体54y且经由另一总线74z耦合到另一存储体54z。 在一个实施例中,不仅可从不同存储体54检索数据及将数据存储于不同存储体54中, 还可同时检索及存储数据,因为缓冲器42可具有耦合到存储器阵列36中的不同存储体 54的一个以上总线。举例来说,可在经由总线74y将数据从存储体54y检索到缓冲器 42时经由总线74z将数据从缓冲器42存储到存储体54z。此实施例可使得计算引擎38 能够在传送数据时在不受总线的带宽或缓冲器限制的情况下不断地执行运算或不断地 执行全部指令,因此改进处理性能。缓冲器42与不同存储器阵列存储体54之间的总线 74中的每一者可为不同宽度且可为双向或单向的(例如,一个总线74y可为双向的而另 一总线74z可为单向的)。

虽然所论述的图指存储器阵列存储体54,但对存储器阵列存储体54(例如,54a、 54e、54m、54x、54y)的每一提及可指存储器阵列36中的一个或一个以上存储体54。对 缓冲器42的每一提及可指一个或一个以上缓冲器42层或任一类型的缓冲器(例如,指令 缓冲器、计算缓冲器、数据缓冲器等)。此外,对计算引擎38的每一提及可指具有任一 大小(例如,128字节ALU或256字节ALU等)的计算引擎38,且对存储器装置34或存 储器装置部分(例如,存储器装置部分52、56、58、62、66、72)上的多个计算引擎38 的提及可包含各自具有不同大小的多个计算引擎38。

虽然易于对本发明做出各种修改及替代形式,但已在图式中以实例方式展示了特定 实施例且在本文中详细描述了所述特定实施例。然而,应理解,本发明并不打算限于所 揭示的特定形式。而是,本发明将涵盖属于如以上所附权利要求书所定义的本发明的精 神及范围内的所有修改、等效物及替代形式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号