技术简介:
本专利提出一种可编程装置中的多输入串行加法器设计,解决了传统加法器难以高效处理多于两个串行输入的问题。通过多个全加器电路组合,实现多输入串行求和,并利用寄存器维持进位状态,提升计算效率与灵活性。该方案将全加器输出与进位输入动态衔接,适配复杂运算需求,可集成于可编程逻辑器件中构建多样化功能模块。
关键词:多输入串行加法器,全加器电路设计
1.本公开涉及多输入串行加法器。
背景技术:2.将数学函数映射到可编程装置,诸如现场可编程门阵列(fpga),能够实现很好的延迟结果。然而,诸如fpga的一些可编程装置在实施诸如串行加法器的基本逻辑单元时能够效率低下。例如,具有两个主要输入的串行加法器能够消耗fpga中的整个6输入查找表(lut)。因此,可编程装置的逻辑能够未得到充分利用,并且可编程装置的布线能够因电路实施方式所需的网络数量而不堪重负。
技术实现要素:3.本文总体上公开的是能够累积多于两个串行输入并且提供一个串行求和输出的用于逻辑电路中的功能单元的实施方式。串行输入和输出能够是单个位或多个位的总线。功能单元能够被实施为逻辑树,其中任何两个点通过一个路径连接。功能单元能够被结合到诸如现场可编程门阵列(fpga)的可编程装置的处理单元中,以允许构建各种数学函数,诸如矩阵乘法。
4.本公开的方面提供一种包括被耦合到可编程互连的一个或多个处理单元的可编程装置。处理单元包括多个全加器电路,所述多个全加器电路被配置成共同地接收至少三个串行输入并且产生单个串行输出,所述单个串行输出是所述至少三个串行输入的求和。在所述多个全加器电路当中维持进位状态。
5.在示例中,处理单元的输入的数量等于比多个全加器电路的数量多一。在另一示例中,每个串行输入是多个位的输入。在又一实例中,每个全加器电路包括三个单个位的输入、总和输出和进位输出。
6.在又一示例中,全加器电路的总和输出是另一全加器电路的输入。在又一示例中,全加器电路的进位输出保持在寄存器中,以在后续循环中被应用为全加器电路的进位输入。在又一实例中,全加器电路的进位输出是另一全加器电路的输入。
7.在又一示例中,可编程互连包括多个逻辑门或多路复用器中的至少一个。在又一示例中,可编程互连包括一个或多个寄存器。
8.本公开的另一方面提供一种用于操作可编程装置的处理单元的方法。处理单元包括多个全加器电路。所述方法包括:利用多个全加器电路共同地接收至少三个串行输入;利用所述多个全加器电路产生单个串行输出,所述单个串行输出是所述至少三个串行输入的求和;以及在所述多个全加器电路当中维持进位状态。
9.在示例中,处理单元的输入的数量等于比多个全加器电路的数量多一。在另一示例中,每个全加器电路包括三个单个位的输入、总和输出和进位输出。
10.在又一示例中,所述方法进一步包括将全加器电路的总和输出输入到另一全加器电路。在又一示例中,所述方法进一步包括将全加器的进位输出保持在寄存器中,以在后续
循环被应用为全加器电路的进位输入。在又一示例中,所述方法进一步包括将全加器电路的进位输出输入到另一全加器电路。
11.本公开的又一方面提供一种用于存储指令的非暂时性计算机可读介质,所述指令在由一个或多个可编程装置执行时使所述一个或多个可编程装置执行操作,所述操作包括:利用多个全加器电路共同地接收至少三个串行输入;利用所述多个全加器电路产生单个串行输出,所述单个串行输出是所述至少三个串行输入的求和;以及在所述多个全加器电路当中维持进位状态。
12.在示例中,所述操作进一步包括将全加器电路的总和输出输入到另一全加器电路。在另一示例中,所述操作进一步包括将全加器的进位输出保持在寄存器中,以在后续循环中被应用为全加器电路的进位输入。在又一示例中,所述操作进一步包括将全加器电路的进位输出输入到另一全加器电路。
13.在又一示例中,基于可编程互连中的多个寄存器共同地接收所述至少三个串行输入。
附图说明
14.图1描绘根据本公开的方面的具有三个串行输入和一个串行输出的示例功能单元的框图。
15.图2描绘根据本公开的方面的具有三个串行输入和一个串行输出的另一示例功能单元的框图。
16.图3描绘根据本公开的方面的具有四个串行输入和一个串行输出的示例功能单元的框图。
17.图4描绘根据本公开的方面的具有五个串行输入和一个串行输出的示例功能单元的框图。
18.图5描绘根据本公开的方面的具有五个串行输入和一个串行输出的另一示例功能单元的框图。
19.图6描绘根据本公开的方面的具有六个串行输入和一个串行输出的另一示例功能单元的框图。
20.图7描绘根据本公开的方面的具有三个多个位的串行输入和一个多个位的串行输出的功能单元的框图。
21.图8描绘根据本公开的方面的包括用于掩蔽位的可编程互连的示例可编程装置的框图。
22.图9描绘根据本公开的方面的包括在用于掩蔽位的可编程互连中的寄存器的示例可编程装置的框图。
23.图10描绘根据本公开的方面的包括用于多路复用的可编程互连的示例可编程装置的框图。
24.图11描绘根据本公开的方面的包括用于多层多路复用的可编程互连的示例可编程装置的框图。
25.图12描绘根据本公开的方面的用于实施功能单元和/或可编程装置的示例环境的框图。
具体实施方式
26.本文总体上公开的是用于逻辑电路中的功能单元的实施方式,所述功能单元能够累积多于两个串行输入并且提供一个串行求和输出。串行输入和输出能够是单个位或多个位的总线。功能单元能够被实施为逻辑树,其中任何两个点通过一个路径连接。功能单元能够被结合到诸如现场可编程门阵列(fpga)的可编程装置的处理单元中,以允许构建各种数学函数,诸如矩阵乘法。
27.图1描绘具有三个串行输入102和一个串行输出104的示例功能单元100的框图。功能单元100能够包括第一全加器106、第二全加器108、第一寄存器110和第二寄存器112。每个全加器能够包括三个输入和两个输出。三个输入中的输入能够被称为进位输入。输出能够是总和输出和进位输出。进位输出能够保持在寄存器中,以在后续求和循环中作为进位输入被应用到其相应加法器。总和输出能够是三个输入的求和。
28.第一全加器106的两个输入能够是三个串行输入102中的两个,并且第二全加器108的输入能够是第三串行输入102。第一全加器106的进位输出114能够被保持在第一寄存器110中,以在后续循环中被应用为第一全加器106的进位输入116。第一全加器106的总和输出118能够是第二全加器108的三个输入中的输入。第二全加器108的进位输出120能够被保持在第二寄存器112中,以在后续循环中被应用为第二全加器108的进位输入122。第二全加器108的总和输出能够是串行输出104,所述串行输出104能够输出三个串行输入102的求和。
29.图2描绘具有三个串行输入202和一个串行输出204的另一示例功能单元200的框图。功能单元200能够包括第一全加器206、第二全加器208、第一寄存器210和第二寄存器212。任一全加器的进位输出能够被保持在寄存器中,以作为进位输入被应用到另一全加器。
30.第一全加器206的两个输入能够是三个串行输入202中的两个,并且第二全加器208的输入能够是第三串行输入202。第一全加器206的进位输出214能够被保持在第一寄存器210中,以在后续循环中作为进位输入216被应用到第二全加器208。第一全加器206的总和输出218能够是第二全加器208的三个输入中的输入。第二全加器208的进位输出220能够被保持在第二寄存器212中,以在后续循环中作为进位输入222被应用到第一全加器208。第二全加器208的总和输出能够是串行输出204,所述串行输出204能够输出三个串行输入202的求和。
31.功能单元能够包括大于二的任何数量的串行输入以及一个串行输出。功能单元中的全加器的数量能够比串行输入的数量少一。功能单元中的寄存器的数量能够小于串行输入的数量。功能单元能够是全加器的平衡树或不平衡树,使得全加器的层数最多能够等于功能单元中的全加器的数量。以下图3到6提供用于四个、五个和六个串行输入的示例功能单元,以进一步说明概念并且不将本公开限制于所示示例。
32.图3描绘具有四个串行输入302和一个串行输出304的示例功能单元300的框图。功能单元300包括第一全加器306、第二全加器308、第三全加器310、第一寄存器312、第二寄存器314和第三寄存器316。在一个示例中,对于每个全加器,进位输出能够被保持在寄存器中,以在后续循环中作为进位输入被应用到其相应加法器。在未示出的另一示例中,全加器的进位输出能够被保持在寄存器中,以作为进位输入被应用到不同全加器。
33.第一全加器306和第三全加器310能够形成三串行输入加法器,诸如图1中所描绘。第二全加器308和第三全加器310也能够形成三串行输入加法器。
34.第一全加器306的两个输入能够是四个串行输入302中的两个,并且第二全加器的两个输入能够是四个串行输入302中的另外两个。第一全加器306的进位输出318能够被保持在第一寄存器312中,以在后续循环中被应用为第一全加器306的进位输入320。第一全加器306的总和输出322能够是第三全加器310的三个输入中的第一输入。第二全加器308的进位输出324能够被保持在第二寄存器314中,以在后续循环中被应用为第二全加器308的进位输入326。第二全加器308的总和输出328能够是第三全加器310的三个输入中的第二输入。第三全加器310的进位输出330能够被保持在第三寄存器316中,以在后续循环中被应用为第三全加器310的进位输入332。第三全加器310的总和输出能够是串行输出304,所述串行输出304能够输出四个串行输入302的求和。
35.具有四个串行输入的功能单元300包括两层全加器,其中第一层包括第一全加器306和第二全加器308并且第二层包括第三全加器310。尽管未示出,但是功能单元300的另一示例能够包括具有一个全加器的三个层,其中第一层包括第一全加器306,第二层包括第二全加器308并且第三层包括第三全加器310。此处,第一全加器306的总和输出322能够是第二全加器308的输入,并且第二全加器308的总和输出328能够是第三全加器310的输入。第一全加器306能够包括串行输入302中的两个,第二全加器308能够包括串行输入302中的一个,并且第三全加器310能够包括第四串行输入302。
36.图4描绘具有五个串行输入402和一个串行输出404的示例功能单元400的框图。功能单元400包括四个全加器406到412和四个寄存器414到420。在一个示例中,对于每个全加器,进位输出能够被保持在寄存器中,以在后续循环中作为进位输入被应用到其相应加法器。在未示出的另一示例中,全加器的进位输出能够被保持在寄存器中,以作为进位输入被应用到不同全加器。
37.第一全加器406、第二全加器408和第三全加器410能够形成四串行输入加法器,诸如图3中所描绘。第三全加器410和第四全加器412能够形成三串行输入加法器,诸如图1中所描绘。
38.第一全加器406的两个输入能够是五个串行输入402中的两个,第二全加器408的两个输入能够是五个串行输入402中的另外两个,并且第四全加器412的输入能够是第五串行输入402。第一全加器406的进位输出422能够被保持在第一寄存器414中,以在后续循环中被应用为第一全加器406的进位输入424。第一全加器406的总和输出426能够是第三全加器410的三个输入中的第一输入。第二全加器408的进位输出428能够被保持在第二寄存器416中,以在后续循环中被应用为第二全加器408的进位输入430。第二全加器408的总和输出432能够是第三全加器410的三个输入中的第二输入。第三全加器410的进位输出434能够被保持在第三寄存器418中,以在后续循环中被应用为第三全加器410的进位输入436。第三全加器410的总和输出438能够是第四全加器412的三个输入中的输入。第四全加器412的进位输出440能够被保持在第四寄存器420中,以在后续循环中被应用为第四全加器412的进位输入442。第四全加器412的总和输出能够是串行输出404,所述串行输出404能够输出五个串行输入402的求和。
39.图5描绘具有五个串行输入502和一个串行输出504的另一示例功能单元500的框
图。此功能单元500具有减少一个寄存器以减少面积。功能单元500包括四个全加器506到512和三个寄存器514到518。
40.第一全加器506的输入能够是五个串行输入502中的一个,第二全加器508的三个输入能够是五个串行输入502中的三个,并且第四全加器512的输入能够是第五串行输入502。第一全加器506的总和输出520和第二全加器508的总和输出522能够是第四全加器512的输入中的两个。第一全加器506的进位输出524、第二全加器508的进位输出526和第四全加器512的进位输出528能够是第三全加器510的三个输入。第三全加器510的总和输出530能够被保持在第一寄存器514中,以在后续循环中作为第一进位输入532被应用到第一全加器506。第三全加器510的进位输出534能够被保持在第二寄存器516中,以在后续循环中进一步被保持在第三寄存器518中,以随后在另一后续循环中作为第二进位输入536被应用到第一全加器506。第四全加器512的总和输出能够是串行输出504,所述串行输出504能够输出五个串行输入502的求和。
41.图6描绘具有六个串行输入602和一个串行输出604的另一示例功能单元600的框图。功能单元600包括五个全加器606到614和五个寄存器616到624。在一个示例中,对于每个全加器,进位输出能够被保持在寄存器中,以在后续循环中作为进位输入被应用到其相应加法器。在未示出的另一示例中,全加器的进位输出能够被保持在寄存器中,以作为进位输入被应用到不同全加器。
42.第一全加器606、第二全加器608和第四全加器612能够形成四串行输入加法器,诸如图3中所描绘。第二全加器608、第四全加器612和第五全加器614也能够形成四串行输入加法器。第三全加器610和第五全加器614能够形成三串行输入加法器,诸如图1中所描绘。第四全加器612和第五全加器614也能够形成三串行输入加法器。
43.第一全加器606的两个输入能够是六个串行输入602中的两个,第二全加器608的两个输入能够是六个串行输入602中的另外两个输入,并且第三全加器610的两个输入能够是六个串行输入602中的剩余两个输入。第一全加器606的进位输出626能够被保持在第一寄存器616中,以在后续循环中被应用为第一全加器606的进位输入628。第一全加器606的总和输出430能够是第四全加器612的三个输入中的第一输入。第二全加器608的进位输出632能够被保持在第二寄存器618中,以在后续循环中被应用为第二全加器608的进位输入634。第二全加器608的总和输出63能够是第四全加器612的三个输入中的第二输入。第三全加器610的进位输出638能够被保持在第三寄存器620中,以在后续循环中被应用为第三全加器610的进位输入640。第三全加器610的总和输出642能够是第五全加器614的三个输入中的第一输入。第四全加器612的进位输出644能够被保持在第四寄存器622中,以在后续循环中被应用为第四全加器612的进位输入646。第四全加器612的总和输出648能够是第五全加器614的三个输入中的第二输入。第五全加器614的进位输出650能够被保持在第五寄存器624中,以在后续循环中被应用为第五全加器614的进位输入652。第五全加器614的总和输出能够是串行输出604,所述串行输出604能够输出六个串行输入602的求和。
44.串行输入和输出能够包括多个位的总线,而不是单个位。图7描绘具有三个多个位的串行输入702和一个多个位的串行输出704的功能单元700的框图。功能单元700能够包括第一多个位的全加器706、第二多个位的全加器708、第一寄存器710和第二寄存器712。每个多个位的全加器包括数量等于多个位的全加器的位数的多个单个位的全加器,所述多个位
的全加器被实施使得每个单个位的全加器输入前一个单个位的全加器的进位。示例多个位的全加器能够是行波进位加法器。
45.第一多个位的全加器706的两个输入能够是三个多个位的串行输入702中的两个,并且第二多个位的全加器708的输入能够是第三多个位的串行输入702。第一多个位的全加器706的进位输出714能够被保持在第一寄存器710中,以在后续循环中被应用为第一多个位的全加器706的进位输入716。第一多个位的全加器706的多个位的总和输出718能够是第二多个位的全加器708的输入。第二多个位的全加器708的进位输出720能够被保持在第二寄存器712中,以在后续循环中被应用为第二多个位的全加器708的进位输入722。第二多个位的全加器708的多个位的总和输出能够是多个位的串行输出704,所述多个位的串行输出704能够输出三个多个位的串行输入702的求和。
46.正如单个位的示例一样,功能单元能够包括大于二的任何数量的多个位的串行输入以及一个多个位的串行输出。功能单元中的多个位的全加器的数量能够比多个位的串行输入的数量少一。功能单元中的寄存器的数量能够小于多个位的串行输入的数量。全加器的层数最多能够等于功能单元中的全加器的数量。
47.功能单元能够被结合到可编程装置的处理单元中,以允许构建各种函数。作为示例,可编程装置能够包括一个或多个处理单元和可编程互连,其中处理单元能够包括一个或多个功能单元,诸如上述示例功能单元中的一个。
48.图8描绘包括用于掩蔽位的可编程互连的示例可编程装置800的框图。可编程装置800能够包括由用于掩蔽位的可编程互连806连接的第一处理单元802和第二处理单元804。应注意,第一处理单元802和第二处理单元804能够是相同处理单元或单独处理单元的一部分。
49.第一处理单元802能够包括第一功能单元808,并且第二处理单元804能够包括第二功能单元810和第三功能单元812。尽管在相同处理单元中描绘第二功能单元810和第三功能单元812,但是应注意,功能单元也能够是单独处理单元的一部分。此处,功能单元对应于具有三个串行输入的功能单元,诸如在图1或2中所描绘。然而,功能单元能够对应于本文所提供的任何示例或未示出的其他示例。每个功能单元也能够相同或不同。例如,虽然为了简单起见仅描绘三个串行输入功能单元,但是在另一实施方式中,第一功能单元808可以是五串行输入功能单元,而第二功能单元810可以是三串行输入功能单元并且第三功能单元812可以是六串行输入功能单元。每个处理单元还能够包括任何数量的功能单元。
50.可编程互连806能够被连接在第一功能单元808的总和输出与第二功能单元810和第三功能单元812的输入之间。可编程互连806能够被连接到第二功能单元810和第三功能单元812的三个输入中的任何输入。可编程互连806能够包括用于将位掩蔽到零或一的逻辑门814,诸如and(与)门。逻辑门814能够利用用于将位掩蔽到零或一的配置位816来被输入。第一功能单元808的总和输出能够由可编程互连806掩蔽,并且能够将掩蔽的总和输入到第二功能单元810和第三功能单元812。
51.图9描绘包括寄存器的示例可编程装置900的框图。寄存器能够增加延迟以实现更高的时钟速率。延迟能够对应于二的乘法。因此,能够在可编程互连的一些输出处包括寄存器以产生不同结果。
52.可编程装置900能够包括由用于掩蔽位的可编程互连906连接的第一处理单元902
和第二处理单元904。第一处理单元902能够包括第一功能单元908,并且第二处理单元904能够包括第二功能单元910和第三功能单元912。与图8一样,仅用于示例目的,功能单元此处对应于具有三个串行输入的功能单元。所描绘的功能单元的数量也仅用于示例目的。
53.可编程互连906能够被连接在第一功能单元908的总和输出与第二功能单元910和第三功能单元912的输入之间。可编程互连906能够包括用于将位掩蔽到零或一的第一逻辑门914和第二逻辑门916。逻辑门914、916能够利用用于将位掩蔽到零或一的配置位918来被输入。可编程互连906能够进一步包括用于将位保持一个循环的第一寄存器920和第二寄存器922。第一寄存器920能够被连接在第一功能单元908的总和输出与逻辑门914、916之间。第二寄存器922能够被连接在第一逻辑门914的输出与第二功能单元910的输入之间。
54.第一功能单元808的总和输出能够在第一寄存器920中被保持一个循环。第一寄存器920的输出能够由第一逻辑门914和第二逻辑门916掩蔽。第一逻辑门914的掩蔽输出能够在第二寄存器922中被保持一个循环并且能够被输入到第二功能单元910。第二逻辑门916的掩蔽输出能够被输入到第三功能单元912。由于第二寄存器922,第二功能单元910和第三功能单元912能够具有从第一功能单元908的输出导出的不同输入。
55.图10描绘包括用于多路复用的可编程互连的示例可编程装置1000的框图。可编程装置1000能够包括由可编程互连1006连接的第一处理单元1002和第二处理单元1004。第一处理单元1002能够包括第一功能单元1008和第二功能单元1010,并且第二处理单元1004能够包括第三功能单元1012和第四功能单元1014。与先前的图一样,仅用于示例目的,功能单元此处对应于具有三个串行输入的功能单元。所描绘的功能单元的数量也仅用于示例目的。
56.可编程互连1006能够被连接在第一功能单元1008和第二功能单元1010的总和输出与第三功能单元1012和第四功能单元1014的输入之间。可编程互连1006能够包括多个多路复用器1016,用于选择将第一功能单元1008和第二功能单元1010的哪些总和输出提供到第三功能单元1012和第四功能单元1014的哪些输入。多路复用器1016能够利用用于选择哪一总和输出的配置位1018来被输入。所选择的总和输出能够被输入到其对应功能单元。尽管多路复用器1016被示为具有两个输入,但是它们能够包括任何数量的输入。尽管未示出,但是寄存器能够被包括在组件之间,以用于增加延迟或提供不同输出。
57.图11描绘包括用于多层多路复用的可编程互连的示例可编程装置1100的框图,其中多路复用器能够被连接到其他多路复用器。可编程装置1100能够包括由可编程互连1106连接的第一处理单元1102和第二处理单元1104。第一处理单元1102能够包括第一多个功能单元1108,并且第二处理单元1104能够包括第二多个功能单元1110。与先前的图一样,仅用于示例目的,功能单元此处对应于具有三个串行输入的功能单元。所描绘的功能单元的数量也仅用于示例目的。
58.可编程互连1106能够被连接在第一多个功能单元1108的总和输出与第二多个功能单元1110的输入之间。可编程互连1106能够包括第一多个多路复用器1112,用于选择将第一多个功能单元1108的哪些总和输出提供到第二多个多路复用器1114中的哪些多路复用器,这进一步选择将总和输出提供到第二多个功能单元1110的哪一输入。虽然为了简单起见示出两层多路复用器,但应注意,可编程互连1106中能够包括任何数量的多路复用器层,每一层具有任何数量的多路复用器。此外,尽管未示出,但是寄存器能够被包括在组件
之间,以用于增加延迟或提供不同输出。与功能单元的多层复用能够允许对可编程装置上的输入的有效使用。
59.图12描绘用于实施功能单元和/或可编程装置的示例环境1200的框图。系统1200能够被实施在一个或多个位置中——诸如在服务器或客户端计算装置中——的一个或多个计算装置1202上。计算装置1202能够包括具有由可编程互连1208连接的一个或多个处理单元1206的一个或多个可编程装置1204。可编程装置1204能够包括一个或多个中央处理单元(cpu)、图形处理单元(gpu)、现场可编程门阵列(fpga),和/或专用集成电路(asic),诸如张量处理单元(tpu)。处理单元1206能够包括一个或多个功能单元,诸如在先前示例中所描绘。可编程互连1208能够在功能上和/或在物理上将处理单元1206诸如与前面示例中所描绘的逻辑单元或多路复用器连接。
60.计算装置1202能够进一步包括存储器1210,所述存储器1210能够存储可编程装置1204可访问的信息,包括能够由可编程装置1204执行的指令1212。存储器1210还能够包括数据1214,所述数据1204能够由可编程装置1204检索、操纵或存储。存储器1210能够是能够存储可编程装置1204可访问的信息的一个类型的非暂时性计算机可读介质,诸如易失性和非易失性存储器。
61.指令1212能够包括在由可编程装置1204执行时使可编程装置1204执行由指令1212定义的动作的一个或多个指令。指令1212能够以目标代码格式存储以供可编程装置1204直接处理,或者以其他格式存储,包括按需解释或预先编译的独立源代码模块的可解释脚本或集合。
62.可编程装置1204能够根据指令1212检索、存储或修改数据1214。数据1214能够作为具有多个不同字段和记录的表或者作为json、yaml、原型或xml文档存储在计算机寄存器中、关系或非关系数据库中。数据1214还能够以计算机可读格式,诸如但不限于二进制值、ascii或unicode来被格式化。此外,数据1214能够包括足以识别相关信息的信息,诸如数字、描述性文本、专有代码、指针、对存储在包括其他网络位置的其他存储器中的数据的参考,或由函数用于计算相关数据的信息。
63.如果计算装置1202是客户端计算装置,则计算装置1202还能够包括用户输出1216和用户输入1218。用户输出1216能够被配置用于显示界面,和/或包括一个或多个扬声器、换能器或其他音频输出、触觉界面或向计算装置1202的用户提供非视觉和非听觉信息的其他触觉反馈。用户输入1218能够包括用于接收来自用户的输入的任何适当的机制或技术,诸如键盘、鼠标、机械致动器、软致动器、触摸屏、麦克风和传感器。
64.尽管图12将可编程装置1204和存储器1210图示为在计算装置1202内,但是在本说明书中描述的组件能够包括能够在不同物理位置并且不在相同计算装置内操作的多个可编程装置1204和存储器。例如,指令1212和数据1214中的一些能够被存储在可移动sd卡上,而其他能够被存储在只读计算机芯片内。指令1212和数据1214中的一些或全部能够被存储在物理上远离可编程装置1204,但仍可由可编程装置1204访问的位置中。类似地,可编程装置1204能够包括能够执行同时和/或顺序操作的处理单元的集合。计算装置1202可以包括提供定时信息的一个或多个内部时钟,所述内部时钟可以用于由计算装置1202运行的操作和程序的时间测量。
65.因此,本文总体上公开的是用于能够累积多于两个串行输入并且提供一个串行求
和输出的功能单元的实施方式。串行输入和输出能够是单个位或多个位的总线。功能单元能够被实施为逻辑树,其中任何两个点通过一个路径连接。功能单元能够被结合到可编程装置的处理单元中,以允许构建各种函数。
66.除非另有说明,否则前述替代示例不是互相排斥的,而是可以以各种组合实施以实现独特的优点。由于能够利用以上讨论的特征的这些以及其他变型和组合,而不脱离权利要求所限定的主题,因此对实施例的前述描述应通过说明而不是通过限制权利要求所限定的主题进行。另外,提供本文描述的示例以及用短语表达为“诸如”、“包括”等的子句不应被解释为将权利要求的主题限制于特定示例;相反,示例仅旨在说明许多可能实施例中的一个。此外,不同附图中的相同附图标记能够标识相同或相似的元件。