單片機(jī)運(yùn)算器了解嗎?單片機(jī)有哪些寄存器?
單片機(jī)的使用,能夠早就很多有意思的產(chǎn)品。通過單片機(jī),我們能夠造出一個(gè)獨(dú)立的電子器件。為增進(jìn)大家對(duì)單片機(jī)的認(rèn)識(shí),本文將對(duì)單片機(jī)的基本結(jié)構(gòu)予以介紹。如果你對(duì)單片機(jī)具有濃厚興趣,不妨和小編共同繼續(xù)往下閱讀哦。
一、單片機(jī)
單片機(jī)(Single-Chip Microcomputer)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的微型計(jì)算機(jī)系統(tǒng),在工業(yè)控制領(lǐng)域廣泛應(yīng)用。從上世紀(jì)80年代,由當(dāng)時(shí)的4位、8位單片機(jī),發(fā)展到現(xiàn)在的300M的高速單片機(jī)。
二、單片機(jī)基本結(jié)構(gòu)
1.運(yùn)算器
運(yùn)算器由運(yùn)算部件——算術(shù)邏輯單元(Arithmetic & Logical Unit,簡(jiǎn)稱ALU)、累加器和寄存器等幾部分組成。ALU的作用是把傳來的數(shù)據(jù)進(jìn)行算術(shù)或邏輯運(yùn)算,輸入來源為兩個(gè)8位數(shù)據(jù),分別來自累加器和數(shù)據(jù)寄存器。ALU能完成對(duì)這兩個(gè)數(shù)據(jù)進(jìn)行加、減、與、或、比較大小等操作,最后將結(jié)果存入累加器。
運(yùn)算器有兩個(gè)功能:
(1) 執(zhí)行各種算術(shù)運(yùn)算。
(2) 執(zhí)行各種邏輯運(yùn)算,并進(jìn)行邏輯測(cè)試,如零值測(cè)試或兩個(gè)值的比較。
運(yùn)算器所執(zhí)行全部操作都是由控制器發(fā)出的控制信號(hào)來指揮的,并且,一個(gè)算術(shù)操作產(chǎn)生一個(gè)運(yùn)算結(jié)果,一個(gè)邏輯操作產(chǎn)生一個(gè)判決。
2.控制器
控制器由程序計(jì)數(shù)器、指令寄存器、指令譯碼器、時(shí)序發(fā)生器和操作控制器等組成,是發(fā)布命令的“決策機(jī)構(gòu)”,即協(xié)調(diào)和指揮整個(gè)微機(jī)系統(tǒng)的操作。其主要功能有:
(1) 從內(nèi)存中取出一條指令,并指出下一條指令在內(nèi)存中的位置。
(2) 對(duì)指令進(jìn)行譯碼和測(cè)試,并產(chǎn)生相應(yīng)的操作控制信號(hào),以便于執(zhí)行規(guī)定的動(dòng)作。
(3) 指揮并控制CPU、內(nèi)存和輸入輸出設(shè)備之間數(shù)據(jù)流動(dòng)的方向。
微處理器內(nèi)通過內(nèi)部總線把ALU、計(jì)數(shù)器、寄存器和控制部分互聯(lián),并通過外部總線與外部的存儲(chǔ)器、輸入輸出接口電路聯(lián)接。外部總線又稱為系統(tǒng)總線,分為數(shù)據(jù)總線DB、地址總線AB和控制總線CB。通過輸入輸出接口電路,實(shí)現(xiàn)與各種外圍設(shè)備連接。
3.主要寄存器
(1)累加器A
累加器A是微處理器中使用最頻繁的寄存器。在算術(shù)和邏輯運(yùn)算時(shí)它有雙功能:運(yùn)算前,用于保存一個(gè)操作數(shù);運(yùn)算后,用于保存所得的和、差或邏輯運(yùn)算結(jié)果。
(2)數(shù)據(jù)寄存器DR
數(shù)據(jù)寄存器通過數(shù)據(jù)總線向存儲(chǔ)器和輸入/輸出設(shè)備送(寫)或取(讀)數(shù)據(jù)的暫存單元。它可以保存一條正在譯碼的指令,也可以保存正在送往存儲(chǔ)器中存儲(chǔ)的一個(gè)數(shù)據(jù)字節(jié)等等。
(3)指令寄存器IR和指令譯碼器ID
指令包括操作碼和操作數(shù)。
指令寄存器是用來保存當(dāng)前正在執(zhí)行的一條指令。當(dāng)執(zhí)行一條指令時(shí),先把它從內(nèi)存中取到數(shù)據(jù)寄存器中,然后再傳送到指令寄存器。當(dāng)系統(tǒng)執(zhí)行給定的指令時(shí),必須對(duì)操作碼進(jìn)行譯碼,以確定所要求的操作,指令譯碼器就是負(fù)責(zé)這項(xiàng)工作的。其中,指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。
(4)程序計(jì)數(shù)器PC
PC用于確定下一條指令的地址,以保證程序能夠連續(xù)地執(zhí)行下去,因此通常又被稱為指令地址計(jì)數(shù)器。在程序開始執(zhí)行前必須將程序的第一條指令的內(nèi)存單元地址(即程序的首地址)送入PC,使它總是指向下一條要執(zhí)行指令的地址。
(5)地址寄存器AR
地址寄存器用于保存當(dāng)前CPU所要訪問的內(nèi)存單元或I/O設(shè)備的地址。由于內(nèi)存與CPU之間存在著速度上的差異,所以必須使用地址寄存器來保持地址信息,直到內(nèi)存讀/寫操作完成為止。
顯然,當(dāng)CPU向存儲(chǔ)器存數(shù)據(jù)、CPU從內(nèi)存取數(shù)據(jù)和CPU從內(nèi)存讀出指令時(shí),都要用到地址寄存器和數(shù)據(jù)寄存器。同樣,如果把外圍設(shè)備的地址作為內(nèi)存地址單元來看的話,那么當(dāng)CPU和外圍設(shè)備交換信息時(shí),也需要用到地址寄存器和數(shù)據(jù)寄存器。
以上便是此次小編帶來的“單片機(jī)“相關(guān)內(nèi)容,通過本文,希望大家對(duì)單片機(jī)基本結(jié)構(gòu)具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!