@maorongrong
2016-08-26T15:31:33.000000Z
字数 2726
阅读 663
个人
非冯化:
- 冯氏范畴内,对传统机改造:
多处理部件流水处理;组成阵列机SIMD
- 多个冯氏机组成多机系统,支持并行算法
- 从根本上改变冯氏控制驱动,数据流机,仿生机,量子机,哈佛结构,光子计算机,神经形态计算机。(只需要负责该部分)
冯諾依曼结构计算机(存储程序计算机):按存储原理(存储程序,程序控制)设计的计算机,实际为一维的计算模型和一维的存储模型。
基本特征:共享数据、串行执行
共享数据:CPU从存储器取址,数据进行计算,
“访存”瓶颈:因此cpu与共享存储间信息通路为影响系统性能瓶颈。
冯氏结构特点:
1. 二进制
2. 程序存储
3. 共享数据
指令和数据以同等地位存放于存储器,并按地址访问;存储器是按地址访问的线性编址的一维结构,(每个单元位数是固定的)。
指令是由操作码和地址码组成,冯氏属于MISD
4. 串行(顺序)执行
指令在存储器中按顺序存放,通常采用顺序执行。
5. 采用冯氏结构的计算机由5大部件组成
非冯諾衣曼
- 哈佛结构
- 非冯机
1. 改变二进制存储:仿生计算机、量子计算机
2. 控制驱动、串行执行: 显示并行控制流、数据驱动、需求驱动、模式匹配
哈佛结构
量子计算机
引子:光蚀刻技术瓶颈以及芯片发热问题,极大地影响了芯片的集成度,从而限制了单核处理器计算速度。为了提高计算能力,人们大量使用“核堆积”,多核意味着任务划分,很多算法很难使用。我们需要寻找一种从根本上不同于传统计算机的计算机系统:量子计算机、光子计算机、仿生计算机、神经形体计算机等。
何为量子计算机
插入huangkun、liusxue答案中关于量子叠加态、量子计算机定义
量子计算/量子计算机的概念是著名物理学家费曼 于1981年首先提出的。
量子计算机(Quantum computer)是基于量子力学中的叠加原理和量子纠缠等性质来进行数据计算的计算机。不同于电子计算机(经典计算机),量子计算机使用量子比特存储数据,使用量子算法来进行数据操作。
量子计算的原理实际上应该分为两部分。一部分是量子计算机的物理原理和物理实现;另一部分是量子算法。
- 物理原理:量子比特“qubit”可以同时存储0和1。当一个N个物理比特的存储器,若是经典存储器,则它只能存储2^N个可能数据当中的任一个,若它是量子存储器,则它可以同时存储2^N个数,而且随着 N的增加,其存储信息的能力将指数上升,例如,一个250量子比特的存储器(由250个原子构成)可能存储的数达2^250,比现有已知的宇宙中全部原子数目还要多。
由于数学操作可以同时对存储器中全部的数据进行,因此,量子计算机在实施一次的运算中可以同时对2^N个输入数进行数学运算。其效果相当于经典计算机要重复实施2^N次操作,或者采用2^N个不同处理器实行并行操作。可见,量子计算机可以节省大量的运算资源(如时间、记忆单元等)。 ————————郭光灿院士
量子算法:比较著名的有shor,Grover,quantum random walk ,Quantum Annealing算法。举例,第一个量子算法shor是由 Shor于1994年发现,可以有效地用来进行大数因子分解。大数因子分解是现在广泛用于电子银行、网络等领域的公开密钥体系 RSA安全性的依据。采用现有计算机对数 N(二进制长度为 l ogN)做因子分解,其运算步骤(时间)随输入长度( l ogN)指数增长。迄今在实验上被分解的最大数为129位,1994年在世界范围内同时使用1600个工作站花了8个月时间才成功地完成了这个分解。若分解250位的数则要用80万年,分解1000位的数,则要有10^25年。
然而,量子计算机采用 Shor算法可以在几分之一秒内实现1000位数的因子分解,而且操作时间仅随输入数的3次方增长。可见 Shor量子算法将这类“难解”问题变成“易解”问题。在量子计算机面前,现有公开密钥 RSA体系将无密可保!
加拿大量子计算公司D-Wave于2011年5月11日正式发布了全球第一款商用型量子计算机“D-Wave One”,它采用了128-qubit(量子比特)的处理器,理论运算速度已经远远超越现有任何超级电子计算机。却只能运行量子退火(Quantum Annealing)这一种算法而已,通用任务方面还远不是传统硅处理器的对手,并且D-Wave 的工作温度需保持在绝对零度附近。
经典计算机(电子计算机)&量子计算机:
传统经典计算机使用半导体控制集成电路来记录和运算信息,量子计算机则是控制原子或小分子的性状,记录和运算信息。经典计算机存储最小单元为“bit”,每个bit以不同电压存储0,1两种状态中的一种; 而一个量子比特“qubit”,“既可以是1又可以是0”的“量子叠加态”;
量子计算机对每一个叠加分量实现的变换相当于一种经典计算,所有这些经典计算同时完成,并按一定的概率振幅叠加起来,给出量子计算机的输出结果。这种计算称为量子并行计算,也是量子计算机最重要的优越性。
量子并行计算举例:
当我们在计算机下编程时,不管是使用何种语言,最终都要转化为机器码进行运算。也就是对寄存器中的二进制数进行运算。
下面出一道程序题:a=1,b=0,c=0,d=1; 求 a+b, c+d 的值。
在电子计算机中要这样做:
x=a+b;
y=c+d;
而在量子计算机中,一个“量子计算机byte”有两个属性,可以把一个量子byte对象看做是一个向量。上面那道题就变成了:x=(a,b), y=(c,d);求x+y
解:
z = x+y;
在此时,一次量子计算相当于两次电子计算。在电子计算机中需要计算2^{n}次的问题在量子计算时只需要n次!
看到这里只要是懂点算法的同学就应该精神了,这就是说,那些O(2^{n})的“难解问题”现在都成了线性的,随着n的增加,运算量不再呈指数级飙升,而仅仅是线性增加!
量子计算机和普通计算机,一个是运算能力和晶体管数量成正比的,一个是运算能力和量子比特呈幂指数关系的。
量子计算机:量子计算的超级计算速度来自于两种违反直觉的现象:叠加和纠缠。
通过量子叠加,经典计算中的基本单位“二进制位”变成了“量子位”。一个二进制位代表了信息的最小可能单位:开或关、是或非、0或1。而一个量子位,则是两者的结合,是两种状态的互相叠加。
叠加:“量子比特叠加态”
纠缠 : 在经典计算机中,二进制序列由一个高低电压交错的脉冲实现。比如001对应于一个低电压-低电压-高电压的信号。在量子力学中,我们通过纠缠态实现二进制序列。具体而言,比如某个光子处于态上, 我们可以把这个光子和其它光子纠缠起来得到一个N光子纠缠态
,这样我们就实现了一个二进制的序列。