首页> 中国专利> 具有基本处理器的数据处理电路,包括该电路的阵列的数据处理组件以及包括该组件的矩阵传感器

具有基本处理器的数据处理电路,包括该电路的阵列的数据处理组件以及包括该组件的矩阵传感器

摘要

本发明涉及一种数据处理电路,其组合地包括:数据处理单元(UB),其包括两个均具有信号输入端和信号输出端的信号转换电路(Inv1,Inv2),以及连接到所述转换电路的输入端和输出端的一组受控开关(R1,W1,R2,W2),所述数据处理单元还包括二进制信号输入端(H)和二进制信号输出端(F);包括通过另一组开关连接到存储器总线布置(总线dRAM)的一组电容(Ccell)的存储器单元(dram),所述每个电容能够存储二进制数据片;连接到处理单元的总线;用于所述受控开关的控制信号的一组输入端,所述数据处理单元(UB)能够响应于控制信号的数据序列至少执行如下操作:在电容中写入二进制数据,从电容中读出存储在那里的二进制数据并且将该数据施加到输出端,以及逻辑地组合存储在至少两个电容中的二进制数据。

著录项

  • 公开/公告号CN102150153A

    专利类型发明专利

  • 公开/公告日2011-08-10

    原文格式PDF

  • 申请/专利权人 原子能和能源替代品委员会;

    申请/专利号CN200980132594.9

  • 发明设计人 T·贝尔纳得;

    申请日2009-07-23

  • 分类号G06F15/80;G06T1/20;G11C19/18;H01L27/146;G11C19/38;

  • 代理机构北京戈程知识产权代理有限公司;

  • 代理人程伟

  • 地址 法国巴黎

  • 入库时间 2023-12-18 03:04:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-09-09

    未缴年费专利权终止 IPC(主分类):G06F15/80 授权公告日:20140409 终止日期:20140723 申请日:20090723

    专利权的终止

  • 2014-04-09

    授权

    授权

  • 2011-09-21

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

    实质审查的生效

  • 2011-08-10

    公开

    公开

说明书

技术领域

本发明总体上涉及例如矩阵传感器的数据源组件的数据处理电路。

本发明还涉及一种矩阵传感器,其包括形成了所述数据源并装配有多个所述处理电路的一组检测单元。

在一个特定应用中,本发明涉及例如用于人工视觉的光敏单元的检测单元的数据处理,其中所述传感器形成了人工视网膜。

背景技术

人工视觉技术的目的在于从相机所提供的场景的图像序列,确定所观察的该场景的某些实际特征,以在可短或可长的时间内执行与所述场景有关的动作。

多年来,相机的很多模块是数字的。而图像传感器固有地提供模拟数据,当这些数字相机与模拟-数字转换装置结合时直接提供数字图像。当前,人工视觉的常规系统通常包括数字相机和源从而数字化地处理信息,其范围包括简单的台式计算机到专用计算器或超级计算器。

这些不同的结构取决于待实现的视觉任务的复杂度,这涉及需要计算要在数据上执行的变化的复杂度的算法。

因此常规视觉系统的能量消耗的范围根据所保留的方案可能从几百到上千瓦特。可以理解,这样的消耗的功率水平大部分通常与移动应用,或者静态的但是无线的应用不兼容(特别是当其太昂贵而不能连接到电源时)。

第一个实例引自监视领域。在实践中,今天还不可能构想一种智能相机,其利用几个日常电池来操作,能够观察一个地点几个星期以及检测和表征人物或车辆的移动。

第二个实例可见于视频电话或视频会议。在实践中,相比于压缩的视频序列,在移动电话之间传输用户的脸的动画模型更容易,如同现今的普通实现。然而,为电话产生这样的动画模型需要分析连续图像,这上实际与其功率自主性不兼容。

第三个实例涉及具有一定自动化程度的移动机器人或车辆,其中基于可见或红外光谱捕获的图像的人工视觉在辅助地或自动地驱动对象中,或者甚至在抓取对象中扮演重要角色。

在该实例中,即使车辆的部分推进能量可能用于视觉功能,例如在小汽车上,期望增加的视觉传感器的数量取决于所使用的功率的某些限制。该限制对于紧凑型车辆或机器人甚至更加苛刻,进一步地,对例如无人驾驶飞机的飞行器也一样。

因此,我们寻求以提出一种非常关注能量的视觉系统。

为此,已知的架构包括实现一种基本处理器(此后称为PE),其设计为根据集成电路中的二维阵列在每个节点上重复。

此二维阵列或者对应于图像,每个像素一个PE,或者对应于图像的低分辨率版本,一个PE用于称为宏像素的一小组像素,例如2x2或4x4像素块。特别根据专利FR-A-2 778 764(Bernard,Paillet和Mercier),PE由控制信号引导,所述控制信号对于所有的PE可以是公用的(SIMD或单指令多数据(Single Instruction Multiple Data))或对于PE的子族是公用的。此外,每个PE能够存储对应于其(宏)像素的数据,以与其邻近的邻居通信,并且可以对其数据进行计算。

对于多视觉任务,这样的架构足够用于执行大部分计算工作,同时只在集成电路的小电容上(电学术语)循环数据(能量成比例地分散到这些电容上),因此小电容表示十几个千万亿分之一法拉(10-14F)。相比于普通的视觉系统,该架构的能量增益系数大约为100。

基于该PE的二维阵列架构,我们还寻求最小化能量损失以与该阵列的外部进行通信。因此,为了发送图像到PE阵列,已经提出了将其移动到更靠近图像矩阵传感器的那个(连接到连线的电容)。

如同JP-A-10 145 680以及US-A-6 608 296(Toyada和Ishikawa)中所提出的,通过在两者之间插入模数转换装置,图像矩阵传感器和PE阵列可以并排放置。还可以提出一种图像矩阵传感器和PE阵列,如同先前在FR-A-2 583 602(Devos,Garda和Zavidovique)中提出的,其等同于将每个PE安装为尽可能地靠近其对应的像素的感光元件。

如此获得的系统被称为人工视网膜,其每个像素具有感光元件,PE,以及连接到它们之上的可以被限制为电压比较器的模拟-数字转换装置。

为了在紧凑度方面进一步改进这些装置,并且最小化所使用的能量,同时还满足系统的其他限制,也就是说系统能够存储二进制数据,并与其在阵列上的邻居交换该二进制数据,以及执行通用布尔计算(处理器),特别要在信息比特存储到PE中的方式上进行努力。

已经提出了针对该问题的方案。

使用的第一存储模式为半静态模式:通过两个经由开关重复循环(re-looped)的反相器存储每个信息比特,从而形成了双稳系统(两个稳定的平衡状态)。已经提出了不同的布置,特别是在FR-A-2 583 602(Devos,Garda和Zavidovique),FR-A-2 683 348(Zavidovique,Bernard和Devos)and FR-A2 7771 38(Paillet,Mercier和Bernard)中。然而,这样的半静态存储需要组合不同类型的晶体管,这导致尽管做出所有努力所述布置也不是非常紧凑。当将PE与例如几十比特的大容量存储器装配在一起时,这是个阻碍。

采用了比半静态模式更紧凑的架构的存储模式为动态模式,其中数据以电压形式存储在电容的端子上。在实践中,其紧凑度与如下事实有关:用于存储比特的晶体管只是较少类型,特别是同一类型。通过动态存储,逻辑0(分别地,逻辑1)由接近确定值V0(分别地,V1)的电压表示。为了确定哪个二进制数据出现于电容上,使用读出电路,其基本地确定所述电容的端子上的电压是否接近V0或V1。存储在电容上的信息还可以看作负载。动态存储公知的缺点是需要通过读出然后再重写来刷新数据,因为寄生漏电流会使电容逐渐放电。

对人工视网膜的PE中的动态存储的追溯最初提出于JP-A-7 028988(Ishikawa和Yamada)并特别再次使用于JP-A-8 212 073(Takayanagi,Yamada,Nakagami和Ishikawa)。提出的布置基于存储,该存储基于锁存电路动力学,也公知为3晶体管存储器单元。这些存储器单元合并有它们自己的读出电路。优点是它们的读出是非破坏性的(数据可以被读出多次而不被重写)。缺点是该单元需要分离的读出总线和写入总线(在不同的存储器单元之间共享)以及两个各自的控制信号。这对PE的紧凑度是有害的(要对信号进行路由)。

视网膜的PE中的动态存储的另一应用描述于P.Dudek和P.J.Hicks的“通用目的每像素处理器模拟SIMD视觉芯片(A General Purpose Processor-per-Pixel Analog SIMD Vision Chip)”,IEEE电路和系统学报-I:基本理论和应用(IEEE Transactions on Circuits and Systems-I:Fundamental Theory and Applications),52(1):13-20,2005年1月。根据该文献,其用作电流存储器单元。然而,目的是存储模拟数据,并且该存储器单元需要多个晶体管和各自的控制信号。

根据阵列重复的PE中的动态存储的另一应用呈现于J.C.Gealow和C.G.Sodini的“一种使用与动态存储器程度匹配的逻辑的并行像素图像处理器(A Pixel-Parallel Image Processor Using Logic Pitch-Matched to Dynamic Memory”,IEEE固态电路学报(IEEE Journal of Solid-State Circuits),34(6):831-839,1999年6月。在MIT实现的这项工作中,将二进制数据存储到晶体管存储器单元,别名为dRAM单元中,该单元通过将电容经由控制信号控制的晶体管连接到读出/写入总线来简单地形成。该dRAM单元极其紧凑,然而其读出是破坏性的。

发明内容

本发明的一个目的是提出一种处理电路,其基于根据集成电路中的阵列而重复的PE,能够存储二进制数据,并且与其在所述阵列上的邻居交换所述二进制数据,并且能够利用公用的外部控制对它们进行通用布尔计算,其具有最小化的尺寸,同时还提供一种通用的PE,也就是说该PE能够以合理的效率执行任何布尔计算,以及因此的任何数字计算。

为此,本发明的第一方面提出了一种数据处理电路,其特征在于包括:

-数据处理单元,其包括两个均具有信号输入端和信号输出端的信号转换电路,以及连接到所述转换电路的输入端和输出端的一组受控开关,其中所述数据处理单元进一步包括二进制信号输入端和二进制信号输出端,

-存储器单元,其包括一组电容,其通过另外一组每一个能够存储二进制数据的开关连接到存储器总线布置,其中所述总线连接到处理单元,

-一组用于受控开关的控制信号的输入端,

其中所述数据处理单元能够响应控制信号的给定序列执行至少如下操作:

--将施加到输入端行上的二进制数据写入电容,

--读出存储在电容中的二进制数据,并将其施加到输出端,以及

--逻辑地组合存储在至少两个电容中的二进制数据。

该电路的某些优选的但是非限制性方面如下:

--所述转换电路为具有反转的S形类型响应的反相器。

--第一反相器的输入端和输出端每一个通过各自的受控开关连接到所述存储器总线布置。

--所述处理单元只包括两个反相器,其中一个的输入端通过第一受控开关连接到另一个的输出端,所述另一个的输入端通过第二受控开关连接到所述其中一个的输出端。

--所述电路包括用于补偿电压的输入端,该补偿电压通过电容连接到所述第一反相器的输入端。

--所述电路包括用于补偿电压的输入端,该补偿电压通过电容连接到所述存储器总线布置。

--所述补偿电压是可变的。

--至少所述第一反相器是通过比较器形成,所述比较器的正输入端接收阈值电压。

--所述阈值电压是可变的。

--所述比较器或每个比较器由跨导运算放大器形成。

--所述电路能够响应控制信号,在第一转换电路中逻辑地组合存储在电容中的二进制数据,所述控制信号致使存储器单元的传导受控开关将所述电容电连接到所述存储器总线布置。

--逻辑组合的类型随着所述补偿电压的值而改变。

--逻辑组合的类型随着所述阈值电压的值而改变。

--所述电容布局为成行,单个存储器总线和单个开关关联到每个电容。

--所述电容布局为矩阵,两组相交总线组件和一对受控开关关联到每个电容。

--所述一对开关包括:第一开关,其两个信号端子连接在所述电容和所述总线之间;以及第二开关,其两个信号端子连接在第一控制行和所述第一开关的控制输入端之间,所述控制输入端连接到第二控制行。

--通过将所述总线分段为多个部分来形成所述存储器总线布置,所述多个部分由各自的受控开关分隔。

根据本发明的第二方面,提出了一种数据处理组件,其特征在于,包括如上限定的处理电路的阵列,以及控制装置,其能够向所述控制信号输入端施加对所有处理电路公用的控制信号。

该处理设置的某些优选的但是非限制性方面如下:

--每个数据处理单元能够通过受控开关将二进制数据传输到相邻的处理单元。

--每个数据处理单元能够通过一组端口将二进制数据传输到相邻的处理单元以及从相邻的处理单元接收二进制数据,所述一组端口连接到在其相关联的存储器单元中的一组电容。

--所述一组端口将所述处理单元连接到位于四个主要点的四个相邻的处理单元,其中所述相邻单元的端口两两彼此连接。

--所述一组端口将所述处理单元连接到位于四个主要点和次级主要点的八个相邻的处理单元,其中所述相邻单元的端口四个四个地彼此连接。

最后,在第三方面,提出一种矩阵传感器,其特征在于包括形成数据源的一组检测单元以及如上限定的所述处理组件。

该传感器的某些优选的但是非限制性方面如下:

--其包括与每个单元关联的转换电路,该转换电路提供了针对每个测量的一系列二进制值,所述二进制值表示所测量的量。

--所述单元为光敏单元。

附图说明

通过阅读由非限制性实例提供的如下详细说明书并且参考附图,本发明的其他特征、目的和优点将变得更加清楚,其中:

图1显示了根据本发明的一个实施例的基本处理器的一般架构,

图2显示了在本发明的基本处理器中使用的转换电路的两个可能形式,

图3显示了许可基本处理器和其4个最接近的邻居之间的通信的互联,

图4显示了许可基本处理器和其8个最接近的邻居之间的通信的互联,

图5显示了根据存储器单元是否具有线性(在左侧)或矩阵结构(在右侧)的用于存储器单元的两个可能的布置,

图6显示了具体有矩阵结构的dRAM的第一实施例,以及

图7显示了装配有dRAM的基本处理器,该dRAM具有将dRAM总线分段而改进的矩阵结构。

具体实施方式

下面描述根据本发明的基本处理器(PE),其一般架构表示于图1中。

其组成元件是反相器,在该情况中,有附图标记为Inv1和Inv2并形成了两个转换电路的两个反相器,电容Ccell,C1,C2和Cinf,以及彼此互连的开关Mi,R1,W1,R2,W2。还有附图标记为Cbus的固有的寄生电容。

这些为运算器并且每一个可以不同方式形成。反相器可以为CMOS反相器或运算放大器类型布置,设置为比较器,特别是跨导运算放大器,反相器的电压-电压特征为反转的S形,参见它们的符号以及图1的左下角。为了紧凑,有利地使用单个类型的N或P晶体管来制造开关(而不是其通常的并联两个互补晶体管的形式),并且在此情况中具有不能正确地传输所有电压并且当开-关时将负载引入电路中的特性。

然而在本说明书的大部分中,开关将被认为是理想的,以避免使问题复杂化。

约定如果开关的逻辑控制信号为1则其是导通的:所述信号因此被称为激活的。图1中所出现的所述控制信号对于一组基本处理器是共用的。

在所示的电容中,某些是固有电容(native capacitor),例如Cbus、C1和C2,而其他的为主动安装(voluntarily fitted)电容,例如其功能将在下面描述的Cinf,或者用于存储值的电容Ccell。后者在下文中将被称为“dRAM电容”(动态RAM),根据所使用的工艺其可以是二极管、MOS和间层(金属、多晶)型。

在图1中,为了简化起见,除了Cinf,所有电容表示为具有一个未连接的端子:在实践中,该端子连接到地、连接到电源电压或连接到另一个固定电压。

与开关相同,在本说明书的大部分中,电容被认为是理想的,也就是说线性的。

图1还显示了用带圆圈的字符(d,g,S,N)表示的通信端口,其功能将在下面描述。

基本处理器(PE)的一般架构分为两个单元:在图1上面的存储器单元(dRAM)以及在该同一图的下面的数据处理单元(布尔单元或UB),dRAM由p存储电容、Ccell电容的组件形成,其端子中的一个连接到上面所述的固定电压(在RH侧),其端子中的另一个连接到开关,该开关称为接入开关(access switch),附图标记为Mi(其中i为从1到p的索引),该开关连接到称为“dRAM总线”的公共节点。dRAMCcell电容及其接入开关Mi相结合称为“dRAM单元”。因此,可以通过激活控制相关联的Mi开关的Mi信号从dRAM总线访问从下面开始的第i个dRAM电容(约定在本说明书中,相同的附图标记用于表示受控开关以及控制该开关的信号)。

dRAM总线具有Cbus固有电容(natural electric capacitor),其在此情况中为寄生的因此可以被最小化;然而在实践中,Cbus的值保持为比Ccell的值高很多。

布尔单元(UB)为dRAM的读出/写入电路。其具有5个称为B,E,F,G和H的节点。节点B连接到dRAM总线。

除了其读出/写入功能之外,UB还能够进行多个二进制值之间的布尔计算,这以模拟方式执行,这将在下面描述。

该布尔单元包括四个受控开关R1,W1,R2和W2,其中相关联的控制信号再次用相同的方式表示。

如上所述的布尔单元的不同部件布置如下:反相器Inv1的输入端连接到节点E,其输出端连接到节点F;电容C1连接到节点E;受控开关R1安装在节点E和连接到dRAM总线的节点B之间;开关W1安装在节点B和F之间;开关W2安装在节点E和G之间;开关R2安装在节点F和H之间;反相器Inv2的输入端连接到节点H,其输出端连接到节点G;电容C2连接到节点H;电容Cinf可以连接到节点B,也就是连接到dRAM总线,或者连接到节点E,也就是连接到反相器Inv1的输入端;节点H可以形成基本处理器的输入端,而节点F可以形成其输出端。

在该布尔单元中,固有电容C1和C2扮演动态存储器的角色,并且当节点E和H处于高阻时保持电压。

本发明的基本处理器的操作是基于控制信号的激活和去激活序列,其闭合和断开不同的开关。

为了描述这些信号和它们的动作,这里采用了简明符号。也就是说X表示任何控制信号。“X”用于标记X的激活(切换到1,对应于开关的闭合),“X′”用于标记其去激活(切换到0,对应于开关的断开)。同时激活或去激活的不同信号用点线连到一起,而分号分隔开了必须连贯的动作。因此,例如序列“R1-W1;W1′”表示同时激活R1和W1控制信号,之后去激活W1。此外,符号“Reset”用于表示去激活所有的控制信号。

图1简单地显示了处理器中的布尔单元UB和dRAM之间的协作。在实践中,布尔单元的节点B,E,F,G和H中的某些可以接收用于其它作用的连线。

例如,如果本发明的主题的基本处理器用在视网膜的像素中,通常增加由EC信号控制的开关以向节点H提供来自感光元件的二进制信号BP,如在图1中的虚线所示。该信号BP传统地为光敏二极管的电压和可变外部信号之间的比较结果,或更一般地为表示捕获的物理值的连续二进制值。

无论此是否涉及视网膜,基本处理器的阵列的另一个重要功能是输入/输出来自/到达外部的图像或其他数据组。该功能可以通过单向偏移寄存器实现,该单向偏移寄存器链接阵列中的基本处理器的每一行中的布尔单元。

为此,节点H被认为是通信端口g(法语中的“gauche”,即左侧),节点F通过信号SH控制的开关连接到通信端口d(法语中的“droite”,即右侧),如图1中的虚线所示。

此外,在基本处理器(PE)的阵列中,所有PE的端口d连接到其右侧邻居的端口g。因此,序列“SH;SH′;W2;W2′”由一个PE将节点F(Inv1的输出端)上呈现的二进制数据向右偏移,而其他信号被去激活。这样作的效果为将所有PE的反相器Inv1提供的二进制图像向右转移一个像素。通过重复该序列,例如图像数据的基本数据的不同项在PE阵列的右边缘一列一列地离开。

这样的结构还能够在阵列的左边缘一列一列地引入例如图像数据的数据。

下面描述布尔单元和dRAM之间的相互作用,其是图1的基本处理器的操作的一部分。

前导

在描述读出、写入和计算序列之间,我们将检查如下短序列的效果:

“Reset;R1-W1;W1′”

该实质的模拟效果将是如下呈现的读出和计算操作的核心:所有的控制信号重置为0,R1和W1的激活将Inv1放入闭合回路,同时将其连接到dRAM总线。将Inv1切换到闭合回路使得其输入Vin和Vout的电压取相同的值Vbf,其为Inv1的电压-电压特征与Vin和Vout轴之间的第一对角线之间的交点的X和Y轴。

该情况通过在图1的左下角的图形表示:在实践中,Vbf对应于Inv1的电压-电压特征的最陡峭的倾斜区。这是可能对应于高电流的区域,特别是对于CMOS反相器:本领域技术人员将知道如何限制它们,或者通过减小Inv1所使用的电源和地电压之间的差,或者通过利用限制电流的布置。

在序列的末尾,当W1被去激活时(W1′命令),Inv1运算器切换到断开回路,但是其输入端保持连接到dRAM总线,电压保持等于Vbf(要注意的是在此阶段忽视了通过断开/闭合开关而引入的负载,因为观察到它们不会改变操作的原理)。在这些条件下,输出电压Vout还保持为Vbf。

基于此情况,输入电压相对于Vbf的任何轻微变化将引起输出Vout的大的多的变化。此属性可以用于放大dRAM总线的电压的小变化。

读出

如下序列被称为读出,从如上在前导中所示的序列开始,并最后读出第i个dRAM电容:

“Reset;R1-W1;W1′;Mi;Mi′;R2;R2′;R1′”

该读出是破坏性的:当Mi被激活时,在第i个dRAM电容上呈现的负载,即电容值为Ccell并且在电压Vcell下,为dRAM总线和Inv1的输入端上所呈现的混合,即电容Ctot=Cbus+C1+Cinf(总读出电容)并在电压Vbf之下。我们认为ΔV=Vcell-Vbf。因此负载的混合在dRAM总线上引起小的多的电压的变化ΔVbus=[Ccell/(Ccell+Ctot)]·ΔV。

在实践中,Ccell比Ctot小,我们可以四舍五入地得到ΔVbus≈(Ccell/Ctot)·ΔV。该小变化是读出的数据的所有残余,Inv1进行的放大使得该残余能够被恢复。

为此,Inv1的增益,也就是说Vbf附近的电压-电压特征的斜率,必须是Ctot/Ccell量级或更大。

直接写入

一旦数据项已作为Inv2的输出端建立,可以通过如下序列来写入第j个dRAM电容:

“W2-R1-Mj;Mj′;R1′-W2′”

补偿写入

由于如下被称为补偿写入序列的序列,无论上述被称为直接写入的序列是否已执行,读出的数据的补偿可以被写入第k个dRAM电容:

“W2-W1-Mk;Mk′;W1′-W2′”

多个写入

无论在读出序列中还是两个写入序列中,控制对dRAM电容的访问的信号M(此后,M表示M1至Mp中的一个或多个信号)承担一个窗口,在该窗口内信号被激活,然后在下一个周期被去激活。可以使用相同的序列但是同时将窗口施加到多个M信号。在写入指令下,这允许多个写入操作。例如,如下指令将建立在Inv2的输出端上的数据写入号码为i和j的dRAM电容上:

“W2-R1-Mi-Mj;Mi′-Mj′;R1′-W2′”

多个读出和布尔计算

如果在读出指令中执行相同的操作,也就是说如果同时读出多个单元,这就进行了布尔计算。这在下面将变得更加清楚,要检查的最简单情况是,利用如下序列来计算号码为i,j和k(三个在1和p之间的分开的索引)的dRAM电容中包含的3个二进制数据Di,Dj和Dk:

“Reset;R1-W1;W1′;Mi-Mj-Mk;Mi′-Mj′-Mk′;R2;R2′;R1′”

这是如上呈现的读出序列的变形,其中读出了3个电容而不是一个(唯一的区别是涉及M信号),可以注意到其也是破坏性的。所获得的结果必然为Di,Dj和Dk的函数,这将在下面确定。

开始,V0和V1用于分别对应于dRAM电容上的逻辑0和1的电压。在呈现的写入指令和理想部件下,假定V0和V1为Inv2的低和高输出电压。然而,在实践中开关为单个晶体管时不是这种情况。

在此点上,我们简单地假定V0和V1在Vbf两侧对称布置。那么我们可以指定ΔV=V1-Vbf=Vbf-V0。而且,Ccell比Ctot小的事实允许近似。利用在此无需重现的计算,通过激活Mi,Mj和Mk将总线连接到3个dRAM电容使得其电压(相对于Vbf)的变化接近于:

(2∑-3)·(Ccell/Ctot)·ΔV

其中∑为3个二进制数据Di,Dj和Dk的算术和。

在其他方面,∑为3个数据项中值为1的数据项的个数。因此,如果∑=2或3,上述序列在Inv2的输出端提供逻辑1。然而如果∑=0或1,其提供逻辑0。所做的计算是公知的称为“取多数”(“majority”)的布尔函数(输出保持在完全二进制加法器中):Maj(Di,Dj,Dk)。

上述的求和∑的含义具有基本特征,因为当来自不同RAM电容的负载被混合时,它们的算术和明显仍可以被估计。因此上述计算典型的为先前已知的阈值逻辑。

通过从先前序列中消除Mk和Mk′,获得了读出指令的变形,其读出i和j两个dRAM电容。因此所获得的电压(相对于Vbf)的变化为:

ΔVbus≈(2∑-2)·(Ccell/Ctot)·ΔV

然而如果∑=1(也就是说Di≠Dj)则此变化为零,导致Inv2的输出端上出现未确定的数据,其逻辑电平不清楚。

为了克服此困难,有利地可以使用电容感应效应,这是通过在电路中提供感应电容Cinf,其一个端子可以如图1所示连接到Inv1的输入端(节点E),或者如图7所示连接到dRAM总线(节点B)。施加到Cinf的另一个端子上的电压为用作模拟信号的补偿电压Vinf。通过用差ΔVinf来改变Vinf(电压增加或降低),在dRAM总线和Inv1的输入端上引起电压变化,如果足够大,最终能够在Inv2的输出端上获得可靠的二进制值。因此,采用了如下新的序列,其中ΔVinf表示将补偿电压Vinf改变ΔVinf的动作本身:

“Reset;R1-W1;W1′;ΔVinf;Mi-Mj;Mi′-Mj′;R2;R2′;R1′”

动作ΔVinf实际上形成了命令,可以注意到其可以占据序列中的另一个位置,只要其在W1′和R2′之间,并且其可以与另一个基本动作同时执行。

可以想到其他的途径来消除Inv2的输出端上的不明确。特别地,可以有利地使用某些开关的寄生电容以“自由地”承担Cinf的功能,特别是开关R1,Mi或Mj的电容。在此情况中,这些信号中的某些可以承担它们的通常逻辑电平之间的电压变化的中间值,该变化将功能性地代替先前序列中的ΔVinf。

在建立了感应电容Cinf的实施例中,优选地将该值最小化,这需要将ΔVinf最大化。然而ΔVinf必须在面对工艺不确定下保持可调,因此保持比电源和地之间的电压差低得多。

OR逻辑

通过调节Cinf的值,从而ΔVinf通过其自身使得dRAM的电压变化接近(Ccell/Ctot)·ΔV,我们得到:

ΔVbus≈(2∑-1)·(Ccell/Ctot)·ΔV

这产生了数据Di和Dj之间的OR逻辑的布尔函数。对于Cinf的建议选择实际上保证了面对工艺不确定和操作条件时的最大操作极限。

AND逻辑

此外,如果ΔVinf的符号相对于OR逻辑反转(因此Vinf以相反方式变化),那么这给出了:

ΔVbus≈(2∑-3)·(Ccell/Ctot)·ΔV

这产生了数据Di和Dj之间的AND逻辑的布尔函数。

因此可以理解本发明的布尔单元结合dRAM的布置保证了该产生,而不利用额外的部件,除了如上所述的读出和写入函数,根据本发明的一个重要方面,OR和AND布尔逻辑函数具有两个输入端。

此外,由于如上所述的通过补偿写入的补偿函数的可用性,最终根据布尔计算产生了通用的基本处理器。

应注意到,在读出序列和计算序列的给定的破坏属性下,将使用写入操作,无论其是否为多个,是否为补偿的,以在将来一次或多次地在dRAM中刷新或者甚至是复制任何必须读出或者计算所需的数据。

具有3输入的OR逻辑

通过将3个dRAM电容的读出和如上所述的电容感应相结合,可以实现如下序列:

“Reset;R1-W1;W1′;ΔVinf;Mi-Mj-Mk;Mi′-Mj′-Mk′;R2;R2′;R1′”

如上我们看到,如果ΔVinf=0(也就是说,如果补偿电压Vinf不变),则该序列计算了取多数函数。

然而,如果Cinf和ΔVinf被设定为将Vbus从自身偏移2·(Ccell/Ctot)·ΔV,也就是至少为上述的两倍,那么这会给出:

ΔVbus≈(2∑-1)·(Ccell/Ctot)·ΔV

这产生了3个数据Di,Dj和Dk之间的OR逻辑。

3输入的AND逻辑

此外,通过采用ΔVinf的相反值,我们会获得ΔVbus≈(2∑-5)·(Ccell/Ctot)·ΔV,这对应于3个数据之间的AND逻辑。

因此,在Inv1的输入端或在dRAM总线上的电容感应使得能够在三个二进制数据上进行不同类型的计算,这是通过同时读出它们对应的dRAM电容实现的。然而,通过提出的PE已经获得的通用属性还有可选的函数。它们可能是有用的但是它们有代价:使得Cinf的值翻倍。通过扩展处理,通过进一步增加Cinf的值,可以对超过3个二进制数据进行计算,如果本领域技术人员想到此相关性,考虑到其他限制(在下面呈现的另一个变形中,对超过2个二进制数据进行计算的电容性额外开支将消失,因为不再使用感应电容)。

逻辑常数

电容感应的另一个优点是通过利用如下序列能够在布尔单元内从无到有地产生逻辑常数:

“Reset;R1-W1;W1′;ΔVinf;R2;R2′;R1′”

取决于ΔVinf是否(足够)正或负,在Inv2的输出端获得逻辑1或0。

在所有的已呈现的序列中,应注意到同时激活或去激活可以以任何顺序来排序作为变形,例如为了避免瞬涌电流或额外的电容效应。此外,不是所有的控制信号需要在序列的末尾被去激活,这取决于这些序列如何被连接,可以将其看作很多指令。因此所呈现的序列只不过是基准并且可以根据所保留的优化标准来改变。

Inv1的输入端上的或dRAM总线上的电容效应的一个重要变形在于横向改变Inv1的电压-电压特征,该变形能够不使用感应电容而获得相同的函数集合。更具体地,这涉及将最陡峭的倾斜部分朝右或朝左偏移。为此,一个简单的方案包括对Inv1使用比较器而不是标准CMOS反相器,比较器的输入位于Inv1的通常输入和阈值电压Vthreshold之间,阈值电压Vthreshold施加到正输入端以保留Inv1的反相器属性,如图2的右侧所示。

在此布局下,当Vin=Vthreshold时电压-电压特征大部分为竖直的。因此Vbf=Vthreshold。因此可以直接调节Vbf,例如将其值直接定位到V0和V1之间,如同上面所提出的。可选地,还可以在序列期间改变Vthreshold,如图如上对Vinf所做,以更低的比例来进行是足够的,因为ΔVthreshold的动作相对于总线的电压此后是直接的,而ΔVinf的动作被Cinf/Ctot因子削弱。附加的,该ΔVthreshold相对于ΔVinf的更高的效率有利于对三个或更多个二进制数据进行计算,如上所呈现。

可以使用OTA(operational transconductance amplifier,跨导运算放大器)来制造比较器。OTA比CMOS反相器大,但是固有地对电流有限制,这满足了如上所述的关心之一。有利地可以对Inv2使用相同的布局。

至今,假定开关和电容是理想的。下面我们解释基本处理器如何工作,尽管实际条件不是理想的,例如:电容为非线性的,在开关的断开/闭合或者电压被开关截断过程中引入了负载。

电容为线性的时,dRAM总线的电压在连接到dRAM电容之后被重新限定为∑的函数,如同我们已经看到的。在其他方面,读出m个dRAM电容迫使dRAM总线的电压占据m+1个可能的彼此等距的电压水平。如果Vbf符合这些电压水平中的一个,有不确定的情况,m=2时会遇到该情况。

为了避免该不确定,或者通过调节Vinf得到的电容效应来偏移Inv1的输入端电压,或者通过调节Vthreshold来偏移Inv1的电压-电压特征。在上述说明书中,对于m=2然后m=3,ΔVinf的值先前已被选择为位于m+1中的2个连续电压水平之间的中间值,其中此途径提供了面对工艺和操作不确定时的最大操作极限。对于非线性电容,m+1个电压水平将稍微移动,并不再保持为等距的。对于可选的操作,只需将不同的偏移重新调整为与当dRAM总线连接到Inv1的输入端时的电压相同的量,或者调整为Inv1的电压-电压特征。

相对于理想条件的第二个干扰是通过开关引入的负载。这些引入当然会造成电压偏移。只需施加相反的偏移来消除它们,这可以如上通过将偏移重新调节与连接到Inv1的输入端的dRAM总线通常承担的电压相同的量,或者调节到Inv1的电压-电压特征。然而,引入的负载承担了小的随机部分:在如上呈现的读出序列中将M信号激活然后立即去激活可以使其影响忽略不计。

第三个干扰涉及截断电压。在实践中,优选地用单个晶体管来制造开关,因此是CMOS工艺中的单个类型(n或p)。然而,最高电压穿不过n晶体管,最低电压穿不过p晶体管:因此电压在上面或者在下面被截断。

在这些条件中,V0和V1,即表示dRAM中的逻辑0或1的电压将在可用的电压范围内朝下或朝上偏移。根据本发明的另一方面,可以注意到将在下面描述的dRAM矩阵结构将加强此效果:例如可以使V0=0V以及V1=0.5V,然而电路以3.3V的供电电压操作。

在实践中,难于或者甚至不可能将Vbf带入到V0和V1电压的中间值从而偏移。在该情况中,需要进行更大的电压偏移。如果选择了电容感应,这需要更大的Cinf值。如果为Inv1选择了正输入端上有Vthreshold的比较器布局,这需要Vthreshold在读出指令过程中变化,如上所述。

V0和V1彼此更靠近的另一个结果是对Inv1的增益有更高的需求。

最终,将显示电路的功能在有干扰的实际条件中相对于理想条件可以通过连接到Inv1的输入端的dRAM总线上的电压偏移,或者通过Inv1的电压-电压特性的偏移来补偿。还可能需要增加Inv1的增益。此外,可以将小的随机干扰最小化,因此通过选择序列的合适顺序来不造成任何结果。

如上呈现的序列显示了布尔单元UB可以读出和写入dRAM中的数据,因此刷新数据,甚至从无到有地产生数据。这些序列还显示了可用的基本布尔运算器,也就是说可补充的AND逻辑和OR逻辑。

最后,尽管结构非常简单,其是紧凑的和非常经济的,根据本发明的该方面的基本处理器具有由图灵机(Turing)定义的通用的特征,这使得其能够执行任何布尔或数字计算。还能够以一定的效率执行比较简单的计算,例如取多数函数,这对比特序列(bit-series)模式的数字加法特别有用。

基本处理器(PE)之间的通信是本发明的另一个重要功能。

在如下说明书中,对于PE与其4个最近邻居的通信,使用了NEWS网络,其表示北、东、西和南。

上面解释了如何将同一行的PE的布尔单元与单向偏移寄存器相结合,例如在图1的电路中朝右,也就是说在东方向。可以以此方式对4个主要方向进行处理。总的来说这将4个开关增加到布尔单元,每个开关伴随有其控制信号,所述控制信号必须连接到2个相邻的基本处理器之间的节点E、F、G或H。

偏移寄存器链的替代方案包括在任何一对相邻PE的dRAM之间共享存储电容。为了解释和图示该方案,参照图3所描述的,将使用通信端口的概念:每个PE被看作装配了4个通信端口:N,E,W和S。每个端口内部地或外部地连接到PE,对每个PE都相同。在内部,每个端口内连到dRAM电容,如图1所示的只显示了N和S端口。根据图3的结构,外部地连到PE时,所述端口通过从一个相邻的PE连接到另一个相邻的PE从而相互连到一起:图3显示了3x3 PE矩阵,其中通过正方形来定义每个PE,在正方形中仅显示了通信端口。

在此结构下,通过对dRAM存储器的某些电容的简单的写入-读出操作来实现相邻PE之间的数据传输。例如,N和S端口的位置如图1中所示,数据朝北偏移只包括将该数据从布尔单元写入到索引为p的dRAM电容,然后读出索引为1的dRAM电容。在其他方面,朝北的单个偏移包括写入N端口,然后读出S端口。相反地,朝南的单个偏移包括写入S端口,然后读出N端口。通过以相似方式处理E和W端口,每个PE可以因此与其在阵列上的4个最接近的邻居通信。

通过动员4个dRAM电容及它们相关联的访问信号,基于此共享存储器的方案相比基于偏移寄存器的方案在尺寸方面成本也很高。然而如下所述的具有矩阵结构的dRAM更加经济。

在图4中提出了共享存储器方案的一个变形,其中每个PE仍然具有4个端口,每个连接到不同的dRAM电容,但是作为次级主要点分别命名为NW,NE,SE和SW。此变形使得每个PE能够以不太大的额外代价来与8个最接近的邻居进行比特通信。例如对于朝东南的偏移,我们在SE本地端口写入,然后在位于西南的邻居的NW端口读出。对于朝南的偏移,那么我们可以在本地SE端口写入然后在目的地的NE端口读出,或者甚至在本地SW端口写入然后在目的地的NW端口读出。

下面描述一变形,其显示于图7中的改进的dRAM矩阵结构。

上文已经显示出本发明的基本处理器(PE)具有通用特征。而且,已经呈现的PE之间的通信技术保证了二进制数据可以根据任何向量通过重复在NEWS方向上的基本转移来转移。

然而,总的转移时间随着向量的大小而增加并且可以引起边缘效应。最后,每个PE可以访问其周围的数据,但是在其大小由可接受的边缘效应所限制的相邻区域内:也就是说处理操作具有被限制的支持。

假定PE阵列或矩阵以SIMD(单指令,多数据)模式引导,每个PE访问相关附图标记中的相同邻居。这导致不变转移。在数学方面,可以在以SIMD模式引导的PE阵列上执行的处理操作相对于该转移是可交换的:在其他方面,在处理之前或之后执行转移会产生相同结果。

这两个属性(被限定的支持和不变转移)表征了在其最广泛意义上的低水平图像处理。当然包括基于线性滤波运算器的卷积核(convolution core),然而利用工作在布尔水平的基本处理器,通常更适合使用其非线性更明显的运算器,例如数字位置滤波器或数学形态学运算器。

下面我们参考图5至图7描述本发明的具有形成了dRAM的电容的矩阵布置的实施例。

首先,如图1所示的PE已经设计为占用了集成电路的最小量的空间,同时保持了通用的特征。然而dRAM被组织为线性的:对于n个dRAM电容,需要n个Mi控制信号。

其中n大于一定值(通常为10),当考虑电路的实际尺寸时,优先考虑对Mi控制信号进行路由。为了避免该情况,一个方案是将dRAM组织到矩阵中,如图6和7所示:不是通过单个Mk信号来控制,而是每个dRAM单元根据行/列类型命令来承受信号Xi和另一个信号Yj的联合激活。因此有Xi信号族和Yj信号族。在同一信号族内,信号将被并行路由。反过来,两个族将在dRAM中被彼此垂直地路由,这产生了图6和图7中所示的矩阵结构,其中针对由信号Xi和信号Yj形成的每一对有一个dRAM单元。

dRAM矩阵结构在每个dRAM单元中需要两个开关。然而,却不容易用串联的两个开关来替换与线性结构中的每个dRAM电容相关联的访问开关以获得矩阵形式的变形,这是由产生在两个开关之间并干扰运算的实质上的寄生电容造成的。

这里提出的方案是层叠(cascade)两个开关Ta和Tb,如图5的右侧所示(其左侧显示了线性dRAM的单元,如同图1),其显示了连接到dRAM总线的一部分的dRAM单元。在该图中可以看出开关Ta选择性地将Ccell电容连接到dRAM总线,这由信号Xi的命令来进行,信号Xi通过由信号Yj命令的开关Tb传输。

假定利用单个晶体管(因此是单一类型的)来建立每个开关,相比于线性dRAM的情况,写入dRAM电容的电压将再次被截断的甚至更多。此情况已在上文描述并解决。

为了将dRAM总线连接到通过信号Xi和Yj联合命令的dRAM单元,然后再断开,需要利用如下指令序列在Xi和Yj插入窗口:

“Yj;Xi;Xi′;Yj′”

图6中显示了具有12个单元的dRAM阵列结构的示例,其中Xi的集合为{X1,X2,X3},Yj的集合为{Y1,Y2,Y3,Y4}。在图中Yj为垂直的,而Xi在图中为水平的并且是虚线。dRAM总线优选地具有例如所示的梳子结构,其是植入时最经济的。

有意思的是对线性结构dRAM和矩阵结构dRAM进行定量比较。对于n个dRAM电容,线性结构需要n个开关(也就是说n个晶体管)和n个控制信号,而矩阵结构需要2n个开关(也就是说2n个晶体管)和大约个控制信号。随着n显著超过10时矩阵结构比线性结构更有优点。

图7显示了另一个可能的用于dRAM的矩阵结构。其与图6相同,除了dRAM总线的结构,其梳形结构是逐级排列的:梳子的“齿”,在此情况中称为“dRAM总线的分支”被在此情况中称为“dRAM总线的主干”的“梳子的背”的开关分开。这些附加的开关分别由控制同一列的dRAM单元的Yj信号控制。

此改进的dRAM结构在dRAM总线的电容方面有优点。在实践中,为了读出位于同一列中的一个或多个单元,只有相应的总线的分支连接到其主干。因此,在先前规则中使用的Ctot电容被减少,因为Cbus电容被限制为主干的电容以及总线的单个分支的电容。

Inv1所需的增益也被减少,其必须为Ctot/Cell量级因此有利于制造Inv1或允许增加dRAM中的存储电容的数量。

无论对于图6的矩阵dRAM或者根据图7的变形的矩阵dRAM,读出或写入序列是相同的,除了dRAM的控制信号。

有利地,在序列的开始激活相关的一个或多个信号Yj,在序列的末尾去激活它/它们。如上所述的线性dRAM指令的M信号出现时,相关的一个或多个信号Xi的窗口出现。

例如,下面显示了一序列,其允许同时读出位于同一列j,也就是说连接到dRAM总线的同一分支j的两个单元Xi1Yj和Xi2Yj(其中i1和i2为两个索引):

“Reset;R1-W1-Yj;W1’;ΔVinf;Xi1-Xi2;Xi1′-Xi2′;R2;R2′;R1′-Yj′”

要提醒的是根据偏移ΔVinf的值,该序列允许在读出的两个数据项之间获得的AND或OR逻辑。

有很多变形,甚至比线性dRAM的变形更多。还可以通过如下指令读出位于总线的两个不同分支j1和j2上,亦即在dRAM的两个不同列上,但是在同一行i上的两个单元:

“Reset;R1-W1-Yj1-Yj2;Wr;ΔVinf;Xi;Xi′;R2;R2′;R1′-Yj1′-Yj2′”

X和Y信号的切换总是发生在相同位置。甚至可以读出定位在多个列和多个行的交点处的单元。然而这不是使用PE的本质,即使可以发现对其的利用。

在实践中,当实际上应用基本处理器时,优选地组织dRAM中的数据,从而使与计算相关的存储器单元位于总线的同一分支,以最小化所使用的电容以及避免针对电压偏移ΔVinf使用太多不同的调节。

可以注意到,通过调整线性dRAM所使用的指令来实现获得矩阵dRAM上的写入指令,这是对本领域技术人员来说容易实现的。

根据如上所述的一个可能性,图7显示了连接到与图1的布尔单元相同的布尔单元的改进的矩阵dRAM,除了Cinf已经从节点E移动到节点B。反过来,dRAM中显示了与图4的布置相对应的通信端口NW,NE,SE和SW,允许每个基本处理器与其8个最接近的邻居通信。

本发明可以展现特别有吸引力的应用,特别是矩阵传感器,更特别的是图像传感器人工视网膜等,以及任何其他类型的传感器(压力传感器,等)。

在此情况中,提供了一种基本传感器来用于传感器的单元或一组限定的单元,其具有允许合适的地理邻近性的布置。

在本领域技术人员公知的范围内,具有其一个或多个传感器的每个基本处理器的布尔单元的接口可以不同方式设计。例如模拟/数字转换是合适的,其中比特被提供到串联的布尔单元的输入端。

当然,可以对本发明做出很多变形和修改。

特别的,即使根据本发明的基本处理器的处理单元的重要属性是基于两个转换和信号格式化电路,本领域技术人员可以观察到这两个电路可以同任何允许强化、改进、补偿操作或使操作更可靠的次级部件来实现。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号