新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > MCS-51單片機底層工作原理分析2——總線結構

        MCS-51單片機底層工作原理分析2——總線結構

        作者: 時間:2016-11-25 來源:網絡 收藏
        了解了單片機內部的大致工作原理之后,我們或許對單片機如何讀取指令代碼和數據的過程存在一定的疑問,這就是總線系統。51單片機內部有三大塊總線系統AB,CB,DB即地址總線,控制總線和數據總線。51系統式的存儲形式是采用普林斯頓結構(馮·諾依曼結構)的,即數據和代碼存放在重疊地址通過不同的控制總線控制不懂的物理存儲位置讀寫。馮·諾依曼結構代碼和數據是公用數據和地址端口的所以在執行程序的時候必須先讀取指令,然后再讀取數據這相對于哈弗結構來說,在一定程度上限制了程序的執行速度。借助下圖可以適當說明一下馮諾依曼結構程序和數據的存儲方式。外部ROM和RAM都是通過P2和P0作為地址輸出,P0作為數據或者代碼輸入。通過CB開控制是讀取代碼,還是讀寫RAM。由于很多資源是公用的所以在執行速度上會受到一定的限制。


        馮諾依曼結構圖

        本文引用地址:http://www.104case.com/article/201611/321409.htm

        這里值得注意的是,上圖是馮諾依曼的結構圖,也是51單片機典型的外部存儲器(包括程序存儲器ROM和數據存儲器RAM)擴展電路。擴展程序存儲器和數據存儲器唯一不同點是通過CB(Control BUS控制總線)控制時序的不同實現對不同存儲器的操作。P0口為了滿足地址/數據總線復用的功能,其內部具有和其他端口不同的結構。P0在作為地址輸出時是具有‘0’,‘1’輸出的,而且驅動能力比較強,在作為數據讀入的時候是呈現高阻態的。

        對于哈佛結構程序指令和數據指令分開組織和存儲的,執行時可以預先讀取下一條指令。在最簡單的只有一級流水線的執行條件下,程序在讀取本條指令的時候可以同時預取下調指令的數據,這樣在執行速度會有一定的提高。

        哈佛結構圖



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 科技| 武山县| 洮南市| 邓州市| 靖江市| 谢通门县| 濮阳县| 黄大仙区| 甘孜| 太仆寺旗| 洪泽县| 含山县| 濮阳县| 金乡县| 栾川县| 定安县| 当阳市| 望江县| 吉安市| 枞阳县| 浮山县| 达孜县| 莱芜市| 江永县| 牡丹江市| 托克逊县| 浦县| 大同市| 石渠县| 永济市| 宾阳县| 华阴市| 绥滨县| 永顺县| 瑞丽市| 于田县| 榆中县| 左贡县| 西安市| 六盘水市| 永靖县|