指令寄存器(IR,Instruction Register),用于暂存当前正在执行的指令。指令寄存器的时钟信号是clk,在clk的
上升沿触发。指令寄存器将数据总线送来的指令存入16位的寄存器中,但并不是每次数据总线上的数据都需要寄存,因为数据总线上有时传输指令,有时传输数据。由CPU状态控制器的 Ir_ena信号控制数据是否需要寄存。复位时,指令寄存器被清零。
BSDL语言中有一个重要的描述,即指令寄存器(Instruclion Register),它是由一些强制的、可选的和用户自定义的指令集合而成。关于这个指令寄存器的属性描述,必须包含5个要素:指令寄存器的长度、各种指令的名称、对应的操作码、指令寄存器的捕获操作码以及哪些指令是内部的。
3、从主存中取出的指令通过数据总线(DB)送到存储器
数据寄存器(MDR)。
指令寄存器可以在移入一条新的指令的同时,将当前指令保持在它的输出端口。可用这个寄存器来指定所要执行的操作和选择测试数据寄存器。当TAP接收到一条指令寄存器扫描指令时,对指令寄存器进行读取。在指令寄存器工作过程中,来自TAP的控制信号选择指令寄存器的输出驱动TDO管脚。
指令寄存器的功能由三部分构成:扫描移位寄存器、保持寄存器与译码逻辑。扫描
移位寄存器从TDI端扫描移入当前指令代码;保持寄存器对当前指令代码进行保持;译码逻辑根据当前指令代码,产生相应的数据寄存器控制信号。三部分的运行控制信号均来自TAP控制器。
IP是
指令指针寄存器(Instruction Pointer),它用来存放待要取出指令的地址偏移量。它只有与CS寄存器相结合,才能形成指向指令的真正物理地址。