計(jì)算機(jī)組成原理與思維導(dǎo)圖(二)
408考研精講筆記 基于唐朔飛 --《計(jì)算機(jī)組成原理》
喜歡的話請(qǐng)給個(gè)關(guān)注或者點(diǎn)個(gè)贊再走吧摊崭,你們的支持是我創(chuàng)作的動(dòng)力讼油!
謝謝你們 祝大家早日上岸 點(diǎn)個(gè)收藏吧!后續(xù)會(huì)有考研真題更新哦呢簸!
【408考研筆記】計(jì)算機(jī)組成原理與思維導(dǎo)圖(一)第一章 計(jì)算機(jī)系統(tǒng)概論
【408考研筆記】計(jì)算機(jī)組成原理與思維導(dǎo)圖(三)第三章 指令系統(tǒng)
第二章 數(shù)值數(shù)據(jù)的表示
一矮台、數(shù)值數(shù)據(jù)的編碼表示
1、基本概念
在計(jì)算機(jī)中根时,數(shù)據(jù)常用二進(jìn)制來表示瘦赫,也即為 “0” 和 ”1“,數(shù)據(jù)有 無符號(hào)數(shù) 和 帶符號(hào)數(shù) 之分啸箫,其中 帶符號(hào)數(shù) 根據(jù)編碼的不同又分 原碼 補(bǔ)碼 和 反碼 三種表示形式耸彪。
2伞芹、無符號(hào)數(shù)和帶符號(hào)數(shù)
(一) 無符號(hào)數(shù)
無符號(hào)數(shù):所謂無符號(hào)數(shù)就是一個(gè)數(shù)的 二進(jìn)制 數(shù)據(jù)中都是數(shù)值位忘苛。相當(dāng)于數(shù)的絕對(duì)值 。例如
無符號(hào)數(shù)直接存儲(chǔ)
(二) 帶符號(hào)數(shù)
帶符號(hào)數(shù):在計(jì)算機(jī)中唱较,使用的大多都是帶符號(hào)數(shù)扎唾,即一個(gè)數(shù)的數(shù)據(jù)中以最高位作為 符號(hào)位,以0代表正數(shù)南缓,以1代表 負(fù)數(shù)胸遇,其它位作為 數(shù)值位 。帶符號(hào)數(shù)的 數(shù)值部分 在計(jì)算機(jī)中常被稱為 真值汉形。例如
帶符號(hào)數(shù)需要存儲(chǔ)符號(hào)位
3纸镊、原碼表示法
原碼表示法 是一種最簡(jiǎn)單的機(jī)器數(shù)表示法,其最高位為符號(hào)位概疆。符號(hào)位為0時(shí)逗威,表明該數(shù)是 正數(shù) ,符號(hào)位為1時(shí)岔冀,表明該數(shù)是 負(fù)數(shù) 凯旭。數(shù)值部分即為 真值相同。
(一) 真值為純小數(shù)
當(dāng)真值 純小數(shù) X 為正數(shù)【X】原 = X
當(dāng)真值 純小數(shù) X 為負(fù)數(shù)時(shí) 【X】原 = 1-X
(二) 真值為純整數(shù)
當(dāng)真值 純整數(shù) X 為正數(shù)【X】原 = 符號(hào)位0 + X真值
當(dāng)真值 純整數(shù) X 為負(fù)數(shù)時(shí) 【X】原 = 符號(hào)位1 +X真值
當(dāng)機(jī)器數(shù)長(zhǎng)度為5位時(shí)
4使套、反碼表示法
(一) 真值為純小數(shù)
當(dāng)真值 純小數(shù) X 為正數(shù)【X】反 = X
當(dāng)真值 純小數(shù) X 為負(fù)數(shù)時(shí) 【X】反 = 【X】原 最高位+ 【X】原 剩余數(shù)值位取反
(二) 真值為純整數(shù)
當(dāng)真值 純整數(shù) X 為正數(shù)【X】反 =符號(hào)位0 + X真值
當(dāng)真值 純整數(shù) X 為負(fù)數(shù)時(shí) 【X】反 = 【X】原 符號(hào)位+ 【X】原 剩余位取反
5罐呼、補(bǔ)碼表示法
補(bǔ)碼 = 反碼末尾 + 1
如:真值 =-0.0011011
原碼 = 1.0011011
反碼 = 1.1100100
補(bǔ)碼 = 1.1100101
總結(jié):當(dāng)數(shù)為正數(shù)是,原碼 = 補(bǔ)碼 = 反碼侦高。
6嫉柴、思維導(dǎo)圖
二、數(shù)值數(shù)據(jù)的格式表示
格式表示基于編碼表示奉呛,形式表示有定點(diǎn)表示和浮點(diǎn)表示计螺,原碼即為二進(jìn)制的定點(diǎn)表示期奔。
計(jì)算機(jī)進(jìn)行運(yùn)算時(shí),常需要指出小數(shù)點(diǎn)的位置危尿,根據(jù)小數(shù)點(diǎn)的位置是否固定呐萌。在計(jì)算機(jī)內(nèi)有兩種數(shù)據(jù)格式,定點(diǎn)表示和 浮點(diǎn)表示谊娇。
1肺孤、定點(diǎn)表示法
在定點(diǎn)表示法中約定,所有數(shù)據(jù)的小數(shù)點(diǎn)位置固定不變济欢,通常赠堵,把小數(shù)固定在有效數(shù)位的前面或末尾,這就形成兩類定點(diǎn)數(shù)法褥。分別是 定點(diǎn)純小數(shù) 和 定點(diǎn)純整數(shù)茫叭。
(一) 定點(diǎn)純小數(shù)
純小數(shù)(小數(shù)點(diǎn)固定在量值最高位的左邊,即符號(hào)位與量值之間)
(二) 定點(diǎn)純整數(shù)
純整數(shù)(小數(shù)點(diǎn)固定在量值最低位的右邊)
2、浮點(diǎn)表示法
普及:最早的計(jì)算機(jī)只有兩種表示方式:小數(shù)定點(diǎn)機(jī)和整數(shù)定點(diǎn)機(jī)半等。如果計(jì)算很大的數(shù)值時(shí)需要程序員手動(dòng)調(diào)節(jié)小數(shù)點(diǎn)的位置揍愁。另一方面為了解決編程上的困難,就推出使用 浮點(diǎn)表示法 去表示數(shù)值杀饵。
概念: 小數(shù)點(diǎn)位置 隨 階碼 不同而浮動(dòng)莽囤。
指數(shù) = 階符 + 階碼
尾數(shù) = 數(shù)符 + 尾數(shù)
(一) 階碼
階碼: 在機(jī)器中表示一個(gè)浮點(diǎn)數(shù)時(shí)需要給出指數(shù),這個(gè)指數(shù)用整數(shù)形式表示切距,這個(gè)整數(shù)叫做 階碼 朽缎,階碼指明了 小數(shù)點(diǎn) 在數(shù)據(jù)中的位置。在大多數(shù)計(jì)算機(jī)中谜悟,階碼為 純整數(shù)话肖,常用移碼或 補(bǔ)碼 表示。
(二) 階符
階符:階符是當(dāng)一個(gè)數(shù)用科學(xué)計(jì)數(shù)法表示時(shí)葡幸,它的 指數(shù) 的符號(hào)最筒,指數(shù)是正還是負(fù),正負(fù)號(hào)就是階符礼患。
(三) 數(shù)符
數(shù)符: 數(shù)符就是數(shù)字符號(hào)的簡(jiǎn)稱是钥。
(四) 尾數(shù)
尾數(shù): 小數(shù)點(diǎn)后面的數(shù)字。在大多數(shù)計(jì)算機(jī)中缅叠,尾數(shù)為純小數(shù)悄泥,常用原碼或補(bǔ)碼表示。
(五) IEEE754標(biāo)準(zhǔn)
IEEE754標(biāo)準(zhǔn): IEEE754標(biāo)準(zhǔn) (規(guī)定了浮點(diǎn)數(shù)的表示格式,運(yùn)算規(guī)則等)
一: 基數(shù) 2是固定常數(shù),故可不表示出來
二: 尾數(shù) 用 原碼
三: 指數(shù) 用 移碼(便于對(duì)階和比較,不需要判斷符號(hào)位)
四: 指數(shù)的 階符 被隱含中移碼中故可不表示出來肤粱,正因?yàn)槿绱说簦梢岳斫鉃?階符隱藏,指數(shù) = 階碼领曼。 但又按照ieee754的標(biāo)準(zhǔn)鸥鹉,即指數(shù) = 階碼 = 真值e + 偏移量蛮穿。
五: 浮點(diǎn)數(shù) 的規(guī)格化表示: 當(dāng) 尾數(shù)的值不為0 時(shí),尾數(shù)域的最高有效位應(yīng)為1(類似于0.011強(qiáng)制要求用1.1?2?21.1?2?2表示),又因?yàn)樽罡呶还潭?,即尾數(shù)域表示的值是1.M,故最高位的1也不予存儲(chǔ).要除去E用全0和全1表示零和無窮大的情況,如本來是0-255則變成1~254。
PS:這里的 移碼 = 階碼 + 偏移量
六: 單精度(32位)位浮點(diǎn)數(shù)
真值e為二進(jìn)制浮點(diǎn)數(shù)的表示形式的指數(shù)毁渗。
七:雙精度(64位)位浮點(diǎn)數(shù)
八: 表示范圍
32位二進(jìn)制轉(zhuǎn)8位的十六進(jìn)制使用8421法践磅。同樣地8位十六進(jìn)制轉(zhuǎn)32位二進(jìn)制也是使用8421反推.
3、思維導(dǎo)圖
三灸异、非數(shù)值數(shù)據(jù)的表示
1府适、基本概念
非數(shù)值數(shù)據(jù),又稱 字符數(shù)據(jù) 肺樟,通常指 字符 檐春、 字符串 、圖形符號(hào)等數(shù)據(jù)么伯。它們不用來表達(dá) 數(shù)值大小疟暖,一般情況下不進(jìn)行 運(yùn)算 .
2、字符和字符串的表示
(一) ASCII字符編碼
由于計(jì)算機(jī)只能識(shí)別和處理 二進(jìn)制代碼 田柔,所以字符必須按照一定的規(guī)則用二進(jìn)制編碼去表示俐巴。字符編碼的方式有很多種,現(xiàn)在使用最廣泛的就是 美國(guó)國(guó)家信息交換標(biāo)準(zhǔn)字符碼(American Standard Code for Information Interchange)凯楔,也就是ASCII窜骄。
常見的ASCII碼用 7 位二進(jìn)制表示一個(gè)字符,它包括10個(gè)十進(jìn)制數(shù)字(0-9)摆屯,26個(gè)英文字母的大小寫。
3糠亩、漢字的表示
(一) 漢字國(guó)標(biāo)碼
漢字國(guó)標(biāo)碼又稱 漢字交換碼 虐骑,主要用于處理漢字信息系統(tǒng)或者通信系統(tǒng)之間交換信息用。最新的漢字國(guó)標(biāo)碼標(biāo)準(zhǔn)為 漢字國(guó)標(biāo)碼(GB2312-80)赎线,把漢字按照 拼音順序 分成 一級(jí)常用漢字廷没,二級(jí) “ 次” 常用漢字 兩個(gè)等級(jí)。
(二) 漢字區(qū)位碼
漢字國(guó)標(biāo)碼 = 十六進(jìn)制 漢字區(qū)位碼 + 2020H
(三) 漢字機(jī)內(nèi)碼
漢字機(jī)內(nèi)碼 = 漢字國(guó)標(biāo)碼 + 8080H = 漢字區(qū)位碼 +2020H +8080H
4垂寥、十進(jìn)制數(shù)與數(shù)串的表示
(一) 十進(jìn)制的編碼
二進(jìn)制是計(jì)算機(jī)最適合的數(shù)據(jù)表示方式颠黎,通常把 十進(jìn)制數(shù) 轉(zhuǎn)換為一組 二進(jìn)制數(shù) 來表示。以4位二進(jìn)制數(shù)表示1位十進(jìn)制滞项。
① 8421碼
不允許出現(xiàn)1010 - 1111
② 2421碼
同時(shí)也是 對(duì) 9 的自補(bǔ)碼 狭归,如3的2421碼是 0011,3對(duì)9的補(bǔ)數(shù)是6文判,而6的2421碼即為3的取反过椎。即為1100。
不允許出現(xiàn)0101 - 1010
③ 余 3 碼
由于它的每個(gè)字符編碼比相應(yīng)的8421碼多3戏仓,故稱為余三碼疚宇。
同時(shí)也是 對(duì) 9 的自補(bǔ)碼
不允許 0000-0010,1101-1111
④ 格雷碼( Gray 碼)
(二) 十進(jìn)制的存儲(chǔ)和處理 - 數(shù)串
十進(jìn)制數(shù)在計(jì)算機(jī)內(nèi)是以 數(shù)串 的形式進(jìn)行存儲(chǔ)和處理的亡鼠,十進(jìn)制數(shù)串的長(zhǎng)度是可變。
十進(jìn)制在計(jì)算機(jī)內(nèi)有兩種表示形式敷待,非壓縮的十進(jìn)制數(shù) 和 壓縮的十進(jìn)制數(shù)间涵。
① 非壓縮的十進(jìn)制數(shù)串
非壓縮十進(jìn)制數(shù)據(jù)表示,一個(gè)字節(jié)可存放一位BCD碼表示的十進(jìn)制數(shù)榜揖,即一個(gè)字節(jié)存儲(chǔ)一位十進(jìn)制數(shù)浑厚。其中高4位可任意,低4位為相應(yīng)十進(jìn)制數(shù)字的BCD碼根盒。
如十進(jìn)制數(shù)字 6 ASCII碼為 0011 0110 非壓縮十進(jìn)制數(shù)為 0000 0110 只取低四位钳幅。最高4位可任意
② 壓縮的十進(jìn)制數(shù)串
一個(gè)字節(jié)存儲(chǔ)兩個(gè)十進(jìn)制數(shù), 其中+為C -為D 炎滞。
如+123 就需要兩個(gè)字節(jié)才能存儲(chǔ)敢艰,1和2需要一個(gè)字節(jié),+和3需要一個(gè)字節(jié)册赛。(符號(hào)位占半個(gè)字節(jié))
所以按照8421的規(guī)則钠导,+123按順序符號(hào)位寫在最后表示為
1 2 3 C 即為 0001 0010 0011 1100。
又如-2648,2森瘪、6為一個(gè)字節(jié)牡属,4、8為一個(gè)字節(jié)扼睬,-為半個(gè)字節(jié)逮栅,所以需要補(bǔ)0湊多半個(gè)字節(jié),共3個(gè)字節(jié)窗宇。
所以按照8421的規(guī)則措伐,-2648按順序符號(hào)位加補(bǔ)位寫在最后表示為 0 2 6 4 8 D 即為 0000 0010 0110 0010 1000 1101
③ 總結(jié)
第一步:按照字節(jié)推出數(shù)串長(zhǎng)度。
第二步 按照 8421碼 的規(guī)則军俊,寫出每個(gè)十進(jìn)制數(shù)的8421碼侥加。
第三步:按照符號(hào)位在后,補(bǔ)位在前的規(guī)則將數(shù)完整寫出來粪躬。
5担败、思維導(dǎo)圖
四、數(shù)據(jù)校驗(yàn)碼
1镰官、基本概念
數(shù)據(jù)在傳送和存取的過程中可能會(huì)發(fā)生錯(cuò)誤提前,這時(shí)就需要使用 數(shù)據(jù)校驗(yàn)碼 去修正錯(cuò)誤了。也就是說 數(shù)據(jù)校驗(yàn)碼 是指能夠 發(fā)現(xiàn) 和 自動(dòng)糾正 數(shù)據(jù)錯(cuò)誤的 數(shù)據(jù)編碼格式朋魔。
2岖研、奇偶校驗(yàn)碼
奇偶校驗(yàn)碼是一種最簡(jiǎn)單的校驗(yàn)碼,它的碼距等于 2, 可以檢測(cè) 一位 錯(cuò)誤(或者 奇數(shù)位錯(cuò)誤 )孙援。
所謂碼距害淤,是指一個(gè)編碼系統(tǒng)中任意兩個(gè)合法編碼之間至少有多少個(gè)二進(jìn)制位不同。
缺點(diǎn): 不能確定 錯(cuò)誤的位置 和 判斷 偶數(shù)位 的錯(cuò)誤拓售。
實(shí)現(xiàn)方法:
奇校驗(yàn):在有效位的前提下 + 校驗(yàn)位(0或1)窥摄,讓校驗(yàn)碼1的個(gè)數(shù)變?yōu)槠鏀?shù)。
偶校驗(yàn):在有效位的前提下 + 校驗(yàn)位(0或1)础淤,讓校驗(yàn)碼1的個(gè)數(shù)變?yōu)榕紨?shù)崭放。
整個(gè)校驗(yàn)碼 = 校驗(yàn)位 + 有效信息位
3、簡(jiǎn)單奇偶校驗(yàn)
簡(jiǎn)單奇偶校驗(yàn)只實(shí)現(xiàn) 橫向 的奇偶校驗(yàn)
(一) 奇偶校驗(yàn)碼的校驗(yàn)過程
奇偶校驗(yàn)碼的編碼和校驗(yàn)是通過特定的電路去實(shí)現(xiàn)的鸽凶,常見的有 并行奇偶統(tǒng)計(jì)電路币砂。 如圖1
同時(shí)給出 奇形成、偶形成玻侥、偶校驗(yàn)出錯(cuò)决摧、奇校驗(yàn)出錯(cuò) 的信號(hào)。如圖2
① 校驗(yàn)碼的形成和存入主存步驟
當(dāng)要把D7-D0寫入主存時(shí)就需要把它們 同時(shí) 送入奇偶校驗(yàn)邏輯電路(圖一)凑兰,該電路產(chǎn)生的 “奇形成” 就是校驗(yàn)位掌桩,其后校驗(yàn)位 和 8位有效數(shù)值位一起 作為 奇校驗(yàn)碼 寫入到 主存 中。
若D7-D0有奇數(shù)個(gè)1姑食,則奇形成為 “0”
若D7-D0有偶數(shù)個(gè)1波岛,則奇形成為 “1”
② 校驗(yàn)檢測(cè)
將校驗(yàn)碼從主存中讀出,將讀出的9位數(shù)值又 同時(shí) 送入 奇偶校驗(yàn)邏輯電路 進(jìn)行檢測(cè)音半,若代碼沒有出錯(cuò)则拷,則 “奇校驗(yàn)出錯(cuò)” 為 0,若代碼出錯(cuò)祟剔,則“奇校驗(yàn)出錯(cuò)” 為 1隔躲。從而指出這9位數(shù)值有出錯(cuò)的地方,但不能檢測(cè)到出錯(cuò)的位置物延。
4、交叉奇偶檢驗(yàn)
計(jì)算機(jī)在進(jìn)行大量字節(jié)傳送時(shí)仅父,對(duì)每一個(gè)字節(jié) 設(shè)置 橫向校驗(yàn) 和 縱向校驗(yàn)叛薯。這樣不僅每一個(gè)字節(jié)(8個(gè)位)有 橫向檢驗(yàn)碼 也有 縱向檢驗(yàn)碼 。
5笙纤、思維導(dǎo)圖
五耗溜、漢明校驗(yàn)碼
1、基本概念
漢明校驗(yàn)碼 也是一種 數(shù)據(jù)校驗(yàn)碼省容,實(shí)際它上是一種 多重的奇偶校驗(yàn)碼抖拴。它與奇偶檢驗(yàn)碼想比就是 它擴(kuò)大自身的碼距,使校驗(yàn)更加準(zhǔn)確。通常 由 有效位 + 幾位校驗(yàn)碼 形成 漢明碼 阿宅。
漢明碼默認(rèn)是 偶校驗(yàn)
漢明碼只能檢測(cè)2位錯(cuò)的錯(cuò)誤
2候衍、漢明碼的構(gòu)成
(一) 漢明碼公式
2^k ≥ k + n + 1,其中n為有效位位數(shù)洒放,K為校驗(yàn)碼位數(shù)
漢明碼的構(gòu)成都是需要滿足于公式方可構(gòu)成蛉鹿。
(二) 構(gòu)成步驟
漢明碼 = 有效位 + 幾位校驗(yàn)碼
例如如下序列:
1100
我們想要讓其變成海明碼只需如下操作
① 基于公式求出K
由 2^k ≥ k+n+1,求出k = 3往湿。即整段海明碼長(zhǎng)度為 4+3 = 7
②將序列按長(zhǎng)度展開妖异,并以2^k次冪從0開始去確定校驗(yàn)碼位置
因?yàn)橹挥?位校驗(yàn)碼,所以 2^k次冪也就展開3次
即為 2^0 = 1 领追,2^1 = 2他膳,2^2 = 4.。即為 1绒窑,2 棕孙,4
算出的1,2,4位置即為校驗(yàn)碼所在的位置
| H7 | H6 | H5 | H4 | H3 | H2 | H1 |
|--|--|--|--|--|--|--|--|
| 1 |1 | 0 | 檢驗(yàn)碼3 | 0 | 檢驗(yàn)碼2 | 檢驗(yàn)碼1|
③ 將校驗(yàn)碼所在的“位置” 轉(zhuǎn)換為3位 二進(jìn)制數(shù)據(jù)
位置為 1,2回论,4
1 | 2 | 4 |
---|---|---|
001 | 010 | 100 |
④ 將二進(jìn)制數(shù)據(jù)作為通配表
將0變?yōu)?/strong>*
1 | 2 | 4 |
---|---|---|
**1 | 1 | 1** |
⑤以通配表 匹配 海明碼 各“位置”的序列散罕,確定每位校驗(yàn)碼所要檢驗(yàn)的位置。
首先將 1-7的序列展開
| 7 | 6 | 5 | 4 | 3 | 2 | 1 |
|--|--|--|--|--|--|--|--|
| 111 |110 | 101| 100 | 011 | 010| 001|
最后 我們將7->1依次與上面的通配表進(jìn)行匹配
1 | 2 | 4 |
---|---|---|
**1 | 1 | 1** |
001(1) | 010(2) | 100(4) |
011(3) | 011(3) | 101(5) |
101(5) | 110(6) | 110(6) |
111(7) | 111(7) | 111(7) |
⑥確定要校驗(yàn)的位置傀蓉,以偶校驗(yàn)的前提去確定校驗(yàn)碼
由上述可知
在1位置的校驗(yàn)碼 校驗(yàn):1,3,5.7位有效位
在2位置的校驗(yàn)碼 校驗(yàn):2,3,6.7 位有效位
在4位置的校驗(yàn)碼 校驗(yàn):4,5,6.7 位有效位
以偶校驗(yàn)的前提可得:
H3,H5,H7 1的個(gè)數(shù)為奇數(shù) 因此H1=1
H3,H6,H7 1的個(gè)數(shù)為偶數(shù) 因此H2=0
H5,H6,H7 1的個(gè)數(shù)為偶數(shù) 因此H4=0
⑦得漢明碼
| H7 | H6 | H5 | H4 | H3 | H2 | H1 |
|--|--|--|--|--|--|--|--|
| 1 |1 | 0 | 0 | 0 | 0 | 1|
3欧漱、思維導(dǎo)圖
4、參考
參考:https://www.cnblogs.com/godoforange/p/12003676.html