【问题标题】:Learning MIPS as a second assembly language?学习 MIPS 作为第二种汇编语言?
【发布时间】:2009-03-17 21:19:10
【问题描述】:

我知道 x86 汇编(并且使用过 FPGA 等),从未为 RISC 写过文章,我有机会参加 MIPS 课程, 但我现在很忙,所以我的问题是, 我知道我学到的每一件事在某种程度上都是有益的, 但实际上,有多少好处? (我是低级热心,但这是必须的吗?)

(我知道mips-is-it-important,但我觉得我的情况略有不同,因为我已经知道某种汇编)

谢谢。

【问题讨论】:

  • 这里没有正确或错误的答案,所以我选择了信息最丰富的答案。感谢所有回答的人。

标签: mips low-level


【解决方案1】:

关于 MIPS 的一个有趣的事情是您必须手动管理翻译后备缓冲区 (TLB)。对于 x86(或我编写的大多数其他 ISA),您不必这样做。这样,它比其他 RISC CPU 更 RISC。许多网络和存储设备都嵌入了 MIPS cpu。我在这十年早期工作的一家初创公司做了一个带有加密加速器(作为两个协处理器)的 16 核 MIPS CPU。该设计已被瞻博网络收购,并用于其路由器中的自适应服务 PIC。

所以,正如其他人所说,MIPS 是 RISC ISA 的一个很好的例子,而且它仍然获得了大量的设计胜利。我觉得学习很有用。

我发现以下这本书的第一版是学习它的好方法:

http://www.amazon.com/Second-Morgan-Kaufmann-Computer-Architecture/dp/0120884216/ref=sr_1_1?ie=UTF8&s=books&qid=1237328559&sr=1-1

【讨论】:

    【解决方案2】:

    这当然不是必须,但它是 RISC 架构的一个很好的例子。再加上 IBM 360 架构(老实说!),您将对普通指令集的范围有相当的了解。

    【讨论】:

      【解决方案3】:

      我认为学习 MIPS(至少是基本的)并不难,还有 the SPIM simulator 可以用来观看代码运行。如果你喜欢底层编程,值得一试。

      【讨论】:

        【解决方案4】:

        other question 为日益过时的架构提供了充分的理由:学习汇编本身就很有用。你的情况不适用。

        我会考虑这门课程,前提是它假定你已经具备汇编程序的知识(否则你会花很多时间重复基本概念)。否则,您可能最好将时间花在更相关的事情上(这不太可能是另一个汇编程序,除非您对很快使用特定处理器(系列)抱有很高的期望。

        为什么不学习一些新东西(例如函数式编程)。

        【讨论】:

          【解决方案5】:

          我在学校时(BS CS Michigan Tech 2008),在必修的“计算机体系结构简介”课程中教授 MIPS 汇编(在 SPIM 上运行),该课程还涵盖了不同类型的体系结构、缓存、DMA 等.我们还学习了逻辑门和动态/静态存储器如何由二极管、电容器和晶体管等低级组件构成的基础知识(我们没有深入了解;这是 CS 课程)。我们使用逻辑仿真软件(基本上是与/或/等门,您可以将它们拖放到网格上并连接在一起)来构建加法器、ALU,并最终构建一个非常简单的 16 位 RISC 处理器,给出机器代码规范,汇编器、示例程序和示例输出。

          如果是那种课程,我会说它会非常有价值。我发现该类的知识对于理解我的操作系统类中的东西(虚拟内存/分页/缓存,中断......)非常有用,然后对于理解 JVM 是如何处理字节码的。了解程序集如何映射到机器代码映射到多路复用器、ALU 和寄存器,我发现了很多我认为是神奇的东西,然后才变得微不足道且易于理解。

          否则,这只是在您的工具带中添加另一个指令集,而 MIPS 可能不适合。与 x86 相比,它非常简单/直接/常规,因此您应该不会在课堂上遇到太多麻烦。可贵吗?如果您总体上对装配相当熟悉并且出于某种原因需要它,那么您可能无需上课就可以很容易地掌握它。

          【讨论】:

            【解决方案6】:

            如果你是低水平的爱好者,这可能是值得的,但你可以在周末自学 mips,所以我想这门课程将不仅仅是使用 mips 编程。如果是使用 mips 的计算机硬件理论课程,那我认为值得你花时间。

            但是,如果它只是 MIPS 编程,并且您已经掌握了 x86 汇编和低级编程的概念,我会说传递课程。 schnaader 指出,使用SPIM 为自己节省时间和金钱并花一个周末左右的时间来搞乱 MIPS。

            另外请记住,如果您从未在汇编中编写过递归函数,那么您还没有充分探索这些内容。

            【讨论】:

              【解决方案7】:

              我的一堂课迫使我们学习 MIPS 汇编语言。嗯,从技术上讲……这是我们自己的定制架构,但主要基于 MIPS。结论,做。知道组装对我的帮助是无限的,尽管我讨厌这么低的工作。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2014-08-16
                • 1970-01-01
                • 2011-10-01
                • 1970-01-01
                • 1970-01-01
                • 2012-11-19
                相关资源
                最近更新 更多