Posts

Showing posts from May, 2022

Computer Architecture II

Continue from Computer Architecture I 3.3 Loop         循环是各类编程语言中及其常见的功能,而在Instruction中,以MIPS为例,循环的功能一般以Loop的形式呈现。          3.3.1  "if" loop        C语言:                                            Loop:  g = g + A[i];                                                       i = i + j;                                                 if(i ! = h)  goto Loop;        假设g , h , i  和 j 的值分别存在$s1, $s2, $s3和$s4。数组A的初始地址为$s5。        将以上C语言转译为MIPS Instruction后为:                          Loop:   add $t1,$s3,$s3  // t1=i + i                                        add  $t1,$t1,$t1  // t1= 2i + 2i                                        add  $t1,$t1,$s5 // t1现在为A[i]的地址                                       lw     $t0, 0($t1)  // 读取A[i]的值到t0                                       add  $s1,$s1,$t0  // g = g + A[i]                                       add  $s3,$s3,$s4  // i = i+ j                                       bne $s3, $s2, Loop  //如果i != j 返回loop           3.3.2 "While"loop     

Verilog and Digital circuit

 本文归纳总结于《Advanced Digital Design with the Verilog HDL》second edition