今天寫一下計算機中最核心的一部分,就是計算機的大腦---cpu。cpu也就是**處理器(central processing unit)。**處理器是一塊超大規模的積體電路,是一台計算機的運算核心(core)和控制核心(control unit)。它的功能主要是解釋計算機指令以及處理計算機軟體中的資料。
1、cpu組成
**處理器主要包括運算器(算術邏輯運算單元,alu,arithmetic logic unit)和高速緩衝儲存器(cache)及實現它們之間聯絡的資料(data)、控制及狀態的匯流排(bus)。它與內部儲存器(memory)和輸入/輸出(i/o)裝置合稱為電子計算機三大核心部件。來張圖更加清晰明了的知道cpu的組成:
這張圖其實包含著cpu處理資料,處理指令的執行過程,這張圖比較複雜。
2、cpu的物理結構(cpu包括運算邏輯部件、暫存器部件和控制部件等)
(1)英文logic components;運算邏輯部件。可以執行定點或浮點算術運算操作、移位操作以及邏輯操作,也可執行位址運算和轉換。
(2)暫存器部件,包括暫存器、專用暫存器和控制暫存器。 通用暫存器又可分定點數和浮點數兩類,它們用來儲存指令執行過程中臨時存放的暫存器運算元和中間(或最終)的操作結果。 通用暫存器是**處理器的重要部件之一。
(3)英文control unit;控制部件,主要是負責對指令解碼,並且發出為完成每條指令所要執行的各個操作的控制訊號。其結構有兩種:一種是以微儲存為核心的微程式控制方式;一種是以邏輯硬佈線結構為主的控制方式。微儲存中保持微碼,每乙個微碼對應於乙個最基本的微操作,又稱微指令;各條指令是由不同序列的微碼組成,這種微碼序列構成微程式。**處理器在對指令解碼以後,即發出一定時序的控制訊號,按給定序列的順序以微週期為節拍執行由這些微碼確定的若干個微操作,即可完成某條指令的執行。簡單指令是由(3~5)個微操作組成,複雜指令則要由幾十個微操作甚至幾百個微操作組成。
3、cpu工作過程(粗略的)
cpu從儲存器或高速緩衝儲存器中取出指令,放入指令暫存器,並對指令解碼。它把指令分解成一系列的微操作,然後發出各種控制命令,執行微操作系列,從而完成一條指令的執行。指令是計算機規定執行操作的型別和運算元的基本命令。指令是由乙個位元組或者多個位元組組成,其中包括操作碼字段、乙個或多個有關運算元位址的字段以及一些表徵機器狀態的狀態字以及特徵碼。有的指令中也直接包含運算元本身。
4、cpu效能引數(主頻和快取)
計算機的效能在很大程度上由cpu的效能決定,而cpu的效能主要體現在其執行程式的速度上。影響執行速度的效能指標包括cpu的工作頻率、cache容量、指令系統和邏輯結構等引數。
(1)主頻
主頻也叫時鐘頻率,單位是兆赫(mhz)或千兆赫(ghz),用來表示cpu的運算、處理資料的速度。通常,主頻越高,cpu處理資料的速度就越快。cpu的主頻=外頻×倍頻係數。主頻和實際的運算速度存在一定的關係,但並不是乙個簡單的線性關係。 所以,cpu的主頻與cpu實際的運算能力是沒有直接關係的,主頻表示在cpu內數字脈衝訊號**的速度。在intel的處理器產品中,也可以看到這樣的例子:1 ghz itanium晶元能夠表現得差不多跟2.66 ghz至強(xeon)/opteron一樣快,或是1.5 ghz itanium 2大約跟4 ghz xeon/opteron一樣快。cpu的運算速度還要看cpu的流水線、匯流排等各方面的效能指標。
(2)快取
快取大小也是cpu的重要指標之一,而且快取的結構和大小對cpu速度的影響非常大,cpu內快取的執行頻率極高,一般是和處理器同頻運作,工作效率遠遠大於系統記憶體和硬碟。實際工作時,cpu往往需要重複讀取同樣的資料塊,而快取容量的增大,可以大幅度提公升cpu內部讀取資料的命中率,而不用再到記憶體或者硬碟上尋找,以此提高系統效能。但是由於cpu晶元面積和成本的因素來考慮,快取都很小。
計算機中的定址
電腦的位數通常是指cpu的處理位數,這個不是靠位址匯流排來決定的,這個位數指的是cpu 通用暫存器的資料寬度,即cpu一次運算可以處理的資料bit長度。前面所說的是記憶體空間足夠的情況,下面用過一道軟考題目解釋記憶體空間 定址範圍的情況 某計算機字長32位,儲存容量8mb。按字編址,其定址範圍為 0...
計算機中的單位
關於字的概念,今天才發現自己一直沒有弄清楚.原來,對於字長為16位的計算機,儲存器中兩個連續位元組被稱為字 word 乙個字有16個位元 四個連續的位元組被稱為雙字 doubleword 雙字有32個位元。如果計算機的字長為32位,則乙個字有4個位元組,即32個二進位制,雙字的長度相應的為64個二進...
計算機中的編碼
ascii 英文編碼,用乙個位元組 0 255 表示英文本元 gb2312 漢字編碼,用兩個位元組表示中文漢字,同時相容英文 多餘的部分用0補足 但是其他國家的文字都有自己的編碼方式,當不同國家的文字在一起時不能相容,此時出現了unicode編碼 但是unicode編碼在表示英文本元時會浪費一倍的儲...