姓名:郝津銳??? 學(xué)號:19020100179??? 學(xué)院:電子工程學(xué)院
轉(zhuǎn)自:
https://baike.baidu.com/item/%E5%8D%95%E7%89%87%E6%9C%BA/102396?fr=aladdin
【嵌牛導(dǎo)讀】本文介紹了單片機(jī)的組成部分和基本結(jié)構(gòu)
【嵌牛鼻子】單片機(jī)結(jié)構(gòu)
【嵌牛提問】單片機(jī)都由哪些部分組成男韧,結(jié)構(gòu)是怎樣的
【嵌牛正文】
經(jīng)過上一篇文章的介紹之后缎罢,我相信很多人都對單片機(jī)這一概念有了初步的了解榛泛,單片機(jī)是單片微型計(jì)算機(jī)的簡稱卸亮,由于單片機(jī)主要用于控制領(lǐng)域货裹,所以國際上通常將單片機(jī)稱作微型控制器握截,那么它是由哪些結(jié)構(gòu)組成的呢谚咬?
(1)運(yùn)算器:運(yùn)算器由運(yùn)算部件——算術(shù)邏輯單元(ALU)横殴、累加器和寄存器等幾部分組成。ALU的作用是把傳來的數(shù)據(jù)進(jìn)行算術(shù)或邏輯運(yùn)算茬缩,輸入來源為兩個8位數(shù)據(jù),分別來自累加器和數(shù)據(jù)寄存器吼旧。ALU能完成對這兩個數(shù)據(jù)進(jìn)行加凰锡、減、與、或掂为、比較大小等操作裕膀,最后將結(jié)果存入累加器。
運(yùn)算器有兩個功能:執(zhí)行各種算術(shù)運(yùn)算勇哗、執(zhí)行各種邏輯運(yùn)算昼扛,并進(jìn)行邏輯測試,如零值測試或兩個值的比較欲诺。運(yùn)算器所執(zhí)行全部操作都是由控制器發(fā)出的控制信號來指揮的抄谐,并且,一個算術(shù)操作產(chǎn)生一個運(yùn)算結(jié)果扰法,一個邏輯操作產(chǎn)生一個判決蛹含。
(2)控制器:控制器由程序計(jì)數(shù)器、指令寄存器塞颁、指令譯碼器浦箱、時序發(fā)生器和操作控制器等組成,是發(fā)布命令的“決策機(jī)構(gòu)”祠锣,即協(xié)調(diào)和指揮整個微機(jī)系統(tǒng)的操作酷窥。
控制器主要功能有:從內(nèi)存中取出一條指令,并指出下一條指令在內(nèi)存中的位置伴网;對指令進(jìn)行譯碼和測試蓬推,并產(chǎn)生相應(yīng)的操作控制信號,以便于執(zhí)行規(guī)定的動作是偷;指揮并控制CPU拳氢、內(nèi)存和輸入輸出設(shè)備之間數(shù)據(jù)流動的方向。
微處理器內(nèi)通過內(nèi)部總線把ALU蛋铆、計(jì)數(shù)器馋评、寄存器和控制部分互聯(lián),并通過外部總線與外部的存儲器刺啦、輸入輸出接口電路聯(lián)接留特。外部總線又稱為系統(tǒng)總線,分為數(shù)據(jù)總線DB玛瘸、地址總線AB和控制總線CB蜕青,通過輸入輸出接口電路,實(shí)現(xiàn)與各種外圍設(shè)備連接糊渊。
(3)主要寄存器主要包括累加器右核、數(shù)據(jù)寄存器、指令寄存器渺绒、指令譯碼器贺喝、程序計(jì)數(shù)器以及地址寄存器菱鸥。
其中,累加器A是微處理器中使用最頻繁的寄存器躏鱼。在算術(shù)和邏輯運(yùn)算時它有雙功能:運(yùn)算前氮采,用于保存一個操作數(shù)。運(yùn)算后染苛,用于保存所得的和鹊漠、差或邏輯運(yùn)算結(jié)果。
數(shù)據(jù)寄存器DR通過數(shù)據(jù)總線向存儲器和輸入茶行、輸出設(shè)備送(寫)或惹拧(讀)數(shù)據(jù)的暫存單元。它可以保存一條正在譯碼的指令拢军,也可以保存正在送往存儲器中存儲的一個數(shù)據(jù)字節(jié)等等楞陷。
指令寄存器ID是用來保存當(dāng)前正在執(zhí)行的一條指令。當(dāng)執(zhí)行一條指令時茉唉,先把它從內(nèi)存中取到數(shù)據(jù)寄存器中固蛾,然后再傳送到指令寄存器。當(dāng)系統(tǒng)執(zhí)行給定的指令時度陆,必須對操作碼進(jìn)行譯碼艾凯,以確定所要求的操作,指令譯碼器就是負(fù)責(zé)這項(xiàng)工作的懂傀。指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入趾诗。
程序計(jì)數(shù)器PC用于確定下一條指令的地址,以保證程序能夠連續(xù)地執(zhí)行下去蹬蚁,因此通常又被稱為指令地址計(jì)數(shù)器恃泪。在程序開始執(zhí)行前必須將程序的第一條指令的內(nèi)存單元地址(即程序的首地址)送入PC,使它總是指向下一條要執(zhí)行指令的地址犀斋。
地址寄存器AR用于保存當(dāng)前CPU所要訪問的內(nèi)存單元或I/O設(shè)備的地址贝乎。由于內(nèi)存與CPU之間存在著速度上的差異,所以必須使用地址寄存器來保持地址信息叽粹,直到內(nèi)存讀/寫操作完成為止览效。
當(dāng)CPU向存儲器存數(shù)據(jù)、CPU從內(nèi)存取數(shù)據(jù)和CPU從內(nèi)存讀出指令時虫几,都要用到地址寄存器和數(shù)據(jù)寄存器锤灿。同樣,如果把外圍設(shè)備的地址作為內(nèi)存地址單元來看的話辆脸,那么當(dāng)CPU和外圍設(shè)備交換信息時但校,也需要用到地址寄存器和數(shù)據(jù)寄存器。