冯诺依曼架构,全称冯诺依曼体系结构,也称冯诺依曼模型或普林斯顿结构,是一种传统电脑设计概念结构。其核心特征是合并程序指令存储器和数据存储器,使程序指令与运算所需的数据纳入同一存储体系。该架构由约翰·冯诺依曼等人提出,可用于描述一种实现通用图灵机的计算装置,也可作为与平行计算相对的序列式架构参考模型。
在这一架构中,程序指令与数据都存放在合并的存储体系内。计算装置依照程序指令组织处理过程,并对相应数据进行运算。
冯诺依曼架构以序列式处理为参考模型,按照程序组织计算步骤,并与平行计算形成概念上的对照。它描述的是计算装置的设计模型,而非某一款特定处理器或单一硬件产品。
冯诺依曼架构的关键构成包括程序指令、数据、合并式存储体系和执行程序的计算装置。程序指令规定处理过程,数据是程序处理的对象,两者共同存放于合并的存储体系中。计算装置按照程序所表达的步骤完成处理,由此形成存储内容与计算过程之间的联系。
这种定义侧重于指令和数据的存储关系及序列式计算的组织方式。判断一个设计是否属于该架构,关键在于其是否采用程序指令与数据合并存储的概念结构,而非处理器所用于的业务或运行的软件。
NPU是嵌入式神经网络处理器,应用方向包括深度学习相关处理。NPU可以采用不同于传统冯诺依曼架构的设计,并不必然沿用冯诺依曼架构。冯诺依曼架构说明指令、数据与计算过程的组织关系,NPU则指向神经网络处理任务所使用的处理器类型。
冯诺依曼架构可用于描述传统计算装置的设计概念,也可作为分析计算架构时的参照模型。在讨论序列式计算与平行计算、传统计算架构与神经网络处理设计时,该术语可用于区分不同的程序、数据及处理方式。面向深度学习的系统可根据处理方向选择相应架构,采用NPU并不等同于采用冯诺依曼架构,也不意味着所有NPU都使用同一种设计路径。