久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

西南交通大學計算機組成原理課程設計報告

時間:2019-05-14 02:05:51下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《西南交通大學計算機組成原理課程設計報告》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《西南交通大學計算機組成原理課程設計報告》。

第一篇:西南交通大學計算機組成原理課程設計報告

《計算機組成實驗 C》

課程設計

適用專業:電子信息類專業

專 班 學 姓

業:軟件工程 級:軟件一班 號: 名:某某某

指導教師:陳紅梅

實驗學期:2014-2015 第 1 學期

西 南 交 通 大 學

信息科學與技術學院 目錄

簡化計算機系統的設計.......................................................................................................................2

一、實驗目的...............................................................................................................................2 二.、實驗內容...............................................................................................................................2 三.、預習要求...............................................................................................................................2

四、實驗報告...............................................................................................................................2 1.BLOCK圖...........................................................................................................................3 2.程序設計(紙質的版本我用手抄)...........................................................................4 3.仿真波形圖.................................................................................................................11

4、仿真中遇到的問題:...................................................................................................14

五、實驗感想............................................................................................................................15

簡化計算機系統的設計

一、實驗目的

通過學習簡單的指令系統及其各指令的操作流程,用 VHDL 語言實現簡單 的處理器模塊,并通過調用存儲器模塊,將處理器模塊和存儲器模塊連接形成簡化的計 算機系統。

二.、實驗內容

1.用 VHDL 語言實現簡單的處理器模塊。2.調用存儲器模塊設計 64×8 的存儲器模塊。

3.將簡單的處理器模塊和存儲器模塊連接形成簡單的計算機系統。4.將指令序列存入存儲器,然后分析指令執行流程。

三.、預習要求

1、學習簡單指令集。

2、學習各指令的操作流程。

四、實驗報告

1.BLOCK圖

2.程序設計(紙質的版本我用手抄)

CPU的設計: LIBRARY ieee;USE ieee.std_logic_1164.ALL;

PACKAGE mypack IS CONSTANT idle : std_logic_vector(3 DOWNTO 0):=“0000”;CONSTANT load : std_logic_vector(3 DOWNTO 0):=“0001”;CONSTANT move : std_logic_vector(3 DOWNTO 0):=“0010”;CONSTANT addx : std_logic_vector(3 DOWNTO 0):=“0011”;CONSTANT subp : std_logic_vector(3 DOWNTO 0):=“0100”;CONSTANT andp : std_logic_vector(3 DOWNTO 0):=“0101”;CONSTANT orp : std_logic_vector(3 DOWNTO 0):=“0110”;CONSTANT xorp : std_logic_vector(3 DOWNTO 0):=“0111”;CONSTANT shrp : std_logic_vector(3 DOWNTO 0):=“1000”;CONSTANT shlp : std_logic_vector(3 DOWNTO 0):=“1001”;CONSTANT swap : std_logic_vector(3 DOWNTO 0):=“1010”;CONSTANT jmp : std_logic_vector(3 DOWNTO 0):=“1011”;CONSTANT jz : std_logic_vector(3 DOWNTO 0):=“1100”;CONSTANT read : std_logic_vector(3 DOWNTO 0):=“1101”;CONSTANT write : std_logic_vector(3 DOWNTO 0):=“1110”;CONSTANT stop : std_logic_vector(3 DOWNTO 0):=“1111”;END mypack;

LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;USE WORK.mypack.ALL;

------------------------cpu實體聲明--ENTITY cpu IS PORT(reset : IN std_logic;--清零信號低有效

clock : IN std_logic;--時鐘信號

Write_Read: OUT std_logic;--讀寫信號,'1'為寫 M_address: OUT std_logic_vector(11 DOWNTO 0);--地址線 M_data_in: IN std_logic_vector(7 DOWNTO 0);--數據輸入線 M_data_out: OUT std_logic_vector(7 DOWNTO 0);--數據輸出線

overflow: OUT std_logic);

--溢出標志 END cpu;

------------------------cpuRTL級行為描述-

ARCHITECTURE RTL of cpu IS

SIGNAL IR: std_logic_vector(15 DOWNTO 0);--指令寄存器 SIGNAL MDR: std_logic_vector(7 DOWNTO 0);--數據寄存器 SIGNAL MAR: std_logic_vector(11 DOWNTO 0);--地址寄存器 SIGNAL status: integer RANGE 0 TO 6;--狀態寄存器 BEGIN status_change: PROCESS(reset, clock, status)BEGIN IF reset = '0' THEN status <= 0;ELSIF clock'EVENT AND clock = '0' THEN

CASE status IS WHEN 0 =>

status <= 1;WHEN 1 => IF IR(15 DOWNTO 12)= Stop THEN

status <= 1;ELSE

status <= 2;END IF;WHEN 2 => CASE IR(15 DOWNTO 12)IS

WHEN Read|Write|Jmp|Jz|Swap =>

status <= 3;

WHEN OTHERS =>

status <= 0;

END CASE;WHEN 3 => IF IR(15 DOWNTO 12)= Swap THEN

status <= 0;ELSE

status <= 4;END IF;WHEN 4 => status <= 5;WHEN 5 => CASE IR(15 DOWNTO 12)IS

WHEN Read|Write =>

status <= 6;

WHEN OTHERS =>

status <= 0;

END CASE;WHEN OTHERS => status <= 0;END CASE;

ELSE

NULL;END IF;END PROCESS status_change;

seq: PROCESS(reset,clock)

VARIABLE PC:std_logic_vector(11 DOWNTO 0);--程序計數器

VARIABLE R0,R1,R2,R3: std_logic_vector(7 DOWNTO 0);--通用寄存器

VARIABLE A: std_logic_vector(7 DOWNTO 0);--臨時寄存器

VARIABLE temp: std_logic_vector(8 DOWNTO 0);--臨時變量 BEGIN IF(reset='0')THEN

--清零

IR <=(OTHERS=>'0');PC :=(OTHERS=>'0');R0 :=(OTHERS=>'0');R1 :=(OTHERS=>'0');R2 :=(OTHERS=>'0');R3 :=(OTHERS=>'0');A :=(OTHERS=>'0');MAR <=(OTHERS=>'0');MDR <=(OTHERS=>'0');ELSIF(clock'event AND clock='1')THEN overflow <= '0';CASE status IS

WHEN 0=>--狀態0 IR <= M_data_in & “00000000”;

--取指令

PC := PC+1;

--程序計數器加1

WHEN 1=>--狀態1 IF(IR(15 DOWNTO 12)/= stop)THEN MAR <= PC;

END IF;

CASE IR(15 DOWNTO 12)IS WHEN load => R0:= “0000” & IR(11 DOWNTO 8);WHEN shlp|shrp => CASE IR(11 DOWNTO 10)IS

--Rx to A WHEN “00”=> A:= R0;WHEN “01”=> A:= R1;WHEN “10”=> A:= R2;WHEN OTHERS => A:= R3;END CASE;WHEN Move|addx|subp|andp|orp|xorp|Swap=> CASE IR(9 DOWNTO 8)IS

--Ry to A WHEN “00”=> A:=R0;WHEN “01”=> A:=R1;WHEN “10”=> A:=R2;WHEN OTHERS=> A:=R3;END CASE;WHEN OTHERS => NULL;END CASE;

WHEN 2=>--狀態2

CASE IR(15 DOWNTO 12)IS WHEN addx =>--Rx:= Rx + A;CASE IR(11 DOWNTO 10)IS WHEN “00”=> temp :=(R0(7)& R0(7 DOWNTO 0))+(A(7)& A(7 DOWNTO 0));

R0:=temp(7 DOWNTO 0);

overflow <= temp(8)XOR temp(7);WHEN “01”=> temp :=(R1(7)& R1(7 DOWNTO 0))+(A(7)& A(7 DOWNTO 0));

R1:=temp(7 DOWNTO 0);

overflow <= temp(8)XOR temp(7);WHEN “10”=> temp :=(R2(7)& R2(7 DOWNTO 0))+(A(7)& A(7 DOWNTO 0));

R2:=temp(7 DOWNTO 0);

overflow <= temp(8)XOR temp(7);WHEN OTHERS=> temp :=(R3(7)& R3(7 DOWNTO 0))+(A(7)& A(7 DOWNTO 0));

R3:=temp(7 DOWNTO 0);

overflow <= temp(8)XOR temp(7);END CASE;WHEN subp =>--Rx:= Rx-A;CASE IR(11 DOWNTO 10)IS WHEN “00”=> temp :=(R0(7)& R0(7 DOWNTO 0))+ NOT(A(7)& A(7 DOWNTO 0))+ 1;

R0:=temp(7 DOWNTO 0);

overflow <= temp(8)XOR temp(7);WHEN “01”=> temp :=(R1(7)& R1(7 DOWNTO 0))+ NOT(A(7)& A(7 DOWNTO 0))+ 1;

R1:=temp(7 DOWNTO 0);

overflow <= temp(8)XOR temp(7);WHEN “10”=> temp :=(R2(7)& R2(7 DOWNTO 0))+ NOT(A(7)& A(7 DOWNTO 0))+ 1;

R2:=temp(7 DOWNTO 0);

overflow <= temp(8)xor temp(7);WHEN OTHERS=> temp :=(R3(7)& R3(7 DOWNTO 0))+ NOT(A(7)& A(7 DOWNTO 0))+ 1;

R3:=temp(7 DOWNTO 0);

overflow <= temp(8)XOR temp(7);END CASE;WHEN move => CASE IR(11 DOWNTO 10)IS WHEN “00”=> R0:= A;WHEN “01”=> R1:= A;WHEN “10”=> R2:= A;WHEN OTHERS=> R3:= A;END CASE;

WHEN shrp => CASE IR(11 DOWNTO 10)IS WHEN “00”=> R0:= '0' & A(7 DOWNTO 1);WHEN “01”=> R1:= '0' & A(7 DOWNTO 1);WHEN “10”=> R2:= '0' & A(7 DOWNTO 1);WHEN OTHERS=> R3:= '0' & A(7 DOWNTO 1);END CASE;WHEN shlp => CASE IR(11 DOWNTO 10)IS WHEN “00”=> R0:= A(6 DOWNTO 0)& '0';WHEN “01”=> R1:= A(6 DOWNTO 0)& '0';WHEN “10”=> R2:= A(6 DOWNTO 0)& '0';WHEN OTHERS=> R3:= A(6 DOWNTO 0)& '0';END CASE;WHEN andp =>--Rx:= Rx AND A;CASE IR(11 DOWNTO 10)IS WHEN “00”=> R0:=R0 AND A;WHEN “01”=> R1:=R1 AND A;WHEN “10”=> R2:=R2 AND A;WHEN OTHERS=> R3:=R3 AND A;END CASE;WHEN orp =>--Rx:= Rx OR A;CASE IR(11 DOWNTO 10)IS WHEN “00”=> R0:=R0 OR A;WHEN “01”=> R1:=R1 OR A;WHEN “10”=> R2:=R2 OR A;WHEN OTHERS=> R3:=R3 OR A;END CASE;WHEN xorp =>--Rx:= Rx XOR A;CASE IR(11 DOWNTO 10)IS WHEN “00”=> R0:=R0 XOR A;WHEN “01”=> R1:=R1 XOR A;WHEN “10”=> R2:=R2 XOR A;WHEN OTHERS=> R3:=R3 XOR A;END CASE;WHEN Swap =>--Swap: Rx to Ry;CASE IR(11 DOWNTO 8)IS WHEN “0100”=> R0:=R1;WHEN “1000”=> R0:=R2;WHEN “1100”=> R0:=R3;WHEN “0001”=> R1:=R0;WHEN “1001”=> R1:=R2;WHEN “1101”=> R1:=R3;WHEN “0010”=> R2:=R0;WHEN “0110”=> R2:=R1;WHEN “1110”=> R2:=R3;WHEN “0111”=> R3:=R1;WHEN “1011”=> R3:=R2;WHEN “0011”=> R3:=R0;

WHEN OTHERS=> NULL;END CASE;WHEN OTHERS => NULL;END CASE;

WHEN 3=>--狀態3 CASE IR(15 DOWNTO 12)IS WHEN Swap=>--Swap: A to Rx CASE IR(11 DOWNTO 10)IS WHEN “00”=> R0:=A;WHEN “01”=> R1:=A;WHEN “10”=> R2:=A;WHEN OTHERS=> R3:=A;END CASE;WHEN jmp|Jz|Read|Write => IR(7 DOWNTO 0)<= M_data_in;PC := PC+1;

WHEN OTHERS => NULL;END CASE;

WHEN 4=>--CASE IR(15 DOWNTO 12)IS WHEN jmp =>

條件轉移指令

PC := IR(11 DOWNTO 0);MAR <= IR(11 DOWNTO 0);

WHEN Jz =>--令

IF(R0=“00000000”)then PC := IR(11 DOWNTO 0);MAR <= IR(11 DOWNTO 0);else MAR <= PC;END IF;

WHEN Read => MAR <= IR(11 DOWNTO 0);WHEN Write => MAR <= IR(11 DOWNTO 0);MDR <= R0;WHEN OTHERS => NULL;END CASE;

WHEN 5 =>--MAR <= PC;WHEN 6 =>--

CASE IR(15 DOWNTO 12)IS WHEN Read => R0 := M_data_in;

WHEN OTHERS=> NULL;END CASE;

取雙字節指令的后半部分狀態4

--無條件轉移指狀態5 狀態6--

END CASE;END IF;END process seq;

comb: PROCESS(reset, status)BEGIN IF(reset = '1' AND status = 5 AND IR(15 DOWNTO 12)= Write)THEN

Write_Read <= '1';

ELSE Write_Read <= '0';END IF;END PROCESS comb;M_address <= MAR;M_data_out <= MDR;END RTL;

3.仿真波形圖

3.1總體的仿真波形圖

1、我們可以看到CPU有6種工作模式,并且在不同的工作模式下實現了不同的功能。

2、我們的仿真波形上的M_q輸出的波形為,000、15、24、D0、1F......與我們cpu_mem.Mif文件中所輸入的指令一一對應。

3、我們看到PC隨著時鐘信號的改變在自加1。并且不斷的從內存文件中依次讀出相應的指令,將其執行。

4、我們看到R0的值在變化,依次為00、05、39、43、9、0A、3B、18、43、00,和所給的實例程序的情況完全吻合。同理也可以看出R1、R2、R3均為正確結果

5、我們可以看到地址寄存器也隨著時鐘信號在自加1,說明我們的PC和地址寄存器是共同協調工作的,隨著PC加1地址也隨之加1.6、在數據寄存器在CPU執行第7、8兩條指令后其值也是隨之改變為了R0中的值,與我們的預期相同。

3.2仿真波形的分析

變化: 我們可以看到執行完上面的的七條指令后R0、R1中的值發生了變化,而R2、R3中的值依然為00 沒有發生變化。

分析:第一條指令:由于我們程序中設定為00010101即為load指令,轉化為十六進制即為第一條指令15H,而我們在CPU中約定load指令為Read 01F R0<-(01F),即為將立即數5送給R0寄存器,所以當我們執行15H這條指令后CPU會將05送給R0寄存器,我們也可以從波形上看到,當執行完成15H指令后R0中的值變成了05;

第二條指令:同樣的我們將24H設定為Move R1,R0 R1<-(R0)是一條轉移指令,把R0中的值送給R1,從波形圖上可看出 執行完成24H后 R1中的值變成了05,與我們的預期相符。

第三、四指令:我們將 D0H、1FH設定為 Read 01F,即R0<-(01)F 將1F中的值送給R0,操作完后R0的值就為我們在1F單元中存儲的39 的數據值了。從波形圖上我們也能看出吻合。

第五條指令:我們將94H設定為 Shl R1 即將R1中的值左移一位,操作完成后R1的值變成了0A,與波形的情況也吻合。第六條指令:我們將31H設定為 Add R0,R1 R0<-(R0)+(R1)操作完成后R0的值為R0和R1的和,很明顯的看出我們仿真波形上的值是正確的。

第七、八兩條指令:我們將E0H和1EH設定為 Write 01E 01E<-(R0)我們執行完成后01E單元的值在RAM中顯示為43,與實際相符。

第九條指令:我們將41H設定為 SUB R0,R1 R0<-(R0-R1)指令,即為減法指令,我們預測執行完41H后R0的值為39,波形圖顯示正確。

第十條指令:我們將A1H設定為 Awap R0,R1(R0)?(R1)指令,即為交換指令,我們預期R0=0A R1=39,從波形上看出我們執行了 A1H后與我們的R0、R1值與預期結果相同。

第十一條指令:61H 設定為 OR R0,R1 R0<-(R0)AND(RI)執行完城后R0=3B 與波形圖相同。

第十二條指令:84H設定為Shr RI R1<-(RI)右移執行完成后R1應為1C 與波形圖結果相同指令正確。

第十三條指令:51H設定為AND R0,R1 執行相與操作,預計R0中為18,波形圖上當執行到這條指令后R0中結果確實為38,指令運行正確。

第十四條指令:28H設定為Move R2,R0 轉移指令,將R0的值送給R2,預計R2中的值將為18,從波形圖上看出R2值當運行到28H的時候確實為18,我們的指令運行正確。

第十五條指令:2DH設定為Move R3,R1 轉移指令 將R1中的值送給R3,我們預期R3中的值將會為1C,但執行完成后我們從波形圖上看出R3的值為1CH,指令運行正確。

第十六條指令:7BH設定為XOR R2,R3 將R2和R3異或 我們預期 R3中的之將會變為1CH,從波形圖上看到我們運行完成7BH后R3 的值為1CH,指令運行正確。

第十七、十八條指令:D0H、1EH設定為Read 01E R0<-(01E)將01E地址中的值送給R0寄存器,我們預期R0中的值將會為 43,從波形圖上可以看出當運行到此處的時候R0的值變成了43,指令運行正確。

第十九、二十條指令:C0H、19H 設定為:JZ019,若(R0)=0轉移至019,否則執行下一條指令,我們分析R0中的值并不為0,故不會跳轉,我們從波形上也可以看出,R0、R1、R2、R3中的值并沒有發生任何變化

第二十一、二十二條指令:1DH、D0H設定為Read 01D R0<-(01D),即將01D地址中的值取出送給R0,預期R0中的值將為0,從波形圖上也可以看出,執行到此處R0的值變成了0。

第二十三、二十四條指令:B0H、13H設定為: JMP 013指令 無條件跳轉至013H地址,而013H 為JZ 019 指令 同時這是的R0寄存器中的值為0,滿足了跳轉條件,此時程序將跳轉到019H地質處執行,即是我們的低二十五條指令,為停止指令,程序停止。

第二十五條指令:F0H 設定為Stop 指令,執行到此處程序停止。

此后的指令均為數據存儲的指令,在這里我就不一一進行介紹了,詳情可以查看下圖這個32字節的RAM內情表。

4、仿真中遇到的問題:

仿真過程中的一些問題首先是PC、R0、R1、R2、R3里面的值的順序需要將其顛倒。

仿真后還有一個問題是R0、R1、R2、R3的值顯示不正確,R0只顯示了到了05 后面的值就都不正確了,調試了半天,我發現波形顯示M_q在上升沿變化后,與之相連的M_data_in竟然不變,最后經過各種搜索后解決了此問題,原來lpm為輸出多做了一次寄存,也就是兩個脈沖才會讀出MAR的值。與PC的變化不銜接,整整快了兩個脈沖。所以把圖上紅圈處的勾去掉就行了。

五、實驗感想

經過此次實驗

我對CPU的工作原理有了很深刻的認識,發現了其中蘊藏著巨大的樂趣,我完全的搞懂了此次試驗的原理,再次基礎上,我還能結合此次實驗去理解微機接口,計算機組成原理等課程,通過此次實驗,我能熟練的使用VHDL來編寫大型的程序代碼,對于一個學軟件的人來說,我的編程能力又上了一個臺階。

除此之外,我學習到了很多底層的東西,讓我對計算機的工作原理有了更深刻的理解,讓我在此后的編程中將受益無窮。

可能老師您會看到我這個課程設計的很多拷貝,反正是我做的就是我做的,別人參考也好拷貝也好,我都覺得無所謂,重要的是我能學習到東西,這也讓我學習到了很多做人的道理,你說同學問你要課程設計,我能不給么,但是作為同學我只能啰嗦一句,你只能參考啊,不要完全照搬。單是有些人他就要完全照搬你的圖和分析,自己也不提出自己的看法和見解,這總是讓我很心寒,特別是那些學習成績還不錯的。我真是想不通問什么要人家好心給你的報告參考,你反過來要坑人家,就這樣的人品,學習好又能咋樣呢,都是轉空子的人,以后也不會得到大家的認可。

第二篇:計算機組成原理課程設計

《計算機組成原理》課程設計

任務書

中原工學院計算機學院 2007年6月

前言

“計算機組成原理”是大學本科計算機相關專業的一門核心專業基礎課程,必修,在先導課和后繼課之間起著承上啟下的作用。主要講授單處理機系統的組成和工作原理,包括運算器、存儲器、控制器和輸入輸出系統,其中控制器的設計是課程的重點和難點。為了讓學生能融會貫通各知識點,增強對計算機系統各模塊協同工作的認識,充分理解數據通路,掌握控制器的設計技術,課程設計一般也側重于控制器的設計。考慮到學生的基礎和現有實驗環境,本次課程設計的題目是“微程序控制器的設計與實現”。通過該課程設計,希望學生在理論與實踐相結合的基礎上,加深對計算機整機概念,進一步理解計算機的內部結構和時空關系,進一步理解和掌握微程序控制器的設計思想和具體方法、步驟,從而提高自行設計、調試和分析問題的能力。課程設計題目

微程序控制器的設計與實現

目的

? 鞏固和深刻理解“計算機組成原理”課程所講解的原理,加深對計算機各模塊協同工作的認識

? 掌握微程序設計的思想和具體流程、操作方法。? 培養學生獨立工作和創新思維的能力,取得設計與調試的實踐經驗。

? 嘗試利用編程實現微程序指令的識別和解釋的工作流程

內容

按照要求設計一指令系統,該指令系統能夠實現數據傳送,進行加、減運算和無條件轉移,具有累加器尋址、寄存器尋址、寄存器間接尋址、存儲器直接尋址、立即數尋址等五種尋址方式。

具體要求

? 仔細復習所學過的理論知識,掌握微程序設計的思想,并根據掌握的理論寫出要設計的指令系統的微程序流程。指令系統至少要包括六條指令,具有上述功能和尋址方式。? 根據微操作流程及給定的微指令格式寫出相應的微程序 ? 將所設計的微程序在虛擬環境中運行調試程序,并給出測試思路和具體程序段

? 嘗試用C或者Java語言實現所設計的指令系統的加載、識別和解釋功能。? 撰寫課程設計報告。

設計環境

? 偉福COP2000型計算機組成原理實驗儀,微機,相關虛擬軟件。

? VC開發環境或者Java開發環境。

課程設計時間

? 1.5周

課程設計報告要求 完成設計任務后,在課程設計的最后階段,需要總結全部設計工作,寫出完整,規范的設計報告,在指定的時間內提交指導教師.課程設計報告要求有完整的格式,包括封面,目錄,正文等,具體如下:

一、封面

包括:課程設計題目,姓名,學號,班級,指導教師,完成日期.二、目錄

正文前必須要有目錄.三、正文 正文包括的內容有: ⑴ 設計任務與要求;⑵ 設計方案(包括設計思路,采用的微指令格式,每條指令的指令流程及其微程序清單)(3)調試過程(包括實驗步驟,出現的問題,解決的方法(4)小結(在整個課程設計過程中的總結和體會)(5)參考資料

成績評定

課程設計的考核結果按優秀,良好,中等,及格和不及格來評價.對設計任務理解透徹,能夠全面,正確,獨立地完成設計內容所規定的任務,得出設計結果,并按時提交準確,完整,規范的設計報告,可評為優秀;按照設計任務要求能夠順利地完成任務,得出結果,按時提交較完整的,符合要求的設計報告,可評定為良好;按照設計要求完成了軟件的編程與調試,基本完成了任務要求,提交符合要求的設計報告,可評為中等;基本完成設計目標,但不夠完善,可能有若干小的缺陷,在幫助下能夠完成任務要求,提交設計報告,可評為及格;不能完成指定的要求和任務,未提交設計報告的,評為不及格.參考資料 1.“計算機組成原理課程設計任務書” 2.“計算機組成原理” 課堂教材

第三篇:計算機組成原理課程設計范文

計算機組成原理課程設計指導材料

一. 課程設計目的

課程設計教學目的:通過本課程設計,學生可熟悉典型計算機的基本結構、基本組成和基本功能,掌握計算機主要組成部件工作原理的基本分析與設計方法,加深對理論課知識內容的理解。

二. 設計題目

題目1.內存擴充與連接 1.設計目的:

2.主要任務:

3.設計要求:

4.圖表

畫圖時請按以下給出的原件圖畫 圖1-1 8086芯片引腳圖 圖1-2內存芯片邏輯圖

圖1-3 譯碼器與門電路邏輯圖 題目2.模型機組成設計

1.目的:通過對一個簡單模型機的設計與實現,對計算機的基本組成、部件的設計、部件間的連接以及微指令執行的過程。

2.基本要求:畫出模型機的設計圖并舉例描述利用該模型機進行加法運算時,各個功能部件的工作情況。

題目3.算數邏輯運算 1.目的:

(1).了解運算器 的組成結構。(2).掌握運算器的工作原理。(3).學習運算器的設計方法。

(4).掌握簡單運算器的數據傳 送通路。

(5).驗證運算功能發生器74LS181 的組 合功能。

2.設計原理:

設計中所用的運算器數據通路圖如下圖。圖中所示的是由兩片74LS181 芯片以并/串 形式構成的8 位字長的運算器。右方為低4 位運算芯片,左方為高4 位運算芯片。低位芯片 的進位輸出端Cn+4 與高位芯片的進位輸入端Cn 相連,使低4 位運算產生的進位送進高4 位運算中。低位芯片的進位輸入端Cn 可與外來進位相連,高位芯片的進位輸出引至外部。兩個芯片的控制端S0~S3 和M 各自相連,其控制電平按表。為進行雙操作數運算,運算器的兩個數據輸入端分別由兩個數據暫存器DR1、DR2(用鎖存器74LS273 實現)來鎖存數據。要將內總線上的數據鎖存到DR1 或DR2 中,則鎖存器74LS273 的控制端LDDR1 或LDDR2 須為高電平。當T4 脈沖來到的時候,總線上的數據就被鎖存進DR1 或DR2 中了。為控制運算器向內總線上輸出運算結果,在其輸出端連接了一個三態門(用74LS245 實現)。若要將運算結果輸出到總線上,則要將三態門74LS245 的控制端ALU-B 置低電平。否則輸出高阻態。

3.根據設計原理描述進行原碼加減運算及邏輯運算的程序流程 4.填寫下表

三. 課程設計報告格式

1.報告組成及裝訂順序:封面、目錄、引言、正文、結論、參考文獻、心得體會。2.書寫格式要求:見學院課程設計報告要求

四. 其它要求

1.報告提交時間:截止12月31日

2.報告提交形式:以班級為單位提交電子版和打印版

第四篇:計算機組成原理課程設計任務書

《計算機組成原理》

課程設計任務書

一、設計任務:

1、基本模型機設計與實現;

2、在基本模型機設計的基礎上設計一臺復雜模型機。

二、功能指標和設計要求:

利用所學過的理論知識,特別是微程序設計的思想,設計基于微程序控制器的模型計算機,包括設計相應的硬件平臺、機器指令系統和微指令等。設計環境為TD-CMA計算機組成原理教學實驗箱、微機,聯機軟件等。同時設計好基于模型機的測試驗證程序,并在設計好的硬件平臺上調試通過,以驗證所設計的模型機功能的可行性與可靠性。在設計完成的前提下,撰寫出符合要求的課程設計說明書并通過設計答辯。

1.基本模型機設計與實現

設計一臺簡單模型機,在具備基本必要的硬件平臺的基礎上,進一步要求其機器指令系統至少要包括五條不同類型指令:如一條輸入指令(假設助記符為IN),一條加法指令(假設助記符為ADD),一條輸出指令(假設助記符為OUT)、一條無條件轉移指令(假設助記符為JMP)和一條停機指令(假設助記符為HLT);在設計好的模型機基礎上,設計一個進行兩個數求和運算的測試驗證程序,用以驗證模型機功能的可行性與可靠性。

2.在任務1的基礎上,增加機器指令系統的功能,設計具有不少于10條機器指令的復雜指令系統模型機,包含算術邏輯指令、訪問內存指令、控制轉移指令、輸入輸出指令、停機指令等。數據的尋址方式要包括直接、間接、變址和相對尋址等多種尋址方式。利用設計的復雜模型機實現兩個數的減法運算并判斷差得正負,差為正數則輸出A,差為負數則輸出B,差為零則輸出C。在設計好的模型機基礎上,進一步設計一個測試驗證程序,驗證模型機功能的可行性與可靠性。

3、基本模型機和復雜模型機的CPU數據字長為8位,采用定點補碼表示。指令字長為8的整數倍。微指令字長為24位。

三、設計步驟:

1、確定設計目標 進行全面深入的模型機設計需求分析,確定所設計計算機的功能和用途。

2、總體結構、數據通路設計及硬件實現

總體結構設計包括確定模型機應具有的基本功能部件(如運算器、控制器以及基本的寄存器等等)以及它們之間的數據通路。

硬件實現基于現有的基本實驗箱平臺,根據所設計模型機選擇必要的元器件,并通過接插件(各種連線等)進行器件連接,組成所設計的模型機硬件系統(物理機)。綜合考慮計算機的速率、性能價格比、可靠性等要求,設計合理的數據通路結構,數據通路不同,執行指令所需要的邏輯操作就不同,計算機的結構也就不一樣。在此基礎上,在后面的微指令設計階段,就可以依據數據通路關系確定模型機工作過程中的所有微操作,并進一步確定微指令格式中的相應微命令。

3、確定指令系統(機器指令系統)

確定數據的表示格式、位數、指令的編碼、類型、需要設計哪些指令及使用的尋址方式。確定相對應指令所包含的微操作。

4、機器指令轉化為微程序執行的相關設計

過程2、3完成后,就可以根據機器指令系統進行指令周期分析,確定出每條機器指令的CPU周期數。對于微程序控制的計算機,進一步確定出每個CPU周期內的微操作(明確哪些微操作可以安排在同一CPU周期中,哪些微操作則不能)。設計出每條機器指令的方框圖形式的指令周期流程圖。

5、微指令代碼化

依據指令周期流程圖以及指定的微指令格式,將設計出程序格式中的各字段(操作控制字段、P測試字段、直接微地址字段)相應的二進制代碼(即對應的微命令編碼)。

6、設計微指令的相關微地址

根據后續微地址的形成方法(直接微地址或P測試轉移后重新形成),確定每條微指令的相關后續微地址。確定好微命令在控存中的存放地址,并將所有微命令寫入到控存的相應存儲單元中。

7、組裝、調試

7.1、在總調試前,先按功能模塊進行組裝和分調,因為只有各功能模塊工作正常后,才能保證整機的正常運行。首先調試每條微指令功能,再調試每條機器指令功能。

連接所有模塊,用單步微指令方式執行機器指令的微程序流程圖,當全部微程序流程圖檢查完后,若運行結果正確,則在內存中裝入一段機器指令,進行其他的運行方式等功能調試及執行指令的正確性驗證。

7.2、當所有功能模塊都調試正常后,進入總調試。根據設計好的模型機,進一步設計一個功能測試驗證程序,運行程序并驗證所涉及的模型機功能是否可行和可靠。

四、課程設計報告要求:

課程設計報告要求打印,其中的數據通路框圖、微程序流程圖、實驗接線圖用VISIO等繪圖工具軟件繪制或用鉛筆工工整整繪制,要求圖文清晰,報告內容包括:

(1)封面

(包括:題目、所在系、班級、學號、指導教師及時間等項)(2)任務書(3)目錄

(目錄要層次清晰,要給出標題及頁次,目錄的最后一項是無序號的“參考文獻”)。(4)正文

正文應按目錄中編排的章節依次撰寫,要求論述清楚,文字簡練通順,插圖清晰,書寫整潔。“設計”不同于實驗,要充分體現出“設計”的思想,不能寫成實驗報告的形式。文中圖、表及公式應規范地繪制和書寫。正文是實踐設計報告的主體,具體由以下幾部分組成:

1)課程設計題目;

2)課程設計使用的相關軟硬件資源;

3)設計的具體方法和步驟(包括確定所設計計算機的功能和用途、總體結構與數據通路與硬件設計、指令系統、設計指令執行流程、確定微程序地址、微指令代碼化、組裝、調試、測試驗證程序與功能驗證情況。)

4)課程設計總結(包括自己的收獲與體會;遇到的問題和解決的方法等);(5)附錄

附錄1:數據通路圖 附錄2:微程序流程圖

附錄3:實驗接線圖

附錄4:實驗程序及微程序 附錄5:參考文獻(資料)

五、設計工作量:

(1)作品:設計的最終作品包括硬件和軟件兩個部分,要求硬件實現正確,能夠演示并達到設計指標的要求。每個學生(或小組)在作品完成后,要經指導教師檢查,同意拆除后方可拆卸。(2)論文:嚴格按上述課程設計說明書的要求撰寫和裝訂。每個學生一份。

六、成績評定標準:

課程設計的成績分為:優秀、良好、中等、及格、不及格五個等級。

優秀:完成復雜模型機的設計與實現,指令系統完備有更新擴充。調試成功。文檔規范齊全。

良好:完成模型機的設計與實現,指令系統指令種類豐富有一定的更新。調試成功。文檔規范齊全。

中等:完成基本模型機的設計與實現,在老師指導下對指令系統有更新。調試成功。文檔規范齊全。

及格:完成基本模型機的設計與實現。調試成功。文檔規范齊全。不及格:沒有課程設計報告,無故缺勤,不能完成調試者不及格。

七、工作計劃:

時間:18周周1~周5 講授:2課時

設計及調試:26課時 設計報告編8課時 答辯:4課時

八、參考資料:

1、《計算機組成原理》教材,陳智勇主編;

2、《CMA組成原理與系統結實驗指導書》

第五篇:計算機組成原理課程設計指導書

長 沙 學

課程設計指導書

系(部)

計算機科學與技術

計算機科學與技術

2010年12 月 10 日

課程名稱:計算機組成原理 課程編號:7020130610 主 筆 人:鐘旭 主 審 人:

一、課程設計的目的

通過該課程設計的學習,總結計算機組成原理課程的學習內容,利用TDN-CM+教學實驗系統提供的軟硬件操作平臺掌握層次化設計方法、運用計算機原理知識,設計并實現一臺完整的計算機,從而鞏固課堂知識、深化學習內容、完成教學大綱要求,學好計算機科學與技術專業的專業基礎課。

二、課程設計的題目 1.基本模型機設計與實現;

2.帶移位運算的模型機的設計與實現; 3.復雜模型機的設計與實現。

三、設計內容(主要技術關鍵的分析、解決思路和方案比較等)

利用所學過的理論知識,特別是微程序設計的思想,寫出要設計的指令系統的微程序。設計環境為TDN-CM+計算機組成原理教學實驗系統,微機,虛擬軟件。將所設計的微程序在此環境中進行調試,并給出測試思路和具體程序段。最后撰寫出符合要求的課程設計說明書、完成答辯。1.基本模型機設計與實現

指令系統至少要包括六條不同類型指令:如一條輸入指令,一條減法指令,一條加法指令,一條存數指令,一條輸出指令和一條無條件轉移指令。2.帶移位運算的模型機的設計與實現

在基本模型機的基礎上增加左、右循環和左、右帶進位循環四條指令

3.設計不少于10條指令的指令系統。其中,包含算術邏輯指令,訪問內存指令,程序控制指令,輸入輸出指令,停機指令。重點是要包括直接、間接、變址和相對尋址等多種尋址方式。

以上數據字長為8位,采用定點補碼表示。指令字長為8的整數倍。微指令字長為24位。

四、設計步驟

1、確定設計目標

確定所設計計算機的功能和用途。

2、確定指令系統

確定數據的表示格式、位數、指令的編碼、類型、需要設計哪些指令及使用的尋址方式。

3、總體結構與數據通路

總體結構設計包括確定各部件設置以及它們之間的數據通路結構。在此基礎上,就可以擬出各種信息傳輸路徑,以及實現這些傳輸所需要的微命令。綜合考慮計算機的速率、性能價格比、可靠性等要求,設計合理的數據通路結構,確定采用何種方案的內總線及外總線。數據通路不同,執行指令所需要的操作就不同,計算機的結構也就不一樣。

4、設計指令執行流程

數據通路確定后,就可以設計指令系統中每條指令所需要的機器周期數。對于微程序控制的計算機,根據總線結構,需考慮哪些微操作可以安排在同一條微指令中,哪些微操作不能安排在同一條微指令中。

5、確定微程序地址

根據后續微地址的形成方法,確定每個微程序地址及分支轉移地址。

6、微指令代碼化

根據微指令格式,將微程序流程中的所有微指令代碼化,轉化成相應的二進制代碼寫入到控制存儲器中的相應單元中。

7、組裝、調試

在總調試前,先按功能模塊進行組裝和分調,因為只有各功能模塊工作正常后,才能保證整機的正常運行。

當所有功能模塊都調試正常后,進入總調試。連接所有模塊,用單步微指令方式執行機器指令的微程序流程圖,當全部微程序流程圖檢查完后,若運行結果正確,則在內存中裝入一段機器指令,進行其他的運行方式等功能調試及執行指令的正確性驗證。

五、設計說明書要求

課程設計說明書按學校統一格式撰寫和裝訂。課程設計報告要求打印,其中的數據通路框圖、微程序流程圖、實驗接線圖用VISIO等工具軟件繪制或用鉛筆工工整整繪制。

(1)封面(包括:題目、所在系、班級、學號、指導教師及時間等項,可到教務處網頁上下載)(2)任務書(3)目錄

目錄要層次清晰,要給出標題及頁次,目錄的最后一項是無序號的“參考文獻”。(4)正文

正文應按目錄中編排的章節依次撰寫,要求計算正確,論述清楚,文字簡練通順,插圖清晰,書寫整潔。文中圖、表及公式應規范地繪制和書寫。

正文是實踐設計報告的主體,具體由以下幾部分組成:

1)課程設計題目;

2)課程設計使用的實驗設備;

3)課程設計步驟(包括確定所設計計算機的功能和用途、指令系統、總體結構與數據通路、設計指令執行流程、確定微程序地址、微指令代碼化、組裝、調試。)

4)課程設計總結(包括自己的收獲與體會;遇到的問題和解決的方法等);

(5)附錄

附錄1:數據通路圖 附錄2:微程序流程圖 附錄3:實驗接線圖 附錄4:實驗程序及微程序

附錄5:參考文獻(資料)(格式規范參照長沙學院畢業設計(論文)撰寫規范)

六、設計進度安排 時間:

15、16周 講授:2課時 答疑及設計:26課時 上機調試:8課時 答辯:6課時

七、考核標準

課程設計的成績分為:優秀:、良好、中等、及格、不及格五個等級。

優秀:完成復雜模型機的設計與實現,指令系統完備有更新擴充。調試成功。文檔規范齊全。良好:完成模型機的設計與實現,指令系統指令種類豐富有一定的更新。調試成功。文檔規范齊全。中等:完成基本模型機的設計與實現,在老師指導下對指令系統有更新。調試成功。文檔規范齊全。及格:完成基本模型機的設計與實現。調試成功。文檔規范齊全。不及格:沒有課程設計報告,無故缺勤,不能完成調試者不及格。

下載西南交通大學計算機組成原理課程設計報告word格式文檔
下載西南交通大學計算機組成原理課程設計報告.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    計算機組成原理課程設計2007答案大全

    在驗收的同時,學生必須回答下列問題: 1, 指令寄存器在組成中的作用是什么? 用來保存當前正在執行的一條指令。 2, 指令的執行過程是怎么進行的? 執行一條指令時,先把它從內存中取到......

    計算機組成原理課程設計論文

    摘 要 摘要 顯示器作為計算機重要的輸出部件和人機交流的窗戶,是一臺電腦必不可少的部分,其重要性是不言而喻的。我們打開電腦,從開機的字符提示到開機后的圖形化界面以及瀏覽......

    計算機組成原理--課程設計指導書

    計算機組成原理課程設計指導書 基于EDA技術的單周期中央處理器的設計與實現 適用專業:計算機科學與技術專業 網絡工程專業及相關專業 教 研 室:計算機科學與技術教研室 計算......

    計算機組成原理-石油大學大課程設計

    中國石油大學(北京)成教學院 計算機組成原理教程課程設計 一.題目:計算機組成原理課程涉及到計算機多方面的基礎知識,從馮諾依曼計算機體系結構開始,計算機被劃分為多個組成部分......

    計算機組成原理課程設計教學大綱

    計算機組成原理課程設計教學大綱 實習名稱:計算機組成原理課程設計 課程編碼:042219 學 分:3 實習周數:3 適用專業:計算機科學與技術 一、實習的目的與任務 通過該課程設計......

    計算機組成原理課程設計任務書(最終版)

    《計算機組成原理》 課程設計任務書 一、設計任務: 1、 基本模型機設計與實現; 2、 在基本模型機設計的基礎上設計一臺復雜模型機。 二、功能指標和設計要求: 利用所學過的理論......

    計算機組成原理課程設計任務書(5篇)

    華中科技大學計算機學院 計算機組成原理 課程設計任務書 計算機組成原理是計算機專業的核心專業基礎課。課程設計是學完該課程并進行了多個單元實驗后,綜合利用所學的理論知......

    《計算機組成原理》課程設計教學大綱[推薦5篇]

    《計算機組成原理》課程設計教學大綱 課程編號: 學時/學分:1周/1 授課單位:電子與信息工程學院計算機科學系 適用專業:計算機科學與技術 教材及主要參考資料: 《計算機組成與系統......

主站蜘蛛池模板: 国产偷摄中国推油按摩富婆| 无码乱人伦一区二区亚洲一| 成人网站亚洲二区乱码| 国产一二三四区乱码免费| 亚洲欧洲av综合色无码| 精品深夜av无码一区二区| 日韩午夜福利无码专区a| 久久久久久国产精品免费无码| 天干夜啦天干天干国产免费| 无码少妇一区二区浪潮av| 日本午夜精品一区二区三区电影| 欧美尺寸又黑又粗又长| 国产玖玖玖玖精品电影| 日韩精品亚洲人成在线| 国产精品禁18久久久夂久| 最新高清无码专区| 色哟哟在线视频精品一区| 国产传媒精品1区2区3区| 精品无码综合一区二区三区| 豆国产95在线 | 亚洲| 亚洲国产精久久久久久久| 99热在线精品免费全部| 无遮挡无码h纯肉动漫在线观看| 久久久无码精品亚洲日韩精东传媒| 久久综合久久自在自线精品自| 亚洲日韩国产欧美一区二区三区| 亚洲精品偷拍影视在线观看| 国产成人亚洲精品无码mp4| 97人人超碰国产精品最新| 亚洲人成人无码网www国产| 99视频精品全部在线观看| 国产精品 视频一区 二区三区| 欧美精品一国产成人综合久久| 狠狠色丁香婷婷综合潮喷| 精品国产免费一区二区三区| 四川丰满少妇被弄到高潮| 亚洲国产成人久久综合电影| 双乳被老汉揉搓a毛片免费观看| 2020天堂在线亚洲精品专区| 四虎国产精品永久在线动漫| 嫩草av久久伊人妇女超级a|