⑴ 程序计数器PC的功能是什么
程序计数器是用于存放执行指令的地方。
为了保证程序(在操作系统中理解为进程)能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。而程序计数器正是起到这种作用,所以通常又称为指令计数器。
在程序开始执行前,必须将它的起始地址,即程序的一条指令所在的内存单元地址送入PC,因此程序计数器(PC)的内容即是从内存提取的第一条指令的地址。
(1)程序计数器pc有多少位扩展阅读:
注意事项:
在程序开始执行前,将程序指令序列的起始地址,即程序的第一条指令所在的内存单元地址送入PC,CPU按照PC的指示从内存读取第一条指令(取指)。
当执行指令时,CPU自动地修改PC的内容,即每执行一条指令PC增加一个量,这个量等于指令所含的字节数(指令字节数),使PC总是指向下一条将要取 指的指令地址。由于大多数指令都是按顺序来执行的,所以修改PC的过程通常只是简单的对PC加指令字节数。
当程序转移时,转移指令执行的最终结果就是要改变PC的值,此PC值就是转去的目标地址。处理器总是按照PC指向取指、译码、执行,以此实现了程序转移。
参考资料来源:网络-程序计数器
参考资料来源:网络-pc
⑵ 单片机的程序计数器PC的构成
他就是一个单元,只是这个单元装的是地址而已。
给你举个通俗的例子,假设你是一个网吧唯一的网管,任务是负责网吧600号电脑的检查。
你上班开始,就从1号电脑检查,有问题维修,没问题就检查2号,接着是3号。。。。
检查第8号机的时候,8号机主告诉你说 19号机有问题,这个时候,你离开8号机之后,不是去9号,而去19号,19号机处理完之后,19号机主告诉你,113号机有问题,此时,你又去113号机,处理完113号机之后,113号机主没有给你其他机主的信息,那么,你就重新返回9号机去处理,然后是10号机,然后是11号。。。。
这个例子虽然不百分百的符合单片机的工作过程,但是差不多。
这个例子里的 “你”,相当于PC程序计数器,你就是一个人,然后要对付600台机器的问题,所以你所需要的,就是600台机器的编号而已,根据编号跳转,而并不是说你要长得跟600台机器那么大。
同理,PC寄存器就是一个16位的单元,因为是16位,所以,可以容纳的数字是 0---65535一共65536个数字。那么,我把程序空间做成65536个单元,每个单元给一个编号,我只要把编号给PC就可以了,并不需要PC长成那么大。
⑶ 程序计数器(PC)中的值为_____.
PC程序计数器,记录单芯片ROM的行政职务,通用MCU可以访问64K的地址是需要16位字宽的最大 65536你想帮助
⑷ 请教“程序计数器PC”
在8086上它不是通用寄存器,因为不能通过mov等普通指令来操作,只能通过跳转指令等操作。
在ARM上不一样,它是可以通过普通的LDR指令来赋值(当然会导致程序跳转),所以可以归为通用寄存器。在arm中,PC寄存器的另外一个名称是r15,即15号寄存器。所以,在LDR pc,***等指令的机器码中,表示PC寄存器的比特代号是01111(5位二进制数。5个比特的不同组合可以区分32个寄存器)。
其实通用和专用寄存器的区分不是那么严格,不必深究,关键是要弄清可操作该寄存器的指令集合。
⑸ 单片机中的程序计数器PC是16位的寻址范围是64KB怎么来的呀不太明白!
根据二进制编码、译码的原理,n根导线可以译成2^n个地址号,单片机中的程序计数器PC是16位,也就是16根地址线,可以译成2^16=65536个地址号,也成为16根地址线的最大寻址范围。
单片机中用于存放下一条指令所在单元的地址的就是程序计数器,其作用是保证程序(在操作系统中理解为进程)能够连续地执行下去,又称为指令计数器。
每当一个指令被获取,程序计数器的存储地址就加1,指向顺序中的下一条指令,计算机重启或复位后,程序计数器通常恢复到0。
(5)程序计数器pc有多少位扩展阅读
51单片机程序计数器中特殊功能单元:
1)0000H:8051单片机复位后,程序从0000H开始执行指令;
2)0003H:外部中断0入口;
3)000BH:定时器0溢出中断入口;
4)0013H:外部中断1入口;
5)001BH:定时器1溢出中断入口;
6)0023H:串行口中断入口。
⑹ 单片机程序存储区的寻址范围是由程序计数器PC的位数决定的,若PC为16位,则寻址范围是
2的16次方
= 2的六次方 * 2的10次方
= 64 K
⑺ MCS-51单片机的程序计数器有几位
这个是要根据你的。我记不清楚了。。是TMOD吧好像是。。来设置的。。最多能有16位。。记得好像还有13位。。是由寄存器TMOD里面的2位的组合来控制的。。
⑻ 程序计数器PC有多少位
16位
⑼ CPU中程序计数器(PC)存放的最大值是多少
PC时程序计数器,主要是记录单片机在ROM的执行位置,一般单片机可以访问64K的地址,也就是需要16位的字宽
最大值为65536 希望对你有帮助
⑽ 程序计数器PC和指令指针寄存器是什么关系
程序计数器PC和指令指针寄存器二者之间的关系可以参考下面的理解:
程序计数器PC和指令指针寄存器IP是一个东西,它们都是存储下一条执行指令的地址。
在X86上一般叫IP,在ARM上叫PC(也是R15)。
在X86上不能直接给IP赋值,可以通过jmp来改变它的值。
而ARM上可以通过LDR直接对PC赋值。
(10)程序计数器pc有多少位扩展阅读:
指令指针寄存器IP(X86型CPU)相当于ARM型CPU中的程序计数器PC,用于控制程序中指令的执行顺序。
正常运行时,IP中含有BIU要取的下一条指令(字节)的偏移地址,一般情况下,每从内存中存取一次指令码,IP就自动加1,从而保证指令的顺序执行,IP实际上是指令机器码存放内存单元的地址指针。