系统:Windows11
指令寄存器的位数取决于指令字长。指令字长是指机器指令中二进制代码的总位数。指令字长取决于操作码的长度、操作数地址的长度和操作数地址的个数,不同的指令的字长是不同的。
指令寄存器用于暂存当前正在执行的指令。指令寄存器的时钟信号是clk,在clk的上升沿触发。指令寄存器将数据总线送来的指令存入16位的寄存器中,但并不是每次数据总线上的数据都需要寄存,因为数据总线上有时传输指令,有时传输数据。由CPU状态控制器的Ir_ena信号控制数据是否需要寄存,复位时,指令寄存器被清零。
指令寄存器可以在移入一条新的指令的同时,将当前指令保持在它的输出端口。可用这个寄存器来指定所要执行的操作和选择测试数据寄存器。当TAP接收到一条指令寄存器扫描指令时,对指令寄存器进行读取。在指令寄存器工作过程中,来自TAP的控制信号选择指令寄存器的输出驱动TDO管脚。
指令寄存器的功能由三部分构成:扫描移位寄存器、保持寄存器与译码逻辑。扫描移位寄存器从TDI端扫描移入当前指令代码;保持寄存器对当前指令代码进行保持;译码逻辑根据当前指令代码,产生相应的数据寄存器控制信号。三部分的运行控制信号均来自TAP控制器。