Skip to content

Commit

Permalink
classification of isa 比较
Browse files Browse the repository at this point in the history
  • Loading branch information
6eanut committed Sep 28, 2024
1 parent a49e939 commit f8e2720
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions 24-Q4/00_ClassificationofISA.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,14 @@ D = A - C
B = D + A
```

| | | | | |
| - | - | - | - | - |
| | | | | |
| | | | | |
注:假设,操作码占用8位,内存地址和操作数都是16位,寄存器型ISA有16个通用寄存器

| | 堆栈型 | 累加器型 | 寄存器-存储器型 | 寄存器-寄存器型 |
| :--------------------------: | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **汇编代码** | PUSH B<br />PUSH C<br />SUB<br />POP A<br />PUSH A<br />PUSH C<br />SUB<br />POP D<br />PUSH D<br />PUSH A<br />ADD <br />POP B | LOAD C<br />NEG<br />ADD B<br />STORE A<br />LOAD C<br />NEG<br />ADD A<br />STORE D<br />ADD A<br />STORE B | LOAD R1, B<br />SUB R1, C<br />STORE R1, A<br />SUB R1, C<br />STORE R1, D<br />ADD R1, A<br />STORE R1, B | LOAD R1, B<br />LOAD R2, C<br />SUB R3, R1, R2<br />STORE R3, A<br />SUB R4, R3, R2<br />STORE R4, D<br />ADD R5, R4, R3<br />STORE R5, B |
| **代码量** | 12·1+9·2=30 | 10·1+8·2=**26** | 7·1+7·2+7·1=28 | 8·1+5·2+5·1+3·2=29 |
| **与内存交换的数据量** | 30+9·2=48 | 26+8·2=42 | 28+7·2=42 | 29+5·2=**39** |

结论:在代码量方面,累加器型ISA更优;在与内存交换的数据量方面,寄存器-寄存器型ISA更优

补充:因为指令必须是byte的整数倍。所以LOAD R1, B中的R1要占8bit;ADD R5, R4, R3中的R5和R4占8bit,R3占8bit

0 comments on commit f8e2720

Please sign in to comment.