記憶體從概念上來說就是乙個很大的位元組陣列,儲存著程式和資料。程式用虛擬位址來引用記憶體位置。硬體和作業系統軟體聯合起來將虛擬位址翻譯成實際或實體地址,指明資料實際存在記憶體中哪個地方。
指令集的乙個重要性質就是位元組編碼必須有唯一的解釋。任意乙個位元組序列要麼是乙個唯一的指令序列的編碼,要麼就不是乙個合法的位元組序列
計算機中的儲存器與運算器相比,實在是速度太慢了,於是出現了儲存分層的概念。
我們知道,計算機對資料的處理,按馮諾依曼儲存程式控制的概念,程式和資料都要載入到可以定址的記憶體中,由控制器順序讀取指令,通過解碼、產生控制控制訊號,一些資料、中間結果、位址需要在暫存器中儲存起來,通過運算器運算,再將資料交換到記憶體和外部的輔助儲存系統。
3.1 原碼
用來表示無符號整數。
3.2 補碼
用來表示有符號整數。
減法可以轉換為與乙個負數的補碼的加法,如24-3相當於24+(-3)。
乘法可以轉換為加法,如24*3相當於24+24+24。
除法也可以轉換減法,再轉換為加法,如24/3相當於迴圈迴圈操作24+(-3),迴圈的次數就是商。
3.3 ieee754編碼
用來表示浮點數。
浮點數的階碼:用移碼表示,稱雄相當於原碼+e^(k-1)-1;
浮點數的尾碼:用原碼表示。
3.4 字元編碼
用整數來編碼,根據納入字元的多少,及對某些編碼方案的相容,有不同的編碼方案,如ascii、unicode、gb2312等。
輸入輸出都以檔案(位元組序列)的形式進行抽象。網路如同磁碟一樣,也是一種輸入、輸出的資料來源,網路的套接字也抽象為檔案流的概念。
深入理解計算機系統
關鍵路徑是在迴圈的反覆執行中形成的資料相關鏈。迴圈展開是一種程式變換,通過增加每次迭代計算的元素的數量,減少迴圈的迭代次數。重新結合變換能夠減少計算中關鍵路徑上操作的數量,通過更好地利用功能單元的流水線能力得到更好的效能。浮點運算不保證是可結合的,通常迴圈展開和並行地累積在多個值中,是提高程式效能的...
《深入理解計算機系統》
知乎 深入理解計算機系統 這本書需要什麼水平能看懂?15 213 18 218 15 513 introduction to computer systems schedule fall 2016 鏈結失效則 cmu15 213的課程主頁,有ppt,還有錄影,主講人就是這本書的作者。備註 備註 詳細...
深入理解計算機系統
系統的硬體組成 快取記憶體 作業系統管理硬體 程序虛擬記憶體 檔案amdahl定律 併發和並行 0和1組成的位序列,又稱為位元序列,8個位被組織成一組,成為位元組。每個位元組表示程式中的某些文字字元。系統中的所有資訊 包括磁碟檔案 記憶體中的程式 記憶體中存放的的使用者資料以及網路上傳送的資料,都是...