组成原理:多阶段CPU,外设交互:内存与输出

多阶段cpu

  • state状态控制:
reg  state;
wire  state_next;
state_next=...state&状态转移条件(比如握手信号,比如内部判断出的branch,regwrite,load,store); 组合逻辑,根据信号与上一状态更新下一状态
      
clk:state<=state_next;
  • 部分控制信号(输出和中间信号)和PC
    1. 组合逻辑更新:状态作为一个赋值条件:比如写回状态是拉高reg_write的必要条件
    2. CU不受影响:CU产生的控制信号做中间信号用

内存交互

  • 收发接口,四个通路,四对握手信号
  • 任务:握手信号控制,数据收发:
    1. 握手信号:发送:组合电路赋值,state条件控制;接受:state转换电路负责接收,之后通过改变的state做媒介把这个信号的控制传送出去(比如state导致的拉高reg_write之类)
    2. 数据收发:收:指令或数据,握手成功时通过接口接收到寄存器中;发:握手成功时放到接口中

IO

  • 接口与内存统一编址
  • 接口通信协议
    1. UART:并行位按位串行发送
    2. 实现:寄存器接口,state信号(满时等待)
    3. 驱动:和接口交互,按接口规则,从抽象函数中取输出任务,实现输出的工具程序

你可能感兴趣的:(组成原理:多阶段CPU,外设交互:内存与输出)