- 基于STM32的嵌入式系統應用
- 孫光
- 746字
- 2020-06-12 16:18:23
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處理器。
- Intel FPGA/CPLD設計(基礎篇)
- 新媒體跨界交互設計
- Augmented Reality with Kinect
- 電腦常見問題與故障排除
- 電腦組裝、維護、維修全能一本通(全彩版)
- 超大流量分布式系統架構解決方案:人人都是架構師2.0
- Python Machine Learning Blueprints
- FL Studio Cookbook
- Angular 6 by Example
- 微控制器的應用
- FPGA實戰訓練精粹
- Applied Deep Learning with Keras
- Spring Cloud微服務架構開發
- Arduino+3D打印創新電子制作2
- 實戰Alibaba Sentinel:深度解析微服務高并發流量治理