多周期數(shù)據(jù)通路資料:
和單周期CPU的設(shè)計(jì)相同,都是為了實(shí)現(xiàn)一系列的指令功能,但需要指出的是何為多周期(注意與前面寫(xiě)道的單周期的區(qū)別,這也是設(shè)計(jì)的關(guān)鍵之處)
多周期CPU指的是將整個(gè)CPU的執(zhí)行過(guò)程分成幾個(gè)階段,每個(gè)階段用一個(gè)時(shí)鐘去完成,然后開(kāi)始下一條指令的執(zhí)行,而每種指令執(zhí)行時(shí)所用的時(shí)鐘數(shù)不盡相同,這就是所謂的多周期CPU。
理解完多周期與單周期的區(qū)別后,開(kāi)始我們的多周期CPU設(shè)計(jì)之路(可以隨時(shí)對(duì)應(yīng)單周期的設(shè)計(jì),注意聯(lián)系與區(qū)別)。
需要設(shè)計(jì)的指令及格式如下:


































































?
1、ALU完成
2、PC完成?? 由PC和PCAddr模塊共同構(gòu)成
3、擴(kuò)展Extend完成
4、DataMemory完成? 這里用到寄存器存儲(chǔ)
Reg[7:0] memory[0:63];
memory[addr]= Data2[31:24];
memory[addr+1] = Data2[23:16];
memory[addr+1]= Data2[15:8];
memory[addr+1]= Data2[7:0];
讀數(shù)據(jù)也是如此。
5、指令存儲(chǔ)器
8位數(shù)據(jù)往里讀
6、? 寄存器單元???????????
7、? 二選一數(shù)據(jù)模塊? DataSelect_2?????