计算机组成原理————寄存器

寄存器是CPU中的一个重要组成部分,它是CPU内部的临时存储单元。寄存器既可以用来存放数据和地址,也可以存放控制信息或CPU工作时的状态。在CPU中增加寄存器的数量,可以使CPU把执行程序时所需的数据尽可能地放在寄存器件中,从而减少访问内存的次数,提高其运行速度。但是,寄存器的数目也不能太多,除了增加成本外,由于寄存器地址编码增加也会相对增加指令的长度。CPU中的寄存器通常分为存放数据的寄存器、存放地址的寄存器、存放控制信息的寄存器、存放状态信息的寄存器和其他寄存器等类型。

程序状态寄存器用于记录运算中产生的标志信息,典型的标志为有进位标志位、零标志位、符号标志位、溢出标志位和奇偶标志等。状态寄存器中的各个状态标志位是依据算术逻辑部件上次的运算结果来置位的。

地址寄存器包括程序计数器、堆栈指示器、变址寄存器和段地址寄存器等,用于记录各种内存地址。

程序计数器用于存放指令的地址。当程序顺序执行时,每取出一条指令,PC内容自动增加一个值,指向下一条要取的指令。当程序出现转移时,则将转移地址送入PC,然后由PC指向新的程序地址。程序计数器PC中存放的是转移的目标地址

累加寄存器是一个数据寄存器,在运算过程中暂时存放被操作数和中间运算结果,累加器不能用于长时间地保存一个数据。

 

1、CPU中有若干寄存器,保存当前正在执行的指令的寄存器为指令寄存器IR,保存下一条指令地址的寄存器为程序计数器PC,用于存放存储器中数据和指令地址的寄存器是地址寄存器存数据和指令的寄存器是数据寄存器

2、通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。除此之外,它们还各自具有一些特殊功能。通用寄存器的长度取决于机器字长,汇编语言程序员必须熟悉每个寄存器的一般用途和特殊用途,只有这样,才能在程序中做到正确、合理地使用它们。

3、指令寄存器(IR)用来保存当前正在执行的一条指令,不需要用户的任何干预,所以对用户是透明的。当执行一条指令时,先把它从内存取到数据寄存器(DR)中,然后再传送至IR。指令划分为操作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作。指令译码器就是做这项工作的。指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号。

4、操作数在寄存器中的寻址方式为“寄存器直接寻址”,也叫“寄存器寻址”。当操作数的内存偏移地址在寄存器中时叫“寄存器间接寻址”。

5、CPU内通用寄存器的位数与机器字节有关。

通常一个寄存器保存一个机器字长的数据,通用寄存器的最大位数等于机器字长。

6、主存地址寄存器MAR的位数与程序计数器PC寄存器相同,都取决于主存储器的容量。

7、汇编程序员可以通过指定待执行指令的地址来设置程序计数器(PC)的值,也可用通用寄存器(GR),而IR(指令寄存器)、MAR(存储地址寄存器)、MDR(存储器数据寄存器)是CPU的内部工作寄存器,对程序员不可见。

8、在键盘接口中设置移位寄存器是为了实现串-并转化。

键盘的输入是一位进行的,但传入主存的信息是并行的,所以,键盘接口必须实现串行到并行的转换。

9、状态寄存器用来存放算术、逻辑运算及测试指令的结果状态

10、在CPU中,累加寄存器可用于传送和暂存用户数据,为ALU执行算术逻辑运算提供工作区。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章