甜橙安全头条第36期|物联网安全-MIPS基础(一)
MIPS是一种采取精简指令集的处理器,与我们常见的ARM、x86相比,它被广泛应用于物联网设备中,我们生活中经常看到的路由器、摄像头、打印机以及龙芯芯片通常采用的都是MIPS。
一、什么是MIPS
1.1 什么是MIPS
MIPS(无互锁流水线微处理器)是一种精简(RISC)指令集体系结构(ISA),起源于Stanford大学John Hennessy教授的研究成果。
1.2 CISC & RISC
CISC(Complex Instruction Set Computer)复杂指令计算机。Intel的X86,AMD的K5,K6为该类型。
RISC(Reduced Instruction Set Computer)精简指令集计算机。Acorn公司的ARM,IBM的PowerPC,MIPS公司的MIPS为该类型。
1.3RISC和CISC架构
RISC
1)Less instruction and addressing modes
2)Only register-register operation
3)Load and Store instructions
4)High speed
5)Control signals are generate by external hardware circuit
6)Instruction is executed in one clock
CISC
1)More instuctions and addressing modes
2)Register to Register/ Memeory/ I/O
3)Load,Store and other instructions
4)Low speed
5)Control signals are generated by internal hardware circuit
1.4MIPS结构的基本特点
1)所有指令都是32位编码
2)有些指令有32供目标地址编码;有些则只有16位。因此要加载任何一个32位值,就得用两个加载指令。16位的目标地址意味着,指令的跳转或子函数的位置必须在64K以内(上下32K)
1.所有指令都是32位编码
2.有些指令有32供目标地址编码;有些则只有16位。因此要加载任何一个32位值,就得用两个加载指令。16位的目标地址意味着,指令的跳转或子函数的位置必须在64K以内(上下32K)
3)所有的动作原理上要求必须在1个时钟周期内完成,一个动作一个阶段
4)有32个通用寄存器,每个寄存器32位(对32位机)或64位(对64位机)
5)本身没有任何帮助运算判断的标志寄存器,要实现相应的功能时,是通过测试两个寄存器是否相等来完成的
6)所有的运算都是基于32位的,没有对字节和对半字的运算(MIPS里,字定义为32位,半字定义为16位)
7)没有单独的栈指令,所有对栈的操作都是统一的内存方式方式
8)由于MIPS固定指令长度,所以造成其编译后的二进制文件和内存占用空间比x86的要大
9)寻址方式:只有一种内存寻址方式。就是基地址加一个16位的地址偏移
10)内存中的数据访问必须严格对齐(至少4字节对齐)
11)跳转指令只有26位目标地址,再加上2位的对齐位,可寻址28位的空间,即256M
12)条件分支指令只有16位跳转地址,加上2位的对齐位,共18位寻址空间,即256K
13)MIPS默认不把子函数的返回地址(就是调用函数的受害指令地址)存放到栈中,而是存放到$31寄存器中
14)流水线效应。由于采用了高度的流水线,结果产生了一些对程序员来说可见的效应,需要注意。最重要的两个效应就是分支延迟效应和载入延迟效应
1.5 MIPS大小端:MIPS、MIPSEL
假如有一个4字节的数据位0x12 34 56 78(十进制:305419896,0x12为高字节,0x78为低字节),若将其存放于地址0x4000 8000中
大端是高字节存放低地址,低字节存放高地址;小端相反
内存地址 | 0x4000 8000(低地址) | 0x4000 8001 | 0x4000 8002 | 0x4000 8003(高地址) |
大端模式 | 0x12(高字节) | 0x34 | 0x56 | 0x78(低字节) |
小端模式 | 0x78(低字节) | 0x56 | 0x34 | 0x12(高字节) |
MIPS :big-endian的MIPS架构
MIPSEL:little-endian的MIPS架构
二、MIPS应用领域
2.1MIPS应用领域
计算机
电视机
摄像头
路由器
龙芯芯片
........
三、MIPS寄存器
3.1 MIPS寄存器
r0寄存器永远为0
r1存放返回地址
r2-r3存放结果
r4-r7存放参数
r8-r15临时寄存器,不会保存
r16-r23附加的寄存器
r24-r25更多的临时寄存器,不会保存
r26-r27系统调用
r28全局(gp)寄存器
r29堆栈寄存器
r30堆栈寄存器
r31返回地址
三、MIPS流水线
4.1 流水线
取指令——读操作数及转移——执行——访问存储器——写结果
IF —— ID —— EX —— MEM —— WB
———— / END / ————
那些年甜橙安全给你分享过的干货
- 甜橙竞赛 -
《2021年国家网络安全宣传周活动竞赛》
- 甜橙安全头条 -
- 甜橙安全小课堂 -
- 热点追踪-
-更多精彩,请关注下方公众号-
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 1 准确把握守正创新的辩证关系 7901690
- 2 中国黄金原董事长家搜出大量黄金 7986739
- 3 空调英文不会男生盯着考场空调看 7823595
- 4 消费品以旧换新“加速度” 7758434
- 5 被铁路售票员的手速惊到了 7633604
- 6 网红赤木刚宪爆改赵露思 7588269
- 7 县委原书记大搞“刷白墙”被通报 7477617
- 8 山姆代购在厕所分装蛋糕 7301341
- 9 马龙刘诗雯穿正装打混双 7263376
- 10 刘强东提前发年终奖 7107017