官术网_书友最值得收藏!

1.3 普林斯頓結構和哈佛結構

普林斯頓結構和哈佛結構是根據計算機的運算內核與程序存儲器和數據存儲器的不同連接方式而加以區分的兩種計算機體系結構。

普林斯頓結構也稱馮·諾伊曼結構,如圖1-2所示,它是一種將程序存儲器和數據存儲器合并在一起的計算機結構,也就是說,程序存儲器和數據存儲器共用一條地址總線和數據總線。由于程序指令存儲地址和數據存儲地址指向同一個存儲空間的不同物理位置,因此程序指令和數據的寬度相同,例如英特爾8086處理器的程序指令和數據都是16位。

圖1-2 普林斯頓結構簡化示意圖

這種程序指令和數據共享同一總線的結構,使得信息流的傳輸成為限制計算機性能提升的瓶頸,也影響了數據處理速度的提高。

使用普林斯頓結構的處理器包括英特爾公司的8086、Arm公司的Arm7、MIPS公司的MIPS處理器等。

哈佛結構是一種將程序指令存儲和數據存儲分開的計算機結構,如圖1-3所示,也就是說,程序存儲器和數據存儲器使用各自獨立的地址總線和數據總線。運算內核首先到程序存儲器中讀取程序指令內容,解碼后得到數據地址,再到相應的數據存儲器中讀取數據,并進行下一步的操作(通常是執行)。程序指令存儲和數據存儲分開,使程序指令和數據的數據寬度不同,如Microchip公司的PIC16芯片的程序指令是14位,而數據是8位。

圖1-3 哈佛結構示意圖

哈佛結構的處理器通常具有較高的執行效率,其獨立的程序總線和數據總線使處理器很容易實現流水線操作,也就是在執行當前指令時可以預先讀取下一條指令。使用哈佛結構的處理器有很多,例如Microchip公司的PIC單片機、ATMEL公司的AVR單片機和Arm公司的Arm9內核之后的處理器等,8051單片機也屬于哈佛結構。

目前的高性能處理器的發展趨勢是在芯片內部使用結構復雜、效率較高的哈佛結構,在芯片外部使用結構簡單的普林斯頓結構。

本書使用的STM32微控制器使用了Arm公司的Cortex-M3內核,是一款采用哈佛結構的RISC處理器。

主站蜘蛛池模板: 修水县| 绥化市| 江阴市| 台东市| 出国| 吉隆县| 娄烦县| 潮州市| 湖州市| 靖边县| 马鞍山市| 博白县| 隆德县| 岐山县| 和政县| 岳普湖县| 铜川市| 南宫市| 仲巴县| 和龙市| 汉源县| 崇文区| 高密市| 怀集县| 伊宁市| 连江县| 栾城县| 新泰市| 喜德县| 嘉黎县| 安岳县| 堆龙德庆县| 双城市| 喀喇沁旗| 滨州市| 司法| 新密市| 闵行区| 简阳市| 左权县| 仙居县|