電腦群組成原理課設——我自己親手寫了機器指令和微指令

來源:互聯網
上載者:User

前言:2014年12月,大二上學期,電腦群組成原理課程設計,我當年親手寫了一些機器指令,甚至設計出了一些微指令(擴充指令集,寫到控制儲存空間裡面),想想都覺得我當年好厲害。。。

PS. 剛剛寫完微機介面課程設計報告,微機介面讓我回想起了一年多前的電腦群組成原理。我把當時的照片和報告都找了出來,溫習了一下~ 設計微指令

x86有一套複雜指令集(CISC),每一條複雜指令背後由若干條微指令組成。

在本次課程設計中,我在實驗箱已有的8086的微指令集的基礎上,擴充了自己寫的7條微指令。

圖:我擴充的微指令,需要寫到控制儲存空間中 編寫的機器指令

這不是C,不是C++,不是Java,而是機器語言。沒錯,就是0、1序列。


圖:最上面3條機器指令是依據我擴充的7條微指令設計出來的“新的機器指令”。下面一排機器指令,是一段完整的程式。這個程式最終應該輸出”9119”、”9108”、”9107”、”0011” 運行結果

運行結果完美符合預期


總結

通過本次實驗,我深入瞭解了微指令的“奧妙”。

從微指令的設計到實現,我已經基本上完全弄明白了。本次實驗中,微指令有 24 位。I0~I5 是下地址,指向下一條微指令的地址;I6~I8 是 F3 表示測試;I9~I11 表示 F2, I12~I14 表示F1,用來控制寄存器;I15~I23 用來表示微指令的功能(比如:加減法,相與或者相或)。

微指令與機器指令的關係,我現在更是理解透徹了。在實驗中,我們組員單步調試(也就是按下脈衝訊號),一步一步跟蹤微地址燈的變化,從而一步一步觀察什麼時候執行哪一條微指令。課本上面說得很輕鬆:一條機器指令對應一段微程式,一段為微程式就是一系列微指令。但是,只有做實驗:親手設計微程式碼;親手串連線路;遇到問題時親手解決難題才能夠真正理解電腦群組成原理的精髓。 完整的課程設計報告

本部落格節選自課程設計中的一個實驗。課程設計總共有4個實驗完整的報告在這裡。下載連結,猛戳這裡,不要積分

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.