寫在前面的
下面是流水賬,有閑情的看看,讀書感受來到;等不及的打開傳送門吧。《妙趣橫生的虛擬存儲器》
流水賬
計算機要處理的數據大多會先暫存到高速緩沖區或者內存中,如果內存的容量都無法滿足要求的時候,就會把額外的代碼數據存儲到硬盤當中(硬盤容量很大)。所以cpu是以高速緩沖區作為緩存,而高速緩存又以內存作為緩存,內存又以硬盤做為緩存,這里所說的“作為緩存”是指當層次的存儲容量超額的情況下,把多余的代碼數據先存放到下一級層次的存儲器中,也就是當前層次以下一層次的存儲器作為緩存。
比如:CPU中的最高速的存儲器就是寄存器了,寄存器的數量有限吧,存儲的容量也是非常有限,所以寄存器中的數據可能會在不夠的用情況下先存儲在高速緩沖區中,等需要的時候再取出。
以前在自己買計算機內存和硬盤的時候,搞不清楚他們是怎么回事,硬盤吧三百G,內存吧2G,都是G,干嘛還要那么小的“2G的內存”。后來知道了,內存是高速的,比如計算機需要執行一個程序都會把這個程序所需要的東西都先放到內存當中。可是疑問又來了,我經常玩幾個G的游戲,dnf,qq飛車,left4dead2#¥%¥#%#¥%,這些游戲需要的運存應該不僅僅2G吧,再加上系統本來需要的只有2個G的情況下,整個系統不應該崩掉了,內存吃緊嘛。
學習了《計算機組成原理》,遇到了一個很牛的老師,說牛是因為他說他可以設計CPU,O__O"…,所以整個學期大部分的時間都花在了所謂的“CPU設計”上,三生有幸啊...不過悲催的是其他的東西他講的比較少,因此上面的問題在這門課程當中沒有得到解決。
《深入理解計算機系統》,大一的時候就買來了,一直束之高閣,是因為零基礎看了前兩章,實在惡心,那么多的“0101串”。大二寒假閑來無事,帶了本《算法導論》和它回家過年,本來不喜歡數學,所以對導論不感冒,雖然明知道不喜歡也要學好的東西。於是,把主要的精力都放在《深入理解》上,因為《組成原理》的基礎,所以看了下去。
閱讀的過程當中,經常發出“啊”,“哇”,“wakao”,“屌爆了”的感嘆...個人特別喜歡程序的機器級表示,存儲器層次結構,虛擬存儲器,鏈接這些部分。程序的機器級表示把主要的篇幅放在c代碼和匯編代碼的一一對應上,比如c中基本的語法結構switch,while,for(etc)和對應匯編代碼,閱讀匯編代碼有助於日常編程中避免代碼中隱含的低效率;
存儲器層次結構介紹了各級存儲器上如何協同工作的,后部分還重點提了高速緩沖存儲器和與其相關的代碼優化細節;
鏈接部分也把從最原始的c或者匯編代碼到cpu執行程序的過程描述的淋漓盡致,原來一個altf7(vs2008的編譯快捷鍵)和f7(vs2008的鏈接快捷鍵)里面藏了那么多的細節的東西;
虛擬存儲器就更不用說了,具體看另一篇文章,是個人感觸最深的,發人深省。
學計算機的我經常抱着厚厚的本書,如果是經典的,會一字一句的讀下去,幾乎理解每一個部分。但發現即便當時閱讀時候,覺得某某部分經典,在讀完過后一段時間很容易忘記那一部分,即便自己還很清楚,這一部分作者講的很經典。所以,讀書的時候切勿囫圇吞棗,必要的時候做做讀書筆記,寫下自己的理解。
有大牛跟我說過,當你發現一本書寫的非常不錯而且很適合你的時候,那么該是你認真的時候了。因為在以后你幾乎沒有機會回頭看那本書。這一點我非常有感觸,所以每一本機經可以說都是生命中的過客,當你與之際遇之時,好好領略領略它的魅力,切勿囫圇吞棗,因為沒有什么比時間更重要了。^_^加油,各位。
本文完。Wednesday, March 14, 2012