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