Changes between Version 12 and Version 13 of Ex08課題2016


Ignore:
Timestamp:
Jun 6, 2016 7:19:26 PM (10 years ago)
Author:
nakasato
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Ex08課題2016

    v12 v13  
    11トップ:http://galaxy.u-aizu.ac.jp/note/wiki/CAEX2016 
    22 
    3  
    43'''以下作成中''' 
    5  
    64 
    75= マルチサイクルプロセッサの制御 = 
     
    1917 
    2018=== 状態0では、以下の動作が同時に実施されます === 
    21  
    2219* メモリから現在のPCのアドレスにある命令を読み出す。 
    2320* PC+4を計算してPCを更新する。 
     
    2825 
    2926ALUの入力AにはPCの値を入力するため、それを制御する信号ALUSrcAはネゲートします。 
    30 ALUの入力Bには"4"を入力するので、それを制御する信号ALUSrcB(2 bit)は"01"となり、 
     27ALUの入力Bには"4"を入力するので、それを制御する信号ALUSrcB(3 bit)は"001"となり、 
    3128ALUは加算をするため、それを制御する信号ALUOp(2 bit)は"00"とします。 
    3229その結果をPCレジスタに書き込むため、PCWriteはアサートされ、PCSource(2 bit)は"00"となります。 
    3330 
    3431=== 状態1では、以下の動作が同時に実施されます === 
    35  
    36 * 次のサイクルで計算に利用するレジスタの値を読み出す 
     32* 次のサイクルで計算に利用するレジスタファイルの値を読み出す 
    3733* ジャンプ先のアドレス(PC+オフセット)を計算する 
    3834 
    3935この時に必要な動作は、主としてALUでのアドレス計算です。 
    4036ALUの入力AにはPCの値を入力するため、それを制御する信号ALUSrcAはネゲートします。 
    41 ALUの入力Bにはアドレスのオフセットを入力するので、それを制御する信号ALUSrcB(2 bit)は"11"となります。 
     37ALUの入力Bにはアドレスのオフセットを入力するので、それを制御する信号ALUSrcBは"011"となります。 
    4238この時入力される値は、状態0で読み出された命令の下位16ビットを符号拡張して2ビット左シフトした値となります。 
    4339状態0と同様に、ALUは加算をするためALUOp(2 bit)は"00"とします。 
     40 
     41またレジスタファイルから読み出された値は、A, Bレジスタに保持されます。読み出すレジスタの番号は命令の該当部分を利用します。 
     42 
     43=== 状態6では、以下の動作が同時に実施されます === 
     44この場合R形式命令を実行するので、ALUでレジスタ間の演算をおこないます。 
     45 
     46* ALUにはA, Bレジスタをそれぞれ入力する 
     47* 命令に応じてALUでの演算をおこなう 
     48* 結果はALUレジスタに保持される 
     49 
     50そのためALUSrcAはアサートされ、ALUSrcBは"000"となります。ALUでのおこなう演算を制御する信号ALUOpは"10"とします。 
     51 
     52=== 状態7では、以下の動作が同時に実施されます === 
     53* ALUレジスタに保持された値を指定されたレジスタに書き込む 
     54 
     55この時、ALUは利用しません。レジスタファイルへの書き込みを制御する信号RegWriteはアサートされます。 
     56また、書き込むレジスタファイルの番号を制御する信号RegDstもアサートされます。 
     57レジスタファイルには、ALUレジスタの値を書き込むため、それを制御するMemtoRegはネゲートされます。 
     58 
     59== 以上の各サイクルでR形式命令を実現できます。 == 
     60 
     61 
    4462 
    4563==  制御部の設計(1) ==