軟件設(shè)計師考試 | 第一章 計算機(jī)系統(tǒng)知識 | 計算機(jī)系統(tǒng)基礎(chǔ)知識

(一)計算機(jī)系統(tǒng)硬件基本組成

計算機(jī)系統(tǒng)是由硬件和軟件組成的履植,它們協(xié)同工作來運(yùn)行程序。
計算機(jī)的硬件組成:

  • 運(yùn)算器
  • 控制器
  • 存儲器
  • 輸入設(shè)備
  • 輸出設(shè)備
計算機(jī)硬件組成

(二)中央處理單元

中央處理單元(CPU)是計算機(jī)系統(tǒng)的核心部件悄晃,負(fù)責(zé)獲取程序指令玫霎、對指令進(jìn)行譯碼并加以執(zhí)行。

1.CPU的功能

  1. 程序控制妈橄。cpu通過執(zhí)行指令來控制程序的執(zhí)行順序庶近,是cpu的重要功能。
  2. 操作控制眷蚓。cpu產(chǎn)生每條指令的操作信號并將操作信號送往對應(yīng)的部件鼻种,控制相應(yīng)的部件按指令的功能要求進(jìn)行操作。
  3. 時間控制沙热。cpu對指令執(zhí)行過程中操作信號的出現(xiàn)時間叉钥、持續(xù)時間及出現(xiàn)的時間順序都進(jìn)行嚴(yán)格控制。
  4. 數(shù)據(jù)處理篙贸。cpu對數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算及邏輯運(yùn)算沼侣。

2.CPU的組成

  1. 運(yùn)算器。是執(zhí)行部件歉秫,執(zhí)行所有的算術(shù)運(yùn)算蛾洛、邏輯運(yùn)算。
  2. 控制器雁芙≡欤控制整個cpu的工作,它決定了計算機(jī)運(yùn)行過程的自動化兔甘。
  3. 寄存器組谎碍。分為專用寄存器(運(yùn)算器和控制器中的寄存器)和通用寄存器。
  4. 內(nèi)部總線洞焙。是計算機(jī)系統(tǒng)中最快的總線蟆淀,用來與高速緩存拯啦、主存和北橋(或MCH)之間傳送信息。

(1)運(yùn)算器

  • 運(yùn)算器由算術(shù)邏輯單元(ALU)熔任、累加寄存器褒链、數(shù)據(jù)緩沖寄存器和狀態(tài)條件寄存器等組成,是數(shù)據(jù)加工處理部件疑苔,用于完成計算機(jī)的各種算術(shù)和邏輯運(yùn)算甫匹。
  • 運(yùn)算器所進(jìn)行的所有操作都是由控制器發(fā)出的控制信號來指揮的,所以它是執(zhí)行部件惦费。
  • 運(yùn)算器主要有兩個主要功能:算術(shù)運(yùn)算兵迅、邏輯運(yùn)算。
運(yùn)算器組成

(2)控制器

  • 用于控制整個cpu的工作薪贫。
  • 包括指令寄存器(IR)恍箭、程序計數(shù)器(PC)、地址寄存器(AR)瞧省、指令譯碼器(ID)季惯。
  • 指令控制邏輯。要完成取指令臀突、分析指令和執(zhí)行指令的操作勉抓。一般包括指令控制邏輯、時序控制邏輯候学、總線控制邏輯藕筋、中斷控制邏輯等幾個部分
  • 時序控制邏輯。要為每條指令按時間順序提供應(yīng)有的控制信號梳码。
  • 總線控制邏輯隐圾。為多個功能部件服務(wù)的信息通路的控制電路。
  • 中斷控制邏輯掰茶。用于控制各種中斷請求暇藏,并根據(jù)優(yōu)先級的高低對中斷請求進(jìn)行排隊,逐個交給cpu處理濒蒋。
控制器組成

(3)寄存器

  • 用來暫存運(yùn)算和控制過程中的中間結(jié)果盐碱、最終結(jié)果以及控制、狀態(tài)信息的沪伙。
  • 分為通用寄存器和專用寄存器瓮顽。
寄存器組成

3.多核CPU

  • 核心又稱為內(nèi)核,是cpu最重要的組成部分围橡。cpu中心那塊突起的芯片就是核心暖混。
  • cpu所有的計算、接收/存儲命令翁授、處理數(shù)據(jù)都由核心執(zhí)行拣播。
  • cpu核心都有固定的邏輯結(jié)構(gòu)晾咪,包括:一級緩存、二級緩存贮配、執(zhí)行單元谍倦、指令級單元和總線接口等邏輯單元。
  • 多核是指在一個單芯片上集成兩個或多個處理器內(nèi)核牧嫉,每個內(nèi)核都有自己的邏輯單元、控制單元减途、中斷處理器酣藻、運(yùn)算單元等。
  • 多核在理論上是在任何時間內(nèi)每個核執(zhí)行各自的任務(wù)鳍置,不存在交替問題辽剧;單核是交替地轉(zhuǎn)換執(zhí)行多個任務(wù),只是交替的時間很短税产。

(三)數(shù)據(jù)表示

數(shù)值在計算機(jī)中表示的形式稱為機(jī)器數(shù)怕轿,參用的是二進(jìn)制,用01表示辟拷。

機(jī)器數(shù)

1.原碼撞羽、反碼、補(bǔ)碼和移碼

(1)原碼

數(shù)值X的原碼記為[X]原衫冻,如果機(jī)器字長為nn個二進(jìn)制位表示數(shù)據(jù))诀紊,則原碼的定義如下:

原碼表示法

在原碼表示法中,最高位是符號位隅俘,0表示正號邻奠,1表示負(fù)號,其余的n-1位表示數(shù)值的絕對值为居。
數(shù)值0的原碼表示有兩種形式:[+0]原=0 0000000碌宴,[-0]原=1 0000000

(2)反碼

數(shù)值X的反碼記為[X]反蒙畴,如果機(jī)器字長為n贰镣,則反碼的定義如下:

反碼表示法

在反碼表示中,最高位是符號位膳凝,0表示正號八孝,1表示負(fù)號,正數(shù)的反碼與原碼相同鸠项,負(fù)數(shù)的反碼則是其絕對值按位求反干跛。
數(shù)值0的反碼表示有兩種形式:[+0]反=0 000000,[-0]反=1 1111111祟绊。

(3)補(bǔ)碼

數(shù)值X的補(bǔ)碼記為[X]補(bǔ)楼入,如果機(jī)器字長為n哥捕,則補(bǔ)碼的定義如下:

補(bǔ)碼表示法

在補(bǔ)碼表示中,最高位為符號位嘉熊,0表示正號遥赚,1表示負(fù)號,正數(shù)的補(bǔ)碼與其原碼和反碼相同阐肤,負(fù)數(shù)的補(bǔ)碼則等于其反碼的末位加1凫佛。
數(shù)值0的補(bǔ)碼表示只有一種形式:[+0]補(bǔ)=0 0000000,[-0]補(bǔ)=0 0000000孕惜。

(4)移碼

移碼表示法是在數(shù)X上增加一個偏移量來定義的愧薛,常用于表示浮點數(shù)中斷階碼。如果機(jī)器字長為n衫画,規(guī)定偏移量為2^(n-1)毫炉,則移碼的定義如下:

移碼表示法

實際上,在偏移2^(n-1)的情況下削罩,只要將補(bǔ)碼的符號位取反便可獲得相應(yīng)的移碼表示瞄勾。

2.定點數(shù)和浮點數(shù)

(1)定點數(shù)

定點數(shù)就是小數(shù)點的位置固定不變的數(shù)。分為:定點整數(shù)(純整數(shù)弥激,小數(shù)點在最低有效數(shù)值位之后)进陡、定點小數(shù)(純小數(shù),小數(shù)點在最高有效數(shù)值位之前)微服。

(2)浮點數(shù)

浮點數(shù)是小數(shù)點位置固定不變的數(shù)四濒,它能表示更大范圍的數(shù)。
一個二進(jìn)制數(shù)N可以表示為更一般的形式N=2^E*F职辨,其中E稱為階碼盗蟆,F稱為尾數(shù)。例如:

1011.10101=2^4*0.101110101
或
1011.10101=2^5*0.0101110101

用階碼和尾數(shù)表示的數(shù)稱為浮點數(shù)舒裤,這種表示數(shù)的方法稱為浮點表示法喳资。在浮點表示法中,階碼為帶符號的純整數(shù)腾供,尾數(shù)為帶符號的純小數(shù)仆邓。
浮點數(shù)的表示格式為:

階符 階碼 數(shù)符 尾數(shù)

浮點數(shù)的特性:

  • 一個數(shù)的浮點表示不是唯一的,當(dāng)小數(shù)點的位置變化時伴鳖,階碼也隨之改變节值;
  • 浮點數(shù)所能表示的數(shù)值范圍主要由階碼決定,所表示數(shù)值的精度由尾數(shù)決定榜聂;
  • 為了充分利用尾數(shù)來表示更多的有效數(shù)字搞疗,通常采用規(guī)格化浮點數(shù)(規(guī)格化是指將尾數(shù)的絕對值限定在區(qū)間[0.5,1])。

(3)工業(yè)標(biāo)準(zhǔn)IEEE 754

浮點數(shù)的標(biāo)準(zhǔn)是IEEE 754工業(yè)標(biāo)準(zhǔn)须肆,該標(biāo)準(zhǔn)的表示形式為:(-1)^S*2^E*(b0*b1*b2*b3*···bn)匿乃。其中(-1)^S為該浮點數(shù)的數(shù)符桩皿,當(dāng)S0時表示正數(shù),為1時表示負(fù)數(shù)幢炸;E為階碼泄隔,用移碼表示;(b0*b1*b2*b3*···bn)為尾數(shù)宛徊,長度是n位佛嬉,用原碼表示。
根據(jù)IEEE 754工業(yè)標(biāo)準(zhǔn)闸天,被編碼的值分為3種:規(guī)格化的值暖呕、非規(guī)格化的值、特殊值号枕。

  • 規(guī)格化的值缰揪。當(dāng)階碼部分的二進(jìn)制不全為0也不全為1時陨享。
  • 非規(guī)格化的值葱淳。階碼的二進(jìn)制值全為0時。一是用來表示數(shù)值0抛姑,二是表示非常接近于0的數(shù)赞厕。
  • 特殊值。階碼的二進(jìn)制值全為1時定硝。當(dāng)尾數(shù)部分全為0時皿桑,表示無窮大(當(dāng)符號位為0時,表示+無窮大蔬啡;當(dāng)符號位為1時诲侮,表示-無窮大);當(dāng)尾數(shù)部分不全為0時箱蟆,稱為NaN沟绪,即不是一個數(shù)。

(4)浮點數(shù)的運(yùn)算

浮點數(shù)的加減運(yùn)算步驟:

  • 對階空猜。使兩個數(shù)的階碼相同绽慈,令K=|i-j|,把階碼小的數(shù)的尾數(shù)右移K位辈毯,使其階碼加上K坝疼。
  • 求尾數(shù)和(差)。
  • 結(jié)果規(guī)格化并判斷溢出谆沃。
  • 舍入處理钝凶。在對結(jié)果右規(guī)時,尾數(shù)的最低位將因為移出而丟掉唁影。
  • 溢出判別腿椎。

浮點數(shù)相乘桌硫,其積的階碼等于兩乘數(shù)的階碼相加,積的尾數(shù)等于兩乘數(shù) 的尾數(shù)相乘啃炸。
浮點數(shù)相除铆隘,其商的階碼等于被除數(shù)的階碼減去除數(shù)的階碼,商的尾數(shù)等于被除數(shù)的尾數(shù)除以除數(shù)的尾數(shù)南用。

(四)校驗碼

為了保證計算機(jī)系統(tǒng)運(yùn)行時的數(shù)據(jù)傳輸?shù)恼_性膀钠,通常使用校驗碼的方法來檢測傳送的數(shù)據(jù)是否出錯。
數(shù)據(jù)可能出現(xiàn)的編碼分為兩類:合法編碼和錯誤編碼裹虫。合法編碼用于傳送數(shù)據(jù)决摧,錯誤編碼不允許出現(xiàn)在數(shù)據(jù)中。
合理地設(shè)計錯誤編碼及編碼規(guī)則疆液,使得數(shù)據(jù)在傳送中出現(xiàn)某種錯誤時孽水,會變成錯誤編碼,這樣就可以檢測出接收到的數(shù)據(jù)是否有錯匣屡。
碼距封救,是指一個編碼系統(tǒng)中任意兩個合法編碼之間至少有多少個二進(jìn)制位不同。
常見的校驗碼:奇偶校驗碼捣作、海明碼誉结、循環(huán)冗余校驗碼。

1.奇偶校驗碼

奇偶校驗碼通過在編碼中增加一位校驗碼來使編碼中1的個數(shù)為奇數(shù)(奇校驗)或者為偶數(shù)(偶校驗)券躁,從而使碼距變?yōu)?code>2惩坑。
對于奇校驗來說,它可以檢查代碼中奇數(shù)位出錯的編碼也拜,但不能發(fā)現(xiàn)偶數(shù)位出錯的情況以舒,即當(dāng)合法編碼中的奇數(shù)位發(fā)生了錯誤時,即編碼中的1變成00變成1慢哈,則該編碼中1的個數(shù)的奇偶性就發(fā)生了變化蔓钟,從而可以發(fā)現(xiàn)錯誤。
常用的奇偶校驗碼有三種:水平奇偶校驗碼岸军、垂直奇偶校驗碼奋刽、水平垂直校驗碼。

2.海明碼

海明碼是在數(shù)據(jù)位之間的特定位置上插入k個校驗位艰赞,通過擴(kuò)大碼距來實現(xiàn)檢錯和糾錯佣谐。

3.循環(huán)冗余校驗碼

循環(huán)冗余校驗碼由兩部分組成,左邊為信息碼(數(shù)據(jù))方妖,右邊為校驗碼狭魂。利用生成多項式為k個數(shù)據(jù)位產(chǎn)生r個校驗位來進(jìn)行編碼,編碼長度位k+r


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末雌澄,一起剝皮案震驚了整個濱河市斋泄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌镐牺,老刑警劉巖炫掐,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異睬涧,居然都是意外死亡募胃,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門畦浓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來痹束,“玉大人,你說我怎么就攤上這事讶请〉凰唬” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵夺溢,是天一觀的道長论巍。 經(jīng)常有香客問我,道長企垦,這世上最難降的妖魔是什么环壤? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任晒来,我火速辦了婚禮钞诡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘湃崩。我一直安慰自己荧降,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布攒读。 她就那樣靜靜地躺著朵诫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪薄扁。 梳的紋絲不亂的頭發(fā)上剪返,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機(jī)與錄音邓梅,去河邊找鬼脱盲。 笑死,一個胖子當(dāng)著我的面吹牛日缨,可吹牛的內(nèi)容都是我干的钱反。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼面哥!你這毒婦竟也來了哎壳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤尚卫,失蹤者是張志新(化名)和其女友劉穎归榕,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吱涉,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蹲坷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了邑飒。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片循签。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖疙咸,靈堂內(nèi)的尸體忽然破棺而出县匠,到底是詐尸還是另有隱情,我是刑警寧澤撒轮,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布乞旦,位于F島的核電站,受9級特大地震影響题山,放射性物質(zhì)發(fā)生泄漏兰粉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一顶瞳、第九天 我趴在偏房一處隱蔽的房頂上張望玖姑。 院中可真熱鬧,春花似錦慨菱、人聲如沸焰络。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽闪彼。三九已至,卻和暖如春协饲,著一層夾襖步出監(jiān)牢的瞬間畏腕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工茉稠, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留描馅,地道東北人。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓战惊,卻偏偏與公主長得像流昏,于是被迫代替她去往敵國和親扎即。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,925評論 2 344