2013-04-11 62 views
1

因此,我正在爲我的計算機組織決賽進行一些舊的測驗,我一定錯過了這個講座或其他東西。我在編程MIPS方面非常精通,但這個問題讓我完全陷入困境。有人能幫我理解這一點嗎?設計一個簡化的MIPS處理器

連接處理器的各個部分,以及一個多路轉換器,用於確定下一個指令地址,從PC + 4或從寄存器如在 jr ra指令來

enter image description here

+0

你的身材看起來很像你的教授可能開始與[容易獲得圖](http://en.wikipedia.org/wiki/File:MIPS_Architecture_(流水線).SVG),並刪除了部分他沒有關心。 – 2013-04-11 02:31:12

回答

1

該圖缺失線路。

需要有一行從ALU到寄存器文件的寫入數據部分。這是針對R型指令的,因爲它們的結果需要寫回到目標寄存器。進入ALU需要來自讀數據1和讀數據2的線路,這就是寄存器的值如何進入ALU的R型指令。

從指令存儲器向寄存器中添加了一對行,但您錯過了寫入寄存器的行(這指定了R型指令的目標寄存器)。

對於PC,將轉換爲的行將加入另一個輸入(上面的那個)。加法器的4是恆定的,因爲每個指令地址是前一個指令地址的4個字節,所以除非我們跳轉到地址,否則我們將在當前指令之後立即執行指令。由於PC指定了哪個指令地址來查找當前指令,因此從PC到讀取地址的行也是必需的。進入PC的線路來自PC + 4的附加結果jr ra指令中指定的寄存器的結果。

爲了處理這個決定,需要一個多路複用器。多路複用器具有兩個輸入和一個輸出,所以這一個將具有從PC + 4加法器(用於常規R型指令)的一個輸入和另一個從讀數據1(用於jr ra說明)。來自讀數據1的輸入應該被看作是從讀數據1和ALU之間的線中分開的。輸出將直接回到PC,因爲它決定了下一條要執行的指令。

我認爲這就是問題所需要的一切,因爲prof指定了控制信號已經生成(多路複用器是一種控制單元,但我認爲這是必需的)。希望有所幫助!