自己动手写cpu学习:理论1——处理器和MIPS

1.介绍

        计算机有三个部分,分别是存储器,处理器,I/O(输入输出)。处理器从存储器中读取指令,再按照指令执行操作,输入输出提供运算数据,给出运算结果。存储器存储指令。

 

那么,cpu是干什么的呢?:


2.架构和指令集

        不同的处理器会有不同的指令。为了增强可移植性,可以把编程所需要的硬件信息抽象出来成为指令集架构(ISA):

   

 ISA的分类:

 ISA有哪些?:

那么现在我们要整理一下思路:我们想做一个cpu,也就是处理器,不同的处理器会有不同的指令集,为了方便编程,兼容各种处理器我们提出了ISA的概念,并决定使用MIPS这种ISA。这样看,我们还没有接触如何制作cpu,只是在学习在已经有了一个电脑的基础上最开始的编程是怎样的。

接下来就是MIPS架构的简介:

数据类型:

 寄存器:

通用寄存器:

特殊寄存器:

字节次序:

字(32位)是由4个字节(8位)组成的 。地址从左到右变高,用大端模式的话低位数就在高地址了。

指令格式:

指令集:

也就是说,我们写一个汇编指令,这个汇编指令是助记符,用汇编程序可以把这些汇编指令变成0011的样子,也就是之前提到的MIPS支持的3种指令格式。

这里强调一下:

每个处理器都有不同的指令,指的是大家的0011的指令会不一样。现在我要用ISA了,具体用的是MIPS这种ISA,他会规定一种指令格式,也是针对0011的指令的,这样我就可以在这个ISA抽象出来的虚拟机器上(大家的指令还是不一样,ISA会当中间人)用统一的指令了。 然后在这个基础上我就可以用助记符来代替一些0011的指令,然后用汇编程序把助记符变成符合ISA要求的0011,然后在真正的机器上运行。

也就是说,助记符=汇编指令。

现在我们要学习MIPS的指令集,也就是上文所说的与0011对应的助记符。

寻址方式:

 

协处理器cp0:

异常: 

 第一章基本就这样。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值