1. 程式人生 > >計算機組成原理個人筆記(一)

計算機組成原理個人筆記(一)

吞吐量:表徵一臺計算機在某一時間間隔內能夠處理的資訊量。


CPI(Cycles Per Instruction):表示每條指令週期數,即執行一條質量所需的平均時鐘週期數。計算如下:
CPI=執行某段程式所需的CPU時鐘週期數/程式包含的指令條數


MIPS(Million Instructions Per Second):每秒執行多少百萬條定點指令數,計算如下:
MIPS=指令數/(程式執行的時間*10^6)


FLOPS(Floating-point Operations Per Second):每秒執行浮點操作的次數,用來衡量機器浮點操作的效能,計算如下:
FLOPS=程式中的浮點操作次數/程式執行時間(S)


馮·諾依曼設計思想可以簡要地概括為以下三點:
(1)計算機應包括運算器、儲存器、控制器、輸入和輸出裝置五大基本部件。
(2)計算機內部應採用二進位制來表示指令和資料。每條指令一般具有一個操作碼和一個地址碼。其中操作碼錶示運算性質,地址碼指出運算元在儲存器中的地址。 

(3)將編好的程式送入記憶體儲器中,然後啟動計算機工作,計算機無需操作人員干預,能自動逐條取出指令和執行指令。




數在計算機中是以二進位制形式表示的。 
數分為有符號數和無符號數。 
原碼、反碼、補碼都是有符號定點數的表示方法。 
一個有符號定點數的最高位為符號位,0是正,1是負。 
以下都以8位整數為例, 
原碼就是這個數本身的二進位制形式。 
例如
0000 0001 就是+1
1000 0001 就是-1 
正數的反碼和補碼都是和原碼相同。 
負數的反碼是將其原碼除符號位之外的各位求反 
[-3]反=[1000 0011]反=1111 1100 
負數的補碼是將其原碼除符號位之外的各位求反之後在末位再加1。 
[-3]補=[1000 0011]補=11111101 
一個數和它的補碼是可逆的。 
為什麼要設立補碼呢? 
第一是為了能讓計算機執行減法: 
[a-b]補=a補+(-b)補 
第二個原因是為了統一正0和負0 
正零:0000 0000 
負零:1000 0000 
這兩個數其實都是0,但他們的原碼卻有不同的表示。 
但是他們的補碼是一樣的,都是0000 0000 

這裡必須要熟練記下下面的資料,必須像乘法口訣表一樣熟悉。圖如下:


(必須熟練記住,在此處在子網劃分的地方用處極大,二進位制轉十進位制,十進位制轉二進位制的地方用處也極大)

下面是補碼運算加法:


判斷溢位:




下面是乘法: