国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【計算機組成 課程筆記】5.1 處理器的設計步驟

這篇具有很好參考價值的文章主要介紹了【計算機組成 課程筆記】5.1 處理器的設計步驟。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

課程鏈接:

計算機組成_北京大學_中國大學MOOC(慕課)

5 - 1 - 501-處理器的設計步驟(14-'49--)_嗶哩嗶哩_bilibili

處理器,或者說是CPU,是現(xiàn)代計算機中最為復雜的一個部件。不過先不要勸退,要設計一個簡單但是能工作的處理器,也沒有那么的神秘。這一節(jié)我們就一起來探索處理器是怎么設計出來的。

0. 處理器的設計步驟

要設計一個處理器,主要分為以下幾個步驟。

【計算機組成 課程筆記】5.1 處理器的設計步驟,計算機系統(tǒng),筆記

1. 首先,需要分析指令系統(tǒng)。指令系統(tǒng)是在處理器設計之前就由軟件和硬件的設計人員共同協(xié)商決定的,關于指令系統(tǒng),可以參考這篇博客:【計算機組成 課程筆記】2.1 設計自己的計算機_Elaine_Bao的博客-CSDN博客。通過分析指令系統(tǒng),我們可以得出指令所要操作的數據需要通過怎樣的一個電路結構,這就是數據通路。

2. 在我們得到這樣的需求之后,我們就可以為數據通路選擇合適的集成電路組件,比如加法器,減法器,寄存器等。

3. 選好了合適的組件之后,我們就按照最開始分析出的需求把這些組件連接起來,就構成了完整的數據通路。

4. 但是僅有數據通路是不夠的,我們還要控制這些數據通路應該如何工作。因此第4步,需要分析每條指令的實現(xiàn),以確定控制數據通路工作的控制信號。

5. 最后是把這些控制信號匯總起來,形成完整的控制邏輯,也可以稱之為控制器。

下面我們還是以MIPS指令系統(tǒng)為例進行講解。不過整個MIPS指令系統(tǒng)的指令還是太多了,我們進行一個簡化,只考慮以下幾條指令:

【計算機組成 課程筆記】5.1 處理器的設計步驟,計算機系統(tǒng),筆記

假設這就是我們當前用來設計處理器的指令系統(tǒng)。那么我們下面就要分析這個指令系統(tǒng)對數據通路有什么樣的需求。

1. 指令系統(tǒng)對數據通路的需求

首先我們對指令的位域進行分解,來看看各個指令的含義。

對于R型指令,它一共分為6個位域,最高的6-bit是操作碼,接下來連續(xù)的3個5-bit的位域各自標明了一個寄存器的編號。然后的5-bit在完整的MIPS指令系統(tǒng)中是用作標記移位的數量,而在咱們簡化后的版本中沒有用到,因此我們可以看成是保留的位域。最后6-bit是功能位域。因此,當我們取到一條R型指令后,就可以將它分解為以上的6組控制信號。

與之類似,I型指令包含了4個位域,也就可以被分解為4組控制信號。

【計算機組成 課程筆記】5.1 處理器的設計步驟,計算機系統(tǒng),筆記

而且我們要注意,這些指令的編碼都是從存儲器中取得的,因此我們首先需要一個存放指令的存儲器。對于指令存儲器來說,它不需要支持寫入的功能,只要可讀就可以了,而且我們希望對于這個存儲器,外界給它32位的地址,它就會給出對應的32位的數據。

那么這個32位的地址又是從哪里來呢?這就是我們的另一個需求,我們需要一個存放指令地址的32位寄存器,稱為PC,也就是程序計數器。

滿足了這兩個需求,我們就可以取得想要的指令了。

然后我們再從指令的操作,來分析其他的需求。

首先來看加法和減法指令。

這兩條指令的主體功能都是選擇兩個不同的寄存器,對它進行加法或減法的運算,然后將結果存入另一個寄存器。因此我們首先需要有一組存放數據的通用寄存器,每個寄存器都是32位的,這樣一組通用的寄存器我們稱為寄存器堆。從加法和減法的指令我們還可以看出,在運算時我們需要同時讀取兩個寄存器的內容,并寫入一個寄存器(兩讀一寫)。

再來看一下立即數的邏輯或指令。

在運算時,它只需要讀取一個寄存器的內容,另一個操作數是一個立即數,其中16位是直接填寫在指令位域當中的,但是我們的運算是32位的,因此這里還有一個需求是將16位立即數擴展到32位。

上述3條指令都是運算指令,因此我們還要支持不同的運算類型的運算器。這個運算器的操作數既可以是寄存器,也可以是擴展后的立即數。

這些就是運算指令的需求了。

【計算機組成 課程筆記】5.1 處理器的設計步驟,計算機系統(tǒng),筆記

我們再來看一下訪存指令。

對于LOAD指令來說,它需要從存儲器中讀出一個字,而這個字所在的存儲單元的地址是由一個寄存器的內容+一個立即數的符號擴展。取出這個字之后,會存放到寄存器堆當中由rt指定的寄存器。

與之相對的還有STORE指令,它是將rt寄存器的內容,寫入到存儲器中。

對于這兩條訪存指令,我們的需求是:首先我們需要一個存放數據的存儲器,這個存儲器既要可讀也要可寫,它的地址輸入以及輸入輸出的數據都是32位的。另外這個地址的計算中需要堆立即數進行符號擴展。這就是訪存指令的主要需求。

【計算機組成 課程筆記】5.1 處理器的設計步驟,計算機系統(tǒng),筆記

最后我們來看分支指令。

對于分支指令,首先要判斷兩個寄存器中的內容是否相等,如果相等就將指令位域中立即數的部分經過變換加到PC上,從而得到新的PC。如果不等則新的PC=PC+4。

因此分支指令的需求,首先是要能否比較兩個寄存器的內容,并判斷是否相等。然后還需要PC寄存器支持兩種自增的方式。一種是+4,一種是+一個立即數。前者對于之前提到的其他指令也都是需要的。

2. 根據需求選擇合適的組件

我們把之前提到的需求總結一下就可以得到對組件的需求。

【計算機組成 課程筆記】5.1 處理器的設計步驟,計算機系統(tǒng),筆記

【計算機組成 課程筆記】5.1 處理器的設計步驟,計算機系統(tǒng),筆記

【計算機組成 課程筆記】5.1 處理器的設計步驟,計算機系統(tǒng),筆記

【計算機組成 課程筆記】5.1 處理器的設計步驟,計算機系統(tǒng),筆記

選擇了上述合適的組件后,我們就可以開始著手建立數據通路的工作了。

3. 連接組件建立數據通路

要建立數據通路,基本原則是分析指令系統(tǒng)中的每一條指令,根據其需求連接組件,從而建立數據通路。那么指令的需求又分為兩大類,一類是所有指令的共同需求,另一類是不同指令的不同需求。

首先我們來看所有指令的共同需求。

首先需要取指令。指令是放在存儲器中的,要從存儲器中取得指令,需要一個地址,這個地址則是存放在PC寄存器中。我們已經有了一個32位的PC寄存器,我們就把PC寄存器的輸出連接到指令存儲器,而指令存儲器則根據地址的輸入,選中對應的存儲單元,并將其內容輸出。這樣我們就得到了所需指令的二進制編碼。

【計算機組成 課程筆記】5.1 處理器的設計步驟,計算機系統(tǒng),筆記

那除了取得當前的指令之外,我們還需要為下一條指令做準備,這就需要更新PC寄存器。這又分成了兩種情況。

大多數時候,指令是順序執(zhí)行的,這種情況下PC只要加上當前指令的長度,就可以得到下一條指令的地址。在MIPS指令系統(tǒng)中,每一條指令都是4個字節(jié)的,所以PC=PC+4。那在我們剛才的結構上面,需要增加一個簡單的加法器,實現(xiàn)PC+4的操作。這樣,當前PC寄存器的內容,既會送到指令存儲器,獲得指令編碼,又會送到加法器,從而計算出一個PC+4的值,在下一個時鐘上升沿來臨時,PC寄存器就會將PC+4的值存入其中,然后再將這個更新后的內容送到指令存儲器和加法器,如此周而復始。

【計算機組成 課程筆記】5.1 處理器的設計步驟,計算機系統(tǒng),筆記

而如果遇到分支指令,那下一條指令的地址就不是簡單的PC+4,而是由分支指令進行指定。因此還需要繼續(xù)修改這個結構。我們需要增加一個二選一的多選器,在順序執(zhí)行時,我們選擇這個多選器的0號輸入端,在發(fā)生分支時,選擇1號輸入端,也就是由分支指令指定的目標地址。那在下一個時鐘上升沿到來的時候,PC寄存器就會采樣這個多選器的輸出,并將其保存起來。

【計算機組成 課程筆記】5.1 處理器的設計步驟,計算機系統(tǒng),筆記

這樣一個結構就完成了不斷取指令的功能,我們把它稱為取指部件(Instruction Fetch Unit, IFU)。IFU作為一個整體,同外界只有一個時鐘信號clk的輸入,和一個多選器選擇信號nPC_sel的輸入,并且提供一個指令編碼Instruction Word的輸出。

我們只用在系統(tǒng)啟動時給PC寄存器一個合適的初始值,并在指令存儲器中存放好我們需要運行的指令,然后在運行過程中給出合適的多選器的選擇信號,這個IFU就可以在時鐘信號的驅動下,自動地連續(xù)工作起來了。

這些就是所有指令的共同需求。

然后我們再根據指令的不同類別,分析它們的各自需求。

首先我們來看加法和減法指令。這兩個指令是R型執(zhí)行,讀寫的都是寄存器,所以我們需要寄存器堆這個組件。指令中讀取的寄存器是rs和rt,寫入的寄存器是rd,所以我們只需要把這3個位域的值連接到寄存器堆的輸入上(Ra,Rb,Rw),這樣在寄存器堆的輸出端,busA就會輸出rs寄存器的內容,busB則會輸出rt寄存器的內容。然后我們將busA和busB連接到ALU的輸入端,并且我們根據指令編碼中的操作碼和功能位域就可以知道當前是加法還是減法指令,通過ALUCtr控制信號來選擇當前ALU提供的運算的類型。然后還要將ALU的輸出連接到寄存器堆的輸入端,也就是busW。在下一個時鐘上升沿到來的時候,如果寄存器堆的寫使能信號RegWr是有效的,busW信號上的內容就會寫入rd所指定的寄存器中。這樣,我們就在一個時鐘周期完成了一條加法或減法的指令。

【計算機組成 課程筆記】5.1 處理器的設計步驟,計算機系統(tǒng),筆記

然后我們來看邏輯運算指令的需求。這是一條I型指令,那么剛才建立的數據通路,要滿足這條指令的運算,還存在幾個問題:1. 目的寄存器是rt而非rd,2. ALU的輸入包含一個立即數,3.立即數只有16位。

針對這幾個問題,我們要把數據通路進行一個改造。針對問題1,增加一個二選一的多選器,來選擇目的寄存器是rd還是rt。針對問題2,增加一個二選一的多選器來選擇ALU的輸入來自于busB(rt寄存器)還是立即數。針對問題3,增加一個零擴展部件對立即數進行擴展。

【計算機組成 課程筆記】5.1 處理器的設計步驟,計算機系統(tǒng),筆記

這樣我們就通過增加兩個多選器和一個零擴展部件來滿足邏輯運算指令帶來的新需求。

然后我們再來看訪存指令的需求。訪存指令也是I型指令。先來看其中的LOAD指令。LOAD指令中存入的地址是rt寄存器,這個需求已經被滿足了。而訪問的地址是將rs寄存器的內容+立即數的符號擴展。這里存在的問題是:1. 目前還不支持符號擴展,2. 這個計算得到的地址應該是去訪問存儲器,從而獲得數據,而不是直接連到寄存器堆的寫入端。

針對這兩個問題,我們繼續(xù)對數據通路進行改造。針對問題1,將原來的零擴展的部件改造為一個多功能的擴展部件,通過控制信號來控制是進行零擴展還是符號擴展。針對問題2,新增一個數據存儲器,這個存儲器根據地址就可以得到對應的存儲單元中的數據。另外增加一個多選器,控制寫入到寄存器中的數據是來自于ALU的輸出還是來自于數據存儲器。

【計算機組成 課程筆記】5.1 處理器的設計步驟,計算機系統(tǒng),筆記

再來看一下另一條訪存指令,STORE指令。這條指令會把rt寄存器的內容寫入到數據存儲器中。所以數據存儲器需要接收一個輸入,來自于busB(rt寄存器),當控制信號MemWr有效時,會進行寫入的操作。這樣我們就滿足了STORE指令的需求。

【計算機組成 課程筆記】5.1 處理器的設計步驟,計算機系統(tǒng),筆記

現(xiàn)在除了比較特殊的分支指令之外,我們已經分析了其他指令的需求,并將各個組件連接了起來。再加上之前已經構造的IFU部件,我們就初步完成了數據通路的建立工作。

【計算機組成 課程筆記】5.1 處理器的設計步驟,計算機系統(tǒng),筆記

現(xiàn)在在處理器的設計步驟中,我們已經完成了前三步。后兩步將會在后續(xù)博客中介紹。文章來源地址http://www.zghlxwxcb.cn/news/detail-696124.html

到了這里,關于【計算機組成 課程筆記】5.1 處理器的設計步驟的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 計算機組成原理——中央處理器

    1 CPU的功能 CPU=計算器+控制器 控制器:協(xié)調并控制計算機各部件執(zhí)行程序的指令序列,包括取指令,分析指令,執(zhí)行指令 計算器:對數據加工 (1)指令控制 (2)操作控制 (3)時間控制 (4)數據加工 (5)中斷處理 2 基本結構 2.1 運算器 (1)算術邏輯單元ALU (2)暫存寄

    2024年02月08日
    瀏覽(21)
  • 計算機組成原理——中央處理器cpu

    計算機組成原理-題庫 中央處理器選擇題 1 、中央處理器(CPU)是指什么。 A、 運算器 B、 控制器 C 、 運算器和控制器 D、 運算器、控制器和主存儲器 2 、在CPU中跟蹤指令后繼地址的寄存器是什么。 A、 主存地址寄存器 B 、 程序計數器 C、 指令寄存器 D、 狀態(tài)條件寄存器 3

    2024年02月10日
    瀏覽(26)
  • 計算機組成原理——第五章中央處理器(中)

    辭別再無相見月,終是一人度春秋 本文主要寫的是控制器的設計,控制器的設計分為硬布件控制器(就是用純硬件的方式來實現(xiàn)的一種控制器)和微程序控制器(本質上是硬件和軟件的一種結合), 兩類控制器中的PC和IR是相同的,但確定和表示指令執(zhí)行步驟的辦法以及給出控制各

    2023年04月18日
    瀏覽(21)
  • 計算機組成原理——課程設計

    計算機組成原理——課程設計

    ? 深入了解計算機各種指令的執(zhí)行過程,以及控制器的組成,指令系統(tǒng)微程序設計的具體知識,進一步理解和掌握動態(tài)微程序設計的概念;完成微程序控制的特定功能計算機的指令系統(tǒng)設計和調試。 1.??? TEC-2機一臺 2.??? 電腦一臺 3.??? TEC-2模擬軟件一套 1.分析TEC-2機的功

    2024年02月08日
    瀏覽(25)
  • 計算機組成原理課程論文:分布式存儲系統(tǒng)組成和應用

    摘要 分布式存儲系統(tǒng)是一種解決大規(guī)模數據處理和存儲需求的重要技術。本文首先對分布式存儲系統(tǒng)進行了概述,包括其定義、優(yōu)缺點等。然后,詳細介紹了分布式存儲系統(tǒng)的組成部分,包括存儲節(jié)點、數據管理軟件、網絡連接和元數據管理,并結合具體案例進行了說明。接

    2024年02月13日
    瀏覽(28)
  • 西南交通大學 計算機組成原理實驗課程設計

    西南交通大學 計算機組成原理實驗課程設計

    ?代碼部分: 波形圖部分: (上圖Load為2節(jié)拍,我之前寫錯了。。。這里忘了改了)

    2024年02月13日
    瀏覽(45)
  • 【計算機三級嵌入式】考試自學筆記(三)——嵌入式系統(tǒng)硬件組成、嵌入式處理芯片以及存儲器介紹

    【計算機三級嵌入式】考試自學筆記(三)——嵌入式系統(tǒng)硬件組成、嵌入式處理芯片以及存儲器介紹

    常考知識點: 嵌入式最小硬件組成 嵌入式處理芯片 嵌入式系統(tǒng)的存儲器 I/O接口及常用I/O設備 ARM內核典型嵌入式處理芯片 嵌入式系統(tǒng)外部通信接口 嵌入式最小硬件系統(tǒng)的組成如下: 嵌入式硬件系統(tǒng)≠嵌入式最小硬件系統(tǒng) 電源電路 :為整個嵌入式系統(tǒng)提供能量 時鐘電路 :

    2023年04月12日
    瀏覽(33)
  • 計算機組成原理課程論文: Intel 80386/80486 的體系架構調研

    計算機組成原理課程論文: Intel 80386/80486 的體系架構調研

    本文以Intel 80386/80486體系架構為研究對象,詳細介紹了該體系架構的基本概念、特點和優(yōu)勢,分析了其在不同領域的應用情況,并對其未來的發(fā)展做出一定的展望和評價。 首先,我們介紹了研究背景和目的,闡述了Intel 80386/80486體系架構的重要性和應用領域,引出了本次調研

    2024年02月13日
    瀏覽(19)
  • 【架構】探索計算機處理器的世界:ARM和x86架構解析及指令集

    計算機處理器是數字化時代的核心引擎,而在眾多處理器架構中,ARM和x86是備受關注的三個。本文將帶您深入探索這三個架構,介紹它們的特點、公司背景以及應用領域。讓我們一起揭開計算機處理器的神秘面紗吧! ARM(Advanced RISC Machines)是一種計算機指令集架構(ISA),

    2024年02月11日
    瀏覽(20)
  • 計算機組成原理 期末復習筆記

    計算機組成原理 期末復習筆記

    ??博客主頁:大寄一場. ??博客制作不易歡迎各位??點贊+?收藏+?關注 ? 目錄 前言 第一章 計算機系統(tǒng)概論 計算機軟件的發(fā)展 ?計算機硬件的基本組成 計算機系統(tǒng)的層次結構 ?編輯 計算機的性能指標 第二章 數據表示 與 第三章 數據運算與運算器 第四章 存儲系統(tǒng) 存儲

    2024年02月07日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包