据我理解,图灵模型由I/O数据、CPU和“程序”组成。“程序”用于配置CPU将如何处理输入数据,以便生成输出数据。如果我们更改程序,那么CPU将以不同的方式处理输入,并得到不同的输出。
von模型逻辑地将I/O和程序合并成一个.好吧,但在设计电脑时,这实际上有什么区别呢?为什么冯·诺依曼的模型看起来只是图灵模型的一种修改而被注意到呢?这是否意味着像智能手机这样的现代计算机是von计算机(而不是图灵计算机),因为它们具有程序和I/O集成?旧式游戏机是否被认为是图灵电脑(而不是冯诺依曼电脑),因为程序(墨盒)可以从心理上独立于CPU和I/O数据?谁能给我点洞察力。
发布于 2020-08-29 16:12:41
所有现实世界的商业CPU设计都是von架构,或者是它的一个小变体:哈佛建筑,其中的程序内存与数据内存是分开的。哈佛是指你有一个独立的地址空间,连接到物理上分开的内存,通常是非易失性的,只读的,或者至少是编程慢的。真正的哈佛通常只存在于用于嵌入式系统的微控制器中,这些系统不需要在任何时候运行新程序的能力。
von与哈佛的区别是允许在只读内存中使用“程序”的控制台墨盒。。
注意,约翰·冯·诺依曼是个很酷的人,他有很多以他名字命名的东西。一种语境中的“冯·诺依曼”可能与另一种语境中的“冯·诺依曼”形成鲜明对比。例如,von和一个完全不同的计算模型(比如有限自动机,也就是生命游戏)更多的是关于串行存储程序计算机与内在并行的东西,而不是存储程序计算机中的哈佛和von的区别。请参阅C++被认为是Von编程语言吗?
哈佛机器仍然以与von相同的方式存储程序,在内存中存储CPU获取的字节。(尽管公平地说,通用图灵机在开始运行之前也会从磁带读取其程序。但是一旦运行,内部表示法可以是任何东西。现实生活中的x86 CPU已经存在,例如Transmeta,它在内部动态地将x86机器代码重新编译成一个VLIW的代码。或者现代沙桥和禅宗家族已经解码了-uop缓存,而不是重新解码x86机器代码。但是这些只是缓存,可以在执行过程中重新获取x86机器代码,用于新的、更改的或从缓存区域中逐出)。
“图灵机”意味着非随机访问内存,沿着磁带或等效的移动。在硬件上建立有限图灵机意味着你的内存是一个巨大的移位寄存器或什么东西(看似合理但比正常的DRAM或SRAM的密度更差),或者是在程序控制下移动的物理磁带或磁鼓存储器,而不是以恒定的速度移动(可能很糟糕)。
你可以在现实生活中建立一个实用的(有限的)图灵机,但它将是很难编程和难以置信的慢。我怀疑任何商业设计都是这样的。这显然对性能和编程的易用性,甚至计算的O(f(n))时间复杂度都有很大的影响。
请注意,复杂性分析取决于计算模型:我们通常假设随机访问和串行计算,例如将正在执行的所有操作加起来。如果我们有计算内存,您可以要求一组内存单元并行地递增,或者找到它与一组邻居之间的最小值,那么您可能会实现一些事情的较低的复杂度。
串行计算瓶颈是所有计算都发生在“CPU”中,而CPU一次只能做一件事情。(或者在实践中,一次用超标量流水线执行4件事情,或者在SIMD的基础上再加4到16倍。但这些都是不变的因素,不会随着问题的大小而扩大。在实践中很好,但不影响问题的复杂性类,比如在未排序的数组上查找最小值。)
( "冯·诺依曼瓶颈“可以狭义地定义为需要实际从外部内存中获取数据和程序,通过缓存(包括在统一的L2 (又称修改的哈佛)上拆分L1d / L1i缓存)大大减轻了缓存的影响。因此,由CPU读取指令流所强加的串行计算模型可能不属于该标题。相关:哈佛的建筑有冯·诺依曼的瓶颈吗?)
通常,我们只讨论理想的图灵机,它有无界磁带,用于理论上的CS,因为它们为复杂的现实任务编写程序非常糟糕。任何可以计算的东西在图灵机上都是可计算的,但效率不高。(假设不可证明的(?)教堂/图灵论文为真,以及任何其他形式的警告。)
当你想用更多的形式主义来谈论效率,而不是用伪代码计算运算时,你需要一个形式上的抽象的计算模型,它类似于现实世界的计算机。这方面的一个例子是抽象CS随机访问机(维基百科)。
它的程序独立于RAM,它是哈佛大学的架构。
该程序在RAM中可以自我修改,它是一个RAM(随机存取存储程序)和一个理想化的冯诺依曼机器。
所以不,冯·诺依曼和图灵不是现实世界和理论上的无限;这两种类型都可以建立在现实生活中,这两种类型的抽象模型确实存在并被使用。很容易犯这个错误,因为你永远不会看到一台真正的图灵机用于任何事情,而且通常对von架构的讨论都集中在现实硬件上。
抽象RAM机器对于分析并行算法非常有用。(PRAM =并行RAM模型)。没有一个头脑正常的人想要平行的图灵机器在同一盘磁带上穿梭。而PRAM模型足够好地证明算法是无等待、无锁或无阻塞(维基)的。
发布于 2020-08-29 14:36:25
区别在于图灵机是讨论计算/可计算性的数学结构。这些是无限的物理现实;图灵机器有无限的记忆,Lambda演算允许无限的递归。
然而,冯·诺依曼建筑( Von Neumann Architecture )与哈佛建筑( Harvard Architecture )形成了鲜明对比,后者是制造计算机的一种特殊方式。由于它们作为物理物体存在,所以它们都不能被视为数学概念,尽管有些数学通常会进入它们的工程领域。
https://stackoverflow.com/questions/63648054
复制相似问题