半导体运算装置的制作方法

文档序号:6429129阅读:254来源:国知局
专利名称:半导体运算装置的制作方法
技术领域
本发明涉及半导体运算装置,特别是在同时进行能够由在半导体运算装置中运算的比特数表示的所有逻辑值的运算的半导体运算装置中适于使用的装置。
背景技术
集成电路中的集成密度(能够集成的元件数(晶体管数))大致遵循每1.5年为2倍的「摩尔法则」,呈指数函数增长。伴随着集成密度的上升,能够在1片芯片上集成在以往的技术中认为不能够在1片半导体芯片(以下,简单地称为「芯片」。)上集成由大量的电路元件构成的电路。
例如,在处理器等半导体运算装置的集成电路中,伴随在1片芯片上能够集成的电路元件数的增加,运算处理量增大,能够进行大规模的运算。另外,例如,在1片芯片上集成用于实现由分别集成了具有预定功能的电路的大量芯片构成的系统的整体功能的大量集成电路元件的称为芯片基系统(SOCSystem On a Chip)的集成电路也已经实用化。
另外,以往当集成电路中的集成密度低时,在构成集成电路的晶体管中必须减少集成电路的晶体管数,省略不必要的晶体管,使得能够集成在1片芯片上。但是,伴随着近年来的集成密度的上升,通过增加能够在1片芯片上集成的晶体管数,降低了省略不必要的晶体管的作业的必要性。
但是,如上述那样,虽然集成电路中的集成密度上升,进而降低了省略不必要的晶体管的作业的必要性,但是,关于在1片芯片上形成的集成电路的设计效果(集成电路的设计需要的时间以及劳动力),并没有与集成密度的上升同等地提高。
即,伴随在由制造技术的进步产生的集成电路中的集成密度的上升,在进行大量的晶体管在芯片上的配置、布线等的计划(设计)时需要非常多的时间以及劳动力。其结果,存在着集成电路的设计所需要的时间以及劳动力也与集成密度同样增大的问题。
另外,伴随着集成电路中的集成密度的上升,在CPU等半导体运算装置的集成电路中,虽然能够进行大规模的运算,但是由于采用使用1个数据值顺序进行运算处理、条件·分支处理等以往所利用的运算方式(算法),因此根据运算的规模,存在着运算时间增大,不能够高速地进行大规模运算的问题。

发明内容
本发明是为解决这样的问题产生的,目的在于不增大用于进行大规模运算的集成电路的设计中所需要的时间以及劳动力,能够高速地进行大规模的运算。
本发明的半导体装置对于能够用(N+1)比特(N是自然数)表示的所有逻辑值的状态同时进行运算,保持各个运算结果,特征是具备分别具有多个运算电路,对于能够用N比特表示的所有逻辑值的状态同时分别进行运算,保持运算结果的2个N量子比特运算器电路群,以及用于在上述2个N量子比特运算电路群之间收发逻辑值状态的第N量子比特的开关电路。
如果依据上述那样构成的本发明,则能够容易地构成经过第N量子比特的开关电路,只是连接2个N量子比特的运算电路群,就能够容易地构成对于能够用(N+1)比特表示的所有逻辑值的状态同时进行运算,保持各个运算结果的半导体运算装置。


图1是示出适用了本发明实施形态的半导体运算装置的并行处理器的一个结构例的框图。
图2是示出处理器元件的结构例的框图。
图3是示出处理器元件内的运算单元的详细结构例的框图。
图4是示出交换单元的结构例的框图。
图5用于说明进行相当于任意数量量子比特的运算的半导体运算装置的构成方法。
具体实施例方式
以下,根据

本发明的一个实施形态。
图1是示出适用了本发明实施形态的半导体运算装置的并行处理器的一个结构例的框图。
该图1所示的并行处理器1是使用集成电路实现了量子计算机技术的处理器。
首先,说明量子计算机。
量子计算机与以往的计算机等的运算方式不同,是利用了以所谓的量子比特为单位构成的基于量子力学的状态的叠加的新运算方式,作为新的计算机模型,由费曼(Feynman)提出。在量子计算机中,由于使用1个装置利用基于量子力学的状态的叠加进行运算,因此在逻辑上对于所有可能的状态(能够作为值存在的数据),仅进行1次运算就能够同时而且即时获得上述所有可能状态的运算结果。
但是,另一方面,量子计算机由于利用基于量子力学的状态的叠加,因此仅能够在使用核磁共振、微波、激光那样的实际上可观测到基于量子力学现象的物理系统中实现,并且需要大规模的装置。最近,在量子计算机中,提出了能够运算到同时存在25个状态的5量子比特的实际的物理系统。
但是,量子计算机必须进行运算使得状态相互之间具有相关性的同时发生变化(使状态缠结在一起)。为此,在使用了实际的物理系统的量子计算机中,难以在1个装置中存在并保持伴随量子比特数增加,呈指数函数增加的相位状态(例如,在10量子比特的情况下,210=1024个相位状态)。
另外,量子计算机由于使用可观测到基于量子力学的现象的实际物理系统,因此设置与已有的电子电路之间收发运算结果等数据的接口非常繁杂,与电子电路的连接性差。
这里,上述量子计算机由于利用量子的物理现象(基于量子力学的状态的叠加),因此难以直接由利用了古典的物理现象(古典电磁学)的集成电路实现。即,集成电路上的1个器件难以进行利用了基于量子力学的状态的叠加的运算。但是,集成电路上的多个器件能够分别存储根据量子力学而叠加的多个状态,对于所存储的基于量子力学的状态能够同时进行运算。
因此,上述图1所示的并行处理器1在集成电路中设置多个处理器元件(PE),在多个处理器元件中分别存储根据量子力学叠加了的多个状态(逻辑值的概率振幅),使得同时进行运算。另外,图1中,作为一个例子示出了存储相当于5量子比特的25=32个状态(能够用5比特表示的32个逻辑值的概率振幅),同时进行运算的并行处理器1,但本发明并不限于该例。另外,以下,为了说明上的方便,把逻辑值的概率振幅称为「状态」。
如上述图1所示那样,并行处理器1具有多个处理器元件(PE)(图1中用实线的□表示。)和多个交换单元(EU)(图1中用○表示。)。具体地讲,进行相当于5量子比特运算的图1所示的并行处理器1具有32(=25)个处理器元件和31(=25-1)个交换单元。
这里,处理器元件对于32个状态中的1个状态,根据多个状态进行预定的运算(幺正变换),存储所得到的运算结果。另外,交换单元把2个处理器元件或者由多个处理器元件分别构成的2个处理器元件群连接成使得能够互相通信,控制处理器元件之间或者处理器元件群之间的数据收发等。另外,关于处理器元件以及交换单元的详细情况在后面叙述。
而且,并行处理器1如图1所示,经过交换单元3-1把处理器元件2-1与处理器元件2-2连接成H字形。由此,构成进行相当于1量子比特运算的处理器元件群4-1。
进而,经过交换单元3-2,把与处理器元件群4-1同样构成的处理器元件群4-2与处理器元件群4-1连接成H字形。由此,构成进行相当于2量子比特的运算的处理器元件群5-1。
同样,经过交换单元3-3,通过把处理器元件群5-1与5-2连接成H字形,构成进行相当于3量子比特的运算的处理器元件群6-1,经过交换单元3-4,通过把处理器元件群6-1与6-2连接成H字形,构成进行相当于4量子比特的运算的处理器元件群7-1。进而,经过交换单元3-5,通过把处理器元件群7-1与7-2连接成H字形,构成进行相当于5量子比特的运算的处理器元件群,即并行处理器1。
即,本实施形态的并行处理器经过交换单元,通过把进行相当于N量子比特(N是自然数)的运算的处理器元件群(其中,N=1时是处理器元件)连接成H字形,构成只是进行1量子比特的运算就相当于进行扩展了的(N+1)量子比特的运算的处理器元件群。而且,经过交换单元,通过把处理器元件群递归地连接成H字形,构成进行相当于所希望的量子比特数的运算的并行处理器。这里,上述处理器元件构成本发明的运算电路,交换单元构成本发明的开关电路。另外,处理器元件群构成本发明的运算电路群。
进而,并行处理器1具有控制并行处理器1内的多个处理器元件以及多个交换单元的控制器8和用于在并行处理器1与连接到外部的电路(设备)等之间进行数据收发等的接口9。
其次,详细地说明处理器元件(PE)。
另外,由于上述图1所示的并行处理器1具有的各个处理器元件是相同的结构,因此以下作为一例说明处理器元件2-1。
图2是示出上述图1所示的处理器元件2-1的结构例的框图。
图2中,处理器元件2-1由运算单元11和寄存器单元12构成。
运算单元11根据通过未图示的信号线从图1所示的控制器8供给的指示,对于该处理器元件2-1运算的32个状态中的某一个状态,进行预定的运算(幺正变换)。在运算单元11中,从寄存器单元12供给表示所运算的32个状态中的1个状态的内部数据IDT,经过交换单元3-1从其它的处理器元件(处理器元件群)供给表示与上述1个状态不同的其它状态的输入数据DTI。
这里,上述内部数据IDT以及输入数据DTI如上述那样是逻辑值的概率振幅,上述概率振幅使用复数表示。另外,在运算单元11中进行的运算由于是幺正变换,因此在运算单元11进行的运算中始终保持幺正性。
例如,在处理器元件2-1中运算的状态是32个状态中的逻辑值“00001”的状态时,逻辑值“00001”的概率振幅作为内部数据IDT供给到运算单元11,与逻辑值“00001”不同的逻辑值(例如,“00000”或者“00011”等)的概率振幅作为输入数据DTI供给到运算单元11。
另外,在运算单元11中经过交换单元3-1从控制器8供给系数信号SC。
运算单元11对于作为内部数据IDT以及输入数据DTI供给的多个状态(用复数表示的概率振幅),使用作为上述系数信号SC供给的系数值进行复数的积和运算。而且,运算单元11把作为运算结果得到的状态(用复数表示的概率振幅)输出到寄存器单元12。
寄存器单元12根据从图1所示的控制器8经过未图示的信号线供给的指示,存储从运算单元11输出的运算结果。另外,寄存器单元12根据通过未图示的信号线供给的指示,把存储的运算结果作为内部数据IDT输出到运算单元11,或者经过交换单元3-1作为输出数据DTI输出到其它的处理器元件(处理器元件群)。
图3是示出上述图2所示的运算单元11的详细结构例的框图。
图3中,运算单元11由4个乘法器21-1~21-4以及2个加法器22-1~22-2构成。
在乘法器21-1~21-4中,供给内部数据IDT或者输入数据DTI的同时供给系数信号SC。乘法器21-1~21-4分别进行作为内部数据IDT供给的32个中的1个逻辑值的概率振幅的实数部分、虚数部分以及作为输入数据DTI供给的逻辑值(与上述1个逻辑值不同的逻辑值)的概率振幅的实数部分、虚数部分与作为系数信号SC供给的系数值的乘法运算,把其结果输出到连接在后一级的加法器22-1、22-2。
加法器22-1把分别从乘法器21-1以及21-2输出的乘法结果相加。另外,加法器22-2把分别从乘法器21-3以及21-4输出的乘法结果相加。而且,加法器22-1、22-2向上述图2所示的寄存器单元12输出相加结果。
通过如上述那样构成运算单元11,运算单元11进行作为内部数据IDT以及输入数据DTI供给的多个状态(概率振幅)与作为上述系数信号SC供给的系数值的积和运算。
其次,详细地说明交换单元(EU)。
另外,由于上述图1所示的并行处理器1具有的各个交换单元是相同的结构,因此以下作为一例说明交换单元3-1。
图4是示出上述图1所示的交换单元(EU)3-1的结构例的框图。
如图4所示,交换单元3-1由6个开关元件SW1~SW6构成。
开关元件SW1以及SW2分别串联连接在处理器元件2-1的数据输出端子,处理器元件2-2的数据输入端子以及处理器元件3-1的第1数据输入端子之间。同样,开关元件SW3以及SW4分别串联连接在处理器元件2-2的数据输出端子,处理器元件2-1的数据输入端子以及交换单元3-2的第2数据输入端子之间。另外,开关元件SW5以及SW6分别串联连接在交换单元3-2的第1以及第2数据输出端子,处理器元件2-1以及2-2的数据输入端子之间。
开关元件SW1以及SW2把从处理器元件2-1作为输出数据DTO输出的32个状态中的1个状态(逻辑值的概率振幅)切换为是否分别供给到处理器元件2-2以及交换单元3-2。
同样,开关元件SW3以及SW4把从处理器元件2-2作为输出数据DTO输出的32个状态中的1个状态切换为是否分别供给到处理器元件2-1以及交换单元3-2。
另外,开关元件SW5以及SW6把从交换单元3-2输出的在上述处理器元件2-1、2-2中运算的状态以外的32个状态中的其它状态切换为是否分别供给到处理器元件2-1以及2-2。
如上述那样构成交换单元3-1,通过适宜地开闭控制开关元件SW1~SW6,控制数据的供给路径,能够把32个状态分别供给到构成并行处理计算机1的多个处理器元件中。
另外,图4中,示出了仅用于在处理器元件2-1、2-2与交换单元3-2之间相互收发数据的数据信号线,而也可以在交换单元(EU)内具备从上述图1所示的控制器8供给指示的信号线,或者作为系数信号SC供给系数的信号线。
其次,说明在本实施形态的并行处理器1中使用的命令。在本实施形态的并行处理器1中,仅使用以下所示的9个命令,就能够进行任何的运算。
(1)PHAS(Phase Shift1量子比特相移操作)进行对于所指定的量子比特的相位旋转。
(2)ROT(Rotation1量子比特旋转操作)进行对于所指定的量子比特的旋转操作。
(3)CPHAS(Controlled Phase Shift控制1量子比特相移操作)当由控制值表示的量子比特的值为“1”时,进行对于所指定的量子比特的相位旋转,当量子比特的值为“0”时,进行保持前一值的运算(恒等变换)。
(4)CROT(Controlled Rotation控制1量子比特旋转操作)当由控制值表示的量子比特的值为“1”时,进行对于所指定的量子比特的旋转操作,当量子比特的值为“0”时,进行保持前一值的运算(恒等变换)。
(5)HALT(运算停止命令)停止运算,转移到不工作状态。
(6)INIT(Initialize量子比特初始化操作)
仅把所有量子比特的值为“0”的状态的概率振幅的实数值取为1,除此以外取为0。
(7)PCAL(概率计算)计算根据概率振幅的绝对值的平方计算出的概率。
(8)PSUM(概率累加)计算仅是所指定的量子比特的值不同的逻辑值概率之和。
(9)REDUCE(状态收缩操作)进行仅是所指定的量子比特的值不同的逻辑值概率的大小比较,根据比较结果维持概率振幅或者取为“0”。
其次,说明上述图1所示的本实施形态中的并行处理器1的动作。
另外,在以下的说明中,为了说明的方便,把图1所示的处理器元件2-1中运算的状态作为逻辑值“XXX00”(X是任意态)的状态,处理器元件2-2中运算的状态作为逻辑值“XXX01”(X是任意态)的状态进行说明。
例如,设进行以最下位的量子比特为对象的运算。这时,交换单元3-1内的开关元件SW1以及SW3闭合,其余的开关元件SW2,SW4~SW6打开。
由此,存储在处理器元件2-1内的寄存器单元12中的逻辑值“XXX00”的状态(概率振幅)的一部分(例如,乘上了预定的系数值的部分)经过交换单元3-1内的开关元件SW1供给到处理器元件2-2内的运算单元11。同样,存储在处理器元件2-2内的寄存器单元12中的逻辑值“XXX01”的状态(概率振幅)的一部分经过交换单元3-1内的开关元件SW3供给到处理器元件2-1内的运算单元11。另外,在处理器元件2-1、2-2中,根据系数信号SC从控制器8供给与运算相对应的系数值。
处理器元件2-1内的运算单元11使用存储在自身寄存器单元12中的逻辑值“XXX00”的状态,从处理器元件2-2供给的逻辑值“XXX01”的状态的一部分以及根据系数信号SC供给的系数值,进行关于状态(概率振幅)的积和运算。由此,作为运算结果可以得到运算后的逻辑值“XXX00”的状态。另外,与处理器元件2-1内的运算单元11中的积和运算的同时,在处理器元件2-2内的运算单元11中也进行同样的积和运算,作为运算结果取得运算后的逻辑值“XXX01”的状态。另外,由于作为运算对象的量子比特相同,因此在处理器元件2-1、2-2中进行的状态的运算是相同的运算。
在并行处理器1具有的所有处理器元件中同时进行与上述那样在处理器元件2-1、2-2中进行的动作相同的动作。由此,并行处理器1同时进行以对于与5量子比特相当的32个状态的最下位的量子比特为对象的运算,能够迅速地得到全部运算结果。
另外,对于以最下位的量子比特以外为对象进行运算的情况,只是交换单元内的开关SW1~SW6的开闭控制不同,供给逻辑值的一部分状态的处理器元件成为其它的处理器元件群对应的(运算仅是作为运算对象的量子比特的逻辑值不同的逻辑值)处理器元件,而由于基本的动作相同因此省略说明。
如以上详细地说明的那样,如果依据本实施形态,则通过经由交换单元连接具有对于能够用N比特(N是自然数)表示的相互不同的逻辑值的状态分别同时进行运算,保持运算结果的2N个处理器元件的进行相当于N量子比特的运算的2个处理器元件群(其中,当N=1时是处理器元件),构成只是进行1量子比特的运算但相当于进行扩张了的(N+1)量子比特的运算的处理器元件群。而且,经过交换单元,通过递归地连接处理器元件群,构成进行相当于预定量子比特数的运算的并行处理器。
由此,即使是进行大规模运算的并行处理器,由于能够设计成只是经过交换单元递归地连接处理器元件群,因此不增大设计所需要的时间以及劳动力,能够容易地设计进行预定运算的并行处理器。
特别是,在经过交换单元,使得把处理器元件群递归地连接成H字形的情况下,能够上下对称以及左右对称地配置处理器元件群,设计非常容易,同时在集成电路上的安装效率也能够提高。
另外,由于使用相当于同时进行对于能够用N比特表示的2N个所有逻辑值的状态的运算,保持运算结果的N量子比特的2个处理器元件群,构成相当于(N+1)量子比特的处理器元件群,因此能够同时进行对于能够用(N+1)比特表示的2N+1个所有逻辑值的状态运算,并且始终保持运算结果。从而,即使不像以往那样使用1个数据值顺序进行运算,对于所有逻辑值仅是同时进行一次运算,就能够对于所有逻辑值得到运算结果,因此能够高速地进行大规模的运算。
另外,在上述的实施形态中,在经过交换单元递归地连接处理器元件群时,配置成H字形,但本发明并不是限于这种形状。然而,通过对于交换单元对称地配置并连接处理器元件群,能够非常容易而且合理地进行设计。
另外,在上述的本实施形态中,示出了进行相当于5量子比特的运算的半导体运算装置,而本发明不限于进行相当于5量子比特的运算的半导体运算装置,如图5所示,能够适用于进行相当于任意数量的量子比特的运算的半导体运算装置。
图5用于说明进行相当于任意数量的量子比特的运算的半导体运算装置的构成方法。
图5中,8-1、8-2分别是进行相当于5量子比特的运算处理器元件群,由图1所示的进行相当于4量子比特的运算的2个处理器元件7-1、7-2分别构成。经过交换单元3-6,例如通过把上述处理器元件群8-1、8-2连接成H字线,构成进行相当于6量子比特的运算的处理器元件群9-1,经过交换单元3-7,通过把处理器元件群9-1、9-2连接成H字形,构成进行相当于7量子比特的运算的处理器元件群10-1。
同样,经过交换单元,通过递归地连接处理器元件群,增加能够运算的量子比特数。
例如,在构成进行相当于N量子比特的运算的处理器元件群的情况下,经过交换单元3-N,通过连接进行相当于(N-1)量子比特的运算的处理器元件群12-1、12-2,构成进行相当于N量子比特的运算的处理器元件群13-1,其中,处理器元件群12-1、12-2分别具有进行相当于(N-2)量子比特的运算的处理器元件群11-1、11-2以及交换单元3-(N-1)。
产业上的可利用性如以上说明的那样,如果依据本发明,则通过对于能够用N比特表示的所有逻辑值的状态同时分别进行运算,并且保持运算结果的2个N量子比特运算电路群,以及用于在2个N量子比特运算电路群之间收发逻辑值的状态的量子比特的开关电路,构成对于能够用(N+1)比特表示的所有逻辑值状态同时进行运算,并且保持各个运算结果的半导体运算装置。
由此,即使是进行大规模运算的半导体运算装置,也能够只是经过开关电路递归地连接运算电路群进行设计,不增大设计所需要的时间以及劳动力,能够容易地设计进行大规模运算的半导体运算装置。进而,由于构成包括对于能够用N比特表示的所有逻辑值的状态同时分别进行运算,并且保持运算结果的2个N量子比特运算电路群,因此对于能够用(N+1)比特表示的所有逻辑值的状态能够同时进行运算并且保持各个运算结果,对于所有的逻辑值只是同时进行一次运算,就能够对于所有的逻辑值得到运算结果。从而,能够高速地进行大规模的运算。
权利要求
1.一种半导体运算装置,该半导体运算装置对于能够用N+1个比特表示的所有逻辑值状态同时进行运算,并且保持各个运算结果,其中N是自然数,其特征在于,所述半导体运算装置具备各具有多个运算电路的2个N量子比特运算电路群,分别对于能够用N比特表示的所有逻辑值状态同时进行运算,并且保持运算结果;用于在上述2个N量子比特运算电路群之间收发逻辑值状态的第N个量子比特开关电路。
2.根据权利要求1所述的半导体运算装置,其特征在于上述N量子比特运算电路群具有2N个运算电路,上述运算电路对于能够用N比特表示的所有逻辑值状态中相互不同的某一个状态分别进行运算,并且保持运算结果。
3.根据权利要求1所述的半导体运算装置,其特征在于上述2个N量子比特运算电路群分别具备第N-1个量子比特开关电路,上述2个N量子比特运算电路群中一个上述第N-1个量子比特开关电路还能够与上述N量子比特电路群中的另一个收发逻辑值状态。
4.根据权利要求3所述的半导体运算装置,其特征在于上述第N-1个量子比特开关电路具备6个开关元件。
5.根据权利要求3所述的半导体运算装置,其特征在于,上述N量子比特运算电路群中1量子比特运算电路群中的一个具备对于用1比特表示的2值逻辑值的各自不同的逻辑值状态进行运算的2个上述运算电路;连接上述2个运算电路、用于在上述2个运算电路之间以及上述2个运算电路与上述1量子比特运算电路群中的另一个之间相互收发逻辑值状态的第1个量子比特开关电路。
6.根据权利要求1所述的半导体运算装置,其特征在于上述2个N量子比特运算电路群分别配置在两侧,在上述2个N量子比特运算电路群之间配置上述第N个量子比特开关电路。
7.根据权利要求1所述的半导体运算装置,其特征在于,上述运算电路具备使用被供给的逻辑值状态进行运算的运算单元;存储由上述运算单元得到的运算结果的寄存器单元。
8.根据权利要求7所述的半导体运算装置,其特征在于上述运算单元运算用表示上述逻辑值状态的复数所表示的概率振幅。
9.根据权利要求8所述的半导体运算装置,其特征在于上述运算单元使用表示所供给的上述逻辑值状态的概率振幅和所供给的系数值进行复数积和运算。
10.根据权利要求9所述的半导体运算装置,其特征在于上述运算单元具备4个乘法器和2个加法器。
11.根据权利要求9所述的半导体运算装置,其特征在于上述运算单元保持表示上述逻辑值状态的概率振幅的幺正性来进行运算。
12.根据权利要求1所述的半导体运算装置,其特征在于上述2个N量子比特运算电路群在从N比特扩展到N+1比特时,进行与扩展后的比特的2值逻辑值的各个不同的逻辑值相对应的运算。
全文摘要
具备对于能够用N比特(N是自然数)表示的所有逻辑值状态分别同时进行运算,保持运算结果的进行相当于N量子比特运算的2个处理器元件群,以及用于在2个处理器元件群之间收发数据的交换单元,经过交换单元通过连接进行相当于N量子比特运算的2个处理器元件群,构成进行1量子比特的运算就相当于进行扩展了的(N+1)量子比特运算的处理器元件群,不增大用于进行大规模运算的集成电路的设计所需要的时间以及劳动力,能够高速地进行大规模的运算。
文档编号G06F7/00GK1568456SQ02820259
公开日2005年1月19日 申请日期2002年9月10日 优先权日2001年9月14日
发明者藤岛实, 大内真一, 凤纮一郎 申请人:独立行政法人科学技术振兴机构
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1