|
|
1
5
关于mips,一个有趣的事情是您必须手动管理翻译后备缓冲区(translation lookaside buffer,TLB)。你不必使用x86(或者我编写的大多数其他ISA)来实现这一点。这样,它比其他RISC CPU更具风险。许多网络和存储设备都嵌入了MIPS CPU。我在这十年的早期工作的一家初创公司开发了一个16核的MIPS CPU,带有加密加速器(作为两个协处理器)。这种设计是由杜松子网络公司购买的,并用于路由器中的自适应服务。 因此,正如其他人所说,MIPS是RISC ISA的一个很好的例子,而且它仍然获得了大量的设计胜利。我认为学习是有用的。 我发现下面这本书的第一版是学习它的好方法: |
|
2
2
当然不是 必须 但是这是一个很好的RISC体系结构的例子。再加上IBM 360体系结构(诚实!)你应该对正常指令集的跨度有很好的了解。 |
|
|
3
2
我认为学习mips(至少是基本的)并不难,还有 the SPIM simulator 您可以用来监视代码运行。如果你喜欢低级编程,那值得一试。 |
|
|
4
1
这个 other question 对于一个日益过时的体系结构有一个很好的理由:学习组装本身是有用的。在您的情况下,这不适用。 只有当课程假定已经掌握了汇编程序的知识时,我才会考虑这门课程(否则您将花费大量时间重复基本概念)。否则,您最好将时间花在更相关的东西上(这不太可能是另一个汇编程序,除非您对很快使用特定处理器(系列)有很高的期望。 为什么不学习一些新的东西(例如函数式编程)。 |
|
|
5
1
当我在学校(BS CS Michigan Tech 2008)时,MIPS组装(在SPIM上运行)在所需的“计算机体系结构简介”课程中授课,该课程还涵盖了不同类型的体系结构、缓存、DMA等。我们还学习了逻辑门和动态/静态存储器是如何由诸如二极管、电容器和晶体管之类的低级元件构成的非常基础的知识(我们并没有深入了解,这是一门CS课程)。我们使用逻辑模拟软件(基本上是和/或/或/等门,你可以把它们拖放到一个网格上并连接在一起)来构造一个加法器、一个ALU,最后是一个非常简单的16位RISC处理器,给出了机器代码规范、汇编程序、样本程序和样本输出。 如果是那样的课程,我会说它很有价值。我发现这个类的知识对于理解我的操作系统类中的内容(虚拟内存/分页/缓存、中断等)以及以后理解JVM如何处理字节码非常有用。理解汇编映射到机器代码映射到多路复用器、ALU和寄存器是如何产生很多东西的,我几乎认为这些东西在微不足道和易于理解之前是神奇的。 否则,这只是为工具带添加另一个指令集,而MIP可能不是要使用的指令集。它 是 与x86相比非常简单/简单/常规,所以您不应该在课堂上有太多的麻烦。不过,有价值吗?如果你对组装相当满意,并且出于某种原因需要,你可以很容易地在不上课的情况下拿起它。 |
|
|
6
1
如果你的低级爱好者可能值得,但你可以在周末自学mips,所以我想这门课会比用mips编程更重要。如果这是一门使用MIPS的计算机硬件理论课程,那么我认为这是值得你花时间的。 但是,如果它只是mips编程,并且您已经拥有了x86程序集的句柄和低级编程的概念,那么我会说是传递类。节省你自己的时间和金钱,花一个周末左右的时间用 SPIM 施纳德指出。 还要记住,如果您从未在程序集中编写递归函数,那么您对这些内容的探索还不够。 |
|
|
7
1
我的一个课程强迫我们学习mips汇编语言。嗯,技术上……它是我们自己的定制架构,但主要基于MIPS。结论,做吧。虽然我不喜欢这么低的金属加工,但了解装配对我有无限的帮助。 |