這本書是偶然從一位前輩的博客中得知的,當時在找關于硬盤的相關資料,然后從鏈接的鏈接中獲悉有這樣一本書,接著查看了這本書的相關介紹,便毅然決然的買了。
也許大多數人都知道,現在的電腦采用的都是經典的馮*諾伊曼體系結構,即計算機必須有一個存儲器,一個控制器,一個運算器,輸入設備和輸出設備(以方便人機交互)。但不一定都清楚為什么要有這五部分以及它們之間是如何協作的,編碼在其中到底起了什么作用。如果你有此疑問,那么通過閱讀這本書你就可以對這個問題的答案有一個簡明的了解。
計算機在我們如今的社會中是必不可少的,幾乎人手一臺(手機也算上)。在信息傳遞上可以說是革命性的。在古代,我們的信息傳遞方式有烽煙、鴻雁傳書、驛站快馬等等,需要耗費較大的人力物力,而且效率還很慢;而到了近代,則有了摩爾斯代碼(電報),傳呼機,電話等等,效率逆天,從中國到大洋彼岸的美國通話也是分分鐘的事。信息傳遞近在咫尺,觸手可得。而信息的快速傳遞又是怎樣開始的?它又是如何促進計算機的發展的?從莫爾斯代碼到布萊葉盲文,從布萊葉盲文到二進制,你可以了解到編碼其實就是信息的一種表現形式,只是不同類型的信息編碼形式不同而已。這些信息最終都可以被二進制數據表示,從而引出了計算機的“0”“1”機制,如何用“0”“1”來傳遞信息呢?請繼續往下看~
從“0”“1”可以很容易聯想到我們電路中的開關,比如,一節電池,一個燈泡,一個開關,通過導線將它們串聯起來,就能組成一個回路。打開開關,燈滅,我們可以將燈滅這個結果標為“0”,閉合開關,燈亮,可以將燈亮這個結果標為“1”。通過電路的串并聯轉換,我們可以得到很多的邏輯門電路,比如:與門,或門,非門,與或門,與非門等等,如果我們想要一個加法器,就可以先列出它的真值表,獲取它的布爾表達式,再通過化簡它的布爾表達式,得到加法器的電路,從而實現加法的功能。(這部分大學數電課本有詳細講,如有興趣,可以參考~)
當我們得到了加法器,那我們也就可以通過轉換電路得到減法器,觸發器等等,觸發器是有記憶功能的,是不是可以聯想到存儲器呢?是的,我們已經來到存儲器這里了,它是馮*諾伊曼體系結構中不可缺少的一部分,在這本書里作者通過譯碼器、鎖存器和選擇器構建了一個簡單的 64K*8 RAM 陣列,它可以存儲 65536 個 8 位數據并且讀取其中的任意一個。與此同時,還給其他部件提供了接入系統的機會,這些部件可以輕易地讀取并利用存儲器中存放的數據,還可以把數據寫入存儲器。
控制器和運算器我們可以把它們組合起來,起個新名字,叫做處理器(CPU),可以把它想象成計算機的大腦。1970 年,第一塊“計算機芯片”,或者叫做“微處理器”誕生了,它就是 Intel 4004。4004 芯片有 3 個重要的特征:
1、4004 是一個 4 位的微處理器,這意味著處理器中數據通路寬度只有 4 位;
2、4004 每秒最大時鐘頻率為 108000 周期,即 108 KHz。(時鐘頻率是指連接到微處理器并驅動它運行的振蕩器的最大頻率,超過此時鐘頻率,微處理器將不能正常工作)
3、4004 的可尋址的存儲器只有 640 字節。
如今在比較處理器性能時,常采用這三個作為衡量標準。在講到處理器時,作者詳細的對比了兩款經典的微處理器,8080 處理器和 6800 處理器。這兩個處理器都誕生于 1974 年,8080 比 6800 早4 個月,都是 8 位,8080 是英特爾公司的產品,6800 是摩托羅拉公司的產品。(這倆公司就是不兼容的鼻祖啊….不同的微處理器當然編碼特點也就不同了,你們掙錢了....苦了猿猿們….工作時好希望大一統啊==)說到這,就不得不提我們的喬幫主了,那么一個富有創新意識、特立獨行的人,1977 年,斯蒂芬*喬布斯(Steven Jobs)和史蒂芬*沃茲內卡(Stephen Wozniak)創立的蘋果計算機推出了 AppleII。AppleII 沒有使用 8080,也沒有使用 6800,而是使用了基于 MOS 技術(筆者注:制造集成電路組件的技術分兩大流派, TTL 和 COMS ,詳細內容可以參考可以大學模電)的更加便宜的 6502 芯片,這就是 6800 的改進版。1984 年蘋果首次發布 Macintosh,它采用摩托羅拉的 68000 微處理器,68000 是 6800 的下一代產品,16位。不過,喬布斯的蘋果,當然,得由自己參與核心部件開發, 從 1994 年開始,Macintosh 開始使用 PowerPC 微處理器,該處理器是由摩托羅拉,IBM 以及蘋果公司聯合開發的。不過不過,不曉得是不是自己開發的處理器不給力,如今蘋果又開始用 Intel 處理器了==
不知不覺就寫了這么多,到這里我們已經了解了存儲器和處理器,接下來就是輸入輸出了,有了輸入輸出,這臺電腦基本也就成了。我們常用的輸入設備有:鍵盤,鼠標等等;輸出最顯而易見的就是我們的顯示器啦。其實一開始顯示器都是不存在的,運算結果全在紙條上…開始時候科學家們真不容易….我們應用程序輸出的通常都是字符,很少有圖形輸出。在計算機發展史上,從字符顯示到圖形顯示是一次偉大的變革,可以想想喬幫主對圖形化界面發展的貢獻。這些東西這本書里都有拓展學習==大家可以看看....(書上講這些講得瑣碎細致,都是軟知識,,我就不重述了)
上面差不多都是關于硬件的一些總結,不過認識了二進制后,已經可以往編碼方面靠攏了,如果說硬件是身體的話,編碼就是靈魂,思想就是具體的代碼,因為思想的驅動,硬件可以產生各種反應。從 0、1 到最原始的機器語言,再到匯編,FORTRAN,ALGOL,COBOL,BASIC,C ....等等等等,程序語言越來越豐富,我們的程序也越來越精彩,實現的功能也越來越多。原書寫得非常好。
寫這么多,一是我畢竟讀完一本書,希望給它做個小總結;二是希望能給大家大概介紹下這本書,如果有需要可以找來讀讀,很科普。書真的寫的超精彩,結尾我再安利一下_