CPU处理器与MIPS step1:处理器与MIPS 1971年11月15日开始,那一天Inter发布了世界上第一款单芯片微处理器4004 1.1计算机的简单模型 1、计算机的复杂在于不了解计算机的时候可以听歌,看电影,上网等等,计算机是如何工作的? 2、但是计算机只可以做加、减、乘、除、逻辑、移位、转移、存储、加载等几类操作 1.1.1计算机的简单组成部分 计算机组成有三大部分:处理器(CPU)、输入、输出(I/O)、存储器 存储器中存储的是指令,就是一条运算命令。计算机中的信息用0、1组合来表示的,所以一条指令就是一串0、1编码。处理器内部具有译码功能,用来解释接收到的0、1编码表示的运算类型。 1.1.2计算机简单使用模型 指令的种类实际上非常少,只有几百条、常用的就几十条,通过指令的组织、配合,实现了目前丰富多彩的应用。 理论上直接0、1编码即可,但是不方便,所以用高级语言,通过汇编语言,然后再使用汇编程序将其翻译为0、1编码。 这就是计算机的简单使用模型,无论是视频软件、浏览器、还是任何其他软件;无论是用C、Java;无论是Windows环境、Android环境;无论是arm、inter处理器;无论是银河二号这样的大型机、个人使用的PC上运行,都遵循这一套使用模型 1.2 架构和指令集 不同的处理器使用不同的指令,这样,处理器A编写的程序不能直接在处理器B上使用,需要重新编写,然后再次编译、汇编后才可以使用,降低了软件的移植性,显然,极为不便。 IBM为了让自己的一系列计算机能使用相同的软件,免去重复编写软件的痛苦,在它的system/360计算机中引入了指令集架构的概念,将编程所需要了解的硬件信息从硬件系统中抽象出来,这样软件人员面向ISA编程,开发出来的软件不经过修改就可以用在符合ISA的所有计算机上。ISA包括一套指令集和一些寄存器,知道它们就可以编写程序了。 与ISA对应的一个概念是微架构,后者是前者的一个实现,比如Inter的许多处理器都是遵循x86的ISA,但是每一款处理器都有自己的微架构,ISA好比是设计规范,微架构则是具体实现,同样的ISA,不同的微架构,会带来不同的性能。 1.2.1 CISC与RISC 从大的方面,根据ISA的不同可以将计算机分为两类:复杂指令集计算机(CISC)和精简指令集计算机(RISC)。它们的主要区别是,CISC的每条指令对应的0、1编码串长度不一,而RISC的每条指令对应的0、1编码串长度是固定的。 时间篇幅有限我们只介绍龙芯处理器所应用的指令集架构MIPS架构 现有的指令架构已经形成了一套完整的环境,有成熟的编译器,还有大量的应用程序,采用现有的指令集架构,都可以直接使用这些环境。反之,如果设计自己独有的一套指令集架构,那么编译器、应用软件都要自己重新开发。 MIPS的设计是RISC架构的经典之作,很多处理器都吸收了其中的设计思想;其次,MIPS架构的指令专利期已过,可以自由使用。 MIPS含义是无内锁流水线微处理器,使用相对简单的指令,结合优秀的编译器以及采用流水线指令的硬件,就可以用更少的晶元面积生产更快的处理器。 1.4.1数据类型 MIPS32提供的数据类型如下: 位(b):长度是1bit 字节(Byte):长度是8bit 半字(Half Word):长度是16bit 字(Word):长度是32bit 双字(Double Word):长度是64bit 此外还有32位单精度浮点数、64位双精度浮点数 注:本章及本合集中所有内容均来自《自己动手写CPU》加上自我理解,如果有侵权部分请联系作者删除