學習筆記——計組—計算機系統

一、概念

1946年,世界上第一臺電子數字計算機—ENIAC。

計算機的五代變化:電子管—>晶體管—>中小規模集成電路—>大規模和超大規模集成電路—>巨大規模集成電路

計算機的性能指標:

     1)吞吐量:計算機某一時間間隔內能夠處理的信息量。主要取決於內存的存取週期。

     2)處理機字長:處理機運算器中一次能處理的二進制數運算的位數,如32位、64位。與CPU中的寄存器位數有關

     3)響應時間:完成一個任務的全部時間,從輸入開始到得到結果爲止。

     4)利用率:給定時間內,系統使用的時間。

     5)總線寬度:CPU中運算器與存儲器之間進行互連的二進制位數。

     6)存儲器容量:存儲器中所有存儲單元的總數。包括主存容量和輔存容量

     7)存儲器的帶寬:單位時間內從存儲器讀出的二進制信息量。

     8)主頻/時鐘週期:CPU的工作受主時鐘的控制,主時鐘不斷產生固定頻率的時鐘,主時鐘的頻率叫CPU主頻(f),單位Hz,主頻的倒數叫CPU時鐘週期(T)。T=1/f

     9)CPU執行時間:CPU執行時間=CPU時鐘週期數*CPU時鐘週期,執行一般程序所佔用的時間。

     10)CPI:每條指令週期數,執行一條指令所需的平均時鐘週期數。CPI=CPU時鐘週期數/程序指令條數。

     11)MIPS(Million Instruction Per Second):平均每秒執行多少百萬條定點指令數。MIPS=指令數/(程序執行時間*10^{6}

     12)MFLOPS:每秒執行多少百萬條定點指令數,FLOPS=程序中的浮點操作數/程序執行時間

二、計算機的硬件與軟件

1.計算機系統基本構成

2.計算機的基本構成

(1)馮.諾依曼計算機

         基本思想:存儲程序並按地址順序執行。

         其與哈弗結構的區別:前者指令與數據放在同一個存儲器內;後者指令和數據放在兩個存儲器內。後者速度快。

         六大特點:

                     1)計算機由運算器、控制器、存儲器、輸入設備和輸出設備五大部件構成;

                     2)指令和數據以同等地位存放在存儲器內,並可按地址尋訪;

                     3)指令和數據均用二進制數表示;

                     4)指令由操作碼和地址碼組成,操作碼錶示操作的性質,地址碼錶示操作數在存儲器中的位置;

                     5)指令在存儲器內按順序存放。通常,指令順序執行,特定條件下,可改變執行順序;

                     6)機器以運算器爲中心,輸入輸出設備與存儲器間的數據傳送通過運算器完成。

(2)計算機的硬件框圖

馮.諾依曼計算機,以運算器爲中心:

現代計算機,以存儲器爲中心:

各部件功能如下:

運算器:完成算數運算和邏輯運算,並將運算的中間結果暫存在運算器內;

存儲器:存放數據和程序;

控制器:用來控制、指揮程序和數據的輸入、運行及處理運算結果;

輸入設備:人類能識別的信息轉換成機器能識的形式,如鼠標、鍵盤等;

輸出設備:將機器運算結果轉換爲人類熟悉的信息形式,如打印機、顯示器等。

器件概念合併後的現代計算機通用框圖:

其他部件功能如下:

算數邏輯單元(Arithmetic Logic Unit,ALU)用來完成算數邏輯運算;

控制單元(Control Unit,CU)用來解釋存儲器中的指令,併發出各種操作指令來執行指令。

3.計算機基本解題過程

4.更細化的計算機框圖

各部件組成:

(1)主存儲器

         主存儲器由存儲體M、各種邏輯部件及控制電路等構成。存儲體由許多存儲單元構成,每個存儲單元又包含若干個存儲元,每個存儲元能寄存一位二進制代碼“0”或“1”。可見,一個存儲單元可存儲一串二進制代碼,稱這串二進制代碼爲一個存儲字,其位數稱爲存儲字長。可爲8、16、32、64位等。

         

         主存容量指主存中存放二進制代碼的總數。即存儲容量=存儲單元個數*存儲字長。圖中,MAR的位數反映了存儲單元的個數,MDR的位數反映了存儲字長。如MAR爲16位,表示存儲體內有^{^{2 ^{^{^{^{ 16}}}}}}=65536個存儲單元,即64K個存儲字;MDR爲32位,表示存儲容量爲^{^{2 ^{^{^{^{ 16}}}}}}*32=2M位,通常表示方法:64K*32位。

         主存的工作方式是按存儲單元的地址號來實現對存儲字各位的存(寫入)、取出(讀出)。稱爲按地址存取方式。由於指令和數據都由存儲單元號來反映,因此,取一條指令和取一個數據的操作可完全視爲等同。

         爲了實現按地址訪問的方式,主存中還必須配置兩個寄存器MAR和MDR。

         MAR(Memory Address Register)是存儲器地址寄存器,用來存放預訪問的存儲單元地址;

         MDR(Memory Data Register)是存儲器數據寄存器,用來存放從存儲體某單元取出的代碼或者準備往某存儲單元存入的代碼,其位數與存儲字長相等。

          現代計算機的存儲字長、指令字長及數據字長可各不相同,但必須都是字節的整數倍。

(2)運算器

         運算器最少包括3個寄存器(現代計算機內部往往設有通用寄存器組)和一個算數邏輯單元(ALU)。其中ACC(Accumulator)爲累加器,MQ(Multiplier-Quotient Register)爲乘商寄存器,X爲操作數寄存器。

(3)控制器

         取指週期+執行週期反覆執行。每取出一條指令,控制器的PC自動加1,爲取下一條指令做好準備。

         取指週期從內存中讀出的是指令流,流向控制器;執行週期從內存中讀出的是數據流,由內存流向運算器。

         控制器由程序計數器(Program Counter,PC)、指令寄存器(Instruction Register,IR)以及控制單元(CU)組成。

         PC用於存放當前欲執行指令的地址,它與主存的MAR之間有一條直接通路,且具有自動加1功能,即可自動形成下一條指令地址。

         IR用來存放當前的指令,IR的內容來自主存的MDR。IR中的操作碼OP送至CU,用來分析指令,記作OP(IR)—>CU;IR中的地址碼AD作爲操作數地址送至存儲器的MAR,記作AD(IR)—>MAR。

         CU用來分析當前指令所需完成的操作,併發出各種微操作命令序列,用以控制所有被控對象。

(4)I/O

每一種I/O設備都通過I/O接口與主機聯繫,接受CU發出的各種控制命令,完成相應的操作。如鍵盤接口、打印機接口等。

5.指令執行全過程

         取指令—>分析指令—>執行指令,

         以取數指令爲例:

         因爲指令和操作數均存放在存儲體當中,所以取數指令涉及兩次訪存:第一次取指令送到IR,第二次取數據送到ACC

         

        1)PC—>MAR圖中1(指令地址在PC中,而指令內容在存儲體中,將指令地址送到內存地址寄存器MAR中)

        2)根據MAR中的地址取出存儲體內指定存儲單元的內容,放到內存數據寄存器MDR中圖中2、3

        3)MDR—>IR(操作碼+地址碼—>指令寄存器IR中)圖中4:其中操作碼送到CU中,指定做什麼操作;地址碼爲涉及的地址

        4)OP(IR)—>CU,AD(IR)—>MAR圖中5、6:OP爲取數指令;AD爲要取數的存儲地址

        5)根據MAR中的地址取出存儲體內指定存儲單元的內容,放到內存數據寄存器MDR中圖中7、8

        6)將取出的數放入ACC中圖中9

        以存數指令爲例:

        

6.C語言執行

7.計算機重要部件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章