zoukankan      html  css  js  c++  java
  • 计算机原理 6.8 硬布线控制器设计

    1、基本原理

    控制器的核心功能是完成指令的自动执行,而指令的自动执行有赖于各功能部件之间的数据通路的建立,而数据通路的建立,有赖于控制器生成控制信号的序列,所以,从宏观上看,控制器可以看作为一个能够产生固定的时序控制信号的逻辑电路。

    这个逻辑电路的输入是指令译码信号,每一条指令都会产生一个译码输出,另一个输入是时钟信号,还有就是指令执行时的一些反馈信号,

    输出就是各功能部件所需要的微操作控制信号序列,

     2、单总线结构CPU

     3、单总线结构CPU指令周期

     在设计硬布线控制器的时候有两种思路,第一种是所有的指令执行可能是定长的指令周期,在这种方法里,我们应该取所有指令里面最慢的那条指令进行同步,在这里因为load指令所需要的时间最长,所以我们用load指令的8个时钟周期进行同步,它需要两个机器周期分别完成取指令和执行指令(这里假设一个机器周期为4个时钟周期)

    第二种方法就是用边长指令周期的方法,更加灵活。

    首先来看定长指令周期的设计过程:

    要设计定长指令周期,我们需要首先构建它的时序产生器,也就是生成传统的三级时序的这样一个时序产生器,由三级时序产生器里面非常重要的一个基础的时钟,就是节拍脉冲,由节拍脉冲生成具体的状态周期电位,状态周期电位包括取指令周期单位和执行指令周期单位,这个电位信号标识对应当前指令处于哪一个周期,我们还要有节拍电位,

    三级时序指的就是,节拍脉冲、状态周期电位、节拍电位。

     5、时序产生器状态机

     6、硬布线控制器基本架构

     7、单总线cpu控制信号生成

    8、固定指令周期硬布线控制器设计过程

    1、设计三级时序产生器:所有指令固定机器周期数,节拍数

    2、列出所有机器指令的指令周期流程图,明确每个节拍的控制信号,

    3、找出产生同一微操作控制信号的条件

    4、写处各微操作控制信号的布尔表达式

     5、化简各表达式

    6、利用组合逻辑电路实现。

    变长指令周期的硬布线控制器设计

    在指令执行过程中,状态的切换除了与时钟有关系以外,还跟指令的译码信号有关系,我们将所有指令在执行的不同阶段,都用一个状态唯一的标识,比如上表中,将指令分节拍表示成了16个状态来表示,我们用一个四位的状态机来表示指令执行的不同的状态,这样的话,指令执行过程中,所有的信号只与对应的状态有关,所以有了状态机以后,对应的最终的控制信号,只与状态机的现态有关。

    2、现代时序系统

     3、指令执行状态转换图

     4、有限状态真值表

     5、可变周期硬布线控制器设计步骤

    1、列出所有机器指令的指令周期流程图,明确每个节拍的控制信号

    2、绘制指令执行状态转换图

    3、根据状态转换图构建状态机真值表,实现有限状态机组合逻辑

    4、实现控制器组合逻辑电路

     6、传统时序与现代时序对比

  • 相关阅读:
    【知识总结】Burnside 引理和 Polya 定理
    【洛谷1973】[NOI2011]NOI嘉年华(动态规划)
    【洛谷4705】玩游戏(多项式)
    【洛谷5366】[SNOI2017] 遗失的答案(状压DP)
    【Codeforces235D_CF235D】Graph Game(概率_基环树)
    【Codeforces553E_CF553E】Kyoya and Train(概率_CDQ分治_FFT)
    【知识总结】博弈论入门
    Saltstack
    Tomcat 的 catalina.out 日志分割
    eclipse的工程里的*.properties文件默认以unicode的编码形式显示
  • 原文地址:https://www.cnblogs.com/fate-/p/13183839.html
Copyright © 2011-2022 走看看