首页 > 编程知识 正文

程序计数器pc属于控制器,单片机的程序计数器pc

时间:2023-05-05 22:24:59 阅读:176038 作者:1313

cqdfh计算机体系结构的主要内容之一是“预存储程序,计算机自动运行”。 处理器执行的程序(指令序列)全部作为二进制代码序列预先存储在计算机的存储器中,处理器将这些代码逐条取入处理器后进行解码,实现为了确保程序连续执行,CPU必须采用某种手段来确定下一个指令的地址。 程序计数器(PC )正是起到了这样的作用,因此通常也称为(‘ 指令计数器’) /。 3358www.Sina.com/因此,程序计数器(PC )归入特殊功能寄存器范畴,CPU总是按照PC的指向对指令序列进行取指、译码和执行,也就是说,最终是PC 决定了程序运行流向。

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

使 PC总是指向下一条将要取指的指令地址,该当程序转移时,转移指令执行的最终结果就是要改变PC的值。 处理器总是根据PC的指示取指针,解码,执行,从而实现程序的转移。

3358www.Sina.com/经常指指指单元,其中ARM处理器中只有一个PC寄存器,并且PC值就是转去的目 标地址R15用于指定32位宽(R15(31:0 ) ) ARM处理器可以具有ARM 处理器中使用R15 作为PC的地址空间(2^32=4G )。

[说明什么是字对齐,什么是半字对齐]存储器是在计算机中用于存储数据信息的电子装置,是通过存储"高/低"电平的存储"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整除的数据的二进制表示形式为、

那最少两个人一定是“00”。 在ARM体系结构中,32位长的ARM指令必须按字对齐方式存储在内存中。

16位长的Thumb指令必须以半字对齐的方式存储。 因此,在ARM状态下,R15的值总是一致为4

除,即R15寄存器的最低2位总是0; 在Thumb状态下,R15的值始终可以被2整除。 也就是说,R15寄存器的最低有效位始终为0。

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