哈佛結構是,資料和**分開存在。
馮諾依曼結構是在哈佛結構之後提出的,馮諾依曼提出「**本身也是一種資料」,解決了哈佛結構的乙個問題——匯流排暫用資源太多。
馮諾依曼結構是,資料和**放在一起。
首先,通過bios(uboot)將硬碟(flash)中的程式(資料和**),全部拷貝到ram。所以此時
ram內部會分為多個段——**段,date段,bss段等等。這樣相比哈佛結構,就節省了一套外部的資料匯流排和位址匯流排。
但是這樣也會帶來的壞處——速度變慢了。本來資料和**是分開儲存的,他們分別對應「兩條高速通道」。現在,資料和**都放在一起對應「一條高速通道」。
而隨著半導體工業的發展,很多東西可以整合到晶元內部。在晶元內部走線比在pcb外部走線成本要低出很多。
也就是說,哈佛結構很適合被設計到晶元內部。而馮諾依曼結構仍然存在於晶元外部。
於是乎,便出現了現在的馮諾依曼和哈佛結構並存的混合式結構:
這種結構就是目前arm的結構,將兩種結構揚其長,避其短。其中,晶元內部的cache,表示快取記憶體(cache一詞據說來自法語,難道cache是法國人發明的?哈哈。)dcache用來快取部分**,icache用來快取部分資料。只有需要改變時,cache才會到ram中載入新的資料。所以大部分時間cpu都是通過哈佛結構和cache(快取記憶體)通訊,這個速度是非常快的~~
這樣在晶元外部,利用馮諾依曼結構,節省了外部的pcb走線資源。
在晶元內部,利用哈佛結構提高了cpu訪問資料的速度。可謂是兩全其美~~
馮諾依曼結構和哈佛結構
哈佛結構是,資料和 分開存在。馮諾依曼結構是在哈佛結構之後提出的,馮諾依曼提出 本身也是一種資料 解決了哈佛結構的乙個問題 匯流排暫用資源太多。馮諾依曼結構是,資料和 放在一起。首先,通過bios uboot 將硬碟 flash 中的程式 資料和 全部拷貝到ram。所以此時 ram內部會分為多個段 ...
馮諾依曼結構和哈佛結構
為什麼要提程式與資料呢,因為兩大架構的主要區別就是在cpu對程式與資料的訪問和儲存方面。程式和資料存放在外存中,當被用到時,被載入到記憶體中,程式和資料共用乙個儲存空間,程式指令儲存位址和資料儲存位址指向同乙個儲存器的不同物理位置。處理器cpu在執行任何指令時,都要先從儲存器中取出指令解碼,再取出資...
馮諾依曼結構和哈佛結構
1 哈佛結構是,資料和 分開存在 2 馮諾依曼結構是在哈佛結構之後提出的,馮諾依曼提出 本身也是一種資料 解決了哈佛結構的乙個問題 匯流排暫用資源太多。馮諾依曼結構是,資料和 放在一起 首先,通過bios uboot 將硬碟 flash 中的程式 資料和 全部拷貝到ram。所以此時 ram內部會分為...