自己动手写处理器之第一阶段(3)——MIPS32指令集架构简介

将陆续上传本人写的新书《自己动手写处理器》(尚未出版),今天是第四篇,我尽量每周四篇

 

1.4 MIPS32指令集架构简介

      本书设计的处理器遵循MIPS32 Release 1架构,所以本节介绍的MIPS32指令集架构指的就是MIPS32 Release 1。

1.4.1 数据类型   

      指令的主要任务就是对操作数进行运算,操作数有不同的类型和长度,MIPS32提供的基本数据类型如下。

  •   位(b):长度是1bit。
  •   字节(Byte):长度是8bit。
  •   半字(Half Word):长度是16bit。
  •   字(Word):长度是32bit。
  •   双字(Double Word):长度是64bit。

      此外,还有32位单精度浮点数、64位双精度浮点数等。

1.4.2 寄存器

      在前文介绍RISC的特点时提到一点:大量使用寄存器。这是因为寄存器的存取可以在一个时钟周期内完成,同时也简化了寻址方式。MIPS32的指令中除加载/存储指令外,都是使用寄存器或立即数作为操作数的。MIPS32中的寄存器分为两类:通用寄存器(GPR:General Purpose Register)、特殊寄存器。

1、通用寄存器

      MIPS32架构定义了32个通用寄存器,使用$0、$1……$31表示,都是32位。其中$0一般用做常量0。

      在硬件上没有强制指定寄存器的使用规则,但是在实际使用中,这些寄存器的用法都遵循一系列约定,例如:寄存器$31一般存放子程序的返回地址。MIPS32中通用寄存器的约定用法如表1-1所示。在本书大部分章节中,测试程序都是直接使用汇编指令编写的,对寄存器的约定用法还不需要十分在意,但是本书的最后一章移植μC/OS-II时,因为涉及到C语言、汇编混合编程,对寄存器的约定用法就需要十分在意了。读者届时可以体会到表1-1中各个寄存器约定用法的作用。

  • 21
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值