日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

8.1-CPU结构(学习笔记)

發布時間:2023/12/3 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 8.1-CPU结构(学习笔记) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【README】

本文總結自bilibili《計算機組成原理(哈工大劉宏偉)》的視頻講解,非常棒,墻裂推薦;


【1】CPU結構

Cpu的首要功能就是解釋指令;功能列表如下:

  • 1)?? ?取指令:從內存中讀取指令;
  • 2)?? ?分析指令:對指令的操作碼部分進行解碼;分析這條指令要完成什么功能,是指令集中的哪一條指令;
  • 3)?? ?執行指令: cpu控制器發出各種操作命令,由這些操作命令去控制相關部件去完成指令要求的操作;(這些操作命令有一定的先后順序);
  • 4)?? ?控制器控制參數輸入及結果輸出;
  • 5)?? ?總線管理: 對總線的控制權,使用權進行管理;
  • 6)?? ?處理異常情況和特殊請求: 在程序執行過程中,控制器能夠對異常情況,或特殊請求進行及時處理;

【2】cpu結構框圖

【2.1】總線功能列表

1)?? ?控制總線:雙向,由cpu向各個部件發出的控制命令,或外部設備向cpu提出的請求以及外部設備的狀態,可以通過控制總線來傳輸;
2)?? ?數據總線:雙向,由cpu向存儲器或外設寫出或讀入數據;
3)?? ?地址總線:單向, 由cpu發出,送給內存或外設接口;

【2.2】cpu內部結構

【2.2.1】寄存器

PC,程序計數器寄存器,存儲要取出的指令的地址;
IR,指令寄存器,從內存中取出指令,被放入到IR寄存器中;

。。。其他寄存器;

【2.2.2】控制單元CU

操作控制和實際控制:這兩部分需要控制單元CU,由控制單元對指令進行譯碼,譯碼之后,在給定時刻給出給定的操作命令;

【2.2.3】ALU(算術邏輯運算單元):

算術運算,邏輯運算都是在ALU中進行計算中;
另外在運算過程中,還需要寄存器,如2個操作數可能都保存在寄存器中,或運算結果也需要輸出到寄存器中;

【2.2.4】中斷系統

還需要中斷處理,所以需要中斷系統;

refer2 計算機中斷系統小結(cpu響應中斷)_PacosonSWJTU的博客-CSDN博客_各中斷源如何向cpu提出中斷請求


?【3】cpu的寄存器

?【3.1】用戶可見寄存器

1)?? ?通用寄存器:用于存放操作數,如8086cpu的AX,BX等;
2)?? ?數據寄存器:存放操作數,如有保存整數的寄存器,也有保存浮點數的寄存器;如把ACC寄存器和MQ寄存器拼接在一起用于保存兩個數相乘的積;
3)?? ?地址寄存器:保存地址,如8086cpu中的段寄存器,如段基址,堆棧指針寄存器SP;
4)?? ?條件碼寄存器:存放條件碼,根據條件碼來判斷是否要跳轉執行指令;

補充:用戶可見的寄存器指的是 用戶在編寫程序的過程中,可以使用這些寄存器的值;

【3.2】控制和狀態寄存器

PC -> MAR -> M -> MDR ->IR? 講的是取指令的過程,其中

  • PC-程序計數器寄存器:保存了將要執行的下一條指令的地址;
  • MAR-主存(內存)地址寄存器:保存了訪問內存(訪存)的地址,從內存讀出或寫入內存某地址;
  • M:主存(內存);
  • MDR-主存(內存)數據寄存器:保存了訪問內存(訪存)的數據,從內存的MAR指定的地址單元讀取的數據,或寫入到MAR指定的地址單元的數據;
  • IR:指令寄存器:存儲要執行的指令;(而PC存儲的下一條執行的地址)
  • 步驟如下:

  • PC -> MAR :PC(程序計數器寄存器)保存了下一條執行指令的地址,把下一條指令地址送入到MAR;
  • MAR -> M :MAR中的指令地址送入到地址總線,地址總線再送入到主存;
  • M -> MDR:從主存的MAR指定的內存單元讀取數據(指令)到MDR
  • MDR ->IR? :把讀取的數據(指令)從MDR 送入 IR;
  • 寫到這里,本文擴展性的給出取指令的步驟(干貨):

    步驟

    描述

    1

    PC把下一條指令的內存地址送入MAR;

    2

    MAR把地址送到地址總線,再由地址總線送到存儲器;

    3

    CU把讀控制信號送到控制總線上;再由控制總線送到存儲器;

    4

    存儲器執行讀操作,把相應的數據送到數據總線;通過數據總線送到MDR;

    (這個時候,指令已經被取出到cpu了,并保持到MDR寄存器中)

    5

    MDR把指令送到IR中;

    6

    CU把PC加1(得到下一條指令的地址);為下一條指令的取指操作做準備;

    【補充】

    狀態寄存器 :反映了指令執行結果的情況或計算機的軟硬件狀態;
    PSW: 程序狀態字寄存器(procedure state word);

    程序狀態字是什么?
    在中斷或者是子程序調用過程中,為了能夠讓程序能夠正確返回斷點,返回斷點后,還能夠接著執行給定程序;在中斷前或轉子程序前,就需要保存程序的運行現場和斷點,包括了程序運行的軟硬件信息;這些軟硬件信息就可以保存在程序狀態字寄存器(它是一個大的寄存器);


    【4】控制單元CU和中斷系統??

    【4.1】控制單元CU

    1)控制單元作用:產生全部指令在執行時所需要的微操作命令序列;

    任何一條指令的執行,它會在cpu中譯碼;
    根據它是一條什么樣的指令,或完成什么功能;要產生完成這些功能所需的微操作命令及序列(保證微操作命令的順序);

    2)控制器的設計方式

    • 組合邏輯設計: 通過硬連線邏輯,如精簡指令集計算機 CISC;
    • 微程序設計:存儲邏輯;適用于復雜指令的設計;

    總結

    以上是生活随笔為你收集整理的8.1-CPU结构(学习笔记)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。