1、程序存储器(program storage)
在计算机的主存储器中专门用来存放程序、子程序的一个区域。
2、指令寄存器(IR ):用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到数据寄存器(DR)中,然后再传送至IR。指令划分为 *** 作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,必须对 *** 作码进行测试,以便识别所要求的 *** 作。指令译码器就是做这项工作的。指令寄存器中 *** 作码字段的输出就是指令译码器的输入。 *** 作码一经译码后,即可向 *** 作控制器发出具体 *** 作的特定信号。
3、程序计数器(PC):为了保证程序(在 *** 作系统中理解为进程)能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。而程序计数器正是起到这种作用,所以通常又称为指令计数器。在程序开始执行前,必须将它的起始地址,即程序的一条指令所在的内存单元地址送入PC,因此程序计数器(PC)的内容即是从内存提取的第一条指令的地址。当执行指令时,CPU将自动修改PC的内容,即每执行一条指令PC增加一个量,这个量等于指令所含的字节数,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单的对PC加1。
当程序转移时,转移指令执行的最终结果就是要改变PC的值,此PC值就是转去的地址,以此实现转移。有些机器中也称PC为指令指针IP(Instruction Pointer)
4、地址寄存器:用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着 *** 作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写 *** 作完成为止 。�
当CPU和内存进行信息交换,即CPU向内存存/取数据时,或者CPU从内存中读出指令时,都要使用地址寄存器和数据缓冲寄存器。同样,如果我们把外围设备的设备地址作为像内存的地址单元那样来看待,那么,当CPU和外围设备交换信息时,我们同样使用 地址寄存器和数据缓冲寄存器
基本上定义就是区别和应用。
程序计数器PC和指令指针寄存器二者之间的关系可以参考下面的理解:
程序计数器PC和指令指针寄存器IP是一个东西,它们都是存储下一条执行指令的地址。
在X86上一般叫IP,在ARM上叫PC(也是R15)。
在X86上不能直接给IP赋值,可以通过jmp来改变它的值。
而ARM上可以通过LDR直接对PC赋值。
扩展资料:
指令指针寄存器IP(X86型CPU)相当于ARM型CPU中的程序计数器PC,用于控制程序中指令的执行顺序。
正常运行时,IP中含有BIU要取的下一条指令(字节)的偏移地址,一般情况下,每从内存中存取一次指令码,IP就自动加1,从而保证指令的顺序执行,IP实际上是指令机器码存放内存单元的地址指针。
参考资料来源:百度百科-指令指针寄存器
参考资料来源:百度百科-程序计数器
一、寄存器的定义
寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,寄存器有累加器(ACC)。
二、寄存器的作用
1、可将寄存器内的数据执行算术及逻辑运算
2、存于寄存器内的地址可用来指向内存的某个位置,即寻址
3、可以用来读写数据到电脑的周边设备。
扩展资料:
寄存器工作原理:
CPU对存储器中的数据进行处理时,往往先把数据取到内部寄存器中,而后再作处理。外部寄存器是计算机中其它一些部件上用于暂存数据的寄存器,它与CPU之间通过“端口”交换数据,外部寄存器具有寄存器和内存储器双重特点。
外部寄存器虽然也用于存放数据,但是它保存的数据具有特殊的用途。某些寄存器中各个位的0、1状态反映了外部设备的工作状态或方式;还有一些寄存器中的各个位可对外部设备进行控制;也有一些端口作为CPU同外部设备交换数据的通路。所以说,端口是CPU和外设间的联系桥梁。
CPU对端口的访问也是依据端口的“编号”,这一点又和访问存储器一样。不过考虑到机器所联接的外设数量并不多,所以在设计机器的时候仅安排了1024个端口地址,端口地址范围为0--3FFH。
参考资料:百度百科-寄存器
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)