算术运算和逻辑运算——算术逻辑运算单元——计算机组成原理

文章目录

  • 1.MIPS指令运行基础结构:
  • 2.加法运算示例:
  • 3.算术运算指令:
    • 1.R型指令:
    • 2.I型指令:
  • 4.逻辑运算指令:
    • 1.对于立即数的处理:
    • 2.逻辑‘与’运算的编码:
    • 3.在CPU上的运算:
  • 5.算术逻辑运算的需求:

1.MIPS指令运行基础结构:

由于MIPS指令的格式跟X86指令的格式相似,我们可以把它看成是在如图所示的结构中运行的:
MPIS指令只对寄存器进行操作我们可以考虑忽略存储器;
算术运算和逻辑运算——算术逻辑运算单元——计算机组成原理_第1张图片

2.加法运算示例:

1.加法指令编码(纯手工(ಥ _ ಥ)):
算术运算和逻辑运算——算术逻辑运算单元——计算机组成原理_第2张图片

2.加法运算:
控制电路:发出指令;
指令编码:解读指令;
CPU通过读取址,将指令编码存放在IR寄存器中;
1.指令译码读取opcode后知道了是R型指令,再根据funct型的值分析出是add指令;
2.控制电路会向ALU发出信号,指明接下来将进行加法运算;
3.解读出rs、rt对应的寄存器、控制电路会选出对应的源操作数,将其内容传送到ALU的输入;
4.同时指令译码会解读出rd对应的寄存器,并将ALU的输出联通到相应的寄存器中;
5.ALU会根据控制电路给出的信号将两个输入的源操作数进行加法运算,并将运算结果保存在相应的寄存器中;
6.运算完成。

算术运算和逻辑运算——算术逻辑运算单元——计算机组成原理_第3张图片

3.算术运算指令:

1.R型指令:

特点:源操作数都是在寄存器中;
算术运算和逻辑运算——算术逻辑运算单元——计算机组成原理_第4张图片

2.I型指令:

算术运算和逻辑运算——算术逻辑运算单元——计算机组成原理_第5张图片
源操作数时立即数(立即数是16位的)而源操作数是32位的:
那么16位如何转化为32为指令呢?
算术运算和逻辑运算——算术逻辑运算单元——计算机组成原理_第6张图片

转换的方法:
算术运算和逻辑运算——算术逻辑运算单元——计算机组成原理_第7张图片
addiu在运算中溢出时不会产生异常;
在这里插入图片描述

4.逻辑运算指令:

1.对于立即数的处理:

含有立即数时,最高位的填充全是0;因为它不像是算术运算指令有正负号的运算;
算术运算和逻辑运算——算术逻辑运算单元——计算机组成原理_第8张图片

2.逻辑‘与’运算的编码:

算术运算和逻辑运算——算术逻辑运算单元——计算机组成原理_第9张图片

3.在CPU上的运算:

算术运算和逻辑运算——算术逻辑运算单元——计算机组成原理_第10张图片

5.算术逻辑运算的需求:

算术运算和逻辑运算——算术逻辑运算单元——计算机组成原理_第11张图片

你可能感兴趣的:(计算机组成原理)