【问题标题】:MIX or MMIX - what is the best [closed]MIX 或 MMIX - 什么是最好的 [关闭]
【发布时间】:2010-12-14 17:01:07
【问题描述】:

您好,我的第一个问题…… 我开始阅读《计算机编程的艺术》。我知道这很难。首先,我决定使用书籍的语言——我从 MIX 开始。我做了一些练习,我认为我可以使用书中的程序进行管理。但是问题到处都是我写的,MIX老了,学MMIX等等。好的,但是为什么-这是我的问题?我正在学习 1 moth MIX,我开始理解书中的问题,现在停止工作并再次开始学习新的 ASM,为什么?话说,MIX老了,但是书里所有的代码都是MIX,如果我花时间去学习MMIX,我得重新写问题,我想这对我来说会很困难。 MIX是不是太老了,我真的必须学习新版本吗?有更多TAOCP经验的人能给我一个建议吗:继续看书——MIX中的例子、问题等,或者停止学习MMIX。当然,如果我选择第一或第二选择,我会赢什么?

【问题讨论】:

  • 你想完成什么?

标签: assembly cpu-architecture taocp mmix


【解决方案1】:

MMIX 在几乎所有方面都优于 MIX。第 1 卷的第 1 卷详细解释了原因。幸运的是,如果您已经学习过 MIX,那么学习 MMIX 应该不会太难。

在MIX中重写你已经完成的练习在MMIX中应该不难;如果是,则表明您并没有真正掌握相关算法。

请记住:TAOCP 中的绝大多数算法都是用英文描述的,而不是 MIX 或 MMIX。

但是:如果您的目标是成为“真正的软件工程师”,或者甚至更擅长算法,那么 TAOCP 可能不是最好的起点。

我建议您看看 Leiserson 和 Erik Demaine 教授的 MIT OCW“算法简介”课程。你可以在http://www.catonmat.net/blog/mit-introduction-to-algorithms-part-one找到它的链接以及精彩的评论

【讨论】:

  • 好的。感谢您的意见。我不是从 TAOCP 开始的。但我认为这将帮助我了解 algs 在 cpu 中的工作原理。我能问一下为什么你认为这对我成为优秀的软工程师没有帮助,因为它是关于 asm 中的 alg 不是非常粒子的,可能是?是的,最大的问题是我赢得的是阅读 THAOCP .... 我不知道然后我读了所有第一本书可能我知道吗?如果你读了它对你有帮助吗?
  • 首先,我并不是说TAOCP 不会让你成为更好的软件工程师。很有可能。我是说这不是最好的起点。首先,TAOCP 关注的是计算机科学,而不是软件工程。它们是有区别的。

    你说你想了解算法在 CPU 中是如何工作的。这是一个有趣的目标,但您应该问问自己,您希望将注意力集中在哪个抽象级别上。

  • 我建议您看一下 Nisan 和 Schocken 所著的“计算系统的要素”——它分 12 个步骤从 NAND 门到俄罗斯方块。 (有一些关于这个主题的视频讲座可以让你体验一下——有几个链接到这个页面上:mines.humanoriented.com/proposals/nand-to-tetris
  • 感谢您的链接。我不明白你认为我必须为 alg 阅读不同的书。我认为在 TAOCP 中,algs 的描述非常好。是的,可能在 MIX 中很少见。我决定阅读这本书,我的问题是在 MIX 或 MMIX 中用作示例的语言。
  • 好的!从您的角度来看,什么是好的 TAOCP?
【解决方案2】:

Donald Knuth 将转换新版本的 TAOCP 以使用 MMIX。所以新的卷,刚刚来了 第 4A 卷关于组合算法的内容已经在使用新的 MMIX。所以如果你想阅读 新东西,无论如何你都需要MMIX。相对于 MIX 对 MMIX 的支持也越来越好。检查http://www.mmix.cs.hm.edu 的 MMIX 存储库,它包含适用于 windows 和 linux 的可执行文件以及所有类型的文档。最后同样重要的是,MMIX 有一个复杂的管道模拟器,它非常接近真正的现代机器,而 MIX 与它完全不同。因此,对于有浓厚兴趣的人,建议使用 MMIX。 马丁

【讨论】:

    猜你喜欢
    • 2016-12-26
    • 2014-07-04
    • 1970-01-01
    • 2010-10-04
    • 2010-09-13
    • 2010-09-15
    • 2011-06-29
    • 2011-04-07
    • 2010-10-05
    相关资源
    最近更新 更多