简单来说,指令集就是CPU能看得懂的语音,可以称之为机器语言。
CPU指令集主要包括CISC(复杂指令集)和RISC(精简指令集)。
形象点说,
CISC类似于汉语,每一句话都是由汉字组成,而每一个汉字就相当于一条指令集;
RISC类似于英语,每一句话都是由字母组成,而每一个字母就相当于一条指令集;(这里不讨论什么汉字是笔画组成的,形象的比喻而已)
但是无论汉语和英语,都能实现人类基本交流。
例如:英语虽然只有26个字母,但是汉字却有几千个。但是有时候翻译表达同一个意思,往往比中文要复杂。比如中文的诗句,简单的几个汉字,就可以描述此次此刻的心境。
指令集就是cpu能读懂的指令,命令,就是人们预先定义好的,控制cpu如何工作的机器能读懂的机器语言。
知道了什么是指令集,这个时候还有一个概念就是编译。
编译其实就是把高级语言编程机器语言。也就是二进制的东西。烧录openwrt的时候,用hex编辑器打开看看,里面全是二进制代码,这些就是翻译后的机器语言。(当然,固件中处理指令集后,还有数据,数据就是普通的资源文件,不会去控制cpu)。
MIPS指令集就是MIPS架构的CPU能读懂的语言。
MIPS汇编
MIPS指令集
MIPS指令集属于精简指令集
MIPS的所有指令都是32位,指令格式简单,而X86的指令长度不是固定的。
简单的指令和格式易于译码和流水线操作,但是代码密度不高,导致二进制文件大
MIPS有32个通用寄存器REG,为什么是32个而不是更多呢?
因为更多的寄存器需要更多的指令空间对寄存器编码,也会增加上下文切换的负担。
技术专区
- mybatis动态sql详解
- 用VHDL语言设计数据传输系统中的HDB3编码器
- 裸机程序如何驱动硬件?看前辈是怎么说的
- 应用面向对象编程SoC原则的典型示例
- 嵌入式开发之java常用开发工具介绍