51單片機CPU的內部結構及工作原理

發(fā)布時間:2024-02-07
從上圖中我們可以看到,在虛線框內的就是cpu的內部結構了,8位的mcs-51單片機的cpu內部有數術邏輯單元alu(arithmetic logic unit)、累加器a(8位)、寄存器b(8位)、程序狀態(tài)字psw(8位)、程序計數器pc(有時也稱為指令指針,即ip,16位)、地址寄存器ar(16位)、數據寄存器dr(8位)、指令寄存器ir(8位)、指令譯碼器id、控制器等部件組成。
1、運算器(alu)的主要功能
a)算術和邏輯運算,可對半字節(jié)(一個字節(jié)是8位,半個字節(jié)就是4位)和單字節(jié)數據進行操作。
b)加、減、乘、除、加1、減1、比較等算術運算。
c)與、或、異或、求補、循環(huán)等邏輯運算。
d)位處理功能(即布爾處理器)。
由于alu內部沒有寄存器,參加運算的操作數,必須放在累加器a中。累加器a也用于存放運算結果。
例如:執(zhí)行指令 add a,b
執(zhí)行這條指令時,累加器a中的內容通過輸入口in_1輸入alu,寄存器b通過內部數據總線經輸入口in_2輸入alu,a+b的結果通過alu的輸出口out、內部數據總線,送回到累加器a。
2、程序計數器pc
pc的作用是用來存放將要執(zhí)行的指令地址,共16位,可對64k rom直接尋址,pc低8位經p0口輸出,高8位經p2口輸出。也就是說,程序執(zhí)行到什么地方,程序計數器pc就指到哪里,它始終是跟躥著程序的執(zhí)行。我們知道,用戶程序是存放在內部的rom中的,我們要執(zhí)行程序就要從rom中一個個字節(jié)的讀出來,然后到cpu中去執(zhí)行,那么rom具體執(zhí)行到哪一條呢?這就需要我們的程序計數器pc來指示。
程序計數器pc具有自動加1的功能,即從存儲器中讀出一個字節(jié)的指令碼后,pc自動加1(指向下一個存儲單元)。
3、指令寄存器ir
指令寄存器的作用就是用來存放即將執(zhí)行的指令代碼。
在這里我們先簡單的了解下cpu執(zhí)行指令的過程,首先由程序存儲器(rom)中讀取指令代碼送入到指令寄存器,經譯碼器譯碼后再由定時與控制電路發(fā)出相應的控制信號,從而完成指令的功能。關于指令在單片機內部的執(zhí)行過程,我們在后面將會以另一節(jié)課來進行詳細的講解。
4、指令譯碼器id
用于對送入指令寄存器中的指令進行譯碼,所謂譯碼就是把指令轉變成執(zhí)行此指令所需要的電信號。當指令送入譯碼器后,由譯碼器對該指令進行譯碼,根據譯碼器輸出的信號,cpu控制電路定時地產生執(zhí)行該指令所需的各種控制信號,使單片機正確的執(zhí)行程序所需要的各種操作。
5、地址寄存器ar(16位)
ar的作用是用來存放將要尋址的外部存儲器單元的地址信息,指令碼所在存儲單元的地址編碼,由程序計數器pc產生,而指令中操作數所在的存儲單元地址碼,由指令的操作數給定。從上圖中我們可以看到,地址寄存器ar通過地址總線ab與外部存儲器相連。
6、數據寄存器dr
用于存放寫入外部存儲器或i/o端口的數據信息??梢姡瑪祿拇嫫鲗敵鰯祿哂墟i存功能。數據寄存器與外部數據總線db直接相連。
7、程序狀態(tài)字psw
用于記錄運算過程中的狀態(tài),如是否溢出、進位等。
例如,累加器a的內容83h,執(zhí)行:
add a,#8ah ;累加器a與立即數8ah相加,并把結果存放在a中。
指令后,將產生和的結果為[1]0dh,而累加器a只有8位,只能存放低8位,即0dh,元法存放結果中的最高位b8。為些,在cpu內設置一個進位標志位c,當執(zhí)行加法運算出現進位時,進位標志位c為1。
8、時序部件
由時鐘電路和脈沖分配器組成,用于產生微操作控制部件所需的定時脈沖信號。
上一個:小米手機pay在哪里(云閃付手機pay在哪里)
下一個:勞動糾紛最長追訴期有多久

如何看待電子元器件網上商城的發(fā)展
他勵磁發(fā)電機的運行特性
不同樹齡茶樹根層土壤化學特性及其對微生物區(qū)系和數量的影響
景觀規(guī)劃有哪些概念?
tietop鋁鉗吹掃機控制器(提升工業(yè)生產效率的必備設備)
電腦搜狗怎么開啟麥克風(搜狗輸入法電腦怎樣語音輸入)
網站為什么要持續(xù)更新內容?
電腦開機會顯示出現藍屏和英文是怎么回事(電腦剛開機藍屏出現英文是什么意思)
微軟優(yōu)化軟件(微軟系統優(yōu)化工具)
購買側裝磁翻板液位計產品特點
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos