章節摘要
備註總結
對程式設計師來說 cpu 是什麼
cpu 內部由暫存器,控制器,運算器和時鐘四個部分組成
有些 cpu時鐘部分在外部
程式啟動後,控制器從記憶體讀取指令和資料
程式儲存在記憶體中,cpu來執行
對程式設計師來說 cpu 是什麼
cpu是暫存器的集合體
程式是把cpu作為暫存器來描述的
機器語言要靠操作暫存器實現功能
對程式設計師來說 cpu 是什麼
機器語言指令的主要型別和功能
資料轉送指令
運算指令
跳轉指令
call/return指令
無論多複雜的程式,最終都要靠
這幾類簡單的指令來實現效果
資料是用二進位制表示的
所有位都是1的二進位制數,十進位制就是 -1
知識點資料是用二進位制表示的
位元組是基本單位,位是最小單位
八位乙個位元組
資料是用二進位制表示的
將二進位制數的值取反後加1的結果,和原來的值相加等於0
1 = 0000 0001
-1 = 1111 1111 二者相加為0
補數 = 取反加1
計算機進行小數運算時出錯的原因
二進位制0.1表示十進位制的0.5
小數點後一位的位權是 2-1 = 0.5
計算機進行小數運算時出錯的原因
浮點數是用符號,尾數,基數,指數四部分表示小數的
double 雙精度, float 單精度
熟練使用有稜有角的記憶體
記憶體的物理機制很簡單:電源,位址訊號,資料訊號,控制訊號
熟練使用有稜有角的記憶體
資料型別表示儲存的是何種型別的資料
存記憶體角度:資料型別就是占用的記憶體大小
相同的記憶體資料 eg 00110011
具體表示的資料不一定相同
熟練使用有稜有角的記憶體
陣列是使用記憶體的基本
因為陣列和記憶體的物理結構是一樣的
棧,佇列均是通過陣列實現
熟練使用有稜有角的記憶體
鍊錶可以方便追加和刪除元素
熟練使用有稜有角的記憶體
二叉查詢樹是由鍊錶構造發展而來的
乙個節點有兩個指向即可
記憶體和磁碟的親密關係
記憶體:利用電流實現儲存
磁碟:利用磁效應實現儲存
記憶體高速**,磁碟低速廉價
磁碟分為兩類,
一類是硬碟,一類是軟盤。
記憶體和磁碟的親密關係
磁碟快取時指把磁碟中讀取的資料儲存到記憶體空間中的方式
實際上占用的是記憶體空間
記憶體和磁碟的親密關係
虛擬記憶體是把此磁碟的一部分當做記憶體使用
實際上是磁碟
記憶體和磁碟的親密關係
dll(dynamic link library)檔案實現函式共有
可以提高記憶體效率
記憶體和磁碟的親密關係
windows乙個扇區是512位元組,簇是扇區的整數倍
不同的檔案不能儲存在同一簇中
檔案不管多小,都會占用一簇的空間
親自嘗試壓縮資料
ele(run length encoding) 資料*重複次數 的壓縮方法
缺點是不適於重複度小的資料型別,例如文字
親自嘗試壓縮資料
哈弗曼演算法能夠大幅提公升壓縮比率
程式是在何種環境中執行的
執行環境 = 作業系統 + 硬體
程式是在何種環境中執行的
機器語言的程式成為本地**
程式是在何種環境中執行的
windows克服了除 cpu 之外的硬體差異
1 windows 可以統一管理輸入,輸出,內從等
2 windows 是有對應特定 cpu 要求的
程式是在何種環境中執行的
應用程式向作業系統傳遞指令的途徑成為api
從原始檔到可執行檔案
把源**轉換為本地**的程式稱作編譯器
從原始檔到可執行檔案
編譯器不僅和程式語言有關,和 cpu 的型別也是相關的
作業系統和應用的關係
具有載入和執行功能的監控程式是作業系統的原型
作業系統和應用的關係
最初的作業系統 = 監控程式 + 基本的輸入輸出程式
作業系統和應用的關係
開發時類似 printf() 這些函式的執行結果,都不是
面向硬體而是面向作業系統的.
應用程式通過 os 間接地控制硬體
作業系統和應用的關係
檔案是作業系統對磁碟媒介的抽象化
作業系統和應用的關係
windows 通過時鐘分割技術來實現多工
通過組合語言了解程式的實際構成
彙編的語法結構是 操作碼 + 運算元
通過組合語言了解程式的實際構成
在組合語言中,函式名表示的是函式所在的記憶體位址
通過組合語言了解程式的實際構成
函式的引數是通過棧來傳遞,返回值是通過暫存器來返回的
區域性變數也會利用空閒的暫存器
硬體控制方法
以埠為橋梁來實現 cpu 和外圍裝置之間的資料傳遞
硬體控制方法
dma(direct memory access),是指在不通過cpu的情況下
外圍裝置直接和主記憶體進行資料傳送
硬體控制方法
i/o埠號 irq dma 通道可以說是識別外圍裝置的3組合
讓計算機"思考"
讀《程式是怎樣跑起來的》
我們開始學習程式設計最先接觸的是vb,因為vb比較容易看到成果,簡單的 就可以實現好玩的功能。我們有邏輯,並用這種高階語言表達出來時,計算機是怎樣處理的呢,計算機內部是如何儲存傳遞資料的,讀了 程式是怎樣跑起來的 感覺以前寫的 更生動了,可以在你眼前跑來跑去了。本文先來介紹cpu是什麼。cpu 處理...
《程式是怎樣跑起來的》讀書筆記
一本比較適合對計算機零認識的人看的科普書,因為很簡單,我們快速讀完,並完成了這篇測試筆記,該筆記提取了我們認為值得了解的要點。目錄第 6 章 親自嘗試壓縮資料 第 7 章 程式是在何種環境中執行的 第 8 章 從原始檔到可執行檔案 1 通過 dll 檔案實現函式共用 2 通過呼叫 stdcall 來...
計算機是怎樣跑起來的
第一章 計算機的三大原則 一 熱身問題 1.硬體和軟體的區別?答 硬體是看得見摸得著的裝置,比如計算機的顯示器,鍵盤等等 軟體是計算機所執行的程式,即指令和資料 原則上軟體是看不到也摸不著的。2.儲存字串 中國 需要幾個位元組?答 在gbk字元編碼下,需要4個位元組。3.什麼是編碼?答 通常將為了便...