目前不同廠家的單片機都採用什麼架構?

嵌入式小玩家


單片機採用的架構主要有兩種:哈佛結構和馮諾依曼結構。

一、哈佛結構

哈佛結構是一種將程序指令存儲和數據存儲分開的存儲器結構。哈佛結構是一種並行體系結構。它的主要特點是將程序和數據存儲在不同的存儲空間中,每個存儲器獨立編址、獨立訪問。與兩個存儲器對應的是系統的4條總線:程序的數據總線與地址總線、數據的數據總線與地址總線。這種分離的程序總線和數據總線允許在一個機器週期內同時獲得指令字(來自程序存儲器)和操作數(來自數據存儲器),從而提高了執行速度,進而提高了數據的吞吐率。

哈佛結構的單片機通常具有較高的執行效率,其程序指令和數據指令分開組織和存儲,執行時可以預先讀取下一條指令。

二、馮諾依曼結構

馮諾依曼結構是在哈佛結構之後提出的,馮諾依曼提出“代碼本身也是一種數據”的概念,解決了哈佛結構的一個問題--總線佔用資源太多。

馮諾依曼結構是將數據和代碼放在一起的。

通過BIOS(uboot)將硬盤(FLASH)中的程序(數據和代碼)全部複製到RAM,所以此時RAM內部會分為多個段--代碼段、data段等,從而相比哈佛結構,節省了一套外部的數據總線和地址總線。

但是這樣帶來了一個副作用:速度變慢了。本來數據和代碼是分開存儲的,它們分別對應“兩條高速通道”。現在,數據和代碼都放在一起,對應“一條高速通道”。


分享到:


相關文章: