當前位置:歷史故事大全網 - 歷史上的今天 - 馮納-伊曼結構是什麽?

馮納-伊曼結構是什麽?

馮諾依曼結構(Von Neumann structure)又稱普林斯頓結構,是壹種結合了程序指令存儲器和數據存儲器的存儲器結構。程序指令的存儲地址和數據的存儲地址指向同壹個內存中不同的物理位置,所以程序指令和數據的寬度是相同的。比如Intel的8086中央處理器的程序指令和數據都是16位寬。

結構介紹:

說到計算機的發展,就不能不提到美國科學家馮·諾依曼。自20世紀初以來,物理和電子領域的科學家壹直在爭論應該用什麽樣的結構來制造可以進行數值計算的機器。人們被十進制所困擾,十進制是人類常用的計數方法。因此,在當時,發展模擬計算機的呼聲更為響亮和有力。20世紀30年代中期,美國科學家馮·諾依曼大膽提出要拋棄十進制,用二進制作為數字計算機的基礎。同時他還表示,計算程序是事先編制好的,然後計算機會按照事先制定的計算順序進行數值計算工作。

人們把這種馮·諾依曼的理論稱為馮·諾依曼架構。從EDVAC到目前最先進的計算機都采用馮諾依曼架構。所以馮·諾依曼是數字計算機之父。

人們把利用這壹概念和原理設計的電子計算機系統稱為“馮·諾曼型結構”計算機。von Norman架構的處理器使用相同的內存,並通過相同的總線進行傳輸。

內容

特性

馮·諾依曼架構處理器具有以下特點:

1:壹定有內存;

2:必須有控制者;

3.必須有壹個算術單元來完成算術和邏輯運算;

4.人機交流必須有輸入設備和輸出設備。

另外,程序和數據統壹存儲,在程序的控制下自動工作。

功能

基於馮·諾依曼架構的計算機必須具備以下功能:

向計算機發送所需的程序和數據。

必須具備長時間記憶程序、數據、中間結果和最終運算結果的能力。

能夠完成算術、邏輯運算、數據傳輸等各種數據處理。

處理結果可以根據需要輸出給用戶。

為了完成上述功能,計算機必須有五個基本部件。

?包括:

用於輸入數據和程序的輸入設備;

用於存儲程序和數據的存儲器;

用於完成數據處理的運算單元;

用於控制程序執行的控制器;

輸出裝置,輸出處理結果。

瓶頸

?將CPU和內存分開並不完美,但會導致所謂的馮諾依曼瓶頸:CPU和內存之間的流量(數據傳輸速率)與內存的容量相比是相當小的。在現代計算機中,流量與CPU的工作效率相比是非常小的。在某些情況下(當CPU需要對龐大的數據執行壹些簡單的指令時),數據流量成為了對整體效率非常嚴重的制約。當數據輸入或輸出到內存中時,CPU將處於空閑狀態。因為CPU速度和內存容量的增長速度遠遠快於雙方的流量,瓶頸問題越來越嚴重。馮·諾依曼瓶頸最早出現在1977年約翰·巴克斯獲得ACM圖靈獎的演講中。根據Bacos的說法:

"...確實有改變存儲設備的方法,比通過馮諾依曼瓶頸循環大量數據更先進。瓶頸這個詞不僅僅是對問題本身數據流的描述,更重要的是,它還是壹個智能瓶頸,將我們的思維方式限制在‘壹個字符壹個字符’的模式。這讓我們害怕思考更廣泛的概念。所以編程就變成了壹種規劃和細化馮諾依曼瓶頸的字符數據流,而大部分問題不是數據的特性,而是如何找到數據。”

CPU和內存之間的緩存解決了馮諾依曼瓶頸的效率問題。此外,分支預測器算法的建立也有助於緩解這壹問題。Bacos在1977中討論的“智能瓶頸”有了很大的改變。而Bacos對這個問題的解決沒有明顯的影響。現代的函數式編程和面向對象編程已經很少像早期的Fortran那樣執行“將大量值移入和移出內存”的操作了,但是平心而論,這些操作確實占用了計算機的大部分執行時間。

CPU的架構可以分為馮諾依曼架構和哈佛架構。

結構

有許多中央處理器和微控制器采用馮諾依曼結構。除了上面提到的Intel的8086,Intel的其他CPU,ARM的ARM7,MIPS的MIPS處理器也都采用馮諾依曼結構。

1945年,馮·諾依曼首先提出了“存儲程序”的概念和二進制原理。後來,人們把用這種概念和原理設計的電子計算機系統稱為“馮·諾依曼型結構”計算機。馮諾依曼架構的處理器使用相同的內存,通過相同的總線傳輸。

馮·諾曼架構處理器有以下特點:必須有存儲器;必須有壹個控制器;必須有壹個運算符來完成算術和邏輯運算;人機交流必須有輸入輸出設備。

哈佛結構

?哈佛結構是壹種將程序指令存儲和數據存儲分開的存儲器結構。首先CPU讀取程序指令存儲器中程序指令的內容,解碼得到數據地址,然後讀取相應數據存儲器中的數據,進行下壹步操作(通常是執行)。程序指令存儲和數據存儲的分離可以使指令和數據具有不同的數據寬度。比如微芯片公司的PIC16芯片的程序指令是14位寬,而數據是8位寬。

哈佛結構的微處理器通常具有較高的執行效率。如果將程序指令和數據指令分開組織和存儲,則下壹條指令在執行時可以提前讀取。采用哈佛架構的中央處理器和微控制器有很多,除了上面提到的Microchip的PIC系列芯片,還有摩托羅拉的MC68系列,Zilog的Z8系列,ATMEL的AVR系列和ARM的ARM9,ARM10和ARM11。

哈佛結構是指程序和數據空間的獨立架構,目的是減少程序運行時訪問內存的瓶頸。

例如,在最常見的卷積運算中,壹條指令同時取兩個操作數,在流水線處理中,還有壹個取操作。如果通過壹條總線訪問程序和數據,取和取之間會產生沖突,這對計算量大的循環的執行效率非常不利。哈佛結構基本可以解決取索引和取數的沖突。對另壹個操作數的訪問只能采用增強的哈佛結構,比如像TI壹樣,再次拆分數據區,增加壹組總線。或者像AD壹樣,采用指令緩存,可以在指令區存儲部分數據。

在DSP算法中,最大的任務之壹就是與存儲器交換信息,包括采樣數據、濾波器系數和程序指令作為輸入信號。舉個例子,如果妳把內存中存儲的兩個數相乘,妳需要從內存中取出三個二進制數,也就是兩個要相乘的數和1個描述如何做的程序指令。DSP內部結構壹般是哈佛結構,片上至少有四組總線:程序數據總線、程序地址總線、數據數據總線、數據地址總線。程序總線和數據總線的這種分離允許同時獲取指令字(來自程序存儲器)和操作數(來自數據存儲器)而沒有相互幹擾。這意味著指令和操作數可以在壹個機器周期內同時準備。有些DSP芯片還包含其他總線,比如DMA總線,可以在單個周期內完成更多的工作。這種多總線結構就像是在DSP內部架起了壹條四通八達的高速公路,保證了運算單元能夠及時得到所需的數據,提高了運算速度。所以對於DSP來說,內部總線就是壹種資源。總線越多,功能就越復雜。SuperHarvard架構(縮寫為SHARC)是在Harvard架構的基礎上增加了指令緩存和特殊的I/O控制器。

哈佛架構處理器有兩個明顯的特點:使用兩個獨立的內存模塊分別存儲指令和數據,每個內存模塊不允許指令和數據共存;兩條獨立的總線被用作CPU和每個存儲器之間的專用通信路徑,並且兩條總線之間沒有相關性。

?改進的哈佛結構具有以下結構特點:為了實現並行處理;它有獨立的地址總線和獨立的數據總線。公共地址總線用於訪問兩個存儲模塊(程序存儲模塊和數據存儲模塊),公共數據總線用於完成程序存儲模塊或數據存儲模塊與CPU之間的數據傳輸。

  • 上一篇:緊急。!歷史論文。關於中醫的發展。
  • 下一篇:河南固始屬於河南省的哪個市?
  • copyright 2024歷史故事大全網