本文多數內容源自coolshell.com 和 norvig.com
只是在此做了摘要和精簡。^_^
喬叟(chaucer,英國詩人,1340-1400)曾抱怨說:
「生命如此短暫,掌握技藝卻要如此長久。」
the lyf so short, the craft so long to lerne.
——前言
請務必記住在「電腦科學」這個片語裡包含的「計算機」這個詞。
最好了解你的計算機執行一條指令要多長時間,
從記憶體中取乙個word要多長時間(包括快取命中和未命中的情況),
從磁碟上讀取連續的資料要多長時間,定位到磁碟上的新位置又要多長時間等。
execute typical instruction
1/1,000,000,000 sec = 1 nanosec
fetch from l1 cache memory
0.5 nanosec
branch misprediction
5 nanosec
fetch from l2 cache memory
7 nanosec
mutex lock/unlock
25 nanosec
fetch from main memory
100 nanosec
send 2k bytes over 1gbps network
20,000 nanosec
read 1mb sequentially from memory
250,000 nanosec
fetch from new disk location (seek)
8,000,000 nanosec
read 1mb sequentially from disk
20,000,000 nanosec
send packet us toeurope and back
150 milliseconds = 150,000,000 nanosec
計算機加電後執行的第一條指令
第一步 當我們按下電源開關時,電源就開始向主機板和其它裝置供電,此時電壓還不太穩定,主機板上的控制晶元組會向cpu發出並保持乙個reset 重置 訊號,讓cpu內部自動恢復到初始狀態,但cpu在此刻不會馬上執行指令。當晶元組檢測到電源已經開始穩定供電了 當然從不穩定到穩定的過程只是一瞬間的事情 它便...
關於計算機執行的理解
不管是什麼結構,計算機歸根結底的任務就是計算。複雜到天氣預報,矩陣分解,mapreduce或者編輯乙個文件等任何操作,最終都會轉換成為二進位制計算 與門或門非門計算。現在計算機關心的是如何把這些巨複雜的計算機人物化簡轉化為二進位制操作。現在計算機為了實現這個功能,才用了馮諾依曼結構。為了永久儲存,需...
第四節 計算機執行指令的過程
1.取指 fetch 1 控制器將指令的位址送往儲存器 2 儲存器按給定的位址讀出指令內容,送回控制器 具體過程描述 一共是7個步驟 a 控制器會將pc中的指令通過內部匯流排傳輸到mar中 b 然後mar會將控制指令傳輸到位址匯流排上,與此同時控制電路會在控制匯流排上發出相應的控制訊號,代表此次訪問...