- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
深入浅出MIPS
深入浅出MIPS 〇 序章
信息时代的世界,有着光鲜亮丽的外壳。Web2.0 的时代,有哪些信誉好的足球投注网站引擎,SNS,流媒体...这
绚丽多彩的一切,流光溢彩,仿佛云霓灿烂。
剥去这光鲜的外壳,深入到底层的世界。内核,体系结构,编译器...完全是0 和 1 组成的
黑白世界,初涉之难免觉得味同嚼蜡。
但是,正如单一的白光在三棱镜下,会绽放出七彩的光谱,黑白的计算机底层世界,却有着
魔法一般丰富的内涵。当我们看穿华丽的GUI 界面的伪装,探究到内核的奥秘时,我们会发现
这是一个迷人的微观世界。这个美丽新世界,最具魅力的是哪些呢?
体系结构。它是计算机系统的基石。它从根本上决定了这个系统的性能。当程序中出现错误
时,对体系结构的理解,能大大加快Bug 的定位。体系结构是底层世界的根基。
操作系统。它是计算机系统的灵魂。操作系统屏蔽了底层硬件的差异,为上层软件提供了统
一的API。多任务操作系统还可以让计算机并行处理不同的任务,巧妙的设计可以发挥CPU 最
大的潜力。目前的必威体育精装版操作系统版本,还可以支持多CPU 并发处理。操作系统内核是底层世界
的统治者。
编译器。编译器是体系结构的翻译官。它能够将高级语言翻译成机器指令,与操作系统提供
的API 接口连接,开发出各种应用程序。好的编译器还可以针对硬件做优化。编译器是底层世
界的一把金钥匙。
体系结构,操作系统,编译器支撑起的系统,如同三只足支撑的一只鼎。操作系统中的经典
之作,是Linux;对应的编译器是gcc 系列工具链。关于这些的著作早已汗牛充栋。我想给大
家介绍的,是体系结构皇冠上的明珠——MIPS。
深入浅出MIPS 一 MIPS 概述
英国科学家Dominic Sweetman(经典著作See MIPS Run 的作者),称MIPS 为“高效的RISC
体系结构中最优雅的一种体系结构”。它是一个双关语:即是 Microcomputer without
Interlocked Pipeline Stages 的缩写,同时又是Millions of Instructions Per Second 的缩
写。
MIPS 的处理单元是一个五级流水线:Instruction Fetch, Register Decoder, ALU,
Memory 以及Write back。一开始的MIPS 是为32 位系统设计的,实际上,后续的64 位扩
展,也依然对32 位的工作模式向下兼容着。一如其他的RISC 处理器,MIPS 的每条指令长度
是固定的32bit。(因此,最长的局部跳转指令只能跳转2 的26 次方Byte,也就是2 的24 次
方条指令)
MIPS 有32 个通用寄存器,编程者可以使用其中除$0 外的所有寄存器暂存数据。$0 寄存
器,在硬件上被设计为永远读出 0。我们可以用$0 寄存器的此特性,实现一些技巧性的编程,
譬如实现NOP 操作。MIPS 本没有NOP 指令,但由于对$0 寄存器的写入实际上无意义,可以
作为空操作使用。
事实上,编译器从高级语言(典型如C/C++)转换为MIPS 汇编指令时,一般总是遵守一
定的寄存器使用约定。某些寄存器用来从函数中传入和传出参数,存储临时数据,另一些则起特
殊作用,如保存调用函数时的指令地址,或作为堆栈指针等。如果你使用汇编开发,理论上可以
无视这点约定,但是,一般地,遵守这个约定,与人方便,也为己方便。关于寄存器使用的约定,
以后会展开论述。
一如所有的RISC 处理器,MIPS 没有CISC 那样复杂多变的寻址方式,统一为Load/Store
寻址。任何载入和存储操作,都可写为如下形式:
lw $1, offset ($2)
这条指令的操作符可以为 Load 或 Store,一次 Load/Store 操作的范围可以为字/半字/
字节(对应gcc 的int, short 和char)。偏移量是一个带符号的16bit 整数。两个作为操作数
的寄存器可以是任何通用寄存器。(你可以向$0 写入,但无任何意义,等同于空操作)。对于64
位模式下,也可以对double 类型进行操作。注意Load/Store 都必须对应一个对齐的地址,否
则会引发一个异常(Exception)。
MIPS 支持最多4 个协处理器。协处理器CP0 为CPU 的控制协处理器,是体系结构中必须
实现的。CP1 为浮点处理器。CP2 保留,各生产厂商往往用来实现一些自己的特色功能,例如
RMI 的Fast Message Ring 等。
您可能关注的文档
- 消火栓给水稳压设备计算及设备选用.pdf
- 消防产品强制性认证实施细则整理归纳(一).pdf
- 消化管-组织胚胎学-PDF课件-上海交通大学-13.pdf
- 消费金融公司与地区居民消费的关系研究_基于双重差分模型的估计_孙文章.pdf
- 消防及给排水施工图审查纲要.pdf
- 消毒供应要点的管理与实践-张正焘(3M).pdf
- 消防安全技术综合能力强背要点.pdf
- 消费者对慈善和商业赞助的态度如何_基于双重态度理论的研究.pdf
- 消防安全技术实务重点要点之二.pdf
- 消防局消防安全技术综合能力测试卷2015(附答案).pdf
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)