回覆列表
  • 1 # 使用者9757511859958

    它的基本結構特徵是“共享資料和序列執行”的計算機模型。按照這種結構,程式和資料放在共享儲存器內,CPU取出指令和資料進行相應的計算,因此CPU與共享儲存器間的資訊通路成為影響系統性能的“瓶頸”。多年來在平行計算機結構及處理的研究已經取得了很多成果,如陣列機、流水機、向量機等,使計算速度有了很大提高,但就本質上仍無法克服馮·諾依曼機結構上的缺陷。  隨著計算機發展,人們除了繼續對命令式語言進行改進外,提出了若干非馮·諾依曼型的程式設計語言,並探索了適合於這類語言的新型計算機系統結構,大膽地脫離了馮·諾依曼原有的計算機模式,尋求有利於開發高度並行功能的新型計算機模型,例如光子計算機(光處理器利用光的高速和無干擾性,使用光學元件構成處理器。尚在研發中),平行計算機、資料流計算機以及量子計算機等。

    說法一

      傳統的馮·諾依曼型結構屬於控制驅動方式。它是以命令式語言為物件,指令的執行次序受指令計數器的控制,因而指令是序列執行的。也就是說有指令控制器控制指令執行的次序和時機,當它指向某條指令時才驅動該條指令的執行。這種結構特點是“程式儲存,共享資料,順序執行”。計算中有一條單一的控制流從一條指令傳到下一條指令(由指令計數器PC提供,執行K、K+1、……指令),執行指令所需要的運算元透過指令中給定的地址來訪問,指令執行結果也透過地址存入一個共享的儲存器中。並行控制流模型,採用運算子Fork和Join來顯式地表示並行性,它允許在同一時刻有幾個控制流同時活動。並行控制流模型中,關鍵技術之一是要有相應的同步手段(如Join運算子)來處理資料的相關性。  並行控制流計算機雖然擺脫了傳統計算機單一控制流束縛,但它仍然存在以下兩個缺點:  (1)通常要用程式計數器PC來指明指令的執行過程。  (2)透過訪問一個共享的儲存器在指令之間傳送資料。  針對“控制驅動”方式對平行計算的限制,20世紀70年代以來,提出了下面多種與馮·依曼型計算機截然不同的新概念模型的系統結構。

    說法二

      由於傳統馮.諾依曼計算機體系結構天然所具有的侷限性,從根本上限制了計算機的發展。  (1)採用儲存程式方式,指令和資料不加區別混合儲存在同一個儲存器中,(資料和程式在記憶體中是沒有區別的,它們都是記憶體中的資料,當EIP指標指向哪 CPU就載入那段記憶體中的資料,如果是不正確的指令格式,CPU就會發生錯誤中斷. 在現在CPU的保護模式中,每個記憶體段都其描述符,這個描述符記錄著這個記憶體段的訪問許可權(可讀,可寫,可執行).這最就變相的指定了哪個些記憶體中儲存的是指令哪些是資料)  指令和資料都可以送到運算器進行運算,即由指令組成的程式是可以修改的。  (2)儲存器是按地址訪問的線性編址的一維結構,每個單元的位數是固定的。  (3)指令由操作碼和地址組成。操作碼指明本指令的操作型別,地址碼指明運算元和地址。運算元本身無資料型別的標誌,它的資料型別由操作碼確定。  (4)透過執行指令直接發出控制訊號控制計算機的操作。指令在儲存器中按其執行順序存放,由指令計數器指明要執行的指令所在的單元地址。指令計數器只有一個,一般按順序遞增,但執行順序可按運算結果或當時的外界條件而改變。  (5)以運算器為中心,I/O裝置與儲存器間的資料傳送都要經過運算器。  (6)資料以二進位制表示。  從本質上講,馮.諾依曼體系結構的本徵屬性就是二個一維性,即一維的計算模型和一維的儲存模型,簡單地說“儲存程式”是不確切的。而正是這二個一維性,成就了現代計算機的輝煌,也限制了計算機的進一步的發展,真可謂“成也馮,敗也馮”。  馮·諾依曼計算機的軟體和硬體完全分離,適用於作數值計算。這種計算機的機器語言同高級語言在語義上存在很大的間隔,稱之為馮.依曼語義間隔。造成這個差距的其中一個重要原因就是儲存器組織方式不同,馮·諾依曼機儲存器是一維的線性排列的單元,按順序排列的地址訪問。而高階語言表示的儲存器則是一組有名字的變數,按名字呼叫變數,不考慮訪問方法,而且資料結構經常是多維的(如陣列,表格)。另外,在大多數高階語言中,資料和指令截然不同,並無指令可以像資料一樣進行運算操作的概念。同時,高階語言中的每種操作對於任何資料型別都是通用的,資料型別屬於資料本身,而馮.諾依曼機的資料本身沒有屬性標誌,同一種操作要用不同的操作碼來對資料加以區分。這些因素導致了語義的差距。如何消除如此大的語義間隔,這成了計算機面臨的一大難題和發展障礙。  馮.諾依曼體系結構的侷限嚴重束縛了現代計算機的進一步發展,而非數值處理應用領域對計算機效能的要求越來越高,這就亟待需要突破傳統計算機體系結構的框架,尋求新的體系結構來解決實際應用問題。目前在體系結構方面已經有了重大的變化和改進,如平行計算機、資料流計算機以及量子計算機、 DNA計算機等非馮計算機,它們部分或完全不同於傳統的馮.諾依曼型計算機,很大程度上提高了計算機的計算效能。

    必須看到,傳統的馮·諾依曼型計算機從本質上講是採取序列順序處理的工作機制,即使有關資料已經準備好,也必須逐條執行指令序列。而提高計算機效能的根本方向之一是並行處理。因此,近年來人們謀求突破傳統馮·諾依曼體制的束縛,這種努力被稱為非諾依曼化。對所謂非諾依曼化的探討仍在爭議中,一般認為它表現在以下三個方面的努力。   (1)在馮·諾依曼體制範疇內,對傳統馮·諾依曼機進行改造,如採用多個處理部件形成流水處理,  依靠時間上的重疊提高處理效率;又如組成陣列機結構,形成單指令流多資料流,提高處理速  度。這些方向已比較成熟,成為標準結構;   (2)用多個馮·諾依曼機組成多機系統,支援並行演算法結構。這方面的研究目前比較活躍;   (3)從根本上改變馮·諾依曼機的控制流驅動方式。例如,採用資料流驅動工作方式的資料流計算  機,只要資料已經準備好,有關的指令就可並行地執行。這是真正非諾依曼化的計算機,它為並  行處理開闢了新的前景,但由於控制的複雜性,仍處於實驗探索之中。

      使用兩個獨立的儲存器模組,分別儲存指令和資料,每個儲存模組都不允許指令和資料並存,以便實現並行處理;

      具有一條獨立的地址匯流排和一條獨立的資料匯流排,利用公用地址匯流排訪問兩個儲存模組(程式儲存模組和資料儲存模組),公用資料匯流排則被用來完成程式儲存模組或資料儲存模組與CPU之間的資料傳輸;

      兩條匯流排由程式儲存器和資料儲存器分時共用

      在典型情況下,完成一條指令需要3個步驟,即:取指令、指令譯碼和執行指令。從指令流的定時關係也可看出馮.諾曼結構與哈佛結構處理方式的差別。舉一個最簡單的對儲存器進行讀寫操作的指令,指令1至指令3均為存、取數指令,對馮.諾曼結構處理器,由於取指令和存取資料要從同一個儲存空間存取,經由同一匯流排傳輸,因而它們無法重疊執行,只有一個完成後再進行下一個。

      如果採用哈佛結構處理以上同樣的3條存取數指令,如下圖所示,由於取指令和存取資料分別經由不同的儲存空間和不同的匯流排,使得各條指令可以重疊執行,這樣,也就克服了資料流傳輸的瓶頸,提高了運算速度。

      哈佛結構強調了總的系統速度以及通訊和處理器配置方面的靈活性。

      TI 公司DSP採用的改進型哈佛結構其改進之處在於 在資料匯流排和程式匯流排之間進行區域性的交叉連線。這一改進允許資料存放在程式儲存器中,並被算術運算指令直接使用,增強了晶片的靈活性。只要排程好兩個獨立的匯流排就可使處理能力達到最高,以實現全速執行。改進的哈佛結構還可使指令儲存在快取記憶體器中(Cache),省去了從儲存器中讀取指令的時間,大大提高了執行速度。

  • 中秋節和大豐收的關聯?
  • 發明蒸汽機的人是誰?