国产宅男网站在线|亚洲A级性爱免费视频|亚洲中精品级在线|午夜福利AA毛

  • <dd id="gf5jf"><th id="gf5jf"></th></dd>

    <cite id="gf5jf"><label id="gf5jf"></label></cite>
  • <div id="gf5jf"><listing id="gf5jf"></listing></div>
    學習啦>學習電腦>電腦硬件知識>CPU知識>

    什么是多周期CPU設計

    時間: 文輝886 分享

      多周期CPU設計和單周期CPU的設計相同,都是為了實現(xiàn)一系列的指令功能,以下是小編為大家整理推薦關于多周期CPU設計,希望對您有所幫助。

      多周期CPU設計

      和單周期CPU的設計相同,都是為了實現(xiàn)一系列的指令功能,但需要指出的是何為多周期(注意與前面寫道的單周期的區(qū)別,這也是設計的關鍵之處)

      多周期CPU指的是將整個CPU的執(zhí)行過程分成幾個階段,每個階段用一個時鐘去完成,然后開始下一條指令的執(zhí)行,而每種指令執(zhí)行時所用的時鐘數(shù)不盡相同,這就是所謂的多周期CPU。

      理解完多周期與單周期的區(qū)別后,開始我們的多周期CPU設計之路(可以隨時對應單周期的設計,注意聯(lián)系與區(qū)別)。

      需要設計的指令及格式如下:

      ==>算術運算指令

      (1)add rd, rs, rt

      000000rs(5位)rt(5位)rd(5位)reserved

      功能:rd<-rs + rt

      (2)sub rd, rs, rt

      000001rs(5位)rt(5位)rd(5位)reserved

      完成功能:rd<-rs - rt

      (3)addi rt, rs, immediate

      000010rs(5位)rt(5位)immediate(16位)

      功能:rt<-rs + (sign-extend)immediate

      ==>邏輯運算指令

      (4)or rd, rs, rt

      010000rs(5位)rt(5位)rd(5位)reserved

      功能:rd<-rs | rt

      (5)and rd, rs, rt

      010001rs(5位)rt(5位)rd(5位)reserved

      功能:rd<-rs & rt

      (6)ori rt, rs, immediate

      010010rs(5位)rt(5位)immediate

      功能:rt<-rs | (zero-extend)immediate

      ==>移位指令

      (7)sll rd, rs,sa

      011000rs(5位)未用rd(5位)sareserved

      功能:rd<-rs<<(zero-extend)sa,左移sa位 ,(zero-extend)sa

      ==>傳送指令

      (8)move rd, rs

      100000rs(5位)00000rd(5位)reserved

      功能:rd<-rs +

    什么是多周期CPU設計

    時間: 文輝886 分享

      多周期CPU設計和單周期CPU的設計相同,都是為了實現(xiàn)一系列的指令功能,以下是小編為大家整理推薦關于多周期CPU設計,希望對您有所幫助。

      多周期CPU設計

      和單周期CPU的設計相同,都是為了實現(xiàn)一系列的指令功能,但需要指出的是何為多周期(注意與前面寫道的單周期的區(qū)別,這也是設計的關鍵之處)

      多周期CPU指的是將整個CPU的執(zhí)行過程分成幾個階段,每個階段用一個時鐘去完成,然后開始下一條指令的執(zhí)行,而每種指令執(zhí)行時所用的時鐘數(shù)不盡相同,這就是所謂的多周期CPU。

      理解完多周期與單周期的區(qū)別后,開始我們的多周期CPU設計之路(可以隨時對應單周期的設計,注意聯(lián)系與區(qū)別)。

      需要設計的指令及格式如下:

      ==>算術運算指令

      (1)add rd, rs, rt

      000000rs(5位)rt(5位)rd(5位)reserved

      功能:rd<-rs + rt

      (2)sub rd, rs, rt

      000001rs(5位)rt(5位)rd(5位)reserved

      完成功能:rd<-rs - rt

      (3)addi rt, rs, immediate

      000010rs(5位)rt(5位)immediate(16位)

      功能:rt<-rs + (sign-extend)immediate

      ==>邏輯運算指令

      (4)or rd, rs, rt

      010000rs(5位)rt(5位)rd(5位)reserved

      功能:rd<-rs | rt

      (5)and rd, rs, rt

      010001rs(5位)rt(5位)rd(5位)reserved

      功能:rd<-rs & rt

      (6)ori rt, rs, immediate

      010010rs(5位)rt(5位)immediate

      功能:rt<-rs | (zero-extend)immediate

      ==>移位指令

      (7)sll rd, rs,sa

      011000rs(5位)未用rd(5位)sareserved

      功能:rd<-rs<<(zero-extend)sa,左移sa位 ,(zero-extend)sa

      ==>傳送指令

      (8)move rd, rs

      100000rs(5位)00000rd(5位)reserved

      功能:rd<-rs +

      ==>比較指令

      (9) slt rd, rs, rt

      100111rs(5位)rt(5位)rd(5位)reserved

      功能:如果(rs<rt),則rd=1; 否則 rd=0

      ==>存儲器讀寫指令

      (10)sw rt, immediate(rs)

      110000rs(5位)rt(5位)immediate(16位)

      功能:memory[rs+ (sign-extend)immediate]<-rt

      (11)lw rt, immediate(rs)

      110001rs(5位)rt(5位)immediate(16位)

      功能:rt <- memory[rs + (sign-extend)immediate]

      ==>分支指令

      (12)beq rs,rt, immediate (說明:immediate是從pc+4開始和轉(zhuǎn)移到的指令之間間隔條數(shù))

      110100rs(5位)rt(5位)immediate(16位)

      功能:if(rs=rt) pc <-pc+ 4 + (sign-extend)immediate <<2

      ==>跳轉(zhuǎn)指令

      (13)j addr

      111000addr[27..2]

      功能:pc <{pc[31..28],addr[27..2],0,0},轉(zhuǎn)移

      (14)jr rs

      111001rs(5位)未用未用reserved

      功能:pc<-rs,轉(zhuǎn)移

      ==>調(diào)用子程序指令

      (15)jal addr

      111010addr[27..2]

      功能:調(diào)用子程序,pc <- {pc[31..28],addr[27..2],0,0};<-pc+4,返回地址設置;子程序返回,需用指令 jr 。

      ==>停機指令

      (16)halt (停機指令)

      11111100000000000000000000000000(26位)

      不改變pc的值,pc保持不變。

    1700366