⑴ 程序計數器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實際上是指令機器碼存放內存單元的地址指針。