第一章 計算機組成原理與體系結構基礎知識(6)
資訊化世界是由計算機/手機
透過計算機網路
與其他的計算機/手機
連線的,其中,計算機/手機
由三部分組成,從底層到上層分別為機組(硬體)
,作業系統
,資料結構(軟體)
硬體由cpu,記憶體,硬碟,主機板等組成;計算機硬體唯一能識別的資料是二進位制0/1
,低電平表示0,高電平表示1
1.1 資料的標識
1.1.1 進位制的轉化
基於乘法思想的計數方法:975.36=9×102+7×101+5×100+3×10-1+6×10-2
(十六進位制)5.8-->5×160+8×16-1 = (十進位制)5.5
進位計數制:有0~9共10種符號,逢10進1
212 | 211 | 210 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 2-1 | 2-2 | 2-3 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4096 | 2048 | 1024 | 512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 0.5 | 0.25 | 0.125 |
- 二進位制轉為八進位制:1111000010.01101 = 1702.32
從小數點開始3位一組:如果是二進位制轉為十六進位制則4位一組
001 | 111 | 000 | 010 | 011 | 010 |
---|---|---|---|---|---|
1 | 7 | 0 | 2. | 3 | 2 |
- 八進位制轉為二進位制:(251.5)8 = (010101001.101)2
2 | 5 | 1 | 5 |
---|---|---|---|
010 | 101 | 001 | 101 |
- 十進位制轉為任意進位制
短除法,一直除以2然後將餘數倒著相加:94->1011110
1.1.2 原碼反碼補碼移碼
真值:符合人類習慣的數字
機器數:數字實際存到機器裡的形式,正負號需要被數字化
為了方便機器數的運算,設計出原碼、反碼、補碼、移碼
15 | 1111 | +15 | 0 1111 |
---|---|---|---|
8 | 1000 | -8 | 1 1000 |
- 定點數
- 無符號數
- 有符號數
- 原碼
- 反碼
- 補碼
- 移碼
無符號數:整個機器字長的全部二進位制位均為數值位,沒有符號位,相當於數的絕對值。通常只有無符號整數,沒有無符號小數
原碼:用數值部分表示真值的絕對值,符號位0正1負
反碼:若符號位為0,則反碼與原碼相同。若符號位為1,則數值位全部取反。
補碼:正數的補碼=原碼。負數的補碼=反碼末位+1(需要考慮進位)
移碼:補碼的基礎上將符號位取反。移碼只能用於表示整數
若機器字長為n+1
位,則數值部分(尾數)佔n
位;真值0有+0
和-0
兩種形式
D十進位制,H16進位制,B二進位制
定點數:小數點的位置固定
浮點數:小數點的位置不固定
浮點數是小數點位置不固定的數,他能表示更大範圍的數,浮點數的表示格式:|階符|碼階|數符|尾數|
;通常表示成N=M·RE(M為尾數,R為基數,E為階碼)。階碼決定浮點數的數值範圍、尾數決定浮點數的數值精度
常規計數:996.007
科學技術法:9.96007*10*10
小數點往前移1位就是×101,移動2位就是×102
二進位制的定點數、浮點數也類似:小數點往前移1位就是×2的1次方,移動2位就是×2的2次方
1.1.3 校驗碼—奇偶校驗和迴圈冗餘校驗碼(非重點)
奇偶校驗是一種簡單有效的校驗方法,其基本思想是透過在編碼中增加一位校驗位來使編碼中1的個數為奇數(奇校驗)或者為偶數(偶校驗),從而使碼距變為2。對於奇校驗,他可以檢測程式碼中奇數位出錯的編碼,但不能發現偶數位出錯的情況,即當合法編碼中奇數位發生了錯誤,也就是編碼中的1變成0或0變成1,則該編碼中1的個數的奇偶性就發生了變化,從而可以發現錯誤
常用的奇偶校驗碼有三種:水平奇偶校驗碼,垂直奇偶校驗碼和水平垂直奇偶校驗碼。
海明碼的構成方法是在資料位之間插入k個校驗碼,透過擴大碼距來實現檢錯和糾錯
設資料位是n位,校驗位是k位,則n和k必須滿足以下關係:2k-1 ≥ n+k
2017上邊年上午試題5
已知資料資訊為16位,最少應附加_位校驗位,才能實現海明碼糾錯(5)
1.2 計算機體系結構
這裡說的不明確,一個儲存單元代表一個位元組,字長代表位元組長度,位元組被組合成更大的儲存單位,稱為 字(word),主儲存器就是記憶體,硬體指記憶體條
主儲存器
運算器
控制器
Flynn分類法
1.3 指令系統
指令又稱機器指令,是指示計算機執行某種操作的命令,是計算機執行的最小功能單位
一臺計算機的所有指令的集合構成改機的指令系統,也稱為指令集
指令格式:一條指令就是機器語言的一個語句,是一組有意義的二進位制程式碼,一條指令通常包括操作碼欄位(OP)和地址碼欄位(A)兩部分。分別對應操作和對誰的操作
停機中斷 | 不需要操作物件 |
---|---|
求反求補 | 需要一個操作物件 |
加減乘除 | 需要兩個操作物件 |
定址方式:
指令定址:下一條欲執行指令的指令地址(始終由程式計數器PC給出)
資料定址:確定本條指令的地址碼指明的真實地址
- 立即定址:運算元作為指令的一部分直接寫在指令中,這種運算元稱為立即數。
- 暫存器定址:指令所要的運算元已儲存在某暫存器中,或把目標運算元存入暫存器。
- 直接定址:指令所要的運算元存放在記憶體中,在指令中直接給出該運算元的有效地址。
- 暫存器間接定址:運算元在儲存器中,運算元的有效地址用S1、DI、BX和BP四個暫存器之一來指定。
- 暫存器相對定址:運算元在儲存器中,其有效地址是一個基址暫存器(BX、BP)或變址暫存器(S1、DI)的內容和指令中的8位/16位偏移量之和。
- 基址加變址定址方式:運算元在儲存器中,其有效地址是一個基址暫存器(BX.BP)和一個變址暫存器(S1、DI)的內容之和。
- 相對基址加變址定址:運算元在儲存器中,其有效地址是一個基址暫存器(BX.BP)的值、一個變址暫存器(S1、DI)的值和指令中的8位/16位偏移量之和。
兩種指令系統:CISC(Complex)和RISC(Reduced)
CISC | RISC | |
---|---|---|
指令系統 | 複雜龐大 | 簡單精簡 |
指令數目 | 一般大於200條 | 一般小於100條 |
指令控制方式有順序方式、重疊方式和流水方式三種。
流水方式是指並行性或併發性嵌入計算機系統裡的一種形式,它把重複的順序處理過程分解為若干子過程,每個子過程能在專用的獨立模組上有效地併發工作。
在概念上,“流水”可以看成是“重疊”的延伸。差別僅在於“一次重疊”只是把一條指令解釋分解為兩個子過程,而“流水”則是分解為更多的子過程。
203
流水線的吞吐率(Though Put rate,TP)是指在單位時間內流水線所完成的任務數量或輸出的結果數量。
計算流水線吞吐率的最基本的公式:
流水線開始工作後須經過一定時間才能達到最大吞吐率,這就是建立時間。
若m個子過程所用時間一樣,均為Δt0,則建立時間
完成同樣一批任務,不使用流水線所用的時間與使用流水線所用的時間之比稱為流水線的加速比。
計算流水線加速比的基本公式: