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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

9.1-微操作命令的分析(学习笔记)

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

【README】

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


1)完成一條指令需要4個周期:

  • 取值周期;
  • 間址周期(或有);
  • 執行周期;
  • 中斷周期(或有);

看一下,在取指,間指,指令分析,指令執行以及中斷響應過程中,控制單元CU到底要發出哪些微控制命令(引出問題)
2)微操作命令定義指的是這些命令是在指令解釋過程中,控制單元發出的命令;這些命令要完成的動作與整條指令相比要小得多;所以叫做微操作命令;


【1】取指周期微操作命令分析

1)取指周期數據流的步驟:

步驟

描述

1

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

2

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

3

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

4

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

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

5

MDR把指令送到IR中;

6

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

?2)取指周期還要完成一項動作就是譯碼
譯碼就是確定指令要完成什么操作;具體什么操作根據指令操作碼給出;
所以需要把IR(指令寄存器)中的指令操作碼部分送給CU(OPCODE(IR) –>CU ),由CU譯碼,來確認這條指令具體是做什么操作;


【2】間址周期

間址周期數據流的步驟:

步驟

描述

1

IR存儲的指令中的形式地址送到MAR;

2

MAR把地址送到地址總線,再通過地址總線送給存儲器;

3

CU發出讀操作到控制總線;控制總線再送入存儲器中;

4

存儲器完成讀操作后,把數據送到數據總線;再由數據總線送到MDR;

(MDR就保存了指令用到的操作數所在的內存地址)

5

MDR把操作數的真實地址送入IR寄存器中的地址碼部分;

步驟2~5這4個操作,是間址周期控制單元CU要發送的控制命令(微操作命令);


【3】執行周期

【3.1】非訪存指令

序號

指令

描述

控制器CU微操作

1

CLA

把寄存器A清零;如A=ACC寄存器;

控制器只要把0送給A寄存器即可;1條微操作命令;

2

COM

取反

把acc寄存器的內容每位取反;

1條控制命令就可以做;

3

SHR

算術右移

2條微操作命令;

4

CSL

循環左移

2條微操作命令;

最高位移動到最低位;

5

STP

停機指令

1條微操作命令;

給停機標志設置0即可;


?【3.2】訪存指令

ADD X:把ACC寄存器的數據與X內存地址中的內容相加,結果存入ACC;

  • 微控制命令1,Ad(IR)-> MAR,把IR地址碼部分取出,送入MAR寄存器;MAR寄存器通過地址總線送入存儲器;
  • 微控制命令2,CU控制單元發出讀命令到控制總線,控制總線再發給存儲器;
  • 微控制命令3,存儲器從MAR給定內存地址單元讀取操作數,并送入MDR寄存器;
  • 微控制命令4,把ACC中的操作數與MDR中的操作數相加;結果存入ACC;

LDA X:取數指令,把X指定的內存地址單元的數據取出,并送入ACC寄存器;

3.轉移指令
3.1 無條件轉移 JMP X;
Ad(IR) –> PC ;把指令的地址碼部分送入pc寄存器即可;

3.2 條件轉移 BAN X (負則轉,即上一次計算結果為負值,則轉移到X指定的指令)
上一條指令的計算結果存入了ACC寄存器;
A0 表示計算結果符號位;

【小結】指令分類

序號

指令分類

例子

1

非訪存指令

CLA-把A清0;

COM-取反;

SHR-算術右移;

CSL-循環左移;

STP-停機指令;

2

訪存指令

加法指令;ADD X

存數指令;STA X

取數指令;LAD X

3

轉移指令

無條件轉移;JMP X

條件轉移;BAN X

?

?


【4】 中斷周期

中斷周期:做3件事情

  • 保存斷點;
  • 形成中斷服務程序入口地址;、
  • 關中斷;
  • 操作

    程序斷點存入0地址

    程序斷點進棧

    保存斷點

    0 -> MAR;把地址0送入MAR

    (SP)-1 –> MAR;把指令指針寄存器SP的內容減1(棧頂地址)送給MAR;

    1->W;把讀命令傳入控制總線,進而傳給存儲器;

    PC->MDR;斷點指令存入MDR

    PC->MDR

    MDR->M(MAR)MDR把斷點指令存入MAR(地址0指定的內存單元;

    MDR->M(MAR)MDR把斷點指令存入MAR(棧頂地址)指定的內存單元;

    形成中斷服務入口地址

    向量地址->PC;

    或中斷識別程序入口地址M->PC

    關中斷

    0->EINT;把0送入允許中斷觸發器;關中斷就是不允許其他中斷源提出中斷請求;

    總結

    以上是生活随笔為你收集整理的9.1-微操作命令的分析(学习笔记)的全部內容,希望文章能夠幫你解決所遇到的問題。

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