冯·诺依曼体系的核心是用机器解决计算问题,计算可以看作是 y=f(x)。在这里,f代表函数,它可以是一组指令序列,用于进行各种计算。x是输入、y是输出,它们都是数据,需要被存储以便在计算过程中使用。同时,f对应的指令序列也可以被看作是数据,也需要被存储。此外,x、y和f从哪里而来,又用到哪里,这是通过与输入输出设备的交互来完成的。
冯·诺依曼体系的目标是解决一切可以用计算来解决的问题,包括但不限于数学问题、办公任务、网络连接以及人工智能等各个领域。
为实现这一目标,冯·诺依曼体系采用了以下设计:
中央处理器(CPU)是系统的核心,负责执行各种指令。这些指令可以分为三类:计算类指令、IO类指令和跳转类指令。计算类指令负责进行数学运算和逻辑判断,IO类指令负责与输入输出设备进行交互,而跳转类指令则负责控制程序的流程。
存储器是系统的另一个重要组成部分,用于存储数据和指令。它可以分为几个不同的层次,包括寄存器、内存和主板ROM。寄存器是最快的存储介质,通常用于存储CPU正在处理的数据。内存则是稍慢一些的存储介质,用于存储正在运行的程序和数据。而主板ROM则是最慢的存储介质,通常用于存储系统的固件和启动程序。
输入输出设备是系统与外部世界进行交互的桥梁。这些设备可以是键盘、鼠标、显示器等常见的计算机外设,也可以是硬盘、光盘、U盘等存储设备,甚至可以是机器马达、声音和图像等更为特殊的设备。这些设备的种类和数量都可以根据实际需求进行扩展和缩减。
在设计计算机架构时,需要找到需求的稳定点和变化点。稳定点通常是系统的核心价值所在,而变化点则需要采用开放性设计,以便应对不断变化的需求。在冯·诺伊曼体系中,稳定点是中央处理器、内存,变化点则是各种变化不穷的输入输出设备。
总的来说,冯·诺依曼体系是一种非常成功的计算机架构,它为我们解决各种计算问题提供了强有力的支持。
除了冯·诺依曼体系,你还了解其它计算机体系结构吗?欢迎交流分享。
更多分享交流
我注册了一个微/信/公/众/号:萤火架构,后续会分享很多架构方面的经验和体会,欢迎关注交流。