“計算機組成原理” 這門課講的是計算機硬件基礎。內容圍繞馮諾依曼體系結構的計算機展開,介紹了計算機的功能部件、運行原理、設計思想等知識。例如計算機的功能部件有:運算器、控制器、存儲器、輸入設備、輸出設備。各種設備通過總線連接交換數據。 它的核心思想有二進制邏輯、存儲程序和程序控制等。計算機使用二進制邏輯有很多好處,利于數據的傳輸、儲存、表示。例如用高電平表示1,用低電平表示0。由此可以建立數字邏輯系統,用簡單的物理元件組合表示更復雜的運算和處理。把指令和數據都存放在存儲器中,然后根據指令的地址取出指令,經過譯碼產生不同的控制信號,實現對計算機的控制,完成指令的功能。把存儲器里的信息分為指令和數據是很有必要的。指令就是指揮機器工作的指示和命令,程序就是一系列按一定順序排列的指令,執行程序的過程就是計算機的工作過程。數據是被操作的內容。指令和數據之間既有區別也有聯系,指令可以當做數據,數據也可以當做指令。這樣就能在機器內編程,程序能在不同機器間復制。
我認為這門課是計算機所有課程中最重要的一門。它應用離散數學、數字電路的知識設計了一臺模擬人類計算思維的機器,為計算機軟硬件的發展奠定了基礎。如果這門課學不會,你都不好意思說自己是計算機系的本科生,因為你連計算機的運行原理都搞不懂。然而基礎并不代表簡單,現實情況是大多數學生都學的一知半解。離散數學不會、數字電路不懂,那你學這個干啥?現在互聯網應用這么火,報個培訓班6個月速成帶項目,來錢快得很。很多人為了搞錢都不愿意學這么基礎的內容了,什么火就學什么,真是教育的悲哀。
學這門課程有什么用呢?如果你做硬件,這是最基礎的入門知識,簡單得不能再簡單了。如果你做軟件,這個好像確實沒什么用,工作中一般用不到這么底層的知識。但作為一個計算機專業的本科生,你要知道它的運行原理是什么、它是如何工作的、它是怎么設計出來的。
我想這就是本科教育的意義所在。你不僅要學工作有關的內容,還要有相關的行業背景知識。對于同一個問題,你比別人思考的更廣泛、更深入;對于同一個技術,你可以預見它的發展趨勢、成敗興衰。無論是你的視野還是見解都得到了質的提升。
大學本科四年學60門課,畢業后忘記了怎么辦?普通人的記憶力是很差的,頂多掌握6-7門課吧。有些課程是不能忘記的,永久記憶 和靈活運用是必要條件。有些課程糊弄過去算了,反正以后也用不上。
學習不易,共勉。