--- title: 計算機結構期中筆記 tags: 109-2,NTNU,ArchitectuteComputers --- - Clock period 時脈週期:duration of a clock cycle - Clock frequency (rate) 時脈頻率:cycles per second - Clock cycles: $\text{Clock Cycles}=\sum_{i=1}^n\left(\text{CPI}_i\times\text{Instruction Count}_i\right)$ - CPU time $\begin{aligned} \text{CPU time}&= \text{CPU Clock Cycles}\times\text{Clock Cycle Time} \\&=\frac{\text{CPU Clock Cycles}}{\text{Clock Rate}} \end{aligned}$ - CPI $\text{CPI} = \frac{\text{Clock Cycles}}{\text{Instruction Count}} = \sum^n_{i=1}\left(\text{CPI}_i\frac{\text{Instruction Count}_i}{\text{Instruction Count}}\right)$ - Instruction Count - Clock cycle Time $\begin{aligned} \text{Clock Cycles Time}= \frac{1}{\text{Clock Rate}} \end{aligned}$ | dec | binary | oct | hex | | --- | ------ | --- | --- | | 1 | 0001 | 001 | 1 | | 2 | 0010 | 002 | 2 | | 3 | 0011 | 003 | 3 | | 4 | 0100 | 004 | 4 | | 5 | 0101 | 005 | 5 | | 6 | 0110 | 006 | 6 | | 7 | 0111 | 007 | 7 | | 8 | 1000 | 010 | 8 | | 9 | 1001 | 011 | 9 | | 10 | 1010 | 012 | A | | 11 | 1011 | 013 | B | | 12 | 1100 | 014 | C | | 13 | 1101 | 015 | D | | 14 | 1110 | 016 | E | | 15 | 1111 | 017 | F | ```MIPS= fib: addi $sp, $sp, -12 #make room on stack sw $ra, 8($sp) #push $ra sw $s0, 4($sp) #push $s0 (local temporary variable) sw $a0, 0($sp) #push $a0 (argument) bne $a0, $0, test1 #if n is not equal to 0, go to test1 add $v0, $0, $0 j exit test1: addi $t0, $0, 1 #$t0 = 1 bne $a0, $t0, else2 #if n is not equal to 1, go to else2 add $v0, $t0, $0 j exit else2: addi $a0, $a0, -1 #$a0 = n - 1 jal fib #call fib(n - 1) add $s0, $v0, 0 #$s0 = fib(n - 1) addi $a0, $a0, -1 #$a0 = n - 2 jal fib #call fib(n - 2) add $v0, $v0, $s0 #$v0 = fib(n - 1) + fin(n - 2) exit: lw $a0, 0($sp) #pop $a0 lw $s0, 4($sp) #pop $s0 lw $ra, 8($sp) #pop $ra addi $sp, $sp, 12 #restore $sp jr $ra ``` ```MIPS= # B[8] = A[i-j] sub $t0, $s3, $s4 #$t0 = i - j sll $t0, $t0, 2 #$t0 = (i - j) * 4 add $t0, $s6, $t0 #$t0 = &A[i - j] lw $t0, 0($t0) #$t1 = A[i- j] sw $t1, 32($s7) #B[8] = $t1 = A[i - j] ```