學習啦 > 學習電腦 > 電腦硬件知識 > CPU知識 > 多周期CPU設(shè)計

多周期CPU設(shè)計

時間: 袁愷875 分享

多周期CPU設(shè)計

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

  多周期CPU設(shè)計

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

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

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

  需要設(shè)計的指令及格式如下:

  ==>算術(shù)運算指令

  (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知識 > 多周期CPU設(shè)計

多周期CPU設(shè)計

時間: 袁愷875 分享

多周期CPU設(shè)計

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

  多周期CPU設(shè)計

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

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

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

  需要設(shè)計的指令及格式如下:

  ==>算術(shù)運算指令

  (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,返回地址設(shè)置;子程序返回,需用指令 jr 。

  ==>停機指令

  (16)halt (停機指令)

  11111100000000000000000000000000(26位)

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

多周期cpu設(shè)計相關(guān)文章:

1.什么是多時鐘周期cpu

2.平面設(shè)計用什么cpu

3.運行多任務(wù)cpu和什么技術(shù)有關(guān)

4.開網(wǎng)頁cpu單核多核

5.cpu指令集有多少種

1432978