【问题标题】:What are some examples of non-Von Neumann architectures?有哪些非冯诺依曼架构的例子?
【发布时间】:2010-12-20 20:38:27
【问题描述】:

如果我理解正确,现代计算机是按照冯诺依曼架构建模的。我有时会看到对替代方案的引用,但还没有真正看到任何关于非冯诺依曼架构如何组织和运作的很好的描述。

有人有例子吗?替代计算机组织的优点/缺点是什么?

【问题讨论】:

标签: computer-architecture


【解决方案1】:

非冯诺依曼机器的例子是数据流机器和归约机器。在这两种情况下,都具有高度的并行性,并且在名称和常量值之间存在不可变的绑定而不是变量。 非冯诺依曼通常保留给与冯诺依曼模型完全不同的机器,因此通常不适用于多处理器或多计算机体系结构,这些体系结构有效地提供了一组协作冯诺依曼机器。

【讨论】:

  • 这是我一直在寻找的答案。关于哈佛架构的公认答案提供了冯诺依曼的简单变体,而这个答案提供了确实是与冯诺依曼“彻底背离”的替代方案
【解决方案2】:

我相信最常见的是Harvard architecture 或Modified Harvard architecture,它被用于许多基于 ARM 的芯片中。我相信有很多不同之处,但这里有一个突出

在使用哈佛架构的计算机中,即使没有缓存,CPU 也可以同时读取指令和执行数据存储器访问。

【讨论】:

  • 另一个优点是,这意味着您不能将指令视为数据,这意味着通过正确的计算机设计,您实际上无法通过软件破解机器。我听说过使用这种架构的投票机,它被黑客入侵的唯一原因是因为有缺陷的墨盒设计允许他们将跳转指令滑入缓冲区溢出,然后他们从一些函数中拼凑出一种图灵完备的语言(这需要几个月的时间才能完成)。有关更多信息,请参阅 grc.com/sn/sn-211.txt 并搜索:“这太令人震惊了。你知道,”
  • 虽然,公平地说,随着操作系统的支持,一些冯诺依曼拱门(例如 x86)支持 W^X。这意味着如果您写入内存页面,则无法执行,如果执行,则无法写入。x86 在硬件中通过 NX 位支持这一点。
  • @RCIX:不,他们没有将跳转指令滑入缓冲区溢出;关键是他们不能。他们所做的是使用缓冲区溢出将一些跳转地址滑入堆栈,然后设法利用它来滥用其他代码,不断将更多虚假的跳转地址放入堆栈。
  • @RCIX:黑客系统绝对不仅限于任意代码执行。系统通常也可能被诱骗显示它们不应该显示的信息,或者将错误的配置写回文件或数据库,以便您以后利用系统。硬件不可能弥补我们编写的所有错误。
  • @Earlz,W^X 可以通过使用“面向回报的编程”来击败。 cseweb.ucsd.edu/~hovav/dist/sparc.pdf 也可以google“骨头上无辜肉体的几何形状”,对攻击技术进行了非常详细的分析。
【解决方案3】:

元胞自动机 - 这种早于神经网络,但想法非常相似。

http://en.wikipedia.org/wiki/Cellular_automaton

神经网络可以被视为一种元胞自动机,或者它们自己的独特的非冯诺依曼架构。

http://en.wikipedia.org/wiki/Neural_network

【讨论】:

    【解决方案4】:

    量子计算机也是另一个例子。它们与其他计算机不同,主要是因为在它们上解决问题所需的时间顺序。通常的计算机可以使用图灵机建模,无论是冯诺依曼还是哈佛。 他们有自己的模型,称为量子图灵机。

    【讨论】:

      【解决方案5】:

      数据流计算机和归约计算机是非冯诺依曼架构的例子。

      【讨论】:

        【解决方案6】:

        另一个例子:不是独立于问题的机器(当今大多数机器的情况)。

        一个明显的例子是谜机。二战德军使用:它只能解决一个问题:通讯的加密!

        在诉 Neumann 架构中,机器应该能够解决任何可能的问题。时间的唯一限制实际上是用于构建计算机的技术:P

        【讨论】:

          【解决方案7】:

          大脑可以被认为是非冯诺依曼架构的计算机。 IBM 目前正在研究一种非冯诺依曼解决方案。惠普实验室“机器”也可能不是冯诺依曼。

          【讨论】:

          • 你能分享一些链接吗?
          【解决方案8】:

          Analog Computers 呢?我猜他们使用不同的架构。

          【讨论】:

          • 我见过的所有模拟计算机都是哈佛架构,或者说是固定程序。
          【解决方案9】:

          PIC 微控制器使用哈佛架构。请参阅 www.microchip.com 或 https://en.wikipedia.org/wiki/PIC_microcontroller。这些是非常便宜的控制器,可以通过编程来控制不同的设备,例如开灯或启动电机。从编程的角度来看,有趣的部分是程序代码在内存中,所有变量都保存在寄存器中。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-04-03
            • 1970-01-01
            • 2014-08-02
            • 2023-03-02
            • 1970-01-01
            • 2017-11-03
            • 2010-10-20
            • 2015-01-05
            相关资源
            最近更新 更多