久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3964|回復: 7
打印 上一主題 下一主題
收起左側

哈佛結構和普林斯頓結構

[復制鏈接]
跳轉到指定樓層
樓主
ID:155499 發表于 2016-12-17 23:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
有大神能詳細的說下51單片機中的哈佛結構和普林斯頓結構嗎?拜托拜托!!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:155507 發表于 2016-12-18 10:05 | 只看該作者
哈佛結構是一種將程序指令存儲和數據存儲分開的存儲器結構。中央處理器首先到程序指令存儲器中讀取程序指令內容,解碼后得到數據地址,再到相應的數據存儲器中讀取數據,并進行下一步的操作(通常是執行)。程序指令存儲和數據存儲分開,可以使指令和數據有不同的數據寬度,如Microchip公司的PIC16芯片的程序指令是14位寬度,而數據是8位寬度。

目前使用哈佛結構的中央處理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,還有摩托羅拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和安謀公司的ARM9、ARM10和ARM11,51單片機也屬于哈佛結構

普林斯頓結構也稱馮·諾伊曼結構,是一種將程序指令存儲器和數據存儲器合并在一起的存儲器結構。程序指令存儲地址和數據存儲地址指向同一個存儲器的不同物理位置,因此程序指令和數據的寬度相同,如英特爾公司的8086中央處理器的程序指令和數據都是16位寬。

目前使用馮·諾伊曼結構的中央處理器和微控制器有很多。除了上面提到的英特爾公司的8086,英特爾公司的其他中央處理器、安謀公司的ARM7、MIPS公司的MIPS處理器也采用了馮·諾伊曼結構。

評論:哈佛結構和馮.諾依曼結構都是一種存儲器結構。哈佛結構是將指令存儲器和數據存儲器分開的一種存儲器結構;而馮.諾依曼結構將指令存儲器和數據存儲器合在一起的存儲器結構。
回復

使用道具 舉報

板凳
ID:155499 發表于 2016-12-19 08:40 來自手機 | 只看該作者
謝謝一樓
回復

使用道具 舉報

地板
ID:155499 發表于 2016-12-19 08:44 來自手機 | 只看該作者
我再問一下,單片機內部數據RAM128B和外擴的128B數據RAM是哈佛結構嗎
回復

使用道具 舉報

5#
ID:155507 發表于 2016-12-19 09:37 | 只看該作者
是的,單片機內部數據RAM128B和外擴的128B數據RAM是哈佛結構

關于51單片機內存問題,一直是個疑惑大家的問題,因為51單片機是個很另類的單片機。
下面我給樓主講解一下:
51單片機之所以另類,是因為,他尋址內存的空間,不是靠總線,是用指令的方式。
51單片機有以下幾個內存模塊組成:
ROM或者Flash就不說了。 訪問code是專用指令,就是單獨的從0開始編地址的。
RAM有------內部RAM的低128位(00-7F)
          -------內部RAM的高128位(80-FF)---【89C51單片機沒有這一段空間】
          -------特殊功能寄存器(SFR)(80-FF)
          ------外部RAM 64K(0000-FFFF)

樓主又疑惑了,好多地址是重復的,比如,我向80H地址寫一個數值,單片機怎么知道讀的是內部的高128位RAM?還是SFR?還是外部64K的RAM呢?

答案是用指令,如果是直接尋址,那么訪問的就是SFR,如果是R0或者R1間接尋址,就是內部高128位RAM,如果是DPTR或者是R0,R1間接尋址,且配合的是MovX指令,那么就是訪問外部64KRAM中的第80H個地址。

明白以上原理,樓主就明白了為什么地址只有8位,52卻號稱有512B,因為他的內部低128B RAM+內部高128B RAM+外部64KB RAM中的前256B,所以有512B,另外還有個SFR,但是,SFR不算是內存,這個樓主要搞清楚!
而51僅有內部低128B,所以51遠不如52高級。

那么,為什么說外部可以擴展到64K呢,因為DPTR是16位的,2的16次方是65536 = 64 KB
但是通常單片機不會用那么多內存的,所以基本外部就是256B--1024B之間,現在STC據說準備出一款4096B外部RAM的單片機。

以上所說的只是針對51內核的單片機,其他內核的,像ARM之類的,不是這種結構的。
回復

使用道具 舉報

6#
ID:155499 發表于 2016-12-20 09:10 來自手機 | 只看該作者
angmall 發表于 2016-12-19 09:37
是的,單片機內部數據RAM128B和外擴的128B數據RAM是哈佛結構

關于51單片機內存問題,一直是個疑惑大家的 ...

謝謝(*°°)=3
回復

使用道具 舉報

7#
ID:155499 發表于 2016-12-20 11:23 來自手機 | 只看該作者
angmall 發表于 2016-12-19 09:37
是的,單片機內部數據RAM128B和外擴的128B數據RAM是哈佛結構

關于51單片機內存問題,一直是個疑惑大家的 ...

那16位DPTR中的地址是怎么進來的呢,我的意思是說用于數據存儲器的接口只有8位,怎么把16位的片外地址送進來,是用其他方式嗎
回復

使用道具 舉報

8#
ID:155507 發表于 2016-12-20 18:54 | 只看該作者
數據指針(DPTR)
是一個16位的特殊功能寄存器, 其高位字節寄存器用DPH表示,低位字節寄存器用DPL表示,DPTR既可以作為一個16位的寄存器來處理,也可以作為兩個獨立的8位寄存器來使用。主要功能是存放16位地址,作為片外RAM尋址用的地址寄存器(間接尋址),故稱數據指針,也可以將外部RAM中地址的內容傳送到內部RAM的地址所指向的內容中。

DPH和DPL的地址分別為83H、82H。

8位單片機,所有的寄存器硬件上都是8位模式訪問;“所謂的的16位,都是2個8為拼起來的”

DPTR如
Mov DPTR,#1000H

把16位的片外地址送進來,分兩次送進DPL和DPH兩個8位寄存器

MOV DPL, #00H
MOV DPH, #0A0H


訪問片外數據存儲器的指令:

MOVX A,@DPTR讀
MOVX @DPTR,A寫

指令以16位DPTR為間址寄存器讀片外RAM,可以尋址整個64KB的片外空間。指令執行時,在DPH中的高八位地址由P2口輸出,在DPL中的低八位地址由P0口分時輸出,并由ALE信號鎖存在地址鎖存器中。

DPTR的另一個作用是變址尋址,訪問程序存儲器,做查表指令:如:
以dptr為基址寄存器,將dptr的內容與累加器a的內容相加得到變址地址
movc a, @a+dptr ; (a)<-----((a)+(dptr))
jmp @A+DPTR;間接轉移指令,將DPTR中的16位數和累加器A中的8位數相加,并直接送入PC,實現散轉功能。對A、DPTR和標志位無影響。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品一区在线免费观看 | 日韩电影中文字幕在线观看 | 国产精品久久久久久久免费大片 | 中文字幕亚洲免费 | 欧美成人精品欧美一级 | 久久久精品天堂 | 中文字幕在线视频一区二区三区 | 久久久久国产精品一区二区 | 日韩精品一区二区三区视频播放 | 国产综合在线视频 | 国产一区在线免费观看视频 | 精精国产xxxx视频在线 | 毛片一级片 | www国产成人免费观看视频,深夜成人网 | 国产成人网 | 欧美9999| 国产伦精品一区二区三区照片91 | 三级av在线| 国产精品久久久久久久久久久久 | 亚洲国产aⅴ精品 | 免费网站在线 | 中文欧美日韩 | 精品中文字幕在线观看 | 在线观看国产视频 | 99亚洲国产精品 | 中文字幕国产一区 | 一区福利视频 | 成年人网站国产 | 污视频在线免费观看 | 日韩一区二区久久 | 国产精品久久久久久久久大全 | 久久综合一区二区 | 人人看人人干 | 精品国产乱码久久久久久老虎 | 中文字幕二区 | 精品国产一区二区三区性色av | 日韩欧美在线一区二区 | 91亚洲精品在线观看 | www.4虎影院 国产999精品久久久影片官网 | 日韩1区| 国产精品国产成人国产三级 |