挑戰408——組成原理(1)——看看我們要學什麼

計算機的發展歷程

我一直覺得,要想深入理解,學習一門課程,就必須瞭解一下它的發展史,尤其是計算機發展對比其他的專業來說可以說是相當的晚了。才100多年曆史。所以有機會我一定要好好看看這100年計算機都發生了什麼。 言歸正傳。世界上第一臺計算機是1946年在美國誕生的ENIAC。1945年,馮諾依曼提出了存儲程序的思想:必須將事先編好的原始程序和數據一同送入主存後,才能執行程序,一旦程序被執行,計算機能在無須人工操作的干預下,自動完成逐條取出指令,並執行的任務。 1965年,Intle公司的締造者Gordon提出,“微芯片上的集成的晶體管數目,每三年番2倍”的規律,這就是著名的摩爾定律。

硬件發展帶來的問題

微處理器的發展,幾乎每3年,處理器的性能就提高4—5倍,但計算機上的一些其他部位性能提高的速度達不到該水平 。影響不同部件性能不匹配的主要處理因素爲CPU與主存間接口和CPU與外設的接口問題,具體體現在: - CPU與主存之間:是整個計算機最重要的通路,負責在主存和處理器之間傳送指令和數據。試想如果與CPU之間的數據傳送跟不上CPU的要求,那麼CPU就會處於等待狀態。一般的我們採取如下方式進行處理: - 加寬數據總線的寬度(道路太擠,擴寬一下) - 在兩者之間設置高速緩存(Cache,先給CPU提前準備好原料),並發展爲片內緩存和分級緩存。 - 利用高速連接總線和分層總線,來緩衝和分流數據。以提高處理器與存儲器之間的連接寬帶。 - CPU與外設之間的接口:常見的處理方式: - 加入緩衝機制 - 用高速互連總線以及更快的總線結構來解決。
這些問題都是硬件發展中帶來的問題,也是這門課程重點討論的問題。下面介紹一下軟件的發展歷程。個人認爲僅做了解即可。

軟件的發展

軟件技術的發展主要體現在編程語言之間的進步。編程語言大致經歷瞭如下的階段: 機器語言(0 1 代碼)——>彙編語言(與機器語言對應)——>高級語言(C++,JAVA)而高級語言不能直接運行,而是需要由程序翻譯成機器語言,所以將高級語言程序翻譯爲機器語言程序的軟件,稱爲翻譯程序。而翻譯程序又根據翻譯形式的不同,分爲兩種形式: - 編譯程序:先把所有的程序都全部翻譯完,再執行 - 解釋程序:翻譯一次,執行一次,邊翻譯邊執行

計算機系統的層次結構

先上圖:
在這裏插入圖片描述
說白了,這個體系就分爲兩個部分,軟件範圍(M4 - M 2)和硬件範圍(M1-M0).而軟件與硬件之間需要有一個橋樑,以便軟件和硬件能相互合作,交互。這個橋樑位於 M2和M1之間,這個橋樑稱爲指令集體結構(ISA)。也就是說,軟件與硬件的交互是通過指令來進行的。
典型的馮諾依曼體系結構及其特點
在這裏插入圖片描述

  1. 機器以運算器爲中心。I/O設備與存儲器之間的數據傳送通過運算器完成 2. 計算機由運算器,控制器,存儲器,I/O設備 五大部件組成。 3. 指令和數據地位相同,按地址訪問,按順序存放
    PS:這門課程就是以2爲主線,講解計算機的組成原理的。

計算機軟件的分類

一般的我們將計算機軟件分爲:系統軟件和應用軟件。其中系統軟件包括操作系統,數據庫管理系統,語言處理系統等等。

計算機的性能指標

機器字長:指CPU一次能處理的數據的位數。字長越長,數的表示範圍越大,精度越高
存儲容量:包括主存和輔存容量。具體的到講了存儲器再說。
運算速度:
MIPS:單位時間內執行指令的平均條數
CPI:執行一條指令所需要的時鐘週期
FLOPS:每秒的浮點數運算的次數
最常見的問題:指令和數據如何區分?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章