999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于 Verilog HDL 的多周期 CPU 設(shè)計與實現(xiàn)

2021-01-20 06:21:06嚴(yán)浦洲合肥工業(yè)大學(xué)計算機(jī)與信息學(xué)院計算機(jī)與信息工程系
數(shù)碼世界 2020年12期
關(guān)鍵詞:指令信號設(shè)計

嚴(yán)浦洲 合肥工業(yè)大學(xué) 計算機(jī)與信息學(xué)院計算機(jī)與信息工程系

引言

早期CPU都是單周期的,結(jié)構(gòu)簡單,即讓CPU每個時鐘周期執(zhí)行一條指令。但有的指令執(zhí)行耗時長,有的指令執(zhí)行耗時短,且CPU是執(zhí)行完一條指令再處理下一條的,既然給每個指令的時鐘周期都是相同的,那么時鐘周期就是耗時最長的指令所需的時間。后來人們意識到了計算機(jī)的巨大能力,這時為了提升CPU的速度,優(yōu)化CPU的結(jié)構(gòu),對指令集的所有指令作分析,可以發(fā)現(xiàn)它們處理過程有相同的地方,于是便可將所有的指令切成幾段基本操作,指令執(zhí)行過程由多個基本操作組成,便引入了多周期CPU結(jié)構(gòu)。

1 設(shè)計原理

多周期 CPU 是將單條指令的執(zhí)行劃分為若干個工作周期,每個工作周期用一個時鐘周期完成,每條指令的具體功能決定了完成該指令需要的工作周期數(shù)目。指令執(zhí)行過程中狀態(tài)的轉(zhuǎn)換由有限狀態(tài)機(jī)進(jìn)行實現(xiàn),控制單元根據(jù)指令和其所處工作周期發(fā)出為操作命令信號來控制指令的執(zhí)行。CPU在處理指令時,一般需要經(jīng)過以下幾個階段:

(1) 取指令:根據(jù)PC中的指令地址,從存儲器中取出一條指令,同時PC根據(jù)指令字長度自動遞增產(chǎn)生下一條指令的指令地址。(2)指令譯碼:對指令進(jìn)行分析并譯碼,確定這條指令需要完成的操作。(3)指令執(zhí)行:根據(jù)指令譯碼得到的操作控制信號,具體地執(zhí)行指令動作。(4)存儲器訪問:所有需要訪問存儲器的操作都將在此步驟執(zhí)行,該步驟給出存儲器的數(shù)據(jù)地址,把數(shù)據(jù)寫入到存儲器中數(shù)據(jù)地址所指定的存儲單元或取出。(5)結(jié)果寫回:指令執(zhí)行的結(jié)果或者訪問存儲器中得到的數(shù)據(jù)寫回相應(yīng)的目的寄存器中。

2 總體設(shè)計

2.1 指令類型、格式

表1 指令格式(每種類型以一條指令為例)

op:操作碼;rs:只讀寄存器;rt:可讀可寫,目的操作數(shù)寄存器;rd:只寫寄存器;sa:位移量;funct:功能碼;immediate:16位立即數(shù),用作操作數(shù)、數(shù)據(jù)加載(load)/數(shù)據(jù)保存(store)指令的數(shù)據(jù)地址字節(jié)偏移量和分支指令中相對程序計數(shù)器的有符號偏移量;address:地址。

2.2 狀態(tài)轉(zhuǎn)換圖

圖2 各指令執(zhí)行的狀態(tài)轉(zhuǎn)換圖

首先為每個狀態(tài)定義一個參數(shù),例如定義IF為000,ID為001等。對于EXE狀態(tài),由于分支指令,存取指令和其他指令經(jīng)過的指令執(zhí)行階段各不相同,故定義了aEXE,bEXE,cEXE三個狀態(tài);對于WB狀態(tài),由于sw和lw經(jīng)過的指令執(zhí)行階段不相同,故定義了aWB,cWB兩個狀態(tài)。當(dāng)輸入NextState的狀態(tài)碼與操作碼發(fā)生改變時,使用case產(chǎn)生下一狀態(tài),對case的設(shè)計如下:(1)由于所有指令都需要經(jīng)過IF-ID階段,所以IF的nextState一定是ID。(2)對于ID階段,有四條分叉的支路:對于j,jal,jr,halt指令,它們直接跳轉(zhuǎn),不需要經(jīng)過后面的狀態(tài)則nextStste為IF;其它指令的nextState是EXE。當(dāng)指令是sw、lw指令時,指令的nextState為cEXE;當(dāng)指令是beq指令時,指令的nextState為bEXE;剩余的指令nextState為aEXE。(3)對于aEXE,各種運算指令的結(jié)果無需寫回存儲器,故nextState為aWB;對于bEXE,分支指令的nextState為IF;對于cEXE,由于是存取指令,需要經(jīng)過存儲區(qū),故nextState自然為MEM。(4)對于MEM,如果是lw指令,則要將結(jié)果寫回寄存器,那么nextState為cWB;如果是sw指令,則無需寫回,那么nextState為IF。(5)aWB與cWB的nextState都為IF。

2.3 主要功能部件描述

(1)PC

根據(jù)控制信號PCSrc,計算獲得下一個PC以及控制信號RST重置。根據(jù)復(fù)位信號RST、PC寫使能信號PCWre決定輸出的pc值。與PC相關(guān)的部件還有PCAddFour:獲取順序存儲的下一個地址;PCJump:獲取子程序地址;PCAddImm:獲取跳轉(zhuǎn)后的地址。

(2)指令存儲器

定義8位的寄存器數(shù)組,將指令的32位二進(jìn)制數(shù)分割成4個8位的小段并順序存儲在數(shù)組中。

(3)寄存器堆

根據(jù)指令中的rs,rt到對應(yīng)寄存器堆中獲取數(shù)據(jù),得到要讀的數(shù)據(jù),然后根據(jù)rd將輸入的數(shù)據(jù)存到對應(yīng)的寄存器中。

(4)算術(shù)邏輯單元

在輸入A、輸入B以及ALU控制信號ALUOp發(fā)生變化時,使用case并根據(jù)ALUOp的值執(zhí)行對應(yīng)的操作得到計算的結(jié)果。

(5)數(shù)據(jù)存儲器

定義8位的寄存器數(shù)組,將32位的數(shù)據(jù)分割成4個8位的小段進(jìn)行存取。寫與讀操作的單位是8位二進(jìn)制數(shù),—共操作四次。大端方式存儲。

(6)數(shù)據(jù)選擇器

二選一數(shù)據(jù)選擇器用于選擇ALU的A操作數(shù),B操作數(shù);選擇存入寄存器的數(shù)和選擇寫入寄存器的數(shù);三選一數(shù)據(jù)選擇器選擇要寫入數(shù)據(jù)的目的寄存器是rt,rd還是31號寄存器;四選一數(shù)據(jù)選擇器用于選擇下一條指令的地址。

(7)控制單元

控制單元由三個模塊封裝組成。分別實現(xiàn)當(dāng)時鐘上升沿到來時進(jìn)行狀態(tài)切換;產(chǎn)生下一階段;根據(jù)當(dāng)前狀態(tài)和操作碼產(chǎn)生各部件的控制信號三種功能。

(8)其他

臨時寄存器ADR,BDR,ALUtoDR,DBDR在時鐘信號觸發(fā)下將寄存器中的內(nèi)容輸出;指令寄存器IR用于存放正在執(zhí)行的指令代碼。

3 測試仿真

以指令add $3,$2,$1 (指令編碼為000000 0 0 0 1 0 00001 0001100000000000)為例。

4 結(jié)語

與單周期CPU設(shè)計相比,多周期CPU的數(shù)據(jù)通路上發(fā)生了一些較為明顯的變化。增加了一定數(shù)量的臨時寄存器存儲關(guān)鍵數(shù)據(jù),這是由多周期指令特性決定的。同時,多周期cpu的設(shè)計運用了有限狀態(tài)機(jī)的思想,每個指令在不同的時鐘周期里,其控制信號完全不同,所以需要狀態(tài)機(jī)來控制狀態(tài),并且根據(jù)不同指令的不同狀態(tài)來決定控制信號的輸出,這在單周期cpu里是沒有體現(xiàn)的。所以多周期CPU具有時鐘周期短、各功能部件可共享的優(yōu)點,它既符合現(xiàn)代CPU的真實設(shè)計,又是流水線CPU設(shè)計的基礎(chǔ)。最后通過軟件仿真驗證,來證實所設(shè)計的CPU的正確性,可以看到所設(shè)計的CPU具有實用性。

猜你喜歡
指令信號設(shè)計
聽我指令:大催眠術(shù)
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
ARINC661顯控指令快速驗證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
瞞天過海——仿生設(shè)計萌到家
基于FPGA的多功能信號發(fā)生器的設(shè)計
電子制作(2018年11期)2018-08-04 03:25:42
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
基于LabVIEW的力加載信號采集與PID控制
主站蜘蛛池模板: 99人妻碰碰碰久久久久禁片| 一级香蕉人体视频| 中文字幕天无码久久精品视频免费 | 无码专区国产精品第一页| 一级全黄毛片| 精品综合久久久久久97| 亚洲69视频| 亚洲精品麻豆| 9999在线视频| 免费毛片全部不收费的| 日韩av在线直播| 国产极品美女在线| 最新亚洲人成无码网站欣赏网| 中国毛片网| 欧美一区精品| 综合色婷婷| 欧美成人手机在线观看网址| 国产欧美日韩一区二区视频在线| 亚洲三级影院| 亚洲中文字幕无码爆乳| 国产极品粉嫩小泬免费看| 欧美日韩在线国产| 精品天海翼一区二区| 97免费在线观看视频| 精品久久国产综合精麻豆| 国产麻豆福利av在线播放| 亚洲一区色| 综合色区亚洲熟妇在线| 女人av社区男人的天堂| 国产视频一二三区| 欧美中文一区| Jizz国产色系免费| 国产成人亚洲毛片| 国产成人a在线观看视频| 日本亚洲欧美在线| 久久精品国产亚洲麻豆| 超碰91免费人妻| 黄色网页在线播放| 国产美女91视频| 国产成人精品无码一区二| 国产浮力第一页永久地址| 欧美日韩另类在线| 国产91高跟丝袜| 青青青国产视频手机| 国内精品久久久久鸭| 亚洲欧洲美色一区二区三区| 九月婷婷亚洲综合在线| 免费高清a毛片| 中文字幕欧美日韩高清| 国产小视频网站| 亚洲一区二区三区国产精华液| 老司机午夜精品视频你懂的| 在线毛片网站| 国产欧美日韩视频一区二区三区| 国产呦视频免费视频在线观看| 2019年国产精品自拍不卡| 日韩精品专区免费无码aⅴ| 亚洲成人一区在线| 亚洲一区二区三区香蕉| 久久中文电影| 欧美成人精品高清在线下载| 日韩在线第三页| 老司机午夜精品网站在线观看| 色妞www精品视频一级下载| 国产乱人伦偷精品视频AAA| 欧美一区国产| 中美日韩在线网免费毛片视频| 国产精品一区二区久久精品无码| 国产精品一区在线观看你懂的| 97超爽成人免费视频在线播放| 日本一区二区三区精品国产| 久久国产精品嫖妓| 亚洲美女一区| 98超碰在线观看| 好吊日免费视频| 欧洲极品无码一区二区三区| 国产清纯在线一区二区WWW| 好吊色妇女免费视频免费| 中文字幕欧美日韩高清| 国产黄色免费看| 久久狠狠色噜噜狠狠狠狠97视色| 思思99热精品在线|