1 計(jì)算機(jī)系統(tǒng)不同層次上的抽象
內(nèi)存從概念上來說就是一個(gè)很大的字節(jié)數(shù)組,保存著程序和數(shù)據(jù)。程序用虛擬地址來引用內(nèi)存位置。硬件和操作系統(tǒng)軟件聯(lián)合起來將虛擬地址翻譯成實(shí)際或物理地址,指明數(shù)據(jù)實(shí)際存在內(nèi)存中哪個(gè)地方。
指令集的一個(gè)重要性質(zhì)就是字節(jié)編碼必須有唯一的解釋。任意一個(gè)字節(jié)序列要么是一個(gè)唯一的指令序列的編碼,要么就不是一個(gè)合法的字節(jié)序列
2 存儲(chǔ)層次
計(jì)算機(jī)中的存儲(chǔ)器與運(yùn)算器相比,實(shí)在是速度太慢了,于是出現(xiàn)了存儲(chǔ)分層的概念。
我們知道,計(jì)算機(jī)對(duì)數(shù)據(jù)的處理,按馮諾依曼存儲(chǔ)程序控制的概念,程序和數(shù)據(jù)都要加載到可以尋址的內(nèi)存中,由控制器順序讀取指令,通過譯碼、產(chǎn)生控制控制信號(hào),一些數(shù)據(jù)、中間結(jié)果、地址需要在寄存器中存儲(chǔ)起來,通過運(yùn)算器運(yùn)算,再將數(shù)據(jù)交換到內(nèi)存和外部的輔助存儲(chǔ)系統(tǒng)。
3 各種編碼
3.1 原碼
用來表示無符號(hào)整數(shù)。
3.2 補(bǔ)碼
用來表示有符號(hào)整數(shù)。
減法可以轉(zhuǎn)換為與一個(gè)負(fù)數(shù)的補(bǔ)碼的加法,如24-3相當(dāng)于24+(-3)。
乘法可以轉(zhuǎn)換為加法,如24*3相當(dāng)于24+24+24。
除法也可以轉(zhuǎn)換減法,再轉(zhuǎn)換為加法,如24/3相當(dāng)于循環(huán)循環(huán)操作24+(-3),循環(huán)的次數(shù)就是商。
3.3 IEEE754編碼
用來表示浮點(diǎn)數(shù)。
浮點(diǎn)數(shù)的階碼:用移碼表示,稱雄相當(dāng)于原碼+e^(k-1)-1;
浮點(diǎn)數(shù)的尾碼:用原碼表示。
3.4 字符編碼
用整數(shù)來編碼,根據(jù)納入字符的多少,及對(duì)某些編碼方案的兼容,有不同的編碼方案,如ASCII、Unicode、GB2312等。
4 輸入輸出的文件概念
輸入輸出都以文件(字節(jié)序列)的形式進(jìn)行抽象。網(wǎng)絡(luò)如同磁盤一樣,也是一種輸入、輸出的數(shù)據(jù)源,網(wǎng)絡(luò)的套接字也抽象為文件流的概念。
-End-