为了支持所有10条给定指令,我们需要设计一个具有多个输入和输出的控制器。以下是一个可能的设计,其中包含了一些输入信号和微操作信号。

输入信号:

  1. 指令寄存器(IR)
  2. 程序计数器(PC)
  3. 存储器地址寄存器(MAR)
  4. 存储器数据寄存器(MDR)
  5. 状态寄存器(SR)
  6. ALU操作码
  7. ALU源操作数选择信号
  8. 内存读/写信号
  9. 外设读/写信号
  10. 中断请求信号

微操作信号:

  1. 将IR的内容加载到MAR
  2. 将PC的内容加载到MAR
  3. 将MAR的内容加载到MDR
  4. 将MDR的内容加载到MAR
  5. 将IR的内容加载到SR
  6. 将IR的内容加载到PC
  7. 将ALU操作码加载到ALU控制器
  8. 将ALU源操作数选择信号加载到ALU控制器
  9. 执行内存读操作
  10. 执行内存写操作
  11. 执行外设读操作
  12. 执行外设写操作
  13. 执行中断处理

以下是这些微操作信号的逻辑关系表达式:

  1. 将IR的内容加载到MAR:MAR_Load = IR_Load
  2. 将PC的内容加载到MAR:MAR_Load = PC_Load
  3. 将MAR的内容加载到MDR:MDR_Load = MAR_Load
  4. 将MDR的内容加载到MAR:MAR_Load = MDR_Load
  5. 将IR的内容加载到SR:SR_Load = IR_Load
  6. 将IR的内容加载到PC:PC_Load = IR_Load
  7. 将ALU操作码加载到ALU控制器:ALU_Control_Load = ALU_Opcode_Load
  8. 将ALU源操作数选择信号加载到ALU控制器:ALU_Control_Load = ALU_Source_Load
  9. 执行内存读操作:Memory_Read = Memory_Read_Signal
  10. 执行内存写操作:Memory_Write = Memory_Write_Signal
  11. 执行外设读操作:I/O_Read = I/O_Read_Signal
  12. 执行外设写操作:I/O_Write = I/O_Write_Signal
  13. 执行中断处理:Interrupt_Handle = Interrupt_Request

这些微操作信号可以通过逻辑门电路实现。以下是可能的控制器内部的门电路结构示意图:

Control Unit

其中,每个微操作信号都与一个或多个逻辑门相关联。根据输入信号的状态和控制器的当前状态,逻辑门会产生相应的微操作信号以控制处理器的行为

设计组合逻辑设计控制器第十章 要求:1列出能支持所有10条给定指令的微操作信号;2给出所有微操作信号的逻辑关系表达式;3能在设计的控制器上清晰表明输入信号和输入微操作信号以及控制器内部的门电路结构;

原文地址: https://www.cveoy.top/t/topic/hLRa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录