首页 > 编程知识 正文

程序计数器pc属于控制器,PC程序计数器

时间:2023-05-03 15:21:01 阅读:176025 作者:3901

psddx计算机体系结构的一个主要内容是“预存储程序,然后计算机自动运行”。 处理器执行的程序(指令序列)全部以二进制代码序列的形式预先存储在计算机的内存中,处理器通过将这些代码一个个地取入处理器并解码、执行,完成整个程序的执行。 为了确保程序连续执行,CPU必须采用某种手段来确定下一个指令的地址。 程序计数器(PC )正是发挥了这样的作用,因此通常也称为“指令计数器”。 CPU始终按照PC的指示指向、解码并执行指令序列。 也就是说,最终PC决定了程序的执行流程。 因此,程序计数器(PC )属于特殊功能寄存器的范畴,不能自由用于存储其他运算数据。

在开始程序执行之前,将程序指令序列的起始地址,即具有程序的最初指令的存储器单元地址发送到PC,CPU根据PC的指示从存储器读取最初的指令(指令执行后,CPU自动地变更PC的内容也就是说,每执行一次命令,PC就会增加一个。 该量等于指令中包含的字节数(指令字节数),PC始终指向下一个指令地址。 由于大部分指令都是按顺序执行的,更改PC的过程通常只是在PC上加上“指令字节数”。

程序被传送后,执行传送命令的最终结果将变更作为传送目标地址的PC的值。 处理器总是根据PC的指示取指针,解码,执行,从而实现程序的转移。

ARM处理器使用R15作为PC,它始终指向指状单元,ARM处理器只有一个PC寄存器,每个模式都共享。 R15有32位宽(以下标记为R15(3133600 ),表示R15的“第31位”到“第0位”)。ARM处理器可以直接寻址4GB的地址空间(2)

[说明什么是字对齐,什么是半字对齐]存储器是在计算机中用于存储数据信息的电子装置,是通过存储"高/低"电平的存储"1/0"而能够存储1位"1/0"的数据的电子单元这种每8个存储器单元配置一个单元,这称为字节,字节是处理器访问存储器的最小单元。 ARM处理器对内存空间的访问分辨率以字节为最小单位。ARM处理器还支持16位数据(2字节)的内存访问和32位数据(4个子部分)的内存访问。 在ARM中,32位数据称为“字”,16位数据称为“半字”。

ARM处理器在访问“字”/“半字”数据时要求数据的存储格式。 被访问的“半字”必须以紧邻内存的2字节为单位存储,第一个字节地址必须能被2整除。 这样存储的16位数据称为“半字对齐”存储数据,16位数据这样的存储方式称为“半字对齐”存储。 同样,如果ARM处理器访问“字”数据,则被访问的“字”必须以紧邻内存的4字节为单位存储,并且第一个字节地址必须能被4整除。 这样存储的32位数据称为“字对齐”存储数据,32位数据这样的存储方式称为“字对齐”存储。

可以被2整除的数据的二进制表示,其最低有效位必须为“0”; 能被4整除的数据的二进制表示,其最低2位一定是“00”。 在ARM体系中,32位长的ARM指令必须用字对齐方式存储在存储器中,16位长的Thumb指令必须用半字对齐方式存储。 因此,在ARM状态下,R15的值始终可以被4整除。 也就是说,R15寄存器的最低2位始终为0。 在Thumb状态下,R15的值始终可以被2整除。 也就是说,R15寄存器的最低有效位始终为0。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。