计算机的组成与设计(四)处理器

一个基本的MIPS实现

  • 存储器访问指令:取字(lw)和存字(sw)
  • 算术逻辑指令:加法(add)、减法(sub)、与运算(and)、或运算(or)和小于则设置(slt)
  • 分支指令:相等则分支(beq)和跳转(j)
    (1)程序计数器(PC)指向指令所在的存储单元,并从中取出指令
    (2)通过指令字段内容,选择读取一个或两个寄存器;对于取字指令,只需读取一个寄存器,而其他大多数指令要求读取两个寄存器。
    这两步之后,步骤取决于具体指令类型:
    例如,除跳转指令外所有指令在读取寄存器后,都要使用算术逻辑单元(ALU),存储访问指令用ALU计算地址,算术逻辑指令用ALU执行运算,分支指令用ALU进行比较;
    在使用ALU之后,存储访问指令需要访问内存以便读取和存储数据;算术逻辑指令或取数指令将来自ALU或存储器的数据写入存储器;分支指令需要根据比较的结果决定是否改变下一条指令的地址
    在这里插入图片描述
    (控制信号是由指令的某些字段所决定的)

MIPS实现的数据通路功能部件包括两种不同的逻辑单元:
(1)处理数据值的单元(组合单元,输出只取决于当前的输入;如与门或ALU)
(2)存储状态的单元(状态单元,有内部存储功能,包含状态,如指令存储器、数据存储器和寄存器)
一个状态单元至少有两个输入和一个输出,两个必要的输入为要写入单元的数据值和决定何时写入的时钟信号,状态单元的输出提供了在前一个时钟信号写入单元的数据值。(D触发器、存储器、寄存器)

时钟方法:规定了信号可以读出和写入的时间(若一个信号同时读出和写入,则读出的信号不确定)
在这里插入图片描述
组合逻辑单元的操作在一个时钟周期内完成,所有信号在一个时钟周期内从状态单元1经组合逻辑到达状态单元2,信号到达状态单元2所需的时间决定了时钟周期的长度。(使用时钟信号和写控制信号,来控制状态单元)
在这里插入图片描述
(在一个时钟周期内读出一个寄存器的值,然后使之结果一些组合逻辑,同时将新值写入该寄存器)

对于32位MIPS体系而言,几乎所有这些状态和逻辑单元的输入和输出都是32位,若某单元的输入和输出不是32位的,会特别指出

建立数据通路
数据通路部件:
1、要执行一条指令,首先从存储单元中将指令取出,然后增加程序计数器使其指向下一条指令
在这里插入图片描述
2、R型指令有三个寄存器操作数,每条指令都要从寄存器堆读出两个数据字,再写入一个数据字(而写入一个数据字需要有两个输入:一个提供要写的寄存器号对应的寄存器内容,另一个提供要写的数据;寄存器堆的读输出总是对应于读寄存器号,不需要其他控制信号,但是写寄存器必须明确使能写控制信号,因为寄存器堆的写入是边沿触发的,所以可以在同一时钟周期内读出和写入同一寄存器;读操作将读出以前写入的内容,而写入的内容在下一时钟周期才可读)

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值