計算機組成原理:中央處理器(1)

一、中央處理器

1.CPU的任務與功能

中央處理器簡稱CPU,是控制計算機自動完成取指令執行指令的部件,是計算機的核心部件
CPU的任務是:
● 取指令:CPU從存儲器中讀取指令。
● 分析指令:對取得的指令進行譯碼,確定需要完成的操作。
● 取操作數:根據指令的地址碼字段,到存儲器、寄存器或IO設備中讀取數據。
● 執行指令:對取出的操作數做指令規定的操作,並把結果寫入存儲器、寄存器或IO設備中。

由此可以得知,CPU的功能是:
● 指令控制:控制程序的執行順序。
● 操作控制:產生每條指令所需的操作信號,並把信號送往各個部件,控制部件按要求進行操作。
● 時間控制:對各種操作實施時間上的控制。
● 數據加工:對數據進行算術和邏輯運算,完成數據的加工處理。(這是CPU最根本的任務)

2.CPU的組成

CPU主要由4個部分組成:
● 算術邏輯運算單元:簡稱ALU,負責完成數據的算術邏輯運算。
● 控制單元:簡稱CU,用於產生各種控制信號。
● 寄存器組:用於存取指令和數據等信息。
● 中斷系統:用於處理異常情況和特殊請求。

有時,也將寄存器組中的寄存器分爲控制單元用ALU用兩類,從而將CPU籠統地分成運算器控制器兩部分。
CPU的組成

3.主要技術參數

  1. 字長:是指在單位時間內同時處理的二進制數據的位數。CPU根據字長可分爲8位、16位、32位和64位CPU。
  2. 主頻:又稱內部工作頻率,是CPU內時鐘信號震盪的速度。其倒數是時鐘週期,是CPU最小的時間元素。
  3. 外部工作頻率:主板爲CPU提供的基準時鐘頻率。
  4. 前端總線頻率:表示前端總線的數據傳輸能力。**前端總線(FSB)**是CPU與外界交換數據的主要通道。
  5. QPI數據傳輸速率:**快速通道互聯(QPI)**是取代FSB的包傳輸高速點到點連接技術,QUI數據包爲80位。
  6. 工作電壓:CPU正常工作的電壓。
  7. 地址總線寬度:決定CPU能夠訪問的最大物理地址空間,即CPU能使用多大的主存。
  8. 數據總線寬度:決定CPU與主存、Cache和IO設備一次數據傳輸的信息量。

二、寄存器

1.寄存器的分類

計算機中的寄存器主要可以分爲兩類:

  1. 用戶可見寄存器:允許機器語言和彙編語言的編程人員訪問的寄存器。
    ● 通用寄存器:可由程序員指定功能,可存放操作數或地址。
    ● 數據寄存器:僅可用於保持數據,不能用於操作數地址計算。
    ● 地址寄存器:用於存放地址或特殊尋址方式,如段指針、變址寄存器等。
    ● 標誌寄存器:用於保存狀態標誌的寄存器。(如溢出標誌)
  2. 控制和狀態寄存器:對用戶透明,由控制器直接控制的寄存器。
    ● 程序計數器PC:存放下一條待取指令的地址。
    ● 指令寄存器IR:存放最近取得的指令。
    ● 存儲器地址寄存器MAR:存有存儲器位置的地址。
    ● 存儲器數據寄存器MDR:存有最近讀出的數據字或將要寫入的數據字。

2.六大典型寄存器

下面是六種常見的典型寄存器:

  1. 指令寄存器IR:存放當前執行的指令。
  2. 程序計數器PC:存放下一條要執行的指令在內存中的地址。
  3. 地址寄存器AR:存放將要訪問的內存單元的地址。
  4. 數據緩衝寄存器DR:存放從內存中讀出、或將要寫入內存的數據。
  5. 通用寄存器:用於存放運算結果或取出操作數。
  6. 程序狀態字寄存器PSW:存放一些狀態標誌位。

三、控制器

1.控制器的功能

控制器是計算機系統的指揮中心,把運算器、存儲器和輸入輸出設備等部件組成一個整體,根據指令的要求指揮全機。
控制器的主要功能是:

  1. 取指令:根據程序計數器PC的值,取出將要執行的指令存入指令寄存器IR,並指出下一條地址的位置。
  2. 分析指令:對指令進行譯碼或測試,產生相應的操作控制信號,啓動規定的動作。
  3. 執行指令:指揮並控制CPU、內存和IO設備之間數據流動的方向。
  4. 控制程序數據的輸入輸出:根據程序安排或人工干預,在適當時向輸入輸出設備發出命令,完成IO功能。
  5. 處理異常和請求:(1)中斷請求中止當前執行的程序,執行中斷程序;(2)DMA請求暫停工作,爲IO設備讓出總線。

2.控制器的組成

控制器主要由以下四個部件組成:

  1. 指令部件:從內存取指令、並對指令進行譯碼;主要有:
    程序計數器PC
    指令寄存器IR
    指令譯碼器:對暫存在IR中的指令進行譯碼;
    地址形成部件:根據指令的尋址方式,形成有效地址。
  2. 時序部件:產生時序信號,保證各功能部件有節奏地進行信息傳送、加工和存儲;主要有:
    脈衝源:產生具有一定頻率和寬度的時鐘脈衝信號,爲整個機器提供基準信號;
    啓停控制邏輯:根據需要開放或封鎖脈衝,控制時序信號的發生和停止;
    節拍發生器:也稱脈衝分配器,產生各個機器週期的節拍信號。
  3. 微操作信號發生器:根據指令操作碼的譯碼和時序信號,產生微操作控制信號;
    主要功能是根據指令譯碼和時序信號產生控制信號,正確選擇數據通路,把數據打入寄存器,完成取/執行指令控制。
  4. 中斷控制邏輯:控制中斷的邏輯
    控制器示意圖

3.控制器的分類

根據微操作控制信號產生方式的不同,可以將控制器分爲:

  1. 組合邏輯型(組合邏輯控制器或硬佈線控制器)
    採用組合邏輯技術實現,控制單元是門電路組成的複雜樹形網絡
  2. 存儲邏輯型(微程序控制器)
    採用存儲邏輯實現。將微操作信號代碼化,使每一條機器指令轉化爲一段微程序存入專門的控制器中。其中微操作信號由微指令產生。
  3. 組合邏輯和存儲邏輯結合型(可編程邏輯陣列(PLA)控制器)
    PLA控制器實際上也是一種組合邏輯控制器,但它又與常規的組合邏輯控制器的硬聯結構不同。是可編程序的,某一微操作控制信號由PLA的某一輸出函數產生。

四、時序系統與控制方式

1.時序系統的基本概念

  1. 指令週期:從取指令、分析指令到執行指令所需要的全部時間;不同指令的指令週期不同。
  2. 機器週期(CPU週期):所有指令執行的一個基準時間,通常是訪問一次內存所需時間;一個指令週期劃分爲若干機器週期,每個機器週期完成一個基本操作。
  3. 時鐘週期:又稱節拍狀態;一個機器週期分爲若干個時鐘週期,每個節拍的寬度對應一個時鐘週期;每個節拍內機器完成一個或多個同時進行的微操作。

指令週期、機器週期和時鐘週期組成多級時序系統
一個指令週期包含若干個機器週期一個機器週期包含若干個時鐘週期
多級時序系統示意

2.控制方式的分類

  1. 同步控制方式
    固定時序的控制方式,任何一條指令或指令中任何一個微操作的執行,都由一個統一的時序信號控制。
    最複雜指令的操作時間作爲統一的時間間隔。
    特點:設計簡單、容易實現、效率低。
  2. 異步控制方式
    各操作不採用同一時序信號控制,而根據指令或部件的具體情況決定,需要多少時間就佔用多少時間。
    操作間採用結束-起始信號的應答方式實現銜接。前一項操作結束後發出結束信號,下一個操作接收信號後給出應答信號
    特點:提高了機器效率,但控制複雜。
  3. 聯合控制方式
    同步方式與異步方式的結合。
    功能部件內部採用同步方式(或同步方式爲主),而在功能部件之間採用異步方式
    通常,CPU內部採用同步方式CPU通過總線訪問外存或外設時採用異步方式

五、指令週期

1.指令的執行過程

一般情況下,一條指令的執行要經過取指令取操作數執行指令三個階段。對應取指週期取操作數週期執行週期
取指階段

  1. 根據PC的值從內存中取出指令送往指令寄存器IR;
  2. PC自增1,形成下一指令的地址;
  3. 進行指令譯碼,確定該指令執行的操作。

取操作數階段:主要根據操作數的尋址方式,計算操作數有效地址並取出操作數。

  1. 取源操作數
  2. 取目的操作數

執行階段:完成指令規定的操作,形成穩定的運算結果,並存入存儲器。

指令執行完成後,要檢查是否有中斷請求,有中斷請求需進入中斷週期,處理中斷;否則繼續取指令,執行指令。
取指階段和執行階段是每條指令執行的必經階段。
取操作數階段並不是所有指令都經過的階段。

2.五個典型指令的指令週期

● MOV指令
  1. CPU週期1:取指週期,共三項操作
    ● 取出指令
    ● PC++
    ● 操作碼譯碼
  2. CPU週期2:根據譯碼結果,執行指令規定的操作。
    MOV指令
● LDA指令
  1. CPU週期1:取指週期。
  2. CPU週期2:完成送操作數地址的操作;
  3. CPU週期3:取出操作數並裝入通用寄存器。
    LDA指令
● ADD指令
  1. CPU週期1:取指週期。
  2. CPU週期2:將寄存器的數據送往ALU做加法計算,結果寫入寄存器。
    ADD指令
● STO指令
  1. CPU週期1:取指週期。
  2. CPU週期2:送操作數地址;
  3. CPU週期3:取出操作數並寫入數存。
    STO指令
● JMP指令
  1. CPU週期1:取指週期。
  2. CPU週期2:直接指令寄存器中的地址碼寫入程序計數器PC。
    JMP指令

由上面的指令對比可以知道,所有指令的取指階段都是完全相同的,並且只使用一個CPU週期;但指令的執行階段,由於不同指令的功能不同,所用的CPU週期也不同。

3.方框圖語言

計算機設計時,可以採用方框圖語言表示指令的指令週期。
具體符號:

  1. 方框:一個方框代表一個CPU週期;
  2. 方框內內容:數據通路的操作或控制操作;
  3. 菱形:判別或測試,時間依附於上一個CPU週期;
  4. ~符號:公操作。

上面的五個典型指令可以用方框圖語言表示:
方框圖語言

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