首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算模型、计算机系统结构和编程范例之间的联系

计算模型、计算机系统结构和编程范例之间的联系
EN

Stack Overflow用户
提问于 2018-08-21 13:29:03
回答 1查看 205关注 0票数 0

关于这些话题,我已经读了一段时间了,也许我已经理解了一些东西。但我对一些联系感到困惑:

一.图灵机(准确地说是RAM模型)&命令式编程

Lambda &函数式编程

二、Von系统体系结构&命令式编程

我几乎得到了(我)的联系,但我没有得到什么(ii)。然而,从巴克斯图灵讲座来看,我认为两者之间有某种联系。在许多地方,我甚至看到了写成“冯·努曼范式”的祈使范式。那么,Von Neuman系统架构是否在某种程度上帮助了命令式语言的发展,如果我们遵循其他系统架构--例如霍华德体系结构--情况会有所不同吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-25 02:11:53

你所链接的Backus的论文直接提到了这一点(重点是我的):

…我们可以粗略地描述计算系统…的三类模型 2.2.1简单操作模式。例子:图灵机,各种自动机。… 2.2.2应用模型。例如:丘奇的lambda微积分 5,Curry的组合子系统6,纯Lisp 17,函数式编程系统。基础:简洁实用。历史敏感性:没有存储,没有历史敏感。语义:约简语义,无状态。程序清晰:程序可以是清晰的,在概念上是有用的。 2.2.3 Von Neumann模型。例如: von计算机,传统编程语言。基础:复杂,笨重,没有用处。历史敏感性:有存储,历史敏感。语义:具有复杂状态的状态转换。程序清晰性:程序可以是适度清晰的,在概念上不是很有用。 诚然,上述分类很粗糙,值得商榷。

如果我能进一步推断:

  • Von体系结构允许(程序员编写的)指令更新内存(也就是说,修改状态)。
  • 函数式编程没有可变状态的概念。

FP语言,例如Haskell,目前编译成在Von计算机上执行的命令式机器代码。函数式程序员通常避免在一定程度上考虑内存的变异,而倾向于由编译器来解决这个问题。

查看这一点的一种方法是,FP语言为Von体系结构的物理管道提供了完全的抽象。然而,这确实提出了一个问题,即根本不同的体系结构是否能更好地匹配功能语言。

这就引出了:还原论。它目前的形式是一个现场可编程门阵列(FPGA),它展示了物理机器为FP评估量身定做的潜在好处。

简而言之,Reduceron采用了一个函数程序,这是一个函数应用程序的无状态图,并将其分解为大量并行函数应用程序。然后在输入数据上运行这些并行应用程序。

它可以将整个程序并行化,因为在FP中,函数应用程序的执行通常并不重要,因为不存在可变状态,因此不存在可能的争用条件。唯一可能的延迟是依赖可用性--您是否有输入。如果这样做,则将输入提供给函数始终是安全的。

现在,据我所知(在这里,我要走一段路),FPGA对于研究人员来说是一种相对便宜的方法,可以用来观察这些想法在物理世界中是如何站得住脚的。与其设计和打印集成电路,然后从英特尔( Intel )或AMD (AMD)等公司订购批发号,院士们只需在一个现成的FPGA上设计一个门阵列(如果我理解正确的话,我也不是一个硬件人)。

最初的结果看起来很有希望!但在实践中,我们没有看到硬件制造商成群结队地为FP语言推出全新的芯片线。现有的知识、基础设施和对英特尔CPU之类的东西的需求是巨大的。命令式编程仍然比功能编程更常见,而且这种情况在不久的将来似乎不太可能改变。

旁注:我假设你关于“霍华德”架构的问题是“哈佛”的拼写错误。就本主题而言,哈佛体系结构与冯·诺依曼体系结构非常相似。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51949858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档