Barry618

导航

挑战(一):两周自己动手写CPU(第一章:处理器与MIPS)

题外:为了丰富秋招简历的项目经历,冲!!!

C++和汇编语言的区别:

一、架构与指令集:

ISA(Instruction Set Architecture):指令集架构:包含一套指令集和一些寄存器,主要有x86,ARM,SPARC,POWER,MIPS,除X86是CISC ISA外,其余都为RISC ISA;本科的《微机原理与接口技术》就是基于Intel 8086处理器,即x86指令集架构;

CISC(Complex Instruction Set Computer ):复杂指令集计算机;CISC的每条指令对应的0,1编码串长度不一;

RISC(Reduced Instruction Set Computer ):精简指令集计算机;RISC的每条指令对应的0,1编码串长度固定,指令格式种类少,寻址方式种类少,大量使用寄存器:指令大多是简单指令且都能在一个时钟周期内完成,使处理器频率大幅提升,易于设计流水线;

PS:目前绝大多数的PC使用的都是兼容X86指令集架构的处理器;ARM公司不涉及具体芯片生产,只设计低功耗,高性能的CPU内核并授权给其他公司,其他公司设计生产具体的处理器芯片,即出售IP核(Intellectual Property core);

MIPS(Microprocessor without Interlocked Piped Stages):无内锁流水线微处理器:使用相对简单的指令,结合优秀的编译器以及采用流水线执行指令的硬件,就可以用更少的晶圆面积生产更快的处理器;在工作站和服务器系统中得到了很多应用(龙芯处理器采用的MIPS架构,且本项目也采用的MIPS32 Release 1架构,MIPS架构的专利期已过,可自由使用);

 

二、MIPS32指令集架构

1、数据类型:

 2、寄存器:

寄存器的存储可在一个时钟周期内完成,简化了寻址方式;MIPS32的指令中除加载/存储指令外,都是使用寄存器立即数作为操作数。存储器又分为通用寄存器(GPR)特殊寄存器两种;

(1)通用寄存器:

 

 

 

 (2)特殊寄存器:

 

 3、字节次序:

 

 4、指令格式:

 

 5、指令集:

(1)逻辑操作指令(8条):and(与)、andi(与)、or(或)、ori(或)、xor(异或)、xori(异或)、nor(或非)、lui

(2)移位操作指令(6条):sll、sllv、sra、srav、srl、srlv:用于通用寄存器之间的数据移动,以及通用寄存器与HI、LO寄存器之间的数据移动;

(3)移动操作指令(6条):movn、movz、mfhi、mthi、mflo、mtlo

(4)算术操作指令(21条):add、addi、addiu、addu、sub、subu、clo、clz、slt、slti、sltiu、sltu、mul、mult、multu、madd、maddu、msub、msubu、div、divu

(5)转移指令(14条):jr、jalr、j、jal、b、bal、beq、bgez、bgezal、bgtz、blez、bltz、bltzal、bne:既有无条件转移,也有条件转移;用于程序转移到另一个地方执行;

(6)加载存储指令(14条):lb、lbu、lh、lhu、ll、lw、lwl、lwr、sb、sc、sh、sw、swl、swr:以“l”开始的都是加载指令,以“s”开始的都是存储指令,这些指令用于从存储器中读取数据或向存储器中保存数据;

(7)协处理器访问指令(2条):mtc0、mfc0:用于读取协处理器CP0中某个寄存器的值,或者将数据保存到协处理器CP0中的某个寄存器;

(8)异常相关指令(14条):teq、tge、tgeu、tlt、tltu、tne、teqi、tgei、tgeiu、tlti、tnei(这12条为自陷指令);syscall(系统调用指令);eret(异常返回指令)

(9)其余指令(4条):nop(空指令)、ssnop(特殊类型的空指令)、sync(用于保证加载、存储操作的顺序)、pref(用于缓存预取)

 

6、寻址方式:寄存器寻址、立即数寻址、寄存器相对寻址、PC相对寻址

 

 7、协处理器CP0:协处理器表示处理器的一个可选部件,负责处理指令集的某个扩展,拥有与处理器相独立的寄存器。MIPS32架构提供最多4个协处理器:除CP0外的协处理器都是可选的;

(1)CP0:用作系统控制:配置CPU工作状态、高速缓存控制、异常控制、存储管理单元控制等。CP0通过配置内部的一系列寄存器来完成上述工作;

(2)CP1、CP3:用作浮点处理单元;

(3)CP2:被保留用于特定实现;

 

8、异常

 

posted on 2022-03-13 14:46  Barry618  阅读(437)  评论(0编辑  收藏  举报